diff --git a/README.rst b/README.rst
index f933de3235474602edc22d9552a69c2ac414c37e..d638ee800c6e24eab2d7f732f785db9c795a38dd 100644
--- a/README.rst
+++ b/README.rst
@@ -16,15 +16,15 @@ Licence
 
 ::
 
-  Copyright © 2019–2020 Tom Teichler <tom.teichler@teckids.org>
-  Copyright © 2019 Dominik George <dominik.george@teckids.org>
+  Copyright © 2019,2021 Dominik George <dominik.george@teckids.org>
+  Copyright © 2019,2020 Tom Teichler <tom.teichler@teckids.org>
   Copyright © 2019 mirabilos <thorsten.glaser@teckids.org>
+  Copyright © 2020,2021 Jonathan Weth <dev@jonathanweth.de>
   Copyright © 2020 Julian Leucker <leuckeju@katharineum.de>
-  Copyright © 2020 Jonathan Weth <wethjo@katharineum.de>
   Copyright © 2020 Hangzhi Yu <yuha@katharineum.de>
 
 
-  Licenced under the EUPL, version 1.2 or later
+  Licenced under the EUPL, version 1.2 or later, by Teckids e.V. (Bonn, Germany).
 
 Please see the LICENCE.rst file accompanying this distribution for the
 full licence text or on the `European Union Public Licence`_ website
diff --git a/aleksis/apps/alsijil/__init__.py b/aleksis/apps/alsijil/__init__.py
index 3f6bb77a1ebd7eb3520f1f0774450a6185f24d3c..2de7e8cc8e8b55a7dea86f2d2d13324bd51dd1a3 100644
--- a/aleksis/apps/alsijil/__init__.py
+++ b/aleksis/apps/alsijil/__init__.py
@@ -4,5 +4,3 @@ try:
     __version__ = pkg_resources.get_distribution("AlekSIS-App-Alsijil").version
 except Exception:
     __version__ = "unknown"
