From b09ec707741b22aea6893224e75672f5a0206716 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 30 Jan 2024 18:58:35 +1000 Subject: [PATCH 01/84] Separate defaults, backwards compatible interface extensions --- src/flask_session/__init__.py | 111 ++++++++++++++++++++-------------- src/flask_session/defaults.py | 33 ++++++++++ src/flask_session/sessions.py | 53 +++++++++++----- 3 files changed, 137 insertions(+), 60 deletions(-) create mode 100644 src/flask_session/defaults.py diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 9f5e315c..738ab75a 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -1,5 +1,4 @@ -import os - +from .defaults import Defaults from .sessions import ( FileSystemSessionInterface, MemcachedSessionInterface, @@ -55,78 +54,100 @@ def init_app(self, app): app.session_interface = self._get_interface(app) def _get_interface(self, app): - config = app.config.copy() + config = app.config # Flask-session specific settings - config.setdefault("SESSION_TYPE", "null") - config.setdefault("SESSION_PERMANENT", True) - config.setdefault("SESSION_USE_SIGNER", False) - config.setdefault("SESSION_KEY_PREFIX", "session:") - config.setdefault("SESSION_ID_LENGTH", 32) + SESSION_TYPE = config.get("SESSION_TYPE", Defaults.SESSION_TYPE) + SESSION_PERMANENT = config.get("SESSION_PERMANENT", Defaults.SESSION_PERMANENT) + SESSION_USE_SIGNER = config.get( + "SESSION_USE_SIGNER", Defaults.SESSION_USE_SIGNER + ) + SESSION_KEY_PREFIX = config.get( + "SESSION_KEY_PREFIX", Defaults.SESSION_KEY_PREFIX + ) + SESSION_SID_LENGTH = config.get( + "SESSION_ID_LENGTH", Defaults.SESSION_SID_LENGTH + ) # Redis settings - config.setdefault("SESSION_REDIS", None) + SESSION_REDIS = config.get("SESSION_REDIS", Defaults.SESSION_REDIS) # Memcached settings - config.setdefault("SESSION_MEMCACHED", None) + SESSION_MEMCACHED = config.get("SESSION_MEMCACHED", Defaults.SESSION_MEMCACHED) # Filesystem settings - config.setdefault( - "SESSION_FILE_DIR", os.path.join(os.getcwd(), "flask_session") + SESSION_FILE_DIR = config.get("SESSION_FILE_DIR", Defaults.SESSION_FILE_DIR) + SESSION_FILE_THRESHOLD = config.get( + "SESSION_FILE_THRESHOLD", Defaults.SESSION_FILE_THRESHOLD ) - config.setdefault("SESSION_FILE_THRESHOLD", 500) - config.setdefault("SESSION_FILE_MODE", 384) + SESSION_FILE_MODE = config.get("SESSION_FILE_MODE", Defaults.SESSION_FILE_MODE) # MongoDB settings - config.setdefault("SESSION_MONGODB", None) - config.setdefault("SESSION_MONGODB_DB", "flask_session") - config.setdefault("SESSION_MONGODB_COLLECT", "sessions") + SESSION_MONGODB = config.get("SESSION_MONGODB", Defaults.SESSION_MONGODB) + SESSION_MONGODB_DB = config.get( + "SESSION_MONGODB_DB", Defaults.SESSION_MONGODB_DB + ) + SESSION_MONGODB_COLLECT = config.get( + "SESSION_MONGODB_COLLECT", Defaults.SESSION_MONGODB_COLLECT + ) # SQLAlchemy settings - config.setdefault("SESSION_SQLALCHEMY", None) - config.setdefault("SESSION_SQLALCHEMY_TABLE", "sessions") - config.setdefault("SESSION_SQLALCHEMY_SEQUENCE", None) - config.setdefault("SESSION_SQLALCHEMY_SCHEMA", None) - config.setdefault("SESSION_SQLALCHEMY_BIND_KEY", None) + SESSION_SQLALCHEMY = config.get( + "SESSION_SQLALCHEMY", Defaults.SESSION_SQLALCHEMY + ) + SESSION_SQLALCHEMY_TABLE = config.get( + "SESSION_SQLALCHEMY_TABLE", Defaults.SESSION_SQLALCHEMY_TABLE + ) + SESSION_SQLALCHEMY_SEQUENCE = config.get( + "SESSION_SQLALCHEMY_SEQUENCE", Defaults.SESSION_SQLALCHEMY_SEQUENCE + ) + SESSION_SQLALCHEMY_SCHEMA = config.get( + "SESSION_SQLALCHEMY_SCHEMA", Defaults.SESSION_SQLALCHEMY_SCHEMA + ) + SESSION_SQLALCHEMY_BIND_KEY = config.get( + "SESSION_SQLALCHEMY_BIND_KEY", Defaults.SESSION_SQLALCHEMY_BIND_KEY + ) common_params = { - "key_prefix": config["SESSION_KEY_PREFIX"], - "use_signer": config["SESSION_USE_SIGNER"], - "permanent": config["SESSION_PERMANENT"], - "sid_length": config["SESSION_ID_LENGTH"], + "key_prefix": SESSION_KEY_PREFIX, + "use_signer": SESSION_USE_SIGNER, + "permanent": SESSION_PERMANENT, + "sid_length": SESSION_SID_LENGTH, } - if config["SESSION_TYPE"] == "redis": + if SESSION_TYPE == "redis": session_interface = RedisSessionInterface( - config["SESSION_REDIS"], **common_params + **common_params, + redis=SESSION_REDIS, ) - elif config["SESSION_TYPE"] == "memcached": + elif SESSION_TYPE == "memcached": session_interface = MemcachedSessionInterface( - config["SESSION_MEMCACHED"], **common_params + **common_params, + client=SESSION_MEMCACHED, ) - elif config["SESSION_TYPE"] == "filesystem": + elif SESSION_TYPE == "filesystem": session_interface = FileSystemSessionInterface( - config["SESSION_FILE_DIR"], - config["SESSION_FILE_THRESHOLD"], - config["SESSION_FILE_MODE"], **common_params, + cache_dir=SESSION_FILE_DIR, + threshold=SESSION_FILE_THRESHOLD, + mode=SESSION_FILE_MODE, ) - elif config["SESSION_TYPE"] == "mongodb": + elif SESSION_TYPE == "mongodb": session_interface = MongoDBSessionInterface( - config["SESSION_MONGODB"], - config["SESSION_MONGODB_DB"], - config["SESSION_MONGODB_COLLECT"], **common_params, + client=SESSION_MONGODB, + db=SESSION_MONGODB_DB, + collection=SESSION_MONGODB_COLLECT, ) - elif config["SESSION_TYPE"] == "sqlalchemy": + elif SESSION_TYPE == "sqlalchemy": session_interface = SqlAlchemySessionInterface( - app, - config["SESSION_SQLALCHEMY"], - config["SESSION_SQLALCHEMY_TABLE"], - config["SESSION_SQLALCHEMY_SEQUENCE"], - config["SESSION_SQLALCHEMY_SCHEMA"], - config["SESSION_SQLALCHEMY_BIND_KEY"], **common_params, + app=app, + db=SESSION_SQLALCHEMY, + table=SESSION_SQLALCHEMY_TABLE, + sequence=SESSION_SQLALCHEMY_SEQUENCE, + schema=SESSION_SQLALCHEMY_SCHEMA, + bind_key=SESSION_SQLALCHEMY_BIND_KEY, ) else: session_interface = NullSessionInterface() diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py new file mode 100644 index 00000000..0240521d --- /dev/null +++ b/src/flask_session/defaults.py @@ -0,0 +1,33 @@ +import os + + +class Defaults: + # Flask-session specific settings + SESSION_TYPE = "null" + SESSION_KEY_PREFIX = "session:" + SESSION_USE_SIGNER = False + SESSION_PERMANENT = True + SESSION_SID_LENGTH = 3 + + # Redis settings + SESSION_REDIS = None + + # Memcached settings + SESSION_MEMCACHED = None + + # Filesystem settings + SESSION_FILE_DIR = os.path.join(os.getcwd(), "flask_session") + SESSION_FILE_THRESHOLD = 500 + SESSION_FILE_MODE = 384 + + # MongoDB settings + SESSION_MONGODB = None + SESSION_MONGODB_DB = "flask_session" + SESSION_MONGODB_COLLECT = "sessions" + + # SQLAlchemy settings + SESSION_SQLALCHEMY = None + SESSION_SQLALCHEMY_TABLE = "sessions" + SESSION_SQLALCHEMY_SEQUENCE = None + SESSION_SQLALCHEMY_SCHEMA = None + SESSION_SQLALCHEMY_BIND_KEY = None diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 19597491..1740e7a6 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -14,6 +14,8 @@ from itsdangerous import BadSignature, Signer, want_bytes from werkzeug.datastructures import CallbackDict +from .defaults import Defaults + def total_seconds(td): return td.days * 60 * 60 * 24 + td.seconds @@ -92,7 +94,14 @@ def open_session(self, app, request): class ServerSideSessionInterface(SessionInterface, ABC): """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" - def __init__(self, db, key_prefix, use_signer=False, permanent=True, sid_length=32): + def __init__( + self, + db, + key_prefix=Defaults.SESSION_KEY_PREFIX, + use_signer=Defaults.SESSION_USE_SIGNER, + permanent=Defaults.SESSION_PERMANENT, + sid_length=Defaults.SESSION_SID_LENGTH, + ): self.db = db self.key_prefix = key_prefix self.use_signer = use_signer @@ -157,7 +166,14 @@ class RedisSessionInterface(ServerSideSessionInterface): serializer = pickle session_class = RedisSession - def __init__(self, redis, key_prefix, use_signer, permanent, sid_length): + def __init__( + self, + key_prefix, + use_signer, + permanent, + sid_length, + redis=Defaults.SESSION_REDIS, + ): if redis is None: from redis import Redis @@ -236,7 +252,14 @@ class MemcachedSessionInterface(ServerSideSessionInterface): serializer = pickle session_class = MemcachedSession - def __init__(self, client, key_prefix, use_signer, permanent, sid_length): + def __init__( + self, + key_prefix, + use_signer, + permanent, + sid_length, + client=Defaults.SESSION_MEMCACHED, + ): if client is None: client = self._get_preferred_memcache_client() self.client = client @@ -346,13 +369,13 @@ class FileSystemSessionInterface(ServerSideSessionInterface): def __init__( self, - cache_dir, - threshold, - mode, key_prefix, use_signer, permanent, sid_length, + cache_dir=Defaults.SESSION_FILE_DIR, + threshold=Defaults.SESSION_FILE_THRESHOLD, + mode=Defaults.SESSION_FILE_MODE, ): from cachelib.file import FileSystemCache @@ -432,13 +455,13 @@ class MongoDBSessionInterface(ServerSideSessionInterface): def __init__( self, - client, - db, - collection, key_prefix, use_signer, permanent, sid_length, + client=Defaults.SESSION_MONGODB, + db=Defaults.SESSION_MONGODB_DB, + collection=Defaults.SESSION_MONGODB_COLLECT, ): import pymongo @@ -567,16 +590,16 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): def __init__( self, - app, - db, - table, - sequence, - schema, - bind_key, key_prefix, use_signer, permanent, sid_length, + app, + db=Defaults.SESSION_SQLALCHEMY, + table=Defaults.SESSION_SQLALCHEMY_TABLE, + sequence=Defaults.SESSION_SQLALCHEMY_SEQUENCE, + schema=Defaults.SESSION_SQLALCHEMY_SCHEMA, + bind_key=Defaults.SESSION_SQLALCHEMY_BIND_KEY, ): if db is None: from flask_sqlalchemy import SQLAlchemy From 86895b523203ca67c9f87416bdbf028852dcb357 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 30 Jan 2024 19:19:01 +1000 Subject: [PATCH 02/84] Consistent storage expiry --- src/flask_session/sessions.py | 46 ++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 1740e7a6..7c5a650f 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -205,31 +205,35 @@ def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) + # Generate a prefixed session id from the session id as a storage key + prefixed_session_id = self.key_prefix + session.sid + # If the session is empty, do not save it to the database or set a cookie if not session: # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie if session.modified: - self.redis.delete(self.key_prefix + session.sid) + self.redis.delete(prefixed_session_id) response.delete_cookie( app.config["SESSION_COOKIE_NAME"], domain=domain, path=path ) return # Get the new expiration time for the session - expiration_datetime = self.get_expiration_time(app, session) + cookie_expiration_datetime = self.get_expiration_time(app, session) + storage_time_to_live = total_seconds(app.permanent_session_lifetime) # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) # Update existing or create new session in the database self.redis.set( - name=self.key_prefix + session.sid, + name=prefixed_session_id, value=serialized_session_data, - ex=total_seconds(app.permanent_session_lifetime), + ex=storage_time_to_live, ) # Set the browser cookie - self.set_cookie_to_response(app, session, response, expiration_datetime) + self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) class MemcachedSessionInterface(ServerSideSessionInterface): @@ -330,7 +334,8 @@ def save_session(self, app, session, response): return # Get the new expiration time for the session - expiration_datetime = self.get_expiration_time(app, session) + cookie_expiration_datetime = self.get_expiration_time(app, session) + storage_time_to_live = total_seconds(app.permanent_session_lifetime) # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) @@ -339,11 +344,11 @@ def save_session(self, app, session, response): self.client.set( prefixed_session_id, serialized_session_data, - self._get_memcache_timeout(total_seconds(app.permanent_session_lifetime)), + self._get_memcache_timeout(storage_time_to_live), ) # Set the browser cookie - self.set_cookie_to_response(app, session, response, expiration_datetime) + self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) class FileSystemSessionInterface(ServerSideSessionInterface): @@ -416,7 +421,8 @@ def save_session(self, app, session, response): return # Get the new expiration time for the session - expiration_datetime = self.get_expiration_time(app, session) + cookie_expiration_datetime = self.get_expiration_time(app, session) + storage_time_to_live = total_seconds(app.permanent_session_lifetime) # Serialize the session data (or just cast into dictionary in this case) session_data = dict(session) @@ -425,11 +431,11 @@ def save_session(self, app, session, response): self.cache.set( prefixed_session_id, session_data, - total_seconds(app.permanent_session_lifetime), + storage_time_to_live, ) # Set the browser cookie - self.set_cookie_to_response(app, session, response, expiration_datetime) + self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) class MongoDBSessionInterface(ServerSideSessionInterface): @@ -531,7 +537,8 @@ def save_session(self, app, session, response): return # Get the new expiration time for the session - expiration_datetime = self.get_expiration_time(app, session) + cookie_expiration_datetime = self.get_expiration_time(app, session) + storage_expiration_datetime = datetime.utcnow() + app.permanent_session_lifetime # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) @@ -543,7 +550,7 @@ def save_session(self, app, session, response): { "id": prefixed_session_id, "val": serialized_session_data, - "expiration": expiration_datetime, + "expiration": storage_expiration_datetime, }, True, ) @@ -554,14 +561,14 @@ def save_session(self, app, session, response): "$set": { "id": prefixed_session_id, "val": serialized_session_data, - "expiration": expiration_datetime, + "expiration": storage_expiration_datetime, } }, True, ) # Set the browser cookie - self.set_cookie_to_response(app, session, response, expiration_datetime) + self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) class SqlAlchemySessionInterface(ServerSideSessionInterface): @@ -698,7 +705,8 @@ def save_session(self, app, session, response): serialized_session_data = self.serializer.dumps(dict(session)) # Get the new expiration time for the session - expiration_datetime = self.get_expiration_time(app, session) + cookie_expiration_datetime = self.get_expiration_time(app, session) + storage_expiration_datetime = datetime.utcnow() + app.permanent_session_lifetime # Update existing or create new session in the database record = self.sql_session_model.query.filter_by( @@ -706,15 +714,15 @@ def save_session(self, app, session, response): ).first() if record: record.data = serialized_session_data - record.expiry = expiration_datetime + record.expiry = storage_expiration_datetime else: record = self.sql_session_model( session_id=prefixed_session_id, data=serialized_session_data, - expiry=expiration_datetime, + expiry=storage_expiration_datetime, ) self.db.session.add(record) self.db.session.commit() # Set the browser cookie - self.set_cookie_to_response(app, session, response, expiration_datetime) + self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) From 9acee3c5fb7072476f3feea923529d19d5e855c3 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 30 Jan 2024 20:50:43 +1000 Subject: [PATCH 03/84] Use TTL on mongodb for expiration --- src/flask_session/sessions.py | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 7c5a650f..aac666c6 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -7,7 +7,7 @@ except ImportError: import pickle -from datetime import datetime, timezone +from datetime import datetime from flask.sessions import SessionInterface as FlaskSessionInterface from flask.sessions import SessionMixin @@ -477,6 +477,10 @@ def __init__( self.client = client self.store = client[db][collection] self.use_deprecated_method = int(pymongo.version.split(".")[0]) < 4 + + # Create a TTL index on the expiration time, so that mongo can automatically delete expired sessions + self.store.create_index("expiration", expireAfterSeconds=0) + super().__init__(self.store, key_prefix, use_signer, permanent, sid_length) def fetch_session(self, sid): @@ -484,24 +488,7 @@ def fetch_session(self, sid): prefixed_session_id = self.key_prefix + sid document = self.store.find_one({"id": prefixed_session_id}) - # If the expiration time is less than or equal to the current time (expired), delete the document - if document is not None: - expiration_datetime = document.get("expiration") - # tz_aware mongodb fix - expiration_datetime_tz_aware = expiration_datetime.replace( - tzinfo=timezone.utc - ) - now_datetime_tz_aware = datetime.utcnow().replace(tzinfo=timezone.utc) - if expiration_datetime is None or ( - expiration_datetime_tz_aware <= now_datetime_tz_aware - ): - if self.use_deprecated_method: - self.store.remove({"id": prefixed_session_id}) - else: - self.store.delete_one({"id": prefixed_session_id}) - document = None - - # If the saved session still exists after checking for expiration, load the session data from the document + # If the saved session exists and has not auto-expired, load the session data from the document if document is not None: try: session_data = self.serializer.loads(want_bytes(document["val"])) From 3fa3d5e5748415062f8e86db22b360230a697f3e Mon Sep 17 00:00:00 2001 From: Lex Date: Wed, 31 Jan 2024 10:52:11 +1000 Subject: [PATCH 04/84] Simplify helper function --- src/flask_session/sessions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index aac666c6..830a344b 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -17,8 +17,8 @@ from .defaults import Defaults -def total_seconds(td): - return td.days * 60 * 60 * 24 + td.seconds +def total_seconds(timedelta): + return int(timedelta.total_seconds()) class ServerSideSession(CallbackDict, SessionMixin): From 5381243327ec195ba3a5691731f06b9f1debe0ab Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 2 Feb 2024 17:04:45 +1000 Subject: [PATCH 05/84] Fix reuse of session id on storage miss #76 --- src/flask_session/sessions.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 830a344b..f34d82a0 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -195,6 +195,7 @@ def fetch_session(self, sid): return self.session_class(sid=sid, permanent=self.permanent) # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) def save_session(self, app, session, response): @@ -310,6 +311,7 @@ def fetch_session(self, sid): return self.session_class(sid=sid, permanent=self.permanent) # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) def save_session(self, app, session, response): @@ -397,6 +399,7 @@ def fetch_session(self, sid): return self.session_class(item, sid=sid) # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) def save_session(self, app, session, response): @@ -497,6 +500,7 @@ def fetch_session(self, sid): return self.session_class(sid=sid, permanent=self.permanent) # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) def save_session(self, app, session, response): @@ -662,6 +666,9 @@ def fetch_session(self, sid): return self.session_class(session_data, sid=sid) except pickle.UnpicklingError: return self.session_class(sid=sid, permanent=self.permanent) + + # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) def save_session(self, app, session, response): From d7ed1c6e7eb3904888b72f0d6c006db1b9b60795 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 2 Feb 2024 20:12:44 +1000 Subject: [PATCH 06/84] Remove null session interface, fix incorrect runtime error Previously failure to set session type resulted in error message that says a secret key is required --- src/flask_session/__init__.py | 3 +-- src/flask_session/sessions.py | 12 ------------ 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 738ab75a..9798d55f 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -3,7 +3,6 @@ FileSystemSessionInterface, MemcachedSessionInterface, MongoDBSessionInterface, - NullSessionInterface, RedisSessionInterface, SqlAlchemySessionInterface, ) @@ -150,6 +149,6 @@ def _get_interface(self, app): bind_key=SESSION_SQLALCHEMY_BIND_KEY, ) else: - session_interface = NullSessionInterface() + raise RuntimeError(f"Unrecognized value for SESSION_TYPE: {SESSION_TYPE}") return session_interface diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index f34d82a0..bd41af14 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -79,18 +79,6 @@ def _sign(self, app, sid): return signer.sign(sid_as_bytes).decode("utf-8") -class NullSessionInterface(SessionInterface): - """Used to open a :class:`flask.sessions.NullSession` instance. - - If you do not configure a different ``SESSION_TYPE``, this will be used to - generate nicer error messages. Will allow read-only access to the empty - session but fail on setting. - """ - - def open_session(self, app, request): - return None - - class ServerSideSessionInterface(SessionInterface, ABC): """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" From 7d7d58ce371553da39095a421445cf639a62bd5f Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 4 Feb 2024 23:31:45 +1000 Subject: [PATCH 07/84] Refactor to reduce repetition, type hints --- src/flask_session/__init__.py | 2 +- src/flask_session/sessions.py | 496 ++++++++++++++-------------------- tests/test_basic.py | 19 +- 3 files changed, 220 insertions(+), 297 deletions(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 9798d55f..38f61705 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -108,6 +108,7 @@ def _get_interface(self, app): ) common_params = { + "app": app, "key_prefix": SESSION_KEY_PREFIX, "use_signer": SESSION_USE_SIGNER, "permanent": SESSION_PERMANENT, @@ -141,7 +142,6 @@ def _get_interface(self, app): elif SESSION_TYPE == "sqlalchemy": session_interface = SqlAlchemySessionInterface( **common_params, - app=app, db=SESSION_SQLALCHEMY, table=SESSION_SQLALCHEMY_TABLE, sequence=SESSION_SQLALCHEMY_SEQUENCE, diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index bd41af14..3db3eda3 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -8,7 +8,10 @@ import pickle from datetime import datetime +from datetime import timedelta as TimeDelta +from typing import Any, Optional +from flask import Flask, Request, Response from flask.sessions import SessionInterface as FlaskSessionInterface from flask.sessions import SessionMixin from itsdangerous import BadSignature, Signer, want_bytes @@ -27,8 +30,13 @@ class ServerSideSession(CallbackDict, SessionMixin): def __bool__(self) -> bool: return bool(dict(self)) and self.keys() != {"_permanent"} - def __init__(self, initial=None, sid=None, permanent=None): - def on_update(self): + def __init__( + self, + initial: dict[str, Any] | None = None, + sid: str | None = None, + permanent: bool | None = None, + ): + def on_update(self) -> None: self.modified = True CallbackDict.__init__(self, initial, on_update) @@ -59,79 +67,125 @@ class SqlAlchemySession(ServerSideSession): class SessionInterface(FlaskSessionInterface): - def _generate_sid(self, session_id_length): + def _generate_sid(self, session_id_length: int) -> str: return secrets.token_urlsafe(session_id_length) - def __get_signer(self, app): + def __get_signer(self, app: Flask) -> Signer: if not hasattr(app, "secret_key") or not app.secret_key: raise KeyError("SECRET_KEY must be set when SESSION_USE_SIGNER=True") return Signer(app.secret_key, salt="flask-session", key_derivation="hmac") - def _unsign(self, app, sid): + def _unsign(self, app, sid: str) -> str: signer = self.__get_signer(app) sid_as_bytes = signer.unsign(sid) sid = sid_as_bytes.decode() return sid - def _sign(self, app, sid): + def _sign(self, app, sid: str) -> str: signer = self.__get_signer(app) sid_as_bytes = want_bytes(sid) return signer.sign(sid_as_bytes).decode("utf-8") + def _get_store_id(self, sid: str) -> str: + return self.key_prefix + sid + class ServerSideSessionInterface(SessionInterface, ABC): """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" def __init__( self, - db, - key_prefix=Defaults.SESSION_KEY_PREFIX, - use_signer=Defaults.SESSION_USE_SIGNER, - permanent=Defaults.SESSION_PERMANENT, - sid_length=Defaults.SESSION_SID_LENGTH, + app: Flask, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, ): - self.db = db + self.app = app self.key_prefix = key_prefix self.use_signer = use_signer self.permanent = permanent self.sid_length = sid_length self.has_same_site_capability = hasattr(self, "get_cookie_samesite") - def set_cookie_to_response(self, app, session, response, expires): - session_id = self._sign(app, session.sid) if self.use_signer else session.sid + def save_session( + self, app: Flask, session: ServerSideSession, response: Response + ) -> None: + if not self.should_set_cookie(app, session): + return + + # Get the domain and path for the cookie from the app domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) - httponly = self.get_cookie_httponly(app) - secure = self.get_cookie_secure(app) - samesite = None - if self.has_same_site_capability: - samesite = self.get_cookie_samesite(app) + # Generate a prefixed session id + store_id = self._get_store_id(session.sid) + + # If the session is empty, do not save it to the database or set a cookie + if not session: + # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie + if session.modified: + self._delete_session(store_id) + response.delete_cookie( + app.config["SESSION_COOKIE_NAME"], domain=domain, path=path + ) + return + + # Update existing or create new session in the database + self._upsert_session(app.permanent_session_lifetime, session, store_id) + + # Set the browser cookie response.set_cookie( - app.config["SESSION_COOKIE_NAME"], - session_id, - expires=expires, - httponly=httponly, - domain=domain, - path=path, - secure=secure, - samesite=samesite, + key=app.config["SESSION_COOKIE_NAME"], + value=self._sign(app, session.sid) if self.use_signer else session.sid, + expires=self.get_expiration_time(app, session), + httponly=self.get_cookie_httponly(app), + domain=self.get_cookie_domain(app), + path=self.get_cookie_path(app), + secure=self.get_cookie_secure(app), + samesite=self.get_cookie_samesite(app) + if self.has_same_site_capability + else None, ) - def open_session(self, app, request): + def open_session(self, app: Flask, request: Request) -> ServerSideSession: + # Get the session ID from the cookie sid = request.cookies.get(app.config["SESSION_COOKIE_NAME"]) + + # If there's no session ID, generate a new one if not sid: sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) + + # If the session ID is signed, unsign it if self.use_signer: try: sid = self._unsign(app, sid) except BadSignature: sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) - return self.fetch_session(sid) - def fetch_session(self, sid): + # Retrieve the session data from the database + store_id = self._get_store_id(sid) + saved_session_data = self._retrieve_session_data(store_id) + + # If the saved session exists, load the session data from the document + if saved_session_data is not None: + return self.session_class(saved_session_data, sid=sid) + + # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) + return self.session_class(sid=sid, permanent=self.permanent) + + def _retrieve_session_data(self, store_id: str) -> dict | None: + raise NotImplementedError() + + def _delete_session(self, store_id: str) -> None: + raise NotImplementedError() + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: raise NotImplementedError() @@ -156,74 +210,49 @@ class RedisSessionInterface(ServerSideSessionInterface): def __init__( self, - key_prefix, - use_signer, - permanent, - sid_length, - redis=Defaults.SESSION_REDIS, + app: Flask, + key_prefix: str, + use_signer: bool, + permanent: bool, + sid_length: int, + redis: Any = Defaults.SESSION_REDIS, ): if redis is None: from redis import Redis redis = Redis() self.redis = redis - super().__init__(redis, key_prefix, use_signer, permanent, sid_length) + super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def fetch_session(self, sid): + def _retrieve_session_data(self, store_id: str) -> dict | None: # Get the saved session (value) from the database - prefixed_session_id = self.key_prefix + sid - value = self.redis.get(prefixed_session_id) - - # If the saved session still exists and hasn't auto-expired, load the session data from the document - if value is not None: + serialized_session_data = self.redis.get(store_id) + if serialized_session_data: try: - session_data = self.serializer.loads(value) - return self.session_class(session_data, sid=sid) + session_data = self.serializer.loads(serialized_session_data) + return session_data except pickle.UnpicklingError: - return self.session_class(sid=sid, permanent=self.permanent) + self.app.logger.error("Failed to unpickle session data", exc_info=True) + return None - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - def save_session(self, app, session, response): - if not self.should_set_cookie(app, session): - return - - # Get the domain and path for the cookie from the app config - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) + def _delete_session(self, store_id: str) -> None: + self.redis.delete(store_id) - # Generate a prefixed session id from the session id as a storage key - prefixed_session_id = self.key_prefix + session.sid - - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - self.redis.delete(prefixed_session_id) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - return - - # Get the new expiration time for the session - cookie_expiration_datetime = self.get_expiration_time(app, session) - storage_time_to_live = total_seconds(app.permanent_session_lifetime) + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) # Update existing or create new session in the database self.redis.set( - name=prefixed_session_id, + name=store_id, value=serialized_session_data, ex=storage_time_to_live, ) - # Set the browser cookie - self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) - class MemcachedSessionInterface(ServerSideSessionInterface): """A Session interface that uses memcached as backend. (`pylibmc` or `python-memcached` or `pymemcache` required) @@ -247,16 +276,17 @@ class MemcachedSessionInterface(ServerSideSessionInterface): def __init__( self, - key_prefix, - use_signer, - permanent, - sid_length, - client=Defaults.SESSION_MEMCACHED, + app: Flask, + key_prefix: str, + use_signer: bool, + permanent: bool, + sid_length: int, + client: Any = Defaults.SESSION_MEMCACHED, ): if client is None: client = self._get_preferred_memcache_client() self.client = client - super().__init__(client, key_prefix, use_signer, permanent, sid_length) + super().__init__(app, key_prefix, use_signer, permanent, sid_length) def _get_preferred_memcache_client(self): clients = [ @@ -275,7 +305,7 @@ def _get_preferred_memcache_client(self): raise ImportError("No memcache module found") - def _get_memcache_timeout(self, timeout): + def _get_memcache_timeout(self, timeout: int) -> int: """ Memcached deals with long (> 30 days) timeouts in a special way. Call this function to obtain a safe value for your timeout. @@ -285,61 +315,35 @@ def _get_memcache_timeout(self, timeout): timeout += int(time.time()) return timeout - def fetch_session(self, sid): + def _retrieve_session_data(self, store_id: str) -> dict | None: # Get the saved session (item) from the database - prefixed_session_id = self.key_prefix + sid - item = self.client.get(prefixed_session_id) - - # If the saved session still exists and hasn't auto-expired, load the session data from the document - if item is not None: + serialized_session_data = self.client.get(store_id) + if serialized_session_data: try: - session_data = self.serializer.loads(want_bytes(item)) - return self.session_class(session_data, sid=sid) + session_data = self.serializer.loads(serialized_session_data) + return session_data except pickle.UnpicklingError: - return self.session_class(sid=sid, permanent=self.permanent) - - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - def save_session(self, app, session, response): - if not self.should_set_cookie(app, session): - return - - # Get the domain and path for the cookie from the app config - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) - - # Generate a prefixed session id from the session id as a storage key - prefixed_session_id = self.key_prefix + session.sid + self.app.logger.error("Failed to unpickle session data", exc_info=True) + return None - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - self.client.delete(prefixed_session_id) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - return + def _delete_session(self, store_id: str) -> None: + self.client.delete(store_id) - # Get the new expiration time for the session - cookie_expiration_datetime = self.get_expiration_time(app, session) - storage_time_to_live = total_seconds(app.permanent_session_lifetime) + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) # Update existing or create new session in the database self.client.set( - prefixed_session_id, + store_id, serialized_session_data, self._get_memcache_timeout(storage_time_to_live), ) - # Set the browser cookie - self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) - class FileSystemSessionInterface(ServerSideSessionInterface): """Uses the :class:`cachelib.file.FileSystemCache` as a session backend. @@ -364,70 +368,42 @@ class FileSystemSessionInterface(ServerSideSessionInterface): def __init__( self, - key_prefix, - use_signer, - permanent, - sid_length, - cache_dir=Defaults.SESSION_FILE_DIR, - threshold=Defaults.SESSION_FILE_THRESHOLD, - mode=Defaults.SESSION_FILE_MODE, + app: Flask, + key_prefix: str, + use_signer: bool, + permanent: bool, + sid_length: int, + cache_dir: str = Defaults.SESSION_FILE_DIR, + threshold: int = Defaults.SESSION_FILE_THRESHOLD, + mode: int = Defaults.SESSION_FILE_MODE, ): from cachelib.file import FileSystemCache self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode) - super().__init__(self.cache, key_prefix, use_signer, permanent, sid_length) + super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def fetch_session(self, sid): + def _retrieve_session_data(self, store_id: str) -> dict | None: # Get the saved session (item) from the database - prefixed_session_id = self.key_prefix + sid - item = self.cache.get(prefixed_session_id) - - # If the saved session exists and has not auto-expired, load the session data from the item - if item is not None: - return self.session_class(item, sid=sid) + return self.cache.get(store_id) - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - def save_session(self, app, session, response): - if not self.should_set_cookie(app, session): - return - - # Get the domain and path for the cookie from the app config - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) - - # Generate a prefixed session id from the session id as a storage key - prefixed_session_id = self.key_prefix + session.sid - - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - self.cache.delete(prefixed_session_id) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - return + def _delete_session(self, store_id: str) -> None: + self.cache.delete(store_id) - # Get the new expiration time for the session - cookie_expiration_datetime = self.get_expiration_time(app, session) - storage_time_to_live = total_seconds(app.permanent_session_lifetime) + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) # Serialize the session data (or just cast into dictionary in this case) session_data = dict(session) # Update existing or create new session in the database self.cache.set( - prefixed_session_id, - session_data, - storage_time_to_live, + key=store_id, + value=session_data, + timeout=storage_time_to_live, ) - # Set the browser cookie - self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) - class MongoDBSessionInterface(ServerSideSessionInterface): """A Session interface that uses mongodb as backend. (`pymongo` required) @@ -452,13 +428,14 @@ class MongoDBSessionInterface(ServerSideSessionInterface): def __init__( self, - key_prefix, - use_signer, - permanent, - sid_length, - client=Defaults.SESSION_MONGODB, - db=Defaults.SESSION_MONGODB_DB, - collection=Defaults.SESSION_MONGODB_COLLECT, + app: Flask, + key_prefix: str, + use_signer: bool, + permanent: bool, + sid_length: int, + client: Any = Defaults.SESSION_MONGODB, + db: str = Defaults.SESSION_MONGODB_DB, + collection: str = Defaults.SESSION_MONGODB_COLLECT, ): import pymongo @@ -472,52 +449,30 @@ def __init__( # Create a TTL index on the expiration time, so that mongo can automatically delete expired sessions self.store.create_index("expiration", expireAfterSeconds=0) - super().__init__(self.store, key_prefix, use_signer, permanent, sid_length) + super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def fetch_session(self, sid): + def _retrieve_session_data(self, store_id: str) -> dict | None: # Get the saved session (document) from the database - prefixed_session_id = self.key_prefix + sid - document = self.store.find_one({"id": prefixed_session_id}) - - # If the saved session exists and has not auto-expired, load the session data from the document - if document is not None: + document = self.store.find_one({"id": store_id}) + if document: + serialized_session_data = want_bytes(document["val"]) try: - session_data = self.serializer.loads(want_bytes(document["val"])) - return self.session_class(session_data, sid=sid) + session_data = self.serializer.loads(serialized_session_data) + return session_data except pickle.UnpicklingError: - return self.session_class(sid=sid, permanent=self.permanent) - - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - def save_session(self, app, session, response): - if not self.should_set_cookie(app, session): - return - - # Get the domain and path for the cookie from the app config - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) - - # Generate a prefixed session id from the session id as a storage key - prefixed_session_id = self.key_prefix + session.sid + self.app.logger.error("Failed to unpickle session data", exc_info=True) + return None - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - if self.use_deprecated_method: - self.store.remove({"id": prefixed_session_id}) - else: - self.store.delete_one({"id": prefixed_session_id}) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - return + def _delete_session(self, store_id: str) -> None: + if self.use_deprecated_method: + self.store.remove({"id": store_id}) + else: + self.store.delete_one({"id": store_id}) - # Get the new expiration time for the session - cookie_expiration_datetime = self.get_expiration_time(app, session) - storage_expiration_datetime = datetime.utcnow() + app.permanent_session_lifetime + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_expiration_datetime = datetime.utcnow() + session_lifetime # Serialize the session data serialized_session_data = self.serializer.dumps(dict(session)) @@ -525,9 +480,9 @@ def save_session(self, app, session, response): # Update existing or create new session in the database if self.use_deprecated_method: self.store.update( - {"id": prefixed_session_id}, + {"id": store_id}, { - "id": prefixed_session_id, + "id": store_id, "val": serialized_session_data, "expiration": storage_expiration_datetime, }, @@ -535,10 +490,10 @@ def save_session(self, app, session, response): ) else: self.store.update_one( - {"id": prefixed_session_id}, + {"id": store_id}, { "$set": { - "id": prefixed_session_id, + "id": store_id, "val": serialized_session_data, "expiration": storage_expiration_datetime, } @@ -546,9 +501,6 @@ def save_session(self, app, session, response): True, ) - # Set the browser cookie - self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) - class SqlAlchemySessionInterface(ServerSideSessionInterface): """Uses the Flask-SQLAlchemy from a flask app as a session backend. @@ -576,16 +528,16 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): def __init__( self, - key_prefix, - use_signer, - permanent, - sid_length, - app, - db=Defaults.SESSION_SQLALCHEMY, - table=Defaults.SESSION_SQLALCHEMY_TABLE, - sequence=Defaults.SESSION_SQLALCHEMY_SEQUENCE, - schema=Defaults.SESSION_SQLALCHEMY_SCHEMA, - bind_key=Defaults.SESSION_SQLALCHEMY_BIND_KEY, + app: Flask, + key_prefix: str, + use_signer: bool, + permanent: bool, + sid_length: int, + db: Any = Defaults.SESSION_SQLALCHEMY, + table: str = Defaults.SESSION_SQLALCHEMY_TABLE, + sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, + schema: Optional[str] = Defaults.SESSION_SQLALCHEMY_SCHEMA, + bind_key: Optional[str] = Defaults.SESSION_SQLALCHEMY_BIND_KEY, ): if db is None: from flask_sqlalchemy import SQLAlchemy @@ -596,7 +548,7 @@ def __init__( self.sequence = sequence self.schema = schema self.bind_key = bind_key - super().__init__(self.db, key_prefix, use_signer, permanent, sid_length) + super().__init__(app, key_prefix, use_signer, permanent, sid_length) # Create the Session database model class Session(self.db.Model): @@ -621,7 +573,7 @@ class Session(self.db.Model): data = self.db.Column(self.db.LargeBinary) expiry = self.db.Column(self.db.DateTime) - def __init__(self, session_id, data, expiry): + def __init__(self, session_id: str, data: Any, expiry: datetime): self.session_id = session_id self.data = data self.expiry = expiry @@ -634,77 +586,47 @@ def __repr__(self): self.sql_session_model = Session - def fetch_session(self, sid): + def _retrieve_session_data(self, store_id: str) -> dict | None: # Get the saved session (record) from the database - store_id = self.key_prefix + sid record = self.sql_session_model.query.filter_by(session_id=store_id).first() - # If the expiration time is less than or equal to the current time (expired), delete the document - if record is not None: - expiration_datetime = record.expiry - if expiration_datetime is None or expiration_datetime <= datetime.utcnow(): - self.db.session.delete(record) - self.db.session.commit() - record = None + # "Delete the session record if it is expired as SQL has no TTL ability + if record and (record.expiry is None or record.expiry <= datetime.utcnow()): + self.db.session.delete(record) + self.db.session.commit() + record = None - # If the saved session still exists after checking for expiration, load the session data from the document if record: + serialized_session_data = want_bytes(record.data) try: - session_data = self.serializer.loads(want_bytes(record.data)) - return self.session_class(session_data, sid=sid) + session_data = self.serializer.loads(serialized_session_data) + return session_data except pickle.UnpicklingError: - return self.session_class(sid=sid, permanent=self.permanent) - - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - def save_session(self, app, session, response): - if not self.should_set_cookie(app, session): - return + self.app.logger.error("Failed to unpickle session data", exc_info=True) + return None - # Get the domain and path for the cookie from the app - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) - - # Generate a prefixed session id - prefixed_session_id = self.key_prefix + session.sid + def _delete_session(self, store_id: str) -> None: + self.sql_session_model.query.filter_by(session_id=store_id).delete() + self.db.session.commit() - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - self.sql_session_model.query.filter_by( - session_id=prefixed_session_id - ).delete() - self.db.session.commit() - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - return + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_expiration_datetime = datetime.utcnow() + session_lifetime # Serialize session data serialized_session_data = self.serializer.dumps(dict(session)) - # Get the new expiration time for the session - cookie_expiration_datetime = self.get_expiration_time(app, session) - storage_expiration_datetime = datetime.utcnow() + app.permanent_session_lifetime - # Update existing or create new session in the database - record = self.sql_session_model.query.filter_by( - session_id=prefixed_session_id - ).first() + record = self.sql_session_model.query.filter_by(session_id=store_id).first() if record: record.data = serialized_session_data record.expiry = storage_expiration_datetime else: record = self.sql_session_model( - session_id=prefixed_session_id, + session_id=store_id, data=serialized_session_data, expiry=storage_expiration_datetime, ) self.db.session.add(record) self.db.session.commit() - - # Set the browser cookie - self.set_cookie_to_response(app, session, response, cookie_expiration_datetime) diff --git a/tests/test_basic.py b/tests/test_basic.py index 4596c97c..06b7344e 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -12,13 +12,14 @@ def test_tot_seconds_func(): def test_null_session(): """Invalid session should fail to get/set the flask session""" - app = flask.Flask(__name__) - app.secret_key = "alsdkfjaldkjsf" - flask_session.Session(app) + with pytest.raises(RuntimeError): + app = flask.Flask(__name__) + app.secret_key = "alsdkfjaldkjsf" + flask_session.Session(app) - with app.test_request_context(): - assert not flask.session.get("missing_key") - with pytest.raises(RuntimeError): - flask.session["foo"] = 42 - with pytest.raises(KeyError): - print(flask.session["foo"]) + # with app.test_request_context(): + # assert not flask.session.get("missing_key") + # with pytest.raises(RuntimeError): + # flask.session["foo"] = 42 + # with pytest.raises(RuntimeError): + # print(flask.session["foo"]) From 95da35bd4a0d5adff32a6b726134e1b37083124e Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 5 Feb 2024 01:57:52 +1000 Subject: [PATCH 08/84] Fix python 3.7 type hint compatibility --- src/flask_session/sessions.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 3db3eda3..38359ee3 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -32,9 +32,9 @@ def __bool__(self) -> bool: def __init__( self, - initial: dict[str, Any] | None = None, - sid: str | None = None, - permanent: bool | None = None, + initial: Optional[dict[str, Any]] = None, + sid: Optional[str] = None, + permanent: Optional[bool] = None, ): def on_update(self) -> None: self.modified = True @@ -177,7 +177,7 @@ def open_session(self, app: Flask, request: Request) -> ServerSideSession: sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: raise NotImplementedError() def _delete_session(self, store_id: str) -> None: @@ -224,7 +224,7 @@ def __init__( self.redis = redis super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (value) from the database serialized_session_data = self.redis.get(store_id) if serialized_session_data: @@ -315,7 +315,7 @@ def _get_memcache_timeout(self, timeout: int) -> int: timeout += int(time.time()) return timeout - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database serialized_session_data = self.client.get(store_id) if serialized_session_data: @@ -382,7 +382,7 @@ def __init__( self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode) super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database return self.cache.get(store_id) @@ -451,7 +451,7 @@ def __init__( super().__init__(app, key_prefix, use_signer, permanent, sid_length) - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (document) from the database document = self.store.find_one({"id": store_id}) if document: @@ -586,7 +586,7 @@ def __repr__(self): self.sql_session_model = Session - def _retrieve_session_data(self, store_id: str) -> dict | None: + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (record) from the database record = self.sql_session_model.query.filter_by(session_id=store_id).first() From cb36bde8446bb6ec271a42e000de650b0f1e50a5 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 5 Feb 2024 01:58:48 +1000 Subject: [PATCH 09/84] SQL cleanup thread or per requests --- src/flask_session/__init__.py | 8 +++++ src/flask_session/defaults.py | 2 ++ src/flask_session/sessions.py | 56 ++++++++++++++++++++++++++++++++++- 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 38f61705..6ef87eff 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -106,6 +106,12 @@ def _get_interface(self, app): SESSION_SQLALCHEMY_BIND_KEY = config.get( "SESSION_SQLALCHEMY_BIND_KEY", Defaults.SESSION_SQLALCHEMY_BIND_KEY ) + SESSION_CLEANUP_N_REQUESTS = config.get( + "SESSION_CLEANUP_N_REQUESTS", Defaults.SESSION_CLEANUP_N_REQUESTS + ) + SESSION_CLEANUP_N_SECONDS = config.get( + "SESSION_CLEANUP_N_SECONDS", Defaults.SESSION_CLEANUP_N_SECONDS + ) common_params = { "app": app, @@ -147,6 +153,8 @@ def _get_interface(self, app): sequence=SESSION_SQLALCHEMY_SEQUENCE, schema=SESSION_SQLALCHEMY_SCHEMA, bind_key=SESSION_SQLALCHEMY_BIND_KEY, + cleanup_n_requests=SESSION_CLEANUP_N_REQUESTS, + cleanup_n_seconds=SESSION_CLEANUP_N_SECONDS, ) else: raise RuntimeError(f"Unrecognized value for SESSION_TYPE: {SESSION_TYPE}") diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index 0240521d..ba0660f3 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -31,3 +31,5 @@ class Defaults: SESSION_SQLALCHEMY_SEQUENCE = None SESSION_SQLALCHEMY_SCHEMA = None SESSION_SQLALCHEMY_BIND_KEY = None + SESSION_CLEANUP_N_REQUESTS = None + SESSION_CLEANUP_N_SECONDS = None diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 38359ee3..a9eac654 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -7,8 +7,10 @@ except ImportError: import pickle +import random from datetime import datetime from datetime import timedelta as TimeDelta +from threading import Thread from typing import Any, Optional from flask import Flask, Request, Response @@ -515,6 +517,11 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): :param sequence: The sequence to use for the primary key if needed. :param schema: The db schema to use :param bind_key: The db bind key to use + :param cleanup_n_requests: Delete expired sessions approximately every N requests. + :param cleanup_n_seconds: Delete expired sessions approximately every N seconds. + + .. versionadded:: 0.7 + The `cleanup_n_requests` and `cleanup_n_seconds` parameters were added. .. versionadded:: 0.6 The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. @@ -538,16 +545,19 @@ def __init__( sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, schema: Optional[str] = Defaults.SESSION_SQLALCHEMY_SCHEMA, bind_key: Optional[str] = Defaults.SESSION_SQLALCHEMY_BIND_KEY, + cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, + cleanup_n_seconds: Optional[int] = Defaults.SESSION_CLEANUP_N_SECONDS, ): if db is None: from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy(app) - self.db = db self.sequence = sequence self.schema = schema self.bind_key = bind_key + self.cleanup_n_requests = cleanup_n_requests + self.cleanup_n_seconds = cleanup_n_seconds super().__init__(app, key_prefix, use_signer, permanent, sid_length) # Create the Session database model @@ -586,7 +596,51 @@ def __repr__(self): self.sql_session_model = Session + # Start the cleanup thread + if self.cleanup_n_seconds: + self._start_cleanup_thread(cleanup_n_seconds) + + def _clean_up(self) -> None: + # Delete expired sessions approximately every N requests + if self.cleanup_n_seconds or ( + self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0 + ): + self.app.logger.info("Deleting expired sessions") + try: + self.db.session.query(self.sql_session_model).filter( + self.sql_session_model.expiry <= datetime.utcnow() + ).delete(synchronize_session=False) + self.db.session.commit() + except Exception as e: + self.app.logger.exception( + e, "Failed to delete expired sessions. Skipping..." + ) + + def _start_cleanup_thread(self, cleanup_n_seconds: int) -> None: + def cleanup(): + with self.app.app_context(): + while True: + try: + self.app.logger.info("Deleting expired sessions") + self.db.session.query(self.sql_session_model).filter( + self.sql_session_model.expiry <= datetime.utcnow() + ).delete(synchronize_session=False) + self.db.session.commit() + except Exception as e: + self.app.logger.exception( + e, "Failed to delete expired sessions. Skipping..." + ) + # Wait for a specified interval (e.g., 3600 seconds = 1 hour) before the next cleanup + time.sleep(cleanup_n_seconds) + + # Create and start the cleanup thread + thread = Thread(target=cleanup, daemon=True) + thread.start() + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + if self.cleanup_n_requests: + self._clean_up() + # Get the saved session (record) from the database record = self.sql_session_model.query.filter_by(session_id=store_id).first() From ec78cb62f52ea2a5f8cfcb34f26ac2200e76f4db Mon Sep 17 00:00:00 2001 From: Lex Date: Wed, 7 Feb 2024 22:14:53 +1000 Subject: [PATCH 10/84] Add app command cleanup, abstract methods --- src/flask_session/defaults.py | 6 +- src/flask_session/sessions.py | 115 +++++++++++++++++++++------------- 2 files changed, 74 insertions(+), 47 deletions(-) diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index ba0660f3..e346bffc 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -9,6 +9,10 @@ class Defaults: SESSION_PERMANENT = True SESSION_SID_LENGTH = 3 + # Clean up settings for non TTL backends (SQL, PostgreSQL, etc.) + SESSION_CLEANUP_N_REQUESTS = None + SESSION_CLEANUP_N_SECONDS = None + # Redis settings SESSION_REDIS = None @@ -31,5 +35,3 @@ class Defaults: SESSION_SQLALCHEMY_SEQUENCE = None SESSION_SQLALCHEMY_SCHEMA = None SESSION_SQLALCHEMY_BIND_KEY = None - SESSION_CLEANUP_N_REQUESTS = None - SESSION_CLEANUP_N_SECONDS = None diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index a9eac654..ff2adc52 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -102,6 +102,8 @@ def __init__( use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, sid_length: int = Defaults.SESSION_SID_LENGTH, + cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, + cleanup_n_seconds: Optional[int] = Defaults.SESSION_CLEANUP_N_SECONDS, ): self.app = app self.key_prefix = key_prefix @@ -109,6 +111,16 @@ def __init__( self.permanent = permanent self.sid_length = sid_length self.has_same_site_capability = hasattr(self, "get_cookie_samesite") + self.cleanup_n_requests = cleanup_n_requests + self.cleanup_n_seconds = cleanup_n_seconds + + # Cleanup settings for non-TTL databases only + if self.ttl: + self._register_cleanup_app_command() + if self.cleanup_n_seconds: + self._start_cleanup_thread(self.cleanup_n_seconds) + if self.cleanup_n_requests: + self.app.before_request(self._cleanup_per_requests) def save_session( self, app: Flask, session: ServerSideSession, response: Response @@ -179,6 +191,42 @@ def open_session(self, app: Flask, request: Request) -> ServerSideSession: sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) + # CLEANUP METHODS FOR NON TTL DATABASES + + def _register_cleanup_app_command(self): + """ + Register a custom Flask CLI command for cleaning up expired sessions. + + Run the command with `flask session_cleanup`. Run with a cron job + or scheduler such as Heroku Scheduler to automatically clean up expired sessions. + """ + + @self.app.cli.command("session_cleanup") + def session_cleanup(): + with self.app.app_context(): + self._delete_expired_sessions() + + def _cleanup_n_requests(self) -> None: + """Delete expired sessions approximately every N requests.""" + if self.cleanup_n_seconds or ( + self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0 + ): + self._delete_expired_sessions() + + def _start_cleanup_thread(self, cleanup_n_seconds: int) -> None: + """Start a background thread to delete expired sessions approximately every N seconds.""" + + def cleanup(): + with self.app.app_context(): + while True: + self._delete_expired_sessions() + time.sleep(cleanup_n_seconds) + + thread = Thread(target=cleanup, daemon=True) + thread.start() + + # METHODS TO BE IMPLEMENTED BY SUBCLASSES + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: raise NotImplementedError() @@ -190,6 +238,10 @@ def _upsert_session( ) -> None: raise NotImplementedError() + def _delete_expired_sessions(self) -> None: + """Delete expired sessions from the backend storage. Only required for non-TTL databases.""" + pass + class RedisSessionInterface(ServerSideSessionInterface): """Uses the Redis key-value store as a session backend. (`redis-py` required) @@ -209,6 +261,7 @@ class RedisSessionInterface(ServerSideSessionInterface): serializer = pickle session_class = RedisSession + ttl = True def __init__( self, @@ -275,6 +328,7 @@ class MemcachedSessionInterface(ServerSideSessionInterface): serializer = pickle session_class = MemcachedSession + ttl = True def __init__( self, @@ -367,6 +421,8 @@ class FileSystemSessionInterface(ServerSideSessionInterface): """ session_class = FileSystemSession + serializer = None + ttl = True def __init__( self, @@ -427,6 +483,7 @@ class MongoDBSessionInterface(ServerSideSessionInterface): serializer = pickle session_class = MongoDBSession + ttl = True def __init__( self, @@ -532,6 +589,7 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): serializer = pickle session_class = SqlAlchemySession + non_ttl = True def __init__( self, @@ -548,6 +606,7 @@ def __init__( cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, cleanup_n_seconds: Optional[int] = Defaults.SESSION_CLEANUP_N_SECONDS, ): + self.app = app if db is None: from flask_sqlalchemy import SQLAlchemy @@ -556,8 +615,6 @@ def __init__( self.sequence = sequence self.schema = schema self.bind_key = bind_key - self.cleanup_n_requests = cleanup_n_requests - self.cleanup_n_seconds = cleanup_n_seconds super().__init__(app, key_prefix, use_signer, permanent, sid_length) # Create the Session database model @@ -596,51 +653,19 @@ def __repr__(self): self.sql_session_model = Session - # Start the cleanup thread - if self.cleanup_n_seconds: - self._start_cleanup_thread(cleanup_n_seconds) - - def _clean_up(self) -> None: - # Delete expired sessions approximately every N requests - if self.cleanup_n_seconds or ( - self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0 - ): - self.app.logger.info("Deleting expired sessions") - try: - self.db.session.query(self.sql_session_model).filter( - self.sql_session_model.expiry <= datetime.utcnow() - ).delete(synchronize_session=False) - self.db.session.commit() - except Exception as e: - self.app.logger.exception( - e, "Failed to delete expired sessions. Skipping..." - ) - - def _start_cleanup_thread(self, cleanup_n_seconds: int) -> None: - def cleanup(): - with self.app.app_context(): - while True: - try: - self.app.logger.info("Deleting expired sessions") - self.db.session.query(self.sql_session_model).filter( - self.sql_session_model.expiry <= datetime.utcnow() - ).delete(synchronize_session=False) - self.db.session.commit() - except Exception as e: - self.app.logger.exception( - e, "Failed to delete expired sessions. Skipping..." - ) - # Wait for a specified interval (e.g., 3600 seconds = 1 hour) before the next cleanup - time.sleep(cleanup_n_seconds) - - # Create and start the cleanup thread - thread = Thread(target=cleanup, daemon=True) - thread.start() + def _delete_expired_sessions(self) -> None: + try: + self.db.session.query(self.sql_session_model).filter( + self.sql_session_model.expiry <= datetime.utcnow() + ).delete(synchronize_session=False) + self.db.session.commit() + self.app.logger.info("Deleted expired sessions") + except Exception as e: + self.app.logger.exception( + e, "Failed to delete expired sessions. Skipping..." + ) def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - if self.cleanup_n_requests: - self._clean_up() - # Get the saved session (record) from the database record = self.sql_session_model.query.filter_by(session_id=store_id).first() From 48adc490f16ebe4957f11e2b7f380a0808f3f122 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 11 Feb 2024 18:36:07 +1000 Subject: [PATCH 11/84] Remove thread based cleanup, include alchemy rollback --- docs/config.rst | 15 ++++- src/flask_session/__init__.py | 4 -- src/flask_session/defaults.py | 1 - src/flask_session/sessions.py | 116 +++++++++++++++++++--------------- 4 files changed, 80 insertions(+), 56 deletions(-) diff --git a/docs/config.rst b/docs/config.rst index cd433fd5..1b3d0ce7 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -108,8 +108,21 @@ Flask-Session Configuration Values Default: ``32`` +.. py:data:: SESSION_CLEANUP_N_REQUESTS + + Only for non Time-to-live backends, such as SQL. + + The average number of requests after which Flask-Session will perform session cleanup. + + For best performance, it is recommended to instead use the app command ``flask session_cleanup`` with a cron task or database scheduler to perform session cleanup. + + Default: ``None`` + .. versionadded:: 0.6 - ``SESSION_ID_LENGTH`` + ``SESSION_ID_LENGTH`` + +.. versionadded:: 0.7 + ``SESSION_CLEANUP_N_REQUESTS`` Backend-specific Configuration Values --------------------------------------- diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 6ef87eff..e42ea269 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -109,9 +109,6 @@ def _get_interface(self, app): SESSION_CLEANUP_N_REQUESTS = config.get( "SESSION_CLEANUP_N_REQUESTS", Defaults.SESSION_CLEANUP_N_REQUESTS ) - SESSION_CLEANUP_N_SECONDS = config.get( - "SESSION_CLEANUP_N_SECONDS", Defaults.SESSION_CLEANUP_N_SECONDS - ) common_params = { "app": app, @@ -154,7 +151,6 @@ def _get_interface(self, app): schema=SESSION_SQLALCHEMY_SCHEMA, bind_key=SESSION_SQLALCHEMY_BIND_KEY, cleanup_n_requests=SESSION_CLEANUP_N_REQUESTS, - cleanup_n_seconds=SESSION_CLEANUP_N_SECONDS, ) else: raise RuntimeError(f"Unrecognized value for SESSION_TYPE: {SESSION_TYPE}") diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index e346bffc..cc79133c 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -11,7 +11,6 @@ class Defaults: # Clean up settings for non TTL backends (SQL, PostgreSQL, etc.) SESSION_CLEANUP_N_REQUESTS = None - SESSION_CLEANUP_N_SECONDS = None # Redis settings SESSION_REDIS = None diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index ff2adc52..38429cde 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -10,13 +10,13 @@ import random from datetime import datetime from datetime import timedelta as TimeDelta -from threading import Thread from typing import Any, Optional from flask import Flask, Request, Response from flask.sessions import SessionInterface as FlaskSessionInterface from flask.sessions import SessionMixin from itsdangerous import BadSignature, Signer, want_bytes +from sqlalchemy.exc import SQLAlchemyError from werkzeug.datastructures import CallbackDict from .defaults import Defaults @@ -95,6 +95,10 @@ def _get_store_id(self, sid: str) -> str: class ServerSideSessionInterface(SessionInterface, ABC): """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" + session_class = ServerSideSession + serializer = None + ttl = True + def __init__( self, app: Flask, @@ -103,7 +107,6 @@ def __init__( permanent: bool = Defaults.SESSION_PERMANENT, sid_length: int = Defaults.SESSION_SID_LENGTH, cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, - cleanup_n_seconds: Optional[int] = Defaults.SESSION_CLEANUP_N_SECONDS, ): self.app = app self.key_prefix = key_prefix @@ -112,15 +115,13 @@ def __init__( self.sid_length = sid_length self.has_same_site_capability = hasattr(self, "get_cookie_samesite") self.cleanup_n_requests = cleanup_n_requests - self.cleanup_n_seconds = cleanup_n_seconds # Cleanup settings for non-TTL databases only - if self.ttl: - self._register_cleanup_app_command() - if self.cleanup_n_seconds: - self._start_cleanup_thread(self.cleanup_n_seconds) + if getattr(self, "ttl", None) is False: if self.cleanup_n_requests: - self.app.before_request(self._cleanup_per_requests) + self.app.before_request(self._cleanup_n_requests) + else: + self._register_cleanup_app_command() def save_session( self, app: Flask, session: ServerSideSession, response: Response @@ -207,23 +208,14 @@ def session_cleanup(): self._delete_expired_sessions() def _cleanup_n_requests(self) -> None: - """Delete expired sessions approximately every N requests.""" - if self.cleanup_n_seconds or ( - self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0 - ): - self._delete_expired_sessions() - - def _start_cleanup_thread(self, cleanup_n_seconds: int) -> None: - """Start a background thread to delete expired sessions approximately every N seconds.""" - - def cleanup(): - with self.app.app_context(): - while True: - self._delete_expired_sessions() - time.sleep(cleanup_n_seconds) + """ + Delete expired sessions on average every N requests. - thread = Thread(target=cleanup, daemon=True) - thread.start() + This is less desirable than using the scheduled app command cleanup as it may + slow down some requests but may be useful for rapid development. + """ + if self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0: + self._delete_expired_sessions() # METHODS TO BE IMPLEMENTED BY SUBCLASSES @@ -574,11 +566,10 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): :param sequence: The sequence to use for the primary key if needed. :param schema: The db schema to use :param bind_key: The db bind key to use - :param cleanup_n_requests: Delete expired sessions approximately every N requests. - :param cleanup_n_seconds: Delete expired sessions approximately every N seconds. + :param cleanup_n_requests: Delete expired sessions on average every N requests. .. versionadded:: 0.7 - The `cleanup_n_requests` and `cleanup_n_seconds` parameters were added. + The `cleanup_n_requests` parameter was added. .. versionadded:: 0.6 The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. @@ -589,7 +580,7 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): serializer = pickle session_class = SqlAlchemySession - non_ttl = True + ttl = False def __init__( self, @@ -604,7 +595,6 @@ def __init__( schema: Optional[str] = Defaults.SESSION_SQLALCHEMY_SCHEMA, bind_key: Optional[str] = Defaults.SESSION_SQLALCHEMY_BIND_KEY, cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, - cleanup_n_seconds: Optional[int] = Defaults.SESSION_CLEANUP_N_SECONDS, ): self.app = app if db is None: @@ -615,7 +605,9 @@ def __init__( self.sequence = sequence self.schema = schema self.bind_key = bind_key - super().__init__(app, key_prefix, use_signer, permanent, sid_length) + super().__init__( + app, key_prefix, use_signer, permanent, sid_length, cleanup_n_requests + ) # Create the Session database model class Session(self.db.Model): @@ -659,11 +651,12 @@ def _delete_expired_sessions(self) -> None: self.sql_session_model.expiry <= datetime.utcnow() ).delete(synchronize_session=False) self.db.session.commit() - self.app.logger.info("Deleted expired sessions") - except Exception as e: + except SQLAlchemyError as e: self.app.logger.exception( - e, "Failed to delete expired sessions. Skipping..." + e, "Failed to delete expired sessions. Retrying...", exc_info=True ) + self.db.session.rollback() + raise def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (record) from the database @@ -671,8 +664,15 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # "Delete the session record if it is expired as SQL has no TTL ability if record and (record.expiry is None or record.expiry <= datetime.utcnow()): - self.db.session.delete(record) - self.db.session.commit() + try: + self.db.session.delete(record) + self.db.session.commit() + except SQLAlchemyError as e: + self.app.logger.exception( + e, "Failed to retrieve sessions. Retrying...", exc_info=True + ) + self.db.session.rollback() + raise record = None if record: @@ -680,13 +680,22 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: try: session_data = self.serializer.loads(serialized_session_data) return session_data - except pickle.UnpicklingError: - self.app.logger.error("Failed to unpickle session data", exc_info=True) + except pickle.UnpicklingError as e: + self.app.logger.error( + e, "Failed to unpickle session data", exc_info=True + ) return None def _delete_session(self, store_id: str) -> None: - self.sql_session_model.query.filter_by(session_id=store_id).delete() - self.db.session.commit() + try: + self.sql_session_model.query.filter_by(session_id=store_id).delete() + self.db.session.commit() + except SQLAlchemyError as e: + self.app.logger.exception( + e, "Failed to delete session. Retrying...", exc_info=True + ) + self.db.session.rollback() + raise def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str @@ -697,15 +706,22 @@ def _upsert_session( serialized_session_data = self.serializer.dumps(dict(session)) # Update existing or create new session in the database - record = self.sql_session_model.query.filter_by(session_id=store_id).first() - if record: - record.data = serialized_session_data - record.expiry = storage_expiration_datetime - else: - record = self.sql_session_model( - session_id=store_id, - data=serialized_session_data, - expiry=storage_expiration_datetime, + try: + record = self.sql_session_model.query.filter_by(session_id=store_id).first() + if record: + record.data = serialized_session_data + record.expiry = storage_expiration_datetime + else: + record = self.sql_session_model( + session_id=store_id, + data=serialized_session_data, + expiry=storage_expiration_datetime, + ) + self.db.session.add(record) + self.db.session.commit() + except SQLAlchemyError as e: + self.app.logger.exception( + e, "Failed to upsert session. Retrying...", exc_info=True ) - self.db.session.add(record) - self.db.session.commit() + self.db.session.rollback() + raise From 08179e797c67f069a989f2d77dc11e5221cfe314 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 12 Feb 2024 09:35:43 +1000 Subject: [PATCH 12/84] Add retry decorator Formatting --- src/flask_session/_utils.py | 62 +++++++++++++++++++++++++++++++++++ src/flask_session/sessions.py | 44 +++++++++++++++---------- 2 files changed, 88 insertions(+), 18 deletions(-) create mode 100644 src/flask_session/_utils.py diff --git a/src/flask_session/_utils.py b/src/flask_session/_utils.py new file mode 100644 index 00000000..9967fa10 --- /dev/null +++ b/src/flask_session/_utils.py @@ -0,0 +1,62 @@ +""" +MIT License + +Copyright (c) 2023 giuppep + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +""" +import time +from functools import wraps +from typing import Any, Callable + +from flask import current_app + + +def retry_query( + *, max_attempts: int = 3, delay: float = 0.3, backoff: int = 2 +) -> Callable[..., Any]: + """Decorator to retry a query when an OperationalError is raised. + + Args: + max_attempts: Maximum number of attempts. Defaults to 3. + delay: Delay between attempts in seconds. Defaults to 0.3. + backoff: Backoff factor. Defaults to 2. + """ + + def decorator(func: Callable[..., Any]) -> Callable[..., Any]: + @wraps(func) + def wrapper(*args: Any, **kwargs: Any) -> Any: + for attempt in range(max_attempts): + try: + return func(*args, **kwargs) + # TODO: use proper exception type + except Exception as e: + if attempt == max_attempts - 1: + raise e + + sleep_time = delay * backoff**attempt + current_app.logger.exception( + f"Exception when querying database ({e})." + f"Retrying ({attempt + 1}/{max_attempts}) in {sleep_time:.2f}s." + ) + time.sleep(sleep_time) + + return wrapper + + return decorator diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 38429cde..7b502fa5 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -19,6 +19,7 @@ from sqlalchemy.exc import SQLAlchemyError from werkzeug.datastructures import CallbackDict +from ._utils import retry_query from .defaults import Defaults @@ -219,17 +220,21 @@ def _cleanup_n_requests(self) -> None: # METHODS TO BE IMPLEMENTED BY SUBCLASSES + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: raise NotImplementedError() + @retry_query() def _delete_session(self, store_id: str) -> None: raise NotImplementedError() + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: raise NotImplementedError() + @retry_query() def _delete_expired_sessions(self) -> None: """Delete expired sessions from the backend storage. Only required for non-TTL databases.""" pass @@ -271,6 +276,7 @@ def __init__( self.redis = redis super().__init__(app, key_prefix, use_signer, permanent, sid_length) + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (value) from the database serialized_session_data = self.redis.get(store_id) @@ -282,9 +288,11 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: self.app.logger.error("Failed to unpickle session data", exc_info=True) return None + @retry_query() def _delete_session(self, store_id: str) -> None: self.redis.delete(store_id) + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -315,7 +323,6 @@ class MemcachedSessionInterface(ServerSideSessionInterface): .. versionadded:: 0.2 The `use_signer` parameter was added. - """ serializer = pickle @@ -363,6 +370,7 @@ def _get_memcache_timeout(self, timeout: int) -> int: timeout += int(time.time()) return timeout + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database serialized_session_data = self.client.get(store_id) @@ -374,9 +382,11 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: self.app.logger.error("Failed to unpickle session data", exc_info=True) return None + @retry_query() def _delete_session(self, store_id: str) -> None: self.client.delete(store_id) + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -432,13 +442,16 @@ def __init__( self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode) super().__init__(app, key_prefix, use_signer, permanent, sid_length) + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database return self.cache.get(store_id) + @retry_query() def _delete_session(self, store_id: str) -> None: self.cache.delete(store_id) + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -502,6 +515,7 @@ def __init__( super().__init__(app, key_prefix, use_signer, permanent, sid_length) + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (document) from the database document = self.store.find_one({"id": store_id}) @@ -514,12 +528,14 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: self.app.logger.error("Failed to unpickle session data", exc_info=True) return None + @retry_query() def _delete_session(self, store_id: str) -> None: if self.use_deprecated_method: self.store.remove({"id": store_id}) else: self.store.delete_one({"id": store_id}) + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -645,19 +661,18 @@ def __repr__(self): self.sql_session_model = Session + @retry_query() def _delete_expired_sessions(self) -> None: try: self.db.session.query(self.sql_session_model).filter( self.sql_session_model.expiry <= datetime.utcnow() ).delete(synchronize_session=False) self.db.session.commit() - except SQLAlchemyError as e: - self.app.logger.exception( - e, "Failed to delete expired sessions. Retrying...", exc_info=True - ) + except SQLAlchemyError: self.db.session.rollback() raise + @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (record) from the database record = self.sql_session_model.query.filter_by(session_id=store_id).first() @@ -667,10 +682,7 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: try: self.db.session.delete(record) self.db.session.commit() - except SQLAlchemyError as e: - self.app.logger.exception( - e, "Failed to retrieve sessions. Retrying...", exc_info=True - ) + except SQLAlchemyError: self.db.session.rollback() raise record = None @@ -681,22 +693,21 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: session_data = self.serializer.loads(serialized_session_data) return session_data except pickle.UnpicklingError as e: - self.app.logger.error( + self.app.logger.exception( e, "Failed to unpickle session data", exc_info=True ) return None + @retry_query() def _delete_session(self, store_id: str) -> None: try: self.sql_session_model.query.filter_by(session_id=store_id).delete() self.db.session.commit() - except SQLAlchemyError as e: - self.app.logger.exception( - e, "Failed to delete session. Retrying...", exc_info=True - ) + except SQLAlchemyError: self.db.session.rollback() raise + @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -719,9 +730,6 @@ def _upsert_session( ) self.db.session.add(record) self.db.session.commit() - except SQLAlchemyError as e: - self.app.logger.exception( - e, "Failed to upsert session. Retrying...", exc_info=True - ) + except SQLAlchemyError: self.db.session.rollback() raise From bbde311cd47baaae6247b41c5bb26fecdf6395f3 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 12 Feb 2024 18:54:56 +1000 Subject: [PATCH 13/84] Mongo test fix Lint and docs fix --- .github/workflows/test.yaml | 31 ++++++++++++++++++------------- docs/api.rst | 1 - examples/hello.py | 7 ++++--- tests/test_mongodb.py | 1 + tests/test_sqlalchemy.py | 4 +++- 5 files changed, 26 insertions(+), 18 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 10e18a3a..66983d9c 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,16 +1,21 @@ name: Run unittests on: [push, pull_request] jobs: - unittests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: supercharge/redis-github-action@1.5.0 - - uses: niden/actions-memcached@v7 - - uses: actions/setup-python@v4 - with: - python-version: 'pypy3.9' - - name: Install testing requirements - run: pip3 install -r requirements/pytest.txt - - name: Run tests - run: pytest tests + unittests: + runs-on: ubuntu-latest + services: + mongodb: + image: mongo + ports: + - 27017:27017 + steps: + - uses: actions/checkout@v3 + - uses: supercharge/redis-github-action@1.5.0 + - uses: niden/actions-memcached@v7 + - uses: actions/setup-python@v4 + with: + python-version: "pypy3.9" + - name: Install testing requirements + run: pip3 install -r requirements/pytest.txt + - name: Run tests + run: pytest tests diff --git a/docs/api.rst b/docs/api.rst index 45103d85..ec55deec 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -13,7 +13,6 @@ API Session id, internally we use :func:`secrets.token_urlsafe` to generate one session id. You can access it with ``session.sid``. -.. autoclass:: NullSessionInterface .. autoclass:: RedisSessionInterface .. autoclass:: MemcachedSessionInterface .. autoclass:: FileSystemSessionInterface diff --git a/examples/hello.py b/examples/hello.py index f6684720..bdbe29e9 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -1,13 +1,14 @@ from flask import Flask, session + from flask_session import Session app = Flask(__name__) app.config.from_object(__name__) app.config.update( { - "SESSION_TYPE": "sqlalchemy", - "SQLALCHEMY_DATABASE_URI": "sqlite:////tmp/test.db", - "SQLALCHEMY_USE_SIGNER": True, + "SESSION_TYPE": "mongodb", + # "SQLALCHEMY_DATABASE_URI": "sqlite:////tmp/test.db", + # "SQLALCHEMY_USE_SIGNER": True, } ) Session(app) diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index 15d1319a..860dd992 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -1,4 +1,5 @@ import flask + import flask_session diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 4891a42b..bed47944 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -1,4 +1,5 @@ import flask + import flask_session @@ -21,7 +22,8 @@ def test_use_signer(self, app_utils): { "SESSION_TYPE": "sqlalchemy", "SQLALCHEMY_DATABASE_URI": "sqlite:///", - "SQLALCHEMY_USE_SIGNER": True, + "SESSION_USE_SIGNER": True, + "SECRET_KEY": "testing", } ) From c3bed927729877c1d978ef6eb81ff6344e6b8135 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 12 Feb 2024 19:12:04 +1000 Subject: [PATCH 14/84] Remove SQLAlchemy exception type due to imports --- src/flask_session/sessions.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 7b502fa5..2b8f4411 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -16,7 +16,6 @@ from flask.sessions import SessionInterface as FlaskSessionInterface from flask.sessions import SessionMixin from itsdangerous import BadSignature, Signer, want_bytes -from sqlalchemy.exc import SQLAlchemyError from werkzeug.datastructures import CallbackDict from ._utils import retry_query @@ -668,7 +667,7 @@ def _delete_expired_sessions(self) -> None: self.sql_session_model.expiry <= datetime.utcnow() ).delete(synchronize_session=False) self.db.session.commit() - except SQLAlchemyError: + except Exception: self.db.session.rollback() raise @@ -682,7 +681,7 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: try: self.db.session.delete(record) self.db.session.commit() - except SQLAlchemyError: + except Exception: self.db.session.rollback() raise record = None @@ -703,7 +702,7 @@ def _delete_session(self, store_id: str) -> None: try: self.sql_session_model.query.filter_by(session_id=store_id).delete() self.db.session.commit() - except SQLAlchemyError: + except Exception: self.db.session.rollback() raise @@ -730,6 +729,6 @@ def _upsert_session( ) self.db.session.add(record) self.db.session.commit() - except SQLAlchemyError: + except Exception: self.db.session.rollback() raise From 1daee61022a30af3da1b78e302e691dc0aa118d0 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 12 Feb 2024 19:25:42 +1000 Subject: [PATCH 15/84] Ruff updates --- src/flask_session/sessions.py | 1 - tests/test_basic.py | 3 ++- tests/test_filesystem.py | 1 + tests/test_memcached.py | 1 + tests/test_redis.py | 3 ++- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 2b8f4411..2a3f4200 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -6,7 +6,6 @@ import cPickle as pickle except ImportError: import pickle - import random from datetime import datetime from datetime import timedelta as TimeDelta diff --git a/tests/test_basic.py b/tests/test_basic.py index 06b7344e..c8fbb8ca 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -1,7 +1,8 @@ import flask -import flask_session import pytest +import flask_session + def test_tot_seconds_func(): import datetime diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 939b2128..5742e161 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -1,6 +1,7 @@ import tempfile import flask + import flask_session diff --git a/tests/test_memcached.py b/tests/test_memcached.py index aabbd7ff..45654401 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -1,4 +1,5 @@ import flask + import flask_session diff --git a/tests/test_redis.py b/tests/test_redis.py index 63d543b5..1f876bbb 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -1,7 +1,8 @@ import flask -import flask_session from redis import Redis +import flask_session + class TestRedisSession: def setup_method(self, method): From 9af1b58368bfc570998c7bd5b38201e712637632 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 12 Feb 2024 19:29:18 +1000 Subject: [PATCH 16/84] Pin ruff action version --- .github/workflows/ruff.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ruff.yaml b/.github/workflows/ruff.yaml index e8133f29..68c2df20 100644 --- a/.github/workflows/ruff.yaml +++ b/.github/workflows/ruff.yaml @@ -1,8 +1,11 @@ name: Ruff on: [push, pull_request] jobs: - ruff: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: chartboost/ruff-action@v1 \ No newline at end of file + ruff: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: chartboost/ruff-action@v1 + with: + version: 0.1.11 + args: --select B From 56be16d1993b717205bbed4614103ea0c979825b Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 6 Feb 2024 10:07:26 +1000 Subject: [PATCH 17/84] Use vary Cookie --- src/flask_session/sessions.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 2a3f4200..e4352176 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -143,6 +143,7 @@ def save_session( response.delete_cookie( app.config["SESSION_COOKIE_NAME"], domain=domain, path=path ) + response.vary.add("Cookie") return # Update existing or create new session in the database @@ -161,6 +162,7 @@ def save_session( if self.has_same_site_capability else None, ) + response.vary.add("Cookie") def open_session(self, app: Flask, request: Request) -> ServerSideSession: # Get the session ID from the cookie From 50247bfc08e62ce65024b5a4be123171f9250500 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 13 Feb 2024 22:31:55 +1000 Subject: [PATCH 18/84] Documentation overhaul --- .github/workflows/test.yaml | 31 ++- .gitignore | 4 + CHANGES.rst | 19 +- CONTRIBUTING.rst | 48 ++-- README.rst | 50 +++- docs/_static/icon/android-chrome-192x192.png | Bin 0 -> 18327 bytes docs/_static/icon/android-chrome-512x512.png | Bin 0 -> 52537 bytes docs/_static/icon/apple-touch-icon.png | Bin 0 -> 3766 bytes docs/_static/icon/favicon-16x16.png | Bin 0 -> 1111 bytes docs/_static/icon/favicon-32x32.png | Bin 0 -> 1761 bytes docs/_static/icon/favicon-48x48.png | Bin 0 -> 4540 bytes docs/_static/icon/icon-master.psd | Bin 0 -> 1030684 bytes docs/_static/icon/mstile-150x150.png | Bin 0 -> 4642 bytes docs/_static/icon/safari-pinned-tab.svg | 44 ++++ docs/_static/logo/logo-black.png | Bin 0 -> 44066 bytes docs/_static/logo/logo-dark-long.png | Bin 0 -> 72215 bytes docs/_static/logo/logo-dark.png | Bin 0 -> 51849 bytes docs/_static/logo/logo-light-long.png | Bin 0 -> 69351 bytes docs/_static/logo/logo-light.png | Bin 0 -> 49059 bytes docs/_static/logo/logo-master-long.psd | Bin 0 -> 283888 bytes docs/_static/logo/logo-master.psd | Bin 0 -> 260894 bytes docs/_static/sequence.webp | Bin 0 -> 310196 bytes docs/_static/styles.css | 3 + docs/changes.rst | 2 +- docs/conf.py | 82 ++++++- docs/config.rst | 226 +------------------ docs/config_backend.rst | 103 +++++++++ docs/config_cleanup.rst | 16 ++ docs/config_example.rst | 24 ++ docs/config_flask.rst | 38 ++++ docs/config_flask_session.rst | 45 ++++ docs/config_nonpermanent.rst | 18 ++ docs/config_security.rst | 25 ++ docs/contributing.rst | 4 + docs/index.rst | 11 +- docs/installation.rst | 9 +- docs/introduction.rst | 15 ++ requirements/{pytest.txt => dev.txt} | 0 requirements/docs.in | 2 + requirements/docs.txt | 24 +- 40 files changed, 555 insertions(+), 288 deletions(-) create mode 100644 docs/_static/icon/android-chrome-192x192.png create mode 100644 docs/_static/icon/android-chrome-512x512.png create mode 100644 docs/_static/icon/apple-touch-icon.png create mode 100644 docs/_static/icon/favicon-16x16.png create mode 100644 docs/_static/icon/favicon-32x32.png create mode 100644 docs/_static/icon/favicon-48x48.png create mode 100644 docs/_static/icon/icon-master.psd create mode 100644 docs/_static/icon/mstile-150x150.png create mode 100644 docs/_static/icon/safari-pinned-tab.svg create mode 100644 docs/_static/logo/logo-black.png create mode 100644 docs/_static/logo/logo-dark-long.png create mode 100644 docs/_static/logo/logo-dark.png create mode 100644 docs/_static/logo/logo-light-long.png create mode 100644 docs/_static/logo/logo-light.png create mode 100644 docs/_static/logo/logo-master-long.psd create mode 100644 docs/_static/logo/logo-master.psd create mode 100644 docs/_static/sequence.webp create mode 100644 docs/_static/styles.css create mode 100644 docs/config_backend.rst create mode 100644 docs/config_cleanup.rst create mode 100644 docs/config_example.rst create mode 100644 docs/config_flask.rst create mode 100644 docs/config_flask_session.rst create mode 100644 docs/config_nonpermanent.rst create mode 100644 docs/config_security.rst create mode 100644 docs/contributing.rst create mode 100644 docs/introduction.rst rename requirements/{pytest.txt => dev.txt} (100%) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 66983d9c..384813a5 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,21 +1,16 @@ name: Run unittests on: [push, pull_request] jobs: - unittests: - runs-on: ubuntu-latest - services: - mongodb: - image: mongo - ports: - - 27017:27017 - steps: - - uses: actions/checkout@v3 - - uses: supercharge/redis-github-action@1.5.0 - - uses: niden/actions-memcached@v7 - - uses: actions/setup-python@v4 - with: - python-version: "pypy3.9" - - name: Install testing requirements - run: pip3 install -r requirements/pytest.txt - - name: Run tests - run: pytest tests + unittests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: supercharge/redis-github-action@1.5.0 + - uses: niden/actions-memcached@v7 + - uses: actions/setup-python@v4 + with: + python-version: 'pypy3.9' + - name: Install testing requirements + run: pip3 install -r requirements/dev.txt + - name: Run tests + run: pytest tests diff --git a/.gitignore b/.gitignore index a002c3cb..280fccba 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,7 @@ __pycache__/ /.mypy_cache/ /.tox/ /docs/_build/ + +docs/.DS_Store + +.DS_Store diff --git a/CHANGES.rst b/CHANGES.rst index 84ee2292..8a6b0a01 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,7 +1,21 @@ -Version 0.6.0-RC1 +Version 0.7.0 ------------------ -Unreleased +- Prevent sid reuse on storage miss. +- Add time-to-live expiration for MongoDB. +- Abstraction to improve consistency between backends. +- Enforce PERMANENT_SESSION_LIFETIME as expiration consistently for all backends. +- Add logo and additional Documentation. +- Add ``flask session_cleanup`` command and alternatively, SESSION_CLEANUP_N_REQUESTS for SQLAlchemy +- Use Vary cookie header +- Type hints +- Remove null session in favour of specific exception messages. + + +Version 0.6.0 +------------------ + +Released 2024-01-16 - Use ``should_set_cookie`` for preventing each request from saving the session again. - Permanent session otherwise empty will not be saved. @@ -17,6 +31,7 @@ Unreleased - Fix empty sessions being saved. - Support Flask 3.0 and Werkzeug 3.0 + Version 0.5.0 ------------- diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 81fe685d..4fba3af3 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,32 +1,50 @@ Getting started -------------- +----------------- Navigate to the project directory and run the following commands: Create and activate a virtual environment -.. code-block:: text - python -m venv .venv - .\venv\bin\activate +.. code-block:: bash + + $ python -m venv .venv + $ source .venv/bin/activate Install dependencies -.. code-block:: text - pip install -r requirements/dev.txt - pip install -r requirements/pytest.txt +.. code-block:: bash -Install Memecached and Redis and activate local server (optional) -.. code-block:: text - brew install memcached - brew install redis + $ pip install -r requirements/dev.txt + $ pip install -r requirements/docs.txt +Install the package in editable mode + +.. code-block:: bash + + $ pip install -e . + +Lint the code + +.. code-block:: bash + + $ ruff check --fix + +Build updated documentation + +.. code-block:: bash + + $ pip install -r requirements/docs.txt + $ cd docs + $ make html Run the tests together or individually -.. code-block:: text - pytest tests - pytest tests/test_basic.py + +.. code-block:: bash + + $ pytest tests + $ pytest tests/test_basic.py Pull requests -------------- +-------------- Please check previous pull requests before submitting a new one. \ No newline at end of file diff --git a/README.rst b/README.rst index 224e2fdb..af8cd088 100644 --- a/README.rst +++ b/README.rst @@ -4,9 +4,11 @@ Flask-Session Flask-Session is an extension for Flask that adds support for server-side sessions to your application. +In contrast to standard sessions, server-side sessions store session data in server-side storage rather than in a cookie on the client’s browser. The cookie now only contains the session identifier that links the client to their corresponding data on the server. + .. image:: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml/badge.svg?branch=development - :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Adeveloment + :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Amain :alt: Tests .. image:: https://readthedocs.org/projects/flask-session/badge/?version=stable&style=flat @@ -31,4 +33,48 @@ your application. .. image:: https://codecov.io/gh/pallets-eco/flask-session/branch/master/graph/badge.svg?token=yenl5fzxxr :target: https://codecov.io/gh/pallets-eco/flask-session - :alt: codecov \ No newline at end of file + :alt: codecov + +.. image:: https://img.shields.io/discord/531221516914917387?logo=discord + :target: https://discord.gg/pallets + :alt: Discord + +Installing +------------ +Install and update using pip: + +.. code-block:: bash + $ pip install flask-session + +A Simple Example +-------------------- + +.. code-block:: python + + from flask import Flask, session + from flask_session import Session + + app = Flask(__name__) + # Check Configuration section for more details + SESSION_TYPE = 'redis' + app.config.from_object(__name__) + Session(app) + + @app.route('/set/') + def set(): + session['key'] = 'value' + return 'ok' + + @app.route('/get/') + def get(): + return session.get('key', 'not set') + +Documentation +------------- +Learn more at the official `Flask-Session Documentation `_. + +Donate +-------- +The Pallets organization develops and supports Flask-Session and other popular packages. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today. + + diff --git a/docs/_static/icon/android-chrome-192x192.png b/docs/_static/icon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..52abd2053effaf8ef3c29e01709707532e61b8c2 GIT binary patch literal 18327 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%0DsnmdUS6uT55i?}e(QW$N%(t|cjQVd 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 N(!8mwR;*$k_&;{C=h^@O literal 0 HcmV?d00001 diff --git a/docs/_static/icon/apple-touch-icon.png b/docs/_static/icon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3132b48129e425b113d83ba8417c5dc95042771d GIT binary patch literal 3766 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 I)h^=y0J?V1^8f$< literal 0 HcmV?d00001 diff --git a/docs/_static/icon/favicon-16x16.png b/docs/_static/icon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..d68d09b5458d0da5b67f8bcbd5df638f444e2263 GIT binary patch literal 1111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>VEUzxofXZ#OghJef8&; z^xrv>EYhcU9QgX;^RL^b%np|-yZ$`%o_WelMpwT4(6@{G^Q6ob?HaYk?0waHZryvi zD>p7af5IEatoMAvPHWfMY!uZD=`cFd95m@Ize?t^J0FY|J_1_LnB?v5QgT0cMJ|xT zS>O>_%)p?h48n{ROYO^mg6t)pzOL*qn0PsqM0ka&#eqWqJY5_^BrYc>B%~yzC8j1n zPe^HCaP!m4le?E>SI6k6wqb@q^~MbyD`xCySu({$*~7(cTZCVnV_>KE&Kd5mp}i9w zV;4t627CKN2fA;M@V|dxLgU2~5x0+AS##sgp-mBIPR*Kl@YuC;_Zr*Jp9#Ek^5)U2 zXXhSlzJ2-h?3>50Uq5j^`hfj`=0?j678*C~RZMhj4q0xpm@rdO%W9bfU(%w*5=oCA z2{%rWaag8WRNi0dVN-jzTQVd20MkcxjM!JT^AqEy!#wJ!q2HFM&Rt5%4C+6Km(U6;; zl9^VCTSM_wwN#*n@T!oAlAy$Lg@U5|w9K4Tg_6pGRE5lfl4J&kiaC!z@o*G|X=t4C zKYhmYX%GXmGPhnbx3IFX_hb=fVFi~4lfx;@%9}$JPT#n4;>ejJGDp}?H+U@Y(qnif WE?Dx($#g2v3I!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081CwfiPlzi}f#u45qi8e) zaD~AC|Nnck&UOM5%GQz~zhDLiMiI-T_9b&9`P?U+e)IcJBP(avzHeXKMCBIzdiCXa zx+=%+w`m$KrylQ|8a(rXKL464ljl7*(S31e(uT&- zRwSJKoUy^7{JNWh@4boK66d?79g|nPz{Aew_3`FQb0%RAF)o{ygWJng7W)Mq4yf<% zsZMkhO1&BwubJ=sePyA#xb~K_8-IqrW42hY^Ds`id+Wv5@BIY~?K(1N$x6?#Z9TMl zbLu?pB%lWvlf2zswyk34{s`o77I;J!Gcf2WgD_*oQu{KXAbW|YuPgftCSDFD(JE2z zMqoB+@N{tuu{d2C{4-i8P~>Y+G>&-rF#}Rv;{n^Y~b!WbJTmaR6%6x zj|J;OV)q_fcKvFlk{fGYhQ)?iHK~U}H-#`J?aY2y0vnLi3cy#8lPo&T_GE3fdaRN4Hu3<>3C&-Yc| z5BQ?^;p1e{*}U`jv#j*?!4Il`u6u6$s~?gMIEg*|34c44_|gS*JPK} z;fbppLY#9rOB0=T%ziC%X-dhD>^gC)S5NA91eMSDaY5KQ+GS1qm)5w+dY0>qzY57X zT)3|PSAN>J@0<-0Z)FZBn{7ST`Z_Ri&sNU!b`MnSSlA1*WQ6$pdyXAXsz3f{vGU{ZslO0!It1a*Rn9=cZA#b*~%qva#e9>#4eOJm>Tx>m( z6?HDpF~Ht-@dgPVv7=|U>^pKshV7ueFuSh>VE2v|`I0yVWM%-Q2p;_ciJsY_XUS5f>Th$8w~^ zs{bGJ>cw?(>N95P1Cys}iEBhjN@7W>RdP`(kYX@0Ff!3KFw!+N4l%H>GB&X?GSoIO zure@MvVUqWiiX_$l+3hB+#0Sv(!B`O5MC7$Q4*9`u24{vpO%@Es!&o{kgAYbP?F5R zP%-E6CmxQ%Fb$1U{-@7)J`G}ER_4}A<`z~K_MR-lEUe(tU~)KxS$T7a!s#1VP8>ON jMCJ(l=?0GlUV03##05(}IhjrcTEXDy>gTe~DWM4f3Gy!K literal 0 HcmV?d00001 diff --git a/docs/_static/icon/favicon-48x48.png b/docs/_static/icon/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..c88e2d84b663d355ea3bcb46f414d83a0d98d2b1 GIT binary patch literal 4540 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

O6dLs-JQIQQFC3|Xl7DxF<_NBNlkb+(>a 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 literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-dark-long.png b/docs/_static/logo/logo-dark-long.png new file mode 100644 index 0000000000000000000000000000000000000000..94eeb2401d19673b2af65cd1c70656cd557e7394 GIT binary patch literal 72215 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 literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-dark.png b/docs/_static/logo/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1d39934046488c4c88c9b41d3d76ddc5407971 GIT binary patch literal 51849 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

q{H%!oV7g**Ds=>aE^VQp}5 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 E0Z22#>i_@% literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-light-long.png b/docs/_static/logo/logo-light-long.png new file mode 100644 index 0000000000000000000000000000000000000000..a26503064a9768a46a7ce2a56539f45437a351de GIT binary patch literal 69351 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 Cs%8cN literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-light.png b/docs/_static/logo/logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..dd4191d95d12238d1dbf97d6c55db50000e37681 GIT binary patch literal 49059 zcmeEug}7|UpA=u99C z)H^hb^Vp~tbSEXLXK2MeBul72zL;u&&17ZK7*N+BGz@fHv>TU0P~T|iL})j!uF=rc z(24)P)4b*HLUs9r?w%v!iiUQh%2GwcSwr>(zp)*Z#n8mg$dtt$YL6O? zh9>CFkGh1KIvbL^Lv3uG_}zsluSW2rt}owar6j)^;%qHMsUfRC{@l*dl$?i!jfIU; z_%=B?xuBzo8NZUa%CBNirXk_Q&EJR6pInm!=*K#^rn*D1gTc=;k zLM@Q>@(wFI3mfZyA~SWj{4Zpecm69GN=JV$>mQT38`@tJT`A*QM!`!7_%)SGo$PE} zF4rQ=$#(U{%6|DGcqQRK?*D6j*R&e{AKHJv|0nIgNL6huorO7mP4~y!e^SXiTAHG4 zawRSMFOq+M@88B>DvJNgoi)WRp{BM@zg8&7`XBH7M@o%EF5h+sOaK!_HB~&dx^oKZW+S6j$`WM*U(S$a?A6|K{k|QFQe#DvX40qbPrer0{Jl zit2MTG*L9LxR{DN`f3_xDv88iTP__Y7!=&jOzsHEYWFd7i?e4S?~KJFCl70V%z2h{ivct04f*jV)blyc#dnbTz9rudRi9HE!%2 znVQ$a^%{=%O`<$i2Xk;S&_SYT0BnCWAUWFqUH+dQ{?7^iFBtw03I2tM)KUg-=X9nq z{})~n@+|ZDE893p3Hle0{uiK{=>dqFn=z%27iKd2U*L|vF(7WfD9=J#8e;h{T{T6|=xI z7j4CAi=bJOmzOyw00R`0XN^Xr`lr*8fxO0$1Xvx&E8>rege|`ZW!^H2Lb~ zCP_smT`3EU3nCEx1O$xj+C-v^xFZ^A=XLn=PCtY>+5el}$V~xVc@1Ydj5&+hPXawW z7R{DfL;A}vwuE~0!ceOR_UeLMNzuffSb9gfy0Quz223SJ2N0s=E zw~|kz!kDh3hrCct+b<>O<2}rI&_tnnLPD~12uRT9+mp7${x2TRENP&+cOXu`%%eet zwLq{ma>vLav@)7Y?&B|J9<&BXp-G0%XN8Tly=kc$dS`W(gU9C7C zLi&8F!DK4ISEAye!iO0BcJLou@l%`AmnX;jEnzgPrE{QFTJ@(giIo*|X*65Ec_ssg zRE*6b(b9Af<7~4v624M`x$9`9e&PQp4)exm(m$L&8nX~S(nz%yXCDzhw;|kt0n{&i zm*iqwUs+%I5gSWbU!sjC!Mk?juaB1PHpDNGlwXfek*@_6et{=;bTbBnFUgg-zx6aiAtTmMvogN$h7|62866Nf(9G{#)n#ncq zn;Kg}(lght@&i``5__RB)@pd)7Pes#~}rWh;XqZ;O;xVxy8) z8@*1X{Sv&(!|@}=OYZ-2+z;fX5vh;YKW<@X@USmTQ1p6$uJ!}>P!8sVMv(LelyXoT zH0{`QeI}EcHTq)6*gQc$s`i%kQ(=ngmI4;Cv#E$$Tlc_EX~-;8ybj}9^`gxL=qF#b z2NRr*s!qnvKfUwQd46eyW;AqMmwNnvXbK&KAKa|rGJm^6?bGM7TPp5^OYfERaGhIE z%rWb%vzfE=`zNytSKX`*^)aK+A!v#jUj&!BWBh`wGuil9Ppsy=FMXNarOOIrj zKTl9Lki)|PeNE>vl?yV${{{BHpi_^o^yTBR&T{$^vVxO#HD4d?FO{Ujn zc=Vp@tJ?M%edKG48&{mQ5}OsHJkP^U*QtbN+eK`z60!jh@Je=I&0*Zdc(GA%nt5nZ zrpDXzVd6dAem|j>KeZaud#!vWz_Dpng0uWpHz{tU^)_pau66K_1I6VxS-^N&nJ-Uj@_;95sF zZpMDH>60KrW0ppVU#%aWE8}YCh}{1E>P$gyvBo|^{+g;8Eg-wPp^|z$m`2+p>Pl=; z44`9L9`ZQYE#gsiKVt^#&9md!M5RTT4UwbABwlhLBb1goL zZz~8afK5M&k4kWlgt4gn9NgOYzkW2$jFxarEE2YET z4QBi`l|4Y}zDVCErxQUz@!Bj*GL_5f4V8C5b1aI(LxXkN^m#V$G-i=F(F+IkfA00k z?SM85C+t|jGseLsXr>+x{HtoNjl{T6e+usMln3Tf3)Zz$7*GScmZn;$(k!M%ve5N^ z#1*5vt6TP|*h2|+@b~mM(>E`sHmc&8T51?%3AFu(VDt)IjYE}Ee?1m#c{;eW%DWI!TAsx@d4SkhfgvTdI+D%!~b+RLs?Dq(Qd?<6+ujtajv2f)c zuex0*>p7z8e|T-?FPQFWc_|}4JL@@0A0%hT-_u@O?023E_<<_=9&2zsu_&c$vMbet ztDIExABzU2`AF>9Xe<5}J*+up?$Dn$6&V!olbw{jDW-bmUG~z=NO4^+^$qPnr6Y{J zhS(EUUh&t~*Piz`pylK8J}YXd2z{{TMxd6`EMlEe?75Gd=J9S>Q|=ecCev+F)L6{v z72HwTpy~%JNnDqa&B}oHLXmKMjOj_A$jA?W$J#aPY;gmRDkn)iXhUADQ*z!UgX+bg zsMOko-y*j{G{d$20(gN$qx;*BxJxqzh;u1AuTrEa53pWG@o8CIo2_$?Os$O`Ughn- zjd?lA;qxhzSLIrG)2E6qHGWz?{*i@w70ePF@Qvi(RpM*R7fRi-MnmUuopuzl+2NQ` zGnX@#Q%>n-*&aY_-((WAdb2Zej zyYE~`co#Doj{8t~?`u2V`p`77l<;T8>(Qc=K(&OVGb+z=Oggf7+fa>kqbn^<;h=A* z4J5qmzx{ZN0{S!G@`j~H8^3C4?cpWP`I3v%Z++H+$G0~+*iZele!Hwv9 zU{tY^Lu^zA%^G=ZHXIPzddXy4vN?sor6tdPr@nRfW!#m+7BNQ+UNBq)pseubfBvZ zNfyq-fYj)1*#YP5W?wF`h^mGpa8{!-7*RS zuiZn?(m6$&`*p2&lWOX7SS?~*b3Y*PpOpZ%g$rNfJ-1vRI8)<^BaoC~=$|CW*xZ*xvcn=ijeH_W@}=XHqu!V+=?Z@`9ZX*dt# zB+Ny_1z_xAwYZ#{lv<+^eO@;A=>9Jhu?3MZR}X_-HwMV0e^{$wUsW6ubW`B0;-7Dp z$o_DuTHu$wPb@Bw&y1y#^)t-sV=!mD<=tbwG?7NRM{-vMD;hAFrt~Gr>9aA2XQih3 z!1Ye-6uVtearhfIr{SM?pd*Z%do9YTyUjyQVJgejVr6 zp^1i`1k{V)VbtOAzYh7$IMIdBS_v^;Eeo54C%?NLzpyql0n=tCb06;y*+{1B~L?$L6Kv**1WW?e@oacwWK@-geNIkDV>+{ce8z zEl57LfrKu@8%yA|t$%ltM0EiyxGp?=P6xHj%FQ4ZRJN~w@LS01oUDS0S^{HIr%(R= zn=k*kg@SLXX5SR(+!H25lQZx^^&f$pOcUdgRXlo6f$Wb-(Lp2o@v|g*vp(B(g;bMQ zZLZ%ET}m843$l-{rJa(Z2ln=A85WO3l*vIP#4BXuNHBTe<&(&q3J$K9QIO{KXL99LNsm{LL9H~K9s*uF|AUB|? zgD6-J?)Ub3`A1m$i|zxZ2e|FAJ}ND39_4tbUwACrURY=HtNvpC7TaPa*(F6Sz>ZgG zR{p1f0z(m3f6Z`o0wZ)>D7Wd{`;(O0o{Q@$*UY1P*D0GBU`f3^q=eQc^8;QylrTl| zM}Xp^w$|a8+JSHM`_bkk*x`yKDC>&81HD*HcQL?zjYsLi@Fb(i(eAO9+QxfNfzL47 zzHi*tgEI8q7r0GgM|6t`biSF<@<6h_fo&s_F@P zu;J30*4xkK()b$m@s_AkKbl)PKWG*rb_Av8dQ=@Mgg^W^FadwVe9b}Q_WCy=z1(|` z7g;YI@B!VXx6Bz?i7QKjYs`bc257tgWz1`|79{}OEmuR|dEF|uq%|HLMLka3Y>x)` zOkL_S9LX4U|BK7Oa$4eDUF{X`i5_M>0Jk@($^`#6z}8s9T>9N1ozz_-Z!89fj1}N8>6_&9*^f|&4 zQ($>Do&6#Z+_?2ryPqBOQX#Z1rCaEr2J)EWF)BzlFa?twgXr>wkN_vO&b9tO90474 zmqIkl78Fr%Kd^t?iJ$JGXxZbk%&ej8<7se9`HUVsy%re22o4r&761syWo$(`T7Gq` zC7aS5OR-7%jLxDdyr}yD3^aiNa^JkCIjFhw5=z)j>~m2Ryt?h_Z$*uDdHszLCzxbw9N3UgiP@@>mV7I34I^cIA+;^^I z!>V!#E>j}t$aBZ;_|{6VZ9QsIrmEc^G4VCu|1d(pXH@uaJwp-P24@!49jrLD+9Q<| z#;RgSvz1>_mCo*JZqNsxHGKnFCNt7IwmCS=_=t_XZw`0OX#AlYu6DmNF9qbUtCbYu^*t+_U1;EU+ggO5IX9C}@u7Q-3*!{lgp>r8 zv8V)(x5`as^?q}GL-(lwYzX2KHRz0Z^qx>yd+XTu^YMK}&E4hGL870JRZl6|w5L~N z6{YD4bnD1|s&iUpm{FiACia5LG!w?>!-=at_IVS9i~I0qjHy+UR7Q{gd3;1T@5RzG|K?jvJgKor8nslbWBrI=8jV+I6*@H!MGBZ#j@S z@%Ho#S>3VTJi_x7begI;H^9Lhxu_b?9?$8fNg+26<%iIYUQ}I3KZP{KnSl|^LTYLL z4SLm&V|>=_o{Un*d>hFh4NGOO(0Gw~seF8m0>h_wLGl!60p7S4b&f;y@)#|8 zGX0}Tq;~-|B(;Lwzi`4mz8FVlV!YfaQ?Ne(1j_XDheo&04vl{@}SV&?F&okTLE~jGno{-)%#oAPd;L+c1}R%c zW;zLWh;uzulq#WGe7&f@>PD?s_A?U3NSwekniD_cNn%M3Mq{u*oKJ75u1tEoT%s?< z=;FP7qJZvQ^Ct9Bw*oD*4DQ5A&IV=A5|bv*)u+9=IY=5CR7msd-A2LeI%cKp##!k4 z;+~=~x04^ecEJtkcm>N4aHCbL;JX|@aXKzW&Jn3@1!DOv&(dQ$*{RAL%y>w`+U}7N z=hw5U%u0(1CsvJ@H@idvkOMc73k+S8mWu^vNByr*tz>=BNa2CJ%!v#m&BFnX?JA_d z*~*3`>>!R4-#F3iMjKC`;G6i07IR{M$akA5yEODQ&c4z!l6w8}gKyf|BGMPI(qWMO z_^AiYh}Q_XzpVc@R*>n9@x++2Vc`vREVLKzIt#334LW=`?50bFAai40rAsUQ&tWuc zzEq=gcwYK8rWJEY#eTwUZX&d@zm`vR_?3?R2Rh>@hgC146ZvznvdxNQ@2yrGdv_G~ z>g3Necaixs-zP&uX~qdy2{XIzv++R=T)RM`NDQFIeKW#sT|y4hI7^`3Ddj@o0{tep zIyE=aoSL(VVa|~yL$quT$A!;#adw{f(*GEHTGeW{Wb~QbKt$<6evF}YeFW|BX8)6= zlSf~~zGIgTXVNSPQ^?Ao2h*f8)$FJ)b>WI|01ZQ+@HVofdof?I_}06gdu@!liw55V znugX+-nV#t-pFBJpKy*+NzGUnBffUdj;7^j+Sc+)8b@Yb?$ifo7&ISydH^t3^ogwF+6Z+bwer-HmMN#cF$SS7lh*BLU}{4T%}PeT(c zok@t=1!76PH1HL-f|ZX zi+H%ZiBV9M;_Ny9b1n9Fo3!n{2}yJR!W8Kntj!>!rT3hU>*RCpE}%RbiHZoPQ( zO7?MT{@b;rkCbtxlI|QcRv>H5U8$$gm%R;@)+@PjBW}o~G}o>VMnMucU@(B5GuUe-W}cfQC&oEh#Q7!iqXO z>mpTeEkF>R*?IdsE)gpW!-Kl&(;8VLunTK`&|1;xF42h9xBqc5Wjyu`1(dRnU6 z-8Mfi9xnMVN$0nFpsl3n-l}^n0Acy6Hsmw#$~fA4y-4GnL6-rVY^0MoCCvSKzuu;x z{X(n(D5r2031h|e9`ZCx#nwG{swiSu(6RQBtGa|DU;EdjZMBG9bWc=;5LkCH0$zgz z)wH}G$tDVBzw4w|y@Ars>2&P5fl}^HpP0zKdWfWj zOJ=j^dOI_3wyBl?U9Ah!@fn;t(Q@@&`_kDOtx0mnD5z zkrFZ0d^bX|nTNursQ#uNl^!H$lD=yAN!%Pg#8XbT-|$Q0kjja=G-pnzQX-FDq#tt^ zTDfhVg??lC0{8?~icnpasa5hLWIq<#g={Hecmsrr>uhZ_=qH=il0x4{u9hlc+NQay zW~@9ajGcXFAPfqc?*}(ZX<>dmTX>OX5}2>yfT>eh+M6<{#D`dpm;EF4vJa{7^wXkm;*6*v& zs5H}D4Hu9>AC<|tmD3CH$l$frcGW6hXI4t@Zj4T69;L>Eq~}=P${l_49>GLsGP$-9 zch7!6lFIhJVosv2s#I2SY|>p9)P_a{^Tl$lM}y--o%fS!UD;!7kz$#c0M;H|-*iO1 zw;LWy-WXFrCKpSdiZ8N|c)9vs00Qpmrr>xst9S4Lcl8CVXN56d#lE*Qw)@LL_i9_k zXH!l+b`Y0Lvs%wMi;rq&tAB10o3=Vb@~FXDMmCuYBYu(7a`Yvpr|Fe8I*gw-WYRHI zipW@-W6#JvsvNy7JGPjxX0#=1nFDYcIX2z6u%4@wM_BDicAWQ)etK2ejk^uc9k+P7 z24&VqU@afP>@qG~g$|Om`lSb|=1g-|t{*=?1RZYbPqlTBGD&BIsD1qeWHp!*BOn$t z$gpo{+-b0#?u>72cyz1y?a9XG8xb6wP-DQ;t_#^Hq{YBlRDlKO*YFRWd5W|HaM@;z z;6`TIq;1|e-XCUqjD{MMWe0c?sz>{)v$KjLd{ljqQne}!VVA3e?emS$k)09;uboqqifvI>Zs+x?He+%cLu5-pILk@A83EP)+3r?h3ze)mo0_cGlp0_a zL?_-&rT5`)6Vg>JLz1hfuW8)8AhfI#bjy-kz4(4Ko-;W}pOpJu=c!*wA{Ol=1#}u5 zLhOkvmEOuL-Ga0-_9C++s0c;Noy)9{qL=it)BhHyv9o(NJTguXUBRsLG}LJ9TqN+@ zo3T5r@3v~a-2NSc$?wYVbFyW?h^S@>zv7G9+? zpe3(=qY8IO{|+RnA!ql~w{r|>lY5vy=q49s==f~jKN_}EoY#cW)IueBFaoB5uHOQ> zvg@Hm-1TJpKWJU%9G)d&xsRSD2vczzxe~t=f$+4OBb$Y28hA64c844Fi#T4Y4YDJN zzJ7>I&`J4h3TIw-99NJzud$^Muq}P-quQ$mJ+9>7j)o@?f68#@)>hnCUTXd%wAeb0 zd3(obNk9GdiRovTTJy4bL-o*v&#OjDKIvuQxIJ|$KdTjQKghouT1%-bdkhEw;8>(g zIL*%>{Rs2qopVNjW4Q<3+;^Y%s?Xt{5Dl!1|75>&!MW9$Lf0#7P>#i5jIHrPR9kO9 zD92tR!(mr;g?D7}Fr=F=pd|067uHAtHCZ$FGw?S*|t zkA|5a6c5}%S{-aiH#Sr=XYhv_aaqJg6(=AVB;AOXU&;PeI$UXoNqQpU+GxTU?!!5G z(KNbTv(&HcbAymQ-A$57JzPBB@8?6bENpTYgADiaviP=j6=&K}H}L1}m)KWN<54WtX$|Z7(Aafu$-T1`m@`<6euip@ zzs7kIUA$VTU3GH$?kST|I)Xo7e?7fX%{(UQobjEfMcb}s$~=wUj5CBB)G0hED8zKL zC3w+UE`2Q#FyZuUO6K!XFv%yYr+F7SCV`9^E4aMMx)+k@bs4#90(2o48`Rnz4+bBr zi$UCdw33Odly1yF$cv)E&IPYP%)!0j$PwlOF0f}-Z0F;l=~@qWMT}=eIZcERghXb^ zmtxDU;;$#F_3B!TdR5Po5TQhf+x*rQ4^f+!#h{Xf*)V?XNGRT-?~_r64ngFY$GygH zBOZ8m@g$dxR65`o3isgwyR&J$ZS+7ARNFIsRFUCk@){ohW)uX3I{Xq4`rV6V>$GVt zt1*8~#BI>;bOF{Jj9)cQWhLADUPNPSG}>DG^Ulk~GF-iKpbh2bLAEi>WhL^dHfG|j zik2FEaH4a#RpJw*Z0%F4S3#XZ3?dmxJu&xUh3TOT66`7Ur5SS^`44HLvODd^VU%y{ zGuRzHYAXGb)}C!Xe*Jt!5-KlV#ZPfRDvBG?^)`R(gkY;F*FrUtXS zrwBS^?Gn&4R+z-mEV*_w_=l`%ZBNi?%eUw-L#LG$WIxRqQ&xtqi^G$HpN3ipy~9U6 z`}YE9yN%~Tg#k1|s9YE#N;4wNbmHR&C;9e*WV`YcTIILvV}Ld`EwqH*r7;a& zMal@8cRqfb9dh8XoYnGqvvJynIZ{wne zb6L-*Rwf9kgT0Q4XJGB;)pI!a3vfz%8B!D+RjL5oQOE{e=R%+-|*MaY0A?so*U9FjJ#Wl~1D-}Xbm{;E?KAyP8nRIc-T=Y{8LqAL1{pK`u> zsq|t|>s4cv6%=v5Z8RyNe*C26jw>*hBEWI9@sklBRiALf!CdOA7avdu8)fEO@tl)B zz#SiYGdkq*GTjbH8H}y3_iNBC8$&n?5Z)9%%aduwD2G09i;Z(0@*o!3@_BvmC~WKO zfz90t;OH8AXB~@Y8PN#psE5pRM9y%4k|NA`NVYgdakDp3S$Y`aA>IF|!F-jhkRf1; z-?$@!7t9aA)u9_**43tPOLcy`TZ-TIH5&TOE0#+_OP^oWQ*^s~)oI=55s>@v0xE+6 zecGSR%BTU&>VA2sksYpronSOL#`J(M$SqE1l zlV4J0m`UKzaU~+N3%k--%#k2mq@2S+tbEgSo-a#0OYBhGKCC#_X3s%szmz160{X;7 zx`HO->xAETt~%lUi*60^Ds$C7T3c_e@(uDj>HSBsLk}bGht{?Z>U-%Da=$a}Kqhi% zZ-@VWNYb|qWSBP3q6Bq{X*TKDWb(E>u>FBLiQ_O?x$igk0WaurT=S=O;WOTnk^5r$ zYp88#RI4{u)Q5UX`-rTvmiK85VODbns}sT^FrHYsm@uy9;`PePgu#=p><=Z+iP0Ls zrB2_5+_<7-t?~ZY1hZOQ9>}?5v&YNmIA&DFE76Sr7nBxMjIUO&jFPgVs)9WCW+ozsmc1Bac4 zLwrhC-0PjaK5chDSV_3yRg^~SqgUQLRM<_6T}Ym@_13&5l!dYIVBH}Hp#j)Y4|kGXBGwhk#UdCQ@vGjhn7KWnC~dXAPkijw zAqv)3@15jgGPzM|<{BL-I8tla*HjFkQA`SkCx}L9>wC48x74fKNjE1D6N+Ic9-lx( zaRWv10e4i})rdx?qOgn>TWr4UNcM{<{rL3a@$qmNyRUxQ1gm7*n#;+JC4v6u?8{iJ zR-rkJ7$%Gxa>YpqC^&;sEW8aYi!KPlDdNzRd*X>^Tas&P|db_FKpMrhwHuact=&fuVOFk#uC zr+z%sw_S*(EIp(mH1b47#Em4V;l3Wz8tJ>V8ipOd4%m!gd{HK$?#-CPV6TV zdRJn*vJE9N;w6(b<9(qov@+cf`_hiBH{=IbqbTTv-?vT1_rFN*Chqrz2$GEBHe|=4 zwwuGi%X55%xIDY9{VTpWBtUPORpvjg=^8zI(p@w zp$=9*SPh6Ues{D0O8skDs?FY^s56~>ob0_^d{#AFA$M17Nva>%kudtziEIt~=HP^= z!G4*$@r}Ja*j@BuZ4Q#ST_f-f?YCALihHX%1czC>G7T?pEb8~^pIji!KW#gNYr^Q^ zpTvG>d}nBiAWCLg!+F=@rTT?dbaaxb8`mWTERv+tpq91YORJ_y!m{SgC&K&e#=h=B ztJ1(m)InZhS%l-7Y9WPJ?K`b*RV}r_I_eW)(zeH{(|2+*q$9taK?i-LYgLF?a}0OB zTYSpp>Hqrjc);%R0JXR{ZeOGQSC75OyKrYE~29ZY9HD)Yu82UlXqcas7@Z8is92G5eG&y zjq^0C6CTUOyT+MI3m}b`>jNPy>FPE2rFk~foME;WprobHqT-XqzCcV7#M}ov#7ltH zu0TG`z4ZN}=gheGhr4_4KrfQ+<>8G{rd^bpz#&<*ODfJ~x=#4(vEOcl zcEv_p&?dORY}p3P_nK!ApJWmd;Y4nHa&GmfeuB?#t?l^G(W4HF_T|W8qfnv7 zS@@-0-2=|-%ao$FPFF`EZNcX@Vys*QQvhd)Cd z(B<*?ut-ed*g=0WyLb0R%I=G?GOd(~To;nP#7(ev!^L7HGFJ#yp1!p+oWTTdhH2EQqso__zT!gL@&&dxc#Zmzo6?!v zaW%10@Xgcr6Yfo-X+6nPJM7lOtc4c_ER_NpTHf)Vuis{Wa zv2n7Uf{5h5M&m(DOp$6?yt{7mavmxtsrdrqNx1it=~)7r@~si&Eb<-v#AwIqyU#n! z8ja8K-V|c9#$`oNjmY?e`>B+Y%@~*O#oEMhT0-hr_hzbr;|_bb2YEA&#fyo`D*Ne+ zQ~cCV8gA!L0D&joRU2``+&GP07fu(pl*N>)SOae%IX+a*%UujkT0xGQ1e$rTb7i8< z3H-;ZHWIdiqpTKoFZK}*HwrE@=QECWFVt3I8$ z_1e;$l<{`iAq_0wHEgzYs9NS5qRx1)4g;DzQbZ3?PVRRp@!9tmL`n-x+yarxax*qEy!Sd`#cyRdf?!Pb1`9i-?%w zQ-#XH4o+tc!?rdbLi3QPIVpS8%_?J6<7UMRJoHfm;zVH-EFFKfuCfT6L_Et@>o;iZ z*`OL{;5KFvnSE?aTM8IFt3Bpme&*Mh&7mKuz_LOqPmiYEAq)xIK1y+}-;f)bzP)We zNwaFlT%m2@{Z1_)WHDWxFNI|K_%@X*y~)hoTL z9yhdBZ0z*vY*D}=@MWiUMdV9In$@M$-L}KWI)izsMWMY-&hw;AdN?2KzI{C6p&Ed! zAWP1^T=vr#Ri7ad=z;#q0Ms+22~A7}D!F9)F?*Fo!=(efg$APv6Lt_a*nmybEiSc@ z9^4k?GujD9<{Ur}{Mb9;{!mq`8`g}HpcVWCKF()+!xD}87*Q}7iTF0X;!`;vfm(2g z^;6A^r|{bLVXZ`tHew zXwX=5%$$~}8EdZ%{w^oHxXyv?e!SpiWoQS!bs}0QRJr>tcwciOdbiBdKN~*vN5owt@ z9}5pb9+K9XHF@+@hB6;X*qbnX=GDS%g+jzilS>+wQWDQ^TkC6LtIq(LG^^nzA|vW@ zKk5X6?c!EOVNh)gFvZvV0Ml0vZ+8)(>5&(>9+yiz^Y1>gN?d{-N&F`a7Q?SWw68)LFKf|L7HpX`uEzBJGHCc{o& zpjSZ>BVK$5aPPBpz+QEa19P}vZA zFJ)@O#1X!xn4wU|g6CpcsG&l5%5l;kd0Dfz2Q`mmdIu5d3CDejv#2Cl{XRU}NC2*- zHdttr(!jKF-FMHRyw}>VFY~^0|FaMoBG2T8?!h5;p|3~1(38E5`R7cZVn|RQ))LB1 z?3@pe+j&z+ca~9gfO8kXf_bXh1MTaaCx01!2o;?n>QFN^^u^|VZdgzE?1_ll+Y+fK zNoKJ-cs8qk+k5se&y!tDF*D4%8+&a>3-OlQD4SivUv*hdH_V@X;Ab8=85?!!{KThg z*C!NJGHt5Or+DDn@ z(QrJ_^T_BVU0+2P42>Iwi%X9U0@N_N?T0{76xe~ytCpnNy%QyCOAl2!n8(}{PVkOJ zOgMMgK-6*uof4d1ZW{hH-&Q?f!}{2{xaT*tzt=`SmE1fzC>p$5y7C%#->#y%iFTBM zrG)ki^;R{z|L^|=@S|7o!-@aP2pHE{LnrBqVeq=b3sxHZBzgFfjkfklQ(Dky=99#G zC^+IzeP78T_Nq}ocWTo4JPxHDp*5@1)``XRP~sP2oh8}6BSQ5y;R{-3O$i4HdPS=3 zJ5JFIjTz?HvvqhD-)VbBF6y+*kbHD$_K%g}EwnvC@LF)uF)`5>Nl(YP%I&_u*2hhm zi(WGOXN7(vHC!2EVf;x8V@+Kn#QU;Y#fHu*sPkgU6m0V|Z;iQc&N+1-N;lbV($Opl z!_kLkzuToepip=vs=*KMe6(@@me>+<;uhGyhN{%QMp50Ws|(t2SMV<3zFbNw@}feI zgC@@t_*em*xUZ>1Pwaj#QcbubyGk&kh~QayOBRG0k~+kpO_4Fjqgpi<=GB8yy6~w; zCFhi^fTVY3(`(Q|shXWaF=>Ket~RHwRu7U3Z|3K|t;w+{YN;2=5t*u06)S_YOr7>4 zq%WILf(g@@acOm@AaT?@V4QFaSJ&g|38~>3_&cgwz4qRKxlE;> z_~`~^Xk|Ll(fi8d%`dM7t5wZNVX`ruW9iN${&&7aJ-3|@3awpuG=q-9A}qk2s_uCf znf_P}i^!F<6g`ZDeu)}PSB=b;tj&JIVE5YrsG`_4xeE{G4@Uk7Ui-)+J>Dc zH^rWoOg*mG5K?W9cogC#U`NGdW`J03#Sl@?`z}QMRan%sMy`fQ{(yGiumo>AE{GUe z&U#sIq|nXZ72!rv3EhX)_kNoi^!!icoqw|o)K_N>x7IOF%r+cgS2Us0_H zm11G)5Kk-0te{RS%7dG^{S>d;-LSgJ!K=68!xd^DRtn(ZxrOUe7ORM|uJp_1kMoiu zu%HYTZxx0n*&I@$t@P&gq#tZzlObzT0fc{P*rwGS@D!VK@U5(*TH=x2?`%oyA!>Gj z;DA1!lU61d5BZ*JZo3QKm8>D!?I_o;Ok)K&5fm5wJd|kss7JEKdv*d@dJ#HV8Xn7g zvRJV#$o$fc`0KeLs`?@X8$J7OSHAu!WDl*RkX$Y*2BVZZxnk<%_4CxmJ1gLsh7xAv0@CquBx(UmH{E%3nF21~D!Q zpUg`|^{NMtkSo{#iucXsIu#Q?lQS5JlV&7r5(o}1&y$m4LV`v$%{w^H|unMLaL$4 zw!8>09i%eBgx-4?jZve{tT%41PEj5N75Q2G?tzt-kx}PzixIOB?oJaItHRdTWU(7z z&o3rwX%!dOawt%b)lko{iFAZK_6P1E7`l$1_4&TT+?9nkv8~+0Fto)Wu8^FEo)}_# z))i3Y0SVpjL^W$A_&3hP%fWD_(J}oC&Oc64j zEm`4N$(A|0RY1ZzGo6vIY!}&A7Oc9^h0{4-72vdEuv6SZCs)Ox>=x&B024=b9HyN{zMwJ_^&nJto*q;e0N z5=(3eE&7A^b1(u$V?p(KErZCg0g7Y5!Ws>dOKNcOrvNO!4Fa=-9){Tf&*}H zff3DaIl(zyIi@*+Z;Ry0HY}BM-r^1k1~|=A%53jksH{tMKTS#wHuLL624zX)OK3N} z!&)Y^%nPEiXrfvhQ-CrIQZ>84rP|Mq+~A?rs+M0|g?JI2HQD#H9XmcZyEdI3J5Ls5 zyGPC~@{;~A&&H!7IjN26CZ2Xzyr()4OPq50t`B>)xACtdH@mLXrGxmvx#YI4ZN?lRstuq5#xQWp3t>F@p6y``}Mq1 zCO76oASJd%#>9>TR)HsUYZ zt~evv08o*Gm}HyR8@M%V)wGP4lqW>AHF3_xjUBHZLE8Tne;XgsqQ?5YT8QMj#k zLEvQA2pFQHM^a{!9QPr`chIK8lmBU=rZJ}b2|WZ19*irUESgFDC27AB1cwsP{u zwO4MzihwiKP-AsdRn-&lrvmkSoeA1MY59AEbVdujYGP6JtB(A^YXUIGGUo{xyd#4>r%kw)h7OD9#~9$rK1+Q#sPEb6rS zHSx{>(&GL9$JAFwRkgie%b`KKr6narr0XCc-OZu98>CY}K)M@|IB@9h5b2ceM!LJ- zeedu7$9TusV}D+It@ZSra|>fvjku^C|M+I+%QUll@Ix}|^z6&=SNt^vRZ`@_aRp|s zF1Mj)>oE#ygpADd2b|~@UVN@U_zg#S70`#u05V+oh_XT(+Hl;Ts1*?l*C|$7z!5I1 z2USa-S=sGr*&U29{g4p09aw8LXMXKZrw$>oPCzV_xsma#vL2YD-C$5oL6GqI2T9NP zDp2G~!RCY&EV3H}4`MItXkCW=_8SM3Sis2$pQEx9%r3YV+Ur!(Tb!aUGJ^t65NvbT zcn6Nj<9pG9^F3`D!WyI=MM@QCjwwwbp`WYz)OUv&5rtSTj*(3G%euVEVQp*8fp9O$ zl?DO@^*TRD{;|k;zi#!=uSPMGx^#z3%9>jQZU+Z%d>#6^U^nBqj6~DSYLypObm_p! z9TV-q!m9k##x`}wjHXRQuIQ94T7({TN(ja*T>T0Y8C;T}-k-52Wd3^fwH)e+BOm~b z`5dqoYQ(CvmzFrlf5ki_#Oo~jBPnOiaj2PHwdU)Zr>hz@4#s*g`$Dr<=*#X!;jC{K zxxjGRwf^D+Vla3GRW}#&kot)yjJygV(N{xp(CE-A#CG$QNJ<`NYgS&h%Oo1xx;wW` z=W1QaMG?||fpSkhzihXyEX>|2?c*DpKyIM7X0Ww`|0^c!t5Z0|D%V!iP}tAyCE*NR ztvEb4A~dbcX(;!P{3MOZ`2#C}=q2Q6tK7l<8e`K^$kU@gaPrb)C3dHrlDj#tU0*jD zJKCCC!(_FgzEpYLI7^_T*V90;Y2m)wOmlKRq#g_XA2J%)8i8Jay1~9!r7CSfKOITi zZiwME=#Cou>&-i@2T&^HKmhuLia56QV@bd360}>tXSc%Fe3=FSQ5SHVnGBcsFQ)K}o2s?2xs4hJw~7 z&Y1e@pSciz<-Xk1pPB^!FH@%c$l*WXkFsOHgY4;2NPTPLpho_e*B&A}V5eik^x1cZ$_ZKfq_*dEed ze%u@}&z#n9$F-+59&1e8y~&JS{q4dCKU77;I&T!$wMgU4C=5{P@rz&9r*kl0^kmy% z-2JFO7X8U#h4ueRB}TMBs<~Q5y&sfi68|s>X3M5cycVqy7FxVk`2hkiE>d~@oF&p; zD}dF^VM7eGTaFOT{f1ym<;cDV;XBmLP4%bsCfb!zLS+zaBGVwk#0UP)X0oC`JElh4nQ6?$&4{4QWlX#!^HKJH7B!v9@NNux4BFm zeE#_PE|1_z6OG)fAe`H_?q?fvq1^$m^=TZ6pB+pVB5JuRCRvThZ<&BJk@^0;3Rx5d z1okHaXFm=a`6~P^_J0g54_T_riIwS^x`uTeVuW;BY^0~fUCn5iXmnv7x@1y=-5^{N zbu1Prxsp%0I*F^|FU=O6@&Z*j#u|C^mehgpoP=Hu;m?QJl2VL-zth*@B)5A^FSf({ zRz&{N7%SP%Ke=62^wDkdm+a%xH=7Cetb0!)VJDSXzp;8A-dyv!X$>>l4GjsF%S6nN zl=MtW*|zG|x%n%WZZg(-h4U{uPtvO_T3B!ih%y}d4SI6nxqc}wqVv4EH@%V!d`xENmtW@3+9H@mZbYaDEG?4D??#6RZr z?x=5Ri;N1OT8r*1a9*aKKim~edpd5D;%8J8Wgt5szI)J@%OU#Ba-!-4;cB$`9^j>Z z-AcS&!{X(O6xE?_r&C=%(`kZav|S=y4k>5T%FW<{d{7 zxtftz&#F$CGq2kY4O*KomK)Ga%iu0pblpvpZEf*}^Ggy%h-cAMvTj|6tc*q<6YjI? zu`&iyF)qLNeyR5-s`Ykd76m2!**553Zbi_e-;nV>_J#R+De5Do;_h)O=mdkcFxjuG zi$wQ|0kDE?JuOn82FMkm}2R&pio&hh*C)vC+lORe7=O zoul>%u{W()1NSAWlxnZ*F@felTgTKRoS8v>#;4wFw?+_eo;I_CEbd(yCiZeIo zPX&9q&c<7m-BCrAvG4qSZC56)&8b(VhxGAMWqNcbjU1NEnv^}$6a%EDDXKOCXjAdI z*IA`zQS4f*-g|qz2-Vcsp-)aoDAlO(8q`WaU&?opVtkJUNzz*UYN7Z&i*I#X%TA3O zy2>jMA2m>e@4)Wg;ol&8qqU(wF9V>ydi*zes3^Ap^5Bho@|(1~Y_l8|ZHw^Gr|Q>l zgX`@&_hmU2+myC#Fh2LVrdT_X?(hnKj!gbt+qKe~ih-}6qFh;@wade4EpRg8ynOD5 zNE+!+q7G@ODsi)!Kbgo&T}Hn6io|aMOVL?A)c-Zc7aH5J74CcDWK>6gb5e{XqFwZ- z+wHlS-|XCRVLGDuqeht5NQ!vYY)aS~m69N6`~9u&nU_Qi)fyID6x0`1<~`H&EG|xq zZJ8OMA>jYxY~k1%sbKtgIz%*g8kGe<;3u+a%!Tn!g5B+j->nFl;LPhb!%we8DoPG} zI0hdyF5%G__i1BRiw|Rb55QkNSmM%?w2d!RwYjn{+?(wAIs!1hcC_y|zVUvtfIqv{ z*=|7_7S7q!fjM~d^$%Uy1d1=)fUu%{; zUT_@Tsx0;LwqtV;LjoPee^<8?)C|Pjm=Y(_`HLhPJ$TxsA0*E*&w4D8a_QHZ%Rgj4 znvUS!@!jc%@HYiImc6*VfolF{D#s&he`bTZv+DVFkiJtUV*D0apku;*?dhARhEJos zvnvx1b@@NGt&%Qi;oRQ$#hb{76{<$z0L-(lqxEX^mZawW5yVp=pva&<^;aX+?QT>k zL6o~M9dVIt(pVT%JyUnQ z+tnd10dJB1kIc-M){R=5ogu*tdm33t|J-8T^UU%vdB>~Weun^THrT=0`HUg59% zmc0`M$k4we&43yj1<2G(T5C|AaYxUT1L8$n^iYgot}-6*gYv@axwkt?D_74YT&|w`|4|WeSN#d z1M_%Shft@j;=MGq#*&Il+yN^VA0dI$`0dTNP)9b`K5wQ$1sHn zwp2uCv>qq-)J+84z()Qf_W=Wn%nKQW`fi1nk zcs5h_G0Hs`zV~(|mlT=3OLH6CI;#b8vX#|I+@|Dh@z%9`Gt}YZ!%Fs)e;W?TG?l}7 z&-P^{%)bovYi)=^`w+L+hzj4M_!rZzWQh@spcYUmWr3C6*g-5jEw)3F^vo3&k407x zKZCLRk>N4|+k#C8_*X~b$wbbD`oEo#7dS@^(>I95x5~>A7o`@-GE3DBYmm-$E+o{U zZC_?y?IBagk!u?%0qlMpF+z#B2)hqv%$ z&OqwwILte5P>`A6kJJ=jYYFW>*{>e1e@XrLnP6he_w1SKr~17o`gDR421bfi5erJ3 zYPh{fwuBHmMoO-K5;ZJgfEB+`c+)O>w-mk-ha!^_rR}+Hw9+F1oFxNX#;{X~=}lP; z9OmNrpr(Lk;QY?aW;>D=L%E5Y-+;!9+aRWh-3`f5D0BHO0xFTm4~HwnZix+E;?N)~s%!`jr!~-IqZ=vWHBa;&9=mW%1=a4Y#H| zHiwFaI&wWz03Hgm-{F6@^V!`1QWl?d@vLr`WZo#X?*EkSz*VT1ZuK{obn`U(+mOiR z$wIFp3Aciq*Ip>U2D^>9Z>I=pv&lk}4h}mrtrA}9w-B&&!obA$w2Y8)=;E|&Lw7jE_NA6P~jhSG<3Bug+y)N2!DT3I}~$^&~Sam z9?*9v113f5jC(3r{4H6=m8=doiGMw@W5%c*mwnp#M|$dwT&7_&qZjol+?c*{)7cUN zT@JlG&dzDjnj5I#Jb!dhowQQe%$Z#RJ0KY7fKyhgP__d#@$@s0eH{+>uM9^mz}LZl zwBL3@*SFVxXG1j8xB(|51B8_tBrethCufi4{G+hks>8=s?!bo$od^#|ei3 z0Znv`@X8o@V25%mS(le3toG=6J&GP|M;J8}*q-mWK-}vYzq|@fo~KG{OEJ)fDZ!2D z6$(H7PVhU*=WV8?|2Eq}rQ2}-{akC~C^~3#5v}M4@%3baxu#$olvL)ju8*yueR%O; zL_Ke`oiy5$=Dr|W_lLz7Hn)5&#lx5KWl~#- zg(Ul`K!h;~Yu0*RRwy#kkxJEF{A}Pe)B`=@0nx`!i8*qX9C#>jN{3R-{)qnP4 zedqzw#ycr^;+%&O-fXGq{3F7XAC*f7`E8=}RrYo2g85Y&)v4LLU$EH!>d!zOgkLI- zqGcDEHksgY1JA*!mF0^l@}kvNv(0Si9%*2%?w5nuOEJtKNpFEgHkl41ov&b7Tn~k| z6^Zm?s}nmj9iZuE<#zI94NcSDYA7PG3_fa=zG6w^tyA!YNZ+9DwYUuu++D)G@rV&&(x8*y{iasF8lqnOqyP?q}|uQGnszPS|aPN&3_MY zk28l6BcBCsY1CQnOWtdSH@CJIaoy__>%@rbsejD;uZ$L_>DE`eH4T@gJhVh~O2!KGpn#tpxj@IK5qwZ6 zj?&E3TG8Oe_#|a~jt=xYtk|Arr*EIjtb2ta7l8I<+3O%*Z96}@VE0M;c=0Tgjq+z2 z0Zh^xVQiG{W}cI4YB^&-T~y)2066hu%sE;NzJE}Z}OycEKv36HMLS#qkLP>%9M zxd}i(xyS%NObcb$L{26NMxGBizc;^_uqv8=z6D|)!1R=*&7{hTv#*KMsktc`6K6`Z z`|$aGLYmX@iV#U)nKB&);6 zZhvRJXGl@GTGB`R2+%T0G5{qk^a&`ByJs;C`|f=C#7PSOARdk3OOcO^es-}(bY*8{ zI)LiqI@{XV3XRSiKCo`4=`pbd$@x6C%H%@iTeN;yVbKWelHXM}NY=~&5^;ZSlN-e2 zF}{oIRST}JMTswy#sbPI{{~>}oX*uEdB`|Voo~f0SMeW&z-_fJ@(`oh6*o@K+Kg9e z8q@XVEAYQmc4xVrjrMv0FD+2m6W|U^K++M~^J@$$wBJ4@aNn9SKl^Y!un3k8tobZl zPxLY>Bp%1se;a4ds5F5XkA^GNt4ETRM=xHRwa&Mm$4gF`{cjI*Z^z(fOxrhvzl04<=vaaAWjvl zZ=ZqXLlJBdlN@fU@4p(SW7omIOQ|7ePAAX302Z=GZVFD zM-sSQlROxYHWmOkQbFlbNGh|b?bwA6G|JOTHM7>lvYSb8L zR`h(M|D$^X<1kvUwb|Zl>^kJw5>tR@yO!i&Tz;cI+d1GvVdx_`!C*UMW*-5>;#j03)*FCw`&ao`~@& z#h$jJme$*A%?a-8-oksq3SN57RqmW%Pa^8D#efC;zvyT^6(lJC2kV+qxE~Nq)D}A zZh|L1D?kQ1T*@KOy&Y zIDFER8OC7V*B47O&pWo}vVsXhdZeZb91EnUrUP1sQzh^$j$7~spl`nOA_C*tS0Ea^ zR8G4M7{Eh6q_}2phr4KulXaS+3v}kaXFt*tdbmEA*7SZG^%; z?_3r{GyhYttA0D)V$i1tOn^40pE+@vYbQIfH@kCPeI;j0)h8X&38Okw%?R7&A^P@* z%u!SeoL?K-13A# z8!LICK1G^te}%@N5HX(P`KM_xeX?bZy5n_IQ>iIz^2pD)o6ExoFH81(<^Al?>blBG zy{Bq_(}%@oo7PJL#XMn%)1%mZ8N=D_8>HEhS>_8JT_6v=Udd#rk$xk+AS=z!oLWJv zIW;e|@{%nkY*U0^v;6j8_Fdh!ET@Ai6`QjZ`t}XA0so#D85`BZIJ@!xjY1@ID{7vs zm+=l%w<~LZYMhbn>IL**G7<}!FU9TWvBN9(6p|;~V)OA7zQo|w?VtZcl%yPxA4fn7 zoS{8McU#0YlQf%qI-0&7dhs&8hS7__E*K6V#{b{}9Gi zC#=fNna#4E3QS>|l%?A72>>bE0G^Z|ja4zc`H!(7^LoNZjVbk_v@O8%l^1e;koIRU z`TT&E)$bJ+W?j|9e{6l;)j@FjR#SB6PlYe)|NZd*TPnO0(5hPXrS>_mR3X++QAzk% z^A+q7s=?*=Wk8hz3=rbpKc0>k2?AQ*t#pQvO*6g#hw$c7JL?%ZUh7qjOYNXg+ANw* zt|dRwop!xVpY$RPH50vfx|pg3AeE`RGj*ELpsLu0u9s@M^zF^mGqpNrqTviy=auv4 z0~;R)g^kXSnhI&d++FQQn`Nf9trpQBJ4REi0@M-m+3! zTp3H?2KJSq+3QNRYIM%xbk%tJw8-%d^Zxgkn;XL~j?zFQAb>w!7T1kNdHtVm4q(kx zh#;X!dZ9_4y3I9be`wdY(_i@M`KTBmwtY%F&T9^o@8X8jj;?!!aSD$A1jYz(Mc#ll z_GM~Ge!Z-&cm~WXCpq~1JuWn~1Wm|7--_Z$e5$8& z6$ewzBjQ+15Fl1jMSQh?qLIMgqe5vREeW_Zh3pD_0|jAwRY=brX1zSn&zlaha(?+c zJe>C6H+FHnBH%Lk#cwCMX-8mZxL5Q;qST`PhVFu58A)*PbYpt776CMJy{Cr>AJ8?d zEy01q!3Lf{V+8&id#}cproC^+e?QMUEwzx(Za-<8hN5_6UxYNz9J7-$>Gv!sbh-dd zfqIL)qmkH`w@Qcz3Sd$Tx~WlCypoh@ZaS?miRvQXe$@v>2dqR@8zvD%yb3M|16$3X zt-rmk)`t?ROPXInyzb|x0-~USq~k_%-Iy)Z2Rx z^rq`8_YFw+!@iX~rOEl0&)3TEChM!^vJnoKh$D!D|9Kv9cJ1xwW?YslXbc-TooTsV z?Tu+isy3D1kVY=29E757J=`B#r_S7wcTYn-fDd&<_)9IYTI9PPQOtO=K(HM_pAfE& z_Q&IIMdEDiq2srkd+$yI!h(pjSI9Is!G%4#4nOuiI+`P?F&~Fy@RT}|{^HGQV_355 zF4yJ3tpNam_fzudl$bu3PFo%?^(dwx;IXZHOoT)G9<&yDqVnpC=Wq2KmPMUzf}( z+27DGV-UT}g3Z^p@la_Qx1H9I>`Mi9_#Bm{fkbQ_MW2#w+0%5CZ)~ea(9~MO!OMN8 zRN(}dfp4;vHW+~k3&!eX^|liov8EV3URQo#`;y?PG=UKJRoXR(cwb0pE9CdL8o7UN zM@e$Pj)yE?cG#I0Q59AiN`4Ml(PfhkzLo5DuGrzg%chf0@KVl}??WRRET>68u6Zka zyNI&!%3Fg+Y?PFC&99}stj59ZWIA|3N9R)P7nKzOD~KA!ku>ij*W^Ui}(FW;6``0n~(AhJcCLl zc+<^V(ZXEZm0Y^1{$NZWaP&d*4dd+4ORE9OXT`{Qa^{i)y=M1Ng6P2kTGYcEYdL)pjvi@mBfY}pM|#Xyg+)4|P_8#&-Omc^rs4`7)$?){jpZ}b zu0HaNN<^CiV$A!-U&~7VXPn|x3LrgJJpZ=F_F`3+1bPKsLD8a{EF1{0r^DZk3ok0r zTcyMR%}t?@gl2m-87T&FDkqSx^0W6h2urV#G~)h5Yu>SRz>bhx#n;Ak$z)cLLoQ!y zg9DGLbx$m%u?5v1H>HZ4-!hxf)eT=9V9z*q2it4A+O7Ks#)z3_uZ?*`;jKS$2jvvA zhp^D>9TsX%y;CCc#ajGuM|Gc^!l(?7Nw>C}i1IDqpT{(`bE^1mFPhVlexuDYV{x_p zuSUgRf`*LXO!#2|ug-*0;YSrco1HISI&Uiat>LH38BrR!u8#B+w=SBp%)phbB@OkzF`ejAg?<-(Otws_%!=6<2U_3n>aetXUDe$3PG*_FW{{Gr)PIh#Bnk|P9AafhT3)qyto43=A1h|pK69Ps z4xjO}?=ANCfE~MiueJl41dv--|GPSr-x2{3gL+ZqUL~WWEI3qW@eWeYkgV8Do_yj(E`+S%U|J>7VXR4ru!EB%e=pc{S~?efM3{KPh8h(@ zl0<=?l_)NI8D$Bz1kp6dffOjIp`0|pg)L3G#FC)T!eeU3n3K~vjM!>;V zxm{zSi$Dv6`b2`N27#AZFq-vOJjzrW*(1w!(ArG$4fwTRIoc7rQ(jPzYk<;rFRDTj zeg7Kc)JWQMwIRZkLzf4lyq&d#9@(mm=%NnG(|wPExTEe(F)1d8T<$R){+H>~w`GFH zAC&qap=!W=kn^ShBd;VE=-gr2G=SW?V|V|(;QuTYtOQtO6qfSxNEBPhNYn8dnS=Yd zbG*zdZ`n`b;%4;)Uj$GSVovo|H8?RclR#BAVaS`j=88v1kD6eEr2uP|xM` z2Y9UT?Nuw7Zz3%fl2>lr&!vwiWDd0@jo>1H)@*aKUJI+_vbk@SC;>)fhw%9_>fU?7 zCtl>Op+MmAyQsw}kJ0G*TAG|MMe`f5N4e}*$*Gxh<1?O4=h^-6!1;p^*t$6;Yg`jh zbkcN{Z-uR#YIdaUX(uob*pf`? zBU_SuuJj?Cp;pt$(1*~; z&w9VY&6PXiUEM~~*78~ABS~p~H?Y>m#cQ(1kK;84Z{0Nfa%>idzuQL>w?nA(r zOo(;5=Gtov%X4wv4m|j;NKU?uWDg?BF%Rp=fZv!+mW?~oAhM5EKoG4Dqx0Zs{pn4Ay} z=e=0x(003R;g(~;Ox+hbOwAx?V5x~TVJYR1sYYFl%im6A7k%x3!8ujIY=1!4UDHw?v;cp3` zL*hIoI6yLJgt{eoLuxdn~H^ zZ2fDatPv0Z9CYq(?0@m~TL2%3i|bDQJnr*726 zw*!w8NzKNzc-`57D>l6cdlN`Z{o03Mt%3+J9fAiIA>K6$T9!rL8m?KoZb2?s&*^ma zSFv}l0ij|Zrx;3W$WGX6KJ)v%&xOp;pz~>mb^bKShw?Y&-}0L5&x58t}X478FsoU~$Wzf*?YfND%qqIoiadKhKwa9Vi($vx4O!i9=#fO(xo|n*2 ztE}{+jO*xl|LIR_Tw)ke56`Z)p#xotzUBmeKfeE3pQP3&$^?7tzL_&V2y)R!=Sam4eVCA~g>(Sw1)OSNfN}>$f ziA=F09O(DFx4IeMEcQ8WHfa?EwSNGv6M#ZmjKx!Y!_=TwMUN~}mskGY)4r{BG(feZ zdvgR?aJG8_fq2fR$u+)zlu3z*WDpU~>I&kRT?mq5?@VgcbVPP|iYKG*fN2ed%9fNY zNYeZ{m$6@TetX^)D{8$}RsF;LsZXh?9^ZyZ>86$SRs5-HU^6Wgrtoh~3Wo!A1}%?Z zWM;A91;QaL%{J5XtnjUMZiF2RT4)M-`kV!-iJXp>Ivm`0sI@Tei0AU7w3#x-EQCoWtjN7qNGE4^Fj&UH_ajW?IJRSK+MVvrY?7b-K zHyVQK8rZyJ#fxUC@7+v6gF`O;un+?ID6+l{p01jo%r{fz7y% zt}=jM_W}te9K3{`{Bg-+=L^CWVh<;oz~R+zMj0E@uCdeIOWw6bLN#@Yd3^1z`dZ#O zivg#Vm0!00U@_{%orlMsFqi>HeVu%AZh?a%@0Z$lAX1wl$dy99vC3UF|0+Or>EYeT zzO8e|RMR2&1%{DfQ&_jM#}13Y*%x?Zy=)N_JyvdH4r+Z1xG%#_n&_*>g>L%tHMLy` z7i2&#O9xI$o@FAR^>-Cx&tANdY$+QQxARe-$MVt^u0LRDjhW%3j&V=F&3adlHkGuC zfVeNy`R5&Q0rqLe$7lGsn9H)qSE{`AAUpEq2ac7Z^q^vz*n143u{7?BV>iUg1pbxMwxQrBCqIcGCq=l#vf=Utg1U& z1*RD<8~CNaTs&CFfRUTxqnY=stqX&swG7vM($y`67wWht-fLO>+E}@duc}Cp|M*)x z4Q(ndx8#Ea7@?GIjc+u0h99esLB6fX9R{=Tfmu25C9lTuYiimIP$*S+?=b0h49ha4l0C z1_zE(3*V2w=@gGsXlr!j-ft+*vw1=e$;s4|px9{}eT{B&o;`|^&VSpaWR$7lQK73y z6O1o&YNxxa+puVso(AQK&+sw=m@zTrr%PkqW4F@yA4Wo{FBUVOh~v{mSFk*p z_xPLG+;|g=g;DgQ?Se{9bGg2EQ-c77Z}2UR(&~zvk!gs!meNgPXfX3|`hxAn=ji*@ zZ|#aF!NKVRIScw9j#9n(^%px(RAj%nOk(XX^2eaXGgQ@<*H|5WyA$~FJoDQ}smF?{ z)9~os_zl&lR?)QB!o3+Bnu-6fC5xh1RZp_ky76%0=pG#CrcLca8QiODHn_l9mgaso zIB5U7QPUmp{JF$vm{2KLPb(6;j4rIcR%IK{WIPN4G55$OYV-C3tu*JVMAcx@c$!~We)jF$DDeDd{Y{u2+Yko1t* znjK#r#F2j8+~a4Vz7DP~R(z;z7dnd{(UM|YrnfKM)r`m8)&0^^M{G(k&0c-x zmk~|KN#oIv@PNvHBV}`Tn zd}p5m*>^DkPk^yVF1@&vq6hI#B1=O+hO+Coyx&&+{l4Es>dq_v!nSJ1e_Ju49TR#X zsxhe-a`{r*)Ftc-h`lmE0|tPwkwHElQz_@eto-T~f0neksMTyc>AeCY*xt;k>w8y7fYr6CG zqMsE}T2q@BBWK0S`66U-Q;n(`Z&=HD-_tx}kNI_|B&?I(a$jhCHTRPUHVHH#jSkx_ z_xQwonN|C~g>EcVWZ-D9ov@u4CVPv~%FY%1D3tjEn`V`pxfA($e;2CjF|5?YG~+bo zux)@?Aj~tk!Qh_}-ggGmozgF4_SCTF)Stw9C9u5G8RGt!}B z@l0IVtjDa8Z-<3c!$xxnY(^V6fQ|g!9~2cJL(kW2Tq8XXNr-H2+V@%6!YX%nXg_q+L*=dH%u&Ru=K0*Yu?q2 zr6}U^_k3VnpTaG8-#A)@+(9^dLwoX~%i8;D84Ld7HA{XQ2iPkkAv*LThjS{x+CaG> zn!4Nxai6~HMF^v=%d!e>ilhhj3vm4rI8bd5%0}a&NoSvq`|I+D$u&7&NZ(nb|H^zL z*7C8{sig34#m(wUXAg3PEXa3Qy z`kvPt{nZkNVjshp1s8u%K~60nWNRvdp@71(WfxyxDa=gPBDcTRE*MRNLr)rQNCZ!~ zOs}`1n0HJ)soD{tIZkL_ogyaGMY_os8)z(tn!4ncPd#N2=b|?+JLm>BAFV^=_v{CT zwaW`3D;72spPF;-l@PH-DKfrB18l4nRT|+p< zQFc>HnFnMi_cZgvEz0{DqLbD)!^ z9%+9@j7Da;BYf4jwH?)%5=oluEo%ej>IZQ@NVPK;IbfpS6Qr+$gs&2KX{>c0Y2`J2=f@>gensLdNCZ-#7H~~2UariE zf2SzDeG5Zm_ACEf7ukHq!$U?iRPE1X%=^0=Kd|ZX)k2~qn47lE-fiYyz+uA^R9m8m zlRz`jQ|!ZgS(8*k0i%6S<)ce!YJc*Yf3w&vgXXZEjsSUKLKNVR){1!&{RIoiv zv4{9nVx05h{9(H@RLUBRtfL$^cDTEX|6pfZ>uC~(MzZcRwA##VIs(_ryoJ& zS=;oiB|W<1T{)(H$Q2)O*mCVRwgK&h)C_!Zom;;-iMCx@R%95I-dMX=0#zA$uWT`3 z&2Qg!KA<&~e^D0i=}~zteASWkWqI%FD2r!CzQrbsk=f4jq_x%k_bx=+FLAqs<=;LH za^Pe6vbTKea4mcGY~Osod+H8A&b%Qh^fO%O>SSYY(tBrNDU5hT_~Ssgi#9SFj33C4 z$@oa+HOs{GXREVUDeUl$jC{YTW2a7P1}SNgFucnH<_EjA@!KfQ(=9gatDg<0iTMqr zu14Pv2!+Y+E!kx}gk0Z+pc4mnTM!7>t?l;RMh-X-XlDjCv#uE>pTGu%&s`k&kB?)M zZIUANKT>~4Lt_M5)Oo5hroNOr_cEDS-uu}2Rq;)(?Y%6zy76pztzd%rDo zt-BfJ)rG6OW~*fa#G^{DV;8)IllfHUUBR(CO!w*eC1K)oUImc8ynIvIs#7ywb9paJ zpgm|L{~A><7EOu=Zp^c-#dD&}iFbbT!PgV3mFh978wglAtmhi>*-=AX+k=M@5Q)A>p1QWrutG#R}o zaVeg0cl6nu+NX*cR~8EfDFHo}c@Z)XDzTU^qLBB(YBR#35rqArt3qa^s-i)4O#Pb- zvUSM&a!=e`O#;8Icjs1b_m*mllyljRglJ#Hsk#x)^^ZizX19An%4T*OS0?S-Pk!9j zm!lIx>tIV*FNgr2~>PR?(eOC~@>ts>AqjQfL@>Wt=l5^>GST_JP|4ENX?zowuMtk+84qaAzZ zV~k7LM@yn5%(hn?mSmj1Fpk3Q@RH>JD8G5@7zAlM^JR*R3Anf8wNYi>mqSEr52YvL zX(fq_SqhUhIv%>e+=$=s>|FfBLaC@;HT~;4^Q5MpChquMj#W+SFfdRHJh$dnWhPkV zMwpgpN)b)FWm%JG{5L_tr5>MDd12H@@QoN0N%#gIr@mkQZQ2o;opIC+^K%ATa;8h0 z(78T^fdUtKD??jYoM{?4!uiT0hKv0Xr`0K8MTKH>1}Urm7z-_*$PUX-5-}?e^|TAP zifQ%XB>mPcpdE|hQQ`QIRRH|+x{t&M?{H##rb$-QWm9BgJ+Ac?-1FxRmZM@NvWg#V z%2@C;Z(NbSqS!hkm}P$bu%X+dF}kf8yM}1Vf**Ev<&Su&MV8c~)^`luX)xR0a4$jz zD<(@9O|GMSC6_ypxbjEY33Ap11L1>gp}8AN!g;GsN`^$Y-%_ycH4``Huv6N}CnJsX zo~QXHmd7VySEfV)0dx%QWl57puWwJP@vG?bbvae)0b*f<(*YA z`QH@Z0TJX3r{DY74L#WPY`Qr8gS4Tz38b%H+frNM#&q}-PqJn37qjq$Ud53do)>iJ z*Bd*jHY3y9!seN18kG}EH{Q9g=E9&SiU=Ah$&yT;Dt5~LPk3v&BgxdV>-NYyp)B3v z*A#dFD>?zbi3qGs!fq)FDL?y@JsD^IhL%$@prUyD6QMuBx#k1dTIy?H4N&>ekV0-9 zcYjudu^D;56|G@cL`9OE$P!&Q-w7phv}hrQMpH&P_YpG*92@ifu@s?9(vSR@v?4h! zd8R?Djizt>s}%=!eL|!P%qQ`1JAyP{RV)wAlWgPWZ~JJlwNCz0^#k&B1lso-Kkt@g zwdg@_*K)vi!YLWMBA)!J#&wfrdl$n36pLrh+-)qhaI;Qc^*Ix}J7MPi=@Awk4y$Dr zKSefIf{Gf&%tjl_y_M2v`R%eh1EI!9wZ(TOq0^4Ll{EZHsDU(bsFb1vq?-7r?eBG~ z61We-=c(=EdXv!V7nLnLSAWErz4@g+(!rGQxu_e@FqUnYSB>IssO(%uh{}R$eZ@_QEC>ZiPH*wxCd1@M4M*0E(4|G6*?)x%`P`mS zO`P%m#DIEp!tHO;peI@N0dk$LN?n^Cvg@b(v5{EV5u0>1UYkl3wl>h6T^LUkvh0CPRX#INMQ`8})h zLH5LZ#4dgj5ih(e7v*h;A^LFSUL%4y3xkfrVP zYCp0k!-&?2RL)uw*cGIl)`#y>*0eB7oEHOiFHDl1WG+wq;8tgkmideII%wPvz0;I@ zr5|iiCUM+&QITaw_{yalT{NeYSsGg`mx}^@3+r|Hd_XmVuW2snwB@&6C|MHbX-76~ z1H(?$_pXq{^OnyZkrUTI%3o^NmZc3JJ)mdqwT`OY8!{ZXEESg^hM0g8dxt+mUATaJ zXF+5DnP(eGQI2AIRxU|kzHZV9*6)MDGrH2N>7tEx9XxrIZ4yC_67#<-uL9_^#pe@! z!rA%L)5Dl?LZ$SdVM9CsGF6mf=0h7mt|3Z667w8sT*KGz7H;SqKh5%Pb-e*~68v>c z^PF*C)Je$fhB`JR6N&_zeY9czR6~5GwOXR|wO2uuxspobhm7faK5;ITL}o*u+l$$k z6M9{xt1C?Qz2jo`oKf`Z{r=*C_`poPkJ0&0RL;pZt^#}#7Ro$M`fRn!gp{4C)B#k2uvWPLCkH?n!{TN$nh1RH7we0|l@Ry>YXh-H35M z5S!icWRZZluRE|zZpHW87;4xJt_-jJB|S-X#zE^tbL!v9^oM5*4`B#7G!Two^P()Z zG&*XP>{>-Ke?Cy6kBWwAFHt)o>N_$3U=7hZXv;W zwkRjn_&2ZLroU!KRzhfgP4EkX?kx1LK?Iwn5cmGji8$!_4*7myK2|yx&!Nb6Ys>GpVQSPt*%{PR|3BZo ztVm2oviaj1M$lCZIgDHKg5TQOg42aQ41XzCc(bzUH&(=ErlWLP_1Fr=z6O!#hS!}1e%Yu9V%FO2U`_U#(`nK9 zQEaEi3=J?$i}`9L66usiSwoC*lG8u*#*2tGVY^iPLF$&f7af=;jR9maEWi|5zC;MX z$wGA5vp;k9CDjCJow94v4Ujf{KEj8;wihnWbgRdQ_`Ut6T6~^JzW$-8BbBZXVMhA(eacCw)qch<`J#jUmRoh+!5br+wP0y57q=ZB;6TTixNI#)|shbdR1 zqlhn*_#zSJl%Hn}!Taw2IL2h6J|p>(ws@Wl?ND3;4b&0ZcH8tS1*Nj+IqJNSY3eR@eW-3eVD2rVB`jFXWr2X} zXU8{g2JT94{?ym7Lk@xat_oO-@cibemzd0lux4SeimbI?U6Uwh&|=U7Pvk(g_;vtq z7OXvEqW=i0gYfbD4H2BX#!n%uTir2v=Eziz-CmE4%zV`TAlV7}Pmn-)hkOGm{r^)+D* z*O-N2e1wz{StNAzUq6imRGhqL9HR@Xlzh_mFtFbKzMFe`q`A_=Z>8?2C;;Wb zC7@shzksuo_?!&bGdQeD^Qs=&N%8mTp)QyZ0EWEQfx~sS32JR@Kg~pp_oFKjD{$D{ z{@i>GzlByPi-q|EWuze;v|WJUOJ=kca+bH`%3>Nla~!nODPc{>Pqn?yB9&%Djst8x zE3z-yznR@PV6~~=H}oPb;%D(wBsBL`yp`Ug!6!&D`w9*sK?}NEvRJT6S=u*>ni>U) z3}3#)%fNJvLh}O4ek_;eMN17oa!(1YTXch|nJc2DqD!vKQ378ts-uiL)xd!?At>lc z-Nt6pXX*9&>At?VMURC1&#X~*CTjvdM$_EvMs};kNV?878&ClS#*&$>?Y6rdM#{$* z-894e->|s$$J}A-&8-f_Janf_nD&(u3?rg?O1dDv9!+kzy zRB2#IT8dZWj!1DQBJ>NE-0q|(wHElQdmeeG9B7eO{~IPP!wrPLx>>_ehk%wsL?|QQ zGbPo&`fG)KLAF1*J65YF;t<1~LlKZZ^1!EONObyF%j{+3vxZ zyUJY6s9EEF8A#{oxo+mPHmP}`+*kBZ?{}crf;W7sV_S^eS_@lIW_IPu7>=`25C@_LsWv}rio$FPP@NFgnNv(c^TjA7;wBLx2AsE zaiy5Z#v&ESA1LbcTz^g1^7({!KwDA4DgF}u(?vY>W7&hZCg}FQrShu&jvMMe) z89LFBiuiP0U6XOpJyJlld4w9x@tZS7IF0>1J{Md*8}Itgvu}_gtYg8N%@bPYN8`KD})J+5Yt< z#O9QIJ-$PAv%=lLnNVe!$W8dO)6>XSG)t#X0uK>^hBRom1dHA4+H_71pl+EJRcJeO zB9|ynpn*~l4ESY|azpINr=y%u`Q+v@g74FmQ`;O9V2S{H4|%`K^*b`R{{b`Q&YUQi ziL7hxO@cQN{u9kFNu@N{SZ=j2*m%>+Cf+ge&?DLABKd=EzIcto@Fd6w?Jt@qu@0Zo zmBdsa#il}h)4_fd7nk;gE$ETOQzp%mL*xAXJ+&vD&eqRx)x=#=CE1p#>RG;^md#o) z8!Yp)haDT6w6Pi;kUse((v``RcN?fQ2l31V^&=z^>S5xDR!t((Fefqtm(j>qwq=Tr z>a)0`ez1~h0k6}o^7=BPrP_nB+z_9*N+ah*AI7hWGgoz|x@TPTpC)_Ib6{JNtp!+Cs4vSDjd| zg{Xc6BU%>rY0F27=sPv>tpEo*xcYOAt^9Dit@3IGQ!CfFw#sl3&P2Xa?d4yPoM}-R zdL++Z!Tei3>-*0vIfq1Fohk&0$>X838)uT4ekdwg^R(>;2dyExG1S~JW!7C=wm&J zR+k2};yr=j_nb0|$}o*j;e^O|8RW}6jpuQ)b~@U>?(xKc*P~--$KFt5scB#`$_@J7 z#(OU^k8qvP!%JP!cM0Y=L9I48Rn+m7YA&-(X4B??f17(6F}|HeNnlq3K+PoK1?u@yCLPy)c>Q}AWh91wIKyZ+&}4suTv(tF5L4(;s+U+i`#5XH6le0kynJNypbuYLGGQ zOf_EbZibd=zN+J{6YTv!+^GloXdcmY20JDlK@w1I(~Zd^&E){H_*3ZNZ&8Ly#$oLP z50IWpeoHD+d_0uqPX|d0r8o}$S@W<3sOsFeJ(Y9Brc~JRAJxEt`}aU{58Z^d-uA}} zM+I9v-)tXiTY7yWqLBcfQKym&Z6bAD`Vk7(Tk7R`7A*YQ0X>{ z+SDaBNPt3|=(FXF*3==V?&Bh82>rFjda3n#C?;Pl^iWeTwo0|KE`j%H*Tk7JDWugw z7-#-kYG!D9wPb1$s#$1j*((`It8QyIz#~46C^9#ABbbBSF#Ovi)oFge-TY;&|eK7V>oB zb`m$m2|wtnCUnB=fp|xO=<+KM4Z0a~dUdKArK4e5;M@F_qe#e-Y?_hs9EoXIOE5W- zA0=J5FoZR-r9n2V2}T$}=hE%eJE;4S2A z<>BF}C`IqSZ0qa+4q82f=}E z;SPVmkd3APl;wyPGU?E8zHVaFuN{nKKIMA2UDQdFPebtH`9zj}+^44Ve&#%L*|o^a zFb+AZT$Nag&h*?%6@uckKvY|@U1!H+;jXSzKVW@}7#iRy5`)@ur~`DJ$-@Xq;ok*M zX$QQfB`9VwhWQ{$rvDJtOIIa-ku2=C@MhmNsU^2rM!-jFZ!+JWvN30i)R8k0VhqCB zJf=$5>aOJ%aflT&(TZ1tm*UiQ+!uTrk&$DXU=@iK%HU;!Ec^ul%vll<9R4P97#Qjv zEJ&z49SH-Ej$?>Fm|3? zbadN&0_}mKYo-H8Hq5kcS;t*nPZf&`>`SMBAeuo$_Sd|QDdm?wm-cm0VQG$aZztjM zc|Cb`Sd)>LnEH(?IQJHCJjets;T^{x;&$TG+wdxiO5Yeu2HbPBtk|bGi%emK^5qk6 z7r;+f_()Nc9Z-+B_0?YmYd8VUyM{)cR+TayH-1s?zv(Q{p1hVN9cV^ppvzq-*=KCc zG$cDpZ<*EY%oo-4p+yGyz$seID!bcvNM5D=BMkDB(2kjBQ0y;rrQnUchF)A~B=d$C z>;~maQ{c0YwXSA~4cya?W3NcJYr2UyM1{h3j@{aqCvoRvslWZ9xCX$S!nfK~=}ncw16v-6T#D6)OP>u8zz$qfk4}XgTYskiWvpBvgkeEM zmR(d1F`#9bD4x=DDoGu!yb8$<&1PgF{^7xKKM?b9ewzTv823!Kr3`x#YOf6o(70#)V-x`b*UMpFUs0*$La4~#|4@5VqI#@izvjC6~}G;rSkE%^RID(5G+sjq}qjw(7ytr@B}^@kn8$=9U)Z)oztd>8mqn zO5=#rwa{C3#jU+P&#RlaTOWKN4cg8Pp$TA4>m<47ReMT1G%}OjX7*tAdQrQQmT>%q z(tw4jQS6nO6{%m^H?by(I|q~eCX+4v{1WJ%<|3eU1`N+vwAJpsxMdi4tRu2Dk9{2i zunZ}fG1{0XgXY(X+YeU3H2JFhT8NU(o%<>sio3x-mi;1z8%hj1%%&~d^gz@|Dh_`~S(r{lHqiFl#6M3jAAO_#F!H8(6Ar_1nBD2=}}<{H41!cgu_j@x<~^ zM}P-k-5}vAI?7t)u8ddrN4pV>%_^e9?z(#3c%F?ynFz6L;g?qu6R)-rjS?@pS|yVf zQ(k-z2vlj`a;$gG6M-v6p}!ihgK;G`gf?nJqap4d6UTWYX zr|kQ*rHOJUiI6leaqWgWznVhwe`);ZR>NWyC@a{}cH(Vf6m&>v&&fnc^aqSTJ!x1T-7RcIlHA@^%|uJd zVk?VqiGIe+dy75vvu+o!snWw(-viSwZbX5FG%S0!aE*0vgc(o7;1H10<~^rB(HYI1 zY<)@&!kl45b8Bs?TXb|i5P)0SQ}?3xzsj4=UCGtWeSTQ`{D2->mB$B{EXK49$`qg! zadqP#rXgV@Y)2nTAw4-c(TobpQVhV2MRIux_J*3$Idg(8e4@AqXauTkw-iQ7poOH; z1XE7?jqL4K+MT?o;;U~QXhv6J-ON=d*9Sh@R(5 z4Ely2=t`r4I6N|ow9&%8Dl~+y1d&VieExS0dnMwfqc zdJ3UqR89EZmY7l$>+9Nnl*vgo9!o!FoG4*#|9u8VZx8o6?R?;qPkxzKmN&LlC54*e zzzWb`(z?H-V>-F$$)&^eyIZRYn|QMUI#w0d;U)$(kTYd`Cq;4%OA@zW)Yxc}SN6MD zdkFNhkm+mLb|WzXo$^-5cgrlqEM_Dxz8f5Rze01pAOtK=xuEJKY5ku%J-p%nsS+&e zZmB}vKhb+E|W4dX|0zg&lj(okr>!RW%vG?-wr{HsIV3sHa_baAu$=hp) zXr_8rx=)dFKx?YGE8CT;4d)dLM&nW2d7HAR6{?5;!t|#2kHs+|B#-^ zwGo4Ke#)?ftWZep_ukj~Q|IMW&s$V*sY6|`cLGLu|W(qTof zw_(Q{(#@!(0V+K=8SBLfrhJ=N`LYtR3jGrdepkyfjm;Je2KC%Wk^*v8<2sR}GfELa zxexLT*ZK*>q!=^+@eTsFzM|NEs&8-Ph%^@=p4%g|H^y>-V|rV+Iblp4tG>s|#^Ii> zy7xFZBA4{Hd=9OA=m45|q@cA&LM1c3{`di2&|*l})FXd4xYBYB>s`WlAP|+H5(V&? z;m1ZcA+uu8PX)3tytLZfJUT!K?MQn!Tni6NnkRfNH)tabbN67n~JZ zuWsFUt17Z560@E$*$#n_Gv5*dRtfhe=0w`&j@6PW40ymV1pPK zW=M3;{aJxFvf#i$O3qfH#4aR)7fUP*{_i5tjt}Vu?6|5VZvxIn1s~@9k+z@*Ke)v6 z$}T$^y<@iXs@w|}R82&&4JEMpbJKS)bo!19yrbqe+i)yHPL1UC($PA%Ld?XK;k9>n zP7#-(H9|KmLNwU>a%?*2D6?0YOor52Z#8Rzf4MQ~?CF%hY0(nuOaPr;26YtKklX#D z5p^mWs>m0*9bwrUPbs`T_XCqSWz9KPrL~e5Pof2(J;8}(q5k_?VnN^Qe$}9 z_p@ks68+8tvg6)i!PL~bHr6l5NE=}Rq{B5Ye9t7|AD}^;&TzI9gnbmM1ILmfJ+je} zyz7HP;oUSsXCr6`H|s%=w}OvYE;3Vl4_|LJhJu^WkQjfCUg=Y@>*Q9V-W{$^6~;sU zUCahi)ZWpNb=n>fRdIMO0rSUkudX+epJ2L}=vyJ4IOP~HwX2^I^{6UDEOa(?vI26g zC&`*z(q1r&c&R%`@V2n(CgD;7L!&9zdK`~(sQ%A{K_`VxwC&V3CZFXh+( zc}zZtL|vU3Gg`{r1S?UKgoWg$yFtY?-^o%}%B+6~mF*GEEg{wCw4OP$pTB^vLSeZp zdE6}Yi=&3esOBq$5y2+UtzDj@z=g5!U-u@F@z zR%bS@;{ur&@Y_WX%87YcG`WfY^$Sp;!t8dSWT=P)D&)}26>bKw*qK76)a~(>V{FD> zC{z?R??oURG|X_Tz7@0SYKk3I`AVew1qK;E;qz_NJ@wt=viGi2_k2+dZ|3J|(zmH& zFB2j=QS2J?YYYe?XlVPjc^@-z1o)zJ}^!CJzdQ@#$1c>HrvV4lydwY*wz3 z8N@5N_43FtVq84BTL@$XD6h?elR%>&BAM7o?`1-a(ngL!M5BsJV%k}Bc+P-dB;F9c zk4YlL-tIfNm@R)G33{wNnHIUhJu$K(U(hfYtXOc|e$QtNjwW-2MA$}h4xY8$wKbD& z)?)yLPiox&QD3&ItR-eBJUKs=rHE{Pj&1{ef;m6#y|XWkACSe^}+8Lch1AEu&+B4 zff|V<##p(!@V$^t&`4Sx6*(5f#B-R!+OYZ7v8Xy$W<7L}cZ61A4wj3%kBh@EAE>L6=RfZ-K z*&(qWk{70&88>Psqf8=0IC%Of4+SKYgHYU_o5+m+u9FaIsDy<5G#csdQ(iz-^Y6=J z(wq@$@^$Mt)h7-@4`9p}_5;cDcO9RHvt?!P;(lBQU0~%SsAQD#i0-7eg|Q)v(=6@a zQ7>vpj(NC7L|m97i*!F?MD;1o$|KQGAo+Tq#g7QXj*_e_;UC@)c16d(ggY6mSv6D8 za8}-SQ)_qfWC-+Qwb^NZnJK8`3hc0GsJ^9D!x$^*Z5D$kydl*re;X|gS?>DW`?!wj z*CPuck}SEL+tn;5FfRk`w^%WdY&>5;!$2h+n>;wQu9gyOKiceZbjczga#w8kyuA{980JG5Hf459 zp`P#{C0k(FFV|acQa~SwW%v=3`TSK{_vc0eI4#4L1xy~wphO*q=Cfw89%sqSL&Dn# zf9x6<*)(`Wqtic3ya&egQhlqs z?O0HAB<#B02G8Bo`cIMP)NXUEeF%_il}E^z$;KN_Jnoz83 z^weTb&D7_?x=c^evG-X&(!SU7a?W~VnQXuq?zI+IJ>RAH6iq}p)uR%gzC6fZ^~cC0 zX9)ifRWP1V-8hKvc=vU4WdJ3HH#fD0uJ9Y?zS~{@wve1Y{9f*|!Wk+Nov;@C?oWda zrU=N$m>X<4g0(;LImdW8v%lF|oFwm8P$*w51P!o5TTU-3({_WTdCuAMruJOo?>uRH zC`!D*{6Jt z+pk`t$nqTBlmv%ek3+Ik;D4H;h8U7#u`uDrhU~|O%ZT}B@>AKifoQgHQFaG=g5GDbcjC$*u|y2 zgndj;M((b)oR2d&B}L0{;Vm!J^xbY5*$ML=cUX-eJZa}D(ulwRe21r_LB)C^Nc?V@ zx@rwn{EC{6rp=gWB9-<>!KuU`Sdy4!JZu$$L>xXo4u@LtZ~W4;#gI$R2>09zKo`&) zzp5VP!`K&XMV66+>tik1|NP$3vJhgB-l0bC#PXDcr+%C8lnrjX;dwXo9}K}13pJ(# zxlRU1Zej76@`~q??mXU_mIQaFe2=6(yVSDFU;1-DhU3y`5r1(Zxwq{Oeoye)<;hdk zsIJkJmWMFvavZPBmdiMKca6BEy!UxoK3I=-{U$Jt^7H_X9FL`d%ks`wFAv|zmxgzh zr?};4pyq`X_@`DLhD;Q;udpGCybfn1n>W(yUU5BsCST7zI*<7q|D%LD+W`L&2j`?| zF~WHB0vt2`YE9u3!t3C2ENSI5*sb%kKTaO}?LACq?`8Pe|K0aqcYfdk>5 z_JI?tUzup653|QU_`h-NQ>5gNh#H2cO?k?OX!(vk?G z>M@ZS2&qs=yw6()kngoJBUzX)E@j|~_-cP~&{tmx8iSaC!!EmVB^Vk)?>n($X!idW z?En3M;?+=djj~HrC{cZv=jh9#PDBHTrbU|Pj*?etC>>h9p2FBupn!TxJku*8xRE z5ky5G-7SlPB1^iP9c14U$i|L>xS;G??*G=g_jcdg3xo4H|MPtR-^r77_qlJ?sZ*y; zovL#yH|DMbl1L)uE0RcRNmRKlRi+4~spcVb*FOCs@8?eupL7^)9X)c?$h4f~=+PrH zGPA9tJ2pyA%^H$s#d~g!Z4@maIU_nYdZOQe=x$lIwCIGGxR|&`ovK7fM|ZHL4z&*K z-cu#Vr;d$==j4pC#>T$*;)^ja#>ZsYhQ+qFSS+z|ZDQNBX$3^9?3Xfgl1I17%xI^#2tCR6ghL!hx&TT%#IO4$E0M9jO8n_tz+V1 zgOR0;P7guGS3;6ON8Vu>IvbrlN+A-;P-N`D5?G%cn3kQDk;`N06dxzPVq5b|2O**1 zx^H|6t&enYW_nJiHY$l}nzUx7I)L-|f?Qcs@!<-0dTdUpa+jMwVlyyM*=(LO{ zx~Gp!%gp8xw!zRk#0I?-l=Mj-DU_q9)Lqe0Vgjt)Y-!0kS++r0Ss9%~|0DTh^Z;8{ zbbL&^n1l|o{-|IK(z++-q;+Z&*QRZ&xHhd?w;t3c&f3~+jceVab)1z&@iI}6emweN zO{6C0BpbQJ4{B|(wrOK+8>i=Dz^Z&Y#Ij-Q3|(18q7}=iQxyoHEy+$*h}UYw&tm1) zo9?EA1o`MNvg+O_ZFHJ*r<) z&p}Mlr$@KwY=HQ^@9Scr;*IvT>OCMj+Sh(d?`}^SWy`^!2LK(P3h#jTa&)keo6i*_H|~J91QV zCgw*OGgHwWtlMZPIia;BA)!^97^vU-b<>Mp)Xm@U+$xB3e-U#g)!puE^U?a+vgX2K zEHwd(Ot#9w);ONsxgje`7Ygf>axA)wuq(!&#H{$=8P$!m7j+O({hNkg4O^bdER+gSQ z4AY&Nnl5&|^vqB*{2!9(WZ<`oUE@uydF535Z!uJJS8a;;c{@ecs!9>h%)u4OJ8ylX z9wT0PkKgx$V)uBD>*BZJmuVV4nzGY}MRRkvfrFw`a&0g0d#nlmRe`Ed4XRCd)4kM~ zno}!kLy6R$I#UmNnEJy%JxPCsM;cBe;hkQjS7|Iwpf~AldY?X`PiP)FXfZ9NZz-SF z(k9wQyQzRm=m?#pGjx_N(ltqvDoNF)TGHLpeNq#th15neOP!=1QeSDH^rZBhG)&5r za-~5YE>C#8iXOctuN?IwcmA;eqNJY|7>9q8_bk!7Ls%ENfYG7(=iZz){T}+Rd z2AQ5U4Kw}S^s;H3X{zZ%(_GU+({j^V(>7Cq>4@o!=|TiWRE?+`(J-P_ggK&HME{7V zB8EoTBK{dMC1OUz+=#^yt0Fc>?29-O@l(W=$cmA*BBLW)MYfOZ9XU8MCGzi)|BQSq z@}o$52l?&mG7(ErgG29PgTyW{CedXm7SH{mG@Tuq4Kq;no&)ntWo`= zQlnmqnie%LYE{&(sFP9Gs@z_sS(T1e232{!%GfF&R#{wSW0le>=c-n%+Ni3f>R+m+ zSADJOhgH9u6p(AO{;gV{#5mx>Qk#b zs;{qpsQTsGYTXudTc6ufZyR<lO5~w)eJQYDCp&Qlm?azt(uU#*7-vYV4}1_mnOyUqHD}daS@S^63%A$0z4h(=Zy$O4TemxJ|L*ovcT~Eg=^Z`pNWEj+9iQK^ z{*L3dB5F0R)vZ=atv71TtF^J#$=VfbH>=&J_Vcyhti7oA&e~_|+)<}(oyY2ot~0BS ztImlW6%dS`<>yWE*}=j1yV-?{hBOLyIKSLeIZ?wWGflDi7- zx_Wo?-97FearZlSe|vXXy~uhG*85An7wgTbx3S(&_td_p{XHr7Ou1+2J;n7+^&hN1 zu>LFcKd-;N{)GnjHt5x0RD+of);IX+-n#d8zW4ci-@Dg+@9Fz$-Ph^9^!whs&vW08 z(RHG`L}x^Q7`-9-Y{U8udpFE&_*ui94X-t7)@X2}*BdQqRMxmkV{_x7jo)j$uJPIX z@4LU>{jc8t#r?%iqMDeS3~%y5lg&*oHEq`P@um}-e%tg^v%8x0Y4&onFPfD$uipHj z=6`QKxB31DDn4L-V8jC-Kd}2j(}V3E9RA>}2Y0nFwMb}@-s0mHds%bzV!L(iZX_fo*b){eoKCzy z@wvp=i3iNJ%>&GDnYUOfSh`xqSn@4btO?c}>r(5l?OU}U(canqREK6A(mKrRaJ*xq zj>#QA>v*J7bf@P!ecI{BLk%BFerWDP$2vFeoZ5Lo=O4N}(B=6q3%mT%HLk0z>o;95 zb+dN+N4GWIBf9tMKBfE49(VK@+~cDjhk7>ZIjrXwJO>-v|5J`mX9{>i2NJcl(t-+T_v9N5Ab){rmKP zw}07yW&{2{VD(=r{$;>lX8q;+fvpF=I&gDRt)#ytIg>69>N;rJppwDO2j>o6_gIa` zo_Wmi*rmt2KR*5OBTvLW@sB6AJz4L`^e0z5Rq3h6o?7tKg{ONw{r=M@pK15Zgl7t$ zZT9TwXTSSvy}xGs)%CX;e@p(`vgay1_xN+p=dLIBPoA56VMw1Lvxl5b>6Y?A%9+&8 zsqdwpPV1O9J?)2~9fwXIdTLn5Vebw*J^Z2JGlu_^-Yxy3^xvNE{ro4-UmDSWMBWHF z}RuA&7%5Gj7bu*LuBXA6sSYh_O3fk9&Rk>*wEi{Eb!P8jO2w-0|_f z#(y#4wh6Wg2PU?k_{pTmN$HbzPL7{Eb8`8V)G1rvjC*s&o7dk;d28#xTL0_Af5}sa zPTe^zVcMLxE54oicHuh@yn2~%{-)M9Q11-*tUFoyY1iX zXt(2=oe4Xa?@HXYVz*`Ysy!X{xc5G^ckRCJ`!? zKFpSti-dtONm<>p&^!u1HSq%u{FRxTk%1TSsau9Ey8n>pk*8=^5nm!RP)=V4rbb7n zX5|j)oOJ|E%2zL2WGCa zA3Bt3H|XMhJwLfvd^QPqoi!uG>zx~4(OyZpa>_bRv}mtCKJ-4gG4+{aZoy6eYNESm z&J-ZoWPkTH)HD~zX%$%N$2aL{m=q!_oue<$l-IKG2_a8bmJ1s{6XNufY1=rDm`=#fk z+4`oBOwSRf`J@UVs;dKW&)t$o4SH!*T3TlANMJ%-#TEU?yXNNPfDWy9`f+NOyQWm2@?<;Ss0M*6T!97yG;5{A4ETD|mwt{c?o0T#`n;^ZE zNn*;oq&}aUouggXvt^a>BqXKfJeJWHrv~CnKbWo=X_=}0vQjmbQrC>kevEq5Hj?c@ zugLz$P1AE;Qs&Z@(%CmndK3~#j6TQUfok9wGCj2$Qe0c# zkyq%Mk<9*(udAz^J#q!=i47$g=UnQwKeD<(ABUffkg5t+_EC8{~?nA&@Z_Tc5!EK?xf|U++Ldc>l^( z6$$%1!V=y#kR`-#h;-XPpM<<&v>m_*{;HIemd&n6NH=tJ8=~8vP_F2_nYN=<<10xi z8PQ&=d%4QO%B`E8M)PeWle4j4dOnf#VtP)>a9#lDo~XMmX}H1sL<KVMGvFuaQk~6ZoRfyInU>3LqOsX@Z@GPj?r(Uc7 zlUbntwq6-VtLK(KSKmn~Hs1Aa(dz$bh{>EoS$(gJ7YBLQV2?pP7@IV-YhQl-vy3`v zc<|uWgU|IIz?v<~kte)vc^>YiZi5OWkcU~EKr^BBEoQ_yN!JLk|C*Pv_ z6}gn(x43N@)$iNish6#%pK);uc>jruSsR_f1Pn4Hry4cf%a+RKDB@zg@2MFGzvppx z%g#yS*FLy&B=-I<`IGVm$DOUlL?$CwT;VuXaJ@D6{+}4SF7D*{e2JwRoNW{G_D#vr z0(Bv5ztmCM=QjUSSp`G&*R5K`t;wovGkRIMn?bhB5PHTH9<9hEL(TcEYvPY_3oa`* zQSWZ5sz|)(#}C^Y#EpG3ZPENX@CBRL^Y}e=&lzshwngfaF)Y)&8yZ3wol*B6nr#e~ zX+UO9G+2qKuD9)FbsM*FI`92@%$Ac9#8Xurm7IfsD6=P0ID?(&FMtU`%Rg%e{&$OZ zK#ncbAc_{)DKSE7X3n4p`k#<;aVG9X)E6I;1Hk$pUP14pr5P?qlPDErx~U8pA~i|q9gSe&xn6p zPlTpMF5Ciw|4{!TwO2A<>Y0=y0=Pbz*}~O9KJWgBUc|K|_!SoKW?M<9g_rblv>I~z z1(3INxTGpYyxgLbiOPB*%{I!G?hD4LPe4S&Enxa5#_{2ZCS*i2EaSx_ZAb0XD@mAA zk}XAqUTH&y7(EPe3#O(v&$$-u@OyopBT01$ zwyuoP5=DMbp%TTu$r-6a1#p-GsQ${f4IAiHjc&gRm7+k9?%oOPk(AAB`ea5&^J~&j zUoy&{)vwCA*=b3`lSid#J7yI$3_^iQuFcy--G=-7P;LQ-s?6n&8(J`5s7>vy1$(OW z;^kJSR!f(aO)v8W5hREY2LG!|Cqm7aA+gut4fB$;MiY|HSO&esX?LU7NYWkE3czbB zOl$8vy_#t0-1*cR@djrz`ZJk9qx-TKsLa;}jn0Wyx9%uP!X}-K?{wTa$yByCs>ZcO zy=>{JsVFZ|O~cT}TprEJ#2FOQKAZQ*RJ`Xl4u1HRm8Y3jmrUghxl3j@mZTzzGc!}O z4cJ zdAaO2zttZAq*EuR7?5mB9%f4(HGE)hrjJgoYeE}J6qC`eGSuOdhNq>WU*DyuSd~gd zIpT73oB)8zmNhEPmXn^Atu!d&sWNz9VwH1nK7Chk8Z5TU==AL9r=wAj8;zo2@%pUF z`iUoTfgAZpX%r(<#upWfF?6xnl3$8`nh8{nzG43a*}Ogu8qw-GE;+Kxu&dZ+E6Z=*0bQ|E<=$p=v%ww=4ADL zY1DAI)||BHp*Yb?)B5x_r#_x#OHE3D8CBTYwE?y?<#KczZ&Oxwj(;0Y3A58uP?7wC z3eS!vu*R3^(Uih8^%F~{XjxmdgYaJ6GuTB)~uP-VV(`-pzkT#RP*#xLp z2FByVuo-ASsu@JZ^051+C9|)>Mei8YCQbl-)6zScm((z$a=PZ)lCzVCCEL=C?T@5q zW@nAa?QctEJ!?bjfnfI~aYGALmN;Xz>4_8rR4ovqiQ7AWs#%L+vu*cH%N&+7T($6M zv!dA8KG}SGi*E}?w}!;ZQWxv;7MHni4T}ML7ox9Sa}3@!r49EMR-cc{t#ij>!hI>< z1n?(e!SSsvK8x#_oIAQ}Rz|9RHb9BiJ~_!5=_$r`z0DXFie^ah?Gk;wduQ3wUq-LV z8RC{6o1kV5xHp@F#UFS971b#t*wk9J_JXezUjk~Ieg1DNY>rgY*3Td zWA}7hT8bz=^{%@?*|{T)&WdkqvoqFiu=@N=Uo6MmNT-qd#9s7_tD&uLvSPC zII>4@hc`VnS*%rzz~DZV54XPFc?JYcEQfA=GKXfNK~a^`lHEVk*L!Rd?w2u8*Tf&i z%4%&^EL_lOOQKC1U87fT+P?pZT^{G>>$WW#Y znnWff;ucNz$8D&`&K%}j9m>j%?KV6;BNfHlN=Tx`B(O#1pwpm;n^Kf}t=giF<)QgS zQBkoWdV+oX`qK7XMe%$oD{Dl$>U~s^(K=vwR!$b~qK;BmllMvx`2a`M+*O3|x+u&N z*A}zfF0P$6*SsoY*;%MOy+h{qfKhX!_)8STJ0k~RAIpi;#eUin4gj@QCGc7p_v+87 zjZRE2Cru;T!qZ;WcAvR&1OLDlvQg`wlGa@pd#iB*DmBEsDte23G#PG?Bk%#JOV1J| zYT4r5D0&3h7XLL(7VhWgQg3l*Kb0f%sMtrdM0m)AaZ;Q~t|s3WcTKJ*-y`2AOL5mx z@OyW3134G9fl)iK6d{t}j=Pt1Y*epN^{>S0%1m+--3+>6zyAG`%99lq2bLIhyj~ z?vNuC%16@DMhU_?(M^;VEdW!;hYnlv1)=ais<xO9_>u z#2PXbKl2xvc!;Q{3+miQp;D1=0e3^(!+$@Vf=@PjN%5_?M})uCS0-7^yD$EYO~POJ z4^Km4EiUWUTP_Y0vjw486)_3wS0eATNxrLaWXfMe;>bz;QV>IKLakm4MT@;B1GcJk zj1F0>*zQ>=NOv=Hw73ufx|kTvv4rvq;h<1PEE^6A!$D!t3@KFL8x9INE`_TL2Zi1v z21A^q-2l+SoN!QRJo`2%D;yLmC*HcaQVTxAK_R=D5C_-cppauq5l{vR3OjY;Kc&$X zUqrr`Y#W7^3iyfQ_adWE>mqy&xLTR7s)ZHeg1DdISDaXbK?4v6kK$V|FQoZhuI+cZ zKO$*SLJj`fR~5z#%tBp(_m9W8jDs(0r5hSlyz2fMiL1ma`BfGCCx3}_JNQ`fmq_*T z6QlekQoYZ)v)cEw`s$A7GTJ%|e1D0=*U0-9TosjLSpDBg)x`CR;#4&kSq5?qru{>I zA0<)!@OM}Pf4&CB;(;{5zds1k&gk&9u+IE75Vi?_jVPbPdI{^rUjt#A@YhIqt%PkN zY!m((2-}3eM#6p~Y!hLd@Yg`tCj2!L_7h>72-}3e2EsPsuaU5y2-`&1Cj2!Jwh4cY zg#AR=Cc-x1uYs^l_-iEWC&D%nwh4a?gl)oKBVj-B-?0f)=!7d}!W#H5Xdw6s=GOm? zC5QV9rh%}ogJ~sfgTb{D)=O9~ff@+=kU*VqOIR;qz4&V&Y!m((Q9g(D64r~q2EsPs zuaWRt3EM>2Cj2!Jwh4cYg#AR=Cc-x1uYs^l_-iEWC&D%nwh4a?gl)oKBVj)gwu!J! z_-i0+6aE?r`-!kk{Qqhb;YyisrOQSTA9{ z_-i0+6aE?rua&S(gl)oK17Vx+*GSk;gl!^h6aE?q+l0SH!hRxb6JeY1*Fe}N{52Bx z6JeVO+l0Rc!ZzWrk+7c#+eFwV{524^34e`*{Y2O%!ZzWrfv`>ZYvjM_C&HC7|D8IK zFxTK#%&p-S9$YtJy@d7RuYs^l_-jP@9M(%%Fa8<`+l0SH!fPdL6JeY1*Fe}N{52Bx z6JeVO+l0Rc!ZzWrk+7c#+eFwV{524^34e`*{Y2O%!ZzWrfv`>ZYb5L^!Zs1M34aZQ zZNgt8VLuVJiLg!hYanbB{u=pj`UzCZ)D8MwkLpna)O*~6?|SObU33@T*Au^$D-Gyg zQ4_)_<(sc7-;8Gb-PDL4pg4-52dO1BrDphUiSHQvJV>#409Hwt>`Td zJ+`8D_@toY@!AelvB0qme6a#?K}LOot}pyp4tC`XMO13oaPIp-FaAuXnD-Y> z4|?q^Nl_!G2EFtj3^>}%5&`TGIT2Bmm^}j1Y_Ck?#u6r9y>fvl;>s&Da+cTA?U$wG8e<6-r$S(rTd)3d zMW!29ej(31FR(zSSH}{pT;P5rdg4+F{d`0If+Fgqq@)~{BbMW3p%-5$(_hCD){DTS z<29EG>Duq|A~F>g9zH1J_rfJ!^Z}Wcj-@LCy_BfNmA*^mrDTfe+jp02`nm5T%k;=r z8ge;B_V#!@+nw^)WV*|-iw)yL2sqJkmy{LmS zHPdh|lI-?R&C4>_U-6vUH=C9=nO8 zmp6VOd+@SlsVt4}yH-W-A}Q_+#GH6Z$9Xf+?Dyq0M4v8^rOOYl^I~ZzIA5!x$9_lD z=Uo|)N4}7$*LoGYo9G#E-Ex77WlGc}-b&I#7v7cElhp0P7qWEDvcU&G3-~Ajuc^Ve z5k2${5A)vd^JMC{Q3dbCxIYK_v-8Z{i{4Js!xtD%MGL^Y`z9}(qJVzmoB<7W#!izr z!^>azT&5U|SZw3_;E^%J3%!i!og@voGELq>Ql-6fW$Dr*TYUKUz`WP*2Ijkn8vYCD zIrvfdVuLgT*X1`q+*>mAH+YUr)9@-J*pGRT3hEnyQ0KdE$y>1t&z5NlUIny}BxzBR z{HuZI9-@hF%23^3X35gps(7Pfg#fes!BZHz=p&i#)FICn%hLP^BXlp3V~V_;XxxV~ zb;7G)dw^(tk^Hkkf_)^l{EeX>$TU|29we#j1x%OKA4{2&WlYA#8JGpU3a$siPb&Z0 zPX@M7;j~FIW}@R+J+_EwF8E$OV*nSBRAW1%Dd#Ui$&+(B8ITIVE5b!Hav=!B4mh$a`w-}_OF10Ke?<)fomf!j;G=))vc zbCt-_@#cXPFvqQs`eZGD>a;ACX%YGqeITYRf?W5VH1u+i=+_-Gm0$bz1ks){8T99& ztz9Ju;?5z^-lLHpA&LX}`V#@<@c!Mqcf$~#R>(_b>A;GMS2@u|9`osrU|vBnEJl=x@dHF+=~b##ga{cEKQqyqE)`=*8YS6w7FuI1g z)gU&L4hJc}ifQ_u=qdEOrp!-ltdSRCOghTlbcF3qqdEtw#{|{DZ+l@g#Fksk_WxU# z&}65uGUkGAdMQnlNy07*D)@*IaQ-{6x!AA+RZ)zk&3}*)6nW6wf zS`IfWM3pM6V)OAQ1n(_(_|d%!UMd|7;5Cpn6J+K1EvDfN(c%*MfUdVvqWg+@A3|SD z!)dsrfPW&gg5mUAhyRR~G)?lygGUQ}2lUlgRh(ZCixk6&T`KUC$e#q0^17FX2I6u{ zK{8m;H4g$^pS;i44Y+1&B)<}Mz~xK*_oExcb+93Yg63eC76X?WUjoHDZ>XJsq7O7rE2@jZHUx2psQ z^_PIay*(5`$CVhziWMvFTc}c8BB{k`>^k!!gVSJnA6+V&UToEBsh0vhT->Vb0pwp- zQicuqz$J3|r&@-D+~^;GKW&85M8vPK2ae zwJHnnU&8Gi-VzkPo$T29PUNfLtBTc|w$OC!G|B`ZOzH~;sytXA^}PCb!S@f*$|zQ<}6Zs;1(SzO<|DJ0ESLK-m|X^_BQCwd(CRU2=Dr+%P# zUrU&7kd%G{BppJNK*O1HkxeOiPz6v@ zpI2kL!6V0sI*o3cD=AR~Na~d!WrIKPrdrUkjsi(k>?QPavA2@#faK1DSbLcpZbF2t z?#Js;Kpl(LB5_Au-c6w>;?9ze1eS}X`Y5K@(^iH%fVj#y#i zrkhY8_0G(jC(}PT75Yl1Pd48KjC8)@HvmtEi5>eAnPg~5kagFY4|`f)lQWSoW$DMJ z-`xa`^Mp1ZAmJ@!^b(nl-3+{nB-aIpOmSGJ#}>=<(AJx9UP-1-efA?y7wOAlEX!xN z`NOBeJk-VW4Vk9x-w&oD2U#dnjqL_>DfzHVsXQ4fTL~9-49IzbNa<}!@hD%=jh}F` zQIjKi_=?XWcKUIJdr^IE9+i)#h52gO??hA)8at07O_7n2<~2U__0Z_qI5oL3ZL=Dn z!UgTSXLm?3KA;=*x2aIO*n;$vT}nQIr;%yaf(3g-h=wWbxhEvgw@8YQ-=_kl^WFD` zL{1{feH^yi9^uZh1v0%B1iDI5Eq37tfjq^?`Pk0)`7tfwGX%Kl@g${Q#~1_z%S`EM*{Ty;1W(unxQg(gVj}pI@;!yX43zMD5R_mu`Hx;B#e4 zTqT`vszhQOOS&MXgwqC4-5|RAfGnMFR1`o2anvA@X?RN%G|2VOb%*=kfUZXUJ1RCD zm5NHRGu^%iR8xx$eQ`WrBFTCdgAh{E??k;J>u(nSgpm_50seHhlV6Sj-(x&Ef-%Hh*ds^$G;3B5+`XH%cRlD2aRTk7My!6i z`AKDQE;CZ|xzlD@8qjeKsOWwS`69NmhqPr=igO-1hfez%kGPm@oJt{G>$cmwqCq(C z7)kZ_gC^a0^ah&B3Jom%b!1TA0{jxYDMU3JO-G3qf@qtO=m04sfWiw(_Z2B`lyDPA zX`g~*j{nIZy)YiKNs;pao(PY28vaK3P;|WhFfPmm)n?<-rE)L`@CN{AVrfPn!yBU$Jh+0ujFGZ7rGHod@`!?VWIV@&GFiF`&> zQXognXxg;tk7TOfbQxC3587EnF)#jh#`9^A;cysa)%M8OXHwVm6gh3?%$XBuYM~_r#55XwO%*^GO6dK4`nLj;GcWj%L5;0ydwpXo?j_T z!x)mP!5Z| zR_T&~3IcVw=)qa)KhG1rcNBC|{eq8WTA^fFv>qcsKqGCaa@jx!p`vgbvSCG>n3z64 z##?HoIT&aK9bFWJyl5nYSScH1Y18|^5C zG*9RsNDua-iFGjPghzL$|EmYn+cw5=pVxNh0@GhrQ|zc?0I_OSr<}v2e{XXMd2_ zz$9N;E=wQ(HD9Gg^xmUTj=)C)B|15G1IO+cHzK4e{y}z;>D;+;7q;nhD^*Hp?mir- zRW%Z#hv(-Vm8CHVaDTw9Y18O2KdqHbyT&}d!b>OBKxAY3-D2p`gZu1NJDilIc~#*| zl26G#&L?mG}7<5u|#)oHQX;*c)$aZH=%SbcRX3W?jn^w>0 zx>O~_;R8o7j~6#4MEeLl-#Cpp_hRFf6d^Tk{KBuY)VLPhRsGYAk$5(ySN6*hYZ^DM z_9aGns4?9Ga;dN}HQ)-ZV!FPF_Fa>ut+U6{QT|YHLcXzxs*j~PxIC8Ni|)B*r8-D4 z!11#60>Ztk*0D4bOoA5Y)fFXn^+kCe7u(%~LOcEmEYD+%QmUtv=P5;bzTfrePKriJ z+5PzDGQB1!&g1tj#CKEij*H%!p*-(?QKHuzznh|k3;CLYCI&@n38FlX3+y_eaIGU= zxpa-o_Tog@9slMMJub*=fnH)n=^U5;HO1%Vc;$k?)_CQTJN^`d_NMs6#dcchT}ym^ z5NIwSd;nKjo~HP2hE{Ip-w&w2@5d__7;=v>_{|*oeFEOKL?IrR>&4)wjVQTO`fmk9 zJm~nfEszh09#|V(n5Yyf#t8|z@Q)E(I><$YTsFw#;{v|=R8JJ*naeC{d7k+YO83FW|}0T67i())={a!$nf7v_>3>2@n z-y&J#MJb*NxK5`)GS3Sr5DZ|=;`)!6{@*QM5Oq9gS*XK^qC0`OK;K(XZfCKW3qiTW ziz$SB2zr6R79H>8--EYVC}CL;1WN2IX0zGqw4lVUojGxlqM(>|vn{J> zg+*%D9^sbCN{?AbGcEb_jYYePAk%u#f=W5ageU`C5WfwM|ImV4BZHSg1GsM_*dUPY z44D%2P!!df%^z48@)hO*0w`F7%2seim7JF=0uuB47Q~I_B^W^BIxmvDr+7USk(&8k z3lIrT3nEU@J3@Wnkc)`fR0PEhI9#_w0f?AY)By$4SsTnYdK&|x4hx`7yb2UD$H8Xk zBoXC_qwNal~wl@E!I2ODvFX|e@6G=B(P z@GI*Cp|Q2df)fQ@$Iz3NkuwCEQOMjA4hBU*)8-lImtPemlw!ughK}EUnrMM>wtruT zE24uI)Whje2({y_lNgxzo<(C<3>Xe%3@|b?yXlM+UE-h>jQvp)EW2QR8m0t%aEN5! z!-$=hi)OO!hV5a71-DWR9=JptRO!%#G~UAVw%=khn=wx&cn^3Vt437@kHZ5uQbDX9;~Y)b7pTlk1^yk84Z;sPNFnC<+3@U*QfD6pAyb_GMm52%BgwfgmwPS{#wKGw*>|fP-`|#$RG#jW8QU z(4%-Qw%|xu*JTmfun{FfT!qS72HtGl?O9HZ^q3$eYasDH3)YsG6a{TMDx}t(i!3<% z)^!N+I`4;=yl{n>=#baV5hEQ;=|})w0V7o^NSDB$jC92o+!OHYt&o+WQXR(N;*CPW zQrK=WjYdM=BNak)6T@26cLgdj3jzHV3U!Mybyie=#5)1s!wztN#ULLH(8`viQJ_#w zhX>XyD9qoA9j45}3!4%{QQ+)kFb@VLYAT)=u(EK1^#FWK3GgUR^Wu4_@bdTJsr^x} zOs8ST=phkxY52{%UK!iA9}TsGUuH zV>|FCDzX>|VD#)36>9^&y%Epe^nkYm#f`C-*Q`?nZy>V@=ZvMH4dLHF3k^UFqrILh z$2Q8c`~|yfv8CW9Xn32%*L`T#q}7No)K# zxNd$!?SQvFl$v?5d`&?LcVxwFW8wDB;(9?WxN+x?1$pLTUi?HP^}YH;P3DZ z#jrCyLj}5<3M`X-DAoH0!@;w(e^W)C13w-(ipq3@(Kzn0M4A&56V21TXvU(X%!_3e zX=uE|9L!L$=b^w7tdVzs@Su%V3Uq=Gy~z?`wpuM8s{|stYsUnLJpB*h?g}H$%wI!QngUD~ri$;n-iy?j^A1 zC{!nJA7yyFUYA(Py+QwFA%qdjQCyi=bYCENwrZh2l8i*Ly`W%B$JvK=aHzdn72yi& z)Qn=W0O)qg!odHJ; zSP<4*AOyk@C7O?5YzcA(AkF@2K$vbpn65w+fBKI$$h2St4Nk>?VwKH!OOR$(xnH7|u3)klh+Xl)U3bl$&6!oTLUW9cN zoYP7kfJ5xHi`fyPUMpyi-_RG}#j)%{~9E>6=KW3U2LwOd4w_3!VPN*X^@^dQhOzk}y(i|E&8_~&n2#5XGoCkcUzEP8v zhyw_L<0LpV5;a+Hh_T-u3BqZyACT4{NUP!r zv2i6H5WLtT$c&0CgEHBJvU3>E=?gB2a1xeiMxj+u;5a%UBHUmY&K?wYD8{mY9S6Uk z!)y?L8@Y+iU96rm3xWUyw+!8Zep%R{Xmx|f4HXT`NmOUlU>W4phYg5|%);?8^PLtG zeiv9!f8|Gj4Jtv2OAzkBLos@n1#Yk-I%ta`szAINCi(ElGR@Z!0^A%ep^z~ zLMq)LI8`X3y#_eW3=@CHa0Bxl&ccgnj~^OUQ$ettf*cYv$)a!wq6l+T@9q38Oj0iZsAV{9b_KF&*c=L8YB2H<35)(l!j43Inmjy`PIbbu&#^)gg ze%UXI#advoONlsAL0kZeL-6d%Sc)+goIEJ229;1c#d6ZT4{G^^Hu{n9K?Ws2W$pa4 zbG99+J!Y3Wt`|hSHz+-E5XTZ1Sd2#q=*EiU0IM|-w?(XGe=?5wLE%ru2M?RD(XK%+ zW!MjtMNx{8vtIPWVB|QU_*g8KZju?uXRZ6 zg<1~-$}<{p)PqACoMClFSkHG+6dwWJOwgIvg7N%GIpx_8{(K0BIpR2t6LltGqXdcH zp%zFwjt6sI4!n#sbQx4)JpSV2D%30?4(M10?H?3J2h13sIv2o7^!mfWN5TZaVf9v6 zFOQCu!|+nY3Y3)5yC3nH$3)>r3XmTpBqaQZO(|i&mkL!%pf#Q;dTBauhbui#Hy}T| z39Tm>yx6W#p`^3W0^DDN`eV%h65BG1#74{NHv;*H5$dq|a0j6jW(f4AQ}OkO%i>TKo=P$5@Cyb3hxv1s}PK-I!t{emkv$d^l3D9^+^v{u7IKHvv*6 zax{ct={rCTQG4?y^bwC5B9=V?_X|2}MC=23u22c26N8eptWgQJLAgdSCvjlGUd;NvxPQdS3}+AA0dx(CBHF{o z^gXPHkCMzCK$G~r1rMEmCb7U$ZXj6;-wm&cdwVWg#adgbf}s$E9;O&$ z56skh6gUK5KOomeEC~}Zn^*X#;z5O_qL&LbL4#uwPr}i~U{zaBp%cjxv)&@b^jWSF z!f3GV8#@F0&gRqDjNsp`*3%Z016j@3%@HLmRmqTW3MXHT^RNqOJ7u|OT>+TY{409n zBi_W*R?cmB%SChNFR2XAY}!PHR%)l#0GY2q1EK)PeB5%w%y$>H@}H|nPet)h;!kX6 zh|Xqm>CYWOzw1(Mx*KIdcj8-lcGsO~sV&~~@4M71{G2Z3JtH+NQ!rY=*T*xy8li-y zF@E!RLwqZxKHS<|ca4jEnou-;E2Tn>@XAFoTyn#&aiaW%3w`*TpK#R%g*N>BEPm1! z7tF+{g**IgFD@o(gx^i@%B4Fo_~F8vCg86W^YHV)_#GDl@l(R$)OIcyVhSz=VhNk0 z7o`}8c{LIoxp0Szg}C%bd74)nyyr5VmMBbO=`h)%Sf?G@W5JQX`59qKnNJKj^GKUO zFO5Zc5f>$~1YDjJhi`sf7mp(rWkB542E5y&^hZ3ItJI+u{@BYLO4-l&q0hS0j*en&Pf5S zNMZ6O2DBn1U1XmSqyqcVL`%dn9nF=|8ZWYjSbm4G(jdkk$&VgUwcoAF-Q|iEGnU^=$foD=J%yX`H zNO|+HlZ&w&6g(KCJdetO&D!n(563Dmf-7Z89XRZqn>U+TIi0J(;w!`(DhmaGLsN%+ zmLs2*gQs$F2OY4Z^aaYe2o5;ZbuRnR;l_xTK?fc|k2uW(Ar|{!sE=_tKX7>X3lWMfh&juHI!YTmMADhRnB)X1ad9_C0>C-k|1P4%9^<9khT)QRYA_;ymEcqfi9nKpeT;{uzWq03<*M9LQ3RLq9Dq#7OTAq|6?R5^0C^Z!=D-1gvj|G} zL*-3&K$XrJ=!{j$xPuPdNcD0;0_uQy<-PAk6aiP{K&tJ<6o3Px-eq3kft(izWbQh| z1aY05;3W`{#qN*5T)@!Cu3$=Fq~yfmf`JQTb~!HQ?PitmhcX9}c{@OM99(#zI4FRX zl6^n>1E{Xt&K^U-mk}*H=+L7PGcVBar%8`wF>!k0pk-#`l@|IrYP?#Qq-f(=Q z1C9d>6X(o33iTALFvJ%;4GaCDC_%x17NdB@X)i^eEPI)QqY zncOGf?L>)+w+B#svL6&MIzho>XLCQIqbhRXc+)^pz}_JQ9=aS;3|$*33fVIWibJe1 zoYpw)N4y%-M{ zonYucf#8;45RMnGCFL#{~3Xdxa2}A&{LWTHP2Ef``V=Q7R%xjUx zwb-FRf5lv)H#;g!5D+N960ygKWeqjHAy@(@d=IKiR9vx&Vm~uZV9u%-)RhEa4m!rG z81Bu7C=pvD`ySrwXz@gW`dyI`M7qITy4!3j9u6qs{jjReC$ z3`eBh;c(f`NC^mu&P)RV3?9$8otbB3@$)9ZIx|ViBPc4aKX7W1lh+C4AwK7B5zUUXH5q z=v5Sos1h2G2*D|DwV=BK_3$;+i3A`~CxRjN^<2g&-mNUW>lx3SaysGJsGhq&`mje6Zj>VTrJ#P*4{TNJ#Ae z9*MFM41rh7V!WboB!r0glT3%*`2~0?SWGagM|5De2u0O6b9FeKU?-x}gPTT;W zIlqAM!mnv?&R@<8i$j#H6AORwfe8_**Zv?x95V5sjrqetXlzday1;?b5HRz{BJUHk z$s)0<5qY2(0|#ArgawupOeoJUfm(RLafEh=UKH!lhEj;2Rgua+Nh{G)hh3^31_9`E6BZ4sW9<6O8wAr!t|v$b3g^n;S7&WkLE)l zJgWx1gO|*&8dmxQto27&IDc?X5MUEx@S|XSK+R;4RtZDZAByqW!$jdm3miAlrD>7f zS)k%kBmyz?$80F}V61bG<2w8^);(xAdEs4>56kvr3HkKFvn+Ve{TKM~?p%g67p62u ze*nnGa(i*QsUc7mVmL*F%U(W-RWoy{gO)2?*fQ8H`1)e0CPVJ2YSzzlA#yMM=_Xsm zWbD!Ja4NyE2On-0IP?%cj^sYxQSBLrpLQrsf6fX~7ES?3T7V-yB~527@^aUo*rKun z8UpXrkw&u($z2s{$I7@tUSoHYXw_Gp4&Spj^q555~w5t4>H z1^EGx9B6U^%#8Ji)I7wMa2NI~@FFbfOngB2rl5r@zy{&t%nNcA+zkpqc(2O)NIfUs z!;`igW z6mWR)TWK?{!@th6pWvhN>TEoiG8@x5$XI2cH`rW2f&OGw;^!ky5M^Usxa)%<+wqkW~YeTz(2xi zpy4w!jzHj0apMQKbLxZ z1s%@0&J#G4+;p0|e7PWk)?fho4scItiT$*LzT#zd3i&)T5c>|WwL6yz z5@dv8cP+Nl7``3DH{34Tk*Uab`!5iFF&6rw({|1>;MN78XCCGHm zeig!tdJg+>_%eP*w^q+V&TF_mC@MM@UCz4z+*MG`3|-T~^%!@dGK1?hl*$aHN<*pE z&}usF#-m<*6&=R^+osfX)TUbak8BM@6$DpnGz10Lb~HmvLwt_LJFehpj34E}CS3KQ zyyteVdf@s7tBBUf#-1pYyAV*Xl9M;p-#|L-*(G4oU&JHs^~T+L_)qk8=56)^eCW&c}XekQx;oZvQqsmSy?cweJPA|4fwsc0em49G5TXQ2ubPeBn7 z@OEEv{pLnBhwGr*ue{e~BSfW-B#dmTC4 z>v0{Cdj3K81>JSr7Qhud`raU}a|Z~Cg~kE?H}KAgfj&HMxe?;!&%*CgcOfT>Ze&|J zKFHNvZ@Lj?x@JMmE4L{y?$G5AoC4TP2%=!n9anDXSRq-$zmy=?hoIdKKB(PrBVE)X zpbrmYX5gpPjkJw5?efP=Vykk^Ku-o6uLLO~Ixft~>uIv;j?#&-F0oFNPMc{_78)?3Q2VY;0mR)!)btAEM z;d(v_F?1;8>};T}{bK3kfh2C1s}MYy0y+M&gKi@p;c>n~QHY6g;ZY3m*fL&<>qajF73xCo65 zg2LoMw~BjYvSYYZQ6bG~!H@BZJmBw# zhEg$fFPw*o2a4$6tTB&|Kg=E~)d+qB|6(_u3}PT45AU5UkF;G=r`m&XKPwCbY+)(^ zW?QT{!Ab2KP^(V>`VSB*x=GSw|?ArPzQ=-8frb4UTvq zh&nL;o=e=X3mEGQ})zkq>iQ7{f0mlLv21x zG4EeM2oK^J2gF&?11dGVe0&&o@Z$xBWzb_vc&`+EVC*X=0`ogQv*uCD;pL>Egsa^& zSwUeuDANdn+2?)}h;s@b_`+bA-R^Q1xu**p%Y-rxFDGbbts)g~9tdk!%>WK%9KfNB zLyyb%;WoJ=Jo)+Vj{!y4=_ysr^Bp&$GNDy)^`hZTJ?_sGq>H;l9Y+x0E?VU_<>#-q z1BuXykzAS)6iN9j+~xV?;vg93gdvf5_=nr%S-W>Rl4F?8{D?V-pqz3`v+SMwMT&Upij>3mS4F|aA1BK^&xJCU2 zJ}U~u4vapvzB%Su;Fj|9Io3r@26T(+jnH7{=U6Wa64e_aaH!wF6^?qZE1h{zl@St4 zuDK!tM&>FeCN%at`V@g|sk@wa(NZ^xH$pJQL0taltVRxZ%P}fE<0CY5(`T3(4tbHn zu41fyD=?~SGbA7nN4^qo?8R~QQ_HbU}3y*hWjjlKjB#TX%h*po1!?97%R_79DNLt8fwTy`Lzq5SV|f<&#o z%frUEgBBsi56u!q8(_GT7Gl()Q8;0Bxlnincd>})6ZIN~!9cU>BKiiFwh*6oVZqUA z)M4mwsMqk~aFXg`{q4f3e;`V7alHoC2kJGzU^hTgK38iPxS?0o1EF5SwHn-ZBa5T_ z(71Vse{OizXh;kv6vx?^k{h1QK<*KX7-bkC`bN2iXWK2{reR&}!v2CR5j;b2dyDn} z!zm)_HA3__iPs&6Y=B|&34p=BvF=c|kOk6$Yr7{T^8OW$<9N z1SRrt>Bd?<;NY`BjfnSK3}Lx3!d66rufX#>5QQCK={Vy;KYQIM+wcp>IdR2p=I!eX z1Q^fp5YT-P2{-%KvP`Q{v!NR^sy6V6)24lXBpeq(pnU%%0eEC(dkpCPh{g&6G7t{= z@&AupuH6F6v4kQIXS?}`-<;s@3CNIE@g9JJ4TT6!S0O4uFiNWnkoFnnXDN|4t={H` zFXU)A{{W&~F1IiY8KEk&8N?ZWBv8*7gxahomp=`TjP~RB0sB6PkQlWKFdpO= zm_5{H==x!$;&{>HLJ;kC1(J~qc?{3_TL0vib67t4!MK6$dP$|jK>8GA19Dy;+#N3 z3S03zt^n4fVez*cZ~~l+qd23$?SHPJ!1$mHqVo%%KokTVmuN7>8!9NCOygmVa!kSp zNSrfqVuq@BH=jUYJgbZcKe(>mn}CAW7GX6o77y=m8*zNJgNJuO{&g^E8K=7nj(ayA zO5q5>H33-G-BGM`oOp6Rj5G({o?OOLE|gaQ%63wok5UXzzNQHX)XV>~s(^xzze zGxI&}>xjJ16DI)qSlr@V1E&#eOdix@;I|fR@tiV|v=aAwl!F?!ODqf57~|0%sxmMp z^1|>xguurigUSp>Z3i<{W+(@Ij6-FHu2&XvG6sV5+{5++EsMb$&n|(=pA0K{2a9AA z!%&*xHbVHkk&~i#umJcvyltW1Nh+jSH3cACdRLqRV#wTCzVS?!&o!1}dAMPOD9?Z{ z_{0zo=m64q4vgZAO|Gxq6%gx#(_yjnW&qFUnJ}tl;0@jDhszRvgS3DTr}#8-2DVc^ zKW3!yD0&yI;I)S842b$6CSj9;B+NVNGIT2B!UvqsqcB74NFO0eEQLlPE|+EKfP5t3 z1}BU{Ks~cDA`ZP#mVu*m)LH1j$e}i^!J$72Go&%DW4!Gz|JY626+CS!a2xTw)o#G_ zaMlhuM-!j8Ia`2u9^ofZm!ad2%8U&-A(YmxMr8&cUgvYtzyz!p=wlU1Ep+&;v z)Xzt7EN(%dE(7f-w$PzbnUU|=$0|HdCy>`5g!U}w^bHT*Kx(Fk^8Eqc=uYA`3b~eo z72hG*hQKCb1FS_4#pf{x!4zo9|K5$N443C?+*T1WS$=^VPukGQz_&*beSql?Zq#Ei z9jCd_AQWL*X=J?y<|BC!8~q?|<9Iyyu``&E(&~A0J;qAU37mIe9lB0|v1!vv zp4OEp$S7sSJE0T<$!aL@l$$p2S~`Wy9O(nZ;~XCMKG=BtXq$QIehwnVkW7LF zD=J4IGXW2vG#e-&f*>MIq)YF;cL)io^iBvZ34xS-zw6mElf9G4x#zz3zJJ{N$tRgT zd;eB>`dVwRJdbQSA)8sqMiSQ5?W9&n!i8+1(OR`t5A*vF8%sRMxjJ%nKdBCKvd+Dr z*i3{g*^c5Kek2`2k~3t>3%MuB5R#zL+W-AdB(&k1g}#TYKmvtGmZy^PAn6>Iwz9p3 z{D^*%cF_{byP;`=Oi2f^H26C@$i^2B=%0ts^C5oj^>Y`b{IucD{cx8=j62{Z=@_lK zXYsO9Hmq{p$G!Xck+q^e*GvJyy0Et57~p)0wW0 zj>V{|_>8SMsy1md{>P9HIZ&t7kJE>Sd`1pO^)7=$KDww}5&tgyF61*N{_ie+6Y>#f z>O7wGRmevL%DDT|ppcKSHg9=eAK_S`+=WV|_76#P1y8SE$R}4hyzElwM=Y?neG!s~ zCznD$A+q*m-;gwTm^J&FV!u{w6rNqE{8?YqFhi1+D%GdbhopqmTu|v#T)}32&C-x; zdG=Ce&+uydnk6C0{^O&!E2og7Kb>gef0WNr;a7U9E~EWt(~)dq8lCFs zWD`Gx-nr#!?iEv&T**}{iGKN~$rMxdl3heBDW{cs{qkGtY>7$o$&GKl_0|D1YyltB zgLsa-^XM!T%@@I|E~l!ZizX-Xq^2I=z|+*!>9c}pP8pn|6HP$RQL4_BXXo(g3VZh1 zou=#Tv(L=6Bku?xIi2Sz5?{7WHAzdkdFAS@rmJ-2N=yU4&YUZptP@n=N^(i-*5ggK z8;NPXY^`auz6J}X3>O{1SzC^ni^y0#!`YK72Q3N0IB$8hKA{J8q^#6zI7YbE_bxGw zhP9W6gb~jjuynM!Oc_sJS!Aj;0TdQu%e3#wOkpu1%mPD#&S5o1nixG{b4~RvhQ3w~ z8#SDR6ie#bv1G9%t^dj7U-FVR%`uJs&tmy$G$!y}XHat>*(yQK*g0c^+hT=&YGty1GTN_VY#DU+KRNafCO=ERUF8o-n!07VeuLU~eXH(r| zL!Rf5>q%iwC>|=u-r`F28)>SC_|$B%#n+~rxcD{=@Y7pf5a>^)8Xo|rDdUlRP_lWa z1FJs%%A_&YkDwL!)Le$V?VlkXs4fICxsfon}E- z^%>Lc!Dt9IYtCqX;z}mHmn<3^1pyaMgQlI|-)p*xi#L&XlU!WPl=wt|Fk7h_QZ27K z35k@pI&D#M+~}Y|M%N2TU5HlM8o^;pqYcBA9yB0WqRF_awVac$kHl1@pgV3s>tl5R-PkgVW80CbWngKh z!@m&$K${f8ZRfU|su^c(`|6`9m zN)b9*7qIEyXmJ|BLSIC#ARpna{pE=pa{rQk_?bSC=EE zt6c?MM(gI=U+lCrhzr_MV(H~*S&Ml^6riP&cHO`vP(SsMO)@>~t{lieu0Vbo@~##+ zR5kM`?kMVbl9O7!M{6CeUY;7-?*XGW>eiyjLi!%0@~NBYxKbUEyNY)b4z(F0iF76# zC0Rex-vU&Zpn6qPy|nO27DJX?UNm4JJzO~%Te^gehi)i&KqfCMG!=8ihfMz48C{h~ zJBe8h)o0}P*r|r5%M9kAQMVon>UfG1d#RKQ_i)sZsU}-0B5WuH9bhLkGH#|^PRbF; zYsYRcrs`fs2)Duq$|&jfZYLpD+CSVB8gAcXg(>&wv%gO{I< z4$ud(Xf3Za&)L0g3U3R0{WoUl*(k};^EWRI1c9J~FJwFMRDs$;){rnW? zSkjC$ZCX6@6X( zs~}wU0X>31x~;&OV)MYA6ebMy(&%seX#D?LrNAGm49=TvGyHJ3Zr!>L4U(XICr<9O zv4=zRfB^MA9#iRw6DOiZ_$l&O1VL~{2{bJm)j$kdT24$mO#OQG0>0A~rCx?xaVN5#Z0v3Lj(?cOS9dS<>jHi@^Uwj3 zpF+U5sVS_5N0<4*SFJJNVh`A(JM)pJn%81SG< zl<|HEBo9Pfgh7bWm|@w zM7VmVi>ZVgDH+w~TC475-F%ibsY*%kAUmVj)AUU!jJ2M9cz~6|QT!#eD)oCiMrkPq z#Cr0pDiwe~{_*bM}L~?S8}H+1>@sanGbj<-R$se+{?U!Wg{o4{1R4JF6JBttpl6xt@P7g?;WbVEAEvsCv3hu>soHM&51e`H@z6i^;=F60 zW+p>3j?62kB7^B7{sF|lwGP?47pB@VnQp2&WLDYG109}hsy-p0ORTD8MZO*6NkL9xaVJsB!8EYQ_E*N+ z#XQnLI&l|Lu|fi|A3EUE6+DH>eHh@z@<4Si%fE1wv(=%PVc%V#47|eXWMes)iXEh0 zwrm>ApLYUaoWR~_{bfkJ-$3Cto1gU#)74jfgezNeEm>R@1q2C<=7;H@e~LOg&G4@| z65%{j9+ilL3I?7mOUuY}Th^Hvn9I@9AOrzbiBh-hGmX5aBx;o-LLI;5C^WJxY8nCn zmmXsYScj-j|7TRHj7nv)I$gILs=*|A*<^{4pQ(c}V*a{FWuQ=6)E-kMvoQ~2p0uqB z6siyLz8B_ZSww%a5xu}N-VH$;LXs`mqg>(5OESvQC7Wsz_Q+6bBl#Mqe`RS%NPrD{ z-kg+XlJ+%*2wmMx*!Wse+}!@0

nRf^`q!S1A5ZT;_=DQiM(-RFeW^__$ZvkW$p7 z5M}F-24*XxcxQN8%J^u~-VlW9<%>!^g{~L=R^E#g?+oYrN@;QkI=1l%;kM#F{zei_ zmsz_siAtca1hquSp1Qo-sAhVhIXrG7(!nN`XM7gRM0vgx=ohV9)Nf)?|Ar0WdfLnQ1dPis^;KzM0# zTk;%kYP$()yz~!Qi-JXFLMVL2*PkD&IU zhUEh?5>aujiEc!z-x#ybqVCJe7VN%^x|5XZu>wTbcZQSb40q-4Hp6m8kA9qYe53cQ zg?_(y)j?|P^;0p&tid_gNiD&sji&L!gR7uYkrcUrrL1jW*klp>QI`<h%+-FQ&HRQ*Yu|GVi2+0s_B5D6K^Ut44ybW#!fA`(iP znrS?A<9_8b9+Cj->@p&w+CiwUlCWm$V^BRJRCtwJ|9tikOWB;XV4#GUt2KId+HXJNEH373JE=Gx|bLjpKTz{X8ShXv#F)T_SQG3;B>k=W+<9ii3oUVQ{(V3O z{J;^W`U?}SpUS8)AGMA+$O@&Gy zEH;gI-MFd?4@zmCA7vVgtC!KJkDwYsYMiYrun<=%T*hMbDA{qcl;1zvROc?`B+$tluDZN5OQ{v0qA}9Z@lq7IaW*QrPd~lIG^WcUb4~hDUY@zC zPA~c$HCy54>H4P}>r+i99sFBtGmXuEV+9#>)I`c(v9g=v>iJ2G>vp2!V6y9M(r{^G z&g`P5nlbkmACuRNFRYsmo1O%1H6exnkt*pz@|=wh$F|Meye6OZ!Vwz!7*4PnfYUUy z>MB1ORogw)bP~b5R~9;)VNyPGTwVodUYbYiW-bpB8F#Xhgzv3Qf3=HaTO`+Pro#8` zWNL18{)9;i-V;3+n8q)jWqw+${Kr$xFupn{5pt=7SbV{HOsb3%=5pn_bg6VX%k-ti zeoAVt5rMUuPC_JnF!7LS^v1wF!TV~Lw|CBJ)3vjA$3;OpqYjph>*C)W5=qeutNFk& z)0kM3$)wXs6W6kO%?;~K*Wj8}7x-!Ea8`Ob(D z+fCQf5s%FAlM;Lo3+AZ zVXK-ot2LWa?r)~*LvExtQw^=`z2X@vxyUrOjM3XD%}^;v&5{|ac3B>us$X=!x>0BH zH7LA4A9L?2Cvc5|NywwIu4fA+*(^ymNxIp;ky7Zxu>=!1D9gU-QrY2Hb;;$E!?12+ z+aTFANV5MLvlWqSsw78OH6@eHI>5?$ZXG^lZKq`Ym7F=*a7eQ9{zmqkY?maNfbv~( z^&}&(W$?aidn8*B$)-teexmr1PdNfhB*>vzl20g`A-VY#U1WnK$s}yfH|togXf%~A zlZ4XRc1bp85<2U7q}JNX^^<%*>u{|*$j7@|>(WYVDf-=wmZG0z?FmZq0Po_v9OGq` zSY(Qxa(I??sF!5+-N}z+KFW_At<@4$;T7(aju-8Y9$Mi(?n;BG!4+bnZ}*-xp$y?j>n zK^5*YP$LIcxQjL3JbFNg+x;rsV?(71_lWdHR=iuJRMRgiVA)Wq!acn4=!$o7?OXMw z|CX;yHdJyO?*H~S$78umD}eFR;T`gRWF_~bLftn=mUEX>U|-2?0T+h=!#Wg?khlA~ ziz;wXF`@YW@81n2E7ZNs?zz$BTWPzylzC}DxzVwcF>g2r%pNz5FS{xEhf$s?jAADx zCWXCjBdV!RZu37XRu`COuJAii15&usNp1T1X)M;u(Zz03+8Arm``x9{{3|(pQV>cP z)gVSi^a(f14N_<6r~9;g%tfBFxHY{JHOKv@GNPh(AU=wXl;8j+MrW;oS)jtAqoShz zaFevwA}VT&px90cRGL<&P;*+UjOgg`?uA&~(QDjBbR@a=7Q{+bgArRQxfiJwLeHK` z`k_uw;}PaUt7c=|OVuK`(JY#O2yi@QGbJ|$M$7_OWVx}znx{pPUq&ez-B4qn-8zzI zbD8>Ag22RUmyVbiJ7|OY(akCBB{#b$K^DpXlLMd*ZnXn8 ztD){SkWHg*_^$~!#%^?)8*5zGf~5&oWMuR(H#uhR=&5MKe`0{6o}x9baX@3tw8$Ua zygF$*iN9IAuHNUy8E~s00xQ-Xts#+<5WxR`xN%z=q{9ja#Rg#VkgJ)!8Mzur>Y%IT7GVCHnAg-1J^DQq6RP#n zhb$0Mpz??Tx`Pg*K!V|aQr(0^96T(~X6|bYiiXqb+o*3{TRyq8J{2d=y-xi2c}j6Z?U8Dm?LDXf#0*hoP(lqblH}e;nk# zpfDm@q=i7S7m|!v{EW!vS;!-9CD=%~H6bo$<4IT{YJ>YIf3q1k>C}!~SriAg4#e=v z;di=SQBk5HvjzW0iKHepP2_$**&(i}lvYl{bX46bO$ZTVPph?0?T7ew{vFZH*;j4? zl{QHbM9J)qhMFV`Xfvr=5t;=!Ed&7#6GhMW6C}f5u()@P(-C23k0y&OFs-WgPFd336ju^eX_S2uonbc!Df&sI`46@5^1_Tw9r$1{~i z2`XDOYN08jEQ;eu$fU}M-#fIY%S6ir8=xRNN=wk)%R)yjj9H}-?2J?i`UFixE)?^+ zaFSu9qGXCI&lTUjRR+)PNCvSDr=kyO`KPQd8AH+&yvq2Np{0MckirHDq<}FbJJ|>_ z0Le5Fl%QhDNLbhD_9QFW2-0QQv(WcQYueG&-0e=Z&|7#8wxVvz&@x?-aTMgt#L*-} z&z{o9vsevDVqn@s;r|Lp(dfNSe%yMqe- zW23Dq7ByuwH3{&|a0^r~Cs<BXyi3CdSI#DcjNR(wq9fE#v)p9zL?S#C z2!*1?Q(iGZaYx!^Vn_!Hl?`J{;Y|vIFX7n-~8ymqz%u7S29u-ASPDtQ-5gaKNrXhxf=ouQwhDLOOKPhAA=LAWmoY;@E z-6Y$D6efnf7|>hs5J;Q}iCN7^98dqP9I;Z&f6Vp9Y+uA6AxkDCBhqOiqbJk#W>CkW zAtceb>2PBI&7c;xR03O!+7@aWmUL)V^TAAq2m2KfJ|hdprjrb2tCMF`ACWW_Mgv7M1-SQ(0p7CdXbMn*^?pCu%M#1|O`a2Suz<;2MRV$FJAg5p_} zpp2*nB(OM`$ug>%8U$ODXtLVj4vS_c zNWqaR4~JijwUUdyA?xxECMwk&ha!p$m2%8M`|SxGOA*g?CqVWqLh=6@oDME-}Dj28o3+BWUwGn9+uhDod1OTl7W51>=r5Z<1SfNaFUqoDj-Q%X%|H^ zl%d5f;8-bHL7b+p7^P&XL=#FN+eFlf5$=0fr=@u1!MbsydAEJfZ7G^SnsUFNz=#%o znv$1d(_E}$5)s_ddmVUjJ1#;iMJ;cx%Vf*`MCI^gqHw=FcAxh9c51A+-3Z?t){^&(fvnUWfhg;b~?ATR8;g1N=Jm+U4h~lDmn4u4EKYtYPO&LX>rb^ zm{ONcSG)`UE!#v2juWIyFs&7Hv#o<{c9Seh!5?T0iH zlZ$dWkrEIgv%?yLDk?1iY@FhDMsdU)AE5gHVUR;IcG6e{B+6pMaLE$nj0;f#Q3Jv6 zb%#a8#KfFtd5_tvDKb#l8D#=X^hexarqgJWH=@Y=h>}%CVnKTu2=*QaI$F?1D_)LR zAr9$;spVi&Q-dhZcYX{>8ZdVT+rUH$M%@FaNa+EzGP5(;8MfIXSq(y!Ay7-OW*>Yg ztuwYK5OG;l1A(yNP`T$4j+3~P#HJ*AMQz5U;Of}LNI2zdK{Xl5h||%*80oUkkmYVn zErRFLvk8So3UDt~kiB@oU4aS0~wD@O*R&Cug1`qHwA1eq-_ufzqPD~^l4&? z(Z}7ZC{NS^`7VANrDZ~9S0S7D)l!cVJ0b)M(?xFa6e(wuRJW@YsS7qJ%-n>v#DqD) ztBhrIDs~hSa8p*9NCy`0snt>Bwqp8b^h-#LV)5)DIg~n0Qr(v1` zdomQTVYk5{TD)Mg3mT`mGa~z{e9CpoogcY~7qF4h=VTpDRwpAd?>SCLsv|P8#cb5y z&nxT=DwPwF`s)3Jig?YWlM$khxJ#ns4OQ?=CwEbdf-_YRSs0V&zRH`SQA$;oh#;pp zNs57Wrjw)`hf;h5M!x5#&rHNla+W zul1^55)$N|oc1IqIyKgxjro*Kg{%{mTBy6!y}a0O%`1ILPLOSbWWyl2mZSvP?ne?9 z=w4h~ukhs?W-7le^?gYK3EOBzC# zxVYgJ?vsY#@x%?SaQ{3hi{DkaOE9l<+_x2Olg;Ld`=-KeMquoq3U>?CfC~2tLG}-E zw_k;OS14`8yTqB|zpQ{I;o!fzR}9aJNZc^)stO!PLhu-#|MoUX2%gdkU|c77hrAzO z$^DRcgS-MyNd@+m+!k*{8m~M9sAc;I-{n#9 z;@>)M?$I}i`uXqDY1?0kQyvl#m=yMUjQGwv5yAgh`pPMfiX#ny$0?eabQk@UL!IJ^ zJtQG?ii?Ze?_)JoJ!)pdacK1gKf)<2sFj$s&)@=}pWB$I~@v`LiTF#w|oYd5TRFm*yeE zfXTFg>ue7eNc+wsJuL0*=K>%ppOx6c704Z*Wg%|u+52Zt?TpNAZSAPd&<_#Zv1 z)C`a6NPJfi@#x>#jv)`hgF5lks7Q<}5APE^7_WQ_D1sfs+(y_leu@V}4Fo*mG=>Vb zl*NRK`vH|FQ9A^HJy_)J1%+{~tKC9jF2;QiikA0aC2CYUDC~3_imHem;z9S=-}sy5 z!F#TNp(bJndoXOejH7NaWkIPp;e}^l<3)+%z5_Rw-z*t*327eu4+r8~4>lFEy^6=u z29r*A?dSyUQr~#CsGs@G@}y9Fd?6bP5)V8i9(asc{@XCigNK5YP>@j`^@fF@ZrVE$ z_&FZxCw?S);Bk0JJMiG^*~CZ*1v7%*ED!FMlsC2lCjKir({O$TljgyiGbA+E8?p=R~ADWE(i><@pXz zLA;7%Hi^aW^JF0pOdNRxHY6@Ky-mgL^|<2Vs8N?EP6m9uP~ehxru^|v3LJeu#VI{y z_>uAH9s&(E&K7PTBe&BrWptt@1-TzB(mez^Dj=mVAEHlZXdKpldt@h6MB=A0j7dA_ z6qku2SzM|(*mWSzVq==7wt9-}J`=Uy zAU2h--%oN#86A^uw zBslnb`~d_B#bGE^e0iEZ(&haW?C|2pvb#$HMJEJj6CheAGlW9H(JHQAZrzS z(9fKz>zzU6mdB?`AvJ!#R8pBXd@kLFE~Do= znbXTO32+9D>ipX9X?j%KvFi0hT8~p~Zy=RpN7K-8G7DIEx=aFPF2f7=1kPg$YGdb~ z1=j%fw61v0RSF{0WwFzIjm~`7p(ycIC@6UcOcZ5EnX))3$qeF(CJf)9kvHTHz zXW~<_{|$D@B)Wm^P{vQi z3HBTu*$@RuaV&fG+k)*}KMXmuT;l;mFg+%S8wY~v$30~mh zE5q&bl*A9!I6<+YiH%zp{4L#N3D`m%l5gP2LtCD(w0w`@W7S-lb}Dv_heQJm7@6r* z0(k}=3@BZ{Hq;v{JmeXG0@H~+g9;eVUGlhMV?9$qVY-OKIMN3~;8g5g=f+hZgo5L^K#nv_8x>0*_W;TAXDBX%gKE>ROs6h;c|M1q0L%3_OR>T<(~ z!)&p03*c1z9~d%Npn{YFkYf|kEIYA5 zi*(hpzlaSd6%^oSw8yw3ss=CICu@j^Q#s1`kCD>O6q$F@n5EB$v^L2qT-hw7C21u~jma(c5 z#K<(%8^BPYGBAd{CvE~gPs~jmsWb{!8Frn&XkvJ(_ z36*HIn9BG=kNp|af@CN-fs8(@7tRMbodS}5fVV^TfelBFf*(Z?GyYH5X%xddG>Qxb zs5wvxk?lz-aIgx@DWoW%`7(ZYsVOY8p;2t$(Ysx{b_uIAj*_szhDMHI-YkjV2!gBv z41&-o@)J7Z--4m`m}5huhG1$77c9F<5M(CA$0q}t$PyBo$sl@{Whzy~NYAt;uz}bS zEF&0H6R?d!bLua>pGSbkvjT<&afA}}OwvK62sYyoHl!P{Adzn1XcpB$bg~x7FVNhN zi>rtWETw(nz>!Eyn6knpkdjc2VHr@?c!4q}#7mWsk5CR9utmfU5$p~Y>LOOe^1s>bFh1?z0tw@EbQ-?GRwZyy61LMpN-65@VFj03E05If zUp&r6=ME_XXNnRnl3~D-FMY2wi3m2G$#mCMw8w_V?1;yFNl2;S83>jf1P7K31n}i; zd-3$x3&Rt?OM_+I7e)4pjn!VNu7Z=&K}g6!aNtwK8tj}B!u?6bx5Mz==76V)xhkb> z?{u!jUrNDG*z7>l)VH2c61xhtirp{W6Duy6@pPDiJ00&d^`##rv!L`chJV~) zCL@%ObvpiO=+RH3wdVm(6{qpN59z`>(Gn&Q`NESSX0hfRBx=T9g}il(>kp7op@U3% zhS0u$yOeUl58)_57@43TOOWv|J`1@B%n!~$3(q_0fIdM9>Q7uQjm7eyS)5o2mFQ-U z?<9sv8Z)_$ktC#)i|^p7#|;1~U6Wp(#Qas^R2Ct49kchx&uvZxH1Pv!RXGJ}ve6a2942p3C5(Noh z$U~q8$|F>lL10wp!PwE#`m``QlZRmI<0wX04F8evqZK~dhfdBIADD!%SZjY^EVP$s z5V;8DAQGb!XXFPR`C>Z=i9b67j%d>1Ye0;^VLAqvB2^pfjBtt~bBJkq7@IqZ)nUU+ zxQ?@r(AgO>1xolgA~ue-B<=ume}tP%rDS<^M!FM?a`6k%Ut8&dR`EYk!4h*MErFst zqqaNM0`Vf^4x;HuMq7IeD1CvP1Y7+v`r0pnoTLOd> z4@gXe|2yj#KSl>%#dkDfJCkf+0}}~ozY2K!O9XTdG3l!=W6{5}7}6A`eG0CS9glE= z@#pw^SRB_ke${d0ox1yynqcFM~9mqAX!Nu3uEP69} zc8oiU#zvR8$x@XP@+LO{2g!~XLvst$z!4O{w$h<<3ey43EXQ^v9!J7XN**uaq+?j{ z%xV&BmyrE7dLelSHa+kp680cAmXnWgI8+=aaTjr?IQpm@bUiA_N_ULtzw{>+CodAH z!dQmvoAehuUmS_vX_PNk@T3;R$1UJnym)>T9SZUkY-+4#qRr$b3nw1|^N71ii7B0n zj%WwM%0vGV)8+)e<}x}7SqcK~EMSiVOhR*e>Xuq&YKuP!TfVQ8;BFW46sU7)a3_D> z!X(JMqBmvAIEiyy8n;ath$k&|mEy^W_n&*DUnvzJ-W4AocTSp)A>Hv*yx93n@~l|# z?PpVn{k+v8S0P??vT_yjr6P2)0?JdAH*LuZo}yTR5p3&N7@JQOUyb#rD_Cg-<^R@G z)+t7}DEX131naMr!f-QB<-VMcWL*VNR{Da4lC*_e`IV#t*@Zw75#)7$B-gj|S6%a1(IlorIfg~+N^1P+`D=+RPk)Rb<4{!>QoQEVk639tHa`up1%V|XNw>7W# z<<-8V3rHe@m6BkkJIL+}l44+`8Au|6T)9C@B7y9~AbT2!blGb`G!cxYp>UEPGW@wi zA_&iAHv~y>xC6=2V1-`xP>9iq1(HG`sTHD~Bt+b;wUQ(S*$+WZJZb@VNvn|h5DnzM zBssL=nRSknluCYE!%=?jro1;;`zB=htYih{-S1OLR>H#n3-?H3@asB@PJrKqd7Lai2xa+b_iZtK9!G#C?KViC=`g-#5hFV%68DLfkK5+ri47^z|9O zkR+8nAdZz($)hmDcq@5^Q`)PquQY@tgA@f{$^W4Th!4d|L==Y*QR)4jmEiw>zTekZ z6hh1YmAgB9;a;E5=N(XC$n9i;!PhP~&Fo>akzE?B`}F_zSG+1|G~LmfhLU|MQ8FZ~ z=WNvAQ{F<~#NhM2@GH_!vBQ%t`lhK&UzlhxJqStFBCcu>0(_T~F8F3JaFX`li0`?<&>M5!wno3D4e&+z)nkenjq z^Zw)`c>?JciX_*hq%_w}ruZe5>v9$M6LtZTWAZ(i&q5+e*zaa=z zUDJFx7(o=3k~qYNb(Az7rTEkgF@_RRKFN+`7YCnMy58S-fcfPI3JkX<$Pn|tmjK7| zYhiFe#UTK+>9thZxHlLEHhQ`cy=cLm@oLyYMAtiblGmV5Ouz zi9`kY(yocyd_~@)Jj?b89kzW^HYE*E9ppRsB!XTJs-03ZN&EeDf}q`c(tbfo0xCXl zru14nElC*Ny?aDG@W^CfC-I@YQhf)w-y0ua>q|a{kC0waYP#Bu6zPdVC0ZJZ-Jt3r zid!Uy`GmmhBvanK+>=HP5V8?OkmiVPO7b#-f>5k?vX72w!>hytHi~o~VNVA>MK*M` z<0(r(D=N2l2CdkPDWu$=5mW1#bTCMTe@usPQb`xIsF2o82Fq?$CI<>#-(8(V zvc!oh*`i_}i%5A7X=1C|_+P2S3?DIQTaoB%x+Tk~NTvuXr~77-^y!63xZ|`X_$28w zq46i_wdp?6HCRBhbRT2YO@JzkBX>6|y-?qt5HvVzUT8E+dFa^Yss6q|VDQnXI=KCk95hfqv9QhKAtS zQ^L`D&kPaZ!QlFqGd)8AhR$MEEO3~iCcWC z`v^ZS4>MQwB#VP8u&S?2NtL((6F4a;@fSZBqt`1<(OvK>bYn8;OZ?f>3Z+J^_YI>0ZhH zprLoDX+aaakULIbmNu%gwaqZiXLRcpFtx?i6)rpvFtuZ+AP%!yj~}3vn=}xAsRKBY zKtL_?qeujyC;=2nAb!bo@SYRtDi*IIS_%!ZE-h}@2k;j2FPp(@^zlw)8Vf+BDC|3- z#oB?Sfdp;qV$fp0heD~u35W_<*X%)&h!m9=3cOj3^PA8SN%&#C;mI}>6(ny$GS-S^ zLx&4eI3hv@+Y)$7|FNrzmE098*)pcXAn1{aNe|j@z}vBa5;c3vS_YlOB27X_NHi{s z&pTdM-F}~ugmpwZNJykO55MWbEI|Ca%7AN?*z+=f%+WO;n%x@eKzRlAC!gebgcOQv z*2g3)2ir8=4uR}-mZC_5Kl=kOhq*+`@0)e}%_KZER zq=5v5Widdk0ZbAIYA=IGfTCL{)I?R%TlHM!M@{83G;RzA#2UTaGlYAR+z~<|2_QYT z1Taj!p)f-jm^(E_2Dx5M{9U$8a}q$j-ee7$42UF<5W)u0t5dWI2PP>rW}vbV6Isea z@#rst(lwKbFd_XTgdo;Bj5E=QY6RwW!erjDDx4e;S-Mq{0O`wJ$?vf7lZDyp-`Tz| z@=UytdffE^6Z3*=UaabK`sL`8b5C_*XtkHvhCc?!xP?TM)btgDr%3yB5+QOF5 zBx2Z--%*Znz(mm|kHvZyz+zbcXE1$Pc;hd4Nd^%&Of0=J_T+HL5XOZN)BJGrBCJAhkUL*nQsuHHSE+3eUoJ~Bak9A)U>nnt)yF=3I|ff|;s$v!ecsIl@$ z$pP`EXec=#S^@E9c%Rq{cp_OKL3J&sIGuuv_i~U)z`~<|7yAY-PRBs(U9v#RVb7zm z6DO_!jvnJixT+*lK(rp(am57dBYKx}h`R5?McNL*0ZJHvtE5~yv!KhnTd6*>KoXO- zl_SVOYosLgu{(6)o~7U&V>meAsM-6B)S<)u1KlT?hy!c0M$3F_=_7-R5P|f6Qb2;W zn68p}&=W)0=dDO0F27Kyo=&HBm(S?cGf%BS#(tTG{e2|^J+1!daJy+EYO^#+BKh96 z7F4fffG{rY1Y~Py6~s0WZ&e!!79QUnO`PEn4ep&Oot=rnnr}qX0pv$@{No0rw`JpKBKZzOO1qNeY`>0#h(;mK*rvHlg5~!|$$Q5ZKK08Jt zj>t+J3Ma8)q!6Tv_z-H3siIc*uK_Y1$|8Xzi-5LAXm@J|B8d@9q6pQ{D-d`jSp)(0 z;4tcUo#WHSEU_ChMPS98uN5F$q&EuK;k(p)7+}Zu6tF}!#S|26NfqI*Jv=RCB`}}p z!-eo36elEcBvnvGAZ)k{KN$1wc= zK!}1a)E$XD{XevA)D(`rQLoa#ELoOGc$ZVaKo6J&%bh>9~F$B96my zKY!3zeqlW@Vaf!oqxuQg(P|bEi6CC@0=_2&97(B`6d!pdL8b5|d`#yu*}?h*Z*i9J z#kbfmhf3+0>T`9oixG_v3I+Kk^1jKZdy02a841g)%j>gA;pmR`-4c%y>(~bkjzZUN z>wt74$HZz5x=J6qm5l@sx%Ww$fD}G&(ka~VEyB|~$4`Jmr|0jCUY4PB!dK9X_gTGq z<eXj91=-(A^(4!LzgCvXCCnsk1oS9NFS*)NahJO2QP?w| z3cm_=l)^x}o^*v9Ndb}LH|{3YA+S4xq=GbM?+W>qbPh?PkmL(Vs*qF)K}sryBt}?2 zaj|KPrLFrQFT+Fan%D%cYeF-Zy$5rRecQo zJ1Snit=>`zNDy9~_>Jdo0-p)|yskQ`H<0}*KXEFS>sans_uf|j)IZOwm-u;s-+!Xl z3;e#w)l2C6vexrC{=UNfSJZ3J$04V)`b2$z{7=x}6ZMh$RDX8ij%e7GzoK=b@=~Jy zYKR)Dep0`x&nZ_g(Es9oKXi&mzxR;y8rL1s>rMD}1=)r+X&`McKl7BTBA+S#?|l_p zt~|IUOzx!y@9}Tx59OH&&YKHWc-uVFT;{yHNJX^EH%;@T^ESQx;rtQ~+Y6Wb`_v?L zv+L&8&wtRX|KJh7PWf}u^k2UF_s8+ix4Wy!by{{`HA@+f<`|T2#aVvlec)3a|6RfCb01&4{xr276jXSSWn_np3WDl%j>2 z$C0J?e!i}V(`&A5@AnrA!z>V;QpnL$7G|LetMc+6XSbPQ2L?ajvLL*ied*$5jvTWf z>}S(@_*u@UJ~8qMzo4zk2>YtQG_KaQAj_2N#_lPr%&>FgU#Mm=VQ&A+X3n~qC0|q2 z3gxQ*eZf-Gb*A?X79d%<>I^H%Gt~B=A0#6qxccRX>4)8PD#w+6)c zqPeE4`1iXl1Sc&vUva@y!{qB;wNAOJ^}fs*N=qKIo^$BiwF9qS;E8z=y zYsc&U1~{Tzw|sr^9LL-XAXzbUH=1?UtXq^k|MyYfeEvzNm!Etg?nB?e;o}z^-og2N z7T;sa)ofH@u4x>uX_2u)c=9fo5&0WObZ%2ES4CX=!22WCUEqw#Y=5PmP_DbC6z6d4 zxlrs;oGwsv+(k3&_*Zv^9aUlBkNtEqjWazh{wI}Df5B;v$C9tR71e#mzC1Im@Q;6l z?N?#02fydgJmcau0k9f$nj$v0z^tF0FXx-C6CYlerd-DJJ2`FahXB&3avHX8%hz3s zrQbCyj{~5t+Y9i;-JH}^5*a|M*8%=0-*)n2RGpe{8d;C*0{HTtBOLZ-;Z7*Eio=#x z>3*>jp2jsR3rttZH`TXugj3&=W1Q#}dCkz8(1Rka^s?trg|&D&8VJx7JXlp@7riNqt0${1888QFST*T-wj#h z69lLGGJ8l-l2zb_lQb~=jDHmLRTN_*tyvN$+_unN4cBzayU8H!A#5)6S8ol-Rd)g` z?kHb315_jE!4I(f*4&=UnT!?+c0X~3RPpQbbrVyJiU&1o1%)|BS8EgCWz@QOp0m4j z88$Ls7?GEdTEv+ds{eWaVAsmM3+&1(LbgGrDI;Pl>_#k8M!f<$zb4nPo%Hn6e;3$# zVCpN{w)7TO*WnlGso?>s>Rw=b8q3#piua=rm%?ouo76TczGNyENco`%zd|*KW32ir zLao$83QzlCEu_OX|2hjsN4>UyA^NrMKg?!gZhT0aEeL`h0<>JW2!Uc{G%Nu15vZp@ zJsw0&zHGXRlC)x^<|_3yb@d{s=LBh&+6ihlxC#!9i-C$ z)reWLYlXXaFaw?NcMI#`Y60KRDRUp&!TRo#r%dB$Rr~EV0)Bc0CCP_^gxLcOU0u*1#S4)OT+?PS1GAetW%uYjNJ*!Rzg}H%KjA;r1Gb zdK=~T@uM8#tNTEJVw2onz}oP&%*aM~wVzomYK4!`f2Yws!unCWHGWq{4TIFUsu2f; zpx0qja@A7QwGn^!4xhRzHK)`pIJ#%)mygz%u5P~JDbJ^UhfP|zIrD6ZX%^-jOxZm1 zyAPj^srH|qEmbv|zCD?7P;zQ}|JFaKx?y*HFl7AvO~NDpz~;GQ27LNzz4@wU(|2cN z<(pTJ?-=q}mBp&|^^bd}?>drimYz*n_;JHyqTIuWO!Y}$X0>qFJ>3`PT{K-+mOL_7 zg&WP^9-Dp&6YcOU-=lRFl)tf7xoW<(3HxYalb=+0-Dmo(xOC18E7{;{$;N*XudiW+ zJnk_tiCXp9!#udI%?X4VHH!{26~5P(iNkg0FS+!$^^Y%B;WgU&=AAughL@&||A39! zo!>Vr*L4Fgz$5?h(b!<0?mTXW?f>CXV>NO7|Kt}a$nqk&oHSd_o7c}j-scGmgQ z55*sHg}t(xzVM~NiH>c?UEXJgWe$6$23Azrmz~O0`}6b6P?pT z#;ci34!i2ESFVR=7NhLSYNv(!&;z>4jw)AO@8Khy!C3=cs(H5THeH2FA4T8bHEa7T z#~GZ5s*UF`sv)PdQE|leEc8v6V*#u)z#1Kr>DaTw&Isp6Fl4&P^y8|M#EGhEHr3pC z(3u^kF^>~cgO@Dvjpi{b$=`G}n_QZ1x^gxnrf+c|kMd|TP2{JT#c!}NT$-?0}*Tum{Jtqr%c@~mYz=G5V;?Rpxo zpka>8z}>P)Hr-D(;`4WRxjjEw7NGCu$L2S)0E{5_ag^)a-b z$>H8xT--8+nj9|-jT;K#IDxtQJm;A9%;${pSro|Vd|@j`+hb_?uh6pX5iG9p(`eal zxjRiG<5oFt{p(V0uGmc#d~|^`pi3K`m9=RyCghyzebq(w+T6n-s>O}at=USnEd8kL z3ZC7Isjef_fo-v?nY{^YnUH5Fw#A?+H+fvjGI0Sjhcp1xA4WjRaeO3U& zqK-StE-817$%jmJ%}h=Q&ELXtuJthVW3ssQbPC#jQOv2O>(0uGy%di78p)EG)ylB@JC~&J{}`<|-VI z-6{FCM*VfWS;OgsA6$ju`3GR=zk=c4&QSTWoTTUR_8xIe90I`X8Pm z^~C~u;|Fu8px@V;Mqwl({!ORcfcUy|_p$^a!%Dq| zOTy@IVgGD5)h24Q4%3>eWJt|3_>B)wEy9xAdn;l>-3D!ZL+|)=zZ7_4F~36IBvWi5fyJDAnZ3f z%fJQ7_-EbX_K9_ zMt-iC=xvLUnBg8s&z(f~Dlx=@{u7Z!ZK#EWvluy3t01w$Jp@*pPqlx%7}AkAeJ6)^ zXk5SobZe(orS#s5)p&JPb0vtAFlv2@cHyjV-e+`U4Cg-b736a^F}i5I{+PofsEB&M z7n{aN7s1nVcaT+UC53ncP8mEKfC!!LGry>x_IetaM5H+WE?L)9Y)P@TxQ3Z#zpBj89jtT0eY-7WS{GP<3%3 z@+RJ21o;$9v)l2gsxG20tZzft3-4EQkh%LBT%7PZD7Gc8YBA$58{n4149p8=jq`K9 z_~^BVTeN;}%pRu5`sc)Pyml`t&8y9e|DPBsSAS@7juABt)vutBu@kEJuX}+`7bnS{siXXAX;}I*f^En)jh`MH#mj0$WBO2>UtD48JnJ z+dVF($A6WuYScX^{_U;%Q6Qz+4}@81g*oms%IJ^>&1ojoIPnPUO$b~tryElcHn>KC zQuA?#FCo6lT<)Ycr_FDe&z!u7SC+%Mv$h!+iAhYRThy4xY;!oN9&5*o1vu}u&WQ)! z>;#g}J~B+H_o&3P|D@)cXTUXsK6uRuN`97-TNl%m`UX#+C_WG04#+-yr0{%>f=BWY`ooQzsnz8#hMnWzCK1dhGx#032rl~YN8(l`5Nx~+ zVAOfc_^qsS%*QI7BJ0oT_%z7PfBKSAFCus0N?La&E>Iu3ZNyso?*}<__F^zUy3p-5 z#ClKQm}gO<g^v!> zs0gp_d8VOirxBYuDR421UbG##rLV!2sE>MMwNjm=tOQKn#BnICN&8Krl9z^qNCDBB zjrRX`i94sCG`Zxhrt2@1E@c{8OptVE=P2P6FI+#2}733%70683+xpGXK1N0ZTTI zS~%Af&>~FQl5qM@%bcrJ?tri(1XvI{C|7)?W(W4-O;sPSjOR;XvM`(x6Gm)Et)_CX zE#l&H+$QT{4%7c(*zO_BsGg&fUqtqG>5!djxLc{wi2i}*o{x5~omC23TAf0!`y@2E zPtjHSBlhE52`V<&huE$4>7;J@osm)tgJUtmdQ!WuQ|isX`#*UV^DX2Bx5MyF817of zKv)S$@q={7X2ncCE9loRAag>FQmcXNq&GJ?0@2YHI8q-W^Oal)dfvDNnaBS+nYCpv z3<_GZP<@WfmdKnWL4qm%Pi&Lhi>{jL9T@h3;Y{A={X&xr*g+RS;F(KIm4^^;;2IDc zK`fv%H`vde^hQzuME)(8Ae~Wj5h5>lq%bnx-o@g0k*}VQ#-EojY4^gjp;C8{`u2Ga|-gtPXTd z<#i_lr==;?7J)-hsy24n)mwRBT`ZuEii>Eu>)^Nyj_+?!#{ET7vG;CMYC1w6&Zp~V zpw|$lfP+B#oo5wFM(DEIbk4W&yso-(C2nnejnp}{rz_*{GJoX|{#C7z+YY(+K{y<- z`g4I&gJH;i7b>0mPeOa$Ar$?3t5SbQn@TT*31b$RNot;FfWk{?I>3#Gl*E}Td zs6(gpac9g~VxLCq6G*)Jo(y@&AI1b~h{s)64~ak0<}Xh7e-bBq2XQz>T00A#jBtARwq??yru zIb6RQ&0$ZOY25f{6N8sjq^ouu9 zx8Gi74=jW=^snWxd3~n;b14J4gvHnMF^kv4g(bg=*Wujng>_OX{(62tE4{ zmaS_IWt0sOreTlHp*#ObSYu03gM6>JPf!EWJ=Caz=Jp<~4we%ch?PSn3 ze26t)roZ;s!LO9kd?)H7ss_6C%pu@zgnc8T5>_&UQ?TL&6znY&K7RvVRqY}|Soy73 z7X4S_l==i-TPf8zKu4+~sW+0=(>OBU-HR1{cfJh6`{5%M@M?})#Jk13K1{0q2$%TE>oJdE+l-8QM9$j+`z?n)?qmHXXU9*h*I5&h&G6r zL8q?ETz194XQ{dY84FnQJ0hc2j$$#Xw^n4lN;4)>@(hFWG2Lx@aa^u7qc?}&g5)nl&u}(G2qZt39 z7%q%s^$w+UyeY4*exrH=n_~A&+KAO;rp61 zYAz9ttEtj58ySuiq2PLo@FMKz(I1}1JpW{#{}aPcELwsOY83!aO0OViZ1fNDY&0($gK4w8vQEDZ(}~lk)W0>M-v4yCH6Qi6R|5YUqPEUj@y%}~Y@xoKR#$j$dC_xrT(E7Z{@tSvPY z5oeks!n&BM)L}}%uG#86O7PnXx;z3R>C^_cMA&us+VrD#j7Qo_9X+kEfg)32f4%|r zTJg6gHvKD396;|O^kAvlOw4Xj%A5OT>fZ^u#P zp8{NYT1{idnVrTEq-J@&sWK2zZ5JZ)+Ax2=P4FP=7M3^bg7vcnm3s?4AQ9sszdHP% z;6^sJbPw$JsatUjjGP; zx%^i%Q4!KS;Me9-hV{#pb~TqEg9ol9#&W8u6Uxm4MuO`UBDDn>R8xK0w;L4CNR|GE zfTHKHADUf4z~usq5e@rG4=7g~@J|Kx!fA!ia^IN@ zQ_ZJ));dGyxKfka`~g(SYa5s}517V^YS?Mk#cZWUK{t&-8GZ!zAHm)Ydl?EWddB># zR8Z;NVlT=ox)!GuPDHZ|_{TH%P^)TL8qb7%>6=V}qhUWM9QM}5pLlMN4Wy{AVimWA zdjq&X5BJH;Ta&RYZbM25uQ70B>#onF57wqW!Vbf^2Tpp`X^eo6nZK(i!+8>~MFUrJ zlsW?IH(|XF)^%Zh9jsfxdM%Ug)n@R16u_ZVidnJRv`p4DD&j>7`7kTkwW~$tkFdg; z=MiN7i3+zam=1NXe2~HM7Z@LBWv_~k`4MnFfLA-5iR?WXW5G_K<-R4PpIe9JWEq_6 z5z)9e1I}09Ajt7@DVztv*}7mBZHb1rz<3;tm%z9>d{)rGTsW@;@8J9$cYZphSnm1~ z4(yAG8Ux=mS-e~7Cmu%rQxvopfjUVD)SpZ`FG6&Q_O4e5-|yhd;89P z-~V+=jl;%(Dm^=Z~ zHt2e~HeB~{RJlqRg?dPJ#7< zhn4Gw-k4R!A2nImV|X25Tx<>R;FUTG?@qA#6}2;|vS(pEjPKuI=nZB0e1hluPpUBt zIGTP@HnuCs>v=I3Iidi@C0@E$n@cc08_aDR; zeuDSA@U9Q<_4r3qnH0W<_3)EwG?QyG(a){~K#b$CUV4(2d~rRKNJ=E}rB_Q}y)pvU z{wuoTOORfK)mT`61?%p3_bGImL$JOV*5W{Xa#H=QjK-&lY;Hfm^hgQ6=Uqn3`%@(& z<(FE_)9=#`qiH<-3ELi!?U3p?3*TPw{Q|yy=rOJ$oPo833B*l!`lK3#?_LPw$b&jr z!?oz?nio`9TCv zq#8-Y7RK>Jzm3DW=CxN=_ImBX$l5oxZ1>80y}qBcn0v;8n_205Q7a|SBEh;~DQ1mV z{Sh$+)}0XX3x(K6rQD0xbFM12!ca1?9MlZoprHF z>0ZYMy+(Kr{9cCNH28f1KS@{kiMsd)@-k1r&8V5pw7MO3-)tkK9*w#A9qhJMft_`M zQ7b0?15AZ~qZd2@w?%Nf18!a6b|2h6hTDP@Y6O;B2{UO?^}`sgJ51NX{-pt;P%4_^&?I(P_h` z!*UggLV+vlXAA^?P~zr%)`8>8sJNTu`6%|$a)KpQih0oV1Zlx)EDXoN@Yr6{bvCgE z4HPk#0ruX)zy<82v-E@AJA8)0t`F?qlJ&S4exIUXG@Yd|O!yfM3z=x<9961Gis`!8 z=Ngo*wi>hQLIXJZujpRKU`2;fzftBq+GILoA%`HTYDg_|Uc7o1K-zKAd(~hVu7hFR zKGRk3b=@BbP4A%B&tn3#E|_`5Lj61JvSD`ucIiwF11a$RD40&8b%onp;bz=$kwKIS zyPrt`IQ_*HNnB5`8|)5d3I<-~xVL@Y~@hM(0)ddEoaT{JzIHy$}JzgFJZb zxcZ(JhToB648a4Y>)6-P{TMV?aA{7}f}j5iL*y6mQ(!oZqDL^jeZw-j6BBki-=|~U zR28SKk!C2tjuaSva@Y*ZpZG*rU)l!!de8HJ!c9WGU&3u6)OFyt5N@5|wwdoAq229t zm;%>v^0!qc4Zaa>!;bN$ZbbswSS8p1D40_fhSmkP<8e63=DhOe=oUC0VO~C56_&@j z(fWU|_ulbQ99iFQ^~@*%A_s%PmThda7GOX~ni&Zr$2HEoHeQFdy-w?}_B!vby?)S+ za}GEmV=R)SnMMd?VS$ilS^^=GNCuH}&RHm{@AuS5vUm5n&-*<0^WOW%du5sF?yBlj zr>ai<&Z$$OA$dCq;0lU=hhh;F=N`13=jJ?dzE9QDy8`s>-_L2i!Jh8Ki{6cNn|f|o zLZkY@A}FeHPAc(bXwDXzM*k)nDi@+#j@Zuq-`>iSuXD)7Qabn|6lVAaq9QrH zkerK2J`|cy!{&M?Y>Hp69551F_QQSZ6Qx#@+BML6g*W;mGumY6uZc;0TnVvfh+?4yygBA!>@>u}T+1CVE`T7DP}+a` zAO!PaZax{w&}To)4WVJGjeV@(lR>Z17zM=-pm+!Ni7}cE*K;pmaWghX_y&>(c=aww zPKJSh;9%^;B50#I0iv^r2|-lsgLQj_rr4kxY2yiye1SDt_cgy>NWX#P3$t6URJ>r# zU?}E7F$>){7A8%aemQSvKu_=-0EC{{kTan-oj1NHQLd<+w*3MWzXvkjpVe}O;!s@{ zNXmTEQb=aQ;gQ?P-;H;|Qr zZADX+L-jbrh{#in*7kmR*K&oZ zm_2ilTIYFZ(4_RV?$BX{t+B!hzZdcPuL#&qs#`T-S!R901?43mQ*9Ii{4tK%lRq+w z=jG`$Tdq)++WLqY_TL}l408<&OxLOJuo@dj0037}NllSRm9~E3_o{=m`Mnr7w}Sb8 z0C*k6yb6)Ns1Cn&SA^kGnL7UppF;SCETpeI#zIx+Cfk0u8sUJ2`ytu&BtEN;z^(g9 zu$^2lrW_q8rQ?l5$~mmUzBoV)kdJ&GY$sIz1L4fZS9r{zAfFNNc5cg+T*NCe>HwHb z6~1&%sZ-?g575L%QFe477m<)+a=DJ{L6H7o`-qC@{CT5oKR`YY%aZe+WF%g(5=1r? z*QY83y1Ji$tygeLgm1)&AuZXDns9Dmx$n77HA)?lYDLHEGTn%(5U1q#_9M=;IMk=4rTF9pnWlH2_=TCPCYAX=ctI7mN-pJcMy zN>)FWV-HY!S*Xo?auByC!*Z2RPVd_GaVE(ulCLGFFUaXxa+0+YUXp#u!2Lv5u!W81}>T?Rt_i%F*6rwt^&&L1hNluMa5aMYXogLb#3} zXn#OAlMc#C#8a_kSV@L|qnWR57Kau9CX0V-TqFtKkm0jXDWqtR(y03lGGqy#dblE7 zw%f2U4wK+UvXgB8PIltyKgGCt4_?TdptK01?X%rD=*epy)!$j>Adhz@vsC0}ImOpk z#6yNMUooE^dw{aZ#7H4o1s2nBPeAK4@`|S7mp0Ad_Cf5!i39HNRR23l{(tN;=(9|EE&SMv}u3t-?McT#`pRAgl&xeX+@ z&WL9W*X!XcvWoSv$`SKMEx=Yreq!MMfWiI^e99)xn;GO=#w?tkgL(Ob4-U)6M`4_!euUPoT< zz~**?QFa{OTI2MEAkh6ZXH6%v3*R99#yO}Z9R@cXjesF(*xP(^m5 z$*w1y4XSOlYayCXHcyeAOfgsNMA7r!uZ7VnYVuJ)=@Jsm&S|+)w7wANdqk;gkf5o+ z(;K|76mMHMN~R{#2VNtmdE^9w7|pCqHH-xfcD-Uz>N#p@6?v`3#BCl)W{>i29`Cy5 zli3f%M3dPAWTvlV=7mPRgH9T;mV%ufn#{ zb^{~oO)#27ZCygizS{vh@?t|jUYtOyZS6*PJ`NveyJWZCke^JEZKrT=Qn=@V^~cb7 z?^I%}l2`Q=h=xefIPwxbyp6K;JyCDtX^o^CRATiOkLn7FoqE z{Vc2Hx{?ZqLK!7XWZRmt#6f1Mm;tA{GNsXVA65AfxvVD5BV6;iE+ef$J-L)}y@X|K zRCk$$E`jO`+i-SC;c$T)cQhd-&3Dqvjw4C+1IRIaLzdq|CU6WJZ9Q4m#h+HHD|XE5 z#7rT>_sYWk?0Pa>O3JxMHTSC8p{`m>xcaC-hWA3CnXBy-qJ#7$I@zwa@Y=jVdT|JD2x@I=A zPi}PyTk)rm|DV?=R%KG11rAEbls3CJC|&r5+_ppGbx?M66QwIQ$ghyMUgE7G?7Lw0 zi1LZMv?KY|kajX@J8l$Nh&C>6BFEdXz%Hw!5P#Z&lS`a@1J*LKhu2k|>1>w}^Y!$W zD?W0kVD;nJZxsWVEaNb?^r0W5Vl*GJcbGM=%-T~ywd&iE^X_zbd~nEu^lQQQ8D z=nH?rbiHR<%M}401(7k}yOB#PzDH{g7muyDzl?9mu<>RLnb*niM=}&=_lGcdBi>Kv zBBxRg)B)veO2!E3C;72jSbhf``C^#8h~G&B9eLnbM450X>E7p{5PnLqH9Rb2L5f3ori;>o{D^-iY`jNlcRCd-L{{68*XCL;p0KU@D zxqLnde;5YR*8yrc9kz|x&HAy~*j>%{Z&DGiFKjz6at+vtCjHBXe+@uy`~c-YR+A@< zte!fgR0^(vr>VX3N?{_yz_oA^Ca!^r*GXD<7Kg`XnE0dtCX5cd;bP|nI1Db{3m2cz zB_a>uoyqOb?gYngD=2yM)0;5gf*5N*Mibqq2GeQAhJO!2L9Zf%@hHd3mcYwIv37S+ zq%Wg((%BEd%|ziw7N}ebH}7!W2;&!RCnm?yAcN=|Nxroo6Y>3bAPwIcxG&zq2XN+9 z7P&b(|7j~u)5br*PW(1HRYgDQ>|JVVNhhT3UxQ%h5cc~4M;)_I&#(~CsE9lO#8J4_ zgIFvb@meGKPBP}B!QmtZjy}eEy}X8%pvQ@s8&R(sfnqq?*awrg&n7sU<^ZMoH*RO# zzvQo%o>s1y>)u(yW<#U?F1WhwG`Sp*9@kfFzLi~J>)*mK5M0e<^h|?tME^nNY`6E? zkI>^$Jj)l1jN4fBVq`KWqi&?xj)H}+SgHPp z?5O5{4DXxzhtH3Z@Wi0KjBJ=J$j0_DMg*zu$qpQ!;#gY+bKhZupG|DU_Ck%-#8kWr*YV4zS`4a{qzcrysH-5C1JO>7h?piD9hlQG?$^O(FC3iHm9W zm$3(pQ#Sw>Q%XSoL~vj4ZRML4oIVodK=Dt@!=s>{8#HwL!L zIqa#NYUvSwX9$%E3tz*+3>dBKc1|2N-B{)9XnZ>oL+JvGLhczV=GH#e^Y3MGppk;9 z>)7{v2Ylb1W%bA0Sn~e&z;dQ3HUX478SihfJJ#(e_kZ-lbL<@}W!si8|&djCkY-e&UpJ$VH-BYa)Xau&OBOFezE;jKuFirzG)qj8**7MoHA z=0ynleSW}p*3G^%>X34bo-ON`oBv9F|5-3}U)UlYeLD>ex2yX95MFvRnwUw%%;|7O zHqG4Kgky2tA7a?vJ!DcX<=gH-xVr5x2hJa-fZa>>*sha#&kuJnPhkvtVinSGsF` zw=AM=JY;*t*6nt;6AQk7?QYMIi+gwKb!pNKzx$8EV+dVH7-XiV;FFf3Ox|9}p z-9dh>wb1ht zbd9F(dIP`4#AWo7aS_mewYd}Q)7-R zblpQ|H`uOIC2!x>=eTlpyZOCxIcH$;NO62ks-)8lfqG01+}EZ@!F}s3D&l;=t?BtH zCf(00qZ{3jizfp1XG6a$QCog>OdOAwtz2vOIIwo%4^zj#@xsHux##KEKbic)q78?d zSRuf!#3J(fo>`IFzd6aMe3&pUu0(x4({`MFFBa3tk-3Iy9|X5uwjeg!??w-{+!bO*WBKgyq9LxWVawVk_QT0E zkYmMT9chsd_t8x0jw9koy!B|l?KnEFdjS+DGmEkRDaQuo=r-=?BHOY35f_`s+U`M` zXE8SmdaP2$m^!9Vc0cOG#$Cq_&U2Yb)Rh-oeeYF=6h`v-#dB=OuID<;Mp_?bQHta6 zi_A|rIzGQ=DRduov2m{Lo~+MnVsKLT0+4a@VP-xKKOcovdGf67*!X-msl4?>&+2hd zF`l`mY##mZp@>}cAp4#i$6sZWkt6caO)HVj;5{z3?*070cp!&i{;HA7D92Y#Oj?}$ zk4~759od)DFyk77nz|jWap11~>M({uC}=y5e38Twi(7VsD~JBkWw~-X?(m;kYda3U zJ8;P_A7;{g)im$XCmnbnMl3-$tbDHfG^TT~oOi$8mtJh)nr{BK>ppR|r4}!+oi*mI z5$vFh9pA9mcGjA=xGI!0`u3?OH`&eu-`$4K{FhIR{~iUU8@}vbP9;8eWEXQ*9}Stz zs)q(jI`=l`Y?iWaW?28@@I4BDk$1|mCARbQ507)5Bd8Rm7{dz3{#$Hg3jz*ocL2fyn zYVdT`vCmUQtQkDJb^hPIjAXZ|i1TlHW%BZ~yY0y4ZF%W;Tx7hXROBSuDaIjtvtu00 zWVsyKbSgHG(@7#Xuz{_EanUV*om#x4YWInTb9RTOvwN53eet&kuN|ZhJZatXy@nkV z9b$T4GR!?}(1m?E|I-F^beo|%xBva0Q3I_lF4uSY_w!%-Q)^wc*F<|wwD*oy8ECJG z_L`6yXh+3XIcTqm_L^w#53MrLUK8y#AvN$nLB;kF<^LI@Nh!t8(*Hk`f%f;pHSj;_ zH|=%SUT5v{(%K8!Yofg-+I3E=47Arodre3Uw4-9H9JJTO|9@(teMH$lqHLA+b`)%{ ziEs_HYk*csXs?O(nrOETTVnzTjij=CfaMFy+5?dfYbyd%C3Akv=1K< z?a8M^yQwbx$!}Nwh1bK%wTp_?|H7e?M#92>m+*z4+^`fBW!x(M#2Z z#9qedEeGn*9;%0qmlVBKKXSf+cUmcRC$=X~u~3gC{z5)D+MiT?p>es+Bm7Cz3%S3D zze}J$2pWCW`TSi#$N+fn293V_NviNiP=!1Btm)-&G=vY7j)0r+CsTWq%g-M#m3k0r zeaW*w^n~}pd^}a^L3sN4uj{|uOMOY0{C1@te|eR9?XFAPA9@3S!P8}M9}h>VaMY6& zJ;_}->diI$cRqZa$3OYIfWLvd3a)W4rP%%$TPg_ijMBy{rrIg2c_~&w`Pvj>)Pj6*WC2vpU02?J}<9$>C#olhe>#j>Uha5 z>1N59>T|VqjVv#h&v`a;=x0>-OFTC{{ZYXh_F|9lA!dBnH0pxuU(Q{$?m#u09WtYR ziem{>L{#T~zx}F;tuP1pkRIEfRK%sX|83feTDC_`lYmm?8v5$0y{D_#$8f)VE6~;P zvg^Ov#O8}*gWll$@(4%rKk~LUuV6<&cGovKwB6O^g&mE}OW9=e$2U2Y-xV|LsX3?0 zZAZ-=&bRpuyd4c}?AZJ3xA_i)v*TqSo@V3NnhV}hRm$1tLGw@%o2-)GRU4GE z_pAGA3V9m*9^aR7Mh+Rb=La?;jB>*wF< z8qa0}XNPakG*4nT+Ic0D|K{#ShU$#LQ2V_%bY>7Qc1QEZlUByRfL zc5b^d()gAQ9FAUpJN1d}D1GMgiG0k-(W{{TBerPm_-@c7wxc*)qqe+bJ7?cKAYzK_ zPI+YaTkI}a|Mfk5UxPiuAJ+M7mtA)%aCH{DZXDe{Z`fgXZa%Tm%Kzl8x8C|7ujr?P zO}Tc&fywu|2N*Nh_~VF~Uc1ANSoZhPgSxP-)79Z(_Y;Mt9dU3){$ITv^5nBhv3Wb; zb<54pQ_3-DUajAbZd&ZSu21La2zG~Xl0(Od_3XUZ^(SFJT4ah1xJvDi#@BJI9_T_7D+eal9_ zo;vi^Q@nKcA;$qurra`--K2Mx%8s@>8%ew+Mh=Pj=vzKcQOb5chmmrClhod2)7)>X z3H)Q31op7x{K@MHyy7TiE8`Z(N0XeK0I6;yFkS*1p3;GL^06!RF@a;NGZ3ju7s|%X zewFMl+Yrmv5!c7f6Of zxk$c~)N2>}@OC6ptP7THwVgXZz4a2lsS`P5ta+C2haI{`5~<1TNo>B3%{2ozklS~B zDZ;q2g6K1`6?8x~bUiygUT0U9qsxQq=v^ysMna-qIY_@*a`9r>9PRwDiuS2|p)>7s z@7x+T!EO1KfmB7N?p=+r=EkrqhpnPZf3mwC`rOmEONU5$qbs^|pUYp{&#t{4ohip% zr=j;l=cSVJmUFA@4!eu9zw!BepH3;arBaLT{FA3 z8t26>Cp2o`M9$@)4m z9uHA@S>8@;6B~WvD+n%o>2kWoRbQ@~PsN+pupRBH>2Dosy#L1mc!I!%u%16V@KAM_-+~2H?~LVlo}u;9%WkO?;afaH zK;emF%|81uk8ir_W$*1<4eX7p|DZQQI;@Dd*!sQXf;x%m{v#X78eWg2A^R-x+3c`9 zcTufunRV}8$LSVbX!eVCEwrQSj_usBW5=H3bw9GB`QaLYg`4E-Z^?+zi;auz&PQgy z_Pgsx3>!8q@rHZ;KJ&;t+xR@TMxf^L`VF?6_h$^-iE7z*4{hDy(UZj}4n9XjeDnvz zzejxEC6%_bamjsAoca^-$WjYY3U;ZMjiy~bV85{>>9L^Fc6@feK^YwbKBz|*RSi8W zkm&rpelw?Kk!0XHI!z59XK=)P+KBRM-g?m)0o5Mkfre9kVE5KDq?phNDd?QRmcr)6 z93jGn%xFIIre52};V49(?upDqZ?0fV^5w>9LH14`)qob;ujaL=mshaooSon4OQ^ew zxRdOIbj1AW6!Dw9NK@2{XGw4#%-npIBIgb`A&O(nQ9!Kb{wRROh|E~d_q<4O-SOqX z?BrvzK{2fi$g0V^r7P4fernA!jw}=sXDIUFr(MTHHJvx1fix$Vzw#^OF=gVGnx!1h zK%!Sgi*HEe!!t)|{nw5(Z?-#b`r^58i-0Q!^z$6*8WSsFtIvbfUx_gn&K4d$OrH|yW z4Cm<8_BiJ_`&~{MaXCgUI7Qz%MX}Fqcz&aba3<`v?QyPgcHQ?JN9y#v8LIKwe9CR( zx4+|~ERivf)o`ZNxQKBa=(hHX4cJfJ5+_#sY>xM6D!Zd!6wvs=*(MI+QRA9y$L8yt zRaj_Gl zBPklF)EOOqqKZ5G`iHs?Z0GhDy2^nJFLKz7#PhMIpT)~eI?^KvfF9&c(b0fI7r5q!}h(_bE%5#lyKMU*^3X(w4-X*%>L+! zQRf-U5Ue|vaG(assIK~-yvAY`71OP6(%+`GdC~H9dyY3Qv16+DZ(CV9_2s(;y7&NU*WYdClq3?Lv>mJd)WK36 zojv0cufO+C?@pV$;ZT*`@$`npd7r%U;BDR^eOwkhN3WT~7hC0p-u#q$A9t0G23}O!yCb_=$;LitE-xB zGj18&$XLr%j{YxhW3xPII9K4n_k10hU9_EFs;c9p3IY+XGcWab$alrDeXo)OkqJFW zoB!k+?DX-SC}+=y3i;ZF1S6qMCo+4>*V&!MliO=i1%&RgohLqY^O)*dXzQ5}1^vB?SfS2I)wzJ@t3ppe61f=_neESH zp_)qDwYOrz-96q_5iy=O=5DD56l)$bZeahsYw@$aVk19S5v~qBZwwr-;IOmN#*o7( z&()J(xMNV{1QpTmnx{UojxOYc@F7O0T?-J$(|cA=ec+-@Wbc}fmTW&-&*t`BoeUKy zwxjmU`g_V17sk5sR8*%vgOVQ1T-!LG)3>n*9++!K9sFtb_pjccJYcSh?lkze=f}@n zxL1ZT4`2^C&d$LOZ>+C7WWE0I@G=#B{>|yx8*1wsni$!fC7$n`%&oB>jkWydxiKe%<%ie;rmbH4oW z!xx$!P&ZUx***354?OU|lka`_VO~+u^5yHd?mJ#R4cNU|zji^T&&Fn2K0rUY-q%m> zkT-_wh5F$_Y)$M7A4r9@(d28Ar`YBCX?bjum=SklmS9fS-rXoqU2^qPZkI-}A_g82 z6UR6*utBVY-vDTtw8d}4ig3hy+~BjP0P`Qm)QgGGZM8fa3%k{cIS{wXXHR2edt9w( z^`xynJBz~=l4?YOkK)A~O#e~mP}as(+kAF_V~Ivri|RJ+Jt?-Bmuw-U)%FNYT3mcd1^Vu8^ptUk~!iBRa%a7=^S-nn*lI``5JR0xxIw9(E z>~UT$1{Y8KTB}dPJ6As!U4;t67V0?;-GH5Oc3jURXg;TN%z7AIi1cp0gHQ1>itP8! zF`tc*aO|CnL^8G=-OoG0S2Lt=yb}moI?T9qea;{T|+)T?z2~cRiFOKwU;5R zBWXExh>cadJZYDVZ}0gLeCOojx*s3d!L!TgI$G>FI$qPl(Or!lqO>CKU2?`}?*J&4 z+#9)7M$p}Fp8~7&`?FJS=O}$+Xs6ALVh3dT?0vSwKTuAg>NM0bF8lJ0%6Y}x3&;|D zs#);%6&%xadA6vqWp1JzeQuuOv-wE%l$-nTJsPKbSy(^qbMvVISGV-7r(s3()7h=* z-PY6T-22dAk!Ucx=C85nr`Rzcu0U}%VP`LT_YOiLWBCRVX|xWjoz@8r711N{8`yW9 z`6jU&Lj^~tyxOpqLqk=KcA}wNzni@3$osbI$g1yeW{BZ%j;;#pFus|$$HyVSuJf*b zGWW=*q{w~o>ho4(QvGdDy@nQ4RB4||<+|bfv(3#JwyU|hCdh-IuUke^bfgS(hwX1*C$Ax0L zB<~z2I8huJF#zl&U1q}Bf-(-_tl*BMY=O6u(@L* z%T;vb!0Ycz|2kN8+OnfhR|UULzwi2ikqedM#sWD*i=>=taAsPcG8JP)#CGd5@cs`9 zwk)+{wiJAD|G+-oVk3+)93E58a5kMJrjd63{(KH#>T2{K`uo3q5SUxGbj_A6hmIXP zd&KT~_SmsQTehrOS~hp;2Y>s$yFcliM&J8)wrVqH)1pVC3qY~n7Y-hrdiB*~ntrDq zIqPfsUG$i%uTC92_`=?u3Y0VY(FIK$W=L*ms;XfwAD;+wxQ5Ax8VNgWJFByA;UIuT z%GvRjZ27D`x=gzZOS=8WvhiN~u%phwP;&y*6*krHR-Ji)i3 z*C=O?C+3_9YcEcju0Q!4bkSZNpF3I4v0$V{+IPI4%60*)v(BmS@4$~h=yu!Hd?fTd zdWx>n^U2T=&d`={&K)}T^~Evd$my>}^u=HEeG>`aXuGOQUUsAHj-aVVzVu^ts{(U1 z9bEDPiWCjj`-LS38rPHF_-oTz+f_6BcLO=4x|XvcIuHEa?3%T}=3miDYwU=|?X&-$ zqEE1nh)fxmzrB$IPEbq_)vTn%bq6P*`COjy2kNj%CH$sS%jEQhNso{2@A??|>hFCl zb2sB_&p}4=`{t4i7bYF<6c~mH+sl9vz%$EoX-w zgC3uCn9*@K#p4?lN_w27b z%|fUB`q_fbdr#J*)1F2p#nl(sF?;5``(Wyjf#=0K7OEIW?0Ex+cpiLr&Yl8BgmI#_ z7UtO<_HQizA=CHVUDsS5xk`16xa69;^A8eeZa_ZkzpEk~ln7w4fh7I_M zoSQG#X(Ab2qsP9*Gr~A|G^q0pH98vI#bbnDKl&rWs;m=;iYhzaNh_~$zz@o+ewBTYxg zH(_xmwfknrv*PfJdY)&hvHtlet~%ogrV%$5QoQBpyuuqJ_RE0H^%$y#@#NXZ z&|rL^_($GBjUdX-f@AQ`8qygm$-1_3r!?3Ks zJ*Wp_2fw|BubeW%ioRm9s5HmqE26h3R8PMNn`s};c4^!^q2ES)#;%A#&z2E%gri)_ zo*l#onHb#+o=e@Gpzh`lUdtzdUCt42mY(+6)%XBQ-yDH1L01^PliuE;)z*%;lX~+N zFVsWy?RopD2Uqp}yxXHI#kcLaYG*^}UxkmH}U`$Zl7>wd+IMwd<`bx^Zsq z0_940-P(BaD+Wdzt=AJ4;6RUvzWn;<^N&olBaY-hfBogrrQ&zL{PhL34Y;Kvni^^s zyv`Ygb5&%IUqAO{{@UZSP$g^gzkKf3J?7%Ik9KsvaLAbd$lBCUWJfn_%KDEnLoV#> zn8RnQVq)A+O|UlYID86IH>Ud3;T@Z-2~W9Wa%Ebe(*W=7_rCnWw*?Ef?b&2^+_P;# z!M7j0eDCev0iAM~PUz;0i0%;Ex!ZZy-uU#mabL`tGiTwc!`&8g{bJm>r*FLWyl$Oi zJ48n~r^pmlEK?J$(<)t52h~Y+!t}zi zl3t#LlkmTvpIRr@Ize6d4CiuLhEiz_9wQm;CG%6!$!;(Id%f;@kMf4+rW{_6yOF0e zp75kpgvaYm_PP&vl)Gh0%9)z%aqsdN-ZYtOny*}Al2hF7EgqFD&z$L$42caoy-Y=^ zYHyJ~d ziaaV+=9*OUkI<5NCguHscVv!9#pij9lysS2Qr;OJmGB`jq!LUR^nQr(V0hixB$Zhu zBiTER_hm-ONOn*5814j_P$H*E9*5VRCbLO!^Q}b4RFaYA{zf7^GLxjdpLeWj{y902aXo|WZWV^@d_IMH)awVjuWP6-muO~rfhE&Qn$}<+7;qiF=o+!85<4#Ua zOZZVnRYScy;5ZGH5$|I<1=pn@s^Z4Gl7H|yRB~j{K=ijn z<2!as$a0d6$&m6VFQ?YiWeSGc+M||{W!uA2X-WH0QlFDa3POdP z&8OTRFFnQku_q>FsAtTWgrSu02gzug`as9#dK_*~$`0z%=gCJ1-QM`!aOm^ol7A9? zgzoQ|A(bm4LwJ^lgMGP9A#7AUf=LzlJd+{gP2uaZJn=XYId>z1-lw?X|g}jXr#7hvR6gyCPS3!(^z{>}b2|WqoasNcpcYMN4~Ccp?Bece1;|OPzV=kwJ>gcPMX_w7hpQZ*cl?!aQimJcmjX zVI^i1h&P5~y%UOwk?9SUupu0iwA6#BUKN6Unbe@eZG_Y^&ml$YCh1v>BrjsyDrjl6 zLGnUrVLgG7rn}ERg$Sl0oN48V$|*sbG?0c5frWd4u;8vBLz%UpLwRXIV~ogcqOgq^ zdasiC3dKu?dkl~kzYNh;?j;_XrBLvs(m3}qm8Osmt-Q;4B~AP*Dp3jo<8CQE8R;0A zlW@el-J3ie1dzZxkH_s@$jfy8p>!q0a+FL+eC&b6gcVx44gs}b@Mn~rYM_U@=>#$b z=^f8~0*5XpN{^(R5J_}{$!iz7y*eCjcVQt^)XG_pVrWVS)2ed6ip_9O$E ziC%At2NH%mbr(88CBFj+9#h83#DXK)gM4ff*4#3$pi+IF%{-+fZ$-iQJU~|(vk3_v zBQ0%W-$ zmR{*5r%CUYqeMmZg3v@b$EJ#uSHssBrVAtj#qA!84!ptVsiO|T1aFy1g}?n(*yMQnsX30v+d|ze2f^gf|o&^|Mkc{jBG# zWVM{S{MLhhPI8~|oFOD(sftLW^Lfx&sHv31rF7+!o|B#m72!!8MGF^rA}R4z32AAI z={zTha(Gk6E>NP!++{G`D4C~mJo7O3aVkS4SSosK0#*p};TAig$>Tx+CZ|~lulFcP zX#WBgkt8+gt(L|X)k%^90oP>m_dZAv8^BF=CpiW8ov1GI|a z#YDmONbv6CNiy<|6}LO`w#T!NG9jWq%n*fnvs=SWg7_*N6nckeD+UqmEBbAV$4KBs zW~9f^SLhZb!=y;V>Op^bS(JmorU3_Qc_I$a!`S2$uX`NTA62o#vzX}v0^III#xNwNehD$W#Hg7xlGlSn2y1MH zhXBF$fTvS9l?Ur@ls9d=ib2szOF$$G?sYQnWLQT!-HqPrB$eFcMVo&OIX(0j5&hER zNYoE$`k`6e*W7(YZ7c1*mR=$T37UeL^AxQUQe^xu>Lo)cb5DbbazP~Z=wG_*B$)Te z=wBlAxL-muB~*|5Q+Zx_lngojXm>t)@vmRm!9IntjNU_?WfMtRmFA z1L<@OYs0c(+wm@oIz)-YYrirL4uw5hVC2l^WNZd?RSTRU=V{59nkisXGNqy;c>ys8 zKmnW)>PVO1W3+5?dKlb1O+ZxwP$d;zt;IZ*r?iwN5Di6D#hKp3oa1%51qlSt(txgn zBuF(uDpl;9w0gm=v5ffBq<_AzySrBmqOr9=m>R>lKN0H%6WqmbN+RGkrbg%{(~-UI z@nlemLOKVCsf6V~wDNxE;n#yFIKksS2b8HK+yZH%P~p=cf>KCZM&q3Uhv}{ygPVp- z&y*r~(kcWkP6K3yJHA{+#EbO1i=u!rMaD%7iSi_;rX-Z2Sp?#Y zWY0XbO0ov8Bgj&DjK|678`aqe?gs zf2;7d4P=~x^S54>PFyOkTufgqH*7{q+DRX{d5?PCp1pf3hevP#Cn z^~QgJf$pU%Bpai=r63(TD`9LVK$?Iq5bJOhV^2XuPilOQ3@vGw`C(-HQMgH)1@9jB zkE8_C+<6`s;Fp+E#{57ca>ba@Ex6`2waUUKh+m~56SR#&m>`zKPSF^f>~`-^C>Jl! zEiqUb%KeVVk)pvY9?1s6-0|YY^m)GU2(D?6`UVygG_t8Qjb&+qWpXDt_A{n6X!Mv! z%?XA{IHNVU;8+;X7<>T@nN*+Pm)r?g6`l*|R8a7|lQ!&!6T^xq&myJ zaRU#4y88yfG&M#Z)EGfE9yF0VS^SWO2h*A+O~#@_Esi1~pyuVXYM82U$=E+Zdmq!p6w*=yrtQ`_ zVd$lb=h2ZM*unVCosuAaN6ER0oWeo0QM!NF zIP)Zkk5PE0M`AKD6E#+HKP55?_OLVpedq&kt=LP3fKpFd*wGY2rx)|3ovThzHS?BuaUP;GD;k zG*=aCB0fxc9M?8j6X^CPOdAw^F^~;q}zjz8ej7>;O zNJ&l=NpGNpr})>Pt?|&9&iX2zB=PD=NZ5B6%d?~j zUnM3Qf7^w4x-R6}Q_~Wkolxtg;`o!8ek^1k(BgaRgfC7!X5C0D{;1yC1J?ylT}M)M zCQhh|?=hD5`s3RZ-(w$5UzT!-dNCqcjZamzL=%@ z1G!4ONNa`v#AhjY;rzlm$`bb0kXAoncv*YcV<@Mtt0 z*`^tG5<0T|=GlPKPdO^u?+^IRKp-Gt{;-QM$|Ph)!1N!|L55zpZjy+!=DvX8&-8(S z%u^N?=J+>jQsO6c(sBFDXJv|p9CZF8P)T`8WzDr0b zzQQK63{rY|y6J}>E1=h=PbJS1@-)R?D7?=Ns2sgAJr7zx^0GJ$9j58e4>-&m?Kd?1 z{+R*8tkkR0Z8Koz66Lo)LLn+Mi&w;X=*SM3)1jrkhtthWc+{)WDZGDDKv{YzdI5~^ z)jm@%M7IL|uesOG!>rE(DqmKh8|nVf0?nqf_4;$u@Bf&bP4OTarvH5y&(&T;YsT9F zr{B!U5I5o*0T-q6Pt|_JKz%^Gh$?Gypd;n>`~9Y_Yct?9{W-Q?X-*Ng2VAC^Yo@c% zynu?PDV$~?r$9Rs^S1?z921{SZoteAM4Ex@>6sa}USU2p;NJ-o7ON6X|Fl31g`=@^ zvU4o$O*G9Nu$vCv=S&VbV5*6l3Rv2sILW_*(&9DEFf*te3ELJ>>9|q+69VE*W%G|0$j9l|usU_`C44BaIv-Hs~>G+^AYBXmH zJj-_~)BWZ*NQ?LsHxWeUwCxtEfn zlI@f4Q09xfv5-eV?7;_|KkE*0)O#ce9nGo2c=r!gl?lYtw@nZQG6M*R~ zb?BEysgUI9nAy1#NHPh2a>{ApnI<;5{~LnxagzBx+tX!rqLF^!4p$DiYa$@-N zw1oHqhlM3^O42S=2ZmENiH~qAK1tRQc*qqerOMnG5KgIzY$Q69D8sa6 zX_rFE>4t^$E(CcIB@zdvGB*X(3>vslx}AmvL^ek|C{ZHDjPWpKn|}I1`d+n|&q89H z&e%+TGiC|0nY5IeO2^1q2AApDO9@Hovel}b!cl6!-x43CGS^dm{uvrdQ7U-|+td|w zLGewhoX@0`Fql!vO_ugg7Wjd4U2?)qTSn_@#^*#&0||2cs|DaQ#Y3rb2sHyI&{nH; zP3pmWw%`8+m}5?@tWi!|dMQQMi=s0F{!arjgv^|ogK%vqTmG6aGd@DN&*~SOGLu_l9O&LR6)A`jn2Mcl*6ElA z3K_^?V~U;ecEFgG&dAoR)iJfmLne#G=y#t;!9cp~b2{c+U?pNQCHqU!rZdxVdz$|0 zmKfUKWHU`pz?>#Z5XQ|MRx;aD0xe0-AgfDNGf~Z^D*(dSATSk0I0d25Gi+89m{~JT zb5_8alWnF0|9JuPbW1$7lZDcXM5#jCEDuCW7nP2h&YI;+(>$pY9uKGtRxF#@IbvB! zjha<~j#}}OJjcwoEc%~ml8$VTQ9yf+!bBr&4ME36eVHZ>(M-R2Os6?YP0gsBAz!vO zRiG({Drq!Tj;S2eO+SzV8Emy2agCyS^fPERGu_ALKq+82=%8RPbtEoQv3~aHg!`o? z{dwXi-K7KeNdA%vd&|n5u~P?PCP)zSLwN#bIB*;FC~i|#xLGHn8~d}xb?V4OW$2(5 zT}`qB^cm663Yc>G{aFRtk4hy4uo@+}N~?7f0%x=wnm_5_Rk~ocNQq#LpQ5j9WzdDl z>7L{FR|M1)e5)ofr2LDdNR!OZ8P^pQm~eDE65-FmKrWys5R;BlqZ|2iaYmRq)DFgH zx@fKd1e*fU(&iw*RBOA6%*)H2o}1&J5+EAgl_RF6*%)Xt&-$rZ;J#6S#P9!}BIIbF z1>IPLJ^Wz#0$&6i>3Ws$Okd!ufO95_6vry5&~T_g)(B6cqhS~LCu!FN;o3Dp3QRLo z9ITRBtXl1w;9huW(O{x%sYP+IsyXtY=4c0NjxR8UhR{w5-k8Q4+Q~XYw6&U{R|5-j z_=%9kz{=Jd9i5Gq566N#0_P3IzfP20AR|5-% z2-PpRZ`g1%UvS12R|PQW3j{^$+J?pO&#DEZA; zubgv`FhOB8hjqQ_I#^?IKA@XVd(?>p1@sfrCq1hH&T-6UsK@nbr(Jg^X|y_T#V35hPRo zb5tjo9F7Q>_+3oGB&J&Q5Ad6A`ZHlE8^4S4%NSIE81t2wT>lJWa?>kdHVnb1gj_j5 z0(!%#CHaA?O(s)9ro6}7Ct!$0{dUHrEEKMZVN3_~o7q{DGHhI~+5Rv{pP)|#Oq*3; z_VjE}Q8e6+KnGn;v>xU!16+IB450^A+QOe>u@2XqIui(`GMaK!;4Ht^nR(~oJ?DL#{D`a z>V3u(@%jOt9N(dI>MXl$6%#S4s`woRvzF(aIUsI0lomKI_}25*}vdzMKi zYz?t9vv`)!4N@Zl@?yZ|hB0}a$mUc*YRA-o$tWpo3+3w#A@+3eYBgO3I1fw`&#-ib z%D@s@05Js!Y9H6LKM4LXH$_Wsva?8Vj$*>yZ8q_N%OyJm=JEZ_TcA5oKa)UGo zqk$5Qx@MM{qavne2{F6@Cg|#)4>w`sgXOYhtXoCQVTN2e{sJw_{wCANPe(e^^P5bR zf?zfcDd0R)6Xvx>22vd|#MFj8VOFqNMs0#+jbcfVYmR@1YR+laA&fWz4wSJTdrZ*1 zw;@nZFGB{K7}=6fD{=$Y+%qSZt-(4Qu*Q*`K|lP4md^MW>}KRk&km!sjDq!jjz(ps%J?x~yP0_?hEu)Zb-Hj`CY(;!j%MMsOgPocU1}nS1d5Ss1?DG)YajB2drYBPR)`4BWtR5J7#8!UXLYX>kQ1=sDti?qKFHGyva$%MF1J{Bke$ z4qb1GiZwGbGxDd;!Ipsmdo>nUr^JfG zHCDT#&m*P$h27n9x`#NqWhtzj@ghr2#hopSJo}Q%Mf~f}ow#tt9o-kY;z*V>;+*aa zC0XJs<&pDMWD#vYIFtpm;{Lr5clc$z(;q&?^(y?zot(hZjjOoGg_byDCCBqP?PLg{ zta(S9tBpzpx`$>LcuSmiX{#C*s)9c zVW+T63WU!(5l)1s@VPU+c|#oN=MyF^6kebzc}Wi8e?R|9X(VsC%3Uib64uIZcu8zH zPU^lhyh*za&OkNJn-^@d05}kEigJ|{2SZj63>iV*5=XS7aLN2lA*G*KuUbap4LY%QMK4$rPKhtN zsHAj-JZNXM9SXw2a^4eXv?^X0(o0q=tYBHlu(T)IFoPu_?S?KY30ft*TC9&qDG6D@ zxgou7wde;3hzr`NDw`d0SS7Yzxmr3Sq_qFpu!{q{r=8CZD`@4wn7E%+$ux2aiT7D8 z`5qd2<*FH+1dU+W`CJKm-$|Z&?Wz_0Mxuh+{Tv+6%jNn6l=PC|XGBzm9ncGc!H;<* zq#e);f**#QRHqeoL6^Q6GRi8&0d0h=HzlT|NFRM-1$`k`h=e8D6TNUls5uxx8w5ka z0Hlkw6WXY-wud4tD`XXGCv>r81#?1a>k+t#F!eXb1_|93q;!Rb|@s zT)sJ^%5n5qU-5!o%W7?w_B)`~leyJc>=Fj8WfWF>oeMXT0ZbNKTc|aB&Q--hON1<_ zm$gFVFvK8g>1tmAb?tI4se)VyKCa>|(q4G23M)fuAxZ!v!1^hq3UPjxLewbMK4)mE z3hi^YR)sp3E+{U*uuzs&SVE0KzL09MRzh=$K8eKQJ{m@KU(&sSG8GA5^Os2<`j$Hj z|6MVemWTb$)CV=OWO>La(SB#^TSE4zr6F-bQ^7>qOUVFp$xzg77$U){97m}1Fg34AeI+$|Li7)g+$R!wp z^2dQ3$_u&Zz9lyNfgvFi@(ac7Z23Y6I8owwuJDDXg`Ac(Pi9ic(-)cw@urXpJD!6C zOcK1Jo6K2)>zOoVz7S$k(c*aKUY5Z6LSG}D+Up#eKu#rcOPfN>7up(9CE|HjNKk}^ zx+3=KE`j!rkocWda5)T>6p7oJoCx2~8~Rv~lHe+-1(~Lh4tr4QNbEpGxLPC~NCH){ z_Bqc3^ehY~sf)uQRiu5+B38xHedbeJbNDAN=bu9R)Phiq1;ANWDgE+C8cDBz4OU5; zTZ>_UL42iE1f*$CvsJQzmx)`j1i{meW(eyQu*KmRqa;{KIf8hao#|yE3q%c;=<_|y zkhMvZMeu^iLIrWENIRQL=t?EX6t5~vJjh56ji|lN)<)P=(g`dY(Xz^E7VSZ>f^-q9 zgw`w!N^F>8sz#j7P^W7I>4AlU^Z1oXTc&-^L3*`S$h4SUMPJ5fRK-g|+Ud+I&6u&q z!r)RkW9_SOVQI&M1skfYTJW=iLM)@Jw0fLF9jua4Y7op033rR6zme$zaXNoW!U{@M zNx+;#1UT#hf$(5RyzK;rUCzPJ;b|T&=Q3Rs?Qkyoi~;~1HXR!Hx5ZZhyp0$6E~><& zciD(ma3#gl3uC2&P-&$o5etAtzftpHhjYnifUool1dAVPSv#DibiNSnMn~F)^m13I zUClNsWFHlkwCC?&X&OQbKImX5cO1!)ylW2ljqXXBW;5cTg1)$r2%E$dZ1;es79$c06S zqyK`qC2b@>R8PqY*`;iXo_dpnB}HomGV6$;rV3bcW*1P-_h1v>^0`ng!KGl8b6#nX zs-~+4OTaSAIv1)AtyE4Mwf>dlVc9sG%`>61ZlpVz`wa zUt*!BnynL|$f0xin)nHEdP`cUXV$Wdb1a-4<3E)MSF8Pp6}SZtLr zv^TU*Ooreh@l8kz>_!s6=VI-Iu*$ZFc541A#7oR1EKujLig{T)W`%UBO_T={jbkb( zh3Kq}QiJ8%3nAs&5UL^rD_E)B4Q2`DU8{4%4g`PZm8=S_;8upT7C^8L;zAY!&aY z&?us^LZG+!hV`Qn)UIJsiN%ygyBAE!yG&>>5eOJl6QX+bWS{8^Ed&m=TbSDRg@AUk zkHA_BC66wn18cW%5R#%>gW?vZJCk;U@EH`>FevRqior*53>#HMigi~dZecY~&{WOC zidkUslMdZIA!D96gslb5AzTfBgD-SM%2KjXH4BsmEdbI+haVBE3|BBB2o4$+j$mUU zsn2k~kb9AhM()c&$MRAl>O_8cQsoVy1|lrx;4(_2S|bEx7TRKv0SdJgTim~h@VjAr z!FDri!C-~o*C}Sf#}ZxwaH3*sL+5~M9KKrmGejQgEjWCO&JhFW#hln6dDF)Z#3ZQ{rX3c`ETyX*yTfs9Z5pbAu8O(X5 zy0gG+w2%&lO6Q5|*9x8rouG^*;`go0M~To&7RxXMG7Ix7@%yTh;{uf>LEO4gw(iOy zK|)|o`dbv_V89~QVb8OUNqt-5?zM_!oC5wf0r^c){kG_08UfGp=C@B+kViDrOyp@vwr zW)wonFtZ#7Zd7_Xss@mlE$@JSGcmYC&fqB+suB+_q>_+EA&16^Ry;o?Zr& zTK@#4gaM_NhElpMP>Q)PHu}#{YRn^1CdJ?=z&cF@Ftr3s88ixlauLrhQ)nTeHSD#m z;GHbqsSt2ADoK|^I?QqHx8*@;zb#{J!B->500Ny^$P<+j)IM94ArGp>V=Gw|(B8qY z#}@JcDq~bE;$os0a0QFCzqXvHB62R*hZN92J}MD8(V!}IKy@+3#gIispf)S?vfu?o zEaI&NVP7pm8(JzNm!W;Ng63kF0;#Noko*|h1dGK}tEgheGnLv)8%9^!XS?>&k`5yx zh@HwL2c3oD(#Hvyl~zG{;X=rQ$wY~%*-h|S?#XgtVR?a7DPCIn&wb69TkrbY z%Og1U?9I3S6U~^(ap-s#kv%cjbt<;c-_c#0`@y!v8;@b4&bB z@(I(sO+ClE&qC)J6{miyeyy&7PEt$yVZ!3@5kt9-i2LKi&%E@wkZ-ve8TaywuMm(J zH%t;F#SNEBa`@tgi7P$fnBl`(uF!(u2#FdlTwXbRr2d5h_euIUxh1W;h5B$$Yknh! zwcQPGyK7@>L>pftMz+N!w%sMQ-6gl(x!dmA@<@PHir7X!p^bh*8~ubf`U#0~BS;P7 zQu2gk{iI8tK+)r_9NEV4$l($LQCxqP1KDua-@#av_>W&A6Jf~68P1WMtb6g z=!#7o)_OBsViVgqOAON!xw-SHXPX%|8bsl%WZWiIQ^`Dju5yixjnxFsY z?}w%9=l8F9=J7v2_V|lo$xCXLlD2wJY;D@awrWpmtEePhxFlUsNeN+DN*WnAQcGB? zq$N?D2avermaDF)Bwgjnx&f1i$Bjf3p`t|+S<~0HhD&Y}jN~@KNKS6yG`W?(WY2%Q zVx)!SpXAe4vF^4~xpk@BBjOT-4|hV#wT&OQ?g8#_xBIywuYKjEm!Es~hQ}X%`IQ$R z*VXB!dkxctakp^U*3-l268;sWke>Z#^*Fs*6W6rc5>tC36XDbvF2c9NC6_Q}v|>PO zs(+^Z@0ihwF%*!}N;zAqzoqu+>Jr%6h5`kG6?BUhtO%nCV37m`-CuwTqT8S%AxQ`f zPi#eoq&RxemBU2}hPrk24iKgtP`}%mY3k1#}2hle;Dgc92s- z8zQyg#|R-7{y*FRKR3fQfc8u3Dd0a&-NF5f{Ch(GKChnC%^prGb=KY>|63abW!I`> z{~JB2RrCL{C;hDXTSc_>>KP_rCr|&KyToCMZ7Kijd!ZOk@xQ)nCp z`VJABK>tYj!-W}1fb{9GdC(@d+_WKLYpF#rH6-f(mOwuS6R#W@NB8BL*z!#O*3Zdt zL+LTCsEnP^mcuVV?B{-QC+5&gx@QOg#{Qxw{IUVU2ADR2ev#t8+gC{U&*0T!6Sbq4 zHW6E`AB|qW=q$9C`+ucj+8XkoG#8?$+a_VS2g&+~(*IXX(tqymVQYFA+9TY>`9(L7MvsX9CF~c5DBU(3iAg^qY?+0X z3$KPFS}AIs+^THEylaWq$k9HG)zI8NjQx33&}QC<94598W7~#D|5P#mUkzjNEQPzX z?ykZ@`v_8xc>ni|AZ7A1{HePC>NlRx#0_Pa{ZRai@hqnNzu0^8_^7Tc-*;C@fQODV z^y^Ni=Q)GB-A)K-01}c;oH&Uy*zI)Ext*bJzfRKAyZyO6zuT=_F&^-Mjj_Qp#xfvO zbq*33W6KCtog)DjU?yWMW`V)RfNhMKCrRghfBTfAI_H#z^ymF|^C?i(sXF_&*Is+= zwbx#IowYwk7J!f1Pan0Rm>=e^4!QdLKjwW3nMo#@ z$z~d#rkUw{`+5F;!F-Oz>QwTbkabEKO?a>6dMfvPntSxkB>sNFe3G&?_WhImt>L#% zQTFrZOXg-_s??Am#FcpyuQuv z-{-E|%y-PUSUCSBe$OA{_xwwK`BVG-x4H9nK7ZSMlkzunbt|8~$#1vvy2X5t-);u+ z7HYYfdcFwuO?>(s|NodzU$pJh`^{WU$6Kp!#gUt!=2MpXn<(=QDE=li+|J)y?fbXD z{x0ubo+ zE%f7UmTTgu`cP8$73x)qFL9rG@>@vNH?7?K8B5O}B2#~Z8|FuR`j+`KUSH!q?CWot z|3;5}g?he7x!WlH70_?BWi>LsRP4LYSc&-}S6}A;P0%K(zX^K2!rw1hDU;-V!BYA; zTk0#^@pWG6S^fVe67@}L|8L0EUm@xL!0VgTs!{NDzWpXt|A5z@^Ub%w)d=_o<^GKC z)uL}hqj)zR>6&I=p`?G+)_b$%l;lg_O3JThWlX$XyR=?C@WE%w__QEEW0Zh@QMrJq9m@ICtQudPS-FVPWyNleuG}rC+R4S z@vmC>loa2>C-w68YzrhYp&pvf`{(#hI_rykzPVW6*WiQbkPLpF-@j}>>kj>w{#4&e zKEBF-$@O=j@#+xe45cBy1xS#{ti9x7rg%|J@hBEUG4u4z4&8# z?9xHv9@ibjNVD0!(n!QUnjWX zD8Fpv8RhjnK(~%(W7hG$hR2)NQtEm0oLO#KDgCrr%Jph~d(t#eQv8NndU)rKmTW&hj_o&zCXnMbGc&)ucwN5&D8T86n8-14(eS) z-kUY{T2yVI-VN**Z|1#=PhC*Ffp+Ym4QkUCUb~@l85oV`8RE`F=VB;mfsXmq(!l>E zT&?2%|G-K3Bl`gqJ$glsJ~PggWWkUA9KE`1?kLTWAN?_Ub=llSX2&ple)N~<)fE&{WihvY z^q2TmuX$h~^M3rN=ye}@jr@h==BthV5Wng}DGy}rkN+0EP8qbLP3j;0K7Pf0^#eKo z57)QEmHj^@3d5}c4Bi%NK`7k_vVWhhr#fH$y z3?tn$kJ)wb)P|96oUa>e?1>J#t%;bZ9*cY@pGdHp7%GIslB$ygj3isl@W}k=_pd5@ zI)qA-w`0`W+J-$tLI^9yfUuf`ndHtabJBzmR*eCnefaYz1VI$#sLjZW%LkRglZTY5 z$%AT7tx)N;V<=5jef(^Tu@|M*p%XC1T8!{dvgq=dkZ7~ z^X);NC>Nf&k-_LSlb=*J_)+;vHjC2JITR<{3wy^{wDcSgo3rQU$&()$Q(^L<#?Ji6 z=z)B)>OMTi@@38k$?#MZY4K-`2?4p8wi`AR#XofqT|9V{NJiPdW5wG7cS-R)cs7c1 zLC+W~Ewzs$(npYBGT}2fTrzizsbm-Vi%Sk$$>?!Nvht2ao+-+>3(sXyA`&z8CqGp= z60z&(0Bn`a7|WHM^^&3Tu@ze%Jr!mK2hU`1*Nmlw>uJ+G*jYS5<}L_L)r_@d^st$` zf10w9b7^MMAwNaEu|sSgu+8lsBhiTiZ)Vxb$6CDH;W)ExM~xMs^dOx%u&i&4gqIw- zGk46zy13IG&GWdWacp%->IY8o!6@eQSj#Dyc*9RwB0L!=3!zuW#0eA|6on@Uxj#iI zX6&JphMxH;3X1WMaFEDPL16LZqOsS4(l4HHH1;xUp@^Yd_0yDyoS3v?%uQlyE_1Td z(;QCH&vwII^vGxy?wWFEFgtH^wA^rDfev0lu@_0`HT+QBI06X91jibbo&~kckYgTFNPuTicr2Ww zAb2(wTcUYbB%U^kpC8o%kQ@pj%sKN$O^Xh4;~)i7&5~%Cc41bIc;-|KhoEV)6e?>W zPQ2sq?VKGmnKjQam<5`UJf*6+1gX_ja*{$dXCUy5@TBT0PI9WQer_bdvd3F3HM<~= zhms(UCBfv$i)x-n)+TeD+2pFWVd3($V;5X`onbR{CYEb3-Y^V8I1Kz+&Y5AURLjW_ zP{*QWnC4P*^e8Pyhrh8-)6oe%H5kM}|04`6LF579GbDh`_|nyf?}xessW zfU|IgKLq+1-ic9sqt+Hgpte%Y1|4#>5TV;Jh!n?}i*o`QdKeKHI-l){2om`b zCJXCH{)Yr%!%j)^?NRxhVyC*zk0IS(v(Y@k{{b8rWc@2c+<#PgSrg~LJr==1tg7$l zbTcz~zW!P!b@Q%4So)fSTdn-*aq}X0+c`*alfhY5b;G7294m7*G3FMUgFCO}(7Cx~ zPz+8tPLLdgp@l3qN?&tu9hM$dHz$JfvYE+gN2dBQD%ZONU>CzE-nQBDQ*xk7c);Dm z5ex)|6HPXAZ07*NZg>^fX0!2!mK=)rd>IJjQRjSC>0N~EX1vEG`XS}COdO~eMSI2E zU4sIg@@NUx9wvrTw#df_Qu%}UqHyF0nOJ*|5UU>H5WJAKy$QTo;Pq2uc*qro=HLl_ zaX8MU1?^!W+IH?$J7a)nwxe;=^9D^ivckOGZX0K0gh2r#&Xr>nk(2@`)h3A#z)&oj?a~ZYdl|nygVn&Ms_K2T?1m_BRM7~BN=7TZ3R$4IAB#;Y+p=?pzktObuRencvoB90+!wnq-zs^UGO%1$7Xqa1db ztZ_#Tb4b`K>f6Bq%|lhahE&BB`kl6-(T>cF)&t+B>u6g|ewKf>CWIhb7iuEP!5P#w z(&3xQS~w4Lunw3uSy$0o;&t3%>nJ_MGl|M+bc3jJ-%pIPiP0?$7n5ZHN6!O|18Z#- z0z>8v65vu&LA8<_<4Fk1xtgU1izbmJE$U7)UASVxfc(6{Sd6k+sX$^!lg0s2IkJ)m zAzy;jA;6@D6lCIfQwz$GV>0G@I1m!hs^LI!qu-w7DQ-=GOO8o>-aJ@@)7%y6?SW>O z(g@rQ`x0Fw{{eXDhmx~aOCe>?XmT8aG*b=@HvBjmO)4kOO$!P&EKZ6?wmy$pZ>qv} zqX%QCW)iH7;?nc+Nk{&Q^(=Wy4}Xo)Dm};XxfhlhbYnJ4BxMN0)6Lwj6vBPwuU~pYWh7J-annDWS!8}ej^^&D9ejM*em`vJL zKN-T5043Tj)Wng#QPBOGa)u}cwRQmYB;sBU^`dA^o(n9Q_idBaKe8#b+6a3HnCd%< z#GWkE(-(+SD|f1JYYC<>LPR_9*Ul*7z03Q)gzTILvHXF=rgk{g-8FX(VkW!jJdtwI zV~n4RP^T4NsC(^p;N3;2)9@+@b`G#n4?s3J$%c5k&#ozD>U7u490IqTjtl5n!IwWc z+0>Q?Wxk$rUlH~UG?(jn!E#o+T-;_-d6?}w{kE#A`r$#SazJMUG~EI{Thc@cO~^(~ z6P)K-HMalR32ZeN-scE z6h%AJo$~G%kH%gRCFXgZEJc{+k24@{4pCpb^Gwsyd& zi$l7~+QxBuPJm+RX^>-aI4nm$wilaqNwN|1erd}dAN$~W-pk7nwb^7ThcnqS=W-e5 zyk#UXI{TZmfmyYi+E9Q<6=hvZJ-9uV!2c=IlFWb{%WI}WOv0WZ9WlIFh)2IXNb36P zMr#FyAm!TgCIP_`Li~PHn#;nxXcoyUY6K8Bw=JTl!W3$uYHv8E0EoE1Vz zO7Kxd9Ko0t7?Tr9b-a`CPS)U^)C_-sVana*P@cD5uH~R)rA-)dp__fEvjLd;RM9ud z3D2?|6AV5^G?y5>0-r(CFgR$+8gY4=2FC#%7LCUu&YI(Lgcr|;Uos4kbR}G#qF$5a zXsajsI*!*`XE9rUcbO)spXCA8H2e&#i1KbR7+z7K${c%cuNsw z#e?h@4$}-YkmNsfLq45o!&{2=(=qoR9?qyce25H2;53F}?R1%>bYg7#Lt((nteAB2 z+mpi(QlRV-tE@ms@Zy9#*rMYFWb*c?6MTq})zT{3gyC@bI5*!>RONIKhzzNo9(7p{ zA+YsRTkY6Yiw+=9u=FI3Yn@u2so5-;$A@XmbB05^t(&bmvCER-U@YyqZ>gCVDXp0? z)Y#9M{@SOlbBfXl65b7iQgyyI1U@uC2gMRt71>q!f6{S z%BT#7W|HN(riKH`iSf%A-*e(*^;E8=Pw5*0_8u5H;7tKH zL9K9mY4#Lc@;c`IJe2DrQJ-a4P#YR9SnO5WD3*&x`(<$!TmbZn#t>fSiId?$A3T_P zJG)NPFDGCJto1wPVTS1z6|I#()oSV@s)|(M)8*uusZ-mlYo|lS?H7lIoq=OOzOLaA zFVvWuIWle1lxl@NSMqntB!L8M_FmoIb6(iaCdMNp;n9np%6NJk5j1^q8z6!Edce^H-r3(N{0VHYhD+?wfZh)*P*BQ9fFyO_!0DjPolW{I%3)nG48gZNKIu@z$?Z*{8r`gLa9 z^)*%Ofwa|(V?U&-=K8hfWO?|ayI}}k4|(+3D3K_oH7;kwSd=DO`S5a zgAwq~DDWwR)))D5kjsKiGDm)^6XX@69o7vp- zMj5z0#I^0L={B!cBQC^ci_Wp-c@U3T3tv7EbrJ>xamLw2?uP|0XwWj7lFUU#^OP(p8PH|eq2zs+t6cWQeo?o z)Sd*WW`tJ(-D(Le1vS-p@+QVHwOg{ERYP?Rd_8C?CKC3vKZ!bBs*uF)6A4d_QcEkU z-=;Tdf9zQm?fC3w`)ewab_A1dD$9VVqS3ZXHxCWSbrMH?Gck^YM@*Y6t+!0Y?Ne%* zQR8@6+U%27)w~5o>%lyLxf_bmUbxEkX*s2SH^79w$rR<#kXrV*qOce`)jR0kcgzbh zNK=j9elksuIaRcKr%mQGVyQqY!W61eZ?#F>?HCh`6*FzEg_dC*(klmxI1}$M?QCjx zV!Ih=4s*XAQ;w+f>I60cf$7@Xs*7q;99>@2nj;Aohu|BTDp4l2wK%k5u-Y^2;^z*i z?ZJKyHS7MG!wD#D?&{u(+M25A514V&VL@%}24p@;s1Rp>rk&RiO;g!nzD?>6ZEKsV zP88hrb68Z>ve-$YO%Kszx`ud+!Dxl-)n0oPrSXsRNg*ua!sud{lvjaahUoV^oBbo7237#z;9 zkSfsW$)-PG-NVmGqNXorFx6Dck5&%!73fr`3*s(Ei;P3TO49%v^WDr6Z1u95%Bq^0 zNmDqBdCDYAx@DA0Ku^09LZwFsj6H`p_2jxWhUoP6paot?Z`EKJRUb5c)rcs*s|2W-d>63Vh^je6 z>vj$9hwTpsYfMi+Bw!+?i1kIXqZFdK32D)s*3BFOy>1?KVYlms>IdwaPsOFF zk^-sX)|omFf+j{m6j6kT)DB_nPIT!UIf$oQ2QijPDG4kkZoWt5C(g3=d)SEGsOf0m zJ%T$|<)4X^-eK;6k+TM4L^LSkz5Zy#r(9Y$oxD1Q_)h-n$Ot*KoR zsaxS;TDlL#7O{r2_C-uO=9&&}lLOgQKOKWGRrdly0LL8bRZ$NhFq#iy!)zWPq4T)3 z1>138+=%I%VjLNdOW`3ikzt}5gS-CzB#6kxwdMdLl!Epyk?$xd@(C*K*-uMIqa-!z{vIoA{z? zAbwbK8lO&|BwSir0^j2FsEZkjrpWz+tpr+^!2vSpfd?tEAZw6s7}5y)u8sPJdvPWCQW?jb37B#7-=T6e=SR?*Qo0V@zFQ}Z`M#(7i>ys zlBe)AYxF(O=!<%rnLJdj=Iz=yYDA1Y%^DsdlG-PGs`Rx;Zev>5PPwStcr8;~Zs<)ts-zEl^uqjSr$$ z@mf{KYvn%Hnt-pTKW%zy4N|?cHogj2qQ~74JzPms!`?r|!^W5BkPL^m^j5!C(^nmr z4BfW|=XH9b+m2YDZ%^&3gKWHjv|F4Bcm z)B$&g);zU!BcZM%2T8^CQ>!pw*jJw#TR2BccA9$_-n9=>f6S_g-j^p+%DCxMs%mPh z=i?t^*(Hz2@Go{aP1;PUZ2&l?o}z`G<;Ff!IT^os?NT{=YieRsQ}lkGyfc@~_$usl z9F5P{jMrPu$i%l$<}|r!s&ub)?_uPZ5%8g!nkaF?Oqf22jSL9eUNgbI*G!r|bWifr zLP{Mq*W5mF`ot+!Q?=H)f?%EE|CO3+0GKqjY6`!NC_eMS82R;oUW%ii@neVsKkNM= zUg*=$`0-!i2NqyMubXaiIh1gum$G_sjA2vGJ?oe;+3o-Ogy3cNx?C z(x}ubYgl?w&fV;orjZeQ%`7vnu9;T3n;bJrlax8E(sFpis3a(PSfATDYSU9n9aib) z=r(_p)^lsUsaOR2^RRyunNR{TNze0+$&So|1*T#d?SF2RCMkgoY@aSj9?uaQ-OWt#o2(-^tA#2cv)DR3fvv zMY^xa?6*>Wr!l#nguL6NV$NmzeQuOHS)VT1>s-sg$>nmcRZOl!cV#UrmW@)HbYckJ z0jJV+o87uArgA0f2hCRDI@y&Xbj2tD_>xxiIH|0A3eDxXP0o1NX=-e!x3#y8Qn(%M zx;u+^in;JsXI!?J!U&-wEI27{q7r#+p*p6+xuS!AByb!wQiJl;JR2y z9~zfJR3b&Ulj2XhuZ&U7g+c-9tfmk6PV_%pxhd-Yg=pfv*|S>|VIJS);<> z?ss=XJq|l}pG4isokzo=;=+mYZNwpW{}^C)!7@jc!o^f>Io{432q>#}_;l~60Js~Q zUqR~Lv08~ylyj-NHMbR5IC={5?im#X|D3zsF^#8;coX2$blolVsWOF`?A>E2-?-g* zA6lTrt#|RV*EKXYafP+gh>#1bQASd#C3n|Yz?Qy<9#uq-BH-XgUphfIuUb(527LiO~*|1lNJs^Dv8Gdja%tPud@{$valKIXh; zuzg@M#z4 zcg%G@?4*{uXG|J#YlG~jS&%)px@S2*=Qb}`r6 zSmKOxb4%UDoZBvd-ccFw0+cmiCppc*QlxThMNsn@XTCEo=QJ&84A`LMMmn{_AC(ec3DW}Es=XS%ooU?owFwgA3DntFdFE|rm4*Yf9zMOGendAhjiEclV zWZX+=qHvX>SyS>`mOM;XC%4nV{*v)ya%W6xWp*_sRyLbmP#Xfa(n!a7RyS=_TiACT z4y_?XYhn4%y0(@0y!v)<$ngbn7a@+lr)+kS!%6kcS$8cKe6C!QM<(_g_z~p?Wb6850#cPKx7S44oPner*k2qk-s@U&zGHGO= z5Q(k}6S6DVo-7MR70V!?$(k23`y1&ImJ7|fK`cgslbi444SnN=I9trFm>)?QzD&bz zM_r20H(};9fRu6rvV}p^d59uP#$EZC<8jMMdPoA*R(TS})`7am-Q-(^lD|c3FVkktMBH z5fIw~OTEJ|fw|b@Ltu8zR|+PP*~={ZFnt)fIjpj}*Ufr|j9x`3c3N|D96(rlVps!3 zf)v}wLogW}Hf&Qb-3zamF4s!YMOm3eSZvuB5!yPoob9qjd}9yTeOORg2bgt3kg-0n zDZOZ@R`lo0I^+$}&E9q*`>9XlO2)WrjD8O8!qbYg-uC%Qg4(@mw@*mOwrc3KL^I-|Q&4U<31>_!d z=!BL<2#-3W$Js&k8f&F5o4spg4hIP8%&qx5Pns_Ngg{ys+9@wE2SEUap-rNZd7uM63?0FT^1C1l^?f9*5|qASaP4 zeJO8Oy1{{!R|C`1lFc;6E#>EDaolgrbI3*zMFP2+GEbm**sH~s-u4SX8irkg*ie#OJTAz9mLSZ zOMFvb*Lys{lUlULsK3)mEw5u(x)+nEIiW%&t7Uq1kL68|b08s{HUK+!k*TTSC5aV& z9|RO4n$9OcX8_3{b+d=4b8iun9ViW)n1eTjJ&)9+gN03x$g|s0N64C+J68slyjs+{ zjI3R54o6x}yzX&8R^P>xpAA0Gowq%)$)vN6yI9UrB-YJtLK7}@5>+s^b6req0##Lv zMC*17t9jKnpj7NK#8OB=&M+7^nts6h-AadbTJWMBd3+y{J>g@%WC@ zvDg-I3@%xx^-xt|H4Kxb0fWa~(t?@pRAignI-Yb~=D4S074ZP2n|oQ4htTb$*&==+ zML1v)dg_ z88Y0%dgO)Gr0{A5*YqHG9jc$%*QoK10-Lgq+ zW0I91lXZJzeWeG2OpZNN<|53u#-n90cgp;-m z;p{ZVx|@VXV`M{Uh+ZW573WK#v0~%1bclRRP8QT-hC|x4ZFVF6 zsHGH(kCI8A+VIi5WyM^bkrcSTnb4Z z=&?@J0TPf~!m8>d%x%gtO~;_s($Ls}7xhVKRC02!GQ{q-J0LF1IAaYLSH6}~vem2s z^q1|fQYqPF_)5rwP0WQUA~x}0RiMRf2_!}dT@%`!QgP}Odhux7Ue zDG2omNSoIScY2x$ufbZk%y(W9Q#+$!v%^)0bl+a*4of3|)*6YnTCNhZddZvWE?MC( z1F;EX9_2y)Eqn{Y+iTZ0p|LT;V!b;Imd)pteGWG;otn))4_You49!YprySmH=guNt zxu#mQI=tPO@VRE5({fq-%e`JVgtgBu2}PThZf4ot7VmV(JO*y`rG#GcAM`m_Y1(Fa zxX3?X#xGme+}NCDy-c>OVw(qWUqXGNGiDZH%aLjGZDkb)fd{eAJ)1*e;>qhp#9`!< z6wj8!WxjUrv#@8NHaSvkb}-gzj|>N3u$}A@CHrs@rW|!j;zfXlGY7T}ks&iHTtjPa z!0XaH*J7MCV8mux1*zh2X~{S&=UT`FR%8(v%Z4zz7&!EfwitSxbF@fOo#+6i@511b z(;HJ}HhwS(SOlrba~2MONMIAxD0LTG^ckm~8Wxm8!QRiYaU`*^NM!CRGm?~UD|FQ- z=>Q?S%IVLUmS&4^0Ru@5vJnKOGG)_$(V%)7M8>W}gSMKdrK_JQq9oOhl68qA^8p}L z*APH!$Xm@Y%?PI0N|LTJ?NE{~AxHp8u2n?Pq#@5sk6q9&byCZgg|1ool+m`OjnHSC zq)Xci4Wf4#99F(2i{};8OVp`4;yB9DWu6s`d6o=a32MmDMX9{SxXfRA7y~Z)dRsZV z*l)psl_f_P?UJ0ZG^O5wR-rGmO*AAMx=^o#P>FyxW$6-g76U@2t|2H(e8?c6Sarcf z;IF{qC^6a{fZU}ShX|{sr0FV)@uE=;q1Ut*yl`iu6iI2ia3W_|tH^^s9L&O^zqBuG zP+|nxY+r%honz0eJPOUiDL>%a>}UML@QJ03O)1oC9$-2rmjC5Ua*$v&AK+$2P ztq^T6b(S&U!Y-$?N;r%M(WNt+W&HFwX~;`*StvLw?0%>`=FIg)e{B>?7+@7W zn<>-8jR_rLQ+A=T@Qb^o>>38@1$Bt}EtG?l$;xz$H_vA6qH#=OE>C6+gN25qiQ$-K z37cS&vUbTqlX0Y(9DL=&A)z62@&IcJe}+2a^t`D!w1DBUS}vYocp#(^F%XQl2jVcw z;)Me+;}q!MCLYKdreRV~i>!I~bfQrJg828k-buj`6cxR_*dK)Yw#B zw5gK@mpZefFa=8Ev(F8W!gE(HFoZ@BHo${d!!(MFUQ{IA$_`$F!^-I;7jnkgNB}^o zKRZeeadL?LQV0r>%1n4l>{a1o2V@)>xjxTWm5`)i8Ok0HZDBNMJ5iHYa~YzP-7B>O z`C%{AT{5o(XTPlYA`TB}+1?h)(nNnL#}|^|;FEC4@HI$@5b!sI(o2djevnF=(-X)tHof(~C?X=!^ES&@vx`R?FLK5?A|s-1FEZ6!>YXhm zk2GH`n~IRx1jB8TFB-SoIw-X9EJuaCV!czI$Op|4Tv-1Uuit4Zp2dcfU)nso(~PULUk`_R4;|ZWJvZe+ ztyg;m9_SU!otI<{JN63eTg%7N#t&HASnuq%Y1Pu0pi_yx4E|z60Asp-8NDNq_Y$s* z%eTWI-l;v4Jw?bQKkaG?2RTszFKe7S>@>*FR)RJepZV+)8g~vr@Bm z^cDIK&Y`wgbKoY;HE?TFomz{a4NEM3gd9u}7q$u8;3Y{+^h)t1S1{3VKsTeZ(z)h3 ztd)efIiz}EgA7-IC=ax&xy|XLMfeJrMCn#=iO^4pC+qM4;WbA#d@&o}Z=cIL#8us8 znlRvYh}P3v3>Asi6V`H){_HeY1@#M-uwm&E6UZ7h=Qb@_P>;)vnL6&wE;gv>->|MQ zG@WhHc4)f7Y=NgKTGfDO>!em|Zm`;n3mThnb220ee7VL-Dn>rhcdOZaSiCd`Rgu>1 zLxPYpthh*pFLT>PyFnALFBN+I&{LS|E6r8zq87ZW42Zt0anADhDwGWKW6L5IgcW`^ zho?JUrS^LWa**YT?MU4Ntt9VQqJhN<6(z)K4bJ)Qn+Ze>1BSSdYKUSoGZOZ@lOAu3 zw?v|Fj33&R7cAAr=Omqk?#iaz?U31t(U@8$kE`vH9nRS@#0paZRg7_-%qOm>946a^ zsrn_|!nEUf01^*E?yS|AaUG%jV8n<@IdIhnr4&7^6#EdhaMh zv0(|KS`J+g5lCg1uRu>guo#JVVOYT~DFN9)3ao1mebA*$N4fDO;k(R^8^CAhDl5x- zfbnv=JIBKcVwQ@si`flk*I|>86QUM5uEe#J^CYLkpM*Cy=dLe{9>(G)1xEXfHeQ8L z@QX-xBi^=`aQqI@z6asMa%(xOhOG<1iyQOdXxz(oirN+(_(BRbP5gFB;$X|g04E5RfJ1&N5k+TD0qWqqyg9E=t)*-Q?l* zY%$0uj`J!C&w$g@6pSkur7YKdh_6*=vdffoti>_|dV7fwxu#wbqzHpV1DD|tM-=g~ zLrT?`py|){+iwhlVU|Y0i6pl08Zd{TdzW2m zgyAYl?WWXYwDd8%6uRPE#-``8&wU(*xTV0_&A!{pShv%cd()&_wCx`5hLVFUA;Zc+ z#*mh)JBB0j^gv867Ai9)XeguNF8p2_2VBYmr4D1T%H7>W;;=!v(h#-uEP8;twXW?U zcnLKUb70O<>altjCPrz67xgmXc>|?MI~HTUO*=*#=0P86#|G=hPHnwM;!r=! zF)S)nx0FY`ypoQI2lbRE@z`K_wSOkOn^oMjRg8t**(hze0{Y}Mvch*Wu^8<(@fd~YGf$9sY_M*{wu$1|MP*6YUM?YZN;#&Yq#G+KXqxY(D8}zV@RwvF zDN;%`CL?OVc|8O{nlKG({2SW{APYT5HkMI_O-u*cWMgz2uIn7h#s>qF=&Z8kc4A{G-<|JO^19TB=nGLOdu^!&>VcekVCF9$Hd}?pU{C7b=HMlx3mO? zmJq@XeP{UjkWAgy1q9v<02u~d@YlpPcqHI?0#YTy8i%HRE zoHjdQl3#3)9@a3q+;$#=6A;3VKIfjGg2toYT z37(VZx5uu2Sev=AC%7B+FtDW4dR+-Dq~ zx6IYy>CS0pJa3M1=lL9iE70Pe#Tt`Q%WWIhUi19 z%=!VZ?J0A`hPK+gV!79t)XQZAuzAJmwa=lNnu^ckzXeCG@C202EY@-{dk+3zj;$Rv zc$8brJ~2d(D5hrkm$Hkce5{5&I1~Nh@5>mQTTK3QElV3lx>LEu6cQRbqMb7I4VAX} z#cVr|mb7!|_tH-`zZe{OD>1lB?@|(*$LvBt6r2lJyRpF%yiyT4%yKoC&I89##k9(>ELZD! z;a|)6?Xl^AaJ^IKu&o-{$*AY>EmTxTDKR?SS^)r4%IS{@2nSA_L_`%r^ z{;E}lK0j{CM8U$8U`I`5zP;f2ecpsZ!S_7RA90!w3!y~|dB32$J+E-iivvfm!^~sj zR~0(A*+1r)LiG3eRhW1z-QMB9>ZJ;!kfWSq6{dB=>OJ1b8JjfE++iv@Az|03BwS{8 zG;6kxUcF5_)|T(sGWxAH?^xg!VD_d_X;t1a)4p~T&MM+HI-f~ z*_i2A>Y2@@-^M>H)mSQMcWA|kXv#B|_6vS?6roV2F_T{mr$=n75{;P+Pma=7EKt+lAHO3AppBac01`*!jmT!-1lI_~gNog;R#a*d@t{|+JM*=UoIXZ#*Z#hqq< zf*NHTgGm{$(u0J&3gkv9zyfydF0a2Z4qaF93J&aOv+P(lNx&~{^il_q zNaY&qq=?l!qZJ|Bm}k1!D0HbsT{&6-{1buN^g1$A2#esM8nH1H$y20*?ausTwkbQ! zf;{fg5lgW@?{b4`nrGDtnZ~@)3+?r&h7oK!?L$AUot=-2S_;qhy1kxR_XZ?AY6;|1 z{-Lpy^Y=u$J1Pq+K~7$oEt>uxXjnhnuG zJcGYEfBzUzc0%}@G=PTqCpDnA&?2Q4n>lJ>Ixyc&1M=@MU+$9zdK;oPduFZ8Dwe-z zR0QqY_%EXwNX^tiD^l$?vzTb;vYEv??;Zn&@wa)`b*yP$=^7g1x8@lyG^Z7T_P0Xc z2KkK4nmfk;MQ?2NuA(!nePyi``m{|cK&8rHEvEzH2( z(Tm}K>tgU0tg2Y=_4_kmXT~$5)|$dp_^3uB0sahynN&N*QgfJ=e3FZ$-PMJ5afak#DEhHg`LGIm>`!3FLGCPDZU0yr zS@0k7uI=zwv~{(%u54T97gj*_Y?|6PhSD^UPH7fjJyMH}txP`SJ>yks*`e%WV<I7jCbMV+65Hv9knqOfZ5mvRMRll5?vW@u~*^ytCU%c`bMwj z1$*Bjc--e1B^MiGDQRPGfmV1JJHw#3$oh;VcJP51`rk%nz=|mdYyH6<8T10Sor$xac0(x_oipsmYHr# z!<8byo94XV>yasW4I%6Yy*|IWERsx2h;K)GcCH5CS^l>GrImO{2~F`X6i#`h6)Wt9 zaRqOAStJi895HLWt9{m`zTbfv`yBIHi(w_t9KcgsGz^hzzvMr|JM6P_uD7x*8oO?V zZp}UZdOGI}MvC9YVv=lP*76F`*ki)zW>XNWe}nhjFhJNH6w;KrW&@M`yDXmDX)&q9 zXyrvq7M8g0FY=z(+Zy=VN~U0bjJ}`)>O&~RV6%8ZDzS>XPS5X@z`G@g1@ol0N)tq3 zby+A<4ZEJd$F`8^zrY;S1&V2N%pNXfLWo}oTwCW89`qFot66BRE0jfBjTm6#<(YG# z3%S8eU@k-hlmDv(ZjGt;$Rx%c!eP(X-yK_q+Du~pZhF$lxbm5feSaN_OhDE=f+|^K zDvSbD`1PZ%11-`FW@^#CN>DR-aO)Um}TmdH5Q6ai$wxxQECbp*M2K; zfI&B^qYlE_H+ZBH8w6r=wJ^t9V;qmH%HB(s%h49vL}Jj>?_-&+Eo`I*Uq=tYdcPFt zMKc?S91J3PGC;|eDSa5M=7-L6vaY)jjTf=-ls}AC4zPZcc?kBK_9mcS07_2_6zJj@ z-Q@zK3}PiP2vUBQw?V@4 z6mPkR(L|J(Ry%Zj!`pu9+2C-PX zltIjvY~@+2l9I>>_T^?Xm;d{{-C!h}U{i+$*kL{BKcx=y^TcsRK<<$$D`2AJw^$fJ zVzO&fhxtk!)}HYWAvpmjI>V7Dk_6=*sj@ugl*QVUXo^i8<`?$Z)yW&o0jtRz))xaJ zdZGPp0TmvBwEZ5T-g!ulb&gFP#uBuZOeaAe$4|z4*J=(J;r1pW3xb>j%vKATY^6;d zMh|;=(tPD*Po9QAf9-DR%p~AlDA|XLaAYfq^_g;p^}>c-m`Q8dNXU2>Aa3=(o#t|a zG$E~p>DzeU@9n4Ev^J)al*_AE#N_aH$e3_G6$_5}=~YmS)In*1J%O0uvRwF;%a2x5o-lBrnLQ9zlo z#wg^85A*#b>Wt!yaR|BCYat0MV$xv_EmcJsBiwTcNkxFe|55SR5733~nFOITJamZF ziX;nLgGYr(Z4cBk%~uThS?VIpuVOXc$;I9{y9w1v*03P&$FVhvHF+8Qq9h6P7<2N@ z6;#2iw$3Qcim5+KXL+dD3N#Gf*GkP=JQJF7^QU5z3w@iHZg2O9C&m=nE>)0ceBs3n z>wrn{9p6D@@=`5ltiUNlSl8M$Snbr)$>d0iFt`=3h(}ZW!po8mf%h=cnl-FY3J4F5 z(^O&AcG^Q-bVIZzJ>hVQn!I)%%D<{jtkS>r-qn26dLxgGY5M(>v6i7xs1G}CpgQ=6 zZl}K0YMQD$%ug~-N?)q(9mH{^&l66V-Pqke7CrTQJ|nEqNp)(<+p+3+v@~FJnF8}r z*gWbZM_93{*CdJixG1eFWAyyV2@PU0gr(a&hL$N@;Xg~=!bwbdT!e{wj88RrRAR9j zwWhS9c#HJp%$qb_xxxGp95V=2YZ*G8$;-Mt_rVGi+F}0*2TL>&;79K z!h^fkRBWJEj+X)5sV*;qS|>faq)<3igq3|9CtR>cy>#9WGG?Pm2knI;3Eb`?DkQeS zi2QalKq!bZlneMXOJ5-j_Y;Ni>|*fp#DOYeXvV`#sWk#bid0d>zqt zOyLDRp(Xu$H~}hCM>fk4C>g;RZ^Ho|LZA7pVA1Y==Kq%0sP()EFjOo9-C|rTGa;`)R(`+8%CU zp25;s-W9`?sQ5#qqG8qPMO4;C3B43PQ`$|p``X)LN_F!niYTRGo0f%YKTGaVLWfYH zbycZw>a(69-C>0ZDLZ3QtMc2Tpi(16P)3xU6$TLH0NIxiPCd1|g>NsKbl|fJ9U?Kb zEU+~pFvOCm?ALYzV<#y_Argbf_p$&WE#WBHY#mXp-zU z9tD4R`s75|@3FvahrB3QF-2G51>jm&bd&bW->j83Ti3(m?el(O@yf}J&G^;cp;1W6 zuk>m~ikNoteZiM-Ac}k9(h&cc(0n1DgrjjKDgLvbW9^6q*4bdj!#oMMoOMDCHzz|( zRwBh7+3Ve5@seoD_SNQ%7w-z|ld1n)J z6k6klE z^fF?j>|Bc}s|m4Bz3uf9-E%eOBR#IkzfVh1>R5@lKgrvvj_l&X0zgQ%( z&gd*({w4MhjrXv{D96lV-Y+2pr3eUHXUISq_BdQt&jo|LUopmEv@SL6$@pyhuexyB$Gx776y{lfWq&)6=Hvem3WDmpu#u^36UW7B@I{F)Dar2Q(TLy5m&%~rG2I#WsdRi+I#=@ZRJ+NN0NyBq<~|;n&)X z*T6VP%sR^S!(V5;juQFr|=%`_xiQWNV?6H?2Eo*r;bEl!!&9G zl26oDp&;*LKOBzp#wPk=y3Kg_hdXj30d>)ttm&}xFo%Xg!rPMZ7$yZz>AtLxGi2%V zXveRoWyY5iGNmMjC%k&#A=`|S-m--qW zk{T9j9aO!@Adi!yJYQmT8^hnjjXgZVS_6-8^=Z0{ql7uWEKI7P6ko&A!O0|Q(kAnC z85rgGqKRHR#d$DlSP<-ahJfI9-c#lxLuZZ4w#2_-(6cP9WIqUd+=O56^zV zk2;&9ln|I!D7Y|YE0mPcpUUpVIxFL`4TTqjN1h_|AY(;kj7<3$GC0nbGG)Yj+otwn z()6^OSeO?T4FHBJ%2XVkY@>_IE zKt?a@@(~d4H`~F}UQxWYO6b)`=aJ4UwHEr$@OdqtWs?q1;XRr+`gku3_eDs4%!{P${Pp;&O`gPEcFk0;RRYU7jGMN&$GLP-_Y>qtpxRbu z*^`*HLR{pqeUqt_EEO8$AEpka%4t8FXusB=;UX`C&Sz!f)-w zLKp`laA=ati-pd)5ur`zKER2`GlW*e1y#Ab&S*|yyR#DKfbTDd9eO91SG!+``?N!b zhN{MIWBnZ~SLu{mIR&A&5ZCGZDzMq6G2pIDl; z48=IR zCup|L;!!>%_hpZqT?yvMYil~};R_vc*RnS7NDZ@jZMTKmq{*9h@1Wh}BI;DbV?wG_ zT}KGILso(?QJ17Aj!U90#-=tWcEo_?{Gj2n8Cd>mZLsn+*(>t?p_nvSJoZ$!N6=ou zF%xgEkZ`>F#oSy3F+~SU=vO`98ftF^C}$8+RDUrb|ZcL94|vA+9=9K&f4 zM>VTuos*X<1jRHBLA!C}nf5r9+7aoo9v6uZ`M8iv4<(U6g;xqN*%U+FDd!~tN{NSq zw6U{C-P7Jh_Z($t`NUHsVY_kgD;!P&Bs)4JmhP^@yQ*%F&8foOCESAC;BT>A%2Pz# z7e^+pcK>e4OD4MWNJN-9q*}`V609+x8f$#E3vQh0ifpC4o%= z-@Qgt%>QD~_wiryH1*3bS%K@GOF1G-?H<9u%uQYakza!|l{8s$=NEOr9&xH2^cY99 z!AbLEyn>EK@5TU2LbJP#CloD$z^#oziwg2@4FkP_k!iy5#FXxhTz*A-*15NBAh9=oGE0A@#Otl2h8R(_o(K4RCDcnf1g zQ9`l!3NZZvOj2(#tIDFUJCqo(0)*{8BH-sYlXYUeyBQy^?-LytH+jjFWyw^05B${I ze)gZ^qsu1V^4mdVf*}OAvW?kU*1u2wD*g_HMGe6rVAiY@Vb>^3l?z2=<-`|&y`ZFV2K@|r3!0MhXG-l zA#Sq$Hp75l+4Z2@8sVPD4wlFhHB zFg`r3y#?c6=6^3CFkD7ayNxiV3;Oe9*TTx}wy@;ZN=zul+*)!cE4LPO40JkUhL9L- zd2aW5@tU5My`0Z8<=LHIc7~-&xV`kH6kGCclN>7wh1HHIwiRYkT(JsLCaC2?U1{lz zQHm`dYLsVsa}7Rx$Ian@t=URa*L8 z4UzbW2$O3`epbq?P;#vjppAN#fskp!)@hZt5>2N!J>1?TU6YF(2_d`Sc7VC=PuSD|GhOB5GQRwPeU;n3@>be$X8MWGo z@iB`0Djb8JbXS{1y^WMw`z2OxynSIpEtVhNMp?*8s8!N+?X>+E{FPok#ypH;m^N#7 zP*yL^j7^X>mzFj)HbJ-?%Y`tPmQcCp#CAz8|!~DObN6!)#CpsK4AWq!K5IPgC6rQvg>W~mt#V# zayE5V=#QpDqpXi!g{iY>t6kGXe~Vt()LATQ@dq;!qQ6D2Z0fAla?c*oQY5B3qW9X= zS)0Xd;>HU8h>y|R)LEdumFTf3rc!6IYr>tUsK1bKvzOkjv{@Bx3@`arD;RDukuSYh zF>McPOmeg04tS4@*yxp#XNB8`2u2Y7EqWEE&cbyyQ@i{> z?{#2|R*=(VL|T2iHu%_3AE&cCsP0}$>^`qt1x-igrK$1Dc9fg zJmAM$XQ6dOrWDg>bt&shr}ZwhCp@~P^%T=);V^6O5Wc2BLjLu!qaBA?>AmsK3u*pQ z^L}@;zj9scTAIW9oq`I9eZO49`b<;Twys<0ZyvFGewI2b%G;l%M*0~)q8x}`{Y*ao zEBrWUuDa?2ANZBu{oRjD9Um ztJDc|?eBc0&dr}WcmCp~-rfsA@`RRTq4Q?K2Y#pKOMiX;%I(Jk^NHvU@vAU_)`VaG z{699o@XFD1M}kztRq=bG*UF+b-b}demv4QvyC+B;of`c)ex*!W<9_dJ|GId~#XW&p z9RE3btz24_H~ibS*H3o`sY~C9{usYfKCQ}YfB*B3?%5WkPJAT(bM)F~)Jj+V?`1vx zTY_|d)BB=7$FG!AtMa}7aIm+3W030qtN72+Yo*qzy!yr;KYMCjkiPKsis-NLE4F#& zn#zhFtU7q5Gf2Juh4}B$Ywjk;*0sNX-|2ji+Wza&ALCa>IkrCdUH5ofklIld|22BO zz*PL=za6>I%AJ1@{Uv&(R9h9}|L{LwdnQP4otBRNICO=V%Z`F(v(Tg`J@MM|Abs@D z#tr=*{j}etr@d(T)I#d5iqv}-UTF@}7k`k7-Zpe~z*KzdZ18=3(V{qy8}EN77o-;a z&d?pvPp_KFPoE74Ca?vvaOL4w`?5j0_vK;Pa@dTUel7@tV__M`q_6wx!G%HU-~X>D z^w1U0R(^*h5Tpc5SN+GjE3X6Y7fI`f&Hfz|06qUuGe|_rmf# zr2h;5dTLgX?)cje$LoLBq(Aw{iLRjH=wmk($=_sB6*JEVsmnhf7U$H-Us!qheh57H zL_$fN=@8P-m#Kv<$c#2mu&u6DAr|r8dsCfFzzm|~aD<=Ib51nrh z(r?ujrDTUmzjsdG*}!~VwX1mQFAmQLDlhMx`>kKpS53y;(PNG7JB>MfAW-rl&hGo| z`b*CT>2q^_D{LX&%kLaL6QtfQ4ysm@y6;jZs0=Qhaz3M5a%EsRPVl!EU0I2gXFndo z5ajbw?^Iys=yECkqV)S`UpW|D*MD-izhc&m88hx(*7owTzUE-u(Wm~b`qymlEGvWD zXwp~JU04>RR(~!8K48-CyZiDfl=Sa~&@9NWZoGIf8294;`{|FoH+{uaUh~`4KWue_ zamTi-_?OyibQhs`iKY{4^`-qTs^we7LBI+2AG-JS$-vyDBCdRI?^*UL(zox+738e> z$f}FE;Htj$na_Rjx~s-ng4@c#W=-lhmY)cI{>qN$vi0}<$N%$#+rIGiKmVJ5yZezv zt%tV;<||<OR-BqMi82_#HeNDkN=XzGo|M&m< z>$M;GH9M$r%_f?GTj9HBPX*)7t)Kf>lPEgweN%rtcikywv7Vw(vvYc5uJ`T0+^(t| z+??sFSE#D}6D#r6{pPa^gR3u}K7RN>_YU_jY&}GJC+Z>E?%JnL2NiG3{G*E3O-1GB z<{jG|nEw$r=a@csz*ZJX^ZI1`3m#mPM!zIPwAMQFER9tj! zu0YqOr#*Cde~>zT-2kw;=S}+hqq?-f|8@$>&wej`6am{eKS=f7rk~0oH=ER7T{y>V z@Hg)#UM%&sZHWBr0oc^|H=*}0b(xhP`?g-_-FNjH4B`7956r>gKuKSio^zH7;Qght{4uG0(f%&MensE20Q&Wx}49wjma=Y~$n17`oaNH$Wi}s!1o(od@Kl>7e zZhQH)z&sN|9wmj;TS2PB4u6aJ^L{^=p9k|}Z^PHkznL*Szxex4*5IR006%R~*ZJpz zbl-hfZ!zhLOy7~fe0Gr7kAi&Y7j(JApg1ciZoUZc^#Z=~V>y|6n-{Pdn*?5AQXhH= zP4y#E=6~jmqk(yOklu&h4pQf=5@;0aZ5Kg(0My&h)njuoW?wTE6MpNr7Cl-P_!)qE z0R9*Jt-rA9SYZD90J*8F-#G!Vzp3lRc*at{ycs#!^`1A-k`MGhhB1K_<>H1%n;$L< zjZ^l$+kw981(Ql;5URI|Y8NN-_XTa0{vtvD&rAEU3I0wp_D9F|1(m0Fcii!py&oU< z>A!uf>%ax9xW4~HJHBaBSO49tvUTA{p3p&EkE}7~k++KTkxX&3o-yC|=W4`4gf{gH zhxP`kgOeC0zy9L>pyJgBZ~2|`rgHor-tL~=8l;ZXStNKE_n-HdtpyFAZboi4q@cNC zC2hF;%LD8(e?&#S){cEjqvNUFSPP$nUcv>Nk0svxR8^`Vm}-$?^4Nd4UDcacNe;ZG7ll&ZL|8)dxtAFe|gfBX3h zJwbZkM^kT^^!TZ-zr@Vbe6`Jk_wl>SRzud5-#r7bu6(#)%$@HRtrXiOKct#Vf1+v^ zsG48h_;T>Rw=*X9U^@vG*u74X`T19`8 zXRj8QzvUNc6h{jc0=V^MznCuNCU zZOji(2WA?e&qDLOK~n#oDlUCrm-7TEZN30XQ++Q6sefUrXI+yii%5>4_Z)|wQuEJ^)iE^}iUTFD+&UFn0`xYVL&2W$c*!4H}_!kj_s5 zS+L{vQH70s;59Jcy;&2`eH(&`zP;bCoMFthnLrUNNezr>{n~kO{}$XYf&2ME+@=db z`pUmso<1Vr-#&`s&A$iPtv!OddS%Y9R*)YsNCm^-ntPGhZvgwX^MTnh0Gs-SOBaLG zfofepEZFK3=-eg0Ozwz3*s_+P_zxc-dEjuU7z7jE26ig2-v_p+)nV*EgPOH#jM+l{ z^hp*B{q4VmUGnL}ok9BYq0h}U=6{a>Z2p|V{9$naC^S%+a)0+bMMObj@mjGBsGhTf*sMs;(s?@{A+&V%H4?_BJlu_k5mPAht zRFL}RE36#1+9}!wEdB1WS;2%;`!=syy<`8mr-O>~-rrnLro*6bILdc}yBoqMLwMiE z25`s!2TRxs|7sPH0<}^<|5_$k$@=5)bDteg7Q|ujuxWo2wSN@6e}v4Y0l0A$hl60v z@9Xj&4Y^k`!SbMT>p$M`^Xd5p!);OeErj-eJQFkq6D}Qm@!1D%yFRtlnA#Drz6sX9fYowkV5ARV9noZU zb6+M{5KMS+-d|7o;QOyjtsEJw4zSKPGyc}KXZv?QTr}rHyw`>HTiY`MWBv6Pt{w#_ zhh1~!eTZ>7;sZD&kcvk#!MuQDsz#<|JBy#<92`#ZM;9{zs`317qN##vSSG>|B2~6JQ>Hi!HKY z2{6C$|Fw4>{x#iy{QsPLZ+3zRv7&0!rd6Y;QB>Dn3q931RZtpqOEv#0zMA_Qt8oE=!ShY9s!7YQ zu9m-7?Zz!e{_;-lYzk>xyU!*1Izd%pn;sH(RN*PD<}1+!Kh~Bs@2@4Xtrj#{uL9|h zU4381u_IE=o@x?*&N8q`q~-~mUjWMyLSOKw_=N#&%}4N?-4clt>`MOV8o|JsU33p~ zFy9@A@4Zu?qiF-*V%JDj8H)L!X4Q(%h(aw)W2Bl2(uDu^lE2)ac%oEGYCl~5STG8A znk|;BQlO_w_>xO>ouk(h9RFg`kt>Um@!=hFFaSr=S{`{BE_^Q=q zu)tp{*mXiTO+e(ITvF`|QXfZ0N5`fW9FykhfCyE^U~R8S4L>b%J}*=hWvaY# zEHpGaOy&RkDZBWueY(&ux3qw;xQ*7y0JaAqzxV)`d8p_?>WuliCv2yA&={1T>oPs zKXMs=>b=M0r=Na}!E+pzeufOOBU@9dqKUTAC0vdRLwDBV-`p!V%Bk#s;RbfypW4b2 zPk1XH`_ZA~Bi74D*w5#8=JALsfh6aQf#2GZYqR;`nm@nbSC(BX$zkPd9Prp$wAiZh zlD_&aSiq#TD1+AjkAX9D3XjW|{QV8G#;fdn5*PCK-7el#bxW!#$f>US{K5;W64G?9 z;6rSN1opGegtO?-fuQp83)8%eFd0LD%z(Pbhn-3?i*n2)S z#jNJW-8(a@3vyJsLifSrJeTh{aV?S|r{E9c@cdEa^Fj)BfRh|Iz3UvSeZ39=$cPDk)27naJutRVNe^4>SN3EQJ-f_=yfGa@>Gi7R3+& zjr0_cgznu9X{g(PuBXVYcAVmy`WRm)Z0qPc=U)1oJ)c~?GJuoQbsg#LaY6B_K5A(f z7X44+GS+% z5Q{jWbDJC!OaD01NcMxT-zD*MrV9=E;+!>C{p0b0p4gLRZ?rgxyobrVJpOepKWx=y zg?p86gE0z+^cPtGudBSe2&m~dCN;#tU=osLTMSi7 zP&+P_1NN=>T}0Ekj2coNs^13GEo+46Ox|>&%wFhhr{+9X#UW(#?Rm*40AB}oz$-qz zPtw2_Uu6m@``SCr;i@j>Cmo;b#^rEzIE~W#F8;~Pi{c1=!PI1Pgz6N&eC(Hv8#iwC z?To`|0hkka6pGW$+qA)fiWDlAz=?|Lkt2bM@SQa2$2i?qpuz#1vsM$~M*x%%4MW~7 z0=H^3OBp{oLMlPoZn*j1DL8-1#>Ysv-$laTyD)@MzWOb~=}Xw}l(L+43_$dAt6!3< z@4NV!myx1yKo!_*09eduS4tmC07I9)yO=HYlqxyfRMC`?rQxDB@GXW?PPbLWH6+BA zqsLQeAs-S+d5uY%dK^W>mnl5XdKN+szz3V#XAd(Rb93&I53YtH>6yZ{VVqRijmT`( zKq-#10hRM@BBDOki0!^wPhnMm2~@X*(zjr-8i)eBx0NUMq-?Sn*9zLJo3~IZkeXGt z5wBrh?f%T+>Os0o`6+`zID>q#^^ErF7)#=K>pq?~F^%+BMAdsFUFVy*NF}vSHzp&B zp;!H~Eb9E^(sIVhpH-App{qVS^RB8lKlZezAhQIxAR%i03$~5?XF)}VqczX(w1St# zqQH)j%F7hWJNF)-1!~Ylwf$)<^O*n605!>oG{utSf9L8=RSB!irSkraBvU0;F*Lss z$vC?#U$k0%>a!K7Zol5o3H0@YSQ*FBhVf%th=fdG?pBAEs)xy-#S&f z;KYd)o7R!*mO{J`bWh)v{-9Fr@?E?tl*;Hrz@@hXob?QFZITh}flMiUgANe0!-X=! z$dz3z<{XiOd)zC4nIFAU>4$`6s-r10G5*n`N3qXxOpM0Ojr8o}TcX9-$5(E-8%RSmV<YKSoDN`eMengD#^|X=sJiE;K4RzK z5_nnevS+?ZE&uG*s_4K`Yefp5FNLd%gyI|r-oo!?e4~so1u?nAGaY=G)Jk3ceg?Ve zj??{eu?^96K>FJ2-2aOSM1S}SrRuEzmR;WDFlSrhy_E=M3TRTj@hXIku(jHd6j zw}_1N{i+~*-DN4w3mB}kj^Q-L`KzKg`?1>Y;mVUpG<7~P48DA|A!dEYXPrro+c^wx@pX_r?tJ*)o>pjV(G@8<36H@dnK<2y386t(g!OA6>;m2U|oTr??`szin+U!S<{>5y^Z>CJuDgNk&1ye>$TC)FYY!N}#Uoika!wnfx zM595-Q;vpw#EfvEt2rRRQ%zL$sWV#GMF@SzJL*fw5v8&>C3G=yg=}c8fg^+%0q)p& zSP3JzBkFpgjCL@}O$q|0KMe4qmUQX&sfA2w*n<0&YrwWYh7A2mfMHn8T=26M-@eT> zn6B#3^JbJtrakV9lRtMnQ#oVqjl{sW{?rcz}DnG7#AjN^v&bc zSJ8{!UVvYY)`LPZ_-lY4>jfoDO+QcRPhF4L2B-JG2t$8dOdh*ox<4uq=4bSWj5067pf|YbZA1|fgHN`^p`Hw z%~bmOBCdx6H@=lhCv8P|otI94Tgg8mW_Kzd7TepR>~*`zR5c_JwmZr2324cvH_SFM z<)2pu&(3fJy4MHU8PVF0xbb=nYCJ=AOg}Pn%vYTnwHUen9==93NmNWXsk(@d^&u1h zj=20-R>qi;ZZEElfmdoDEP90~lk;J7RSfy4`y|1PfyhU&(TG+1q?qp`AsnTW8ZZkL zav#3FE{mC8MS&JBt@#`sy^q!|fUI(fd9Lra6`v5J+Z@iPXrW`iP+Td-5@r10cbrRE zgBj?Z<1z3<=s{&W&5-@Gf*o#{&uwQJP5QOjs-fW6#O6ADhu=)Nm~Iw!Og<#cD8nA& zw(kzz`gD$J$oKoBlRLFVU9TEnWrrGVnq;8|@Okri+Pry;)Ac3DO+#3J@x=N>aZ5;T z+?Ky{aq;Rh#q(`8aFSR`I|%)2cHdTff>WpLhQ}gDf|O&)s>p(w?NP3THefVWIEG7g zGLa-KS1vJOE@bV=P6nK#FQzeOsyohOzg)@^oGqk^5QBY=>|L%nb~{oqU)4vAFQ>y* z`ps1EN{3;4htH86mK6qoiu`EBHQ{m)YQhUxey}}snkBmQG*Du zMxZmwB+ylF*oJC{B_Hr-!s7 zdCw6L%IT4X0|=oL{tO}?9{o2u$L12sXLJf$&&WM1b&!4wK9dtjh&`mKf;;hj2<<`#Otvqx=IP9N?$=c(WvX&F zh(_(2g&MwFOz|<(hfusE6UP>c7b>h}ET)6i>j?t`g42=JnVG7V1J{l|#8Da0%kKd8 z`e2_-0?3PROk)_g%16UJOhaNH!fs8v5DDDTlL6f+2YEBEsQ^)rBKi?;Om-Rr?djAC z*MzNe^ZwIzUVU~zwadSIXyJ(Vl@)d;()SIdXLt z8**|(WePBAk9t=-g7-E|X@3mE~3Ofha zDy=4Ok2W7y?NTny>|4Epv*9X=5PTa^9>%nJ?hfnmAORuW^E(_`0{sIL zyd4XUGDZ&W9Y!oY zb>n_)nlVsy$ccY+`~234{p%P=)Rp@xf|=e|2#RU<2-T5Qjh*3&(U-7xc5Ezi`r5 zc)MlSZ+`aLcH%)|i0YL2;HuA}NrU^eZBohLFZ71azT{S4=85yF%p-zZf(3s;lwJEv zP>ePpr?jOTtH6C6>;*{uHus;IJ7a)xJSjN z=#7fagsW>fUrVe`3$BCe(hO`Lt?^YVD^|H95uSCQ@tw5pNX{H+{%WC_rs~35E55?9 zX2<^1ryut7D=I1~G!~f(jpib|Cw_j*rvKitqc1wAoOiy|3#H=`q|~0y@%xPdV&%zD z^g^Ki#eaCwowV#>R8fIe%jNL^rZ=jgIP0Pdl@Moq(o^vJ6M6lbro6VxdSsGmA&7Gu z!r=!v+_{YA_vb6d_H1}i+lb#Gw~+1&&21^XvWQ!P(6BXQ`BGdXwA>hI_P5YXRrP6W z+S*`CD-_ie9ZY?cUX6|Q#M`7(JbrtGxV(lKepVq&{^M1bzuqs&i&3G2msxJtqg1>O zulQCwF^l&BncJAg`3qi+;kASD`0j4&kzl%EQK2e+1oYp4_94T&0m;USiS3X|&cYLW z0*UA{+;NpV>VLpjaXIx zd_ikw`9o0F?~D$nfh{CHKhX^rhFJ{uR3op~>CG&_uHOocWwI_t>5~JEl#j5c>p*l@ z4-Hpo$`NQU`B+G3$CH#xAW^xsXy&&iJsT3%WAI0RBuTsr3S)Ay63?J{77i|awKW4@ z=L?71Wzii|xU$~D;fbnG@*RvwldsT!xFMtnB?O7ZDqGWO6rlWbxGHW1y|E{rQ4R=& z33Ap*X^{Yh!jXru9^mPOk*dzTTfRFKRx&30?YACJF?_+t9JJ_48$S*dN;ByQKemCw zU?@x>e5wV>f_mIi1Hd)1gqRP5aCel(EG|s5Fo;t131iDLAfgc^yN~^FxnCx*EL>)X zN(=`&r0SCwqQnC{7}y!jWf8bi<36Kdi4Ij-F%enXkNs(k&$yX^xIKv)6}JP$C#Qw* zBnNZfzz_Tk3AU$DoFkz96KpD(36JMOq9ZiDXrpF8wnb|VhC^%(hL|@OzOis%Vk~+^ zFV-UPq7wTLCS4{)ElDgPdb9`+Rv+rY)31BaxOZB0tRI*3_?}?(OxwujC#&ssMKOka>#2Lh~u}c z1QeUoXxCR5Kr)c}4*aaqtOHY`>Yc&{WYP_BPEhy@3Z0>_pHzOT2ZP;ma#q;5QB+`h z7nBj89DqKmm92FJJlezKK#s6EKr$}Io?9kx%Rz>@<84&cFZAwhE+k#j6jO+5C<@;> zs*!a64CVW-2*?S3mB?~h*-8Y%_cuK1X+2@)|C)xyTrn#sO9YgUpF<cOWFoJ9~+_v_hw*D$RmzmBww=wcNP~mOWe#J1yQ`YcSuXtuNa&f_g?sbY2L!o z+EBKRg8vOX6~BEkbFw7YU8SpJ9)1poDvL&+iDTk!qAgdT!F%F}4?Ju=o+SYN5nMfh zk#-Z$A(^{IUt%DGI|$8Ry#o=XbUnT#CD-4KMImfJ*j-8_+$%-3~=p63v^)=cwWSr0`DpC=5oDCA=;lHO8ml4d<0y|HxP{` zNmN(f**v~)ecRQ-rfTO=i~LiVn@eh<;r-I0BBgL30Z(iE*UB{Ngkroz&+Yg)?=x)= z*XA(*Hhx2dX7d1~UE$!IM|)q=f%z|z3O5{&7N2Y-5(3*C{AUNMjKsTuZVBiEXh1hy zhytaE(BKNFk2C(i1GTe;+WE;v@&ImDpd>JK_QLZM6XT$HR@MCu+)oht{W>9wA1 z6Cw)KKVUGt0R4!*aRu~NK)=WJM}OeWnDYWIpMB{mFc~8XL*+=h zidmt3bIa4d{lMzWc<({}bF8oRxI<{UHl{ztc??opkX{Ape2|U?*%oq?l@bw$72I%u z3mYUQ>BE1lgNLkHcX^{9N=iTz{1`ZlDXym*F3w%zUx^W});nOrK zeJH7UJ&8~fQRaFJtR%AN12ZhBa-~-tw!>nNg3cM1!?dOiP4AY1?>m8Jz6y)Hk6>Xr z*)7CsufDXL8mA;i1+h|P3JIH5(FY9!ve>8Y+nA60)nHgV>j zYKWOQapL%8FYqDILuK|snP_@IhKgZm`kcwE52;J7w%}Q?MwbiS{T38j~^XLzm8(0^+yH*$yEp+ASO2eqUB^SU#InkF(yXR zdhBK>z5`$#be}>ns&{3A4fXI5mIXN%aTnwo#u^fxsNpM?;;j@bTpsTBA3WAiEgv}W z+YMH9IYQLIOhmAF=RA`eA;3%bK<@0~z*j4TOENw7vk|z`0YY==--oYgcY&EM;5~NZg_A>b_ zQxMiuv%P=}juojeq7zT7tHf?Ve?fJGnc_`w0ZJM1;>2f+5HkinBDPuAFPMTqCz zD3K)h4oc-tQv#M7K{r=pd`#q-J*7x(0b)^ag3;PpK)mJxMC;i>Atv$cJGA0dG7M`# zDC1LUr^YZaHvG;vFDM`k<*vRO!m|4{g!{|B9wEa1gbh*tXwu}!3w*R+uBSk@S|?+z zj-ghZlNp!=PDs*Ho?!Y4YyB;0!*lkeG%P2F*xrR_?!yomVu3aWXmx=m)g%Ffa;%Wv zH8WRbSpn1Nf?U~ACs{55Qj+WN-n193N7MM)S;h$9K0m0MH>1Y1&dtXy0^E0=yeLYk z9Rau@A(}kNxBMzPiOu{2LvJ0}ju^mZIXTRH0N7*_dI0&cjzIGO+Gjx9i65|&hrI|2n)8+IM?Y<)3B**2T~cJz@sYlNwpYejmE|Pr9%l-O~w=zT5@bUSsHo z1~PHF3Nf>s9JT6__Nc`7!4-d22s;`m#|B{0X;JG7VDVJP%XWVNV z?55bwW8(M?4HLef^eRd09!As`qVLkm;`g2flsglXA4CAE@Ed;i3p1eR0m^cM1Jszd zsRE|WU^>n3IRHU!kE~-VhpH4n{mYeA=cQ(PJIGVTtOmW!Yv}ODEUN7hc~08H+LLIS zwiN&V)*j`oLBo}PH8Xu0}*@U=ZL-a45P4?=kCK^*gOSU3y?J<`)(=&w9g5Vr=t7x z1>92qJS$+74v#!l^i%!jQdWefm_l$Z> zg60yj%iS6XSLG*w%kK<0>lv-*&y(k(Sb9*1#DTKM z2_;vbVpb)y1@K;+i8$a51Z>09(+fBO3SPO76;d;tnu8Qe&pQU_j#m-7elnf zNI(u85^1>ld=qqf&{dVWtsM+{Uu>hXauh*5%@)rNIBk4LvnbEIqgT2X04}mT;H+nK zViUASWd!U~W)xQeZ3NJ&0Zq;=DRrNEs)w!1kT5bYRyWWRCBP9!yqibc z<#wkLE$AwRp<|gb1D{JUDf#gvLzQ^&oq5KP=of$$4XJYwx4{HHe;e>w&(JBK^ZZQk zYy{sw;G4w6S_otJ3HUw$pG=XC^_Q^CCAME^vu_Q1RWOt~~zuE8S;Z<`OQ zI*%!7Wv=~X4=2{v*ZFZL?WZL7MafJ6*935BN5o|vPu)w8b_33@z*@qw5iMAa78^i( zq@^<7@t3PuzDz^d*xt(gyqmVT<_%qne0@%jnytm&irGvM6CkmPK|mWqf?kP9Q_B_j zPy4EU9hXXtKk7en+L9foxTYMhycb83G{^V2CWaKid;yq!fSCyxxs-Jk{rD+hBhSgL!YfRtI+`Vt+0!d*`5!%r z^I&@nD9bRWF^4R@==2Du>J~^A+@v< zsh%o}BU9(rEWJdgv~IxAzrSjiDnccegQ|$px@bNP(>9h+o3bU-D%VX&(*}@yfgQ4( zNcrPYnaImwpvVeSeI8h5gJmyRrhw%nH;g&Q;uxL&18VHAs=5as=-Ko9jiU_{?3c4g z74P9r$N1p?YRzJIAJ=3YV1Btngx_*Kqj?7!RSHb;84r`$x!W=(NdXS48AUxh>Rr%~ zbW%*L(UB3l=yr}h+1OYOJI%V>uo?EHm&2598a7z#@ag@1m;nnO#W+X<)Xa$GUj(2% ztjtarp<4_0{UAEerWVC#NXB}ew}-B3z_BcVzMy&T5)Z`@ko!>&Vr%4sTD;pt=nYN& zP4iTPRDI^+1_m}>FWo|muyR&Ukgf3+-@i}OXjQcP`C*AjYy{9|06nGFHuVq3RcOGY zDD{yiicf$ehxcsY{K!!coWFrHOa?(l@UUV?)MI$(>(625b**j?T2RcDf1_3D)i1o$ z^92_6e;>-2K1Jvl1Cs4p+f>iTwjYTTqGpJy%lx~{3Vf*xWB@Wez+yc^l{^Im<6CT@ zv$7H6{bK1Qwa165aWY|zS5EhDigODMXN!OlKmN;yfh z5#h%W^lV|eb|<3(Fs#`YgZO^#e7B`k`Q1i4`r@xxPO#Q8iS!{*9swl*DB&1EFS@BM z%@U57j|a(7iNv6k>nOJeU>eeNsbe|iWi&Y9){F`7DV;3#pQXDcoV`roNi<4@Ow@fS zaMrR$FllC`MY!P+z!?A>%L(TBUEsKf;g9p!r;I9lBXtJG>Hr!5phW=k=95K!a%G6^ zH-TB6DogUS0>7~>y>^8ci@t!fos|LxgQ4~L{{R^^v6&8@XW$8qRCU3_>=$5dpOTGx zWCI}U85a2qo|i!b$u4=0;K)F09|@)j;OPRMGh83#CpHUx`OmhXi>X@3-tt*_UY%M( zj7#EKFNEH-_$q!LzY>GL99&I$mx@akIyL<%p{W@sza>8rQXQrYps+?NElSm@U6+<8~4 zCqPwyqWR)-!Zrk8V`Ef(&h}3bcrl2!n&E3bf=ZT^%>va4P?QDL2~Z6M)iwSeLrXPe z#OLZHDpr(SZw)M6rJh?nRTf-t=~;md%5$u$1hNHC&O5;H%(T z{*-kK=e}p}5)+XiO_pK@G|LI@Ks?xnfK678R{>irK3$9*;NrQ^0&t&kL&#aM$t4y~ zTNBY6TxUGYWB|$~7TFJHxP~$-*ZS!zYez~VoF|lXv3N!wGJaxq;tOgJ{{-SGAf9-p z>T`WZAbo`xjy>4Cfh0yOC%6gDAZZ(hN-yMuHQ%Bt?e_y|P8)ht$(6D;5s-%@NLxUv zd4IUDJi_JE1-DoVWnu@Q0I$AWv2|f)`1LSPTeO!KeF4g666FpiVdR#Niie2-wjY?0 z$*MknZEwm3a?uCZu!aGIHI@@#N{vwwjZur+n}TvQEg7n(C1p{|Wqbyi?ph#0YHK+1 zw>h)Q!N#rSDs+b-YgJ2EJv%x&`{bLn3GmW`ws?+Wj!=fnRh$|^yeQT+;6vWwi5ugk z`7{1yZl>CosNDkWA)4-}*eaDcZ|AB8d0UX)M-0ql=81RvQ0G~GxoD;7(t|CP% zbnGH`f}BZ?$#Md?DLniJ;N;4KE_i0;i^#uT!{C1dy8fV(d9O|ubky3$dLpBS%AH2; zPhJeV{l9gp%-)rDlPTPkwJ4=qPdtBUo#UCsnhzrp*CdG#zdfIVsJ)gd!fyfCooAJi z0L5S63pi{&0#7QI?ZEQ_ULTzFA+%j*&`shS9w-(qkoB;@BaLys5^wqaWMj73yoO}1 zId4a6rt7O;Caw1>IOc)H7mP%#=Sp zG*&XC9husxK_vr~{E}rl5=G8J|Jz}tbe{H!q8JyzB6K;DQO@y|i)5y(xoz5ufV{ zw#>I{uvt`>^|6seH7z|(11=|SJpq0Q;J%bWO+*_To8gd_jl+m;AVMqX1LB9G4hu1+Oa z7aQe*&{x`;WyWg!U(ri<&5B+`7LlsH3;IQJJ8`WLt0U;ofFfNAHJw#edR0yLu_1m;Ic=ea!XI!*W~LBxDdr%y)F2$^N$BsQ%;L=ibvCdljrX_ zapBtC$jHRh)a+!nTy|<|Vr1mqYZp#zoj-YCYY*Pr>3vO580lk zuk1hV)Tv$L#x>lXd4aV3u!|%1e^B(6MAd;%M3;fAvlpFUhwy>ie(@c9n(<aAD4V>k-&;D!F|EE;a%;fgj2M_TP9t zo^(UBBe13NIRosEIX=U2AF5hlC*hLr?8PD`-hb`XYp2`?<+Z?BfX7_K4?DtC-eJ6+ zQRWs%=1h~E`#{N-k~3hDuqm_DsH%g2K9uy8sRGz#(F>D0N;`_p#Bsc~^3Q3VN&AaW zCA2>N@MiQEyI9f6oxK+D=NW-Y~G zzSvgMOwNS?Fxc?gX;)_h&5(Fos&2m;m_yZvr z^vgm23+Uxy;kG<_1#_j(%i-)*D*^;X@YWOH_vAttt#5e9ci#qn5Up7Cifnu`^C|8S zxWz5Q`IUVfy{YM~nP1Exj+oYW1Y3{X6?(T3zFD}Gufu{*Bq)0YJH-fFqJ;9x!8;mu@jVLq zh49eo_uSGkIe`ez&#Q#;MQk29Xy65)dzZve@d|;H$Z?q`w0~L|7_?(d-=KrEBSTlt z5v*hpqe}vL!w=D#sOA`<)sn;xM@d*@;0&HR;t}k6+ZUTipB%;&w$juA{=%%b6uLFlNC?p4tU14h* zQcQvgB6IS&aa6qXV)hCn&n1&mcnuAET6l9DPzT(64G%aTNFhl@hxpiT5ITpM`FKzl z;2~3;M@Ss6qE#m&6+M}6^;Zs3D+Y@JyRAn^ghJvAmV(rxpj{kA^{>ZSYI9BY1MYf8 zZNB>vx1`e%l1xMRPB&URB7#a^?^+HFV@!u)U(1^UjMs5M(gU#>%kSTK4To@*Jsgs0 zMVQ{+D3o4NO4a*72RLKQpt0WAx z?2VQXSqu@+Yg%WBuj$A^+zll5DGdl&+vAR$wFvp5n4-(~Kk+m~I z(W%b@$GgiQ$lyLcFhTBR@Dd58;HTYJl_NC}{;jvKzLo=C8vu}~C)L?6%yw!n0uuy@ zJ7hr3EnqPWP(FY%oQA~_KCy?zAXsQeShNLPp)Li(6HH%ZSA)nTCM`{JDrhT0b>9Id zGD)}&CelJbr`vui)OaX=n1WS9-l4DRkeA69HcFW~UmeN|=G%Xi4qhb{vfCHy)xe5X ztbf_U#gho?g?AB&%}4A$&ZR%9?PLNooaSwX^wg$5)<@$YfvTt~s8%yN9=h(s=s_~O z?9Sp7$jIdqQFO^Hx?~(~>u@a9+?ymDA(GROp)Iw*bco1U@)12!<++u~ki5I9jWO!b zpC4)|CL7xiryq_o;{401at6waOd2-sy&U%AN?EtAYras{-Ma*tD7j$g1r=&L66@oZ z%8=nGsh4V~C$Rx4lK`CV4wtInS_rNQP|0d6H5qBgB|EG~e(NvrU7%B17SSnzI;gZG zP|hevJ#@LJh}RG}+~J-dIQnqB&b2a>^dW)duMJN0h_J-k|hT>1$$` zo4?pYFQ5tv*&oq*0*j3x+mlLiDHIk3jqm}=k&u|iCtKh!?}Ei#bcMq;?mUsAHHgU3 zNc70KuG*R(ZTPXHhv8phW{^Q6#=(OaN(r@r#SR+vx(t130tw|yqIv|TQ2ZCg(Cxt+ky zvP#lRnPXVkTUcOOW|DwD0sJY!c+E@{2k20&`=N0IAsR|z@$MlMEhGw>Kcut(TEE`K z{Id;*a#Tl8unLbI#pwyl2_&L`HVr+}(L_(2QJ`_0Z%yD^P1uf`%6s}kmaREKBaeGG zbFWjF9BB3$kBTuDRNIWhKh}41)KgclcXX@&b}t^JJ{wHO^`V@xmRX6cgtBc%5;dV5R4gZSNOjPCkxnDufr_~oI0xaCP9lCW zP;IGXHTB0+hsiydyv4oCAo~l0=I>BRWb|o>q{oH${L;<&ps;i9_RGCe|(f&^A&fc$2RFF9GTP0rf%j)%|lCX5gH%8Qd* ztw&6YTu9O(gP;kWc0n&Smt5lUtQw7=tfBRP^~3zYXEl62=HA(GZzzkClims;Iu)0E zRLA(R%SSeOj_u#M9=mio+0^dbf2`-GBbUSCiw*+uSSdLR)wVSXCU{ahunt_ObdY;e z9r}-tV*eOIg>=v7Or_mr_h2y(K4v-B(VQz=bkxDQZo`Ak`A{mY=j3OSt8aU82B*p3 zY>(=doSsR4`|LTTvdH+`K~wd%T-nw;sp4svZHmMfW5-+qK$4fwi`; z@L&r!csSoxjcY__wyIyeX3ZLA`~TYofhx;wP#J=Pc8r0`*?(-{jjCnL(QF%Y|BFF6cxKds&bGj&-moEhpwgYonE{cN^Y{kJ)dEu6!tGgG?gO%cxzX$_~ z$Y?!+inxV_+on500)i(!tV)rrM>Jz-y}~e?%{*+@6t;KKmHGK0RcglXVbbUkI{8Xf zI?ao&3Up@lzkCTMi6k8pbOj9BF>LLlT(M2SN1$Eq)MtM|o2f=1Zy?Dj8bZPWGXIie zs+UKdbsC?Xu(>PA*zDHG?6xUQh9{q&$CfwZ?~+u)q;Rc5xHiHgtP<&}O5yO>Cb!`7 zFj6IG4*cVtOkr^Ncy6GP4+{IkrB5c<5~N11A`>OI%R%OqYeZ`XGw{X~QO)wbT+b9$ zF&+g&`BL`xPx%6?#Fb4HaEtCpTME8{Tpa&r0s7IKPXZk8$Tbzt6rHRgrY0#`vS%P; zC&?%_*^5;n=VY~xK_Pz$A0H&FY#fAw+0$AnFE`$YRgZ{lyyK7oA;7+_h|H*EB$tUBtZypr4B*Rob?3ZM^%vowX})(pRe>_)o@ow4xH%b?$ppxNqd`HKxcF&=f1 zi|npo{wR-u72NzLdE9g$U#f~W>E(|&R0i>|0ZiB8Uu)5y+|xOl2Nu2 zQ&}?)w(%{FTFOxef^km-gOXWMFqY@7Okg}-zBER}_WBW3A9qP?jFS7ZTdDA zB(i!g)*B7%8W8mS<@BR{rH9FhhfJ^H*iV`>_eINi<5cgiG0*~IA=aHmoIxrWX z5-5C$V%~+c3xD`N{O};NjYvl#tv{6UVj6daWh6R>+1h#yMAG3vsYYg^%{CuZmC+@a z*%PFq?K)MY<3njJjP(3&M%@(Ifo@8;YKUJww4pAZ?MvEEJ)VhPGp%>01C@2WhpuqC z4H&1G&l3l=!?IY<@FYJ5$G-}f8nTvO@pkgDn2wu3Y>np3_%uMSzH^*NiQyhf3@7pq zj*^y;es7nHfe3{0uc1Uxn9x@)J0c20vLC31jI(q4@HR+;YtMO? z8lWIbp-Zt}CI>d<`FGc0c!u}J=x zcx@eWAhosJK2!m-C+R;TE)jfow)`a)3+kL^VS^7y>*KVy6j=Is7^C{i%I8|08oIy2 z{VmKQqN6mdNJYEnXob#zwOh(BWY2RUDAaAb%a`iYZe=4G&rt(#R;_2p$@mcS#kNIc zy5zAiUvkagO+Tf?1@(ghU%8E5D&vd%G zsqr%5alAZ0XScs-7d_k*GpMy1A`lR&`jELihg}fwY^mH@#U7ogK6fzu@HL7+f&3`A64Xt?A*aK4Edx%|di3qQOt}(KE;@MljiPtl4R~tixr@b8T72^D!=^mvzu=(;m`^ z$QA4vwY(cRYUaN-#e8#{_=$_tVRq* z9P|CYw>v}2_gMWjO*KSp9o@{ZPS{LQ)l1)^XLJq=jKn|53+f$borun3CFYt}eCDk5 zD7{LAR?RYDuyO-1`4I^!#xpC+?1#Uab;^pHu~q}zPSnLW^Sr~HRK}%cpOsxET;Klu z7q6{;4>Hw)_~7#g)=p~2%G*j6yG~lN`JjJLR2t&s1!IgVPl>_97=c6p8kH%%v@jTd+|$Dm8ok zvGq(~NX+x1T;9Er9e2%V`Q*V}>NBhV-@o0gan;*&KaPKM1C?~VyG`lWy}+@YH`RSg z5JkXB%j86rMn^M< zD5V#gaggouBM0AfaVs+L3b@x57fimj)zg*zvbJ>IC-6FlYDqw*LwdG`DuR3R@9qz zF~7*POSLf-QzQja_j#IPDwU>*z3yF zX!7Y_JHm@jsrE(TJO28#NsTi9v!Q(WUZ!wxXgzARe|U6K20NlT;4Bu3xZq!|Bg~E@c&wS F{2xj})BgYf literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-master.psd b/docs/_static/logo/logo-master.psd new file mode 100644 index 0000000000000000000000000000000000000000..fc8a1cea2d036510e3c6dc7e05e937f4d25795ad GIT binary patch literal 260894 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
{)?th3d{e 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

jzTxBfQ_NX*)=?HC;54;nf%-) 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 literal 0 HcmV?d00001 diff --git a/docs/_static/sequence.webp b/docs/_static/sequence.webp new file mode 100644 index 0000000000000000000000000000000000000000..afbdb51a9bafa9bba872fcc3c4c3236f6a518d1b GIT binary patch literal 310196 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

W#$pQj9D*tOS^x$eRYQ_^;}2a7f9my~>ll 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

-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

n)|)}GNbc6fyCAB(b{$>PkDY- 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 Date: Wed, 14 Feb 2024 22:44:31 +1000 Subject: [PATCH 19/84] Fix defaults typo --- src/flask_session/defaults.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index cc79133c..775c248b 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -7,7 +7,7 @@ class Defaults: SESSION_KEY_PREFIX = "session:" SESSION_USE_SIGNER = False SESSION_PERMANENT = True - SESSION_SID_LENGTH = 3 + SESSION_SID_LENGTH = 32 # Clean up settings for non TTL backends (SQL, PostgreSQL, etc.) SESSION_CLEANUP_N_REQUESTS = None From a5dba7022f806c8fb4412d0428b69dd4a077e4a7 Mon Sep 17 00:00:00 2001 From: Lex Date: Wed, 14 Feb 2024 22:45:48 +1000 Subject: [PATCH 20/84] Deprecate use signer --- src/flask_session/sessions.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index e4352176..d9eb0fc8 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -1,5 +1,6 @@ import secrets import time +import warnings from abc import ABC try: @@ -69,6 +70,7 @@ class SqlAlchemySession(ServerSideSession): class SessionInterface(FlaskSessionInterface): def _generate_sid(self, session_id_length: int) -> str: + print(session_id_length) return secrets.token_urlsafe(session_id_length) def __get_signer(self, app: Flask) -> Signer: @@ -110,6 +112,13 @@ def __init__( self.app = app self.key_prefix = key_prefix self.use_signer = use_signer + if use_signer: + warnings.warn( + "The 'use_signer' option is deprecated and will be removed in the next minor release. " + "Please update your configuration accordingly or open an issue.", + DeprecationWarning, + stacklevel=1, + ) self.permanent = permanent self.sid_length = sid_length self.has_same_site_capability = hasattr(self, "get_cookie_samesite") @@ -158,9 +167,9 @@ def save_session( domain=self.get_cookie_domain(app), path=self.get_cookie_path(app), secure=self.get_cookie_secure(app), - samesite=self.get_cookie_samesite(app) - if self.has_same_site_capability - else None, + samesite=( + self.get_cookie_samesite(app) if self.has_same_site_capability else None + ), ) response.vary.add("Cookie") @@ -172,7 +181,6 @@ def open_session(self, app: Flask, request: Request) -> ServerSideSession: if not sid: sid = self._generate_sid(self.sid_length) return self.session_class(sid=sid, permanent=self.permanent) - # If the session ID is signed, unsign it if self.use_signer: try: From 309bda3b09633b64131b5fb9d48d8f75db2f19b0 Mon Sep 17 00:00:00 2001 From: Lex Date: Wed, 14 Feb 2024 22:47:42 +1000 Subject: [PATCH 21/84] Documentation additions --- README.rst | 3 +-- docs/_static/icon/sequence.webp | Bin 0 -> 94180 bytes docs/_static/sequence.webp | Bin 310196 -> 94180 bytes docs/config.rst | 4 ++-- docs/config_cleanup.rst | 2 +- docs/config_example.rst | 2 +- docs/config_nonpermanent.rst | 12 ++++++------ docs/config_security.rst | 6 +++++- docs/introduction.rst | 19 ++++++++++++++++--- 9 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 docs/_static/icon/sequence.webp diff --git a/README.rst b/README.rst index af8cd088..deb75559 100644 --- a/README.rst +++ b/README.rst @@ -4,8 +4,6 @@ Flask-Session Flask-Session is an extension for Flask that adds support for server-side sessions to your application. -In contrast to standard sessions, server-side sessions store session data in server-side storage rather than in a cookie on the client’s browser. The cookie now only contains the session identifier that links the client to their corresponding data on the server. - .. image:: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml/badge.svg?branch=development :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Amain @@ -44,6 +42,7 @@ Installing Install and update using pip: .. code-block:: bash + $ pip install flask-session A Simple Example diff --git a/docs/_static/icon/sequence.webp b/docs/_static/icon/sequence.webp new file mode 100644 index 0000000000000000000000000000000000000000..31cae2fd30d8e2281337a75669155792a5031d63 GIT binary patch literal 94180 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

uN_T=aBtHB*GyM1kBb%Nt9Oy*s<0D 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 N19<XcvaxO3eqwKIZ0vXc_tyRNPMxZm(^b>e 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

J` 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

)41o|bc9PQ}Aw&}-_9DY% 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

v` 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

o;DGUOP@c%-8F*!DoK>Gp#^D% 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 diff --git a/docs/config.rst b/docs/config.rst index 00e92518..0e5b2c27 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -5,10 +5,10 @@ Configuration .. include:: config_nonpermanent.rst -.. include:: config_security.rst - .. include:: config_cleanup.rst +.. include:: config_security.rst + .. include:: config_flask.rst .. include:: config_flask_session.rst diff --git a/docs/config_cleanup.rst b/docs/config_cleanup.rst index 521094b8..1dcbf444 100644 --- a/docs/config_cleanup.rst +++ b/docs/config_cleanup.rst @@ -3,7 +3,7 @@ Scheduled session cleanup This is not required for the ``Redis``, ``Memecached``, ``Filesystem``, ``Mongodb`` storage engines, as they support time-to-live for keys. -.. warning :: +.. caution :: In the case of the storage engines that do not support time-to-live (SQLAlchemy), expired sessions are not automatically deleted from the database. You must use one of the following scheduled cleanup methods. diff --git a/docs/config_example.rst b/docs/config_example.rst index 2376613c..184f37c5 100644 --- a/docs/config_example.rst +++ b/docs/config_example.rst @@ -21,4 +21,4 @@ If you do not set ``SESSION_REDIS``, Flask-Session will assume you are developin .. note:: - By default, sessions in Flask-Session are permanent. \ No newline at end of file + By default, sessions in Flask-Session are permanent with an expiration of 31 days. \ No newline at end of file diff --git a/docs/config_nonpermanent.rst b/docs/config_nonpermanent.rst index a0a8fc75..a40f5866 100644 --- a/docs/config_nonpermanent.rst +++ b/docs/config_nonpermanent.rst @@ -3,16 +3,16 @@ Non-permanent session configuration .. warning:: - Flask-session is designed to be used with permanent sessions. If you want to use non-permanent sessions, you must set ``SESSION_PERMANENT`` and be aware of significant limitations. + Flask-session is primarily designed to be used with permanent sessions. If you want to use non-permanent sessions, you must set ``SESSION_PERMANENT=False`` and be aware of significant limitations. -Terminology: +Flask terminology regarding it's built-in client-side session is inherited by Flask-Session: -- **Permanent session**: A session cookie is stored in the browser and not deleted until it expires (has expiry). -- **Non-permanent session**: A session cookie is stored in the browser and is deleted when the browser or tab is closed (no expiry). +- **Permanent session**: A cookie is stored in the browser and not deleted until it expires (has expiry). Also known as a persistent cookie. +- **Non-permanent session**: A cookie is stored in the browser and is deleted when the browser or tab is closed (no expiry). Also known as a session cookie or non-persistent cookie. Either cookie can be removed earlier if requested by the server, for example during logout. -In the case of a non-permanent, the server has no way to know when the browser is closed and the session cookie is deleted, so it cannot confidently know when to delete the stored session data. This can lead to a large number of stale sessions being stored on the server. +In the case of non-permanent server-side sessions, the server has no way to know when the browser is closed and it's session cookie removed as a result, so it cannot confidently know when to delete the stored session data linked to that browser. This can lead to a large number of stale sessions being stored on the server. -To mitigate this somewhat, Flask-Session always sets server-side expiration time using ``PERMANENT_SESSION_LIFETIME``. In addition, ``PERMANENT_SESSION_LIFETIME`` can be set to a very short time. +To mitigate this somewhat, Flask-Session always sets server-side expiration time using ``PERMANENT_SESSION_LIFETIME``. As such, ``PERMANENT_SESSION_LIFETIME`` can be set to a very short time to further mitigate this. diff --git a/docs/config_security.rst b/docs/config_security.rst index 4ed949e3..4ef4dd26 100644 --- a/docs/config_security.rst +++ b/docs/config_security.rst @@ -2,7 +2,11 @@ Security configuration ---------------------- -Please refer to documentation for `Flask`_, `OWASP`_, and other security resources such as `MDN`_ for more information. +.. caution:: + + Flask is a micro-framework and does not provide all security features out of the box. It is important to configure security settings for your application. + +Please refer to documentation for `Flask`_, `OWASP`_, and other resources such as `MDN`_ for the latest information on best practice. .. _Flask: https://flask.palletsprojects.com/en/2.3.x/security/#set-cookie-options .. _MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies diff --git a/docs/introduction.rst b/docs/introduction.rst index fdb61021..6094aa60 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -6,9 +6,22 @@ your application. .. _Flask: http://flask.palletsprojects.com/ -In contrast to standard sessions, server-side sessions store session data in server-side storage -rather than in a cookie on the client's browser. The cookie now only contains the session identifier -that links the client to their corresponding data on the server. +Client-side vs Server-side sessions +------------------------------------ + +Client-side sessions store session data in the client's browser. +This is done by placing it in a cookie that is sent to and from the client on each request and response. +This can be any small, basic information about that client or their interactions for quick retrieval (up to 4kB). + +Server-side sessions differ by storing session data in server-side storage. +A cookie is also used but it only contains the session identifier that links the client to their corresponding data on the server. + +.. note:: + There are no individual session size limitations on server-side sessions, + but developers should be cautious about abusing them for data which would be more suited for actual database storage. + +Flask-Session sequence diagram +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: /_static/sequence.webp :alt: sequence diagram for flask-session From dbf5387e712cada0725bb3ac1575049ab56bdcd2 Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 15 Feb 2024 22:06:31 +1000 Subject: [PATCH 22/84] Add docs for SESSION_CLEANUP_N_REQUESTS --- docs/config_backend.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/config_backend.rst b/docs/config_backend.rst index b473c7ec..d73da5c8 100644 --- a/docs/config_backend.rst +++ b/docs/config_backend.rst @@ -99,5 +99,16 @@ SqlAlchemy Default: ``None`` +.. py:data:: SESSION_CLEANUP_N_REQUESTS + + Only applicable to non-TTL backends. + + The average number of requests after which Flask-Session will perform a session cleanup. This involves removing all session data that is older than ``PERMANENT_SESSION_LIFETIME``. Using the app command ``flask session_cleanup`` instead is preferable. + + Default: ``None`` + +.. versionadded:: 0.7.0 + ``SESSION_CLEANUP_N_REQUESTS`` + .. versionadded:: 0.6 ``SESSION_SQLALCHEMY_BIND_KEY``, ``SESSION_SQLALCHEMY_SCHEMA``, ``SESSION_SQLALCHEMY_SEQUENCE`` From c7f8ced0e1532dea87850d34b3328a3fcb769988 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 16 Feb 2024 01:01:59 +1000 Subject: [PATCH 23/84] Add msgspec --- CHANGES.rst | 6 ++- docs/config_flask_session.rst | 9 ++++ docs/installation.rst | 6 ++- pyproject.toml | 2 +- requirements/dev.txt | 4 +- src/flask_session/__init__.py | 6 ++- src/flask_session/defaults.py | 1 + src/flask_session/sessions.py | 97 ++++++++++++++++++++++++----------- 8 files changed, 93 insertions(+), 38 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 8a6b0a01..6a29726d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,15 +1,17 @@ Version 0.7.0 ------------------ +- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT``. - Prevent sid reuse on storage miss. - Add time-to-live expiration for MongoDB. - Abstraction to improve consistency between backends. - Enforce PERMANENT_SESSION_LIFETIME as expiration consistently for all backends. -- Add logo and additional Documentation. -- Add ``flask session_cleanup`` command and alternatively, SESSION_CLEANUP_N_REQUESTS for SQLAlchemy +- Add logo and additional documentation. +- Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy - Use Vary cookie header - Type hints - Remove null session in favour of specific exception messages. +- Deprecate ``SESSION_USE_SIGNER``. Version 0.6.0 diff --git a/docs/config_flask_session.rst b/docs/config_flask_session.rst index 8ba6eb99..cf643827 100644 --- a/docs/config_flask_session.rst +++ b/docs/config_flask_session.rst @@ -41,5 +41,14 @@ These are specific to Flask-Session. Default: ``32`` +.. py:data:: SESSION_SERIALIZATION_FORMAT + + The serialization format to use. Can be 'msgpack' or 'json'. Set to 'msgpack' for a more efficient serialization format. Set to 'json' for a human-readable format. + + Default: ``'msgpack'`` + +.. versionadded:: 0.7.0 + ``SESSION_SERIALIZATION_FORMAT`` + .. versionadded:: 0.6 ``SESSION_ID_LENGTH`` diff --git a/docs/installation.rst b/docs/installation.rst index b9fcf91e..bac7af89 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -8,7 +8,11 @@ Install from PyPI using an installer such as pip: $ pip install Flask-Session -Flask-Session has no dependencies other than those included with Flask. However, unless you are using the FileSystemCache, you need to choose and a backend and install an appropriate client library. +Flask-Session's only required dependency is msgspec for serialization, which has no sub-dependencies. + +.. note:: + + You need to choose and a backend and install an appropriate client library, unless you are using the FileSystemCache. For example, if you want to use Redis as your backend, you will need to install the redis-py client library: diff --git a/pyproject.toml b/pyproject.toml index be1450ac..08305aa3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ requires-python = ">=3.7" dependencies = [ "flask>=2.2", - "cachelib", + "msgspec>=0.18.6", ] dynamic = ["version"] diff --git a/requirements/dev.txt b/requirements/dev.txt index 25311c8e..465f83bb 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,6 +1,6 @@ # Core flask>=2.2 -cachelib +msgspec # Linting ruff @@ -14,4 +14,4 @@ redis python-memcached Flask-SQLAlchemy pymongo - +cachelib diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index e42ea269..89e7d1a8 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -67,6 +67,9 @@ def _get_interface(self, app): SESSION_SID_LENGTH = config.get( "SESSION_ID_LENGTH", Defaults.SESSION_SID_LENGTH ) + SESSION_SERIALIZATION_FORMAT = config.get( + "SESSION_SERIALIZATION_FORMAT", Defaults.SESSION_SERIALIZATION_FORMAT + ) # Redis settings SESSION_REDIS = config.get("SESSION_REDIS", Defaults.SESSION_REDIS) @@ -116,6 +119,7 @@ def _get_interface(self, app): "use_signer": SESSION_USE_SIGNER, "permanent": SESSION_PERMANENT, "sid_length": SESSION_SID_LENGTH, + "serialization_format": SESSION_SERIALIZATION_FORMAT, } if SESSION_TYPE == "redis": @@ -153,6 +157,6 @@ def _get_interface(self, app): cleanup_n_requests=SESSION_CLEANUP_N_REQUESTS, ) else: - raise RuntimeError(f"Unrecognized value for SESSION_TYPE: {SESSION_TYPE}") + raise ValueError(f"Unrecognized value for SESSION_TYPE: {SESSION_TYPE}") return session_interface diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index 775c248b..1df76711 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -8,6 +8,7 @@ class Defaults: SESSION_USE_SIGNER = False SESSION_PERMANENT = True SESSION_SID_LENGTH = 32 + SESSION_SERIALIZATION_FORMAT = "msgpack" # Clean up settings for non TTL backends (SQL, PostgreSQL, etc.) SESSION_CLEANUP_N_REQUESTS = None diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index d9eb0fc8..6f41d1eb 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -2,12 +2,8 @@ import time import warnings from abc import ABC - -try: - import cPickle as pickle -except ImportError: - import pickle import random +import msgspec from datetime import datetime from datetime import timedelta as TimeDelta from typing import Any, Optional @@ -89,6 +85,12 @@ def _sign(self, app, sid: str) -> str: sid_as_bytes = want_bytes(sid) return signer.sign(sid_as_bytes).decode("utf-8") + def _serialize(self, session: ServerSideSession) -> bytes: + return self.encoder.encode(dict(session)) + + def _deserialize(self, serialized_data): + return self.decoder.decode(serialized_data) + def _get_store_id(self, sid: str) -> str: return self.key_prefix + sid @@ -107,6 +109,7 @@ def __init__( use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, ): self.app = app @@ -131,6 +134,18 @@ def __init__( else: self._register_cleanup_app_command() + # Set the serialization format + if serialization_format == "msgpack": + self.decoder = msgspec.msgpack.Decoder() + self.encoder = msgspec.msgpack.Encoder() + elif serialization_format == "json": + self.decoder = msgspec.json.Decoder() + self.encoder = msgspec.json.Encoder() + else: + raise ValueError( + "Unrecognized value for SESSION_SERIALIZATION_FORMAT: {SESSION_SERIALIZATION_FORMAT}" + ) + def save_session( self, app: Flask, session: ServerSideSession, response: Response ) -> None: @@ -264,7 +279,6 @@ class RedisSessionInterface(ServerSideSessionInterface): The `use_signer` parameter was added. """ - serializer = pickle session_class = RedisSession ttl = True @@ -275,6 +289,7 @@ def __init__( use_signer: bool, permanent: bool, sid_length: int, + serialization_format: str, redis: Any = Defaults.SESSION_REDIS, ): if redis is None: @@ -282,7 +297,9 @@ def __init__( redis = Redis() self.redis = redis - super().__init__(app, key_prefix, use_signer, permanent, sid_length) + super().__init__( + app, key_prefix, use_signer, permanent, sid_length, serialization_format + ) @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: @@ -290,10 +307,12 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: serialized_session_data = self.redis.get(store_id) if serialized_session_data: try: - session_data = self.serializer.loads(serialized_session_data) + session_data = self._deserialize(serialized_session_data) return session_data - except pickle.UnpicklingError: - self.app.logger.error("Failed to unpickle session data", exc_info=True) + except msgspec.DecodeError: + self.app.logger.error( + "Failed to deserialize session data", exc_info=True + ) return None @retry_query() @@ -307,7 +326,7 @@ def _upsert_session( storage_time_to_live = total_seconds(session_lifetime) # Serialize the session data - serialized_session_data = self.serializer.dumps(dict(session)) + serialized_session_data = self._serialize(dict(session)) # Update existing or create new session in the database self.redis.set( @@ -333,7 +352,6 @@ class MemcachedSessionInterface(ServerSideSessionInterface): The `use_signer` parameter was added. """ - serializer = pickle session_class = MemcachedSession ttl = True @@ -344,12 +362,15 @@ def __init__( use_signer: bool, permanent: bool, sid_length: int, + serialization_format: str, client: Any = Defaults.SESSION_MEMCACHED, ): if client is None: client = self._get_preferred_memcache_client() self.client = client - super().__init__(app, key_prefix, use_signer, permanent, sid_length) + super().__init__( + app, key_prefix, use_signer, permanent, sid_length, serialization_format + ) def _get_preferred_memcache_client(self): clients = [ @@ -384,10 +405,12 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: serialized_session_data = self.client.get(store_id) if serialized_session_data: try: - session_data = self.serializer.loads(serialized_session_data) + session_data = self._deserialize(serialized_session_data) return session_data - except pickle.UnpicklingError: - self.app.logger.error("Failed to unpickle session data", exc_info=True) + except msgspec.DecodeError: + self.app.logger.error( + "Failed to deserialize session data", exc_info=True + ) return None @retry_query() @@ -401,7 +424,7 @@ def _upsert_session( storage_time_to_live = total_seconds(session_lifetime) # Serialize the session data - serialized_session_data = self.serializer.dumps(dict(session)) + serialized_session_data = self._serialize(dict(session)) # Update existing or create new session in the database self.client.set( @@ -431,7 +454,6 @@ class FileSystemSessionInterface(ServerSideSessionInterface): """ session_class = FileSystemSession - serializer = None ttl = True def __init__( @@ -441,6 +463,7 @@ def __init__( use_signer: bool, permanent: bool, sid_length: int, + serialization_format: str, cache_dir: str = Defaults.SESSION_FILE_DIR, threshold: int = Defaults.SESSION_FILE_THRESHOLD, mode: int = Defaults.SESSION_FILE_MODE, @@ -448,7 +471,9 @@ def __init__( from cachelib.file import FileSystemCache self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode) - super().__init__(app, key_prefix, use_signer, permanent, sid_length) + super().__init__( + app, key_prefix, use_signer, permanent, sid_length, serialization_format + ) @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: @@ -494,7 +519,6 @@ class MongoDBSessionInterface(ServerSideSessionInterface): The `use_signer` parameter was added. """ - serializer = pickle session_class = MongoDBSession ttl = True @@ -505,6 +529,7 @@ def __init__( use_signer: bool, permanent: bool, sid_length: int, + serialization_format: str, client: Any = Defaults.SESSION_MONGODB, db: str = Defaults.SESSION_MONGODB_DB, collection: str = Defaults.SESSION_MONGODB_COLLECT, @@ -521,7 +546,9 @@ def __init__( # Create a TTL index on the expiration time, so that mongo can automatically delete expired sessions self.store.create_index("expiration", expireAfterSeconds=0) - super().__init__(app, key_prefix, use_signer, permanent, sid_length) + super().__init__( + app, key_prefix, use_signer, permanent, sid_length, serialization_format + ) @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: @@ -530,10 +557,12 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: if document: serialized_session_data = want_bytes(document["val"]) try: - session_data = self.serializer.loads(serialized_session_data) + session_data = self._deserialize(serialized_session_data) return session_data - except pickle.UnpicklingError: - self.app.logger.error("Failed to unpickle session data", exc_info=True) + except msgspec.DecodeError: + self.app.logger.error( + "Failed to deserialize session data", exc_info=True + ) return None @retry_query() @@ -550,7 +579,7 @@ def _upsert_session( storage_expiration_datetime = datetime.utcnow() + session_lifetime # Serialize the session data - serialized_session_data = self.serializer.dumps(dict(session)) + serialized_session_data = self._serialize(dict(session)) # Update existing or create new session in the database if self.use_deprecated_method: @@ -602,7 +631,6 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): The `use_signer` parameter was added. """ - serializer = pickle session_class = SqlAlchemySession ttl = False @@ -613,6 +641,7 @@ def __init__( use_signer: bool, permanent: bool, sid_length: int, + serialization_format: str, db: Any = Defaults.SESSION_SQLALCHEMY, table: str = Defaults.SESSION_SQLALCHEMY_TABLE, sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, @@ -630,7 +659,13 @@ def __init__( self.schema = schema self.bind_key = bind_key super().__init__( - app, key_prefix, use_signer, permanent, sid_length, cleanup_n_requests + app, + key_prefix, + use_signer, + permanent, + sid_length, + serialization_format, + cleanup_n_requests, ) # Create the Session database model @@ -698,11 +733,11 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: if record: serialized_session_data = want_bytes(record.data) try: - session_data = self.serializer.loads(serialized_session_data) + session_data = self._deserialize(serialized_session_data) return session_data - except pickle.UnpicklingError as e: + except msgspec.DecodeError as e: self.app.logger.exception( - e, "Failed to unpickle session data", exc_info=True + e, "Failed to deserialize session data", exc_info=True ) return None @@ -722,7 +757,7 @@ def _upsert_session( storage_expiration_datetime = datetime.utcnow() + session_lifetime # Serialize session data - serialized_session_data = self.serializer.dumps(dict(session)) + serialized_session_data = self._serialize(dict(session)) # Update existing or create new session in the database try: From 2261b44b69dd9cf27de1ce4e20e4d3a59b3c0402 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 17 Feb 2024 20:54:19 +1000 Subject: [PATCH 24/84] Backward compatibility with pickle --- src/flask_session/sessions.py | 23 ++++++++++++++++++++--- tests/test_basic.py | 12 ++---------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 6f41d1eb..c820f88b 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -2,12 +2,19 @@ import time import warnings from abc import ABC +from contextlib import suppress + +try: + import cPickle as pickle +except ImportError: + import pickle + import random -import msgspec from datetime import datetime from datetime import timedelta as TimeDelta from typing import Any, Optional +import msgspec from flask import Flask, Request, Response from flask.sessions import SessionInterface as FlaskSessionInterface from flask.sessions import SessionMixin @@ -89,7 +96,14 @@ def _serialize(self, session: ServerSideSession) -> bytes: return self.encoder.encode(dict(session)) def _deserialize(self, serialized_data): - return self.decoder.decode(serialized_data) + with suppress(msgspec.DecodeError): + return self.decoder.decode(serialized_data) + with suppress(msgspec.DecodeError): + return self.alternate_decoder.decode(serialized_data) + with suppress(msgspec.DecodeError): + return pickle.loads(serialized_data) + # If all decoders fail, raise the original exception + raise pickle.UnpicklingError("Failed to deserialize session data") def _get_store_id(self, sid: str) -> str: return self.key_prefix + sid @@ -138,12 +152,15 @@ def __init__( if serialization_format == "msgpack": self.decoder = msgspec.msgpack.Decoder() self.encoder = msgspec.msgpack.Encoder() + self.alternate_decoder = msgspec.json.Decoder() elif serialization_format == "json": self.decoder = msgspec.json.Decoder() self.encoder = msgspec.json.Encoder() + self.alternate_decoder = msgspec.msgpack.Decoder() else: + value = app.config.get("SESSION_SERIALIZATION_FORMAT") raise ValueError( - "Unrecognized value for SESSION_SERIALIZATION_FORMAT: {SESSION_SERIALIZATION_FORMAT}" + f"Unrecognized value for SESSION_SERIALIZATION_FORMAT: {value}" ) def save_session( diff --git a/tests/test_basic.py b/tests/test_basic.py index c8fbb8ca..8a037322 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -1,7 +1,6 @@ import flask -import pytest - import flask_session +import pytest def test_tot_seconds_func(): @@ -13,14 +12,7 @@ def test_tot_seconds_func(): def test_null_session(): """Invalid session should fail to get/set the flask session""" - with pytest.raises(RuntimeError): + with pytest.raises(ValueError): app = flask.Flask(__name__) app.secret_key = "alsdkfjaldkjsf" flask_session.Session(app) - - # with app.test_request_context(): - # assert not flask.session.get("missing_key") - # with pytest.raises(RuntimeError): - # flask.session["foo"] = 42 - # with pytest.raises(RuntimeError): - # print(flask.session["foo"]) From 834014956a8de4032e6a3458c6ee7e6092eee056 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 19 Feb 2024 15:00:34 +1000 Subject: [PATCH 25/84] Overhaul tests --- examples/hello.py | 5 +- src/flask_session/sessions.py | 1 - tests/conftest.py | 38 +++++++------- tests/test_filesystem.py | 22 ++++++--- tests/test_memcached.py | 46 ++++++++++++----- tests/test_mongodb.py | 54 ++++++++++++++++---- tests/test_redis.py | 93 ++++++++++++----------------------- tests/test_sqlalchemy.py | 59 +++++++++++++++------- 8 files changed, 186 insertions(+), 132 deletions(-) diff --git a/examples/hello.py b/examples/hello.py index bdbe29e9..07b3abd1 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -1,14 +1,11 @@ from flask import Flask, session - from flask_session import Session app = Flask(__name__) app.config.from_object(__name__) app.config.update( { - "SESSION_TYPE": "mongodb", - # "SQLALCHEMY_DATABASE_URI": "sqlite:////tmp/test.db", - # "SQLALCHEMY_USE_SIGNER": True, + "SESSION_TYPE": "redis", } ) Session(app) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index c820f88b..0e35f414 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -73,7 +73,6 @@ class SqlAlchemySession(ServerSideSession): class SessionInterface(FlaskSessionInterface): def _generate_sid(self, session_id_length: int) -> str: - print(session_id_length) return secrets.token_urlsafe(session_id_length) def __get_signer(self, app: Flask) -> Signer: diff --git a/tests/conftest.py b/tests/conftest.py index 5f2e570e..3df962d3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -13,6 +13,7 @@ def create_app(self, config_dict=None): app = flask.Flask(__name__) if config_dict: app.config.update(config_dict) + app.config["SESSION_SERIALIZATION_FORMAT"] = "json" @app.route("/set", methods=["POST"]) def app_set(): @@ -31,35 +32,36 @@ def app_del(): @app.route("/get") def app_get(): - return flask.session.get("value") + return flask.session.get("value", "no value set") flask_session.Session(app) return app - def test_session_set(self, app): + def test_session(self, app): client = app.test_client() - assert client.post("/set", data={"value": "42"}).data == b"value set" - assert client.get("/get").data == b"42" - def test_session_modify(self, app): - client = app.test_client() + # Check no value is set from previous tests + assert client.get("/get").data not in [b"42", b"43", b"44"] + + # Set a value, modify it, and delete it assert client.post("/set", data={"value": "42"}).data == b"value set" + assert client.get("/get").data == b"42" assert client.post("/modify", data={"value": "43"}).data == b"value set" assert client.get("/get").data == b"43" + assert client.post("/delete").data == b"value deleted" + assert client.get("/get").data == b"no value set" - def test_session_delete(self, app): + def test_session_with_cookie(self, app): client = app.test_client() - assert client.post("/set", data={"value": "42"}).data == b"value set" - assert client.get("/get").data == b"42" - client.post("/delete") - assert client.get("/get").data != b"42" - def test_session_sign(self, app): - client = app.test_client() - response = client.post("/set", data={"value": "42"}) - assert response.data == b"value set" - # Check there are two parts to the cookie, the session ID and the signature - cookies = response.headers.getlist("Set-Cookie") - assert "." in cookies[0].split(";")[0] + # Access cookies from the response to cross check with the stored session + response = client.post("/set", data={"value": "44"}) + session_cookie = None + for cookie in response.headers.getlist("Set-Cookie"): + if "session=" in cookie: + session_cookie = cookie + break + assert session_cookie is not None, "Session cookie was not set." + return session_cookie return Utils() diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 5742e161..bcf5f458 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -1,20 +1,26 @@ import tempfile import flask - import flask_session -class TestFileSystem: - def setup_method(self, _): - pass +class TestFileSystemSession: + + def retrieve_stored_session(self, key, app): + return app.session_interface.cache.get(key) - def test_basic(self, app_utils): + def test_filesystem_default(self, app_utils): app = app_utils.create_app( {"SESSION_TYPE": "filesystem", "SESSION_FILE_DIR": tempfile.gettempdir()} ) - app_utils.test_session_set(app) - # Should be using FileSystem class + # Should be using FileSystem with app.test_request_context(): - isinstance(flask.session, flask_session.sessions.FileSystemSession) + assert isinstance(flask.session, flask_session.sessions.FileSystemSession) + app_utils.test_session(app) + + # Check if the session is stored in the filesystem + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + stored_session = self.retrieve_stored_session(f"session:{session_id}", app) + assert stored_session.get("value") == "44" diff --git a/tests/test_memcached.py b/tests/test_memcached.py index 45654401..2e68b037 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -1,18 +1,42 @@ -import flask +import json +from contextlib import contextmanager +import flask import flask_session +import memcache # Import the memcache library + + +class TestMemcachedSession: + """This requires package: python-memcached""" + @contextmanager + def setup_memcached(self): + try: + self.mc = memcache.Client(["127.0.0.1:11211"], debug=0) + self.mc.flush_all() + yield + finally: + self.mc.flush_all() + # Memcached connections are pooled, no close needed -class TestMemcached: - """This requires package: memcached - This needs to be running before test runs - """ + def retrieve_stored_session(self, key): + return self.mc.get(key) - def test_basic(self, app_utils): - app = app_utils.create_app({"SESSION_TYPE": "memcached"}) + def test_memcached_default(self, app_utils): + with self.setup_memcached(): + app = app_utils.create_app({"SESSION_TYPE": "memcached"}) - # Should be using Memecached - with app.test_request_context(): - isinstance(flask.session, flask_session.sessions.MemcachedSessionInterface) + with app.test_request_context(): + assert isinstance( + flask.session, flask_session.sessions.MemcachedSession + ) + app_utils.test_session(app) - app_utils.test_session_set(app) + # Check if the session is stored in Memcached + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + byte_string = self.retrieve_stored_session(f"session:{session_id}") + stored_session = ( + json.loads(byte_string.decode("utf-8")) if byte_string else {} + ) + assert stored_session.get("value") == "44" diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index 860dd992..d173f9db 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -1,16 +1,50 @@ -import flask +import json +from contextlib import contextmanager +import flask import flask_session +from itsdangerous import want_bytes +from pymongo import MongoClient + + +class TestMongoSession: + """This requires package: pymongo""" + + @contextmanager + def setup_mongo(self): + self.client = MongoClient() + self.db = self.client.flask_session + self.collection = self.db.sessions + try: + self.collection.delete_many({}) + yield + finally: + self.collection.delete_many({}) + self.client.close() + def retrieve_stored_session(self, key): + document = self.collection.find_one({"id": key}) + print(document) + return want_bytes(document["val"]) -class TestMongoDB: - def test_basic(self, app_utils): - app = app_utils.create_app({"SESSION_TYPE": "mongodb"}) + def test_mongo_default(self, app_utils): + with self.setup_mongo(): + app = app_utils.create_app( + { + "SESSION_TYPE": "mongodb", + "SESSION_MONGODB": self.client, + } + ) - # Should be using MongoDB - with app.test_request_context(): - isinstance(flask.session, flask_session.sessions.MongoDBSession) + with app.test_request_context(): + assert isinstance(flask.session, flask_session.sessions.MongoDBSession) + app_utils.test_session(app) - # TODO: Need to test with mongodb service running, once - # that is available, then we can call - # app_utils.test_session_set + # Check if the session is stored in MongoDB + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + byte_string = self.retrieve_stored_session(f"session:{session_id}") + stored_session = ( + json.loads(byte_string.decode("utf-8")) if byte_string else {} + ) + assert stored_session.get("value") == "44" diff --git a/tests/test_redis.py b/tests/test_redis.py index 1f876bbb..761e32c5 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -1,69 +1,40 @@ -import flask -from redis import Redis +import json +from contextlib import contextmanager +import flask import flask_session +from redis import Redis class TestRedisSession: - def setup_method(self, method): - # Clear redis - r = Redis() - r.flushall() - - def _has_redis_prefix(self, prefix): - r = Redis() - return any(key.startswith(prefix) for key in r.keys()) #noqa SIM118 - - def test_redis_default(self, app_utils): - app = app_utils.create_app({"SESSION_TYPE": "redis"}) - - # Should be using Redis - with app.test_request_context(): - isinstance(flask.session, flask_session.sessions.RedisSession) - - app_utils.test_session_set(app) + """This requires package: redis""" - # There should be a session: object - assert self._has_redis_prefix(b"session:") + @contextmanager + def setup_redis(self): + try: + self.r = Redis() + self.r.flushall() + yield + finally: + self.r.flushall() + self.r.close() - self.setup_method(None) - app_utils.test_session_delete(app) + def retrieve_stored_session(self, key): + return self.r.get(key) - # There should not be a session: object - assert not self._has_redis_prefix(b"session:") - - def test_redis_key_prefix(self, app_utils): - app = app_utils.create_app( - {"SESSION_TYPE": "redis", "SESSION_KEY_PREFIX": "sess-prefix:"} - ) - app_utils.test_session_set(app) - - # There should be a key in Redis that starts with the prefix set - assert not self._has_redis_prefix(b"session:") - assert self._has_redis_prefix(b"sess-prefix:") - - def test_redis_with_signer(self, app_utils): - app = app_utils.create_app( - { - "SESSION_TYPE": "redis", - "SESSION_USE_SIGNER": True, - } - ) - - # Without a secret key set, there should be an exception raised - # TODO: not working - # with pytest.raises(KeyError): - # app_utils.test_session_set(app) - - # With a secret key set, no exception should be thrown - app.secret_key = "test_key" - app_utils.test_session_set(app) - - # There should be a key in Redis that starts with the prefix set - assert self._has_redis_prefix(b"session:") - - # Clear redis - self.setup_method(None) - - # Check that the session is signed - app_utils.test_session_sign(app) + def test_redis_default(self, app_utils): + with self.setup_redis(): + app = app_utils.create_app({"SESSION_TYPE": "redis"}) + + with app.test_request_context(): + assert isinstance(flask.session, flask_session.sessions.RedisSession) + app_utils.test_session(app) + + # Check if the session is stored in Redis + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + byte_string = self.retrieve_stored_session(f"session:{session_id}") + stored_session = ( + json.loads(byte_string.decode("utf-8")) if byte_string else {} + ) + assert stored_session.get("value") == "44" diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index bed47944..48774331 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -1,33 +1,54 @@ -import flask +import json +from contextlib import contextmanager +import flask import flask_session +from sqlalchemy import text class TestSQLAlchemy: - def test_basic(self, app_utils): - app = app_utils.create_app( - {"SESSION_TYPE": "sqlalchemy", "SQLALCHEMY_DATABASE_URI": "sqlite:///"} + """This requires package: sqlalchemy""" + + @contextmanager + def setup_sqlalchemy(self, app): + try: + app.session_interface.db.session.execute(text("DELETE FROM sessions")) + app.session_interface.db.session.commit() + yield + finally: + app.session_interface.db.session.execute(text("DELETE FROM sessions")) + app.session_interface.db.session.close() + + def retrieve_stored_session(self, key, app): + session_model = ( + app.session_interface.db.session.query( + app.session_interface.sql_session_model + ) + .filter_by(session_id=key) + .first() ) - - # Should be using SqlAlchemy - with app.test_request_context(): - isinstance(flask.session, flask_session.sessions.SqlAlchemySession) - app.session_interface.db.create_all() - - app_utils.test_session_set(app) - app_utils.test_session_modify(app) + if session_model: + return session_model.data + return None def test_use_signer(self, app_utils): app = app_utils.create_app( { "SESSION_TYPE": "sqlalchemy", "SQLALCHEMY_DATABASE_URI": "sqlite:///", - "SESSION_USE_SIGNER": True, - "SECRET_KEY": "testing", } ) - - with app.test_request_context(): - app.session_interface.db.create_all() - - app_utils.test_session_set(app) + with app.app_context() and self.setup_sqlalchemy( + app + ) and app.test_request_context(): + assert isinstance(flask.session, flask_session.sessions.SqlAlchemySession) + app_utils.test_session(app) + + # Check if the session is stored in SQLAlchemy + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + byte_string = self.retrieve_stored_session(f"session:{session_id}", app) + stored_session = ( + json.loads(byte_string.decode("utf-8")) if byte_string else {} + ) + assert stored_session.get("value") == "44" From 166372d7ff0c04741e5d26a984051e8113679d82 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 19 Feb 2024 16:12:05 +1000 Subject: [PATCH 26/84] Add docs for exceptions --- docs/config_exceptions.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/config_exceptions.rst diff --git a/docs/config_exceptions.rst b/docs/config_exceptions.rst new file mode 100644 index 00000000..cabf1887 --- /dev/null +++ b/docs/config_exceptions.rst @@ -0,0 +1,16 @@ +Exception handling +------------------- + +Flask-session will retry up to 3 times any database operation that fails with an Exception. This is to handle transient errors like network issues or database restarts. If the operation still fails after 3 retries, the exception will be raised. + +If you want to show user more helpful error messages, you can use `Flask's error handling`_. For example: + +.. code-block:: python + + @app.errorhandler(RedisError) + def handle_redis_error(error): + app.logger.error(f"Redis error encountered: {error}") + return "A problem occurred with our Redis service. Please try again later.", 500 + + +.. _Flask's error handling: https://flask.palletsprojects.com/en/3.0.x/errorhandling/ \ No newline at end of file From ec15a652ff9732270c6bdac9d173503e5a9d940f Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 19 Feb 2024 16:12:18 +1000 Subject: [PATCH 27/84] Minor updates to docs and example --- docs/_static/styles.css | 2 ++ docs/conf.py | 35 ++++++++++++++++++++++++----------- docs/config.rst | 2 ++ examples/hello.py | 19 +++++++++++++++---- 4 files changed, 43 insertions(+), 15 deletions(-) diff --git a/docs/_static/styles.css b/docs/_static/styles.css index 93db7784..6387b469 100644 --- a/docs/_static/styles.css +++ b/docs/_static/styles.css @@ -1,3 +1,5 @@ +@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&family=Source+Code+Pro:ital,wght@0,400;0,700;1,400;1,700&display=swap'); + .padded { padding: 40px; } diff --git a/docs/conf.py b/docs/conf.py index 2e1acbee..97d33db2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,7 +3,9 @@ project = "Flask-Session" author = "Pallets Community Ecosystem" copyright = f"2014, {author}" -release = importlib.metadata.version("Flask-Session") +version = release = importlib.metadata.version("Flask-Session") + +# General -------------------------------------------------------------- extensions = ["sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx_favicon"] @@ -14,14 +16,9 @@ "flask-sqlalchemy": ("http://flask-sqlalchemy.palletsprojects.com/", None), } -html_theme = "furo" -html_static_path = ["_static"] -html_css_files = [ - "styles.css", - "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/fontawesome.min.css", - "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/solid.min.css", - "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/brands.min.css", -] + +# HTML ----------------------------------------------------------------- + favicons = [ {"rel": "icon", "href": "icon.svg", "type": "image/svg+xml"}, {"rel": "icon", "sizes": "16x16", "href": "favicon-16x16.png", "type": "image/png"}, @@ -50,16 +47,31 @@ "href": "safari-pinned-tab.svg", }, ] - - +html_copy_source = False +html_css_files = [ + "styles.css", + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/fontawesome.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/solid.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/brands.min.css", +] +html_domain_indices = False +html_static_path = ["_static"] +html_theme = "furo" html_theme_options = { + "source_repository": "https://github.com/pallets-eco/flask-session/", + "source_branch": "main", + "source_directory": "docs/", "light_logo": "logo/logo-light.png", "dark_logo": "logo/logo-dark.png", "light_css_variables": { + "font-stack": "'Atkinson Hyperlegible', sans-serif", + "font-stack--monospace": "'Source Code Pro', monospace", "color-brand-primary": "#39A9BE", "color-brand-content": "#39A9BE", }, "dark_css_variables": { + "font-stack": "'Atkinson Hyperlegible', sans-serif", + "font-stack--monospace": "'Source Code Pro', monospace", "color-brand-primary": "#39A9BE", "color-brand-content": "#39A9BE", }, @@ -86,3 +98,4 @@ }, ], } +html_use_index = False diff --git a/docs/config.rst b/docs/config.rst index 0e5b2c27..4f4c43b2 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -9,6 +9,8 @@ Configuration .. include:: config_security.rst +.. include:: config_exceptions.rst + .. include:: config_flask.rst .. include:: config_flask_session.rst diff --git a/examples/hello.py b/examples/hello.py index 07b3abd1..5aec16d6 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -1,11 +1,13 @@ from flask import Flask, session from flask_session import Session +from redis.exceptions import RedisError app = Flask(__name__) app.config.from_object(__name__) app.config.update( { "SESSION_TYPE": "redis", + "FLASK_ENV": "production", } ) Session(app) @@ -19,13 +21,22 @@ def set(): @app.route("/get/") def get(): - import time - - start_time = time.time() result = session.get("key", "not set") - print("get", (time.time() - start_time) * 1000) return result +@app.route("/delete/") +def delete(): + # del session["key"] + raise RedisError("test") + return "deleted" + + +@app.errorhandler(RedisError) +def handle_redis_error(error): + app.logger.error(f"Redis error encountered: {error}") + return "A problem occurred with our Redis service. Please try again later.", 500 + + if __name__ == "__main__": app.run(debug=True) From a8097ccc51663e21265c9efddbea6a7cbc9c6bc1 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 19 Feb 2024 20:39:09 +1000 Subject: [PATCH 28/84] Fix test.yaml --- .github/workflows/test.yaml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 384813a5..008fc6bd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,16 +1,18 @@ name: Run unittests on: [push, pull_request] jobs: - unittests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: supercharge/redis-github-action@1.5.0 - - uses: niden/actions-memcached@v7 - - uses: actions/setup-python@v4 - with: - python-version: 'pypy3.9' - - name: Install testing requirements - run: pip3 install -r requirements/dev.txt - - name: Run tests - run: pytest tests + unittests: + runs-on: ubuntu-latest + services: + mongodb: + image: mongo + ports: + - 27017:27017 + steps: + - uses: actions/checkout@v4 + - uses: supercharge/redis-github-action@1.5.0 + - uses: niden/actions-memcached@v7 + - name: Install testing requirements + run: pip3 install -r requirements/dev.txt + - name: Run tests + run: pytest tests From db3bbb9fc93635822553f9c84b2d9b33ffdb521b Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 20 Feb 2024 13:00:05 +1000 Subject: [PATCH 29/84] Limit retry decorator to SQL --- docs/config.rst | 2 +- docs/config_exceptions.rst | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/docs/config.rst b/docs/config.rst index 4f4c43b2..1331c1be 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -15,4 +15,4 @@ Configuration .. include:: config_flask_session.rst -.. include:: config_backend.rst +.. include:: config_storage.rst diff --git a/docs/config_exceptions.rst b/docs/config_exceptions.rst index cabf1887..53efc3fe 100644 --- a/docs/config_exceptions.rst +++ b/docs/config_exceptions.rst @@ -1,7 +1,34 @@ -Exception handling -------------------- +Storage exceptions +=================== + +For various reasons, database operations can fail. When a database operation fails, the database client will raise an Exception. + +Retries +-------- + +Upon an Exception, Flask-Session will retry with backoff up to 3 times for SQL based storage. If the operation still fails after 3 retries, the Exception will be raised. + +For other storage types, the retry logic is either included or can be configured in the client setup. Refer to the client's documentation for more information. + +Redis example with retries on certain errors: -Flask-session will retry up to 3 times any database operation that fails with an Exception. This is to handle transient errors like network issues or database restarts. If the operation still fails after 3 retries, the exception will be raised. +.. code-block:: python + + from redis.backoff import ExponentialBackoff + from redis.retry import Retry + from redis.client import Redis + from redis.exceptions import ( + BusyLoadingError, + ConnectionError, + TimeoutError + ) + + retry = Retry(ExponentialBackoff(), 3) + r = Redis(host='localhost', port=6379, retry=retry, retry_on_error=[BusyLoadingError, ConnectionError, TimeoutError]) + + +Logging +------------------- If you want to show user more helpful error messages, you can use `Flask's error handling`_. For example: From e091c2eb3fd7e00ba68b062440ebb205b81f47b3 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 20 Feb 2024 13:00:33 +1000 Subject: [PATCH 30/84] Update docstrings and documentation --- CHANGES.rst | 13 +-- docs/api.rst | 14 +-- ...{config_backend.rst => config_storage.rst} | 2 +- docs/installation.rst | 8 +- docs/quickstart.rst | 7 +- src/flask_session/__init__.py | 27 +++--- src/flask_session/sessions.py | 89 +++++++++++++------ 7 files changed, 92 insertions(+), 68 deletions(-) rename docs/{config_backend.rst => config_storage.rst} (99%) diff --git a/CHANGES.rst b/CHANGES.rst index 6a29726d..bbb2be8f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,17 +1,20 @@ Version 0.7.0 ------------------ -- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT``. +- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``json`` and ``msgpack``. +- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.7.0. - Prevent sid reuse on storage miss. - Add time-to-live expiration for MongoDB. +- Add retry for SQL based storage. - Abstraction to improve consistency between backends. -- Enforce PERMANENT_SESSION_LIFETIME as expiration consistently for all backends. +- Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. - Add logo and additional documentation. -- Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy -- Use Vary cookie header -- Type hints +- Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. +- Use Vary cookie header. +- Type hints. - Remove null session in favour of specific exception messages. - Deprecate ``SESSION_USE_SIGNER``. +- Remove backend session interfaces from public API and semver. Version 0.6.0 diff --git a/docs/api.rst b/docs/api.rst index ec55deec..0f3da578 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -1,20 +1,12 @@ API --- +Anything documented here is part of the public API that Flask-Session provides, unless otherwise indicated. Anything not documented here is considered internal or private and may change at any time. + + .. module:: flask_session .. autoclass:: Session :members: init_app .. autoclass:: flask_session.sessions.ServerSideSession - - .. attribute:: sid - - Session id, internally we use :func:`secrets.token_urlsafe` to generate one - session id. You can access it with ``session.sid``. - -.. autoclass:: RedisSessionInterface -.. autoclass:: MemcachedSessionInterface -.. autoclass:: FileSystemSessionInterface -.. autoclass:: MongoDBSessionInterface -.. autoclass:: SqlAlchemySessionInterface diff --git a/docs/config_backend.rst b/docs/config_storage.rst similarity index 99% rename from docs/config_backend.rst rename to docs/config_storage.rst index d73da5c8..df3083aa 100644 --- a/docs/config_backend.rst +++ b/docs/config_storage.rst @@ -1,4 +1,4 @@ -Backend configuration +Storage configuration --------------------- diff --git a/docs/installation.rst b/docs/installation.rst index bac7af89..4b8266c5 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -12,22 +12,22 @@ Flask-Session's only required dependency is msgspec for serialization, which has .. note:: - You need to choose and a backend and install an appropriate client library, unless you are using the FileSystemCache. + You need to choose a storage type and install an appropriate client library, unless you are using the FileSystemCache. -For example, if you want to use Redis as your backend, you will need to install the redis-py client library: +For example, if you want to use Redis as your storage, you will need to install the redis-py client library: .. code-block:: bash $ pip install redis -Supported backends and client libraries: +Supported storage and client libraries: .. list-table:: :header-rows: 1 - * - Backend + * - Storage - Client Library * - Redis - redis-py_ diff --git a/docs/quickstart.rst b/docs/quickstart.rst index ba77df84..447a76e9 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -7,8 +7,11 @@ Quick Start Create your Flask application, load the configuration of choice, and then create the :class:`Session` object by passing it the application. -The ``Session`` instance is not used for direct access, you should always use -:class:`flask.session`. +.. note:: + + You can not use ``Session`` instance directly, what ``Session`` does + is just change the :attr:`~flask.Flask.session_interface` attribute on + your Flask applications. You should always use :class:`flask.session`. .. code-block:: python diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 89e7d1a8..c031f8ac 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -14,30 +14,16 @@ class Session: """This class is used to add Server-side Session to one or more Flask applications. - There are two usage modes. One is initialize the instance with a very - specific Flask application:: + For a typical setup use the following initialization:: app = Flask(__name__) Session(app) - The second possibility is to create the object once and configure the - application later:: - - sess = Session() - - def create_app(): - app = Flask(__name__) - sess.init_app(app) - return app - - By default Flask-Session will use :class:`NullSessionInterface`, you - really should configurate your app to use a different SessionInterface. - .. note:: You can not use ``Session`` instance directly, what ``Session`` does is just change the :attr:`~flask.Flask.session_interface` attribute on - your Flask applications. + your Flask applications. You should always use :class:`flask.session`. """ def __init__(self, app=None): @@ -46,7 +32,14 @@ def __init__(self, app=None): self.init_app(app) def init_app(self, app): - """This is used to set up session for your app object. + """This the the alternate setup method, typically used in an application factory pattern:: + + sess = Session() + + def create_app(): + app = Flask(__name__) + sess.init_app(app) + return app :param app: the Flask app object with proper configuration. """ diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py index 0e35f414..8182bed5 100644 --- a/src/flask_session/sessions.py +++ b/src/flask_session/sessions.py @@ -30,7 +30,29 @@ def total_seconds(timedelta): class ServerSideSession(CallbackDict, SessionMixin): - """Baseclass for server-side based sessions.""" + """Baseclass for server-side based sessions. This can be accessed through ``flask.session``. + + .. attribute:: sid + + Session id, internally we use :func:`secrets.token_urlsafe` to generate one + session id. + + .. attribute:: modified + + When data is changed, this is set to ``True``. Only the session dictionary + itself is tracked; if the session contains mutable data (for example a nested + dict) then this must be set to ``True`` manually when modifying that data. The + session cookie will only be written to the response if this is ``True``. + + Default is ``False``. + + .. attribute:: permanent + + This sets and reflects the ``'_permanent'`` key in the dict. + + Default is ``False``. + + """ def __bool__(self) -> bool: return bool(dict(self)) and self.keys() != {"_permanent"} @@ -275,18 +297,23 @@ def _upsert_session( @retry_query() def _delete_expired_sessions(self) -> None: - """Delete expired sessions from the backend storage. Only required for non-TTL databases.""" + """Delete expired sessions from the session storage. Only required for non-TTL databases.""" pass class RedisSessionInterface(ServerSideSessionInterface): - """Uses the Redis key-value store as a session backend. (`redis-py` required) + """Uses the Redis key-value store as a session storage. (`redis-py` required) - :param redis: A ``redis.Redis`` instance. + :param app: A Flask app instance. :param key_prefix: A prefix that is added to all Redis store 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. + :param redis: A ``redis.Redis`` instance. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. .. versionadded:: 0.6 The `sid_length` parameter was added. @@ -353,13 +380,18 @@ def _upsert_session( class MemcachedSessionInterface(ServerSideSessionInterface): - """A Session interface that uses memcached as backend. (`pylibmc` or `python-memcached` or `pymemcache` required) + """A Session interface that uses memcached as session storage. (`pylibmc` or `python-memcached` or `pymemcache` required) - :param client: A ``memcache.Client`` instance. + :param app: A Flask app instance. :param key_prefix: A prefix that is added to all Memcached store 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. + :param client: A ``memcache.Client`` instance. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. .. versionadded:: 0.6 The `sid_length` parameter was added. @@ -415,7 +447,6 @@ def _get_memcache_timeout(self, timeout: int) -> int: timeout += int(time.time()) return timeout - @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database serialized_session_data = self.client.get(store_id) @@ -429,11 +460,9 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: ) return None - @retry_query() def _delete_session(self, store_id: str) -> None: self.client.delete(store_id) - @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -451,16 +480,20 @@ def _upsert_session( class FileSystemSessionInterface(ServerSideSessionInterface): - """Uses the :class:`cachelib.file.FileSystemCache` as a session backend. + """Uses the :class:`cachelib.file.FileSystemCache` as a session storage. - :param cache_dir: the directory where session files are stored. - :param threshold: the maximum number of items the session stores before it - starts deleting some. - :param mode: the file mode wanted for the session files, default 0600 + :param app: A Flask app instance. :param key_prefix: A prefix that is added to FileSystemCache store 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. + :param cache_dir: the directory where session files are stored. + :param threshold: the maximum number of items the session stores before it + :param mode: the file mode wanted for the session files, default 0600 + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. .. versionadded:: 0.6 The `sid_length` parameter was added. @@ -491,16 +524,13 @@ def __init__( app, key_prefix, use_signer, permanent, sid_length, serialization_format ) - @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (item) from the database return self.cache.get(store_id) - @retry_query() def _delete_session(self, store_id: str) -> None: self.cache.delete(store_id) - @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -518,15 +548,20 @@ def _upsert_session( class MongoDBSessionInterface(ServerSideSessionInterface): - """A Session interface that uses mongodb as backend. (`pymongo` required) + """A Session interface that uses mongodb as session storage. (`pymongo` required) - :param client: A ``pymongo.MongoClient`` instance. - :param db: The database you want to use. - :param collection: The collection you want to use. + :param app: A Flask app instance. :param key_prefix: A prefix that is added to all MongoDB store 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. + :param client: A ``pymongo.MongoClient`` instance. + :param db: The database you want to use. + :param collection: The collection you want to use. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. .. versionadded:: 0.6 The `sid_length` parameter was added. @@ -566,7 +601,6 @@ def __init__( app, key_prefix, use_signer, permanent, sid_length, serialization_format ) - @retry_query() def _retrieve_session_data(self, store_id: str) -> Optional[dict]: # Get the saved session (document) from the database document = self.store.find_one({"id": store_id}) @@ -581,14 +615,12 @@ def _retrieve_session_data(self, store_id: str) -> Optional[dict]: ) return None - @retry_query() def _delete_session(self, store_id: str) -> None: if self.use_deprecated_method: self.store.remove({"id": store_id}) else: self.store.delete_one({"id": store_id}) - @retry_query() def _upsert_session( self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str ) -> None: @@ -623,22 +655,23 @@ def _upsert_session( class SqlAlchemySessionInterface(ServerSideSessionInterface): - """Uses the Flask-SQLAlchemy from a flask app as a session backend. + """Uses the Flask-SQLAlchemy from a flask app as session storage. :param app: A Flask app instance. - :param db: A Flask-SQLAlchemy instance. - :param table: The table name you want to use. :param key_prefix: A prefix that is added to all store 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. + :param db: A Flask-SQLAlchemy instance. + :param table: The table name you want to use. :param sequence: The sequence to use for the primary key if needed. :param schema: The db schema to use :param bind_key: The db bind key to use :param cleanup_n_requests: Delete expired sessions on average every N requests. .. versionadded:: 0.7 - The `cleanup_n_requests` parameter was added. + The `cleanup_n_requests`, `app`, `cleanup_n_requests` parameters were added. .. versionadded:: 0.6 The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. From fd8fc93a9e164ac4c707f7a62639553a3419bfd4 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 20 Feb 2024 15:18:54 +1000 Subject: [PATCH 31/84] Readme --- README.rst | 46 +++++++++++++++----------- docs/_static/icon/favicon-192x192.png | Bin 0 -> 15287 bytes docs/_static/icon/favicon-512x512.png | Bin 0 -> 42010 bytes 3 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 docs/_static/icon/favicon-192x192.png create mode 100644 docs/_static/icon/favicon-512x512.png diff --git a/README.rst b/README.rst index deb75559..382c0c0a 100644 --- a/README.rst +++ b/README.rst @@ -1,42 +1,48 @@ +.. image:: https://github.com/pallets-eco/flask-session/tree/main/docs/_static/icon/favicon-192x192.png + :alt: Flask-Session + :target: https://flask-session.readthedocs.io + :align: left + :width: 60px + +============== Flask-Session -============= +============== Flask-Session is an extension for Flask that adds support for server-side sessions to your application. - -.. image:: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml/badge.svg?branch=development - :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Amain - :alt: Tests +.. image:: https://img.shields.io/github/actions/workflow/status/pallets-eco/flask-session/test.yaml?logo=github&style=flat-square + :alt: GitHub Actions Workflow Status + :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Adevelopment -.. image:: https://readthedocs.org/projects/flask-session/badge/?version=stable&style=flat +.. image:: https://img.shields.io/readthedocs/flask-session?logo=readthedocs&style=flat-square :target: https://flask-session.readthedocs.io - :alt: docs + :alt: Documentation status -.. image:: https://img.shields.io/github/license/pallets-eco/flask-session +.. image:: https://img.shields.io/github/license/pallets-eco/flask-session?logo=bsd&style=flat-square :target: ./LICENSE :alt: BSD-3 Clause License -.. image:: https://img.shields.io/pypi/v/flask-session.svg? +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat-square&label=style + :target: https://github.com/charliermarsh/ruff + :alt: Code style: ruff + +.. image:: https://img.shields.io/pypi/v/flask-session.svg?logo=pypi&style=flat-square :target: https://pypi.org/project/flask-session - :alt: PyPI + :alt: PyPI - Latest Version -.. image:: https://img.shields.io/badge/dynamic/json?query=info.requires_python&label=python&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fflask-session%2Fjson +.. image:: https://img.shields.io/badge/dynamic/json?query=info.requires_python&label=python&logo=python&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fflask-session%2Fjson&style=flat-square :target: https://pypi.org/project/Flask-Session/ :alt: PyPI - Python Version -.. image:: https://img.shields.io/github/v/release/pallets-eco/flask-session?include_prereleases&label=latest-prerelease - :target: https://github.com/pallets-eco/flask-session/releases - :alt: pre-release - -.. image:: https://codecov.io/gh/pallets-eco/flask-session/branch/master/graph/badge.svg?token=yenl5fzxxr - :target: https://codecov.io/gh/pallets-eco/flask-session - :alt: codecov - -.. image:: https://img.shields.io/discord/531221516914917387?logo=discord +.. image:: https://img.shields.io/discord/531221516914917387?logo=discord&style=flat-square :target: https://discord.gg/pallets :alt: Discord +.. image:: https://img.shields.io/pypi/dm/flask-session?logo=pypi&style=flat-square + :target: https://pypistats.org/packages/flask-session + :alt: PyPI - Downloads + Installing ------------ Install and update using pip: diff --git a/docs/_static/icon/favicon-192x192.png b/docs/_static/icon/favicon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..ae051c7dcdf7788bc6774ff61a222c8df0646134 GIT binary patch literal 15287 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 Date: Tue, 20 Feb 2024 21:47:04 +1000 Subject: [PATCH 32/84] Recommend redis --- README.rst | 16 ++++++++-------- docs/installation.rst | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.rst b/README.rst index 382c0c0a..ff8ac2fb 100644 --- a/README.rst +++ b/README.rst @@ -11,35 +11,35 @@ Flask-Session Flask-Session is an extension for Flask that adds support for server-side sessions to your application. -.. image:: https://img.shields.io/github/actions/workflow/status/pallets-eco/flask-session/test.yaml?logo=github&style=flat-square +.. image:: https://img.shields.io/github/actions/workflow/status/pallets-eco/flask-session/test.yaml?logo=github :alt: GitHub Actions Workflow Status :target: https://github.com/pallets-eco/flask-session/actions/workflows/test.yaml?query=workflow%3ACI+branch%3Adevelopment -.. image:: https://img.shields.io/readthedocs/flask-session?logo=readthedocs&style=flat-square +.. image:: https://img.shields.io/readthedocs/flask-session?logo=readthedocs :target: https://flask-session.readthedocs.io :alt: Documentation status -.. image:: https://img.shields.io/github/license/pallets-eco/flask-session?logo=bsd&style=flat-square +.. image:: https://img.shields.io/github/license/pallets-eco/flask-session?logo=bsd :target: ./LICENSE :alt: BSD-3 Clause License -.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat-square&label=style +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&label=style :target: https://github.com/charliermarsh/ruff :alt: Code style: ruff -.. image:: https://img.shields.io/pypi/v/flask-session.svg?logo=pypi&style=flat-square +.. image:: https://img.shields.io/pypi/v/flask-session.svg?logo=pypi :target: https://pypi.org/project/flask-session :alt: PyPI - Latest Version -.. image:: https://img.shields.io/badge/dynamic/json?query=info.requires_python&label=python&logo=python&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fflask-session%2Fjson&style=flat-square +.. image:: https://img.shields.io/badge/dynamic/json?query=info.requires_python&label=python&logo=python&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fflask-session%2Fjson :target: https://pypi.org/project/Flask-Session/ :alt: PyPI - Python Version -.. image:: https://img.shields.io/discord/531221516914917387?logo=discord&style=flat-square +.. image:: https://img.shields.io/discord/531221516914917387?logo=discord :target: https://discord.gg/pallets :alt: Discord -.. image:: https://img.shields.io/pypi/dm/flask-session?logo=pypi&style=flat-square +.. image:: https://img.shields.io/pypi/dm/flask-session?logo=pypi :target: https://pypistats.org/packages/flask-session :alt: PyPI - Downloads diff --git a/docs/installation.rst b/docs/installation.rst index 4b8266c5..9dc44cd5 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -20,6 +20,7 @@ For example, if you want to use Redis as your storage, you will need to install $ pip install redis +Redis is the recommended storage type for Flask-Session, as it has the most complete support for the features of Flask-Session with minimal configuration. Supported storage and client libraries: From 519f754c78e77d263128b1967657a373d42ae79c Mon Sep 17 00:00:00 2001 From: Lex Date: Wed, 21 Feb 2024 13:40:36 +1000 Subject: [PATCH 33/84] Add supported storage to readme, update example --- README.rst | 8 ++++++++ docs/config_exceptions.rst | 2 +- examples/hello.py | 9 ++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index ff8ac2fb..1f2b0a17 100644 --- a/README.rst +++ b/README.rst @@ -74,6 +74,14 @@ A Simple Example def get(): return session.get('key', 'not set') +Supported Storage Types +------------------------ +- Redis +- Memcached +- FileSystem +- MongoDB +- SQLALchemy + Documentation ------------- Learn more at the official `Flask-Session Documentation `_. diff --git a/docs/config_exceptions.rst b/docs/config_exceptions.rst index 53efc3fe..edc9ba82 100644 --- a/docs/config_exceptions.rst +++ b/docs/config_exceptions.rst @@ -24,7 +24,7 @@ Redis example with retries on certain errors: ) retry = Retry(ExponentialBackoff(), 3) - r = Redis(host='localhost', port=6379, retry=retry, retry_on_error=[BusyLoadingError, ConnectionError, TimeoutError]) + SESSION_REDIS = Redis(host='localhost', port=6379, retry=retry, retry_on_error=[BusyLoadingError, ConnectionError, TimeoutError]) Logging diff --git a/examples/hello.py b/examples/hello.py index 5aec16d6..55f54f4d 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -7,7 +7,6 @@ app.config.update( { "SESSION_TYPE": "redis", - "FLASK_ENV": "production", } ) Session(app) @@ -27,11 +26,15 @@ def get(): @app.route("/delete/") def delete(): - # del session["key"] - raise RedisError("test") + del session["key"] return "deleted" +@app.route("/error/") +def error(): + raise RedisError("An error occurred with Redis") + + @app.errorhandler(RedisError) def handle_redis_error(error): app.logger.error(f"Redis error encountered: {error}") From 2bc7df1be7b8929e55cb25f13845caf0503630d8 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 23 Feb 2024 18:13:30 +1000 Subject: [PATCH 34/84] Refactor structure for maintainability Refactor, add cachelib --- CHANGES.rst | 20 +- docs/api.rst | 9 +- docs/config_exceptions.rst | 8 +- docs/config_flask_session.rst | 3 +- docs/config_storage.rst | 16 + docs/index.rst | 2 +- docs/installation.rst | 51 +- docs/{quickstart.rst => usage.rst} | 37 +- src/flask_session/__init__.py | 38 +- src/flask_session/_utils.py | 5 + src/flask_session/base.py | 310 ++++++++ src/flask_session/cachelib/__init__.py | 1 + src/flask_session/cachelib/cachelib.py | 68 ++ src/flask_session/defaults.py | 4 + src/flask_session/filesystem/__init__.py | 1 + src/flask_session/filesystem/filesystem.py | 101 +++ src/flask_session/memcached/__init__.py | 1 + src/flask_session/memcached/memcached.py | 114 +++ src/flask_session/mongodb/__init__.py | 1 + src/flask_session/mongodb/mongodb.py | 113 +++ src/flask_session/redis/__init__.py | 1 + src/flask_session/redis/redis.py | 79 ++ src/flask_session/sessions.py | 827 --------------------- src/flask_session/sqlalchemy/__init__.py | 1 + src/flask_session/sqlalchemy/sqlalchemy.py | 186 +++++ tests/test_basic.py | 7 - tests/test_cachelib.py | 29 + tests/test_filesystem.py | 7 +- tests/test_memcached.py | 4 +- tests/test_mongodb.py | 5 +- tests/test_redis.py | 4 +- tests/test_sqlalchemy.py | 17 +- 32 files changed, 1183 insertions(+), 887 deletions(-) rename docs/{quickstart.rst => usage.rst} (50%) create mode 100644 src/flask_session/base.py create mode 100644 src/flask_session/cachelib/__init__.py create mode 100644 src/flask_session/cachelib/cachelib.py create mode 100644 src/flask_session/filesystem/__init__.py create mode 100644 src/flask_session/filesystem/filesystem.py create mode 100644 src/flask_session/memcached/__init__.py create mode 100644 src/flask_session/memcached/memcached.py create mode 100644 src/flask_session/mongodb/__init__.py create mode 100644 src/flask_session/mongodb/mongodb.py create mode 100644 src/flask_session/redis/__init__.py create mode 100644 src/flask_session/redis/redis.py delete mode 100644 src/flask_session/sessions.py create mode 100644 src/flask_session/sqlalchemy/__init__.py create mode 100644 src/flask_session/sqlalchemy/sqlalchemy.py create mode 100644 tests/test_cachelib.py diff --git a/CHANGES.rst b/CHANGES.rst index bbb2be8f..b7790133 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,20 +1,26 @@ Version 0.7.0 ------------------ +Added - Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``json`` and ``msgpack``. -- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.7.0. -- Prevent sid reuse on storage miss. - Add time-to-live expiration for MongoDB. - Add retry for SQL based storage. -- Abstraction to improve consistency between backends. -- Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. -- Add logo and additional documentation. - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. -- Use Vary cookie header. - Type hints. +- Add logo and additional documentation. + +Deprecated +- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.7.0. - Remove null session in favour of specific exception messages. - Deprecate ``SESSION_USE_SIGNER``. -- Remove backend session interfaces from public API and semver. +- Deprecate FileSystemSessionInterface in favor of the broader CacheLibSessionInterface. + +Fixed +- Prevent sid reuse on storage miss. +- Abstraction to improve consistency between backends. +- Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. +- Use Vary cookie header as per Flask. +- Specifically include backend session interfaces in public API and document usage. Version 0.6.0 diff --git a/docs/api.rst b/docs/api.rst index 0f3da578..851ee882 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -9,4 +9,11 @@ Anything documented here is part of the public API that Flask-Session provides, .. autoclass:: Session :members: init_app -.. autoclass:: flask_session.sessions.ServerSideSession +.. autoclass:: flask_session.base.ServerSideSession + +.. autoclass:: flask_session.redis.RedisSessionInterface +.. autoclass:: flask_session.memcached.MemcachedSessionInterface +.. autoclass:: flask_session.filesystem.FileSystemSessionInterface +.. autoclass:: flask_session.cachelib.CacheLibSessionInterface +.. autoclass:: flask_session.mongodb.MongoDBSessionInterface +.. autoclass:: flask_session.sqlalchemy.SqlAlchemySessionInterface \ No newline at end of file diff --git a/docs/config_exceptions.rst b/docs/config_exceptions.rst index edc9ba82..fd8cde73 100644 --- a/docs/config_exceptions.rst +++ b/docs/config_exceptions.rst @@ -1,12 +1,7 @@ -Storage exceptions -=================== - -For various reasons, database operations can fail. When a database operation fails, the database client will raise an Exception. - Retries -------- -Upon an Exception, Flask-Session will retry with backoff up to 3 times for SQL based storage. If the operation still fails after 3 retries, the Exception will be raised. +Only for SQL based storage, upon an exception, Flask-Session will retry with backoff up to 3 times. If the operation still fails after 3 retries, the exception will be raised. For other storage types, the retry logic is either included or can be configured in the client setup. Refer to the client's documentation for more information. @@ -22,6 +17,7 @@ Redis example with retries on certain errors: ConnectionError, TimeoutError ) + ... retry = Retry(ExponentialBackoff(), 3) SESSION_REDIS = Redis(host='localhost', port=6379, retry=retry, retry_on_error=[BusyLoadingError, ConnectionError, TimeoutError]) diff --git a/docs/config_flask_session.rst b/docs/config_flask_session.rst index cf643827..2cb6e426 100644 --- a/docs/config_flask_session.rst +++ b/docs/config_flask_session.rst @@ -10,7 +10,8 @@ These are specific to Flask-Session. - **redis**: RedisSessionInterface - **memcached**: MemcachedSessionInterface - - **filesystem**: FileSystemSessionInterface + - **filesystem**: FileSystemSessionInterface (Deprecated in 0.7.0, will be removed in 1.0.0 in favor of CacheLibSessionInterface) + - **cachelib**: CacheLibSessionInterface - **mongodb**: MongoDBSessionInterface - **sqlalchemy**: SqlAlchemySessionInterface diff --git a/docs/config_storage.rst b/docs/config_storage.rst index df3083aa..c61c8b34 100644 --- a/docs/config_storage.rst +++ b/docs/config_storage.rst @@ -43,6 +43,22 @@ FileSystem Default: ``0600`` +.. deprecated:: 0.7.0 + ``SESSION_FILE_MODE``, ``SESSION_FILE_THRESHOLD`` and ``SESSION_FILE_DIR``. Use ``SESSION_CACHELIB`` instead. + +Cachelib +~~~~~~~~~~~~~~~~~~~~~~~ +.. py:data:: SESSION_CACHELIB + + Any valid `cachelib backend `_. This allows you maximum flexibility in choosing the cache backend and its configuration. + + The following would set a cache directory called "flask_session" and a threshold of 500 items before it starts deleting some. + + .. code-block:: python + + app.config['SESSION_CACHELIB'] = FileSystemCache(cache_dir='flask_session', threshold=500) + + Default: ``FileSystemCache`` in ``./flask_session`` directory. MongoDB ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/index.rst b/docs/index.rst index 786c3b3e..087cd40d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,7 @@ Table of Contents introduction installation - quickstart + usage config api contributing diff --git a/docs/installation.rst b/docs/installation.rst index 9dc44cd5..986a23d7 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -12,7 +12,7 @@ Flask-Session's only required dependency is msgspec for serialization, which has .. note:: - You need to choose a storage type and install an appropriate client library, unless you are using the FileSystemCache. + You need to choose a storage type and install an appropriate client library. For example, if you want to use Redis as your storage, you will need to install the redis-py client library: @@ -22,8 +22,10 @@ For example, if you want to use Redis as your storage, you will need to install Redis is the recommended storage type for Flask-Session, as it has the most complete support for the features of Flask-Session with minimal configuration. -Supported storage and client libraries: +Support +-------- +Directly supported storage and client libraries: .. list-table:: :header-rows: 1 @@ -33,7 +35,7 @@ Supported storage and client libraries: * - Redis - redis-py_ * - Memcached - - pylibmc_, python-memcached_, pymemcache_ + - pylibmc_, python-memcached_ or pymemcache_ * - MongoDB - pymongo_ * - SQL Alchemy @@ -41,9 +43,48 @@ Supported storage and client libraries: Other clients may work if they use the same commands as the ones listed above. +Cachelib +-------- + +Flask-Session also indirectly supports storage and client libraries via cachelib_, which is a wrapper around various cache libraries and subject to change. You must also install cachelib_ itself to use these. + +.. warning:: + + As of writing, cachelib_ still use pickle_ as the default serializer, which may have security implications. + +Using cachlib :class:`FileSystemCache`` or :class:`SimpleCache` may be useful for development. + +.. list-table:: + :header-rows: 1 + + * - Storage + - Client Library + * - File System + - Not required + * - Simple Memory + - Not required + * - UWSGI + - uwsgi_ + * - Redis + - redis-py_ + * - Memcached + - pylibmc_, memcached, libmc_ or `google.appengine.api.memcached`_ + * - MongoDB + - pymongo_ + * - DynamoDB + - boto3_ + + + .. _redis-py: https://github.com/andymccurdy/redis-py .. _pylibmc: http://sendapatch.se/projects/pylibmc/ .. _python-memcached: https://github.com/linsomniac/python-memcached .. _pymemcache: https://github.com/pinterest/pymemcache -.. _pymongo: http://api.mongodb.org/python/current/index.html -.. _Flask-SQLAlchemy: https://github.com/pallets-eco/flask-sqlalchemy \ No newline at end of file +.. _pymongo: https://pymongo.readthedocs.io/en/stable +.. _Flask-SQLAlchemy: https://github.com/pallets-eco/flask-sqlalchemy +.. _cachelib: https://cachelib.readthedocs.io/en/stable/ +.. _google.appengine.api.memcached: https://cloud.google.com/appengine/docs/legacy/standard/python/memcache +.. _boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html +.. _libmc: https://github.com/douban/libmc +.. _uwsgi: https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html +.. _pickle: https://docs.python.org/3/library/pickle \ No newline at end of file diff --git a/docs/quickstart.rst b/docs/usage.rst similarity index 50% rename from docs/quickstart.rst rename to docs/usage.rst index 447a76e9..66bb7ba2 100644 --- a/docs/quickstart.rst +++ b/docs/usage.rst @@ -1,6 +1,9 @@ -Quick Start +Usage =========== +Quickstart +----------- + .. currentmodule:: flask_session @@ -11,7 +14,7 @@ then create the :class:`Session` object by passing it the application. You can not use ``Session`` instance directly, what ``Session`` does is just change the :attr:`~flask.Flask.session_interface` attribute on - your Flask applications. You should always use :class:`flask.session`. + your Flask applications. You should always use :class:`flask.session` when accessing the current session. .. code-block:: python @@ -19,7 +22,7 @@ then create the :class:`Session` object by passing it the application. from flask_session import Session app = Flask(__name__) - # Check Configuration section for more details + SESSION_TYPE = 'redis' app.config.from_object(__name__) Session(app) @@ -33,10 +36,32 @@ then create the :class:`Session` object by passing it the application. def get(): return session.get('key', 'not set') -You may also set up your application later using :meth:`~Session.init_app` -method. +This would automatically setup a redis client connected to `localhost:6379` and use it to store the session data. -.. code-block:: python +See the `configuration section `_ for more details. +Alternative initialization +--------------------------- + +Rather than calling `Session(app)`, you may initialize later using :meth:`~Session.init_app`. + +.. code-block:: python + sess = Session() sess.init_app(app) + +Or, if you prefer to directly set parameters rather than using the configuration constants, you can initialize by setting the interface constructor directly to the :attr:`session_interface`. + +.. code-block:: python + + from flask_session.implementations.redis import RedisSessionInterface + + ... + + redis = Redis( + host='localhost', + port=6379, + ) + app.session_interface = RedisSessionInterface( + client=redis, + ) \ No newline at end of file diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index c031f8ac..93aa5a0d 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -1,11 +1,4 @@ from .defaults import Defaults -from .sessions import ( - FileSystemSessionInterface, - MemcachedSessionInterface, - MongoDBSessionInterface, - RedisSessionInterface, - SqlAlchemySessionInterface, -) __version__ = "0.6.0rc1" @@ -14,6 +7,8 @@ class Session: """This class is used to add Server-side Session to one or more Flask applications. + :param app: A Flask app instance. + For a typical setup use the following initialization:: app = Flask(__name__) @@ -50,10 +45,11 @@ def _get_interface(self, app): # Flask-session specific settings SESSION_TYPE = config.get("SESSION_TYPE", Defaults.SESSION_TYPE) + SESSION_PERMANENT = config.get("SESSION_PERMANENT", Defaults.SESSION_PERMANENT) SESSION_USE_SIGNER = config.get( "SESSION_USE_SIGNER", Defaults.SESSION_USE_SIGNER - ) + ) # TODO: remove in 1.0 SESSION_KEY_PREFIX = config.get( "SESSION_KEY_PREFIX", Defaults.SESSION_KEY_PREFIX ) @@ -70,7 +66,11 @@ def _get_interface(self, app): # Memcached settings SESSION_MEMCACHED = config.get("SESSION_MEMCACHED", Defaults.SESSION_MEMCACHED) + # CacheLib settings + SESSION_CACHELIB = config.get("SESSION_CACHELIB", Defaults.SESSION_CACHELIB) + # Filesystem settings + # TODO: remove in 1.0 SESSION_FILE_DIR = config.get("SESSION_FILE_DIR", Defaults.SESSION_FILE_DIR) SESSION_FILE_THRESHOLD = config.get( "SESSION_FILE_THRESHOLD", Defaults.SESSION_FILE_THRESHOLD @@ -107,7 +107,6 @@ def _get_interface(self, app): ) common_params = { - "app": app, "key_prefix": SESSION_KEY_PREFIX, "use_signer": SESSION_USE_SIGNER, "permanent": SESSION_PERMANENT, @@ -116,23 +115,37 @@ def _get_interface(self, app): } if SESSION_TYPE == "redis": + from .redis import RedisSessionInterface + session_interface = RedisSessionInterface( **common_params, - redis=SESSION_REDIS, + client=SESSION_REDIS, ) elif SESSION_TYPE == "memcached": + from .memcached import MemcachedSessionInterface + session_interface = MemcachedSessionInterface( **common_params, client=SESSION_MEMCACHED, ) elif SESSION_TYPE == "filesystem": + from .filesystem import FileSystemSessionInterface + session_interface = FileSystemSessionInterface( **common_params, cache_dir=SESSION_FILE_DIR, threshold=SESSION_FILE_THRESHOLD, mode=SESSION_FILE_MODE, ) + elif SESSION_TYPE == "cachelib": + from .cachelib import CacheLibSessionInterface + + session_interface = CacheLibSessionInterface( + **common_params, client=SESSION_CACHELIB + ) elif SESSION_TYPE == "mongodb": + from .mongodb import MongoDBSessionInterface + session_interface = MongoDBSessionInterface( **common_params, client=SESSION_MONGODB, @@ -140,9 +153,12 @@ def _get_interface(self, app): collection=SESSION_MONGODB_COLLECT, ) elif SESSION_TYPE == "sqlalchemy": + from .sqlalchemy import SqlAlchemySessionInterface + session_interface = SqlAlchemySessionInterface( + app=app, **common_params, - db=SESSION_SQLALCHEMY, + client=SESSION_SQLALCHEMY, table=SESSION_SQLALCHEMY_TABLE, sequence=SESSION_SQLALCHEMY_SEQUENCE, schema=SESSION_SQLALCHEMY_SCHEMA, diff --git a/src/flask_session/_utils.py b/src/flask_session/_utils.py index 9967fa10..cd7f6855 100644 --- a/src/flask_session/_utils.py +++ b/src/flask_session/_utils.py @@ -21,6 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ + import time from functools import wraps from typing import Any, Callable @@ -28,6 +29,10 @@ from flask import current_app +def total_seconds(timedelta): + return int(timedelta.total_seconds()) + + def retry_query( *, max_attempts: int = 3, delay: float = 0.3, backoff: int = 2 ) -> Callable[..., Any]: diff --git a/src/flask_session/base.py b/src/flask_session/base.py new file mode 100644 index 00000000..e3853815 --- /dev/null +++ b/src/flask_session/base.py @@ -0,0 +1,310 @@ +import secrets +import warnings +from abc import ABC, abstractmethod +from contextlib import suppress + +try: + import cPickle as pickle +except ImportError: + import pickle + +import random +from datetime import timedelta as TimeDelta +from typing import Any, Optional + +import msgspec +from flask import Flask, Request, Response +from flask.sessions import SessionInterface as FlaskSessionInterface +from flask.sessions import SessionMixin +from itsdangerous import BadSignature, Signer, want_bytes +from werkzeug.datastructures import CallbackDict + +from ._utils import retry_query +from .defaults import Defaults + + +class ServerSideSession(CallbackDict, SessionMixin): + """Baseclass for server-side based sessions. This can be accessed through ``flask.session``. + + .. attribute:: sid + + Session id, internally we use :func:`secrets.token_urlsafe` to generate one + session id. + + .. attribute:: modified + + When data is changed, this is set to ``True``. Only the session dictionary + itself is tracked; if the session contains mutable data (for example a nested + dict) then this must be set to ``True`` manually when modifying that data. The + session cookie will only be written to the response if this is ``True``. + + Default is ``False``. + + .. attribute:: permanent + + This sets and reflects the ``'_permanent'`` key in the dict. + + Default is ``False``. + + """ + + def __bool__(self) -> bool: + return bool(dict(self)) and self.keys() != {"_permanent"} + + def __init__( + self, + initial: Optional[dict[str, Any]] = None, + sid: Optional[str] = None, + permanent: Optional[bool] = None, + ): + def on_update(self) -> None: + self.modified = True + + CallbackDict.__init__(self, initial, on_update) + self.sid = sid + if permanent: + self.permanent = permanent + self.modified = False + + +class Serializer(ABC): + """Baseclass for session serialization.""" + + @abstractmethod + def decode(self, serialized_data: bytes) -> dict: + """Deserialize the session data.""" + raise NotImplementedError() + + @abstractmethod + def encode(self, session: ServerSideSession) -> bytes: + """Serialize the session data.""" + raise NotImplementedError() + + +class MsgSpecSerializer(Serializer): + def __init__(self, app: Flask, format: str): + self.app = app + if format == "msgpack": + self.encoder = msgspec.msgpack.Encoder() + self.decoder = msgspec.msgpack.Decoder() + elif format == "json": + self.encoder = msgspec.json.Encoder() + self.decoder = msgspec.json.Decoder() + else: + raise ValueError(f"Unsupported serialization format: {format}") + + def encode(self, session: ServerSideSession) -> bytes: + """Serialize the session data.""" + try: + return self.encoder.encode(dict(session)) + except Exception as e: + self.app.logger.error(f"Failed to serialize session data: {e}") + raise + + def decode(self, serialized_data: bytes) -> dict: + """Deserialize the session data.""" + # TODO: Remove the pickle fallback in 1.0.0 + with suppress(msgspec.DecodeError): + return self.decoder.decode(serialized_data) + with suppress(msgspec.DecodeError): + return self.alternate_decoder.decode(serialized_data) + with suppress(msgspec.DecodeError): + return pickle.loads(serialized_data) + # If all decoders fail, raise the final exception + self.app.logger.error("Failed to deserialize session data", exc_info=True) + raise pickle.UnpicklingError("Failed to deserialize session data") + + +class ServerSideSessionInterface(FlaskSessionInterface, ABC): + """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" + + session_class = ServerSideSession + serializer = None + ttl = True + + def __init__( + self, + app: Optional[Flask], + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, + ): + self.app = app + self.key_prefix = key_prefix + self.use_signer = use_signer + if use_signer: + warnings.warn( + "The 'use_signer' option is deprecated and will be removed in the next minor release. " + "Please update your configuration accordingly or open an issue.", + DeprecationWarning, + stacklevel=1, + ) + self.permanent = permanent + self.sid_length = sid_length + self.has_same_site_capability = hasattr(self, "get_cookie_samesite") + self.cleanup_n_requests = cleanup_n_requests + + # Cleanup settings for non-TTL databases only + if getattr(self, "ttl", None) is False: + if self.cleanup_n_requests: + self.app.before_request(self._cleanup_n_requests) + else: + self._register_cleanup_app_command() + + # Set the serialization format + self.serializer = MsgSpecSerializer(format=serialization_format, app=app) + + # INTERNAL METHODS + + def _generate_sid(self, session_id_length: int) -> str: + """Generate a random session id.""" + return secrets.token_urlsafe(session_id_length) + + # TODO: Remove in 1.0.0 + def _get_signer(self, app: Flask) -> Signer: + if not hasattr(app, "secret_key") or not app.secret_key: + raise KeyError("SECRET_KEY must be set when SESSION_USE_SIGNER=True") + return Signer(app.secret_key, salt="flask-session", key_derivation="hmac") + + # TODO: Remove in 1.0.0 + def _unsign(self, app, sid: str) -> str: + signer = self._get_signer(app) + sid_as_bytes = signer.unsign(sid) + sid = sid_as_bytes.decode() + return sid + + # TODO: Remove in 1.0.0 + def _sign(self, app, sid: str) -> str: + signer = self._get_signer(app) + sid_as_bytes = want_bytes(sid) + return signer.sign(sid_as_bytes).decode("utf-8") + + def _get_store_id(self, sid: str) -> str: + return self.key_prefix + sid + + # CLEANUP METHODS FOR NON TTL DATABASES + + def _register_cleanup_app_command(self): + """ + Register a custom Flask CLI command for cleaning up expired sessions. + + Run the command with `flask session_cleanup`. Run with a cron job + or scheduler such as Heroku Scheduler to automatically clean up expired sessions. + """ + + @self.app.cli.command("session_cleanup") + def session_cleanup(): + with self.app.app_context(): + self._delete_expired_sessions() + + def _cleanup_n_requests(self) -> None: + """ + Delete expired sessions on average every N requests. + + This is less desirable than using the scheduled app command cleanup as it may + slow down some requests but may be useful for rapid development. + """ + if self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0: + self._delete_expired_sessions() + + # METHODS OVERRIDE FLASK SESSION INTERFACE + + def save_session( + self, app: Flask, session: ServerSideSession, response: Response + ) -> None: + if not self.should_set_cookie(app, session): + return + + # Get the domain and path for the cookie from the app + domain = self.get_cookie_domain(app) + path = self.get_cookie_path(app) + + # Generate a prefixed session id + store_id = self._get_store_id(session.sid) + + # If the session is empty, do not save it to the database or set a cookie + if not session: + # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie + if session.modified: + self._delete_session(store_id) + response.delete_cookie( + app.config["SESSION_COOKIE_NAME"], domain=domain, path=path + ) + response.vary.add("Cookie") + return + + # Update existing or create new session in the database + self._upsert_session(app.permanent_session_lifetime, session, store_id) + + # Set the browser cookie + response.set_cookie( + key=app.config["SESSION_COOKIE_NAME"], + value=self._sign(app, session.sid) if self.use_signer else session.sid, + expires=self.get_expiration_time(app, session), + httponly=self.get_cookie_httponly(app), + domain=self.get_cookie_domain(app), + path=self.get_cookie_path(app), + secure=self.get_cookie_secure(app), + samesite=( + self.get_cookie_samesite(app) if self.has_same_site_capability else None + ), + ) + response.vary.add("Cookie") + + def open_session(self, app: Flask, request: Request) -> ServerSideSession: + # Get the session ID from the cookie + sid = request.cookies.get(app.config["SESSION_COOKIE_NAME"]) + + # If there's no session ID, generate a new one + if not sid: + sid = self._generate_sid(self.sid_length) + return self.session_class(sid=sid, permanent=self.permanent) + # If the session ID is signed, unsign it + if self.use_signer: + try: + sid = self._unsign(app, sid) + except BadSignature: + sid = self._generate_sid(self.sid_length) + return self.session_class(sid=sid, permanent=self.permanent) + + # Retrieve the session data from the database + store_id = self._get_store_id(sid) + saved_session_data = self._retrieve_session_data(store_id) + + # If the saved session exists, load the session data from the document + if saved_session_data is not None: + return self.session_class(saved_session_data, sid=sid) + + # If the saved session does not exist, create a new session + sid = self._generate_sid(self.sid_length) + return self.session_class(sid=sid, permanent=self.permanent) + + # METHODS TO BE IMPLEMENTED BY SUBCLASSES + + @abstractmethod + @retry_query() # use only when retry not supported directly by the client + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + """Get the saved session from the session storage.""" + raise NotImplementedError() + + @abstractmethod + @retry_query() # use only when retry not supported directly by the client + def _delete_session(self, store_id: str) -> None: + """Delete session from the session storage.""" + raise NotImplementedError() + + @abstractmethod + @retry_query() # use only when retry not supported directly by the client + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + """Update existing or create new session in the session storage.""" + raise NotImplementedError() + + @retry_query() # use only when retry not supported directly by the client + def _delete_expired_sessions(self) -> None: + """Delete expired sessions from the session storage. Only required for non-TTL databases.""" + pass diff --git a/src/flask_session/cachelib/__init__.py b/src/flask_session/cachelib/__init__.py new file mode 100644 index 00000000..959c5d5d --- /dev/null +++ b/src/flask_session/cachelib/__init__.py @@ -0,0 +1 @@ +from .cachelib import CacheLibSessionInterface, CacheLibSession diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py new file mode 100644 index 00000000..62335391 --- /dev/null +++ b/src/flask_session/cachelib/cachelib.py @@ -0,0 +1,68 @@ +from datetime import timedelta as TimeDelta +from typing import Optional + +from flask import Flask +from .._utils import total_seconds +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface +from cachelib.file import FileSystemCache +import warnings + + +class CacheLibSession(ServerSideSession): + pass + + +class CacheLibSessionInterface(ServerSideSessionInterface): + """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 store 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. + """ + + session_class = CacheLibSession + ttl = True + + def __init__( + self, + client: Optional[FileSystemCache] = Defaults.SESSION_CACHELIB, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + ): + + if client is None: + client = FileSystemCache("flask_session", threshold=500) + self.cache = client + + super().__init__( + None, key_prefix, use_signer, permanent, sid_length, serialization_format + ) + + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (item) from the database + return self.cache.get(store_id) + + def _delete_session(self, store_id: str) -> None: + self.cache.delete(store_id) + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) + + # Serialize the session data (or just cast into dictionary in this case) + session_data = dict(session) + + # Update existing or create new session in the database + self.cache.set( + key=store_id, + value=session_data, + timeout=storage_time_to_live, + ) diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index 1df76711..ef968e4f 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -19,7 +19,11 @@ class Defaults: # Memcached settings SESSION_MEMCACHED = None + # CacheLib settings + SESSION_CACHELIB = None + # Filesystem settings + # TODO: remove in 1.0 SESSION_FILE_DIR = os.path.join(os.getcwd(), "flask_session") SESSION_FILE_THRESHOLD = 500 SESSION_FILE_MODE = 384 diff --git a/src/flask_session/filesystem/__init__.py b/src/flask_session/filesystem/__init__.py new file mode 100644 index 00000000..79792687 --- /dev/null +++ b/src/flask_session/filesystem/__init__.py @@ -0,0 +1 @@ +from .filesystem import FileSystemSessionInterface, FileSystemSession diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py new file mode 100644 index 00000000..6cf1b392 --- /dev/null +++ b/src/flask_session/filesystem/filesystem.py @@ -0,0 +1,101 @@ +from datetime import timedelta as TimeDelta +from typing import Optional + +from flask import Flask +from .._utils import total_seconds +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface +from cachelib.file import FileSystemCache +import warnings + + +class FileSystemSession(ServerSideSession): + pass + + +class FileSystemSessionInterface(ServerSideSessionInterface): + """Uses the :class:`cachelib.file.FileSystemCache` as a session storage. + + :param key_prefix: A prefix that is added to FileSystemCache store 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. + :param cache_dir: the directory where session files are stored. + :param threshold: the maximum number of items the session stores before it + :param mode: the file mode wanted for the session files, default 0600 + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. + + .. versionadded:: 0.6 + The `sid_length` parameter was added. + + .. versionadded:: 0.2 + The `use_signer` parameter was added. + """ + + session_class = FileSystemSession + ttl = True + + def __init__( + self, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + cache_dir: str = Defaults.SESSION_FILE_DIR, + threshold: int = Defaults.SESSION_FILE_THRESHOLD, + mode: int = Defaults.SESSION_FILE_MODE, + ): + + # Deprecation warnings + if cache_dir != Defaults.SESSION_FILE_DIR: + warnings.warn( + "'SESSION_FILE_DIR' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CACHELIB.", + DeprecationWarning, + stacklevel=2, + ) + if threshold != Defaults.SESSION_FILE_THRESHOLD: + warnings.warn( + "'SESSION_FILE_THRESHOLD' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CLIENT.", + DeprecationWarning, + stacklevel=2, + ) + if mode != Defaults.SESSION_FILE_MODE: + warnings.warn( + "'SESSION_FILE_MODE' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CLIENT.", + DeprecationWarning, + stacklevel=2, + ) + + self.cache = FileSystemCache( + cache_dir=cache_dir, threshold=threshold, mode=mode + ) + + super().__init__( + None, key_prefix, use_signer, permanent, sid_length, serialization_format + ) + + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (item) from the database + return self.cache.get(store_id) + + def _delete_session(self, store_id: str) -> None: + self.cache.delete(store_id) + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) + + # Serialize the session data (or just cast into dictionary in this case) + session_data = dict(session) + + # Update existing or create new session in the database + self.cache.set( + key=store_id, + value=session_data, + timeout=storage_time_to_live, + ) diff --git a/src/flask_session/memcached/__init__.py b/src/flask_session/memcached/__init__.py new file mode 100644 index 00000000..9ca54ee1 --- /dev/null +++ b/src/flask_session/memcached/__init__.py @@ -0,0 +1 @@ +from .memcached import MemcachedSessionInterface, MemcachedSession diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py new file mode 100644 index 00000000..edbf0b63 --- /dev/null +++ b/src/flask_session/memcached/memcached.py @@ -0,0 +1,114 @@ +from datetime import timedelta as TimeDelta +from typing import Any, Optional + +import msgspec +import time +from flask import Flask +from .._utils import total_seconds +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface +from typing import Protocol, Optional, Any + + +class MemcacheClientProtocol(Protocol): + def get(self, key: str) -> Optional[Any]: ... + def set(self, key: str, value: Any, timeout: int) -> bool: ... + def delete(self, key: str) -> bool: ... + + +class MemcachedSession(ServerSideSession): + pass + + +class MemcachedSessionInterface(ServerSideSessionInterface): + """A Session interface that uses memcached as session storage. (`pylibmc`, `libmc`, `python-memcached` or `pymemcache` required) + + :param client: A ``memcache.Client`` instance. + :param key_prefix: A prefix that is added to all Memcached store 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. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. + + .. versionadded:: 0.6 + The `sid_length` parameter was added. + + .. versionadded:: 0.2 + The `use_signer` parameter was added. + """ + + serializer = ServerSideSessionInterface.serializer + session_class = MemcachedSession + ttl = True + + def __init__( + self, + client: Optional[MemcacheClientProtocol] = Defaults.SESSION_MEMCACHED, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + ): + if client is None: + client = self._get_preferred_memcache_client() + self.client = client + super().__init__( + None, key_prefix, use_signer, permanent, sid_length, serialization_format + ) + + def _get_preferred_memcache_client(self): + clients = [ + ("pylibmc", ["127.0.0.1:11211"]), + ("memcache", ["127.0.0.1:11211"]), # python-memcached + ("pymemcache.client.base", "127.0.0.1:11211"), + ("libmc", ["localhost:11211"]), + ] + + for module_name, server in clients: + try: + module = __import__(module_name) + ClientClass = module.Client + return ClientClass(server) + except ImportError: + continue + + raise ImportError("No memcache module found") + + def _get_memcache_timeout(self, timeout: int) -> int: + """ + Memcached deals with long (> 30 days) timeouts in a special + way. Call this function to obtain a safe value for your timeout. + """ + if timeout > 2592000: # 60*60*24*30, 30 days + # Switch to absolute timestamps. + timeout += int(time.time()) + return timeout + + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (item) from the database + serialized_session_data = self.client.get(store_id) + if serialized_session_data: + return self.serializer.decode(serialized_session_data) + return None + + def _delete_session(self, store_id: str) -> None: + self.client.delete(store_id) + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) + + # Serialize the session data + serialized_session_data = self.serializer.encode(session) + + # Update existing or create new session in the database + self.client.set( + store_id, + serialized_session_data, + self._get_memcache_timeout(storage_time_to_live), + ) diff --git a/src/flask_session/mongodb/__init__.py b/src/flask_session/mongodb/__init__.py new file mode 100644 index 00000000..1a003df7 --- /dev/null +++ b/src/flask_session/mongodb/__init__.py @@ -0,0 +1 @@ +from .mongodb import MongoDBSessionInterface, MongoDBSession diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py new file mode 100644 index 00000000..52dfddcf --- /dev/null +++ b/src/flask_session/mongodb/mongodb.py @@ -0,0 +1,113 @@ +from datetime import datetime +from datetime import timedelta as TimeDelta +from typing import Any, Optional + +import msgspec +from flask import Flask +from itsdangerous import want_bytes +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface + +from pymongo import MongoClient, version + + +class MongoDBSession(ServerSideSession): + pass + + +class MongoDBSessionInterface(ServerSideSessionInterface): + """A Session interface that uses mongodb as session storage. (`pymongo` required) + + :param client: A ``pymongo.MongoClient`` instance. + :param key_prefix: A prefix that is added to all MongoDB store 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. + :param db: The database you want to use. + :param collection: The collection you want to use. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. + + .. versionadded:: 0.6 + The `sid_length` parameter was added. + + .. versionadded:: 0.2 + The `use_signer` parameter was added. + """ + + session_class = MongoDBSession + ttl = True + + def __init__( + self, + client: Optional[MongoClient] = Defaults.SESSION_MONGODB, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + db: str = Defaults.SESSION_MONGODB_DB, + collection: str = Defaults.SESSION_MONGODB_COLLECT, + ): + + if client is None: + client = MongoClient() + + self.client = client + self.store = client[db][collection] + self.use_deprecated_method = int(version.split(".")[0]) < 4 + + # Create a TTL index on the expiration time, so that mongo can automatically delete expired sessions + self.store.create_index("expiration", expireAfterSeconds=0) + + super().__init__( + None, key_prefix, use_signer, permanent, sid_length, serialization_format + ) + + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (document) from the database + document = self.store.find_one({"id": store_id}) + if document: + serialized_session_data = want_bytes(document["val"]) + return self.serializer.decode(serialized_session_data) + return None + + def _delete_session(self, store_id: str) -> None: + if self.use_deprecated_method: + self.store.remove({"id": store_id}) + else: + self.store.delete_one({"id": store_id}) + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_expiration_datetime = datetime.utcnow() + session_lifetime + + # Serialize the session data + serialized_session_data = self.serializer.encode(session) + + # Update existing or create new session in the database + if self.use_deprecated_method: + self.store.update( + {"id": store_id}, + { + "id": store_id, + "val": serialized_session_data, + "expiration": storage_expiration_datetime, + }, + True, + ) + else: + self.store.update_one( + {"id": store_id}, + { + "$set": { + "id": store_id, + "val": serialized_session_data, + "expiration": storage_expiration_datetime, + } + }, + True, + ) diff --git a/src/flask_session/redis/__init__.py b/src/flask_session/redis/__init__.py new file mode 100644 index 00000000..8c9f2a9e --- /dev/null +++ b/src/flask_session/redis/__init__.py @@ -0,0 +1 @@ +from .redis import RedisSessionInterface, RedisSession diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py new file mode 100644 index 00000000..9833fded --- /dev/null +++ b/src/flask_session/redis/redis.py @@ -0,0 +1,79 @@ +from datetime import timedelta as TimeDelta +from typing import Any, Optional + +import msgspec + +from flask import Flask +from .._utils import total_seconds +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface +from redis import Redis + + +class RedisSession(ServerSideSession): + pass + + +class RedisSessionInterface(ServerSideSessionInterface): + """Uses the Redis key-value store as a session storage. (`redis-py` required) + + :param client: A ``redis.Redis`` instance. + :param key_prefix: A prefix that is added to all Redis store 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. + + .. versionadded:: 0.7 + The `serialization_format` and `app` parameters were added. + + .. versionadded:: 0.6 + The `sid_length` parameter was added. + + .. versionadded:: 0.2 + The `use_signer` parameter was added. + """ + + session_class = RedisSession + ttl = True + + def __init__( + self, + client: Optional[Redis] = Defaults.SESSION_REDIS, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + ): + if client is None: + client = Redis() + self.client = client + super().__init__( + None, key_prefix, use_signer, permanent, sid_length, serialization_format + ) + + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (value) from the database + serialized_session_data = self.client.get(store_id) + if serialized_session_data: + return self.serializer.decode(serialized_session_data) + return None + + def _delete_session(self, store_id: str) -> None: + self.client.delete(store_id) + + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_time_to_live = total_seconds(session_lifetime) + + # Serialize the session data + serialized_session_data = self.serializer.encode(session) + + # Update existing or create new session in the database + self.client.set( + name=store_id, + value=serialized_session_data, + ex=storage_time_to_live, + ) diff --git a/src/flask_session/sessions.py b/src/flask_session/sessions.py deleted file mode 100644 index 8182bed5..00000000 --- a/src/flask_session/sessions.py +++ /dev/null @@ -1,827 +0,0 @@ -import secrets -import time -import warnings -from abc import ABC -from contextlib import suppress - -try: - import cPickle as pickle -except ImportError: - import pickle - -import random -from datetime import datetime -from datetime import timedelta as TimeDelta -from typing import Any, Optional - -import msgspec -from flask import Flask, Request, Response -from flask.sessions import SessionInterface as FlaskSessionInterface -from flask.sessions import SessionMixin -from itsdangerous import BadSignature, Signer, want_bytes -from werkzeug.datastructures import CallbackDict - -from ._utils import retry_query -from .defaults import Defaults - - -def total_seconds(timedelta): - return int(timedelta.total_seconds()) - - -class ServerSideSession(CallbackDict, SessionMixin): - """Baseclass for server-side based sessions. This can be accessed through ``flask.session``. - - .. attribute:: sid - - Session id, internally we use :func:`secrets.token_urlsafe` to generate one - session id. - - .. attribute:: modified - - When data is changed, this is set to ``True``. Only the session dictionary - itself is tracked; if the session contains mutable data (for example a nested - dict) then this must be set to ``True`` manually when modifying that data. The - session cookie will only be written to the response if this is ``True``. - - Default is ``False``. - - .. attribute:: permanent - - This sets and reflects the ``'_permanent'`` key in the dict. - - Default is ``False``. - - """ - - def __bool__(self) -> bool: - return bool(dict(self)) and self.keys() != {"_permanent"} - - def __init__( - self, - initial: Optional[dict[str, Any]] = None, - sid: Optional[str] = None, - permanent: Optional[bool] = None, - ): - def on_update(self) -> None: - self.modified = True - - CallbackDict.__init__(self, initial, on_update) - self.sid = sid - if permanent: - self.permanent = permanent - self.modified = False - - -class RedisSession(ServerSideSession): - pass - - -class MemcachedSession(ServerSideSession): - pass - - -class FileSystemSession(ServerSideSession): - pass - - -class MongoDBSession(ServerSideSession): - pass - - -class SqlAlchemySession(ServerSideSession): - pass - - -class SessionInterface(FlaskSessionInterface): - def _generate_sid(self, session_id_length: int) -> str: - return secrets.token_urlsafe(session_id_length) - - def __get_signer(self, app: Flask) -> Signer: - if not hasattr(app, "secret_key") or not app.secret_key: - raise KeyError("SECRET_KEY must be set when SESSION_USE_SIGNER=True") - return Signer(app.secret_key, salt="flask-session", key_derivation="hmac") - - def _unsign(self, app, sid: str) -> str: - signer = self.__get_signer(app) - sid_as_bytes = signer.unsign(sid) - sid = sid_as_bytes.decode() - return sid - - def _sign(self, app, sid: str) -> str: - signer = self.__get_signer(app) - sid_as_bytes = want_bytes(sid) - return signer.sign(sid_as_bytes).decode("utf-8") - - def _serialize(self, session: ServerSideSession) -> bytes: - return self.encoder.encode(dict(session)) - - def _deserialize(self, serialized_data): - with suppress(msgspec.DecodeError): - return self.decoder.decode(serialized_data) - with suppress(msgspec.DecodeError): - return self.alternate_decoder.decode(serialized_data) - with suppress(msgspec.DecodeError): - return pickle.loads(serialized_data) - # If all decoders fail, raise the original exception - raise pickle.UnpicklingError("Failed to deserialize session data") - - def _get_store_id(self, sid: str) -> str: - return self.key_prefix + sid - - -class ServerSideSessionInterface(SessionInterface, ABC): - """Used to open a :class:`flask.sessions.ServerSideSessionInterface` instance.""" - - session_class = ServerSideSession - serializer = None - ttl = True - - def __init__( - self, - app: Flask, - key_prefix: str = Defaults.SESSION_KEY_PREFIX, - use_signer: bool = Defaults.SESSION_USE_SIGNER, - permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, - serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, - cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, - ): - self.app = app - self.key_prefix = key_prefix - self.use_signer = use_signer - if use_signer: - warnings.warn( - "The 'use_signer' option is deprecated and will be removed in the next minor release. " - "Please update your configuration accordingly or open an issue.", - DeprecationWarning, - stacklevel=1, - ) - self.permanent = permanent - self.sid_length = sid_length - self.has_same_site_capability = hasattr(self, "get_cookie_samesite") - self.cleanup_n_requests = cleanup_n_requests - - # Cleanup settings for non-TTL databases only - if getattr(self, "ttl", None) is False: - if self.cleanup_n_requests: - self.app.before_request(self._cleanup_n_requests) - else: - self._register_cleanup_app_command() - - # Set the serialization format - if serialization_format == "msgpack": - self.decoder = msgspec.msgpack.Decoder() - self.encoder = msgspec.msgpack.Encoder() - self.alternate_decoder = msgspec.json.Decoder() - elif serialization_format == "json": - self.decoder = msgspec.json.Decoder() - self.encoder = msgspec.json.Encoder() - self.alternate_decoder = msgspec.msgpack.Decoder() - else: - value = app.config.get("SESSION_SERIALIZATION_FORMAT") - raise ValueError( - f"Unrecognized value for SESSION_SERIALIZATION_FORMAT: {value}" - ) - - def save_session( - self, app: Flask, session: ServerSideSession, response: Response - ) -> None: - if not self.should_set_cookie(app, session): - return - - # Get the domain and path for the cookie from the app - domain = self.get_cookie_domain(app) - path = self.get_cookie_path(app) - - # Generate a prefixed session id - store_id = self._get_store_id(session.sid) - - # If the session is empty, do not save it to the database or set a cookie - if not session: - # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie - if session.modified: - self._delete_session(store_id) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) - response.vary.add("Cookie") - return - - # Update existing or create new session in the database - self._upsert_session(app.permanent_session_lifetime, session, store_id) - - # Set the browser cookie - response.set_cookie( - key=app.config["SESSION_COOKIE_NAME"], - value=self._sign(app, session.sid) if self.use_signer else session.sid, - expires=self.get_expiration_time(app, session), - httponly=self.get_cookie_httponly(app), - domain=self.get_cookie_domain(app), - path=self.get_cookie_path(app), - secure=self.get_cookie_secure(app), - samesite=( - self.get_cookie_samesite(app) if self.has_same_site_capability else None - ), - ) - response.vary.add("Cookie") - - def open_session(self, app: Flask, request: Request) -> ServerSideSession: - # Get the session ID from the cookie - sid = request.cookies.get(app.config["SESSION_COOKIE_NAME"]) - - # If there's no session ID, generate a new one - if not sid: - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - # If the session ID is signed, unsign it - if self.use_signer: - try: - sid = self._unsign(app, sid) - except BadSignature: - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - # Retrieve the session data from the database - store_id = self._get_store_id(sid) - saved_session_data = self._retrieve_session_data(store_id) - - # If the saved session exists, load the session data from the document - if saved_session_data is not None: - return self.session_class(saved_session_data, sid=sid) - - # If the saved session does not exist, create a new session - sid = self._generate_sid(self.sid_length) - return self.session_class(sid=sid, permanent=self.permanent) - - # CLEANUP METHODS FOR NON TTL DATABASES - - def _register_cleanup_app_command(self): - """ - Register a custom Flask CLI command for cleaning up expired sessions. - - Run the command with `flask session_cleanup`. Run with a cron job - or scheduler such as Heroku Scheduler to automatically clean up expired sessions. - """ - - @self.app.cli.command("session_cleanup") - def session_cleanup(): - with self.app.app_context(): - self._delete_expired_sessions() - - def _cleanup_n_requests(self) -> None: - """ - Delete expired sessions on average every N requests. - - This is less desirable than using the scheduled app command cleanup as it may - slow down some requests but may be useful for rapid development. - """ - if self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0: - self._delete_expired_sessions() - - # METHODS TO BE IMPLEMENTED BY SUBCLASSES - - @retry_query() - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - raise NotImplementedError() - - @retry_query() - def _delete_session(self, store_id: str) -> None: - raise NotImplementedError() - - @retry_query() - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - raise NotImplementedError() - - @retry_query() - def _delete_expired_sessions(self) -> None: - """Delete expired sessions from the session storage. Only required for non-TTL databases.""" - pass - - -class RedisSessionInterface(ServerSideSessionInterface): - """Uses the Redis key-value store as a session storage. (`redis-py` required) - - :param app: A Flask app instance. - :param key_prefix: A prefix that is added to all Redis store 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. - :param redis: A ``redis.Redis`` instance. - - .. versionadded:: 0.7 - The `serialization_format` and `app` parameters were added. - - .. versionadded:: 0.6 - The `sid_length` parameter was added. - - .. versionadded:: 0.2 - The `use_signer` parameter was added. - """ - - session_class = RedisSession - ttl = True - - def __init__( - self, - app: Flask, - key_prefix: str, - use_signer: bool, - permanent: bool, - sid_length: int, - serialization_format: str, - redis: Any = Defaults.SESSION_REDIS, - ): - if redis is None: - from redis import Redis - - redis = Redis() - self.redis = redis - super().__init__( - app, key_prefix, use_signer, permanent, sid_length, serialization_format - ) - - @retry_query() - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - # Get the saved session (value) from the database - serialized_session_data = self.redis.get(store_id) - if serialized_session_data: - try: - session_data = self._deserialize(serialized_session_data) - return session_data - except msgspec.DecodeError: - self.app.logger.error( - "Failed to deserialize session data", exc_info=True - ) - return None - - @retry_query() - def _delete_session(self, store_id: str) -> None: - self.redis.delete(store_id) - - @retry_query() - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - storage_time_to_live = total_seconds(session_lifetime) - - # Serialize the session data - serialized_session_data = self._serialize(dict(session)) - - # Update existing or create new session in the database - self.redis.set( - name=store_id, - value=serialized_session_data, - ex=storage_time_to_live, - ) - - -class MemcachedSessionInterface(ServerSideSessionInterface): - """A Session interface that uses memcached as session storage. (`pylibmc` or `python-memcached` or `pymemcache` required) - - :param app: A Flask app instance. - :param key_prefix: A prefix that is added to all Memcached store 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. - :param client: A ``memcache.Client`` instance. - - .. versionadded:: 0.7 - The `serialization_format` and `app` parameters were added. - - .. versionadded:: 0.6 - The `sid_length` parameter was added. - - .. versionadded:: 0.2 - The `use_signer` parameter was added. - """ - - session_class = MemcachedSession - ttl = True - - def __init__( - self, - app: Flask, - key_prefix: str, - use_signer: bool, - permanent: bool, - sid_length: int, - serialization_format: str, - client: Any = Defaults.SESSION_MEMCACHED, - ): - if client is None: - client = self._get_preferred_memcache_client() - self.client = client - super().__init__( - app, key_prefix, use_signer, permanent, sid_length, serialization_format - ) - - def _get_preferred_memcache_client(self): - clients = [ - ("pylibmc", ["127.0.0.1:11211"]), - ("memcache", ["127.0.0.1:11211"]), - ("pymemcache.client.base", "127.0.0.1:11211"), - ] - - for module_name, server in clients: - try: - module = __import__(module_name) - ClientClass = module.Client - return ClientClass(server) - except ImportError: - continue - - raise ImportError("No memcache module found") - - def _get_memcache_timeout(self, timeout: int) -> int: - """ - Memcached deals with long (> 30 days) timeouts in a special - way. Call this function to obtain a safe value for your timeout. - """ - if timeout > 2592000: # 60*60*24*30, 30 days - # Switch to absolute timestamps. - timeout += int(time.time()) - return timeout - - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - # Get the saved session (item) from the database - serialized_session_data = self.client.get(store_id) - if serialized_session_data: - try: - session_data = self._deserialize(serialized_session_data) - return session_data - except msgspec.DecodeError: - self.app.logger.error( - "Failed to deserialize session data", exc_info=True - ) - return None - - def _delete_session(self, store_id: str) -> None: - self.client.delete(store_id) - - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - storage_time_to_live = total_seconds(session_lifetime) - - # Serialize the session data - serialized_session_data = self._serialize(dict(session)) - - # Update existing or create new session in the database - self.client.set( - store_id, - serialized_session_data, - self._get_memcache_timeout(storage_time_to_live), - ) - - -class FileSystemSessionInterface(ServerSideSessionInterface): - """Uses the :class:`cachelib.file.FileSystemCache` as a session storage. - - :param app: A Flask app instance. - :param key_prefix: A prefix that is added to FileSystemCache store 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. - :param cache_dir: the directory where session files are stored. - :param threshold: the maximum number of items the session stores before it - :param mode: the file mode wanted for the session files, default 0600 - - .. versionadded:: 0.7 - The `serialization_format` and `app` parameters were added. - - .. versionadded:: 0.6 - The `sid_length` parameter was added. - - .. versionadded:: 0.2 - The `use_signer` parameter was added. - """ - - session_class = FileSystemSession - ttl = True - - def __init__( - self, - app: Flask, - key_prefix: str, - use_signer: bool, - permanent: bool, - sid_length: int, - serialization_format: str, - cache_dir: str = Defaults.SESSION_FILE_DIR, - threshold: int = Defaults.SESSION_FILE_THRESHOLD, - mode: int = Defaults.SESSION_FILE_MODE, - ): - from cachelib.file import FileSystemCache - - self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode) - super().__init__( - app, key_prefix, use_signer, permanent, sid_length, serialization_format - ) - - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - # Get the saved session (item) from the database - return self.cache.get(store_id) - - def _delete_session(self, store_id: str) -> None: - self.cache.delete(store_id) - - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - storage_time_to_live = total_seconds(session_lifetime) - - # Serialize the session data (or just cast into dictionary in this case) - session_data = dict(session) - - # Update existing or create new session in the database - self.cache.set( - key=store_id, - value=session_data, - timeout=storage_time_to_live, - ) - - -class MongoDBSessionInterface(ServerSideSessionInterface): - """A Session interface that uses mongodb as session storage. (`pymongo` required) - - :param app: A Flask app instance. - :param key_prefix: A prefix that is added to all MongoDB store 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. - :param client: A ``pymongo.MongoClient`` instance. - :param db: The database you want to use. - :param collection: The collection you want to use. - - .. versionadded:: 0.7 - The `serialization_format` and `app` parameters were added. - - .. versionadded:: 0.6 - The `sid_length` parameter was added. - - .. versionadded:: 0.2 - The `use_signer` parameter was added. - """ - - session_class = MongoDBSession - ttl = True - - def __init__( - self, - app: Flask, - key_prefix: str, - use_signer: bool, - permanent: bool, - sid_length: int, - serialization_format: str, - client: Any = Defaults.SESSION_MONGODB, - db: str = Defaults.SESSION_MONGODB_DB, - collection: str = Defaults.SESSION_MONGODB_COLLECT, - ): - import pymongo - - if client is None: - client = pymongo.MongoClient() - - self.client = client - self.store = client[db][collection] - self.use_deprecated_method = int(pymongo.version.split(".")[0]) < 4 - - # Create a TTL index on the expiration time, so that mongo can automatically delete expired sessions - self.store.create_index("expiration", expireAfterSeconds=0) - - super().__init__( - app, key_prefix, use_signer, permanent, sid_length, serialization_format - ) - - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - # Get the saved session (document) from the database - document = self.store.find_one({"id": store_id}) - if document: - serialized_session_data = want_bytes(document["val"]) - try: - session_data = self._deserialize(serialized_session_data) - return session_data - except msgspec.DecodeError: - self.app.logger.error( - "Failed to deserialize session data", exc_info=True - ) - return None - - def _delete_session(self, store_id: str) -> None: - if self.use_deprecated_method: - self.store.remove({"id": store_id}) - else: - self.store.delete_one({"id": store_id}) - - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - storage_expiration_datetime = datetime.utcnow() + session_lifetime - - # Serialize the session data - serialized_session_data = self._serialize(dict(session)) - - # Update existing or create new session in the database - if self.use_deprecated_method: - self.store.update( - {"id": store_id}, - { - "id": store_id, - "val": serialized_session_data, - "expiration": storage_expiration_datetime, - }, - True, - ) - else: - self.store.update_one( - {"id": store_id}, - { - "$set": { - "id": store_id, - "val": serialized_session_data, - "expiration": storage_expiration_datetime, - } - }, - True, - ) - - -class SqlAlchemySessionInterface(ServerSideSessionInterface): - """Uses the Flask-SQLAlchemy from a flask app as session storage. - - :param app: A Flask app instance. - :param key_prefix: A prefix that is added to all store 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. - :param db: A Flask-SQLAlchemy instance. - :param table: The table name you want to use. - :param sequence: The sequence to use for the primary key if needed. - :param schema: The db schema to use - :param bind_key: The db bind key to use - :param cleanup_n_requests: Delete expired sessions on average every N requests. - - .. versionadded:: 0.7 - The `cleanup_n_requests`, `app`, `cleanup_n_requests` parameters were added. - - .. versionadded:: 0.6 - The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. - - .. versionadded:: 0.2 - The `use_signer` parameter was added. - """ - - session_class = SqlAlchemySession - ttl = False - - def __init__( - self, - app: Flask, - key_prefix: str, - use_signer: bool, - permanent: bool, - sid_length: int, - serialization_format: str, - db: Any = Defaults.SESSION_SQLALCHEMY, - table: str = Defaults.SESSION_SQLALCHEMY_TABLE, - sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, - schema: Optional[str] = Defaults.SESSION_SQLALCHEMY_SCHEMA, - bind_key: Optional[str] = Defaults.SESSION_SQLALCHEMY_BIND_KEY, - cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, - ): - self.app = app - if db is None: - from flask_sqlalchemy import SQLAlchemy - - db = SQLAlchemy(app) - self.db = db - self.sequence = sequence - self.schema = schema - self.bind_key = bind_key - super().__init__( - app, - key_prefix, - use_signer, - permanent, - sid_length, - serialization_format, - cleanup_n_requests, - ) - - # Create the Session database model - class Session(self.db.Model): - __tablename__ = table - - if self.schema is not None: - __table_args__ = {"schema": self.schema, "keep_existing": True} - else: - __table_args__ = {"keep_existing": True} - - if self.bind_key is not None: - __bind_key__ = self.bind_key - - # Set the database columns, support for id sequences - if sequence: - id = self.db.Column( - self.db.Integer, self.db.Sequence(sequence), primary_key=True - ) - else: - id = self.db.Column(self.db.Integer, primary_key=True) - session_id = self.db.Column(self.db.String(255), unique=True) - data = self.db.Column(self.db.LargeBinary) - expiry = self.db.Column(self.db.DateTime) - - def __init__(self, session_id: str, data: Any, expiry: datetime): - self.session_id = session_id - self.data = data - self.expiry = expiry - - def __repr__(self): - return "" % self.data - - with app.app_context(): - self.db.create_all() - - self.sql_session_model = Session - - @retry_query() - def _delete_expired_sessions(self) -> None: - try: - self.db.session.query(self.sql_session_model).filter( - self.sql_session_model.expiry <= datetime.utcnow() - ).delete(synchronize_session=False) - self.db.session.commit() - except Exception: - self.db.session.rollback() - raise - - @retry_query() - def _retrieve_session_data(self, store_id: str) -> Optional[dict]: - # Get the saved session (record) from the database - record = self.sql_session_model.query.filter_by(session_id=store_id).first() - - # "Delete the session record if it is expired as SQL has no TTL ability - if record and (record.expiry is None or record.expiry <= datetime.utcnow()): - try: - self.db.session.delete(record) - self.db.session.commit() - except Exception: - self.db.session.rollback() - raise - record = None - - if record: - serialized_session_data = want_bytes(record.data) - try: - session_data = self._deserialize(serialized_session_data) - return session_data - except msgspec.DecodeError as e: - self.app.logger.exception( - e, "Failed to deserialize session data", exc_info=True - ) - return None - - @retry_query() - def _delete_session(self, store_id: str) -> None: - try: - self.sql_session_model.query.filter_by(session_id=store_id).delete() - self.db.session.commit() - except Exception: - self.db.session.rollback() - raise - - @retry_query() - def _upsert_session( - self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str - ) -> None: - storage_expiration_datetime = datetime.utcnow() + session_lifetime - - # Serialize session data - serialized_session_data = self._serialize(dict(session)) - - # Update existing or create new session in the database - try: - record = self.sql_session_model.query.filter_by(session_id=store_id).first() - if record: - record.data = serialized_session_data - record.expiry = storage_expiration_datetime - else: - record = self.sql_session_model( - session_id=store_id, - data=serialized_session_data, - expiry=storage_expiration_datetime, - ) - self.db.session.add(record) - self.db.session.commit() - except Exception: - self.db.session.rollback() - raise diff --git a/src/flask_session/sqlalchemy/__init__.py b/src/flask_session/sqlalchemy/__init__.py new file mode 100644 index 00000000..2344d3a6 --- /dev/null +++ b/src/flask_session/sqlalchemy/__init__.py @@ -0,0 +1 @@ +from .sqlalchemy import SqlAlchemySessionInterface, SqlAlchemySession diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py new file mode 100644 index 00000000..95888e66 --- /dev/null +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -0,0 +1,186 @@ +from datetime import datetime +from datetime import timedelta as TimeDelta +from typing import Any, Optional + +import msgspec +from flask import Flask +from itsdangerous import want_bytes + +from .._utils import retry_query +from ..defaults import Defaults +from ..base import ServerSideSession, ServerSideSessionInterface +from flask_sqlalchemy import SQLAlchemy +from sqlalchemy import Column, String, LargeBinary, DateTime, Integer, Sequence + + +class SqlAlchemySession(ServerSideSession): + pass + + +def create_session_model(db, table_name, schema=None, bind_key=None, sequence=None): + class Session(db.Model): + __tablename__ = table_name + __table_args__ = ( + {"schema": schema, "keep_existing": True} + if schema + else {"keep_existing": True} + ) + __bind_key__ = bind_key + + id = ( + Column(Integer, Sequence(sequence), primary_key=True) + if sequence + else Column(Integer, primary_key=True) + ) + session_id = Column(String(255), unique=True) + data = Column(LargeBinary) + expiry = Column(DateTime) + + def __init__(self, session_id: str, data: Any, expiry: datetime): + self.session_id = session_id + self.data = data + self.expiry = expiry + + def __repr__(self): + return f"" + + return Session + + +class SqlAlchemySessionInterface(ServerSideSessionInterface): + """Uses the Flask-SQLAlchemy from a flask app as session storage. + + :param app: A Flask app instance. + :param client: A Flask-SQLAlchemy instance. + :param key_prefix: A prefix that is added to all store 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. + :param table: The table name you want to use. + :param sequence: The sequence to use for the primary key if needed. + :param schema: The db schema to use + :param bind_key: The db bind key to use + :param cleanup_n_requests: Delete expired sessions on average every N requests. + + .. versionadded:: 1.0 + db changed to client to be standard on all session interfaces. + + .. versionadded:: 0.7 + The `cleanup_n_requests`, `app`, `cleanup_n_requests` parameters were added. + + .. versionadded:: 0.6 + The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. + + .. versionadded:: 0.2 + The `use_signer` parameter was added. + """ + + session_class = SqlAlchemySession + ttl = False + + def __init__( + self, + app: Optional[Flask], + client: Optional[SQLAlchemy] = Defaults.SESSION_SQLALCHEMY, + key_prefix: str = Defaults.SESSION_KEY_PREFIX, + use_signer: bool = Defaults.SESSION_USE_SIGNER, + permanent: bool = Defaults.SESSION_PERMANENT, + sid_length: int = Defaults.SESSION_SID_LENGTH, + serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, + table: str = Defaults.SESSION_SQLALCHEMY_TABLE, + sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, + schema: Optional[str] = Defaults.SESSION_SQLALCHEMY_SCHEMA, + bind_key: Optional[str] = Defaults.SESSION_SQLALCHEMY_BIND_KEY, + cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, + ): + self.app = app + + if client is None: + client = SQLAlchemy(app) + self.client = client + + # Create the session model + self.sql_session_model = create_session_model( + client, table, schema, bind_key, sequence + ) + # Create the table if it does not exist + with app.app_context(): + self.client.create_all() + + super().__init__( + app, + key_prefix, + use_signer, + permanent, + sid_length, + serialization_format, + cleanup_n_requests, + ) + + @retry_query() + def _delete_expired_sessions(self) -> None: + try: + self.client.session.query(self.sql_session_model).filter( + self.sql_session_model.expiry <= datetime.utcnow() + ).delete(synchronize_session=False) + self.client.session.commit() + except Exception: + self.client.session.rollback() + raise + + @retry_query() + def _retrieve_session_data(self, store_id: str) -> Optional[dict]: + # Get the saved session (record) from the database + record = self.sql_session_model.query.filter_by(session_id=store_id).first() + + # "Delete the session record if it is expired as SQL has no TTL ability + if record and (record.expiry is None or record.expiry <= datetime.utcnow()): + try: + self.client.session.delete(record) + self.client.session.commit() + except Exception: + self.client.session.rollback() + raise + record = None + + if record: + serialized_session_data = want_bytes(record.data) + return self.serializer.decode(serialized_session_data) + return None + + @retry_query() + def _delete_session(self, store_id: str) -> None: + try: + self.sql_session_model.query.filter_by(session_id=store_id).delete() + self.client.session.commit() + except Exception: + self.client.session.rollback() + raise + + @retry_query() + def _upsert_session( + self, session_lifetime: TimeDelta, session: ServerSideSession, store_id: str + ) -> None: + storage_expiration_datetime = datetime.utcnow() + session_lifetime + + # Serialize session data + serialized_session_data = self.serializer.encode(session) + + # Update existing or create new session in the database + try: + record = self.sql_session_model.query.filter_by(session_id=store_id).first() + if record: + record.data = serialized_session_data + record.expiry = storage_expiration_datetime + else: + record = self.sql_session_model( + session_id=store_id, + data=serialized_session_data, + expiry=storage_expiration_datetime, + ) + self.client.session.add(record) + self.client.session.commit() + except Exception: + self.client.session.rollback() + raise diff --git a/tests/test_basic.py b/tests/test_basic.py index 8a037322..1a904266 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -3,13 +3,6 @@ import pytest -def test_tot_seconds_func(): - import datetime - - td = datetime.timedelta(days=1) - assert flask_session.sessions.total_seconds(td) == 86400 - - def test_null_session(): """Invalid session should fail to get/set the flask session""" with pytest.raises(ValueError): diff --git a/tests/test_cachelib.py b/tests/test_cachelib.py new file mode 100644 index 00000000..0de0df29 --- /dev/null +++ b/tests/test_cachelib.py @@ -0,0 +1,29 @@ +import tempfile + +import flask +from flask_session.cachelib import CacheLibSession + + +class TestCachelibSession: + + def retrieve_stored_session(self, key, app): + return app.session_interface.cache.get(key) + + def test_filesystem_default(self, app_utils): + app = app_utils.create_app( + {"SESSION_TYPE": "cachelib", "SESSION_SERIALIZATION_FORMAT": "json"} + ) + + # Should be using FileSystem + with app.test_request_context(): + assert isinstance( + flask.session, + CacheLibSession, + ) + app_utils.test_session(app) + + # Check if the session is stored in the filesystem + cookie = app_utils.test_session_with_cookie(app) + session_id = cookie.split(";")[0].split("=")[1] + stored_session = self.retrieve_stored_session(f"session:{session_id}", app) + assert stored_session.get("value") == "44" diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index bcf5f458..be4a9c4b 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -1,7 +1,7 @@ import tempfile import flask -import flask_session +from flask_session.filesystem import FileSystemSession class TestFileSystemSession: @@ -16,7 +16,10 @@ def test_filesystem_default(self, app_utils): # Should be using FileSystem with app.test_request_context(): - assert isinstance(flask.session, flask_session.sessions.FileSystemSession) + assert isinstance( + flask.session, + FileSystemSession, + ) app_utils.test_session(app) # Check if the session is stored in the filesystem diff --git a/tests/test_memcached.py b/tests/test_memcached.py index 2e68b037..acd734c4 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -4,6 +4,7 @@ import flask import flask_session import memcache # Import the memcache library +from flask_session.memcached import MemcachedSession class TestMemcachedSession: @@ -28,7 +29,8 @@ def test_memcached_default(self, app_utils): with app.test_request_context(): assert isinstance( - flask.session, flask_session.sessions.MemcachedSession + flask.session, + MemcachedSession, ) app_utils.test_session(app) diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index d173f9db..12a57a21 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -2,9 +2,9 @@ from contextlib import contextmanager import flask -import flask_session from itsdangerous import want_bytes from pymongo import MongoClient +from flask_session.mongodb import MongoDBSession class TestMongoSession: @@ -24,7 +24,6 @@ def setup_mongo(self): def retrieve_stored_session(self, key): document = self.collection.find_one({"id": key}) - print(document) return want_bytes(document["val"]) def test_mongo_default(self, app_utils): @@ -37,7 +36,7 @@ def test_mongo_default(self, app_utils): ) with app.test_request_context(): - assert isinstance(flask.session, flask_session.sessions.MongoDBSession) + assert isinstance(flask.session, MongoDBSession) app_utils.test_session(app) # Check if the session is stored in MongoDB diff --git a/tests/test_redis.py b/tests/test_redis.py index 761e32c5..b92d04df 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -2,7 +2,7 @@ from contextlib import contextmanager import flask -import flask_session +from flask_session.redis import RedisSession from redis import Redis @@ -27,7 +27,7 @@ def test_redis_default(self, app_utils): app = app_utils.create_app({"SESSION_TYPE": "redis"}) with app.test_request_context(): - assert isinstance(flask.session, flask_session.sessions.RedisSession) + assert isinstance(flask.session, RedisSession) app_utils.test_session(app) # Check if the session is stored in Redis diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 48774331..049b62a9 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -2,7 +2,7 @@ from contextlib import contextmanager import flask -import flask_session +from flask_session.sqlalchemy import SqlAlchemySession from sqlalchemy import text @@ -12,16 +12,16 @@ class TestSQLAlchemy: @contextmanager def setup_sqlalchemy(self, app): try: - app.session_interface.db.session.execute(text("DELETE FROM sessions")) - app.session_interface.db.session.commit() + app.session_interface.client.session.execute(text("DELETE FROM sessions")) + app.session_interface.client.session.commit() yield finally: - app.session_interface.db.session.execute(text("DELETE FROM sessions")) - app.session_interface.db.session.close() + app.session_interface.client.session.execute(text("DELETE FROM sessions")) + app.session_interface.client.session.close() def retrieve_stored_session(self, key, app): session_model = ( - app.session_interface.db.session.query( + app.session_interface.client.session.query( app.session_interface.sql_session_model ) .filter_by(session_id=key) @@ -41,7 +41,10 @@ def test_use_signer(self, app_utils): with app.app_context() and self.setup_sqlalchemy( app ) and app.test_request_context(): - assert isinstance(flask.session, flask_session.sessions.SqlAlchemySession) + assert isinstance( + flask.session, + SqlAlchemySession, + ) app_utils.test_session(app) # Check if the session is stored in SQLAlchemy From 68e8ed64da390b162ef75b1356086b42ed71f382 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 24 Feb 2024 00:07:41 +1000 Subject: [PATCH 35/84] Docs cleanup and linting --- CHANGES.rst | 11 +++++--- docs/_static/icon/sequence.webp | Bin 94180 -> 0 bytes docs/_static/sequence.webp | Bin 94180 -> 84514 bytes docs/_static/styles.css | 8 ++++++ docs/conf.py | 1 + docs/config_cleanup.rst | 10 ++++--- docs/config_example.rst | 12 ++++----- docs/config_exceptions.rst | 2 +- docs/config_flask.rst | 4 +-- docs/config_flask_session.rst | 13 +++++++-- docs/config_nonpermanent.rst | 2 +- docs/config_security.rst | 14 +++++----- docs/config_storage.rst | 21 +++++++++++---- docs/installation.rst | 30 +++++++++------------ docs/introduction.rst | 8 +++--- docs/usage.rst | 24 ++++++++--------- src/flask_session/cachelib/__init__.py | 2 +- src/flask_session/cachelib/cachelib.py | 7 +++-- src/flask_session/filesystem/__init__.py | 2 +- src/flask_session/filesystem/filesystem.py | 8 +++--- src/flask_session/memcached/__init__.py | 2 +- src/flask_session/memcached/memcached.py | 9 +++---- src/flask_session/mongodb/__init__.py | 2 +- src/flask_session/mongodb/mongodb.py | 10 +++---- src/flask_session/redis/__init__.py | 2 +- src/flask_session/redis/redis.py | 8 +++--- src/flask_session/sqlalchemy/__init__.py | 2 +- src/flask_session/sqlalchemy/sqlalchemy.py | 7 +++-- tests/test_cachelib.py | 1 - tests/test_memcached.py | 1 - tests/test_mongodb.py | 2 +- 31 files changed, 122 insertions(+), 103 deletions(-) delete mode 100644 docs/_static/icon/sequence.webp diff --git a/CHANGES.rst b/CHANGES.rst index b7790133..8ab04d9d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,7 +2,8 @@ Version 0.7.0 ------------------ Added -- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``json`` and ``msgpack``. +~~~~~~~ +- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'``. - Add time-to-live expiration for MongoDB. - Add retry for SQL based storage. - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. @@ -10,12 +11,14 @@ Added - Add logo and additional documentation. Deprecated -- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.7.0. +~~~~~~~~~~ +- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.1.0. - Remove null session in favour of specific exception messages. - Deprecate ``SESSION_USE_SIGNER``. -- Deprecate FileSystemSessionInterface in favor of the broader CacheLibSessionInterface. +- Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface`. Fixed +~~~~~ - Prevent sid reuse on storage miss. - Abstraction to improve consistency between backends. - Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. @@ -28,7 +31,7 @@ Version 0.6.0 Released 2024-01-16 -- Use ``should_set_cookie`` for preventing each request from saving the session again. +- Use :meth:`~ServerSideSession.should_set_cookie` for preventing each request from saving the session again. - Permanent session otherwise empty will not be saved. - Use `secrets` module to generate session identifiers, with 256 bits of entropy (was previously 122). diff --git a/docs/_static/icon/sequence.webp b/docs/_static/icon/sequence.webp deleted file mode 100644 index 31cae2fd30d8e2281337a75669155792a5031d63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94180 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

uN_T=aBtHB*GyM1kBb%Nt9Oy*s<0D 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 N19<`N_sMc4KaA+t$Xr*;qH<-@W%e=k34hoT)z5 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

UYSGK43aD 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

#CrnM}m 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 z%0DAKuU8GBDsQ~-Cs=*IkxN)RBLBlLk9bbeL_~2pSN<-MV`{plpr$wtEHc2I8T{bu z-%6Q5c6mo3@Ly$6_Kh{vhT>hGZ+uJNtthFF)A>=*;py1_wA;6h^@Gi&_jbu-3UV92 zeZaUYRsY}8kw^Ph>?!B`mul{T%*-4nfRyyb+&`v^&;=&-7xD)ed@RiR0Xe~03 zKM7_d{KzC8*Mi0oe(dh>bNQ2s34vImMh%&OkTC%1C$=KJ>PNc0W@!+z=Y4M^{)0G_ zaCVujiB#bAqqmhjHkaA8`n@g`4R2);ygzj;Q=bmsQK-=CEf+0?=BD13CD|MLFS-A}JOoEgD%j+B4neN^U?tqrBw>8O%Mn?VeO^7Ci zS2T~2tvv?XVEw*V#I`fU`Bd??PnvbESLh5pPPly0+CoXgeXHW>>qlR{Rx?ka0=qdq zl3$#R;;@6wiVFTMWB%f$Vkpr9LZJMP4sd-A3|hkF&v;R2FL2p|dV4$@qnh{#Lx}Su zOWwX=OaBm>U3Bfh*cP*U%d<@M0nb2V83_ooED@GN>aZgkLHFcdaqhjq)a~2VZ@K-c z1v%QLJxZ)WMe;KCkH$2c(ZnFoPK-%HmZ*bp{-MTaVK`PRzo4!{h!kTBA@{cfHiH_H zw2q-}f~vtPEvG>!8D?4o8`WnO)_kUOdpeNIHU_lpnMJcc-xf4_Jr&Mk^oPSaY1 zW>Wk2v;A|caA)ZB{fi|leCiA5q$ysYFS}Mm%t?Mp8PgLzen=oTcx0AZ-@jzR$i0*A zeVxIW-Ll@6Z2Q}r%)@JGfkX=^+tRe9i(z@t$}k~G&Mn^KVBaJe>K8yU#&w&b%;mLOg zZ|Rw=D~2vhA0EqGCkB=wwn0loAd7~@7$N-I{{?)gzfU<<^Fb#+O~zM>D>M4uCgy*q ze6cuP?>w#w#G3cJfGvli=FpkVMo@JT!mV3`(2=U|$ChU?2koa-zIg481~)cUy3a&9 zl^fL#W4kJ&7{M#YKf;jR^-O76o_uWznca-q{(B41={QKW?nGRelp4`UR+aw}wgZVm zoXCL$JEN0IWRcE51Iu>c-|FTl%&+03oHBCOSl%tf7Pl$_{vK(zY$rJ}xRBlNCo%so z2Sj!^>%Ti753hayI3Rh8;0L6mxocT=raexUQd;cUtB5CyfDf9$)rTRn8Xg$3WrP2% zbK_X%BXFf}J*OfQx5%YxcjYO&h)|5G>{bt2dHj(Z5$Dy9ImxT8Brn%Wgi+~qXc&lW ztTb#OFytxiB=6=(6-Qg}@>idmAA8&818-2+$n{LJwhpQ$CX9fw~ zIOm5lWM+!4_Q#;(UoGSl&p%qo>{-}Z+x=@!R*o!{ z!^%J3;6GPjEV-RM3VVJuDzb)JUZ~nLbCAvY_Zwjw?-tZ+>)E2FKpJZg5N1ZSf0#&& z+Hq_>MrPj}VW12m7uU4_DUeAu`&V8xLt`xy-}9ZoIcOysNuH}+!a=|sf)K9BK`IE# z$m3PET>;MC3x+jbm#ob;ohnCZ*lcW;v)2g1+RMXJ(`@{DwA&%Jy6FB-G@_eT-~4?q z!9Jcc9UocG1WBxaG!fumPUOLP>Hm@w!Tk7>{coH|@7Mp%iM*iwFHYotXd-coLDkh@ z0#w#VAl#`gsd$ew_s^HY2$zQ>Ao{p=O zW{EsLn4P1$`E3q30+GqL(e@aD`517BjgMdui-*$RyB&F=<(JM}TLXpR>_jF6jOzygc{Jfgc;qaluc?gU&62KFZ!&=j-cwPsGow(=(he zUUuKc2F}r$^yFvalv>a__NQ`4HUFO0=zm*}4sIs~E^N*T%Z`u0H4H%u1I1}nDrIx# zvgb3|@_H`}YICX2u>B`tK2^$fLsx;Jn^lTZ() z|GNnSil*^CZpNoz%=|Eftg-kP`3vPSI--G>hWkD-W|TF5f_D00(&hb-B+kShuocml z2F!0WQ71?>!Z_fn_LBsk7$;btjn4QhRKouwk&LHsi!@o;DSjUOm~2|J5XN6p0H3~6 z-SQ5g5u&NdXlxN$8<&Ij}Q=(#lAkh0h30_Ff1{%6(8~w#zLh`o8?FqP{9_c z-nTRypipDi{VB!{R!aH0_h~!VuCX_sZl;-v(OKnfW*nTeI379@K7ZV7E;LYns&y>h z=gj@-W@+g!AwbQk+7kE^`4*vylxsQh_eCQO|7fD$H+Qmw`m#XA@TyI3Jb_5I0i}`D zk<0bK{lUx_gQ>>o7zP&c=ckHJz^Ty{F-F^U(ac?tZ)s2>b&o=hUl>zb-ZFAZa?0m? zA3D5+C|RW?C^D+%WfNWnRZGdYCqMlNuKJnWG5s98SMd3v#R(q8@|-e-_o!q(7}^d- z_-7M5Wq+kq;cDDPjn9e!$g;01*uF}N_gn0aJf#bM) zq;*?XjlI(b6#k0FKvQA=Oh8FDl zC`}k3U891ATjg@1qk!X(NU=Jz?$2KyQd;($b|gX2oVxu&5ESgD=5iT~*+o7Rof^68 zdXS@E1F}0jId9M*Vk6Cfmgnw$1g8z2H#YkQ#C2Pyv34|2g~{DV2bmnrY$(1TYBuPx zVGWx$;1{4{Jjf=0o2~eF@gwkQorlkz9Wl+eI;9%X9{nCG!DT`$_5y);6}F;_qK_ns zX*<;*e<9HhjX98y!3Qrb2b|Sh33~?61mX?#PdV%Zq5vOxJS0HzuCUzAIq7%dWt3&H zXvN-keALJlyAC~*>!|-Zb&^39tdzYDqU{U3a`@7CVyruE3+#4nfcM9yz*IL~!uC&i zvIUA#A&w8M{rYdDqAI95K0EWf``yHcxOW-yXuoXIsCo}w8-9J1UnJ*)I2vq_bu4q+ zW)T9$nljaGYykAW#i~fcF_%`Tcnt~=`AfGwT4hizO|8R%Z3hIfgUax*qCppM-)?S1 z6vFPBzy&6H#{c}8PfSNMacmx$jC?!2)7QEucVFd-v+fYU6#TsO79!_2NtNtupa_fk z=6BKde{ZM&{|BOydHVkdQK=z}QMV{+*QNS>Vb50Q9s=fuhdUni`omeb`5i=|o92a8 zUg+R-WQq3CnAHCgRgM_`Pf-Ox5cJxWBC`0uBvlgK|9_DxpL3=EPg12T?_W~oA5rB1 zBa_>AbGu3%&5<~5(GYg=#mm}R;06}HYDs6YYO5Rh8!cxe4izCfz+(^f(L&tzpcBf8 zN9QFiZRV_~ZT4UT1OTjJ_hl)6z+<4)>mxekEvloO5zme{31ZYYETI7fiK_tXvbu+Nk^MU{No)PtS5zkiHLbQm&KuA>uAlYZ$FR7(^6D?UJ!=Ny-y2q1w{)4m!n#_lfV~H8Y_jwtkmy?%yf-9xT?N zIlj*)_!8dmqztSotDJ|MF;1_*`I`(`*Xso3mig*g$QPL92fOAf(?*Z6V#*I=-pD7c zv2?7J=6~+HFTZn=wS2Gca?FdOh0&jXv`7XT>!w6_xGal?xSwb40fXN;wRMkCoWUn4 zqxfb+U^)`kNZSx)kL5yQm1oA?+-I;-OSIS+orn2$Z|{CjhP`EjjMY9z?Ykl7{U!eA ztvo5Md={K%rneDsRyx3;aW8L=8b@0N6Qabn|WeRG8pP*An=>H~<& zTq-ZmJ2%+-6!lIkn54}A*u~CzW@Y+41n8EXz(IH3PqVyR?@d*}(9mX?{jBy0>)16{ zwRo*`{6tHzVsqrX$u>+j>uW2&E``c#4|ThE85W9PLpoushB~jN&W=6hT&$1uTdU66 zMa?5S$&>SNiMS!X-|r&3jtHQKE^FR>BNG>!d*&8}4u3WQ&=T(ALe*yPB2eYBZ+9q!c##B}) zVf|$?L{1S#x!I5CVSL>IGf%T2BDea?FNH~`o9u8>`ETRY{aUYToiB>!cvSXs6{qb-Hq~&cgf-B}Vj++eYA6T`Y<3Tn%o;{j(k3*=S&buG* z=uKG7uKLzBnLT;fp7&hYS*z2$_oTD*&t}87+(VNQnc4;>ws+mw;^iKHQ+?D;6)#Fi1tTrHk>SyjyZt>G7#jF2R<1YDPO>#&Zh^(`J>$1do zp$^1`>6Ra1{%4(9x_bxuGn@K9 z3gG{yUe){mw5j~%-xc?Ne=h&G?$}hSv@2MeU=`4%8cL2J5q>z0%@zCBITj{0tHRyN zoO26f+MtbtT!7pJuM>7tcC~yC|5-s?Ve+bhMh-s|S98r51u&8g;v#^w6zx{(sK z8n!RC7?=DMS5Zt9E#xJnX6!9auivL4Oe;J%Sj&T1%@2ux(a_(guNasIM?85!-3F&4 z{!wLuIYxtXOY7}lO(F(p5UcSgm|5_B*fn^->~qE;dpV&>gi8M`8!!?L{IH+FH(YxN zjc_|#ENQ<-E7I;Wu>`zT(GcD8{-)MD;mgqC3fi#Z+SC+&+B;-KMlSt61M*7mPcC%k zHkg@~z$Fa27>1JI?DgRY$7mFCukP&=k*Rkg&szTOhRA3!Un38gDenBTjBl2w=-VbP zD3Ycq2pBc^?oIDPFbvvNDdY?*hjS!l!FQl2X3|2qAokQ9;N|^cP#2s;1%Ye^mcr|0 zNQ*hqkx^zck!=OeOVox*__s;DX~WjD5tER@#M>2q*`&4&;%fc%5toR0uHJLD{C zaLLz3yp}C@_+1g6v=#04YSjWiqpg!$TV*m3uJaqyVyl}`v9 ze6`f2teCuS=ZjqgT~~{D81p!ZC9k<5Sh@Bn6wObU*vcbK__x zh=}*#AlY7E0vq}@#PX$d`ZTPVVa@&)3zC#VxT z^mrGtC4&A6x-k4)__FcUH*lZVn{yF3M}nK-9IG7@VI18;KTf|h@Rnm4l9|O;RzCO^ z)80-amA4RvXG}17e`SY}OqB}KhTT6C1sG(r73y8KLfX%1IX%xo$TdM_$XG*qh0v5-Nnn<42B=acWbiiA%p2r-tKB{zS zyYoQ2F2dPx&C*3uRPGY-ef6j$xAfuFpERYU>;?_ZUw=bdPzjidJ1w6?wB*jmQqA*^ zR@j9D_y8HZRPp@@8EUz05}(%lkc6cM9qIoiW$I9Qnpkd9pSnF+py$|as5`+0m8vFEBw??DqgWRWE%PLdW1Fpd1ts@6vFRzbOcyEO*asoe@36F4C&LjOG)Zi-CmOqOMN&YP z5}v}EeHLY8d1PQYYXk>T!4Xlg#nhLZir&!Af$C*$FlstZ9=`fVIegnB2jY%b54J{$ zc?O$gfo+$uO@V4lp3A<0(<0b!e3vSxHo2@nZQA#O8mzEvZB3KTO#50Sz4(PapFi?L zKq3Y!b6!kKYRLuO_zE0>kx8Q_qwhcmJp;9^bdbLyu&5EmP{GnvVgmztTM*TA-K-U| zl5hb*zhaet?m+THa?bjNv8qs!`uPw)B`@H?leF8^QF3uf(}m$LDH}uE+$t;W2uT~k zUC6axzT`vfB#Ecdng0v9muqd%In0U!0pPB%I*RuF!qHrTTh0by%+MZ!5&@)F-4e+M z6%5L4QNuB{8)|s-9VckZCy@+Qc8^nPHS{isa+z+-t92c?Xsje(*m-xzP3GYD^woJ7 zJLmLkb?f%|O%$cD2Z9|2!y#(5-)18>V_wA>pl$aLIj*f`Y?5kl_egpoPvte?B4@W@ zn1X{9SDRhs^?Ou^0LZc%dcfJRmi%*`I}BW{8hCt~xukpS5c1OuX(*)KWuq&yVtJ3Q7fVZ?*YT2XnGpY&pU z!*oi-yorXDm1gY(7fxI>WH+SUbh>@2aKv4U#%y7H1Ai1o zEC^YWLCH)lWAiX%2KASqMyrAcUA2~pB$asCbMH6$Z=Tfv)^pW^C!JhE$pME*3RA9i zc4lD;G3~%9ec=Ybwvnv!a0}jYJ-uc*8d~b$n`4J64mSe#_+h20iyX*|xxtuyDPsrR z##W^>1mFxgb}>2$Z}`x=KKJlk`9n81%N;Ujl4}h08$RT!B#?V8#2%wkr~7bUk6)fY zK2^B@w?1h0C15o`pJ;;nD2=KVf6SJxL;C&q@PQE(j*yL7LwH3o9Ampbe*WzA$kSKZ zZ-h8Mk|l#4>uY9^pBPr6UvAwu1PEB=&W0AV%sx1Ieo0>vt8uWOaDMF zbx}4yFg2OyPYGB)Q$QZebuP;4ukj83@gXZMtW}Xd4O8)YLRYv;2Nn43VoO%t>czb|<~P5-|$kX~90~ zUmRQ;sRxHDtc#P3t=0|d8XDnK-uXho*O8g9RoSOl4TJm5=!#)dQXX)pTb*^53iL*H zUN|Z6rtl5)uos*RBHy{HrFc`GYPC(yvIf#MT9y-(&*T8GQR{-LR(Mt?PPa0|rd{gt zFz5}xKZrFIO<012!WI)j{z+@z=qV$G>k(Q1Ep405)uA~)v&o9T zvetQdOCqMyro5?`6>Ne(Xo*O7W#GyE5cu5q;O>tVEtKX#Q*%CF-aY!~>H91bE zQD`2E=45~6Sbk#~jF|ZIQ@&jP8%|x{Ee2{`^Xo7SUqbzqg--yRT)V!1qx>H^az1kW z7w4yDEe6WQL-rCSsTsv6d|-^Su$hxhlAkeMBkbKbBAS(-_9jE<=o8=)#jup!qphV- zVXi)y+5A1;NghuDIH(RCoHeT3Bd1SnQWGm_#QM0?HL?_8y=*g%x-jYrL?`s#82`v{ zXPWj_{@Z9*8`0TWfUz4)qdoR3C3jw{$z@)knjr`Yr}ZNC&ey888c5q_mgJSgAttVT z5NbUO$+I||kuB%cr0d*g<0Rv`qeFFAY3Tdx6p~#~Rf)^wE%P{yy$xyHblS z4C)fIHt>fSJAmTyK=|0m$8K;sxtXuGWFRdon#b9!eS*QS=7Hrj^k!1jHK%I7WANL1b)~Ic7U$oFrG~n+_tnP$C|7k7W&b%^mMl$^1MBx*}#ZJjaH6MVVEzW zoGG?Jk~H4SQ5?-J*W>RM`9*6O_oYOpn)X~B-M6)N%wPo<(2-r zAkKN$gA;_L@lg3t0Z*{3?UjMIO^C``_Z&i>4I&S0)Uo9%cJ3ti2H0}xdv<%(drfI{ zWf5kS-pO%Jd?WWT3b^Z507V7xc*ff8Ubx-VZJ|Z9{~RvH$mGod5l`b;)kh0wfcpFr z9`OLlo?Xm9?wzYMuQZYk9Lhz}FV*f=wq$f-Nuh`3C=wq`>@mAD@{JOEjMB``3j`&@ zpCh@N8g`lykO)=$F(a< z9wO%FQCj%7Bb6gefka~7aDL#%=_MLK;1em4dR6%VRC3TBBRx1Q>wVR&;(SYuS1pn6 z6%-9w7L-3HIzWeYW7DgW_Q0!&HWnM5o32>Huh~Xw>t?_ zc$7XF=m(O)jh&@PN^v31otr)2Ms#Xoku#<-J9CW-{7^7CyLzz$xTq)x2halCu@!4-Zc9oYRp*+qf_%@7@`}<<=Z_FCcuf7>yMFJx1Z51fk}QYfCp~DE@z=4 zw(GJMz(P1Y?d4(Kn8I?Ox)5S#tkX^SqeO~DnA5IUD9corWaS?(Q}y$xJ+Me-3Kc%9`!R2~B?DW*7`X3Oh2|w&u1S zG;QHhCYEE(IHeT81+pVP*v;h<$_q;`iE&P`n;&oMaHa%2h8k|%%|;4uV1Tq@xh|aa zc1a_i^K6b0jYviBBJiblUjQRXA%s8|t0j=$*F)a482p{RHc2m||JVgFp`4$?sM4rv zP3#Cm#Zpa}%CmJ?Ar&A+twVa1cFV?hWjCPn7?wBJmv-5!!T-1b8p5isoNaM-2!Z&) zdG{NHbj*b|xP`g=Vkt=ldk}MUg>*?T=r{c})<$@=Rrx6XfKp@1JNie{9LSD$!lzsQ zFq4Y$?Q`4&OxWD^74LND7e$I+H%wG)s9u&*b%JAQNv0?(!&pHjS)*+1UJCvCC$_iH zDwToWhZCMV#c|nNVHF4~v0>Cfd!B4ro6h7(^-=`LiCtS|pQH7IXnL0`I=1RzNlkcg zY|CiE86GWl5)&2aY1swU0g#!~`dHL{e`5}S@*va}5l-O&Q7b~&X#<*tuQu)p{mP~60L=JbT?UQ55%nP!7O zMu5XUW7Wr2mIClu1a2SRO&yj z#ZA>vHzKJb`$GWTEka+`a41M}F}>G+IEmuvEda$|+JYPFCC(s%(Z_p{dbUi69yZIxRCYM3Q+Mxodd zZKXxD-|O(ukZw&I1PTsP&F0hID(;7393rH2Q0r%lY7#H=cgBRO)<_IDcGcHUt0 zzhQb5$2lbo?4tc5)EA8mhp?jO1-~))ZCzm{=~2majYm1zWCNgsnZW79zP{eVJz1fD zT2~)tTk#8`6Au{D;y6CB^-#3!H~`p9>9+M+SKw?F`8)HIfMA+b52m`-%+yu3B_fOC z-ge%cfYY}^y1GBVR&WmUM+kPag^($ z$X2T%nAp6O2DEO=K&HztDg?#=?^h&MWTP8lz7M|ANhhQ|wxZ$uRk9A+8|}8dZwxj9 zwTzDo?`nQVjt)R6d6%aiDJF>8m*DK;`{cR?6r3O^6-!WX49olJH2nqZ-9udSu9I2l zzf-Z6m&E}3@t$=iWTcypCd$~Tdo6|zY-AJNaY{_t0h0TjWRW=r+saV7reQ83F9NJn zSw8=4lf6kGiJ3FOuDbtOn`H{dA&Xq`B0G}#)v%j)HO^#Jl)3NyR0gEUm zRUJNEqcrh?U>(Qz(>v1H5c|2}u)Gwnef zkm77{WKhE_da$Z%!&UfgKiC3IYZWm=XQfFt*8@XGXBrA4Oy$hYx5;9&3i15qeDnau$+_gELPQBtV znU_0xF)rPDKKVd0w#1!{0t*}xCvnN~siZX6S8{Cj0#z)&7mIx)q&5WFC7a}Ot(LcP zazGs4nLiUFEqRYm;GfnYY#YaAt+-xCk0lafid>8MZMKRiDNEnm@t#bH-+r3jZT>=t zk}8tjgj`ktF{XRG?kktID6=$#v=dySM)nP*)?B4j7|GNJVcV_g{`g_jz|d>#h_WV_L+ck2 zN8_I)Dscy5*KR#DiEHp5zJ%PM*S!6n=Nf0H?HTt>NMDyLXu%33D57JS%Hr?RkcQq^ zzVQ&-Yp@4~-F8kZ^X8xq{MNV6EZR?LpC8QcP8Ps+aJaICPrU&m@XF-(6#9g?8!3fK z=usbO7WXRHAAgPQ7?<+24D=!g*s4|>VT_T^DbbBJ@^@zykSktga}R+0I1?U84j|W> z)<@9urEQkjsDaH7Ztv>r5a}S-ULvAZj(^rk$EFQ$V7v|~M&)=t9a>KlFDYeiDs81o z6?~bsGX3wErCuOa0Ql6~2`bF2yK?oAB`ILCCY;;tw2lL^O(p7eoo(#r8O_=SLVyy1 z;?P#3Tf*a_>lxCIm!sBZZv%U@6IREuujhQ^5PjGn|K3pAc3F}M)p(;>nsr0cM+%(6w|$9l?H!k?;uojcR`T?#6YzKpCJ6y-SbJSe^fh)dPnGXa?G6t=lqMpVZ%`0n_xC7+j5 zDFLZ=vzcUD>;cRJ`7JMQ{V?+$M^jfEIvf4g)mjln)$PQp+ju08^{UnM+m2{)@v3wi)il(ygq|nmKcS@pLC;ggyAV$;!%dQ75)4-UJSr45cfxp0Uvx zm`!p|h~x(Lk0CTCSNAM(XQCeHsptFMB?tFK(!Wf~n0d3Au+Qxr{`*;W8R$Firl&c3 zj*eX~Uc=x$%x#i;9)a!ePWb>r?j{~{DI5SF){}>ExI9(!rξYeJ)K_nMQ&;jJ2U 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 delta 90817 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⋘`pww2X6Cw(1S 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 l3nI1nD`_. This allows you maximum flexibility in choosing the cache backend and its configuration. + Any valid `cachelib backend `_. This allows you maximum flexibility in choosing the cache backend and it's configuration. The following would set a cache directory called "flask_session" and a threshold of 500 items before it starts deleting some. @@ -58,6 +61,10 @@ Cachelib app.config['SESSION_CACHELIB'] = FileSystemCache(cache_dir='flask_session', threshold=500) + .. important:: + + A ``default_timeout`` set in any of the ``CacheLib`` backends will be overrode by the ``PERMANENT_SESSION_LIFETIME`` when each stored session's expiry is set. + Default: ``FileSystemCache`` in ``./flask_session`` directory. MongoDB @@ -123,8 +130,12 @@ SqlAlchemy Default: ``None`` +.. deprecated:: 0.7.0 + + ``SESSION_FILE_DIR``, ``SESSION_FILE_THRESHOLD``, ``SESSION_FILE_MODE``. Use ``SESSION_CACHELIB`` instead. + .. versionadded:: 0.7.0 ``SESSION_CLEANUP_N_REQUESTS`` -.. versionadded:: 0.6 +.. versionadded:: 0.6.0 ``SESSION_SQLALCHEMY_BIND_KEY``, ``SESSION_SQLALCHEMY_SCHEMA``, ``SESSION_SQLALCHEMY_SEQUENCE`` diff --git a/docs/installation.rst b/docs/installation.rst index 986a23d7..bcdb42d6 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -10,11 +10,7 @@ Install from PyPI using an installer such as pip: Flask-Session's only required dependency is msgspec for serialization, which has no sub-dependencies. -.. note:: - - You need to choose a storage type and install an appropriate client library. - -For example, if you want to use Redis as your storage, you will need to install the redis-py client library: +You need to choose a storage type and install an appropriate client library so the app can communicate with storage. For example, if you want to use Redis as your storage, you will need to install the redis-py client library: .. code-block:: bash @@ -22,40 +18,36 @@ For example, if you want to use Redis as your storage, you will need to install Redis is the recommended storage type for Flask-Session, as it has the most complete support for the features of Flask-Session with minimal configuration. -Support --------- +Direct support +--------------- -Directly supported storage and client libraries: +Flask-Session has an increasing number of directly supported storage and client libraries. .. list-table:: :header-rows: 1 + :align: left * - Storage - Client Library * - Redis - redis-py_ * - Memcached - - pylibmc_, python-memcached_ or pymemcache_ + - pylibmc_, python-memcached_, libmc_ or pymemcache_ * - MongoDB - pymongo_ * - SQL Alchemy - flask-sqlalchemy_ -Other clients may work if they use the same commands as the ones listed above. +Other libraries may work if they use the same commands as the ones listed above. Cachelib -------- -Flask-Session also indirectly supports storage and client libraries via cachelib_, which is a wrapper around various cache libraries and subject to change. You must also install cachelib_ itself to use these. - -.. warning:: - - As of writing, cachelib_ still use pickle_ as the default serializer, which may have security implications. - -Using cachlib :class:`FileSystemCache`` or :class:`SimpleCache` may be useful for development. +Flask-Session also indirectly supports storage and client libraries via cachelib_, which is a wrapper around various cache libraries. You must also install cachelib_ itself to use these. .. list-table:: :header-rows: 1 + :align: left * - Storage - Client Library @@ -75,6 +67,10 @@ Using cachlib :class:`FileSystemCache`` or :class:`SimpleCache` may be useful fo - boto3_ +.. warning:: + + As of writing, cachelib_ still uses pickle_ as the default serializer, which may have security implications in production. + .. _redis-py: https://github.com/andymccurdy/redis-py .. _pylibmc: http://sendapatch.se/projects/pylibmc/ diff --git a/docs/introduction.rst b/docs/introduction.rst index 6094aa60..2590bf39 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -14,11 +14,11 @@ This is done by placing it in a cookie that is sent to and from the client on ea This can be any small, basic information about that client or their interactions for quick retrieval (up to 4kB). Server-side sessions differ by storing session data in server-side storage. -A cookie is also used but it only contains the session identifier that links the client to their corresponding data on the server. +A cookie is also used, but it only contains the session identifier that links the client to their corresponding data on the server. -.. note:: - There are no individual session size limitations on server-side sessions, - but developers should be cautious about abusing them for data which would be more suited for actual database storage. +.. tip:: + There are generally (some exceptions) no individual session size limitations for server-side sessions, + but developers should be cautious about abusing this for amounts or types data that would be more suited for actual database storage. Flask-Session sequence diagram ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/usage.rst b/docs/usage.rst index 66bb7ba2..11a527c2 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -7,15 +7,9 @@ Quickstart .. currentmodule:: flask_session -Create your Flask application, load the configuration of choice, and +Create your :class:`~flask.Flask` application, load the configuration of choice, and then create the :class:`Session` object by passing it the application. -.. note:: - - You can not use ``Session`` instance directly, what ``Session`` does - is just change the :attr:`~flask.Flask.session_interface` attribute on - your Flask applications. You should always use :class:`flask.session` when accessing the current session. - .. code-block:: python from flask import Flask, session @@ -38,24 +32,30 @@ then create the :class:`Session` object by passing it the application. This would automatically setup a redis client connected to `localhost:6379` and use it to store the session data. -See the `configuration section `_ for more details. +.. note:: + + You can not use :class:`~Session` instance directly, what :class:`~Session` does + is just change the :attr:`~flask.Flask.session_interface` attribute on + your Flask applications. You should always use :class:`flask.session` when accessing or modifying the current session. + +See the configuration section for more details. Alternative initialization --------------------------- -Rather than calling `Session(app)`, you may initialize later using :meth:`~Session.init_app`. +Rather than calling :class:`~Session`, you may initialize later using :meth:`~Session.init_app`. .. code-block:: python sess = Session() sess.init_app(app) -Or, if you prefer to directly set parameters rather than using the configuration constants, you can initialize by setting the interface constructor directly to the :attr:`session_interface`. +Or, if you prefer to directly set parameters rather than using the configuration constants, you can initialize by setting an instance of :class:`flask_session.redis.RedisSessionInterface` directly to the :attr:`flask.Flask.session_interface`. .. code-block:: python - from flask_session.implementations.redis import RedisSessionInterface - + from flask_session.redis import RedisSessionInterface + from redis import Redis ... redis = Redis( diff --git a/src/flask_session/cachelib/__init__.py b/src/flask_session/cachelib/__init__.py index 959c5d5d..efa7c80b 100644 --- a/src/flask_session/cachelib/__init__.py +++ b/src/flask_session/cachelib/__init__.py @@ -1 +1 @@ -from .cachelib import CacheLibSessionInterface, CacheLibSession +from .cachelib import CacheLibSessionInterface, CacheLibSession # noqa: F401 diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py index 62335391..ad007d8e 100644 --- a/src/flask_session/cachelib/cachelib.py +++ b/src/flask_session/cachelib/cachelib.py @@ -1,12 +1,11 @@ from datetime import timedelta as TimeDelta from typing import Optional -from flask import Flask +from cachelib.file import FileSystemCache + from .._utils import total_seconds -from ..defaults import Defaults from ..base import ServerSideSession, ServerSideSessionInterface -from cachelib.file import FileSystemCache -import warnings +from ..defaults import Defaults class CacheLibSession(ServerSideSession): diff --git a/src/flask_session/filesystem/__init__.py b/src/flask_session/filesystem/__init__.py index 79792687..2285f25e 100644 --- a/src/flask_session/filesystem/__init__.py +++ b/src/flask_session/filesystem/__init__.py @@ -1 +1 @@ -from .filesystem import FileSystemSessionInterface, FileSystemSession +from .filesystem import FileSystemSession, FileSystemSessionInterface # noqa: F401 diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index 6cf1b392..919bb23f 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -1,12 +1,12 @@ +import warnings from datetime import timedelta as TimeDelta from typing import Optional -from flask import Flask +from cachelib.file import FileSystemCache + from .._utils import total_seconds -from ..defaults import Defaults from ..base import ServerSideSession, ServerSideSessionInterface -from cachelib.file import FileSystemCache -import warnings +from ..defaults import Defaults class FileSystemSession(ServerSideSession): diff --git a/src/flask_session/memcached/__init__.py b/src/flask_session/memcached/__init__.py index 9ca54ee1..4a65c924 100644 --- a/src/flask_session/memcached/__init__.py +++ b/src/flask_session/memcached/__init__.py @@ -1 +1 @@ -from .memcached import MemcachedSessionInterface, MemcachedSession +from .memcached import MemcachedSession, MemcachedSessionInterface # noqa: F401 diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index edbf0b63..0d12751e 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -1,13 +1,10 @@ +import time from datetime import timedelta as TimeDelta -from typing import Any, Optional +from typing import Any, Optional, Protocol -import msgspec -import time -from flask import Flask from .._utils import total_seconds -from ..defaults import Defaults from ..base import ServerSideSession, ServerSideSessionInterface -from typing import Protocol, Optional, Any +from ..defaults import Defaults class MemcacheClientProtocol(Protocol): diff --git a/src/flask_session/mongodb/__init__.py b/src/flask_session/mongodb/__init__.py index 1a003df7..f9aa01d4 100644 --- a/src/flask_session/mongodb/__init__.py +++ b/src/flask_session/mongodb/__init__.py @@ -1 +1 @@ -from .mongodb import MongoDBSessionInterface, MongoDBSession +from .mongodb import MongoDBSession, MongoDBSessionInterface # noqa: F401 diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index 52dfddcf..cd5c37f8 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -1,15 +1,13 @@ from datetime import datetime from datetime import timedelta as TimeDelta -from typing import Any, Optional +from typing import Optional -import msgspec -from flask import Flask from itsdangerous import want_bytes -from ..defaults import Defaults -from ..base import ServerSideSession, ServerSideSessionInterface - from pymongo import MongoClient, version +from ..base import ServerSideSession, ServerSideSessionInterface +from ..defaults import Defaults + class MongoDBSession(ServerSideSession): pass diff --git a/src/flask_session/redis/__init__.py b/src/flask_session/redis/__init__.py index 8c9f2a9e..65b6323a 100644 --- a/src/flask_session/redis/__init__.py +++ b/src/flask_session/redis/__init__.py @@ -1 +1 @@ -from .redis import RedisSessionInterface, RedisSession +from .redis import RedisSession, RedisSessionInterface # noqa: F401 diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index 9833fded..54961550 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -1,13 +1,11 @@ from datetime import timedelta as TimeDelta -from typing import Any, Optional +from typing import Optional -import msgspec +from redis import Redis -from flask import Flask from .._utils import total_seconds -from ..defaults import Defaults from ..base import ServerSideSession, ServerSideSessionInterface -from redis import Redis +from ..defaults import Defaults class RedisSession(ServerSideSession): diff --git a/src/flask_session/sqlalchemy/__init__.py b/src/flask_session/sqlalchemy/__init__.py index 2344d3a6..41e033a6 100644 --- a/src/flask_session/sqlalchemy/__init__.py +++ b/src/flask_session/sqlalchemy/__init__.py @@ -1 +1 @@ -from .sqlalchemy import SqlAlchemySessionInterface, SqlAlchemySession +from .sqlalchemy import SqlAlchemySession, SqlAlchemySessionInterface # noqa: F401 diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 95888e66..1ae2783d 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -2,15 +2,14 @@ from datetime import timedelta as TimeDelta from typing import Any, Optional -import msgspec from flask import Flask +from flask_sqlalchemy import SQLAlchemy from itsdangerous import want_bytes +from sqlalchemy import Column, DateTime, Integer, LargeBinary, Sequence, String from .._utils import retry_query -from ..defaults import Defaults from ..base import ServerSideSession, ServerSideSessionInterface -from flask_sqlalchemy import SQLAlchemy -from sqlalchemy import Column, String, LargeBinary, DateTime, Integer, Sequence +from ..defaults import Defaults class SqlAlchemySession(ServerSideSession): diff --git a/tests/test_cachelib.py b/tests/test_cachelib.py index 0de0df29..656a5c9e 100644 --- a/tests/test_cachelib.py +++ b/tests/test_cachelib.py @@ -1,4 +1,3 @@ -import tempfile import flask from flask_session.cachelib import CacheLibSession diff --git a/tests/test_memcached.py b/tests/test_memcached.py index acd734c4..0c455375 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -2,7 +2,6 @@ from contextlib import contextmanager import flask -import flask_session import memcache # Import the memcache library from flask_session.memcached import MemcachedSession diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index 12a57a21..0e3638be 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -2,9 +2,9 @@ from contextlib import contextmanager import flask +from flask_session.mongodb import MongoDBSession from itsdangerous import want_bytes from pymongo import MongoClient -from flask_session.mongodb import MongoDBSession class TestMongoSession: From 431debd85682efc11733d2ad376404479c445b02 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 24 Feb 2024 00:20:00 +1000 Subject: [PATCH 36/84] Consistent docstrings --- src/flask_session/cachelib/cachelib.py | 2 +- src/flask_session/filesystem/filesystem.py | 2 +- src/flask_session/mongodb/mongodb.py | 6 +++--- src/flask_session/redis/redis.py | 2 +- src/flask_session/sqlalchemy/sqlalchemy.py | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py index ad007d8e..ca2d453b 100644 --- a/src/flask_session/cachelib/cachelib.py +++ b/src/flask_session/cachelib/cachelib.py @@ -16,7 +16,7 @@ class CacheLibSessionInterface(ServerSideSessionInterface): """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 store keys. + :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. diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index 919bb23f..70e13649 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -16,7 +16,7 @@ class FileSystemSession(ServerSideSession): class FileSystemSessionInterface(ServerSideSessionInterface): """Uses the :class:`cachelib.file.FileSystemCache` as a session storage. - :param key_prefix: A prefix that is added to FileSystemCache store keys. + :param key_prefix: A prefix that is added to stored 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. diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index cd5c37f8..45760cdb 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -17,13 +17,13 @@ class MongoDBSessionInterface(ServerSideSessionInterface): """A Session interface that uses mongodb as session storage. (`pymongo` required) :param client: A ``pymongo.MongoClient`` instance. - :param key_prefix: A prefix that is added to all MongoDB store keys. + :param key_prefix: A prefix that is added to all 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. - :param db: The database you want to use. - :param collection: The collection you want to use. + :param db: The database to use. + :param collection: The collection to use. .. versionadded:: 0.7 The `serialization_format` and `app` parameters were added. diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index 54961550..25bcff88 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -16,7 +16,7 @@ class RedisSessionInterface(ServerSideSessionInterface): """Uses the Redis key-value store as a session storage. (`redis-py` required) :param client: A ``redis.Redis`` instance. - :param key_prefix: A prefix that is added to all Redis store keys. + :param key_prefix: A prefix that is added to all 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. diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 1ae2783d..ede2ace3 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -51,15 +51,15 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): :param app: A Flask app instance. :param client: A Flask-SQLAlchemy instance. - :param key_prefix: A prefix that is added to all store keys. + :param key_prefix: A prefix that is added to all 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. :param table: The table name you want to use. :param sequence: The sequence to use for the primary key if needed. - :param schema: The db schema to use - :param bind_key: The db bind key to use + :param schema: The db schema to use. + :param bind_key: The db bind key to use. :param cleanup_n_requests: Delete expired sessions on average every N requests. .. versionadded:: 1.0 From c0602e2998de4e1b2c9a9ba05a98858a43924475 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 24 Feb 2024 17:18:03 +1000 Subject: [PATCH 37/84] Doc tweaks, include pickle warning Documentation --- docs/_static/styles.css | 2 +- docs/conf.py | 3 ++- docs/config_flask.rst | 2 +- docs/config_security.rst | 1 + docs/installation.rst | 13 +++++++++---- docs/usage.rst | 11 ++++++----- src/flask_session/cachelib/__init__.py | 2 +- src/flask_session/filesystem/filesystem.py | 2 +- src/flask_session/memcached/memcached.py | 2 +- 9 files changed, 23 insertions(+), 15 deletions(-) diff --git a/docs/_static/styles.css b/docs/_static/styles.css index 3830d92f..8a373f51 100644 --- a/docs/_static/styles.css +++ b/docs/_static/styles.css @@ -10,4 +10,4 @@ table { width: -moz-available; width: fill-available; width: stretch; -} \ No newline at end of file +} diff --git a/docs/conf.py b/docs/conf.py index c9ed71da..6a345b1b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,7 +14,7 @@ "flask": ("http://flask.palletsprojects.com/", None), "werkzeug": ("http://werkzeug.palletsprojects.com/", None), "flask-sqlalchemy": ("http://flask-sqlalchemy.palletsprojects.com/", None), - "redis": ("http://redis-py.readthedocs.io/", None), + "redis": ("http://redis-py.readthedocs.io/en/stable/", None), } @@ -59,6 +59,7 @@ html_static_path = ["_static"] html_theme = "furo" html_theme_options = { + "announcement": "Flask-Session is switching serializers to msgpack in 1.0.0. Use version 0.7.0 if you need graceful migration for existing sessions.", "source_repository": "https://github.com/pallets-eco/flask-session/", "source_branch": "main", "source_directory": "docs/", diff --git a/docs/config_flask.rst b/docs/config_flask.rst index e8196d2c..540ccb1a 100644 --- a/docs/config_flask.rst +++ b/docs/config_flask.rst @@ -35,4 +35,4 @@ modify them at runtime. .. _SESSION_REFRESH_EACH_REQUEST: https://flask.palletsprojects.com/en/latest/config/#SESSION_REFRESH_EACH_REQUEST .. note:: - ``PERMANENT_SESSION_LIFETIME`` is also used to set the expiration time of the session data on the server side, regardless of permanence. + ``PERMANENT_SESSION_LIFETIME`` is also used to set the expiration time of the session data on the server side, regardless of ``SESSION_PERMANENT``. diff --git a/docs/config_security.rst b/docs/config_security.rst index 3e4a094a..879fdc50 100644 --- a/docs/config_security.rst +++ b/docs/config_security.rst @@ -12,6 +12,7 @@ Consider the following Flask configurations in production: .. list-table:: :header-rows: 1 + :align: left * - Setting - Consideration diff --git a/docs/installation.rst b/docs/installation.rst index bcdb42d6..1d632b50 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -10,7 +10,7 @@ Install from PyPI using an installer such as pip: Flask-Session's only required dependency is msgspec for serialization, which has no sub-dependencies. -You need to choose a storage type and install an appropriate client library so the app can communicate with storage. For example, if you want to use Redis as your storage, you will need to install the redis-py client library: +However, you also need to choose a storage type and install an appropriate client library so the app can communicate with storage. For example, if you want to use Redis as your storage, you will need to install the redis-py client library: .. code-block:: bash @@ -18,6 +18,11 @@ You need to choose a storage type and install an appropriate client library so t Redis is the recommended storage type for Flask-Session, as it has the most complete support for the features of Flask-Session with minimal configuration. +.. warning:: + + Flask-Session versions below 1.0.0 (not yet released), use pickle_ as the default serializer, which may have security implications in production if your storage is ever compromised. + + Direct support --------------- @@ -60,7 +65,7 @@ Flask-Session also indirectly supports storage and client libraries via cachelib * - Redis - redis-py_ * - Memcached - - pylibmc_, memcached, libmc_ or `google.appengine.api.memcached`_ + - pylibmc_, python-memcached_, libmc_ or `google.appengine.api.memcached`_ * - MongoDB - pymongo_ * - DynamoDB @@ -69,10 +74,10 @@ Flask-Session also indirectly supports storage and client libraries via cachelib .. warning:: - As of writing, cachelib_ still uses pickle_ as the default serializer, which may have security implications in production. + As of writing, cachelib_ still uses pickle_ as the default serializer, which may have security implications in production if your storage is ever compromised. -.. _redis-py: https://github.com/andymccurdy/redis-py +.. _redis-py: https://github.com/redis/redis-py .. _pylibmc: http://sendapatch.se/projects/pylibmc/ .. _python-memcached: https://github.com/linsomniac/python-memcached .. _pymemcache: https://github.com/pinterest/pymemcache diff --git a/docs/usage.rst b/docs/usage.rst index 11a527c2..b76e2bc1 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -18,6 +18,7 @@ then create the :class:`Session` object by passing it the application. app = Flask(__name__) SESSION_TYPE = 'redis' + SESSION_REDIS = Redis(host='localhost', port=6379) app.config.from_object(__name__) Session(app) @@ -47,6 +48,7 @@ Rather than calling :class:`~Session`, you may initialize later using :meth:`~Se .. code-block:: python + ... sess = Session() sess.init_app(app) @@ -54,14 +56,13 @@ Or, if you prefer to directly set parameters rather than using the configuration .. code-block:: python + from flask import Flask, session from flask_session.redis import RedisSessionInterface from redis import Redis - ... - redis = Redis( - host='localhost', - port=6379, - ) + app = Flask(__name__) + + redis = Redis(host='localhost', port=6379) app.session_interface = RedisSessionInterface( client=redis, ) \ No newline at end of file diff --git a/src/flask_session/cachelib/__init__.py b/src/flask_session/cachelib/__init__.py index efa7c80b..60735222 100644 --- a/src/flask_session/cachelib/__init__.py +++ b/src/flask_session/cachelib/__init__.py @@ -1 +1 @@ -from .cachelib import CacheLibSessionInterface, CacheLibSession # noqa: F401 +from .cachelib import CacheLibSession, CacheLibSessionInterface # noqa: F401 diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index 70e13649..fbb8e19e 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -16,7 +16,7 @@ class FileSystemSession(ServerSideSession): class FileSystemSessionInterface(ServerSideSessionInterface): """Uses the :class:`cachelib.file.FileSystemCache` as a session storage. - :param key_prefix: A prefix that is added to stored keys. + :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. diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index 0d12751e..97284750 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -21,7 +21,7 @@ class MemcachedSessionInterface(ServerSideSessionInterface): """A Session interface that uses memcached as session storage. (`pylibmc`, `libmc`, `python-memcached` or `pymemcache` required) :param client: A ``memcache.Client`` instance. - :param key_prefix: A prefix that is added to all Memcached store keys. + :param key_prefix: A prefix that is added to all 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. From 304d0ab63da956d60d99e246bd9d8517d34c8dbb Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 24 Feb 2024 17:47:59 +1000 Subject: [PATCH 38/84] Further documentation tweaks --- docs/conf.py | 2 +- docs/config_example.rst | 2 +- docs/usage.rst | 9 ++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6a345b1b..bdb52d54 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -59,7 +59,7 @@ html_static_path = ["_static"] html_theme = "furo" html_theme_options = { - "announcement": "Flask-Session is switching serializers to msgpack in 1.0.0. Use version 0.7.0 if you need graceful migration for existing sessions.", + "announcement": "Flask-Session is switching serializer to msgspec in 1.0.0. Version 0.7.0 includes graceful migration for existing sessions.", "source_repository": "https://github.com/pallets-eco/flask-session/", "source_branch": "main", "source_directory": "docs/", diff --git a/docs/config_example.rst b/docs/config_example.rst index 4f34101e..9960da07 100644 --- a/docs/config_example.rst +++ b/docs/config_example.rst @@ -1,4 +1,4 @@ -Configuration example +Example --------------------- Here is an example of how to configure a redis backend: diff --git a/docs/usage.rst b/docs/usage.rst index b76e2bc1..bf18a371 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -31,15 +31,14 @@ then create the :class:`Session` object by passing it the application. def get(): return session.get('key', 'not set') -This would automatically setup a redis client connected to `localhost:6379` and use it to store the session data. +See the configuration section for more details. .. note:: - You can not use :class:`~Session` instance directly, what :class:`~Session` does - is just change the :attr:`~flask.Flask.session_interface` attribute on - your Flask applications. You should always use :class:`flask.session` when accessing or modifying the current session. + You can not use :class:`~Session` instance directly, what :class:`~Session` does + is just change the :attr:`~flask.Flask.session_interface` attribute on + your Flask applications. You should always use :class:`flask.session` when accessing or modifying the current session. -See the configuration section for more details. Alternative initialization --------------------------- From 748ad5cf9c960174976e57e063099f005be3d363 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 24 Feb 2024 18:46:54 +1000 Subject: [PATCH 39/84] Note about client security --- docs/config_nonpermanent.rst | 2 +- docs/config_security.rst | 6 +++++- docs/usage.rst | 4 +--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/config_nonpermanent.rst b/docs/config_nonpermanent.rst index 695e93b6..2f6c644c 100644 --- a/docs/config_nonpermanent.rst +++ b/docs/config_nonpermanent.rst @@ -1,4 +1,4 @@ -Non-permanent session configuration +Non-permanent sessions ------------------------------------ .. caution:: diff --git a/docs/config_security.rst b/docs/config_security.rst index 879fdc50..3543a552 100644 --- a/docs/config_security.rst +++ b/docs/config_security.rst @@ -1,5 +1,5 @@ -Security configuration +Security ---------------------- .. warning:: @@ -25,6 +25,10 @@ Consider the following Flask configurations in production: You can use a security plugin such as `Flask-Talisman`_ to set these and more. +.. warning:: + + Take care to secure your storage and storage client connection. For example, setup SSL/TLS and storage authentication. + .. _Flask: https://flask.palletsprojects.com/en/2.3.x/security/#set-cookie-options .. _MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies diff --git a/docs/usage.rst b/docs/usage.rst index bf18a371..ce389615 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -62,6 +62,4 @@ Or, if you prefer to directly set parameters rather than using the configuration app = Flask(__name__) redis = Redis(host='localhost', port=6379) - app.session_interface = RedisSessionInterface( - client=redis, - ) \ No newline at end of file + app.session_interface = RedisSessionInterface(client=redis) \ No newline at end of file From b9d2f0d1bce012ee6e72e461ecffda30f3374e4b Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 14:59:13 +1000 Subject: [PATCH 40/84] Improve msgspec note --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index bdb52d54..75eeaf09 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -59,7 +59,7 @@ html_static_path = ["_static"] html_theme = "furo" html_theme_options = { - "announcement": "Flask-Session is switching serializer to msgspec in 1.0.0. Version 0.7.0 includes graceful migration for existing sessions.", + "announcement": "Flask-Session is switching serializer to msgspec in 1.0.0. Version 0.7.0 will migrate existing sessions upon read or write.", "source_repository": "https://github.com/pallets-eco/flask-session/", "source_branch": "main", "source_directory": "docs/", From bc37d680feb294df908b7d80141c429a809e945d Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 15:16:19 +1000 Subject: [PATCH 41/84] Update logo url --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 1f2b0a17..608cdd59 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -.. image:: https://github.com/pallets-eco/flask-session/tree/main/docs/_static/icon/favicon-192x192.png +.. image:: https://raw.githubusercontent.com/pallets-eco/flask-session/development/docs/_static/icon/favicon-192x192.png :alt: Flask-Session :target: https://flask-session.readthedocs.io :align: left From 2b08537057066c1e24b5e38841d33b62933ab56e Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 15:29:10 +1000 Subject: [PATCH 42/84] Clarify msgspec transition --- CHANGES.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.rst b/CHANGES.rst index 8ab04d9d..347b8b4d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,7 @@ Version 0.7.0 Added ~~~~~~~ - Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'``. +- All sessions that are accessed or modified while using 0.7.0 will convert to msgspec. Once using 1.0.0, any sessions that are still in pickle will be cleared upon access. - Add time-to-live expiration for MongoDB. - Add retry for SQL based storage. - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. From ce854bb0460097092e3a8ce597222ff08f381790 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 15:37:25 +1000 Subject: [PATCH 43/84] Fix incorrect error --- src/flask_session/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index e3853815..09ac0da3 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -108,7 +108,7 @@ def decode(self, serialized_data: bytes) -> dict: return self.decoder.decode(serialized_data) with suppress(msgspec.DecodeError): return self.alternate_decoder.decode(serialized_data) - with suppress(msgspec.DecodeError): + with suppress(pickle.UnpicklingError): return pickle.loads(serialized_data) # If all decoders fail, raise the final exception self.app.logger.error("Failed to deserialize session data", exc_info=True) From 4afc8b3b7d0108305a958e19247fc91cfd83ce23 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 16:05:55 +1000 Subject: [PATCH 44/84] Update docs requirements --- requirements/docs.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/requirements/docs.txt b/requirements/docs.txt index 2d888b04..b31eb433 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile docs.in +# pip-compile --output-file=requirements/docs.txt requirements/docs.in # alabaster==0.7.13 # via sphinx @@ -17,7 +17,7 @@ charset-normalizer==3.1.0 docutils==0.19 # via sphinx furo==2024.1.29 - # via -r docs.in + # via -r requirements/docs.in idna==3.4 # via requests imagesize==1.4.1 @@ -40,11 +40,14 @@ soupsieve==2.5 # via beautifulsoup4 sphinx==7.0.0 # via - # -r docs.in + # -r requirements/docs.in # furo # sphinx-basic-ng + # sphinx-favicon sphinx-basic-ng==1.0.0b2 # via furo +sphinx-favicon==1.0.1 + # via -r requirements/docs.in sphinxcontrib-applehelp==1.0.4 # via sphinx sphinxcontrib-devhelp==1.0.2 From e990b019a788897f8bb27da4f6ad9578eef9b1de Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 19:14:15 +1000 Subject: [PATCH 45/84] Runtime warnings for invalid instance --- src/flask_session/cachelib/cachelib.py | 7 +++++++ src/flask_session/filesystem/filesystem.py | 12 +++++++++--- src/flask_session/memcached/memcached.py | 6 ++++++ src/flask_session/mongodb/mongodb.py | 6 ++++++ src/flask_session/redis/redis.py | 6 ++++++ src/flask_session/sqlalchemy/sqlalchemy.py | 6 ++++++ 6 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py index ca2d453b..2ece9d42 100644 --- a/src/flask_session/cachelib/cachelib.py +++ b/src/flask_session/cachelib/cachelib.py @@ -1,3 +1,4 @@ +import warnings from datetime import timedelta as TimeDelta from typing import Optional @@ -37,7 +38,13 @@ def __init__( ): if client is None: + warnings.warn( + "No valid cachelib instance provided, attempting to create a new instance on localhost with default settings.", + RuntimeWarning, + stacklevel=1, + ) client = FileSystemCache("flask_session", threshold=500) + self.cache = client super().__init__( diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index fbb8e19e..a579108f 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -55,21 +55,27 @@ def __init__( warnings.warn( "'SESSION_FILE_DIR' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CACHELIB.", DeprecationWarning, - stacklevel=2, + stacklevel=1, ) if threshold != Defaults.SESSION_FILE_THRESHOLD: warnings.warn( "'SESSION_FILE_THRESHOLD' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CLIENT.", DeprecationWarning, - stacklevel=2, + stacklevel=1, ) if mode != Defaults.SESSION_FILE_MODE: warnings.warn( "'SESSION_FILE_MODE' is deprecated and will be removed in a future release. Instead pass FileSystemCache(directory, threshold, mode) instance as SESSION_CLIENT.", DeprecationWarning, - stacklevel=2, + stacklevel=1, ) + warnings.warn( + "FileSystemSessionInterface is deprecated and will be removed in a future release. Instead use the CacheLib directly.", + DeprecationWarning, + stacklevel=1, + ) + self.cache = FileSystemCache( cache_dir=cache_dir, threshold=threshold, mode=mode ) diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index 97284750..ab82eea7 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -1,4 +1,5 @@ import time +import warnings from datetime import timedelta as TimeDelta from typing import Any, Optional, Protocol @@ -51,6 +52,11 @@ def __init__( serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): if client is None: + warnings.warn( + "No valid memcache.Client instance provided, attempting to create a new instance on localhost with default settings.", + RuntimeWarning, + stacklevel=1, + ) client = self._get_preferred_memcache_client() self.client = client super().__init__( diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index 45760cdb..93909086 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -1,3 +1,4 @@ +import warnings from datetime import datetime from datetime import timedelta as TimeDelta from typing import Optional @@ -51,6 +52,11 @@ def __init__( ): if client is None: + warnings.warn( + "No valid MongoClient instance provided, attempting to create a new instance on localhost with default settings.", + RuntimeWarning, + stacklevel=1, + ) client = MongoClient() self.client = client diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index 25bcff88..b92f730f 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -1,3 +1,4 @@ +import warnings from datetime import timedelta as TimeDelta from typing import Optional @@ -45,6 +46,11 @@ def __init__( serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): if client is None: + warnings.warn( + "No valid Redis instance provided, attempting to create a new instance on localhost with default settings.", + RuntimeWarning, + stacklevel=1, + ) client = Redis() self.client = client super().__init__( diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index ede2ace3..379144cc 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -1,3 +1,4 @@ +import warnings from datetime import datetime from datetime import timedelta as TimeDelta from typing import Any, Optional @@ -96,6 +97,11 @@ def __init__( self.app = app if client is None: + warnings.warn( + "No valid SQLAlchemy instance provided, attempting to create a new instance on localhost with default settings.", + RuntimeWarning, + stacklevel=1, + ) client = SQLAlchemy(app) self.client = client From 7d175bf030967f7557292b6551ce4c4855999b16 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 25 Feb 2024 21:01:49 +1000 Subject: [PATCH 46/84] Fix forgotten alternate decoder --- src/flask_session/base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 09ac0da3..a6c13fba 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -83,13 +83,19 @@ def encode(self, session: ServerSideSession) -> bytes: class MsgSpecSerializer(Serializer): def __init__(self, app: Flask, format: str): - self.app = app + self.app: Flask = app + self.encoder: msgspec.msgpack.Encoder or msgspec.json.Encoder + self.decoder: msgspec.msgpack.Decoder or msgspec.json.Decoder + self.alternate_decoder: msgspec.msgpack.Decoder or msgspec.json.Decoder + if format == "msgpack": self.encoder = msgspec.msgpack.Encoder() self.decoder = msgspec.msgpack.Decoder() + self.alternate_decoder = msgspec.json.Decoder() elif format == "json": self.encoder = msgspec.json.Encoder() self.decoder = msgspec.json.Decoder() + self.alternate_decoder = msgspec.msgpack.Decoder() else: raise ValueError(f"Unsupported serialization format: {format}") From 8ce8d3dc5de9632e06449943fa50f11d763da5f2 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 26 Feb 2024 10:35:04 +1000 Subject: [PATCH 47/84] Include clients for docs generation docs.txt --- requirements/docs.in | 9 ++++++++- requirements/docs.txt | 34 ++++++++++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/requirements/docs.in b/requirements/docs.in index 2f6e2753..7da2e193 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -1,3 +1,10 @@ sphinx furo -sphinx-favicon \ No newline at end of file +sphinx-favicon + +# Install clients +redis +cachelib +pymongo +flask_sqlalchemy +pymemcache \ No newline at end of file diff --git a/requirements/docs.txt b/requirements/docs.txt index b31eb433..84bfc531 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -10,28 +10,52 @@ babel==2.12.1 # via sphinx beautifulsoup4==4.12.3 # via furo +blinker==1.7.0 + # via flask +cachelib==0.12.0 + # via -r requirements/docs.in certifi==2023.5.7 # via requests charset-normalizer==3.1.0 # via requests +click==8.1.7 + # via flask +dnspython==2.6.1 + # via pymongo docutils==0.19 # via sphinx +flask==3.0.2 + # via flask-sqlalchemy +flask-sqlalchemy==3.1.1 + # via -r requirements/docs.in furo==2024.1.29 # via -r requirements/docs.in idna==3.4 # via requests imagesize==1.4.1 # via sphinx +itsdangerous==2.1.2 + # via flask jinja2==3.1.2 - # via sphinx + # via + # flask + # sphinx markupsafe==2.1.2 - # via jinja2 + # via + # jinja2 + # werkzeug packaging==23.1 # via sphinx pygments==2.15.1 # via # furo # sphinx +pymemcache==4.0.0 + # via -r requirements/docs.in +pymongo==4.6.2 + # via -r requirements/docs.in +redis==5.0.1 + # via -r requirements/docs.in requests==2.30.0 # via sphinx snowballstemmer==2.2.0 @@ -60,5 +84,11 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx +sqlalchemy==2.0.27 + # via flask-sqlalchemy +typing-extensions==4.10.0 + # via sqlalchemy urllib3==2.0.2 # via requests +werkzeug==3.0.1 + # via flask From ede231ff45a6f310114e112cd473a7ddcf6769a7 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 26 Feb 2024 10:48:55 +1000 Subject: [PATCH 48/84] Attempt to fix sphinx warnings --- docs/_static/logo/logo-social-dark.png | Bin 0 -> 60796 bytes docs/_static/logo/logo-social.png | Bin 0 -> 99026 bytes docs/conf.py | 10 +- docs/config.rst | 208 ++++++++++++++++++++++++- docs/config_flask_session.rst | 64 -------- docs/config_storage.rst | 141 ----------------- 6 files changed, 211 insertions(+), 212 deletions(-) create mode 100644 docs/_static/logo/logo-social-dark.png create mode 100644 docs/_static/logo/logo-social.png delete mode 100644 docs/config_flask_session.rst delete mode 100644 docs/config_storage.rst diff --git a/docs/_static/logo/logo-social-dark.png b/docs/_static/logo/logo-social-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8d74b165d3105dcaac6952149fbb87fa8dc177 GIT binary patch literal 60796 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/_static/logo/logo-social.png b/docs/_static/logo/logo-social.png new file mode 100644 index 0000000000000000000000000000000000000000..58915a2ca60cb29aeedf37f722c8bc460e2e3d61 GIT binary patch literal 99026 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%0DTav$S52@|{W*NGoxXWuZ< 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¨(==D>W3E!?|K&pNgG7E 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 literal 0 HcmV?d00001 diff --git a/docs/conf.py b/docs/conf.py index 75eeaf09..a4e9b16f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,11 +10,11 @@ extensions = ["sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx_favicon"] intersphinx_mapping = { - "python": ("http://docs.python.org/", None), - "flask": ("http://flask.palletsprojects.com/", None), - "werkzeug": ("http://werkzeug.palletsprojects.com/", None), - "flask-sqlalchemy": ("http://flask-sqlalchemy.palletsprojects.com/", None), - "redis": ("http://redis-py.readthedocs.io/en/stable/", None), + "python": ("https://docs.python.org/", None), + "flask": ("https://flask.palletsprojects.com/", None), + "werkzeug": ("https://werkzeug.palletsprojects.com/", None), + "flask-sqlalchemy": ("https://flask-sqlalchemy.palletsprojects.com/", None), + "redis": ("https://redis-py.readthedocs.io/en/stable/", None), } diff --git a/docs/config.rst b/docs/config.rst index 1331c1be..a66f5f63 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -13,6 +13,210 @@ Configuration .. include:: config_flask.rst -.. include:: config_flask_session.rst -.. include:: config_storage.rst +Flask-Session configuration values +---------------------------------- + +These are specific to Flask-Session. + +.. py:data:: SESSION_TYPE + + Specifies which type of session interface to use. Built-in session types: + + - **redis**: RedisSessionInterface + - **memcached**: MemcachedSessionInterface + - **filesystem**: FileSystemSessionInterface (Deprecated in 0.7.0, will be removed in 1.0.0 in favor of CacheLibSessionInterface) + - **cachelib**: CacheLibSessionInterface + - **mongodb**: MongoDBSessionInterface + - **sqlalchemy**: SqlAlchemySessionInterface + +.. py:data:: SESSION_PERMANENT + + Whether use permanent session or not. + + Default: ``True`` + +.. py:data:: SESSION_USE_SIGNER + + Whether sign the session cookie sid or not, if set to ``True``, you have to set :attr:`flask.Flask.secret_key`. + + .. note:: + This feature is historical and generally only relevant if you are using client-side sessions ie. not Flask-Session. SESSION_ID_LENGTH provides the relevant entropy for session identifiers. + + Default: ``False`` + + .. deprecated:: 0.7.0 + +.. py:data:: SESSION_KEY_PREFIX + + A prefix that is added before all session keys. This makes it easier to use the same backend storage server for different apps. + + Default: ``'session:'`` + +.. py:data:: SESSION_ID_LENGTH + + The length of the session identifier in bytes (of entropy). + + Default: ``32`` + + .. versionadded:: 0.6.0 + +.. py:data:: SESSION_SERIALIZATION_FORMAT + + The serialization format to use. Can be `'msgpack'`` or `'json'`. Set to `'msgpack'`` for a more efficient serialization format. Set to `'json'`` for a human-readable format. + + Default: ``'msgpack'`` + + .. versionadded:: 0.7.0 + +.. deprecated:: 0.7.0 + ``SESSION_USE_SIGNER`` + +.. versionadded:: 0.7.0 + ``SESSION_SERIALIZATION_FORMAT`` + +.. versionadded:: 0.6.0 + ``SESSION_ID_LENGTH`` + + +Storage configuration +--------------------- + + +Redis +~~~~~~~~~~~~~~~~~~~~~~~ + +.. py:data:: SESSION_REDIS + + A ``redis.Redis`` instance. + + Default: Instance connected to ``127.0.0.1:6379`` + + +Memcached +~~~~~~~~~~~~~~~~~~~~~~~ + +.. py:data:: SESSION_MEMCACHED + + A ``memcache.Client`` instance. + + Default: Instance connected to ``127.0.0.1:6379`` + + +FileSystem +~~~~~~~~~~~~~~~~~~~~~~~ + +.. py:data:: SESSION_FILE_DIR + + The directory where session files are stored. + + Default: ``flask_session`` directory under current working directory. + + .. deprecated:: 0.7.0 + +.. py:data:: SESSION_FILE_THRESHOLD + + The maximum number of items the session stores before it starts deleting some. + + Default: ``500`` + + .. deprecated:: 0.7.0 + +.. py:data:: SESSION_FILE_MODE + + The file mode wanted for the session files. + + Default: ``0600`` + + .. deprecated:: 0.7.0 + +CacheLib +~~~~~~~~~~~~~~~~~~~~~~~ +.. py:data:: SESSION_CACHELIB + + Any valid `cachelib backend `_. This allows you maximum flexibility in choosing the cache backend and it's configuration. + + The following would set a cache directory called "flask_session" and a threshold of 500 items before it starts deleting some. + + .. code-block:: python + + app.config['SESSION_CACHELIB'] = FileSystemCache(cache_dir='flask_session', threshold=500) + + .. important:: + + A ``default_timeout`` set in any of the ``CacheLib`` backends will be overrode by the ``PERMANENT_SESSION_LIFETIME`` when each stored session's expiry is set. + + Default: ``FileSystemCache`` in ``./flask_session`` directory. + +MongoDB +~~~~~~~~~~~~~~~~~~~~~~~ + +.. py:data:: SESSION_MONGODB + + A ``pymongo.MongoClient`` instance. + + Default: Instance connected to ``127.0.0.1:27017`` + +.. py:data:: SESSION_MONGODB_DB + + The MongoDB database you want to use. + + Default: ``'flask_session'`` + +.. py:data:: SESSION_MONGODB_COLLECT + + The MongoDB collection you want to use. + + Default: ``'sessions'`` + + +SqlAlchemy +~~~~~~~~~~~~~~~~~~~~~~~ + +.. py:data:: SESSION_SQLALCHEMY + + A ``flask_sqlalchemy.SQLAlchemy`` instance whose database connection URI is configured using the ``SQLALCHEMY_DATABASE_URI`` parameter. + + Must be set in flask_sqlalchemy version 3.0 or higher. + +.. py:data:: SESSION_SQLALCHEMY_TABLE + + The name of the SQL table you want to use. + + Default: ``'sessions'`` + +.. py:data:: SESSION_SQLALCHEMY_SEQUENCE + + The name of the sequence you want to use for the primary key. + + Default: ``None`` + +.. py:data:: SESSION_SQLALCHEMY_SCHEMA + + The name of the schema you want to use. + + Default: ``None`` + +.. py:data:: SESSION_SQLALCHEMY_BIND_KEY + + The name of the bind key you want to use. + + Default: ``None`` + +.. py:data:: SESSION_CLEANUP_N_REQUESTS + + Only applicable to non-TTL backends. + + The average number of requests after which Flask-Session will perform a session cleanup. This involves removing all session data that is older than ``PERMANENT_SESSION_LIFETIME``. Using the app command ``flask session_cleanup`` instead is preferable. + + Default: ``None`` + +.. deprecated:: 0.7.0 + + ``SESSION_FILE_DIR``, ``SESSION_FILE_THRESHOLD``, ``SESSION_FILE_MODE``. Use ``SESSION_CACHELIB`` instead. + +.. versionadded:: 0.7.0 + ``SESSION_CLEANUP_N_REQUESTS`` + +.. versionadded:: 0.6.0 + ``SESSION_SQLALCHEMY_BIND_KEY``, ``SESSION_SQLALCHEMY_SCHEMA``, ``SESSION_SQLALCHEMY_SEQUENCE`` diff --git a/docs/config_flask_session.rst b/docs/config_flask_session.rst deleted file mode 100644 index 739fa49a..00000000 --- a/docs/config_flask_session.rst +++ /dev/null @@ -1,64 +0,0 @@ - -Flask-Session configuration values ----------------------------------- - -These are specific to Flask-Session. - -.. py:data:: SESSION_TYPE - - Specifies which type of session interface to use. Built-in session types: - - - **redis**: RedisSessionInterface - - **memcached**: MemcachedSessionInterface - - **filesystem**: FileSystemSessionInterface (Deprecated in 0.7.0, will be removed in 1.0.0 in favor of CacheLibSessionInterface) - - **cachelib**: CacheLibSessionInterface - - **mongodb**: MongoDBSessionInterface - - **sqlalchemy**: SqlAlchemySessionInterface - -.. py:data:: SESSION_PERMANENT - - Whether use permanent session or not. - - Default: ``True`` - -.. py:data:: SESSION_USE_SIGNER - - Whether sign the session cookie sid or not, if set to ``True``, you have to set :attr:`flask.Flask.secret_key`. - - .. note:: - This feature is historical and generally only relevant if you are using client-side sessions ie. not Flask-Session. SESSION_ID_LENGTH provides the relevant entropy for session identifiers. - - Default: ``False`` - - .. deprecated:: 0.7.0 - -.. py:data:: SESSION_KEY_PREFIX - - A prefix that is added before all session keys. This makes it easier to use the same backend storage server for different apps. - - Default: ``'session:'`` - -.. py:data:: SESSION_ID_LENGTH - - The length of the session identifier in bytes (of entropy). - - Default: ``32`` - - .. versionadded:: 0.6.0 - -.. py:data:: SESSION_SERIALIZATION_FORMAT - - The serialization format to use. Can be `'msgpack'`` or `'json'`. Set to `'msgpack'`` for a more efficient serialization format. Set to `'json'`` for a human-readable format. - - Default: ``'msgpack'`` - - .. versionadded:: 0.7.0 - -.. deprecated:: 0.7.0 - ``SESSION_USE_SIGNER`` - -.. versionadded:: 0.7.0 - ``SESSION_SERIALIZATION_FORMAT`` - -.. versionadded:: 0.6.0 - ``SESSION_ID_LENGTH`` diff --git a/docs/config_storage.rst b/docs/config_storage.rst deleted file mode 100644 index 50e2314d..00000000 --- a/docs/config_storage.rst +++ /dev/null @@ -1,141 +0,0 @@ -Storage configuration ---------------------- - - -Redis -~~~~~~~~~~~~~~~~~~~~~~~ - -.. py:data:: SESSION_REDIS - - A ``redis.Redis`` instance. - - Default: Instance connected to ``127.0.0.1:6379`` - - -Memcached -~~~~~~~~~~~~~~~~~~~~~~~ - -.. py:data:: SESSION_MEMCACHED - - A ``memcache.Client`` instance. - - Default: Instance connected to ``127.0.0.1:6379`` - - -FileSystem -~~~~~~~~~~~~~~~~~~~~~~~ - -.. py:data:: SESSION_FILE_DIR - - The directory where session files are stored. - - Default: ``flask_session`` directory under current working directory. - - .. deprecated:: 0.7.0 - -.. py:data:: SESSION_FILE_THRESHOLD - - The maximum number of items the session stores before it starts deleting some. - - Default: ``500`` - - .. deprecated:: 0.7.0 - -.. py:data:: SESSION_FILE_MODE - - The file mode wanted for the session files. - - Default: ``0600`` - - .. deprecated:: 0.7.0 - -CacheLib -~~~~~~~~~~~~~~~~~~~~~~~ -.. py:data:: SESSION_CACHELIB - - Any valid `cachelib backend `_. This allows you maximum flexibility in choosing the cache backend and it's configuration. - - The following would set a cache directory called "flask_session" and a threshold of 500 items before it starts deleting some. - - .. code-block:: python - - app.config['SESSION_CACHELIB'] = FileSystemCache(cache_dir='flask_session', threshold=500) - - .. important:: - - A ``default_timeout`` set in any of the ``CacheLib`` backends will be overrode by the ``PERMANENT_SESSION_LIFETIME`` when each stored session's expiry is set. - - Default: ``FileSystemCache`` in ``./flask_session`` directory. - -MongoDB -~~~~~~~~~~~~~~~~~~~~~~~ - -.. py:data:: SESSION_MONGODB - - A ``pymongo.MongoClient`` instance. - - Default: Instance connected to ``127.0.0.1:27017`` - -.. py:data:: SESSION_MONGODB_DB - - The MongoDB database you want to use. - - Default: ``'flask_session'`` - -.. py:data:: SESSION_MONGODB_COLLECT - - The MongoDB collection you want to use. - - Default: ``'sessions'`` - - -SqlAlchemy -~~~~~~~~~~~~~~~~~~~~~~~ - -.. py:data:: SESSION_SQLALCHEMY - - A ``flask_sqlalchemy.SQLAlchemy`` instance whose database connection URI is configured using the ``SQLALCHEMY_DATABASE_URI`` parameter. - - Must be set in flask_sqlalchemy version 3.0 or higher. - -.. py:data:: SESSION_SQLALCHEMY_TABLE - - The name of the SQL table you want to use. - - Default: ``'sessions'`` - -.. py:data:: SESSION_SQLALCHEMY_SEQUENCE - - The name of the sequence you want to use for the primary key. - - Default: ``None`` - -.. py:data:: SESSION_SQLALCHEMY_SCHEMA - - The name of the schema you want to use. - - Default: ``None`` - -.. py:data:: SESSION_SQLALCHEMY_BIND_KEY - - The name of the bind key you want to use. - - Default: ``None`` - -.. py:data:: SESSION_CLEANUP_N_REQUESTS - - Only applicable to non-TTL backends. - - The average number of requests after which Flask-Session will perform a session cleanup. This involves removing all session data that is older than ``PERMANENT_SESSION_LIFETIME``. Using the app command ``flask session_cleanup`` instead is preferable. - - Default: ``None`` - -.. deprecated:: 0.7.0 - - ``SESSION_FILE_DIR``, ``SESSION_FILE_THRESHOLD``, ``SESSION_FILE_MODE``. Use ``SESSION_CACHELIB`` instead. - -.. versionadded:: 0.7.0 - ``SESSION_CLEANUP_N_REQUESTS`` - -.. versionadded:: 0.6.0 - ``SESSION_SQLALCHEMY_BIND_KEY``, ``SESSION_SQLALCHEMY_SCHEMA``, ``SESSION_SQLALCHEMY_SEQUENCE`` From 80df635ffd466fa7798f6031be5469b4d5dae069 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 27 Feb 2024 16:09:34 +1000 Subject: [PATCH 49/84] Add regenerate method Closes #27 #39 #65 --- docs/config.rst | 2 - docs/index.rst | 1 + docs/{config_security.rst => security.rst} | 26 +++++++-- examples/hello.py | 11 ---- examples/kitchen-sink.py | 63 ++++++++++++++++++++++ src/flask_session/base.py | 13 +++++ 6 files changed, 99 insertions(+), 17 deletions(-) rename docs/{config_security.rst => security.rst} (56%) create mode 100644 examples/kitchen-sink.py diff --git a/docs/config.rst b/docs/config.rst index a66f5f63..b712963f 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -7,8 +7,6 @@ Configuration .. include:: config_cleanup.rst -.. include:: config_security.rst - .. include:: config_exceptions.rst .. include:: config_flask.rst diff --git a/docs/index.rst b/docs/index.rst index 087cd40d..462f0ae9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,6 +8,7 @@ Table of Contents installation usage config + security api contributing license diff --git a/docs/config_security.rst b/docs/security.rst similarity index 56% rename from docs/config_security.rst rename to docs/security.rst index 3543a552..500d0718 100644 --- a/docs/config_security.rst +++ b/docs/security.rst @@ -1,11 +1,13 @@ - Security ----------------------- +========== .. warning:: Flask is a micro-framework and does not provide all security features out of the box. It is important to configure security settings for your application. +Flask configuration +------------------ + Please refer to documentation for `Flask`_, `OWASP`_, and other resources such as `MDN`_ for the latest information on best practice. Consider the following Flask configurations in production: @@ -25,11 +27,27 @@ Consider the following Flask configurations in production: You can use a security plugin such as `Flask-Talisman`_ to set these and more. -.. warning:: +Storage +------------------ - Take care to secure your storage and storage client connection. For example, setup SSL/TLS and storage authentication. +Take care to secure your storage and storage client connection. For example, setup SSL/TLS and storage authentication. +Session fixation +------------------ + +Session fixation is an attack that permits an attacker to hijack a valid user session. The attacker can fixate a user's session by providing them with a session identifier. The attacker can then use the session identifier to impersonate the user. + +As one tool among others that can mitigate session fixation, is regenerating the session identifier when a user logs in. This can be done by calling the ``session.regenerate()`` method. + +.. code-block:: python + + @app.route('/login') + def login(): + # your login logic ... + app.session_interface.regenerate(session) + # your response ... + .. _Flask: https://flask.palletsprojects.com/en/2.3.x/security/#set-cookie-options .. _MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies .. _OWASP: https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html diff --git a/examples/hello.py b/examples/hello.py index 55f54f4d..c5f17632 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -30,16 +30,5 @@ def delete(): return "deleted" -@app.route("/error/") -def error(): - raise RedisError("An error occurred with Redis") - - -@app.errorhandler(RedisError) -def handle_redis_error(error): - app.logger.error(f"Redis error encountered: {error}") - return "A problem occurred with our Redis service. Please try again later.", 500 - - if __name__ == "__main__": app.run(debug=True) diff --git a/examples/kitchen-sink.py b/examples/kitchen-sink.py new file mode 100644 index 00000000..539957e4 --- /dev/null +++ b/examples/kitchen-sink.py @@ -0,0 +1,63 @@ +from flask import Flask, session +from flask_session import Session +from redis.exceptions import RedisError + +app = Flask(__name__) +app.config.from_object(__name__) +app.config.update( + { + "SESSION_TYPE": "redis", + "SECRET_KEY": "sdfads", + "SESSION_SERIALIZATION_FORMAT": "json", + } +) + +Session(app) + + +@app.route("/") +def index(): + return "No cookies in this response if it is your first visit." + + +@app.route("/add-apple/") +def set(): + session["apple_count"] = session.get("apple_count", 0) + 1 + return "ok" + + +@app.route("/get-apples/") +def get(): + result = str(session.get("apple_count", "no apples")) + return result + + +@app.route("/login/") +def login(): + # Mitigate session fixation attacks + # If the session is not empty (/add-apple/ was previously visited), the session will be regenerated + app.session_interface.regenerate(session) + # Here you would authenticate the user first + session["logged_in"] = True + return "logged in" + + +@app.route("/logout/") +def delete(): + session.clear() + return "deleted" + + +@app.route("/error/") +def error(): + raise RedisError("An error occurred with Redis") + + +@app.errorhandler(RedisError) +def handle_redis_error(error): + app.logger.error(f"Redis error encountered: {error}") + return "A problem occurred with our Redis service. Please try again later.", 500 + + +if __name__ == "__main__": + app.run(debug=True) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index a6c13fba..e9bf74e9 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -216,6 +216,19 @@ def _cleanup_n_requests(self) -> None: if self.cleanup_n_requests and random.randint(0, self.cleanup_n_requests) == 0: self._delete_expired_sessions() + # SECURITY API METHODS + + def regenerate(self, session: ServerSideSession) -> None: + """Regenerate the session id for the given session.""" + if session: + # Remove the old session from storage + self._delete_session(self._get_store_id(session.sid)) + # Generate a new session ID + new_sid = self._generate_sid(self.sid_length) + session.sid = new_sid + # Mark the session as modified to ensure it gets saved + session.modified = True + # METHODS OVERRIDE FLASK SESSION INTERFACE def save_session( From 5b999f29d67cc1ff69a3aa7224c6c302dcb54a18 Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 27 Feb 2024 16:11:53 +1000 Subject: [PATCH 50/84] Fix session.clear() in non logout situations Closed #123 #56 --- src/flask_session/base.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index e9bf74e9..fab2873f 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -66,6 +66,12 @@ def on_update(self) -> None: self.permanent = permanent self.modified = False + def clear(self) -> None: + """Clear the session except for the '_permanent' key.""" + permanent = self.get("_permanent", False) + super().clear() + self["_permanent"] = permanent + class Serializer(ABC): """Baseclass for session serialization.""" From d2ce725c8dcc1a9b4fa72bf343a55d8f5662fffe Mon Sep 17 00:00:00 2001 From: Lex Date: Tue, 27 Feb 2024 16:38:11 +1000 Subject: [PATCH 51/84] Use .lower on session type Closes #182 --- src/flask_session/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 93aa5a0d..29dd0dba 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -114,6 +114,8 @@ def _get_interface(self, app): "serialization_format": SESSION_SERIALIZATION_FORMAT, } + SESSION_TYPE = SESSION_TYPE.lower() + if SESSION_TYPE == "redis": from .redis import RedisSessionInterface From 9e00891fdb25f646af01a05ba6c77157ffb321aa Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 29 Feb 2024 23:01:08 +1000 Subject: [PATCH 52/84] Specifically create only the session table in SQLAlchemy --- src/flask_session/sqlalchemy/sqlalchemy.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 379144cc..6a940734 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -111,7 +111,9 @@ def __init__( ) # Create the table if it does not exist with app.app_context(): - self.client.create_all() + self.sql_session_model.__table__.create( + bind=self.client.engine, checkfirst=True + ) super().__init__( app, From f25d9d35a0e752d4d3f78f922d08db221e58dc5f Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 29 Feb 2024 23:45:00 +1000 Subject: [PATCH 53/84] Expect correct client instances Closes #192 --- src/flask_session/memcached/memcached.py | 4 +++- src/flask_session/mongodb/mongodb.py | 2 +- src/flask_session/redis/redis.py | 2 +- src/flask_session/sqlalchemy/sqlalchemy.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index ab82eea7..87b2debc 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -51,7 +51,9 @@ def __init__( sid_length: int = Defaults.SESSION_SID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): - if client is None: + if client is None or not all( + hasattr(client, method) for method in ["get", "set", "delete"] + ): warnings.warn( "No valid memcache.Client instance provided, attempting to create a new instance on localhost with default settings.", RuntimeWarning, diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index 93909086..1cbe7e8c 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -51,7 +51,7 @@ def __init__( collection: str = Defaults.SESSION_MONGODB_COLLECT, ): - if client is None: + if client is None or not isinstance(client, MongoClient): warnings.warn( "No valid MongoClient instance provided, attempting to create a new instance on localhost with default settings.", RuntimeWarning, diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index b92f730f..ef849727 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -45,7 +45,7 @@ def __init__( sid_length: int = Defaults.SESSION_SID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): - if client is None: + if client is None or not isinstance(client, Redis): warnings.warn( "No valid Redis instance provided, attempting to create a new instance on localhost with default settings.", RuntimeWarning, diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 6a940734..efdfd9c8 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -96,7 +96,7 @@ def __init__( ): self.app = app - if client is None: + if client is None or not isinstance(client, SQLAlchemy): warnings.warn( "No valid SQLAlchemy instance provided, attempting to create a new instance on localhost with default settings.", RuntimeWarning, From 20e5b419a24aeee6d0d00d095cac7c009833a558 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 1 Mar 2024 21:52:33 +1000 Subject: [PATCH 54/84] Remove SQLAlchemy keep_existing in favour of check_first --- src/flask_session/sqlalchemy/sqlalchemy.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index efdfd9c8..6a591a25 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -20,11 +20,7 @@ class SqlAlchemySession(ServerSideSession): def create_session_model(db, table_name, schema=None, bind_key=None, sequence=None): class Session(db.Model): __tablename__ = table_name - __table_args__ = ( - {"schema": schema, "keep_existing": True} - if schema - else {"keep_existing": True} - ) + __table_args__ = {"schema": schema} if schema else {} __bind_key__ = bind_key id = ( From 91df6c97055f222eaf156d002f02d358a0fd1900 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 1 Mar 2024 22:01:27 +1000 Subject: [PATCH 55/84] Prep 0.7.0rc1 --- README.rst | 2 +- src/flask_session/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 608cdd59..9dcc86de 100644 --- a/README.rst +++ b/README.rst @@ -24,7 +24,7 @@ your application. :alt: BSD-3 Clause License .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&label=style - :target: https://github.com/charliermarsh/ruff + :target: https://github.com/astral-sh/ruff :alt: Code style: ruff .. image:: https://img.shields.io/pypi/v/flask-session.svg?logo=pypi diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 29dd0dba..c00d08fc 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -1,6 +1,6 @@ from .defaults import Defaults -__version__ = "0.6.0rc1" +__version__ = "0.7.0rc1" class Session: From 9537a41c731fd21baac8bfcf713770d0071d3ae5 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 1 Mar 2024 22:19:35 +1000 Subject: [PATCH 56/84] RTD errors --- docs/installation.rst | 2 +- docs/introduction.rst | 2 +- docs/security.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 1d632b50..1bf19d40 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -88,4 +88,4 @@ Flask-Session also indirectly supports storage and client libraries via cachelib .. _boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html .. _libmc: https://github.com/douban/libmc .. _uwsgi: https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html -.. _pickle: https://docs.python.org/3/library/pickle \ No newline at end of file +.. _pickle: https://docs.python.org/3/library/pickle.html \ No newline at end of file diff --git a/docs/introduction.rst b/docs/introduction.rst index 2590bf39..0d52765f 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -4,7 +4,7 @@ Introduction Flask-Session is an extension for `Flask`_ that adds support for server-side sessions to your application. -.. _Flask: http://flask.palletsprojects.com/ +.. _Flask: https://flask.palletsprojects.com/en/3.0.x/ Client-side vs Server-side sessions ------------------------------------ diff --git a/docs/security.rst b/docs/security.rst index 500d0718..7987ea3c 100644 --- a/docs/security.rst +++ b/docs/security.rst @@ -6,7 +6,7 @@ Security Flask is a micro-framework and does not provide all security features out of the box. It is important to configure security settings for your application. Flask configuration ------------------- +-------------------- Please refer to documentation for `Flask`_, `OWASP`_, and other resources such as `MDN`_ for the latest information on best practice. From d6a1566b84cec1bb0db49d7466f1a32c4d58df21 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 4 Mar 2024 14:36:36 +1000 Subject: [PATCH 57/84] Fix SESSION_ID_LENGTH typo No impact to config --- src/flask_session/__init__.py | 6 ++---- src/flask_session/base.py | 2 +- src/flask_session/cachelib/cachelib.py | 2 +- src/flask_session/defaults.py | 2 +- src/flask_session/filesystem/filesystem.py | 2 +- src/flask_session/memcached/memcached.py | 2 +- src/flask_session/mongodb/mongodb.py | 2 +- src/flask_session/redis/redis.py | 2 +- src/flask_session/sqlalchemy/sqlalchemy.py | 2 +- 9 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index c00d08fc..456ebf8b 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -53,9 +53,7 @@ def _get_interface(self, app): SESSION_KEY_PREFIX = config.get( "SESSION_KEY_PREFIX", Defaults.SESSION_KEY_PREFIX ) - SESSION_SID_LENGTH = config.get( - "SESSION_ID_LENGTH", Defaults.SESSION_SID_LENGTH - ) + SESSION_ID_LENGTH = config.get("SESSION_ID_LENGTH", Defaults.SESSION_ID_LENGTH) SESSION_SERIALIZATION_FORMAT = config.get( "SESSION_SERIALIZATION_FORMAT", Defaults.SESSION_SERIALIZATION_FORMAT ) @@ -110,7 +108,7 @@ def _get_interface(self, app): "key_prefix": SESSION_KEY_PREFIX, "use_signer": SESSION_USE_SIGNER, "permanent": SESSION_PERMANENT, - "sid_length": SESSION_SID_LENGTH, + "sid_length": SESSION_ID_LENGTH, "serialization_format": SESSION_SERIALIZATION_FORMAT, } diff --git a/src/flask_session/base.py b/src/flask_session/base.py index fab2873f..0fbaedcf 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -140,7 +140,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, cleanup_n_requests: Optional[int] = Defaults.SESSION_CLEANUP_N_REQUESTS, ): diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py index 2ece9d42..b7c8f411 100644 --- a/src/flask_session/cachelib/cachelib.py +++ b/src/flask_session/cachelib/cachelib.py @@ -33,7 +33,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): diff --git a/src/flask_session/defaults.py b/src/flask_session/defaults.py index ef968e4f..4823a851 100644 --- a/src/flask_session/defaults.py +++ b/src/flask_session/defaults.py @@ -7,7 +7,7 @@ class Defaults: SESSION_KEY_PREFIX = "session:" SESSION_USE_SIGNER = False SESSION_PERMANENT = True - SESSION_SID_LENGTH = 32 + SESSION_ID_LENGTH = 32 SESSION_SERIALIZATION_FORMAT = "msgpack" # Clean up settings for non TTL backends (SQL, PostgreSQL, etc.) diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index a579108f..f78f99b2 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -43,7 +43,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, cache_dir: str = Defaults.SESSION_FILE_DIR, threshold: int = Defaults.SESSION_FILE_THRESHOLD, diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index 87b2debc..ec4cdfe2 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -48,7 +48,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): if client is None or not all( diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index 1cbe7e8c..519e34e4 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -45,7 +45,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, db: str = Defaults.SESSION_MONGODB_DB, collection: str = Defaults.SESSION_MONGODB_COLLECT, diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index ef849727..55bb9c54 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -42,7 +42,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, ): if client is None or not isinstance(client, Redis): diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 6a591a25..1fa891f2 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -82,7 +82,7 @@ def __init__( key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, - sid_length: int = Defaults.SESSION_SID_LENGTH, + sid_length: int = Defaults.SESSION_ID_LENGTH, serialization_format: str = Defaults.SESSION_SERIALIZATION_FORMAT, table: str = Defaults.SESSION_SQLALCHEMY_TABLE, sequence: Optional[str] = Defaults.SESSION_SQLALCHEMY_SEQUENCE, From d30039a3504042a548359a012515525fd1482197 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 4 Mar 2024 22:52:07 +1000 Subject: [PATCH 58/84] Pass app to all interfaces for flask logging --- src/flask_session/__init__.py | 2 +- src/flask_session/base.py | 2 +- src/flask_session/filesystem/filesystem.py | 4 +++- src/flask_session/memcached/memcached.py | 5 ++++- src/flask_session/mongodb/mongodb.py | 4 +++- src/flask_session/redis/redis.py | 4 +++- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 456ebf8b..9ef54f01 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -105,6 +105,7 @@ def _get_interface(self, app): ) common_params = { + "app": app, "key_prefix": SESSION_KEY_PREFIX, "use_signer": SESSION_USE_SIGNER, "permanent": SESSION_PERMANENT, @@ -156,7 +157,6 @@ def _get_interface(self, app): from .sqlalchemy import SqlAlchemySessionInterface session_interface = SqlAlchemySessionInterface( - app=app, **common_params, client=SESSION_SQLALCHEMY, table=SESSION_SQLALCHEMY_TABLE, diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 0fbaedcf..3d2e03b7 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -136,7 +136,7 @@ class ServerSideSessionInterface(FlaskSessionInterface, ABC): def __init__( self, - app: Optional[Flask], + app: Flask, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index f78f99b2..781d6a2e 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -3,6 +3,7 @@ from typing import Optional from cachelib.file import FileSystemCache +from flask import Flask from .._utils import total_seconds from ..base import ServerSideSession, ServerSideSessionInterface @@ -40,6 +41,7 @@ class FileSystemSessionInterface(ServerSideSessionInterface): def __init__( self, + app: Flask, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, permanent: bool = Defaults.SESSION_PERMANENT, @@ -81,7 +83,7 @@ def __init__( ) super().__init__( - None, key_prefix, use_signer, permanent, sid_length, serialization_format + app, key_prefix, use_signer, permanent, sid_length, serialization_format ) def _retrieve_session_data(self, store_id: str) -> Optional[dict]: diff --git a/src/flask_session/memcached/memcached.py b/src/flask_session/memcached/memcached.py index ec4cdfe2..2a192d81 100644 --- a/src/flask_session/memcached/memcached.py +++ b/src/flask_session/memcached/memcached.py @@ -3,6 +3,8 @@ from datetime import timedelta as TimeDelta from typing import Any, Optional, Protocol +from flask import Flask + from .._utils import total_seconds from ..base import ServerSideSession, ServerSideSessionInterface from ..defaults import Defaults @@ -44,6 +46,7 @@ class MemcachedSessionInterface(ServerSideSessionInterface): def __init__( self, + app: Flask, client: Optional[MemcacheClientProtocol] = Defaults.SESSION_MEMCACHED, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, @@ -62,7 +65,7 @@ def __init__( client = self._get_preferred_memcache_client() self.client = client super().__init__( - None, key_prefix, use_signer, permanent, sid_length, serialization_format + app, key_prefix, use_signer, permanent, sid_length, serialization_format ) def _get_preferred_memcache_client(self): diff --git a/src/flask_session/mongodb/mongodb.py b/src/flask_session/mongodb/mongodb.py index 519e34e4..60639fda 100644 --- a/src/flask_session/mongodb/mongodb.py +++ b/src/flask_session/mongodb/mongodb.py @@ -3,6 +3,7 @@ from datetime import timedelta as TimeDelta from typing import Optional +from flask import Flask from itsdangerous import want_bytes from pymongo import MongoClient, version @@ -41,6 +42,7 @@ class MongoDBSessionInterface(ServerSideSessionInterface): def __init__( self, + app: Flask, client: Optional[MongoClient] = Defaults.SESSION_MONGODB, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, @@ -67,7 +69,7 @@ def __init__( self.store.create_index("expiration", expireAfterSeconds=0) super().__init__( - None, key_prefix, use_signer, permanent, sid_length, serialization_format + app, key_prefix, use_signer, permanent, sid_length, serialization_format ) def _retrieve_session_data(self, store_id: str) -> Optional[dict]: diff --git a/src/flask_session/redis/redis.py b/src/flask_session/redis/redis.py index 55bb9c54..320c6566 100644 --- a/src/flask_session/redis/redis.py +++ b/src/flask_session/redis/redis.py @@ -2,6 +2,7 @@ from datetime import timedelta as TimeDelta from typing import Optional +from flask import Flask from redis import Redis from .._utils import total_seconds @@ -38,6 +39,7 @@ class RedisSessionInterface(ServerSideSessionInterface): def __init__( self, + app: Flask, client: Optional[Redis] = Defaults.SESSION_REDIS, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, @@ -54,7 +56,7 @@ def __init__( client = Redis() self.client = client super().__init__( - None, key_prefix, use_signer, permanent, sid_length, serialization_format + app, key_prefix, use_signer, permanent, sid_length, serialization_format ) def _retrieve_session_data(self, store_id: str) -> Optional[dict]: From c9579505223d5f45a633031ae257a8f2809802aa Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 8 Mar 2024 23:14:32 +1000 Subject: [PATCH 59/84] Fix bind key for SQLAlchemy --- src/flask_session/sqlalchemy/sqlalchemy.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 1fa891f2..3f98757b 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -107,9 +107,11 @@ def __init__( ) # Create the table if it does not exist with app.app_context(): - self.sql_session_model.__table__.create( - bind=self.client.engine, checkfirst=True - ) + if bind_key: + engine = self.client.get_engine(app, bind=bind_key) + else: + engine = self.client.engine + self.sql_session_model.__table__.create(bind=engine, checkfirst=True) super().__init__( app, From 3fac5b75c566476eaae8913f20a8698e429e3a3b Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 8 Mar 2024 23:17:16 +1000 Subject: [PATCH 60/84] Prepare 0.7.0rc2 --- CHANGES.rst | 2 +- src/flask_session/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 347b8b4d..c08d2d42 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,4 +1,4 @@ -Version 0.7.0 +Version 0.7.0rc2 ------------------ Added diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 9ef54f01..1dd75034 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -1,6 +1,6 @@ from .defaults import Defaults -__version__ = "0.7.0rc1" +__version__ = "0.7.0rc2" class Session: From 905c53eec710cd35663c4dde8a0014a0aa5fc56c Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 8 Mar 2024 23:21:00 +1000 Subject: [PATCH 61/84] Pass app to cachelib --- src/flask_session/cachelib/cachelib.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/flask_session/cachelib/cachelib.py b/src/flask_session/cachelib/cachelib.py index b7c8f411..16a48a49 100644 --- a/src/flask_session/cachelib/cachelib.py +++ b/src/flask_session/cachelib/cachelib.py @@ -3,6 +3,7 @@ from typing import Optional from cachelib.file import FileSystemCache +from flask import Flask from .._utils import total_seconds from ..base import ServerSideSession, ServerSideSessionInterface @@ -29,6 +30,7 @@ class CacheLibSessionInterface(ServerSideSessionInterface): def __init__( self, + app: Flask = None, client: Optional[FileSystemCache] = Defaults.SESSION_CACHELIB, key_prefix: str = Defaults.SESSION_KEY_PREFIX, use_signer: bool = Defaults.SESSION_USE_SIGNER, From f9cf9d2b8c298d789fd698855581cb5749690dcd Mon Sep 17 00:00:00 2001 From: Andrey Anshin Date: Tue, 12 Mar 2024 13:37:02 +0400 Subject: [PATCH 62/84] Fix type annotation in Python < 3.8 --- examples/hello.py | 1 - src/flask_session/base.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/hello.py b/examples/hello.py index c5f17632..16599b3c 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -1,6 +1,5 @@ from flask import Flask, session from flask_session import Session -from redis.exceptions import RedisError app = Flask(__name__) app.config.from_object(__name__) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 3d2e03b7..623484c7 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -10,7 +10,7 @@ import random from datetime import timedelta as TimeDelta -from typing import Any, Optional +from typing import Any, Dict, Optional import msgspec from flask import Flask, Request, Response @@ -53,7 +53,7 @@ def __bool__(self) -> bool: def __init__( self, - initial: Optional[dict[str, Any]] = None, + initial: Optional[Dict[str, Any]] = None, sid: Optional[str] = None, permanent: Optional[bool] = None, ): From 8f217ca95ee0ecd26f9cad7b2b2ddc7bcbdeb76a Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 14 Mar 2024 12:54:43 +0800 Subject: [PATCH 63/84] Fix doctsring Closes #220 --- src/flask_session/base.py | 2 +- src/flask_session/sqlalchemy/sqlalchemy.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 623484c7..5f363bc0 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -225,7 +225,7 @@ def _cleanup_n_requests(self) -> None: # SECURITY API METHODS def regenerate(self, session: ServerSideSession) -> None: - """Regenerate the session id for the given session.""" + """Regenerate the session id for the given session. Can be used by calling ``flask.session_interface.regenerate()``.""" if session: # Remove the old session from storage self._delete_session(self._get_store_id(session.sid)) diff --git a/src/flask_session/sqlalchemy/sqlalchemy.py b/src/flask_session/sqlalchemy/sqlalchemy.py index 3f98757b..4841c84b 100644 --- a/src/flask_session/sqlalchemy/sqlalchemy.py +++ b/src/flask_session/sqlalchemy/sqlalchemy.py @@ -59,11 +59,9 @@ class SqlAlchemySessionInterface(ServerSideSessionInterface): :param bind_key: The db bind key to use. :param cleanup_n_requests: Delete expired sessions on average every N requests. - .. versionadded:: 1.0 - db changed to client to be standard on all session interfaces. - .. versionadded:: 0.7 - The `cleanup_n_requests`, `app`, `cleanup_n_requests` parameters were added. + db changed to client to be standard on all session interfaces. + The `cleanup_n_request` parameter was added. .. versionadded:: 0.6 The `sid_length`, `sequence`, `schema` and `bind_key` parameters were added. From d8c267976046d795aecd5ef4fb0c12185c850d97 Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 14 Mar 2024 13:06:59 +0800 Subject: [PATCH 64/84] Add more detail on regenerate --- docs/api.rst | 3 +++ docs/security.rst | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/api.rst b/docs/api.rst index 851ee882..8779f4d6 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -11,6 +11,9 @@ Anything documented here is part of the public API that Flask-Session provides, .. autoclass:: flask_session.base.ServerSideSession +.. autoclass:: flask_session.base.ServerSideSessionInterface + :members: regenerate + .. autoclass:: flask_session.redis.RedisSessionInterface .. autoclass:: flask_session.memcached.MemcachedSessionInterface .. autoclass:: flask_session.filesystem.FileSystemSessionInterface diff --git a/docs/security.rst b/docs/security.rst index 7987ea3c..66a42691 100644 --- a/docs/security.rst +++ b/docs/security.rst @@ -1,3 +1,5 @@ +.. currentmodule:: flask_session + Security ========== @@ -37,8 +39,7 @@ Session fixation ------------------ Session fixation is an attack that permits an attacker to hijack a valid user session. The attacker can fixate a user's session by providing them with a session identifier. The attacker can then use the session identifier to impersonate the user. - -As one tool among others that can mitigate session fixation, is regenerating the session identifier when a user logs in. This can be done by calling the ``session.regenerate()`` method. +As one tool among others that can mitigate session fixation, is regenerating the session identifier when a user logs in. This can be done by calling the :meth:`flask.Flask.session_interface.regenerate` method. This method is defined in :class:`flask_session.base.ServerSideSession`. .. code-block:: python From 7a65fb3a31f60ee73d7c477d82557266cfb8e069 Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 14 Mar 2024 13:14:52 +0800 Subject: [PATCH 65/84] Add contributors --- CONTRIBUTORS.md | 23 +++++++++++++++++++++++ README.rst | 11 +++++++++++ 2 files changed, 34 insertions(+) create mode 100644 CONTRIBUTORS.md diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 00000000..f8aafac8 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,23 @@ +## Contributors + +- [nebolax](https://github.com/nebolax) +- [Taragolis](https://github.com/Taragolis) +- [Lxstr](https://github.com/Lxstr) +- [yrro](https://github.com/yrro) +- [hluk](https://github.com/hluk) +- [idoshr](https://github.com/idoshr) +- [rayluo](https://github.com/rayluo) +- [davidism](https://github.com/davidism) +- [idocyabra](https://github.com/idocyabra) +- [darless](https://github.com/darless) +- [SqrtMinusOne](https://github.com/SqrtMinusOne) +- [tylersalminen](https://github.com/tylersalminen) +- [warrenbailey](https://github.com/warrenbailey) +- [imacat](https://github.com/imacat) +- [kim-sondrup](https://github.com/kim-sondrup) +- [bnjmn](https://github.com/bnjmn) +- [christopherpickering](https://github.com/christopherpickering) + +## Original Author + +- [fengsp](https://github.com/fengsp) diff --git a/README.rst b/README.rst index 9dcc86de..10c51f95 100644 --- a/README.rst +++ b/README.rst @@ -86,6 +86,17 @@ Documentation ------------- Learn more at the official `Flask-Session Documentation `_. +Maintainers +------------ +- `Lxstr `_ +- Pallets Team + +Contribute +---------- +Thanks to all those who have contributed to Flask-Session. A full list can be found at `CONTRIBUTORS.md `_. + +If you want to contribute, please check the `CONTRIBUTING.rst `_. + Donate -------- The Pallets organization develops and supports Flask-Session and other popular packages. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today. From 3425fcb1788ee8132579bf7733ade9e59193e8f9 Mon Sep 17 00:00:00 2001 From: Lex Date: Thu, 14 Mar 2024 13:55:26 +0800 Subject: [PATCH 66/84] Minor docs typo --- docs/introduction.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/introduction.rst b/docs/introduction.rst index 0d52765f..d6e7aadd 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -18,7 +18,7 @@ A cookie is also used, but it only contains the session identifier that links th .. tip:: There are generally (some exceptions) no individual session size limitations for server-side sessions, - but developers should be cautious about abusing this for amounts or types data that would be more suited for actual database storage. + but developers should be cautious about abusing this for large amounts or types of data that would be more suited for actual database storage. Flask-Session sequence diagram ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 08716806a33724acd89a8481ae1ff065a4852ac2 Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 15 Mar 2024 22:50:28 +0800 Subject: [PATCH 67/84] Refactor in line with flask save_session --- src/flask_session/base.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 5f363bc0..95856f67 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -246,6 +246,7 @@ def save_session( # Get the domain and path for the cookie from the app domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) + name = self.get_cookie_name(app) # Generate a prefixed session id store_id = self._get_store_id(session.sid) @@ -255,27 +256,31 @@ def save_session( # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie if session.modified: self._delete_session(store_id) - response.delete_cookie( - app.config["SESSION_COOKIE_NAME"], domain=domain, path=path - ) + response.delete_cookie(key=name, domain=domain, path=path) response.vary.add("Cookie") return # Update existing or create new session in the database self._upsert_session(app.permanent_session_lifetime, session, store_id) + # Get the additional required cookie settings + value = self._sign(app, session.sid) if self.use_signer else session.sid + expires = self.get_expiration_time(app, session) + httponly = self.get_cookie_httponly(app) + secure = self.get_cookie_secure(app) + samesite = ( + self.get_cookie_samesite(app) if self.has_same_site_capability else None + ) # Set the browser cookie response.set_cookie( - key=app.config["SESSION_COOKIE_NAME"], - value=self._sign(app, session.sid) if self.use_signer else session.sid, - expires=self.get_expiration_time(app, session), - httponly=self.get_cookie_httponly(app), - domain=self.get_cookie_domain(app), - path=self.get_cookie_path(app), - secure=self.get_cookie_secure(app), - samesite=( - self.get_cookie_samesite(app) if self.has_same_site_capability else None - ), + key=name, + value=value, + expires=expires, + httponly=httponly, + domain=domain, + path=path, + secure=secure, + samesite=samesite, ) response.vary.add("Cookie") From 56937a0200393933c68d03bb412142f4adf39b2f Mon Sep 17 00:00:00 2001 From: Lex Date: Fri, 15 Mar 2024 22:51:40 +0800 Subject: [PATCH 68/84] Add should_set_storage to save_session Fix #221 --- src/flask_session/base.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 95856f67..6733e373 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -197,6 +197,19 @@ def _sign(self, app, sid: str) -> str: def _get_store_id(self, sid: str) -> str: return self.key_prefix + sid + def should_set_storage(self, app: Flask, session: ServerSideSession) -> bool: + """Used by session backends to determine if session in storage + should be set for this session cookie for this response. If the session + has been modified, the session is set to storage. If + the ``SESSION_REFRESH_EACH_REQUEST`` config is true, the session is + always set to storage. In the second case, this means refreshing the + storage expiry even if the session has not been modified. + + .. versionadded:: 0.7.0 + """ + + return session.modified or app.config["SESSION_REFRESH_EACH_REQUEST"] + # CLEANUP METHODS FOR NON TTL DATABASES def _register_cleanup_app_command(self): @@ -240,8 +253,6 @@ def regenerate(self, session: ServerSideSession) -> None: def save_session( self, app: Flask, session: ServerSideSession, response: Response ) -> None: - if not self.should_set_cookie(app, session): - return # Get the domain and path for the cookie from the app domain = self.get_cookie_domain(app) @@ -260,8 +271,15 @@ def save_session( response.vary.add("Cookie") return + if not self.should_set_storage(app, session): + return + # Update existing or create new session in the database self._upsert_session(app.permanent_session_lifetime, session, store_id) + + if not self.should_set_cookie(app, session): + return + # Get the additional required cookie settings value = self._sign(app, session.sid) if self.use_signer else session.sid expires = self.get_expiration_time(app, session) From 7ab6980c8ba15912df13dd1e78242803e8104dd6 Mon Sep 17 00:00:00 2001 From: Lex Date: Sat, 16 Mar 2024 22:48:54 +0800 Subject: [PATCH 69/84] Add vary cookie for accessed session as per flask --- examples/hello.py | 5 +++++ src/flask_session/base.py | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/examples/hello.py b/examples/hello.py index 16599b3c..4afc2c1a 100644 --- a/examples/hello.py +++ b/examples/hello.py @@ -29,5 +29,10 @@ def delete(): return "deleted" +@app.route("/") +def hello(): + return "hello world" + + if __name__ == "__main__": app.run(debug=True) diff --git a/src/flask_session/base.py b/src/flask_session/base.py index 6733e373..04c6473c 100644 --- a/src/flask_session/base.py +++ b/src/flask_session/base.py @@ -38,6 +38,13 @@ class ServerSideSession(CallbackDict, SessionMixin): dict) then this must be set to ``True`` manually when modifying that data. The session cookie will only be written to the response if this is ``True``. + .. attribute:: accessed + + When data is read (or attempted read) or written, this is set to ``True``. Used by + :class:`.ServerSideSessionInterface` to add a ``Vary: Cookie`` + header, which allows caching proxies to cache different pages for + different users. + Default is ``False``. .. attribute:: permanent @@ -59,12 +66,26 @@ def __init__( ): def on_update(self) -> None: self.modified = True + self.accessed = True CallbackDict.__init__(self, initial, on_update) self.sid = sid if permanent: self.permanent = permanent self.modified = False + self.accessed = False + + def __getitem__(self, key: str) -> Any: + self.accessed = True + return super().__getitem__(key) + + def get(self, key: str, default: Any = None) -> Any: + self.accessed = True + return super().get(key, default) + + def setdefault(self, key: str, default: Any = None) -> Any: + self.accessed = True + return super().setdefault(key, default) def clear(self) -> None: """Clear the session except for the '_permanent' key.""" @@ -262,6 +283,12 @@ def save_session( # Generate a prefixed session id store_id = self._get_store_id(session.sid) + # Add a "Vary: Cookie" header if the session was accessed at all. + # This assumes the app is checking the session values in a request that + # behaves differently based on those values. ie. session.get("is_authenticated") + if session.accessed: + response.vary.add("Cookie") + # If the session is empty, do not save it to the database or set a cookie if not session: # If the session was deleted (empty and modified), delete the saved session from the database and tell the client to delete the cookie From aae7f4809ebdb79b80ae5bba4649ac0ef4f646eb Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 16:33:09 +0800 Subject: [PATCH 70/84] Add docs for serializer --- docs/config.rst | 2 ++ docs/config_serialization.rst | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 docs/config_serialization.rst diff --git a/docs/config.rst b/docs/config.rst index b712963f..44ff02af 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -9,6 +9,8 @@ Configuration .. include:: config_exceptions.rst +.. include:: config_serialization.rst + .. include:: config_flask.rst diff --git a/docs/config_serialization.rst b/docs/config_serialization.rst new file mode 100644 index 00000000..976c6106 --- /dev/null +++ b/docs/config_serialization.rst @@ -0,0 +1,10 @@ +Serialization +------------------------------------ + +.. warning:: + + Flask-session versions below 1.0.0 use pickle serialization (or fallback) for session storage. While not a direct vulnerability, it is a potential security risk. If you are using a version below 1.0.0, it is recommended to upgrade to the latest version as soon as it's available. + +From 0.7.0 the serializer is msgspec, which is configurable using ``SESSION_SERIALIZATION_FORMAT``. The default format is ``'msgpack'`` which has 30% storage reduction compared to ``'json'``. The ``'json'`` format may be helpful for debugging, easier viewing or compatibility. Switching between the two should be seamless, even for existing sessions. + +The msgspec library has speed and memory advantages over other libraries. However, if you want to use a different library (such as pickle or orjson), you can override the :attr:`session_interface.serializer`. From 226d2ad43b3e26942b518d6ee298d526efc7abfa Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 16:33:26 +0800 Subject: [PATCH 71/84] Add docker compose for easier devlopment --- CONTRIBUTING.rst | 6 ++++++ docker-compose.yml | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 docker-compose.yml diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 4fba3af3..531c4c72 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -44,6 +44,12 @@ Run the tests together or individually $ pytest tests $ pytest tests/test_basic.py +For easier startup and teardown of storage for testing you may use + +.. code-block:: bash + + $ docker-compose up -d + $ docker-compose down Pull requests -------------- diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..c5838f6a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +version: '3.8' + +services: + mongo: + image: mongo:latest + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: example + ports: + - "27017:27017" + volumes: + - mongo_data:/data/db + + redis: + image: redis:latest + ports: + - "6379:6379" + volumes: + - redis_data:/data + + memcached: + image: memcached:latest + ports: + - "11211:11211" + +volumes: + postgres_data: + mongo_data: + redis_data: \ No newline at end of file From c9eeb9a3597c9079b2ffc69100bdb3f8d257430e Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 16:34:10 +0800 Subject: [PATCH 72/84] Formatting --- tests/test_filesystem.py | 1 + tests/test_memcached.py | 1 + tests/test_mongodb.py | 3 ++- tests/test_redis.py | 3 ++- tests/test_sqlalchemy.py | 5 +++-- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index be4a9c4b..8e7e03c5 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -1,6 +1,7 @@ import tempfile import flask + from flask_session.filesystem import FileSystemSession diff --git a/tests/test_memcached.py b/tests/test_memcached.py index 0c455375..c7973a21 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -3,6 +3,7 @@ import flask import memcache # Import the memcache library + from flask_session.memcached import MemcachedSession diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index 0e3638be..f966d9ab 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -2,10 +2,11 @@ from contextlib import contextmanager import flask -from flask_session.mongodb import MongoDBSession from itsdangerous import want_bytes from pymongo import MongoClient +from flask_session.mongodb import MongoDBSession + class TestMongoSession: """This requires package: pymongo""" diff --git a/tests/test_redis.py b/tests/test_redis.py index b92d04df..3d6808c5 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -2,9 +2,10 @@ from contextlib import contextmanager import flask -from flask_session.redis import RedisSession from redis import Redis +from flask_session.redis import RedisSession + class TestRedisSession: """This requires package: redis""" diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 049b62a9..9196fee1 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -2,9 +2,10 @@ from contextlib import contextmanager import flask -from flask_session.sqlalchemy import SqlAlchemySession from sqlalchemy import text +from flask_session.sqlalchemy import SqlAlchemySession + class TestSQLAlchemy: """This requires package: sqlalchemy""" @@ -35,7 +36,7 @@ def test_use_signer(self, app_utils): app = app_utils.create_app( { "SESSION_TYPE": "sqlalchemy", - "SQLALCHEMY_DATABASE_URI": "sqlite:///", + "SQLALCHEMY_DATABASE_URI": "sqlite:///:memory:", } ) with app.app_context() and self.setup_sqlalchemy( From d4dda9fbea79d86b3599ed49d962e6a860f486c8 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 16:37:27 +0800 Subject: [PATCH 73/84] Describe upgrade process for serialization --- docs/config_serialization.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/config_serialization.rst b/docs/config_serialization.rst index 976c6106..7f3049fc 100644 --- a/docs/config_serialization.rst +++ b/docs/config_serialization.rst @@ -7,4 +7,6 @@ Serialization From 0.7.0 the serializer is msgspec, which is configurable using ``SESSION_SERIALIZATION_FORMAT``. The default format is ``'msgpack'`` which has 30% storage reduction compared to ``'json'``. The ``'json'`` format may be helpful for debugging, easier viewing or compatibility. Switching between the two should be seamless, even for existing sessions. +All sessions that are accessed or modified while using 0.7.0 will convert to a msgspec format. Once using 1.0.0, any sessions that are still in pickle format will be cleared upon access. + The msgspec library has speed and memory advantages over other libraries. However, if you want to use a different library (such as pickle or orjson), you can override the :attr:`session_interface.serializer`. From 8508fb99d0e70c912afbc522be1233978cfc8630 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 20:36:46 +0800 Subject: [PATCH 74/84] Update changelog --- CHANGES.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index c08d2d42..f99118c2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,6 +1,10 @@ -Version 0.7.0rc2 +0.7.0 - unreleased ------------------ +Changed +~~~~~~~~ +- Access session interfaces with ``flask_session.redis.RedisSessionInterface``. + Added ~~~~~~~ - Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'``. @@ -8,13 +12,15 @@ Added - Add time-to-live expiration for MongoDB. - Add retry for SQL based storage. - Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. -- Type hints. +- Add type hints. - Add logo and additional documentation. +- Add vary cookie header when session modified or accessed as per flask's built-in session. +- Add regenerate method to session interface to mitigate fixation. -Deprecated +Removed ~~~~~~~~~~ -- Deprecated pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will transfer to msgspec upon first interaction with 0.1.0. - Remove null session in favour of specific exception messages. +- Deprecate pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will convert to msgspec upon first interaction with 0.1.0. - Deprecate ``SESSION_USE_SIGNER``. - Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface`. @@ -23,8 +29,8 @@ Fixed - Prevent sid reuse on storage miss. - Abstraction to improve consistency between backends. - Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. -- Use Vary cookie header as per Flask. - Specifically include backend session interfaces in public API and document usage. +- Fix non-permanent sessions not updating expiry. Version 0.6.0 From e274c086929b5465eb564d5be01a6350baf2f91e Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 22:47:31 +0800 Subject: [PATCH 75/84] Typo in deprecation warning --- src/flask_session/filesystem/filesystem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flask_session/filesystem/filesystem.py b/src/flask_session/filesystem/filesystem.py index 781d6a2e..dd98b379 100644 --- a/src/flask_session/filesystem/filesystem.py +++ b/src/flask_session/filesystem/filesystem.py @@ -73,7 +73,7 @@ def __init__( ) warnings.warn( - "FileSystemSessionInterface is deprecated and will be removed in a future release. Instead use the CacheLib directly.", + "FileSystemSessionInterface is deprecated and will be removed in a future release. Instead use the CacheLib backend directly.", DeprecationWarning, stacklevel=1, ) From 9ead9ce2c767a291b9cf82dbf5aa1aac3a5b3240 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 22:47:43 +0800 Subject: [PATCH 76/84] Add tests for vary header --- tests/conftest.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index 3df962d3..8ab8425c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -14,6 +14,11 @@ def create_app(self, config_dict=None): if config_dict: app.config.update(config_dict) app.config["SESSION_SERIALIZATION_FORMAT"] = "json" + app.config["SESSION_PERMANENT"] = False + + @app.route("/", methods=["GET"]) + def app_hello(): + return "hello world" @app.route("/set", methods=["POST"]) def app_set(): @@ -43,9 +48,19 @@ def test_session(self, app): # Check no value is set from previous tests assert client.get("/get").data not in [b"42", b"43", b"44"] - # Set a value, modify it, and delete it + # Check if the Vary header is not set + rv = client.get("/") + assert "Vary" not in rv.headers + + # Set a value and check it assert client.post("/set", data={"value": "42"}).data == b"value set" assert client.get("/get").data == b"42" + + # Check if the Vary header is set + rv = client.get("/get") + assert rv.headers["Vary"] == "Cookie" + + # Modify and delete the value assert client.post("/modify", data={"value": "43"}).data == b"value set" assert client.get("/get").data == b"43" assert client.post("/delete").data == b"value deleted" From 35d25df5a80fe0c54e1805a57a84116afcf47648 Mon Sep 17 00:00:00 2001 From: Lex Date: Sun, 17 Mar 2024 22:47:56 +0800 Subject: [PATCH 77/84] Fix testing warnings --- tests/test_cachelib.py | 27 ++++++++++++++++++++++++--- tests/test_filesystem.py | 21 ++++++++++++++++++--- tests/test_memcached.py | 6 ++++-- tests/test_redis.py | 6 ++++-- tests/test_sqlalchemy.py | 6 +++--- 5 files changed, 53 insertions(+), 13 deletions(-) diff --git a/tests/test_cachelib.py b/tests/test_cachelib.py index 656a5c9e..39ad8f31 100644 --- a/tests/test_cachelib.py +++ b/tests/test_cachelib.py @@ -1,20 +1,41 @@ +import os +import shutil +from contextlib import contextmanager import flask +from cachelib.file import FileSystemCache + from flask_session.cachelib import CacheLibSession class TestCachelibSession: + session_dir = "testing_session_storage" + + @contextmanager + def setup_filesystem(self): + try: + yield + finally: + pass + if self.session_dir and os.path.isdir(self.session_dir): + shutil.rmtree(self.session_dir) def retrieve_stored_session(self, key, app): return app.session_interface.cache.get(key) def test_filesystem_default(self, app_utils): app = app_utils.create_app( - {"SESSION_TYPE": "cachelib", "SESSION_SERIALIZATION_FORMAT": "json"} + { + "SESSION_TYPE": "cachelib", + "SESSION_SERIALIZATION_FORMAT": "json", + "SESSION_CACHELIB": FileSystemCache( + threshold=500, cache_dir=self.session_dir + ), + } ) - # Should be using FileSystem - with app.test_request_context(): + # Should be using CacheLib (FileSystem) + with self.setup_filesystem(), app.test_request_context(): assert isinstance( flask.session, CacheLibSession, diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 8e7e03c5..31607043 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -1,4 +1,6 @@ -import tempfile +import os +import shutil +from contextlib import contextmanager import flask @@ -6,17 +8,30 @@ class TestFileSystemSession: + session_dir = "testing_session_storage" + + @contextmanager + def setup_filesystem(self): + try: + yield + finally: + pass + if self.session_dir and os.path.isdir(self.session_dir): + shutil.rmtree(self.session_dir) def retrieve_stored_session(self, key, app): return app.session_interface.cache.get(key) def test_filesystem_default(self, app_utils): app = app_utils.create_app( - {"SESSION_TYPE": "filesystem", "SESSION_FILE_DIR": tempfile.gettempdir()} + { + "SESSION_TYPE": "filesystem", + "SESSION_FILE_DIR": self.session_dir, + } ) # Should be using FileSystem - with app.test_request_context(): + with self.setup_filesystem(), app.test_request_context(): assert isinstance( flask.session, FileSystemSession, diff --git a/tests/test_memcached.py b/tests/test_memcached.py index c7973a21..62139932 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -12,8 +12,8 @@ class TestMemcachedSession: @contextmanager def setup_memcached(self): + self.mc = memcache.Client(["127.0.0.1:11211"], debug=0) try: - self.mc = memcache.Client(["127.0.0.1:11211"], debug=0) self.mc.flush_all() yield finally: @@ -25,7 +25,9 @@ def retrieve_stored_session(self, key): def test_memcached_default(self, app_utils): with self.setup_memcached(): - app = app_utils.create_app({"SESSION_TYPE": "memcached"}) + app = app_utils.create_app( + {"SESSION_TYPE": "memcached", "SESSION_MEMCACHED": self.mc} + ) with app.test_request_context(): assert isinstance( diff --git a/tests/test_redis.py b/tests/test_redis.py index 3d6808c5..06d59de3 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -12,8 +12,8 @@ class TestRedisSession: @contextmanager def setup_redis(self): + self.r = Redis() try: - self.r = Redis() self.r.flushall() yield finally: @@ -25,7 +25,9 @@ def retrieve_stored_session(self, key): def test_redis_default(self, app_utils): with self.setup_redis(): - app = app_utils.create_app({"SESSION_TYPE": "redis"}) + app = app_utils.create_app( + {"SESSION_TYPE": "redis", "SESSION_REDIS": self.r} + ) with app.test_request_context(): assert isinstance(flask.session, RedisSession) diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 9196fee1..15f7c782 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -1,10 +1,9 @@ import json from contextlib import contextmanager - +import pytest import flask -from sqlalchemy import text - from flask_session.sqlalchemy import SqlAlchemySession +from sqlalchemy import text class TestSQLAlchemy: @@ -32,6 +31,7 @@ def retrieve_stored_session(self, key, app): return session_model.data return None + @pytest.mark.filterwarnings("ignore:No valid SQLAlchemy instance provided") def test_use_signer(self, app_utils): app = app_utils.create_app( { From 22c2d90b7d9dc6703b4f0a9b885b5fe6c3e94bf0 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 12:54:22 +0800 Subject: [PATCH 78/84] Test python versions --- .github/workflows/test.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 008fc6bd..03448275 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -3,6 +3,9 @@ on: [push, pull_request] jobs: unittests: runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.8, 3.9, 3.10, 3.11, 3.12] services: mongodb: image: mongo From bd7e5b0bbfc10cdfa9c83b859593c69cc4381571 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 13:01:34 +0800 Subject: [PATCH 79/84] Drop python 3.7 --- CHANGES.rst | 1 + pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index f99118c2..a502ba76 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -20,6 +20,7 @@ Added Removed ~~~~~~~~~~ - Remove null session in favour of specific exception messages. +- Drop support for Python 3.7 which is EOL and precludes use of msgspec. - Deprecate pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will convert to msgspec upon first interaction with 0.1.0. - Deprecate ``SESSION_USE_SIGNER``. - Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface`. diff --git a/pyproject.toml b/pyproject.toml index 08305aa3..f887f826 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ classifiers = [ "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Software Development :: Libraries :: Application Frameworks", ] -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ "flask>=2.2", "msgspec>=0.18.6", From 78bc8c0a86d49b9f7515f94e3e4d1e48dcb28917 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 14:29:48 +0800 Subject: [PATCH 80/84] Formatting --- .gitignore | 3 +++ tests/test_cachelib.py | 1 - tests/test_filesystem.py | 1 - tests/test_memcached.py | 1 - tests/test_mongodb.py | 3 +-- tests/test_redis.py | 3 +-- tests/test_sqlalchemy.py | 5 +++-- 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 280fccba..20098be1 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ __pycache__/ docs/.DS_Store .DS_Store +.python-version +requirements.lock +requirements-dev.lock \ No newline at end of file diff --git a/tests/test_cachelib.py b/tests/test_cachelib.py index 39ad8f31..eda9bbb1 100644 --- a/tests/test_cachelib.py +++ b/tests/test_cachelib.py @@ -4,7 +4,6 @@ import flask from cachelib.file import FileSystemCache - from flask_session.cachelib import CacheLibSession diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 31607043..132eea28 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -3,7 +3,6 @@ from contextlib import contextmanager import flask - from flask_session.filesystem import FileSystemSession diff --git a/tests/test_memcached.py b/tests/test_memcached.py index 62139932..c4bb1aa6 100644 --- a/tests/test_memcached.py +++ b/tests/test_memcached.py @@ -3,7 +3,6 @@ import flask import memcache # Import the memcache library - from flask_session.memcached import MemcachedSession diff --git a/tests/test_mongodb.py b/tests/test_mongodb.py index f966d9ab..0e3638be 100644 --- a/tests/test_mongodb.py +++ b/tests/test_mongodb.py @@ -2,11 +2,10 @@ from contextlib import contextmanager import flask +from flask_session.mongodb import MongoDBSession from itsdangerous import want_bytes from pymongo import MongoClient -from flask_session.mongodb import MongoDBSession - class TestMongoSession: """This requires package: pymongo""" diff --git a/tests/test_redis.py b/tests/test_redis.py index 06d59de3..7c59964b 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -2,9 +2,8 @@ from contextlib import contextmanager import flask -from redis import Redis - from flask_session.redis import RedisSession +from redis import Redis class TestRedisSession: diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 15f7c782..e8c34b9e 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -1,7 +1,8 @@ import json from contextlib import contextmanager -import pytest + import flask +import pytest from flask_session.sqlalchemy import SqlAlchemySession from sqlalchemy import text @@ -36,7 +37,7 @@ def test_use_signer(self, app_utils): app = app_utils.create_app( { "SESSION_TYPE": "sqlalchemy", - "SQLALCHEMY_DATABASE_URI": "sqlite:///:memory:", + "SQLALCHEMY_DATABASE_URI": "sqlite:///", } ) with app.app_context() and self.setup_sqlalchemy( From a46bbbde3202bd351cdf795e16a5b8325e6fb626 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 14:30:47 +0800 Subject: [PATCH 81/84] Add rye support --- .gitignore | 2 +- CONTRIBUTING.rst | 31 +++++++++++++++++++++++++++---- pyproject.toml | 19 ++++++++++++++++++- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 20098be1..86d6893f 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,7 @@ __pycache__/ /docs/_build/ docs/.DS_Store - +.python-version .DS_Store .python-version requirements.lock diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 531c4c72..d9b7f0c7 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,5 +1,7 @@ Getting started ----------------- +Using pip +~~~~~~~~~~~ Navigate to the project directory and run the following commands: @@ -14,8 +16,8 @@ Install dependencies .. code-block:: bash - $ pip install -r requirements/dev.txt - $ pip install -r requirements/docs.txt + $ pip install -r requirements/dev.in + $ pip install -r requirements/docs.in Install the package in editable mode @@ -29,14 +31,19 @@ Lint the code $ ruff check --fix -Build updated documentation +Build updated documentation locally .. code-block:: bash - $ pip install -r requirements/docs.txt $ cd docs $ make html +or + +.. code-block:: bash + + $ sphinx-build -b html docs docs/_build + Run the tests together or individually .. code-block:: bash @@ -51,6 +58,22 @@ For easier startup and teardown of storage for testing you may use $ docker-compose up -d $ docker-compose down +Using rye +~~~~~~~~~~~ + +.. code-block:: bash + + $ rye pin 3.11 + $ rye sync + + +.. code-block:: bash + + $ rye run python examples/hello.py + + +etc. + Pull requests -------------- Please check previous pull requests before submitting a new one. \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index f887f826..b31e38f2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,4 +67,21 @@ select = [ # isort "I", ] -ignore = ["E501"] \ No newline at end of file +ignore = ["E501"] + +[tool.rye] +managed = true +dev-dependencies = [ + "ruff>=0.3.3", + "pytest>=7.4.4", + "pytest-cov>=4.1.0", + "redis>=5.0.3", + "python-memcached>=1.62", + "flask-sqlalchemy>=3.0.5", + "pymongo>=4.6.2", + "cachelib>=0.10.2", + "msgspec>=0.18.6", + "sphinx>=7.1.2", + "furo>=2024.1.29", + "sphinx-favicon>=1.0.1", +] From 6dfd17ee556384ad6bda73c903aa8091416e2b2e Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 16:44:19 +0800 Subject: [PATCH 82/84] Use common changelog spec --- CHANGES.rst | 94 +++++++++++++++++++++++++++++------------------------ README.rst | 4 +++ 2 files changed, 56 insertions(+), 42 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index a502ba76..0b6205f1 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,96 +1,106 @@ -0.7.0 - unreleased +0.7.0 - 2024-03-18 ------------------ Changed ~~~~~~~~ -- Access session interfaces with ``flask_session.redis.RedisSessionInterface``. +- Access session interfaces with ``flask_session.redis.RedisSessionInterface`` (`2bc7df `_). +- Deprecate pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will convert to msgspec upon first interaction with 0.1.0 (`c7f8ce `_) +- Deprecate ``SESSION_USE_SIGNER`` (`a5dba7 `_). +- Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface` (`2bc7df `_). Added ~~~~~~~ -- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'``. +- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'`` (`c7f8ce `_). - All sessions that are accessed or modified while using 0.7.0 will convert to msgspec. Once using 1.0.0, any sessions that are still in pickle will be cleared upon access. -- Add time-to-live expiration for MongoDB. -- Add retry for SQL based storage. -- Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends. -- Add type hints. +- Add time-to-live expiration for MongoDB (`9acee3 `_). +- Add retry for SQL based storage (`#211 `_). +- Add ``flask session_cleanup`` command and alternatively, ``SESSION_CLEANUP_N_REQUESTS`` for SQLAlchemy or future non-TTL backends (`#211 `_). +- Add type hints (`7d7d58 `_). - Add logo and additional documentation. -- Add vary cookie header when session modified or accessed as per flask's built-in session. -- Add regenerate method to session interface to mitigate fixation. +- Add vary cookie header when session modified or accessed as per flask's built-in session (`7ab698 `_). +- Add regenerate method to session interface to mitigate fixation (`#27 `_, `#39 `_)(`80df63 `_). Removed ~~~~~~~~~~ -- Remove null session in favour of specific exception messages. -- Drop support for Python 3.7 which is EOL and precludes use of msgspec. -- Deprecate pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will convert to msgspec upon first interaction with 0.1.0. -- Deprecate ``SESSION_USE_SIGNER``. -- Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface`. +- Remove null session in favour of specific exception messages (`d7ed1c `_). +- Drop support for Python 3.7 which is end-of-life and precludes use of msgspec (`bd7e5b `_). Fixed ~~~~~ -- Prevent sid reuse on storage miss. +- Prevent sid reuse on storage miss (`#76 `_). - Abstraction to improve consistency between backends. -- Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends. -- Specifically include backend session interfaces in public API and document usage. -- Fix non-permanent sessions not updating expiry. +- Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends (`#81 `_)(`86895b `_). +- Specifically include backend session interfaces in public API and document usage (`#210 `_). +- Fix non-permanent sessions not updating expiry (`#221 `_). -Version 0.6.0 +0.6.0 - 2024-01-16 ------------------ -Released 2024-01-16 +Changed +~~~~~~~~ - Use :meth:`~ServerSideSession.should_set_cookie` for preventing each request from saving the session again. -- Permanent session otherwise empty will not be saved. -- Use `secrets` module to generate session identifiers, with 256 bits of - entropy (was previously 122). -- Explicitly name support for python-memcached, pylibmc and pymemcache. -- Introduce SESSION_KEY_LENGTH to control the length of the session key in bytes, default is 32. +- Do not store a permanent session that is otherwise empty. +- Use `secrets` module to generate session identifiers, with 256 bits of entropy (was previously 122). +- Explicitly name support for ``python-memcached``, ``pylibmc`` and ``pymemcache`` for ``cachelib`` backend. + +Added +~~~~~~~ + +- Introduce ``SESSION_KEY_LENGTH`` to control the length of the session key in bytes, default is 32. +- Support SQLAlchemy ``SESSION_SQLALCHEMY_SEQUENCE``, ``SESSION_SQLALCHEMY_SCHEMA`` and ``SESSION_SQLALCHEMY_BINDKEY`` + +Removed +~~~~~~~~~~ + +- Drop support for Redis < 2.6.12. + +Fixed +~~~~~ + - Fix pymongo 4.0 compatibility. - Fix expiry is None bug in SQLAlchemy. - Fix bug when existing SQLAlchemy db instance. -- Support SQLAlchemy SESSION_SQLALCHEMY_SEQUENCE, SESSION_SQLALCHEMY_SCHEMA and SESSION_SQLALCHEMY_BINDKEY -- Drop support for Redis < 2.6.12. - Fix empty sessions being saved. - Support Flask 3.0 and Werkzeug 3.0 -Version 0.5.0 +0.5.0 - 2023-05-11 ------------- -Released 2023-05-11 - - Drop support for Python < 3.7. - Switch to ``pyproject.toml`` and Flit for packaging. - Move to Pallets Community Ecosystem for community-driven maintenance. - Replace use of ``session_cookie_name`` for Flask 2.3 compatibility. -Version 0.4.1 +0.4.1 ------------- - Temporarily pin Flask < 2.3. -Version 0.4.0 +0.4.0 ------------- - Added support for ``SESSION_COOKIE_SAMESITE``. -Version 0.3.2 +0.3.2 ------------- - Changed ``werkzeug.contrib.cache`` to ``cachelib``. -Version 0.3.1 +0.3.1 ------------- - ``SqlAlchemySessionInterface`` is using ``VARCHAR(255)`` to store session id now. - ``SqlAlchemySessionInterface`` won't run `db.create_all` anymore. -Version 0.3 +0.3 ----------- - ``SqlAlchemySessionInterface`` is using ``LargeBinary`` type to store data now. @@ -98,7 +108,7 @@ Version 0.3 - Fixed ``TypeError`` when getting ``store_id`` using a signer. -Version 0.2.3 +0.2.3 ------------- - Fixed signing failure in Python 3. @@ -107,19 +117,19 @@ Version 0.2.3 - Fixed ``StrictRedis`` support. -Version 0.2.2 +0.2.2 ------------- - Added support for non-permanent session. -Version 0.2.1 +0.2.1 ------------- - Fixed signing failure. -Version 0.2 +0.2 ----------- - Added ``SqlAlchemySessionInterface``. @@ -127,13 +137,13 @@ Version 0.2 - Various bugfixes. -Version 0.1.1 +0.1.1 ------------- -Fixed MongoDB backend ``InvalidDocument`` error. +- Fixed MongoDB backend ``InvalidDocument`` error. -Version 0.1 +0.1 ----------- - First public preview release. diff --git a/README.rst b/README.rst index 10c51f95..32c715aa 100644 --- a/README.rst +++ b/README.rst @@ -23,6 +23,10 @@ your application. :target: ./LICENSE :alt: BSD-3 Clause License +.. image:: https://common-changelog.org/badge.svg + :target: https://common-changelog.org + :alt: Common Changelog + .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&label=style :target: https://github.com/astral-sh/ruff :alt: Code style: ruff From 3bc0d7c403d24c354ceec4aa5ed3fedb83f270ea Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 16:44:30 +0800 Subject: [PATCH 83/84] Prep release --- src/flask_session/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flask_session/__init__.py b/src/flask_session/__init__.py index 1dd75034..b1abf810 100644 --- a/src/flask_session/__init__.py +++ b/src/flask_session/__init__.py @@ -1,6 +1,6 @@ from .defaults import Defaults -__version__ = "0.7.0rc2" +__version__ = "0.7.0" class Session: From 4bb803c6b1bf5c0bb0d474b72b43c9a4074c8b38 Mon Sep 17 00:00:00 2001 From: Lex Date: Mon, 18 Mar 2024 23:05:47 +0800 Subject: [PATCH 84/84] Fix changelog typos and clarity --- CHANGES.rst | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 0b6205f1..ee21c940 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3,14 +3,13 @@ Changed ~~~~~~~~ -- Access session interfaces with ``flask_session.redis.RedisSessionInterface`` (`2bc7df `_). -- Deprecate pickle. It is still available to read existing sessions, but will be removed in 1.0.0. All sessions will convert to msgspec upon first interaction with 0.1.0 (`c7f8ce `_) +- Access session interfaces via subfolder, for example ``flask_session.redis.RedisSessionInterface`` (`2bc7df `_). +- Deprecate ``pickle`` in favor of ``msgspec``, which is configured with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'``. All sessions will convert to msgspec upon first interaction with 0.7.0. Pickle is still available to read existing sessions, but will be removed in 1.0.0. (`c7f8ce `_, `c7f8ce `_) - Deprecate ``SESSION_USE_SIGNER`` (`a5dba7 `_). - Deprecate :class:`flask_session.filesystem.FileSystemSessionInterface` in favor of the broader :class:`flask_session.cachelib.CacheLibSessionInterface` (`2bc7df `_). Added ~~~~~~~ -- Use msgpack for serialization, along with ``SESSION_SERIALIZATION_FORMAT`` to choose between ``'json'`` and ``'msgpack'`` (`c7f8ce `_). - All sessions that are accessed or modified while using 0.7.0 will convert to msgspec. Once using 1.0.0, any sessions that are still in pickle will be cleared upon access. - Add time-to-live expiration for MongoDB (`9acee3 `_). - Add retry for SQL based storage (`#211 `_). @@ -18,16 +17,16 @@ Added - Add type hints (`7d7d58 `_). - Add logo and additional documentation. - Add vary cookie header when session modified or accessed as per flask's built-in session (`7ab698 `_). -- Add regenerate method to session interface to mitigate fixation (`#27 `_, `#39 `_)(`80df63 `_). +- Add regenerate method to session interface to mitigate fixation (`#27 `_, `#39 `_)(`80df63 `_). Removed ~~~~~~~~~~ -- Remove null session in favour of specific exception messages (`d7ed1c `_). +- Remove null session in favour of relevant exception messages (`#107 `_, `#182 `_)(`d7ed1c `_). - Drop support for Python 3.7 which is end-of-life and precludes use of msgspec (`bd7e5b `_). Fixed ~~~~~ -- Prevent sid reuse on storage miss (`#76 `_). +- Prevent session identifier reuse on storage miss (`#76 `_). - Abstraction to improve consistency between backends. - Enforce ``PERMANENT_SESSION_LIFETIME`` as expiration consistently for all backends (`#81 `_)(`86895b `_). - Specifically include backend session interfaces in public API and document usage (`#210 `_). @@ -67,7 +66,7 @@ Fixed 0.5.0 - 2023-05-11 -------------- +------------------- - Drop support for Python < 3.7. - Switch to ``pyproject.toml`` and Flit for packaging.

(3v_5E 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 R(#}f&^mUB2-)lO(_z$!zy!!wE literal 0 HcmV?d00001 diff --git a/docs/_static/icon/safari-pinned-tab.svg b/docs/_static/icon/safari-pinned-tab.svg new file mode 100644 index 00000000..85c34d56 --- /dev/null +++ b/docs/_static/icon/safari-pinned-tab.svg @@ -0,0 +1,44 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/docs/_static/logo/logo-black.png b/docs/_static/logo/logo-black.png new file mode 100644 index 0000000000000000000000000000000000000000..63b24ce13e642d22ce048c5b09e13e1d5b6948ee GIT binary patch literal 44066 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