-
-default_app_config = "aleksis.apps.alsijil.apps.AlsijilConfig"
diff --git a/aleksis/apps/alsijil/apps.py b/aleksis/apps/alsijil/apps.py
index 47a7aa392860cf9c4b577efbad090b734943d4b1..907238a224a02ed339b40bd1c1872be29957e11c 100644
--- a/aleksis/apps/alsijil/apps.py
+++ b/aleksis/apps/alsijil/apps.py
@@ -10,10 +10,10 @@ class AlsijilConfig(AppConfig):
     }
     licence = "EUPL-1.2+"
     copyright_info = (
+        ([2019, 2021], "Dominik George", "dominik.george@teckids.org"),
         ([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"),
-        ([2019], "Dominik George", "dominik.george@teckids.org"),
         ([2019], "mirabilos", "thorsten.glaser@teckids.org"),
+        ([2020, 2021], "Jonathan Weth", "dev@jonathanweth.de"),
         ([2020], "Julian Leucker", "leuckeju@katharineum.de"),
-        ([2020], "Jonathan Weth", "wethjo@katharineum.de"),
         ([2020], "Hangzhi Yu", "yuha@katharineum.de"),
     )
diff --git a/aleksis/apps/alsijil/migrations/0001_initial.py b/aleksis/apps/alsijil/migrations/0001_initial.py
index ada9a2f3fde844dab66bc31ec2e0c1bc1fc697c9..4a88b98b89eb6b5ed6aa914096c032b689710bde 100644
--- a/aleksis/apps/alsijil/migrations/0001_initial.py
+++ b/aleksis/apps/alsijil/migrations/0001_initial.py
@@ -1,6 +1,5 @@
 # Generated by Django 3.0.6 on 2020-05-29 10:29
 
-import django.contrib.postgres.fields.jsonb
 import django.contrib.sites.managers
 import django.db.models.deletion
 from django.db import migrations, models
@@ -24,7 +23,7 @@ class Migration(migrations.Migration):
             fields=[
                 (
                     "id",
-                    models.AutoField(
+                    models.BigAutoField(
                         auto_created=True,
                         primary_key=True,
                         serialize=False,
@@ -33,7 +32,7 @@ class Migration(migrations.Migration):
                 ),
                 (
                     "extended_data",
-                    django.contrib.postgres.fields.jsonb.JSONField(
+                    models.JSONField(
                         default=dict, editable=False
                     ),
                 ),
@@ -83,7 +82,7 @@ class Migration(migrations.Migration):
             fields=[
                 (
                     "id",
-                    models.AutoField(
+                    models.BigAutoField(
                         auto_created=True,
                         primary_key=True,
                         serialize=False,
@@ -92,7 +91,7 @@ class Migration(migrations.Migration):
                 ),
                 (
                     "extended_data",
-                    django.contrib.postgres.fields.jsonb.JSONField(
+                    models.JSONField(
                         default=dict, editable=False
                     ),
                 ),
@@ -140,14 +139,14 @@ class Migration(migrations.Migration):
                 ],
                 "unique_together": {("lesson_period", "week", "person")},
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[],
         ),
         migrations.CreateModel(
             name="LessonDocumentation",
             fields=[
                 (
                     "id",
-                    models.AutoField(
+                    models.BigAutoField(
                         auto_created=True,
                         primary_key=True,
                         serialize=False,
@@ -156,7 +155,7 @@ class Migration(migrations.Migration):
                 ),
                 (
                     "extended_data",
-                    django.contrib.postgres.fields.jsonb.JSONField(
+                    models.JSONField(
                         default=dict, editable=False
                     ),
                 ),
@@ -202,6 +201,6 @@ class Migration(migrations.Migration):
                 ],
                 "unique_together": {("lesson_period", "week")},
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[],
         ),
     ]
diff --git a/aleksis/apps/alsijil/migrations/0002_excuse_type.py b/aleksis/apps/alsijil/migrations/0002_excuse_type.py
index 6e4df12f7219969a1059abcd0757be1999a4fb6a..395d2e323cb3396f434da5e0c3ebef768589331b 100644
--- a/aleksis/apps/alsijil/migrations/0002_excuse_type.py
+++ b/aleksis/apps/alsijil/migrations/0002_excuse_type.py
@@ -1,6 +1,5 @@
 # Generated by Django 3.0.8 on 2020-07-10 10:46
 
-import django.contrib.postgres.fields.jsonb
 import django.contrib.sites.managers
 import django.db.models.deletion
 from django.db import migrations, models
@@ -19,7 +18,7 @@ class Migration(migrations.Migration):
             fields=[
                 (
                     "id",
-                    models.AutoField(
+                    models.BigAutoField(
                         auto_created=True,
                         primary_key=True,
                         serialize=False,
@@ -28,7 +27,7 @@ class Migration(migrations.Migration):
                 ),
                 (
                     "extended_data",
-                    django.contrib.postgres.fields.jsonb.JSONField(
+                    models.JSONField(
                         default=dict, editable=False
                     ),
                 ),
diff --git a/aleksis/apps/alsijil/migrations/0003_extra_mark.py b/aleksis/apps/alsijil/migrations/0003_extra_mark.py
index 9f8d658c2668e7fcc7598320d1d99161527a0699..e0da8d97ef6b5ec1b1e45f9e6e6f976864907626 100644
--- a/aleksis/apps/alsijil/migrations/0003_extra_mark.py
+++ b/aleksis/apps/alsijil/migrations/0003_extra_mark.py
@@ -1,6 +1,5 @@
 # Generated by Django 3.0.8 on 2020-07-12 12:43
 
-import django.contrib.postgres.fields.jsonb
 import django.contrib.sites.managers
 import django.db.models.deletion
 from django.db import migrations, models
@@ -19,7 +18,7 @@ class Migration(migrations.Migration):
             fields=[
                 (
                     "id",
-                    models.AutoField(
+                    models.BigAutoField(
                         auto_created=True,
                         primary_key=True,
                         serialize=False,
@@ -28,7 +27,7 @@ class Migration(migrations.Migration):
                 ),
                 (
                     "extended_data",
-                    django.contrib.postgres.fields.jsonb.JSONField(
+                    models.JSONField(
                         default=dict, editable=False
                     ),
                 ),
diff --git a/aleksis/apps/alsijil/migrations/0008_global_permissions.py b/aleksis/apps/alsijil/migrations/0008_global_permissions.py
index 8974e8062f6e7915a9b901bcbf374ae13b846517..384a03aa8a5683162c86c1ef52ab1fdddc1dda63 100644
--- a/aleksis/apps/alsijil/migrations/0008_global_permissions.py
+++ b/aleksis/apps/alsijil/migrations/0008_global_permissions.py
@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='AlsijilGlobalPermissions',
             fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('extended_data', models.JSONField(default=dict, editable=False)),
             ],
             options={
diff --git a/aleksis/apps/alsijil/migrations/0009_group_roles.py b/aleksis/apps/alsijil/migrations/0009_group_roles.py
index ec8a061f05353e080a6b343eb7fbaa78f73b8146..5bf3840bf7a4025db2ec5ef9211d4efa37aecff9 100644
--- a/aleksis/apps/alsijil/migrations/0009_group_roles.py
+++ b/aleksis/apps/alsijil/migrations/0009_group_roles.py
@@ -19,7 +19,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='GroupRole',
             fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('extended_data', models.JSONField(default=dict, editable=False)),
                 ('name', models.CharField(max_length=255, verbose_name='Name')),
                 ('icon', models.CharField(blank=True, choices=(lambda: ICONS)(), max_length=50, verbose_name='Icon')),
@@ -34,7 +34,7 @@ class Migration(migrations.Migration):
         migrations.CreateModel(
             name='GroupRoleAssignment',
             fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('extended_data', models.JSONField(default=dict, editable=False)),
                 ('date_start', models.DateField(verbose_name='Start date')),
                 ('date_end', models.DateField(blank=True, help_text='Can be left empty if end date is not clear yet', null=True, verbose_name='End date')),
diff --git a/aleksis/apps/alsijil/migrations/0010_events_extra_lessons.py b/aleksis/apps/alsijil/migrations/0010_events_extra_lessons.py
index 34611bf386a55de933219217c7fabb0709f2f14e..f0459292f8d754f1eb98522661dd7b630bd5f69c 100644
--- a/aleksis/apps/alsijil/migrations/0010_events_extra_lessons.py
+++ b/aleksis/apps/alsijil/migrations/0010_events_extra_lessons.py
@@ -55,7 +55,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='lessondocumentation',
             name='year',
-            field=models.IntegerField(blank=True, default=aleksis.apps.chronos.util.date.get_current_year, null=True, verbose_name='Year'),
+            field=models.IntegerField(blank=True, null=True, verbose_name='Year'),
         ),
         migrations.AlterField(
             model_name='personalnote',
@@ -70,7 +70,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='personalnote',
             name='year',
-            field=models.IntegerField(blank=True, default=aleksis.apps.chronos.util.date.get_current_year, null=True, verbose_name='Year'),
+            field=models.IntegerField(blank=True, null=True, verbose_name='Year'),
         ),
         migrations.AlterUniqueTogether(
             name='lessondocumentation',
diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index d7bcb239d7d35e26c479c4f6582c31d429b1725f..94044b74a3f3c859cd95ae19290e375baf9ee595 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -312,12 +312,10 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
 
         Can be deactivated using site preference ``alsijil__carry_over``.
         """
-        following_periods = LessonPeriod.objects.filter(
-            lesson=self.lesson_period.lesson,
-            period__weekday=self.lesson_period.period.weekday,
-            period__period__gt=self.lesson_period.period.period,
+        all_periods_of_lesson = LessonPeriod.objects.filter(
+            lesson=self.lesson_period.lesson, period__weekday=self.lesson_period.period.weekday,
         )
-        for period in following_periods:
+        for period in all_periods_of_lesson:
             lesson_documentation = period.get_or_create_lesson_documentation(
                 CalendarWeek(week=self.week, year=self.year)
             )
@@ -337,16 +335,17 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
                 changed = True
 
             if changed:
-                lesson_documentation.save()
+                lesson_documentation.save(carry_over=False)
 
     def __str__(self) -> str:
         return f"{self.lesson_period}, {self.date_formatted}"
 
-    def save(self, *args, **kwargs):
+    def save(self, carry_over=True, *args, **kwargs):
         if (
             get_site_preferences()["alsijil__carry_over"]
             and (self.topic or self.homework or self.group_note)
             and self.lesson_period
+            and carry_over
         ):
             self._carry_over_data()
         super().save(*args, **kwargs)
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 13e781bfb24e3dab3184aa0145dadde7dffd3987..94b8b8118d77afe98d53283b8375509a86d2c986 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -14,8 +14,8 @@
     <div class="row no-margin">
       <div class="col s12 no-padding">
         {# Back to week view #}
-        {% if lesson_documentation %}
-          <a href="{% url "week_view_by_week" lesson_documentation.calendar_week.year lesson_documentation.calendar_week.week "group" register_object.get_groups.all.0.pk %}"
+        {% if back_to_week_url %}
+          <a href="{{ back_to_week_url }}"
              class="btn primary-color waves-light waves-effect alsijil-top-button">
             <i class="material-icons left">chevron_left</i> {% trans "Back to week view" %}
           </a>
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
index 8c83accaf9b7cfc9e07a2b05c16961d3f959fd75..fa44199cb8609c753d38c01eebbfca9962639ed9 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
@@ -120,7 +120,7 @@
                           </td>
                           <td class="tr-link">
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% if register_object.period %}
                                 {{ register_object.period.period }}.
                               {% else %}
@@ -131,7 +131,7 @@
                           {% if not group %}
                             <td>
                               <a class="tr-link"
-                                 href="{{ register_object.alsijil_url }}">
+                                 href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                                 {% if register_object.lesson %}
                                   {{ register_object.lesson.group_names }}
                                 {% else %}
@@ -142,7 +142,7 @@
                           {% endif %}
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% if register_object.get_subject %}
                                 {{ register_object.get_subject.name }}
                               {% elif register_object.subject %}
@@ -154,25 +154,25 @@
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                                 {{ register_object.teacher_names }}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.topic "–" %}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.homework "–" %}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.group_note "–" %}
                             </a>
                           </td>
@@ -195,7 +195,7 @@
                         {% has_perm "alsijil.view_lessondocumentation" user register_object as can_view_lesson_documentation %}
                         {% if can_view_lesson_documentation %}
                           <a class="collection-item avatar"
-                             href="{{ register_object.alsijil_url }}">
+                             href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                             {% include "alsijil/partials/lesson_status_icon.html" with register_object=register_object css_class="materialize-circle" color_suffix=" " %}
                             <table class="hide-on-med-and-down">
                               <tr>
@@ -278,7 +278,7 @@
                                   </li>
                                 {% endif %}
                                 <li class="collection-item">
-                                    {{ register_object.teacher_names }}
+                                  {{ register_object.teacher_names }}
                                 </li>
                                 <li class="collection-item">
                                   {{ register_object.get_lesson_documentation.topic }}
diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py
index 20d1a94ab12811a2aa8e8b0664746bd4dbaed7bd..b7442f9986730dc23de2611602f06b85e5ef9b9b 100644
--- a/aleksis/apps/alsijil/util/alsijil_helpers.py
+++ b/aleksis/apps/alsijil/util/alsijil_helpers.py
@@ -168,8 +168,9 @@ def _generate_dicts_for_lesson_periods(
     """Generate a list of dicts for use with ``RegisterObjectTable``."""
     if not holiday_days:
         holiday_days = []
-    date_start = lesson_periods.first().lesson.validity.date_start
-    date_end = lesson_periods.last().lesson.validity.date_end
+    lesson_periods = list(lesson_periods)
+    date_start = lesson_periods[0].lesson.validity.date_start
+    date_end = lesson_periods[-1].lesson.validity.date_end
     if (
         filter_dict["filter_date"]
         and filter_dict.get("date_start") > date_start
@@ -288,6 +289,7 @@ def _generate_dicts_for_events_and_extra_lessons(
             period = f"{register_object.period.period}."
             period_sort = register_object.period.period
         else:
+            register_object.annotate_day(register_object.date_end)
             day = (
                 f"{date_format(register_object.date_start)}"
                 f"–{date_format(register_object.date_end)}"
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 2d4889f6c52eab31cb84c588312712a46d4c427f..ac76e5451057210b18ff282b23a7dbbf74b8983e 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -12,6 +12,7 @@ from django.shortcuts import get_object_or_404, redirect, render
 from django.urls import reverse, reverse_lazy
 from django.utils import timezone
 from django.utils.decorators import method_decorator
+from django.utils.http import url_has_allowed_host_and_scheme
 from django.utils.translation import ugettext as _
 from django.views import View
 from django.views.decorators.cache import never_cache
@@ -38,6 +39,7 @@ from aleksis.core.mixins import (
 from aleksis.core.models import Group, Person, SchoolTerm
 from aleksis.core.util import messages
 from aleksis.core.util.core_helpers import get_site_preferences, objectgetter_optional
+from aleksis.core.util.pdf import render_pdf
 from aleksis.core.util.predicates import check_global_permission
 
 from .filters import PersonalNoteFilter
@@ -276,6 +278,22 @@ def register_object(
                     None, queryset=persons_qs, prefix="personal_notes"
                 )
 
+        back_url = request.GET.get("back", "")
+        back_url_is_safe = url_has_allowed_host_and_scheme(
+            url=back_url, allowed_hosts={request.get_host()}, require_https=request.is_secure(),
+        )
+        if back_url_is_safe:
+            context["back_to_week_url"] = back_url
+        else:
+            context["back_to_week_url"] = reverse(
+                "week_view_by_week",
+                args=[
+                    lesson_documentation.calendar_week.year,
+                    lesson_documentation.calendar_week.week,
+                    "group",
+                    register_object.get_groups().all()[0].pk,
+                ],
+            )
         context["lesson_documentation"] = lesson_documentation
         context["lesson_documentation_form"] = lesson_documentation_form
         context["personal_note_formset"] = personal_note_formset
@@ -676,7 +694,7 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
         "lessons__teachers",
         "lessons__lesson_periods",
     )
-    return render(request, "alsijil/print/full_register.html", context)
+    return render_pdf(request, "alsijil/print/full_register.html", context)
 
 
 @permission_required("alsijil.view_my_students")
diff --git a/poetry.lock b/poetry.lock
index 3cb770b68e9bd3ecce2d3d421d54164c22faae7e..51244688ff8b93c438023c5c9f89f655e9866344 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -8,14 +8,14 @@ python-versions = "*"
 
 [[package]]
 name = "aleksis-app-chronos"
-version = "2.0a4.dev0+20210112212026.c6be335f"
+version = "2.0a5.dev0+20210515135650.2957899f"
 description = "AlekSIS (School Information System) — App Χρόνος (digital timetables)"
 category = "main"
 optional = false
 python-versions = ">=3.7,<4.0"
 
 [package.dependencies]
-aleksis-core = ">=2.0a3,<3.0"
+aleksis-core = ">=2.0a5,<3.0"
 calendarweek = ">=0.5.0,<0.6.0"
 
 [package.source]
@@ -2601,102 +2601,8 @@ alabaster = [
     {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
 ]
 aleksis-app-chronos = [
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210112212026.c6be335f.tar.gz", hash = "sha256:0a8e394881cf9092668175d7304e4a540e6d8f8157d85282fa0001b933ce2c7b"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210123163207.36d38608.tar.gz", hash = "sha256:80ce1b6cd97999d0eb213984edbf7fb35fdec3af9cf92c6e0deb5e823762c2d8"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210124160248.fa73bb8a.tar.gz", hash = "sha256:3893e9cc131c1a93f53498ba4ccfc5cf1c30e3b2f55e02e2ec2de27ddda51114"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210124194434.d261b968.tar.gz", hash = "sha256:4455c0e69c56247c7d7b9526d6ceeedfff8723edff437146f1d635404f70f6c3"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210206173945.5eedbafd.tar.gz", hash = "sha256:d66f42baca7d2b8e40d506ac6cd2d462cd271219cd99cd3cb421e0a805854648"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210208122210.13e599ee.tar.gz", hash = "sha256:4e6dea9cb9c4b20fff05aa35c8c8e873b2ae90529c9222ad31c86685a7f68afd"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210217200708.48c5e565.tar.gz", hash = "sha256:82b3ebfdb70196417262447e127d0e400d3fac1c2dbd9df57b8a6cd1d445d7fe"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210220100449.963aee62.tar.gz", hash = "sha256:4a2ab69656fdbc51274677d71d9445831da94361d8f9b4e57309694fe89f7fb8"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210221184534.abd57121.tar.gz", hash = "sha256:dca300079b35f6e328bbb02d43dfdf6826ae93ef040ef0150e5431d7ec3dcb62"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210226213828.2575db50.tar.gz", hash = "sha256:4a5b84510d3b6a45d22e277007cf10e0ced7078a843a8b69a25b1e965e8ead84"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210301210036.fb5f120e.tar.gz", hash = "sha256:11e64d7969c79287d955b875912510ef450763a526725092e054d0fdd1b2277f"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210307171744.a36ec260.tar.gz", hash = "sha256:e89f48da2d7ed6e09dfe5489f3406874093fde9bd5df924b1a875c4bbbf8d6c2"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210310101436.3e1a463c.tar.gz", hash = "sha256:20f0793089bbd7bfd109f192e4d8d6ab0e7d7ebc8e31ef764780a19bc0da52b5"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210310102218.a1248f07.tar.gz", hash = "sha256:72a0d7de4a231e5d3148f225786ffe8ab5f64f62ad346aeb0d5654061e1bd6bf"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210311221203.882bc272.tar.gz", hash = "sha256:8203defec10a39d1b2de5c7094f70d25d9c497386ffd8fd198cd0f434618e28b"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210311222531.892097de.tar.gz", hash = "sha256:3267fddd3d72eaaacff8252c79529851f42b469ccd7d34ad1e1372bbd2635082"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210312091346.d106cacb.tar.gz", hash = "sha256:53791e7363c12fbdfd5bb5403cb5d629fee2b7bb14ea9c84a50c1c9fd83dddb7"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210312152456.e077b869.tar.gz", hash = "sha256:1b3e63fe1fb42a2c9d5aa28e75b679e1e8c907efd2f25443221a4db0e1206f56"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210312213430.1d64c5b4.tar.gz", hash = "sha256:c4b13c472773d0974f890ac3b8b6207025fb5ece2f6fb4a604899c8952804306"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210314142912.d7034148.tar.gz", hash = "sha256:080c5626f932a822bcead87c174310293d54fb17ce872bb550a19dbd5db3047d"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210314192112.79402599.tar.gz", hash = "sha256:d7feb793ab0ce41b27d3dbebfc8b7957157cc23435221976842bf1779daf825d"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210315111017.cdbbd954.tar.gz", hash = "sha256:7d3b4dff161ab67ff32f314d7b62592684f66e2e0a8eaf00b4ef29c95cc47564"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210319140605.5270d4d2.tar.gz", hash = "sha256:6233b0035067e452c7ad60c642d7af6169d9a17dacc47298580e3643b69ab70b"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210319145938.87f5b9e3.tar.gz", hash = "sha256:07706ca10746e2f9b7e0b15d0fd2156ca87d282f8e6ecf3c9c9789c0b6e20406"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210319150114.324305e8.tar.gz", hash = "sha256:b7b11386a8dd9df6a1979f043bf405febf68b3279310c9b85a2d1e6d7bd7f35a"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210319151419.f0b07d20.tar.gz", hash = "sha256:21db67426cca8e7f32214726f3e30888910099457d0b40042d3be83c8c6486eb"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210320162344.62ec2838.tar.gz", hash = "sha256:4823035747f4dde18c02ad396546239dd523f45749ef247a0d555049c4806da1"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210321115103.e13bc720.tar.gz", hash = "sha256:6ff8e56590312f1f19e34dcf3710a4d4ff2e29e5d0e0008012ac45fa0f04fa9b"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210321193215.0ac850c2.tar.gz", hash = "sha256:eefeb2f5db8db7cd35192af20c6aa99bbbdadb4404ad51dc0d03e9a10af60bd4"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210321200253.9c92bdfc.tar.gz", hash = "sha256:931729d255b037a55c0b9d0e533fce8d02ff4f19ff89c355e650316647c0d61c"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210324210752.02a7d91e.tar.gz", hash = "sha256:d9a17f84a6b584b677689306f8b25b1aecffae0f127c0e08152e43ac5de44eb6"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210324211625.07b78cbc.tar.gz", hash = "sha256:50a69892ac38334104b650658c15c5c69b91d4ee41ccb13c00214eb577b8072f"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325160628.0de18355.tar.gz", hash = "sha256:ba0ebeb2090adc04d3f33749f6654cc8758306e10d58377d0ff1b969be186ae0"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325195922.acb39b03.tar.gz", hash = "sha256:a1caf70b11dbea228156b25650eb37ea49f280746e9bfa1d06d8b018a79cbe52"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325204630.7e1aaf78.tar.gz", hash = "sha256:154de2f350b079e4c29205285869f1f8440a587a2c49dc3b040fb27ef31df591"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325214229.6eb7f192.tar.gz", hash = "sha256:87e1c05c900507c265d91efcdd58fa1dcba5352b37a3ca56dba2d63f9c5448f5"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325214842.a26de060.tar.gz", hash = "sha256:0c8ea0f37464f471ca7e0d445f5a5e5f29ef6a049068aa878f08e77c9e6db53c"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325215504.a3918014.tar.gz", hash = "sha256:111b6ccd029e14027dbc689aefaf9925173e4d0d652fbdb4ee89dcb79677bcd1"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325220253.72bcf430.tar.gz", hash = "sha256:59051e870682ed934da3f31c78c7f1c4a9e051b0ab33bd3b4fadc031000bedf9"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325220800.d994dd2e.tar.gz", hash = "sha256:afce772387aada86da9b7e6171faf7770f78f649d92684cb5bff7d18bbb37eba"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325221128.1f280e83.tar.gz", hash = "sha256:862ea08ed0ae36b93fe7ac6f75d95391abed39155d46459ed54367924bb20120"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210325222554.56930943.tar.gz", hash = "sha256:08b46a0383b89d4ff808f5fcfb41f634c7bceb24e0343b6ed1bcd2c7bc3a9150"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210326080826.df9366d3.tar.gz", hash = "sha256:66730a01008e9c0353e6c7b63ea1a47755dfd6b9edb7b5c13e250ae85ea2b6b4"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210326115057.606c9b22.tar.gz", hash = "sha256:5a669bfae82503c7103b9b06bb0b94bc101032e41df1d1fc89d2476dd3f35dcb"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210327122313.6709ab83.tar.gz", hash = "sha256:60a0b98785717d5b48a93a8af09040875777e692fe109a6c7ea876aa65d916c6"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210327152721.8edc56a5.tar.gz", hash = "sha256:dbf431b5cf4bf9eaec0cc976b3b19736632cab6c63d40e6610bbd6809050fdc5"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210328182547.f839aae1.tar.gz", hash = "sha256:0fb930ab2d6df10628e2d84100fab84ff55d2988ba88f116ccdfb86ed459cdcd"},
-    {file = "AlekSIS-App-Chronos-2.0a4.dev0+20210328190413.241ea05f.tar.gz", hash = "sha256:bd195d5416606a8fc254dba640a5f7e7b425f59006740ecd4c9429ce035ae5d2"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210112212026.c6be335f-py3-none-any.whl", hash = "sha256:8fb0386cbf2bb82b5895851c076f64827e670dddc847a56a7457df91f9d2f5c0"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210123163207.36d38608-py3-none-any.whl", hash = "sha256:6414dc4dc649fe6334b431c65a6e0dc840c3a9e521d2164fcb9a02fea05f49a8"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210124160248.fa73bb8a-py3-none-any.whl", hash = "sha256:e1c9f773facda3945cee98b32c7df7ec646d774db36a06c1e87eac99c764619d"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210124194434.d261b968-py3-none-any.whl", hash = "sha256:fc3a7b6c8398cda76fc521aa4e0550296661b383d5609d816c67676394e536e4"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210206173945.5eedbafd-py3-none-any.whl", hash = "sha256:4637423fb87cdf9655a19ac9eef1080dde177cb87fed272a32753ae799b12111"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210208122210.13e599ee-py3-none-any.whl", hash = "sha256:8eff4155f10c7f498528829691b6a411c0763e44474b1ce688e7247d6293ebd9"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210217200708.48c5e565-py3-none-any.whl", hash = "sha256:3447fba0c6bdbbefab1b647462be0554acbdd75ece59ac82cb9746c52e46e1d5"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210220100449.963aee62-py3-none-any.whl", hash = "sha256:2be30a80807613f794c1852ad6aedd5f16cddae721ee1c65653eb8a74e8b8d87"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210221184534.abd57121-py3-none-any.whl", hash = "sha256:994a810d62801e4a9775f31cad65616ead66415d18404c9e71936fef35da561f"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210226213828.2575db50-py3-none-any.whl", hash = "sha256:c69297c3a36b9dde7149dfe2adf996be7281327ec0653d96e738ccf12ab7aa8e"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210301210036.fb5f120e-py3-none-any.whl", hash = "sha256:87335b2103100c955c5cefb6f910becf37c742d42e1d0a28ff03866fc371c6b4"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210307171744.a36ec260-py3-none-any.whl", hash = "sha256:859bc3757fd40576e715d197e4e4ba09b648f04830e912411584df0379aa036d"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210310101436.3e1a463c-py3-none-any.whl", hash = "sha256:79203a831ad17c0bb1d7f11711159fa4ddb08d613ae45275aeb230261afcd1a8"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210310102218.a1248f07-py3-none-any.whl", hash = "sha256:16390aed8937cf6acd88be952b87134613c8fcbfe17d45ad376654467771a832"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210311221203.882bc272-py3-none-any.whl", hash = "sha256:a3b17971d2b5e65592b04cd756a88d0a9af0639ac090b06e3864a3aee2e10f7e"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210311222531.892097de-py3-none-any.whl", hash = "sha256:be747b8f7175f1e99768519dcb2b0ad63fcfc869d32258a4cf45e0149b0320fd"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210312091346.d106cacb-py3-none-any.whl", hash = "sha256:fb50ef348bcc7e14ef2caf2ae677e14c4dac1ae017634ea0627580b6189d0795"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210312152456.e077b869-py3-none-any.whl", hash = "sha256:d49503096c5fe18026e0f33031b5ab0da8188b044e898eefc0fe6523e42c14b2"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210312213430.1d64c5b4-py3-none-any.whl", hash = "sha256:1e5ef1cb3847e05245b67059e1f1883daa2190dbec3e07d8b8880f872cf014b8"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210314142912.d7034148-py3-none-any.whl", hash = "sha256:f2032b40d087ba06a4ebfe368ed3ea3133e71d5b6eeebb2c06d4199240902394"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210314192112.79402599-py3-none-any.whl", hash = "sha256:57763444db6fe372a4ad27343a610d58397e1f264ddec08c2b11d353a0cf7226"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210315111017.cdbbd954-py3-none-any.whl", hash = "sha256:6ee9ad20e2e1fc564832cb88356fe0f1193ec2b527cf50fdabd61993f3390683"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210319140605.5270d4d2-py3-none-any.whl", hash = "sha256:a8e301657c0840984f0120e98e4e2e1f1111624e58360dd3046c75d1bdcad8ee"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210319145938.87f5b9e3-py3-none-any.whl", hash = "sha256:980485674cb4bf0cd29e2ef46beaee1533ad0e5fd5d0aec1961b66f336159ef5"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210319150114.324305e8-py3-none-any.whl", hash = "sha256:416016aa7500dec7aa6c0bd61cbbd41a55d30ac0da1640381cc41b6b9d05b59a"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210319151419.f0b07d20-py3-none-any.whl", hash = "sha256:0e7a2270e720ec13206809def5fc6d4a1f07a5776dd945561ea5f14969ffc17b"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210320162344.62ec2838-py3-none-any.whl", hash = "sha256:1a5a81a7950c0f4e1f91c74d537366c4100cfba2510376492824a02dbe198e2f"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210321115103.e13bc720-py3-none-any.whl", hash = "sha256:f937c84ff1a89f53b8975bdc31b6325160c92db551ae8b49ff00cd6019434ab2"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210321193215.0ac850c2-py3-none-any.whl", hash = "sha256:714fc3f719d3f3bdb6758a36b326c960d9fb2a2f054f676db0b9ab2f4e4b21e4"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210321200253.9c92bdfc-py3-none-any.whl", hash = "sha256:bcb98709c49b7826868a82963517ff30fec2fa9bb46677b03a579c4de571112c"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210324210752.02a7d91e-py3-none-any.whl", hash = "sha256:a719947d2c824f3ce87452c1741dd3897b205cac986fc96de921d0b539b664e3"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210324211625.07b78cbc-py3-none-any.whl", hash = "sha256:42d6a63bc5b82984ccd7f61e7cadc558710fbc8c0e43400f8ecfebf1ef500013"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325160628.0de18355-py3-none-any.whl", hash = "sha256:246757920dfdb123e676aaf877594735bbc16255d7f063c123b27ef26477348d"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325195922.acb39b03-py3-none-any.whl", hash = "sha256:da5f587fe6fcda7e4394da32372409397b69c7da133f506bdec6f9364c35cb73"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325204630.7e1aaf78-py3-none-any.whl", hash = "sha256:0f23e7b618464e2f86850dca7eef10b8665f6017706bdc17336ff0e5090fa8dd"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325214229.6eb7f192-py3-none-any.whl", hash = "sha256:3e65fdc3628f223263f3bc4e29f3b909b117480cc6a52218a70e6de5ee44f5a7"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325214842.a26de060-py3-none-any.whl", hash = "sha256:3de9613370c57634728026d08fd4697ade04e3ea391d0095a62ba536e1899a1e"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325215504.a3918014-py3-none-any.whl", hash = "sha256:b26f77ab7028c73647de3e17054f12ce08c14e1d679f9cd5032991bee9180513"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325220253.72bcf430-py3-none-any.whl", hash = "sha256:dfc449b0a784b7390a12d9bf812c483353ca8e37fb95233465ab5876abea537a"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325220800.d994dd2e-py3-none-any.whl", hash = "sha256:d49e78076548236dd3fedeb9de706013b3e60d6ab53dcc0dfddec1743c74c829"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325221128.1f280e83-py3-none-any.whl", hash = "sha256:a9c433f27b6585321b3132b8f123643aeb3b52a0590f419c5628c3183e2ee082"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210325222554.56930943-py3-none-any.whl", hash = "sha256:1be7dea96c24dd625da0246587f75c1b1ad0ae4356279d3c6280953d9a114cec"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210326080826.df9366d3-py3-none-any.whl", hash = "sha256:f053390c35a1fef5c234c88c1a3a1c0284dde09aae245f883df5197dcd38ae23"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210326115057.606c9b22-py3-none-any.whl", hash = "sha256:b8791d85a509798fcfe4969539ce4373dae3628566015952a9b357ff94891f48"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210327122313.6709ab83-py3-none-any.whl", hash = "sha256:5679edb525257dd44e13b5c02bbad27e895ac267ca7c8a5075a16a5ea588db04"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210327152721.8edc56a5-py3-none-any.whl", hash = "sha256:8999bdff5bd4448f2e222bc148299140d6edebd4b1e175482434971db1f7f9d0"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210328182547.f839aae1-py3-none-any.whl", hash = "sha256:4203c9d11980baa986ec130018d5d39bea8bce37211511eb6689ac940e7ade1f"},
-    {file = "AlekSIS_App_Chronos-2.0a4.dev0+20210328190413.241ea05f-py3-none-any.whl", hash = "sha256:2eb2513890d40a7996135ee1c0757b0dd0f1366a3d5f35e8b2e55c05dd6dada4"},
+    {file = "AlekSIS-App-Chronos-2.0a5.dev0+20210515135650.2957899f.tar.gz", hash = "sha256:3f4235517f5598d9b3e7e8c4c28168f61437630ac1302c79473f9f2471dd4a2b"},
+    {file = "AlekSIS_App_Chronos-2.0a5.dev0+20210515135650.2957899f-py3-none-any.whl", hash = "sha256:ea789814fb43ae9e47b6f2ac2e9e156731d29b96f30fb5ccaf90cfefcab41657"},
 ]
 aleksis-builddeps = [
     {file = "AlekSIS-Builddeps-3.tar.gz", hash = "sha256:04597e29a861e576d78adc068c9f1bf85450c81dc43cb1f7db0ed43e975b64a2"},
@@ -2985,12 +2891,21 @@ aleksis-core = [
     {file = "AlekSIS-Core-2.0a5.dev0+20210506212736.c53285d4.tar.gz", hash = "sha256:b92568b880033e050e3aed5bdca55d13d733ea88697f4582799598cf76d62169"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210507082045.8927daaf.tar.gz", hash = "sha256:d70528ad58aa218110e61e88ca0799b7a7cc1358a75daf77473ba26fe0216532"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210507142755.8509b309.tar.gz", hash = "sha256:11dea307c78a635a835710128a8a3bd23229f8e9343c9f2f0d50ab5dbc8facc7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210511161336.22bb1f89.tar.gz", hash = "sha256:b11deb17f943088994d351a05e63cdc90815a0ad578f009dc214342c474c8b37"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210513082907.67fa51e1.tar.gz", hash = "sha256:e0c9e8c17bbf8e79c6064e1f844445accfc4caa26912ec3b1409702d5d977409"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210513083505.0f7f8cfd.tar.gz", hash = "sha256:c628083624c2572d4ce91bd83ee1e8f0939ed01d14f83b7e048a846a2b837904"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210514142604.3c24658f.tar.gz", hash = "sha256:aed411190e2e01b915e202d16587c7c8a39d3b93f8c5494988ef49bef9da3871"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210514144313.18757130.tar.gz", hash = "sha256:59e045668f22127f68babf83c558dc04095d3da9a401194f453cc64a32f4403f"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210514200007.b0f8938c.tar.gz", hash = "sha256:f33996c3e1bd3029471fd0340b94e99d091e363a174d068f7b2b0cd41641638f"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210514201303.23db9744.tar.gz", hash = "sha256:a5f64d592a2604de9905ee8d3c97680bdbfb8080b216ea7164b64b6547c5e6d3"},
     {file = "AlekSIS-Core-2.0a5.dev0+20210514202717.1902d134.tar.gz", hash = "sha256:1c4fdf7402455bbf057239d2328bb241b29ee26a05b56a962dc27765a14fd799"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210514205129.d6a555e0.tar.gz", hash = "sha256:ffac7c240f5c7218eaadd95b7d0bbe1b1f388c550704c32a664c9d6324936962"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210514212730.fb0bb11b.tar.gz", hash = "sha256:1ff43572954bc0841f9232f766cc4f05237b93955ffda4298c4168608d825ec4"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210515093925.c3b8dd95.tar.gz", hash = "sha256:6aadc852e6f06b895a2e0573c053ba4dc4391aa7d81c11e5bde189ebc7d8a670"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210515095059.bf7dffbe.tar.gz", hash = "sha256:6ef4d86c054bce28a26b393c7672b77c5c8cc9f21eb09a03e6f287dc757c071f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210515100129.a01a2b2e.tar.gz", hash = "sha256:ebb21cc23105a2e22e07fe99407fcce65b8f1496c4ab7937ab0845171223b5b3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210515101222.2115bf81.tar.gz", hash = "sha256:fd3a3cd8aa0384106b36244a2fb7a1e28e073675a0b27cfaa73c106a3e2b5115"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210515110339.17805fce.tar.gz", hash = "sha256:c49e46f487c60340b53c9670b0f7b4b02137d5dc6a4f2567d02bc6b15428a905"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210217123802.d23be3b6-py3-none-any.whl", hash = "sha256:381bb46e98b9dd6dfef638ade1cbfe837dd7c72779b6250819f99897c7050c6d"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210221200356.d50b445b-py3-none-any.whl", hash = "sha256:9375fc896a88143afc986d6c7ab7f77a0bd778f4b72d3790f4f46b313ba7c03f"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210221211436.3e258294-py3-none-any.whl", hash = "sha256:7071cb659ce20697b6e9eb026d081e4f3d9e4ede6c62b24f7181a99a4bb0be87"},
@@ -3274,12 +3189,21 @@ aleksis-core = [
     {file = "AlekSIS_Core-2.0a5.dev0+20210506212736.c53285d4-py3-none-any.whl", hash = "sha256:6d234778e900cf9c617d0c448fe7fc386fba50e839bd50a6df6230662ffbd77c"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210507082045.8927daaf-py3-none-any.whl", hash = "sha256:abffde6182d65341632185c448d97579b34f5a1d7491dc2b3600742225e8d49e"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210507142755.8509b309-py3-none-any.whl", hash = "sha256:9807b9f4d181c519b5476003c922f4e5d3c3ec32c283c537c32b9ed7ff5dc04b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210511161336.22bb1f89-py3-none-any.whl", hash = "sha256:7de937d55f2b44346b7f9de13e4186434962e5973899c20e9ed1a36b94571de4"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210513082907.67fa51e1-py3-none-any.whl", hash = "sha256:7ddef3bbf5aa54b71bf41faf635e51a9c7151f08893583288d792ac5bfbfe089"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210513083505.0f7f8cfd-py3-none-any.whl", hash = "sha256:47868d35a6218540cb032fb3bb33775c250abec812cec75913c580c1f2614a4d"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210514142604.3c24658f-py3-none-any.whl", hash = "sha256:ffa2ab83873d21819ff00062cb53c1eae4c1ce9d50fa27187a1ac4e101fc3391"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210514144313.18757130-py3-none-any.whl", hash = "sha256:c618c2f70ba7018ccddd265dfc1b0360bc2870d02a92fc288cbcb3de7a238579"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210514200007.b0f8938c-py3-none-any.whl", hash = "sha256:e685a511f20d428ff067d87ada8ff9fb68e6db5ab856de72c404c6ac125af29b"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210514201303.23db9744-py3-none-any.whl", hash = "sha256:468987f76df0b781885febbe2be1831acf2408828b1dc3f49a474a03e1956ad6"},
     {file = "AlekSIS_Core-2.0a5.dev0+20210514202717.1902d134-py3-none-any.whl", hash = "sha256:0984f920d3e4fee78a1f79de9aadd0340ef5aea2fefc245ed8a9b121afa3c2e1"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210514205129.d6a555e0-py3-none-any.whl", hash = "sha256:63d4bda10fc3f32ea97d5e2c346f9260b93fcf30ae4f7d62670c592634c334c6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210514212730.fb0bb11b-py3-none-any.whl", hash = "sha256:9c190736b528f7dffa93e80bac16da454831aeb605b3851d426b939e6bda63a4"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210515093925.c3b8dd95-py3-none-any.whl", hash = "sha256:6cdb1d2ffadcec2cec9a94a2ac7adc4eb2fd7b8668d8ac6b9f9e99f121e73286"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210515095059.bf7dffbe-py3-none-any.whl", hash = "sha256:bfb53e951b6e7c157f60d30e59d4ca3ea7999b3c10395753d9bf69644911f508"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210515100129.a01a2b2e-py3-none-any.whl", hash = "sha256:f42080d503e8cd9e15f45dde4dc889743f3b64f0a864529ba3184f2500d926c8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210515101222.2115bf81-py3-none-any.whl", hash = "sha256:69e120b3789e27d11d1d81e0edf84cd8280190ae5759b72c8b10163db7df8e50"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210515110339.17805fce-py3-none-any.whl", hash = "sha256:ed5afc5dd60281fe0a6a30fd2eaeb326aef20155c2e67981b0ded40c97cadd91"},
 ]
 amqp = [
     {file = "amqp-5.0.6-py3-none-any.whl", hash = "sha256:493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb"},
@@ -4071,6 +3995,8 @@ psycopg2 = [
     {file = "psycopg2-2.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:56fee7f818d032f802b8eed81ef0c1232b8b42390df189cab9cfa87573fe52c5"},
     {file = "psycopg2-2.8.6-cp38-cp38-win32.whl", hash = "sha256:ad2fe8a37be669082e61fb001c185ffb58867fdbb3e7a6b0b0d2ffe232353a3e"},
     {file = "psycopg2-2.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:56007a226b8e95aa980ada7abdea6b40b75ce62a433bd27cec7a8178d57f4051"},
+    {file = "psycopg2-2.8.6-cp39-cp39-win32.whl", hash = "sha256:2c93d4d16933fea5bbacbe1aaf8fa8c1348740b2e50b3735d1b0bf8154cbf0f3"},
+    {file = "psycopg2-2.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:d5062ae50b222da28253059880a871dc87e099c25cb68acf613d9d227413d6f7"},
     {file = "psycopg2-2.8.6.tar.gz", hash = "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"},
 ]
 ptyprocess = [
@@ -4178,18 +4104,26 @@ pyyaml = [
     {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"},
     {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"},
     {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"},
     {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"},
     {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"},
     {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"},
     {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"},
     {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"},
     {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"},
     {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"},
     {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"},
     {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
@@ -4264,20 +4198,29 @@ restructuredtext-lint = [
     {file = "ruamel.yaml.clib-0.2.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:73b3d43e04cc4b228fa6fa5d796409ece6fcb53a6c270eb2048109cbcbc3b9c2"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:53b9dd1abd70e257a6e32f934ebc482dac5edb8c93e23deb663eac724c30b026"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:839dd72545ef7ba78fd2aa1a5dd07b33696adf3e68fae7f31327161c1093001b"},
+    {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:1236df55e0f73cd138c0eca074ee086136c3f16a97c2ac719032c050f7e0622f"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win32.whl", hash = "sha256:b1e981fe1aff1fd11627f531524826a4dcc1f26c726235a52fcb62ded27d150f"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4e52c96ca66de04be42ea2278012a2342d89f5e82b4512fb6fb7134e377e2e62"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a873e4d4954f865dcb60bdc4914af7eaae48fb56b60ed6daa1d6251c72f5337c"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ab845f1f51f7eb750a78937be9f79baea4a42c7960f5a94dde34e69f3cce1988"},
+    {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:2fd336a5c6415c82e2deb40d08c222087febe0aebe520f4d21910629018ab0f3"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win32.whl", hash = "sha256:e9f7d1d8c26a6a12c23421061f9022bb62704e38211fe375c645485f38df34a2"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:2602e91bd5c1b874d6f93d3086f9830f3e907c543c7672cf293a97c3fabdcd91"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:44c7b0498c39f27795224438f1a6be6c5352f82cb887bc33d962c3a3acc00df6"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8e8fd0a22c9d92af3a34f91e8a2594eeb35cba90ab643c5e0e643567dc8be43e"},
+    {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:75f0ee6839532e52a3a53f80ce64925ed4aed697dd3fa890c4c918f3304bd4f4"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win32.whl", hash = "sha256:464e66a04e740d754170be5e740657a3b3b6d2bcc567f0c3437879a6e6087ff6"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:52ae5739e4b5d6317b52f5b040b1b6639e8af68a5b8fd606a8b08658fbd0cab5"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4df5019e7783d14b79217ad9c56edf1ba7485d614ad5a385d1b3c768635c81c0"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5254af7d8bdf4d5484c089f929cb7f5bafa59b4f01d4f48adda4be41e6d29f99"},
+    {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8be05be57dc5c7b4a0b24edcaa2f7275866d9c907725226cdde46da09367d923"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win32.whl", hash = "sha256:74161d827407f4db9072011adcfb825b5258a5ccb3d2cd518dd6c9edea9e30f1"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:058a1cc3df2a8aecc12f983a48bda99315cebf55a3b3a5463e37bb599b05727b"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c6ac7e45367b1317e56f1461719c853fd6825226f45b835df7436bb04031fd8a"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:b4b0d31f2052b3f9f9b5327024dc629a253a83d8649d4734ca7f35b60ec3e9e5"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1f8c0a4577c0e6c99d208de5c4d3fd8aceed9574bb154d7a2b21c16bb924154c"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-win32.whl", hash = "sha256:46d6d20815064e8bb023ea8628cfb7402c0f0e83de2c2227a88097e239a7dffd"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:6c0a5dc52fc74eb87c67374a4e554d4761fd42a4d01390b7e868b30d21f4b8bb"},
     {file = "ruamel.yaml.clib-0.2.2.tar.gz", hash = "sha256:2d24bd98af676f4990c4d715bcdc2a60b19c56a3fb3a763164d2d8ca0e806ba7"},
 ]
 rules = [