Taking the contents from the dev branch
32
.ci/Jenkinsfile
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
pipeline {
|
||||
|
||||
agent any
|
||||
|
||||
stages {
|
||||
stage('Installation') {
|
||||
steps {
|
||||
sh 'python3.11 -m venv .venv'
|
||||
sh '(source .venv/bin/activate; pip install -r requirements.txt)'
|
||||
}
|
||||
}
|
||||
stage('Build Docs') {
|
||||
steps {
|
||||
sh '(source .venv/bin/activate; mkdocs build)'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
deleteDir()
|
||||
}
|
||||
always {
|
||||
withCredentials([string(credentialsId: 'solawi-suite-notification-email', variable: 'EMAIL')]) {
|
||||
mail to: '$EMAIL',
|
||||
subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
|
||||
body: "Duration: ${currentBuild.durationString} / Jenkins URL: ${env.BUILD_URL}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
site/
|
||||
.cache/
|
||||
venv/
|
||||
.venv/
|
||||
.DS_Store/
|
||||
|
3
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
8
.idea/documentation.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="EMPTY_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/documentation.iml" filepath="$PROJECT_DIR$/.idea/documentation.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -1,2 +1,8 @@
|
||||
# Handbuch Solawi Suite
|
||||
|
||||
```bash
|
||||
python -m venv .venv
|
||||
. .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
mkdocs serve
|
||||
```
|
||||
|
BIN
docs/account/first-login.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/account/forgot-otp-secret-link.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/account/forgot-password-form.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
docs/account/forgot-password-link.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/account/init-passkey-login.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/account/login-screen.webp
Normal file
After Width: | Height: | Size: 21 KiB |
94
docs/account/login.md
Normal file
@ -0,0 +1,94 @@
|
||||
# Login
|
||||
|
||||
![Login-Maske](login-screen.webp)
|
||||
|
||||
Es gibt zwei Möglichkeiten, sich an der [solawi-suite] anzumelden:
|
||||
|
||||
1. Standardmäßig per Benutzername/Kennwort und zweitem Faktor (TOTP[^1]) — das sind die Daten, die du bei der
|
||||
[Registrierung](../registration/index.md) angegeben hast.
|
||||
2. Die Anmeldung per Passkey — dazu musst du jedoch bereits einen Passkey hinterlegt haben. Wie das geht, erklären wir
|
||||
dir [hier](self-service.md#passkeys-verwalten).
|
||||
|
||||
## Anmeldung per Benutzername/Kennwort und zweitem Faktor
|
||||
|
||||
Nach der Eingabe von Benutzername und Kennwort wirst du zur Eingabe des Einmalpassworts aufgefordert. Bitte beachte: Ein
|
||||
Einmalpasswort kann nur ein einziges Mal verwendet werden.
|
||||
|
||||
### Passwort vergessen?
|
||||
|
||||
Du kannst die Funktion "Passwort vergessen" nutzen, die du direkt beim Login-Formular siehst.
|
||||
|
||||
!["Passwort vergessen"-Link](forgot-password-link.webp)
|
||||
|
||||
Nach Eingabe deiner E-Mail-Adresse erhältst du eine E-Mail mit weiteren Instruktionen.
|
||||
|
||||
!["Passwort vergessen"-Formular](forgot-password-form.webp)
|
||||
|
||||
!!! tip "Begrenzte Gültigkeit"
|
||||
|
||||
Die Informationen aus der E-Mail haben nur eine begrenzte Gültigkeit. Während diese jedoch noch nicht abgelaufen
|
||||
ist, ist es nicht möglich, erneut Anweisungen anzufordern.
|
||||
|
||||
Wenn du weitere Unterstützung brauchst, [kontaktiere uns einfach](/ui/contact).
|
||||
|
||||
### TOTP-Generator / Geheimnis / Konfiguration verloren?
|
||||
|
||||
Hier kannst du einen deiner Notfallcodes verwenden. Das sind einmalig verwendbare Codes, die du dir selbst erzeugen
|
||||
kannst. Damit du im Notfall auch welche zur Verfügung hast, warnt dich das System, wenn die Codes knapp werden.
|
||||
|
||||
Um einen Notfallcode zu verwenden, klicke einfach unterhalb des TOTP-Einmal-Passwort-Feldes auf den entsprechenden Link.
|
||||
|
||||
![Login mit Notfallcode](forgot-otp-secret-link.webp)
|
||||
|
||||
!!! tip "Groß-/Kleinschreibung beachten"
|
||||
|
||||
Notfallcodes sind in der Datenbank wie Passwörter gespeichert. Achte daher bei der Eingabe auf Groß- und
|
||||
Kleinschreibung, da nur so ein Vergleich erfolgreich sein kann.
|
||||
|
||||
Nach erfolgreichem Login solltest du den verwendeten Code von deiner Liste streichen.
|
||||
|
||||
_Siehe auch: [:octicons-arrow-right-24: Notfallcodes erneuern](self-service.md#notfallcodes-erneuern)._
|
||||
|
||||
|
||||
## Anmeldung per Passkey
|
||||
|
||||
Wenn du bereits einen Passkey ([wie hier beschrieben](self-service.md#passkeys-verwalten)) erstellt hast, kannst du die
|
||||
komfortabelst Art der Anmeldung verwenden. Klicke einfach auf die Schaltfläche:
|
||||
|
||||
![Mit Passkey-Login beginnen](init-passkey-login.webp)
|
||||
|
||||
Je nach Betriebssystem/Browser/App wirst du nun gebeten, den passenden Passkey auszuwählen und freizugeben:
|
||||
|
||||
![Passkey-Auswahl](passkey-select.webp)
|
||||
|
||||
Danach bist du bereits angemeldet!
|
||||
|
||||
!!! info "Passkeys — gerätegebunden, synchronisiert, individuell?"
|
||||
|
||||
Manche synchronisieren ihre Passkeys mit einer Cloudlösung, andere nutzen auch dafür einen Passwortmanager. Wieder
|
||||
andere erzeugen auf jedem Gerät, dass sie verwenden wollen, einen individuellen Schlüssel.
|
||||
|
||||
Alle Verfahren haben Vor- und Nachteile. Wir limitieren jedoch nicht die Anzahl der Passkeys, die du für dein
|
||||
Benutzerkonto hinterlegst. Du kannst jederzeit entscheiden, welche deiner Passkeys gültig sind und kannst nicht
|
||||
mehr benötigte Passkeys problemlos löschen.
|
||||
|
||||
Wenn dir kein Passkey mehr zur Verfügung steht, logge dich normal mit Benutzernamen, Kennwort und zweitem Faktor an
|
||||
und erstelle einen neuen Passkey.
|
||||
|
||||
## Besonderheiten bei deinem ersten Login
|
||||
|
||||
Wenn du dich nach erfolgreicher Registrierung erstmals einloggst, wirst du zwei Warnungen sehen:
|
||||
|
||||
![Warnungen beim ersten Login](first-login.webp)
|
||||
|
||||
Damit du dein Konto sicher benutzen kannst, bitten wir dich, Notfallcodes (für den Fall, dass du keine TOTPs mehr zur
|
||||
Verfügung hast) und einen Passkey zu erstellen. Du kannst beide Meldungen ignorieren und schließen, sie kommen aber
|
||||
wieder.
|
||||
|
||||
Bei den Notfallcodes erhältst du zukünftig auch Warnungen, wenn die verfügbare Anzahl unter ein gewisses Minimum fällt.
|
||||
|
||||
|
||||
[^1]: TOTP steht für "Time-based one-time password" und ist eine gängige Form für einen zweiten Faktor für die Anmeldung
|
||||
an (Web-)Applikationen. Die Erzeugung ist standardisiert, so dass eine breite Auswahl an Apps und Tools für fast
|
||||
jede Plattform zur Verfügung steht.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/Time-based_one-time_password).
|
BIN
docs/account/new-passkey-button.webp
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/account/new-passkey-generation.webp
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
docs/account/passkey-alternative.webp
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/account/passkey-select.webp
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/account/passkey-settings.webp
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
docs/account/self-service-access.webp
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/account/self-service-tools.webp
Normal file
After Width: | Height: | Size: 36 KiB |
95
docs/account/self-service.md
Normal file
@ -0,0 +1,95 @@
|
||||
# Kontoverwaltung
|
||||
|
||||
Du findest die Funktionen des Kontoverwaltung (Selbst-Service) hier:
|
||||
|
||||
![Zugriff auf den Selbst-Service](self-service-access.webp)
|
||||
|
||||
Damit stehen dir diese Funktionen zur Verfügung:
|
||||
|
||||
![Selbst-Service Funktionen](self-service-tools.webp)
|
||||
|
||||
## Passkeys verwalten
|
||||
|
||||
### Was sind Passkeys?
|
||||
|
||||
Passkeys sind eine moderne, passwortlose Authentifizierungstechnologie. Sie sind eine Alternative zu gewöhnlichen
|
||||
Passwörtern und vereinfachen dir den Zugang zur [solawi-suite].
|
||||
|
||||
!!! info inline end "Wichtig!"
|
||||
|
||||
Dein privater Schlüssel und deine (biometrischen) Daten, die du zur Entsperrung verwendest, bleiben sicher auf
|
||||
deinem Gerät und werden zu keinem Zeitpunkt an unsere Server übermittelt.
|
||||
|
||||
Ein Passkey besteht aus zwei Teilen: Einem individuellen öffentlichen Schlüssel, den wir auf unseren Servern speichern,
|
||||
und dem dazugehörigen privaten Schlüssel, der sicher verwahrt auf deinem Gerät verbleibt. Wenn du dich anmeldest prüfen
|
||||
wir anhand einer einmaligen "Challenge" — einem langen Zufallscode, der dein Gerät mit deinem privaten Schlüssel
|
||||
signiert, ob eben dieser privater Schlüssel zu dem öffentlichen Schlüssel passt, den wir von dir kennen.
|
||||
|
||||
Für diese Prüfung wirst du gegebenenfalls aufgefordert, dein Gerät oder deinen Zugangsdatenspeicher zu entsperren, z. B.
|
||||
mittels Fingerabruck, Gesichtsscan oder auch einer PIN. Der Rest der Prozedur verläuft vollautomatisch und dauert nur
|
||||
wenige Sekunden.
|
||||
|
||||
!!! warning "Kompatibles Gerät / kompatibler Browser benötigt"
|
||||
|
||||
Für die Verwendung von Passkeys benötigst du ein kompatibles Endgerät. Moderne Mobilgeräte, Browser aller großen
|
||||
Hersteller und wichtigsten Betriebssysteme sind heute für die Verwendung von Passkeys geeignet.
|
||||
|
||||
### Neuen Passkey anlegen
|
||||
|
||||
Die Erzeugung eines neuen Passkeys ist mit nur wenigen Schritten erledigt. Klicke auf die folgende Schaltfläche:
|
||||
|
||||
![Neuen Passkey erstellen](new-passkey-button.webp)
|
||||
|
||||
Je nach Gerät bzw. Browser erscheint nun ein Dialog, der dich durch die erforderlichen Schritte zur Herstellung und
|
||||
Speicherung deines Passkeys führt:
|
||||
|
||||
![Erstellung eines neuen Passkeys](new-passkey-generation.webp)
|
||||
|
||||
Wenn alles geklappt hat, hast du nun die Möglichkeit, deinem neuen Passkey einen Namen zu geben und seine Gültigkeit zu
|
||||
definieren.
|
||||
|
||||
![Passkey-EInstellungen](passkey-settings.webp)
|
||||
|
||||
Das war's! Ab sofort kannst du dich [mit deinem Passkey anmelden](login.md#anmeldung-per-passkey).
|
||||
|
||||
!!! tip "Gerät nicht unterstützt?"
|
||||
|
||||
Wenn dein Geräte nicht direkt unterstützt wird, sollte versucht werden, dir eine Alternative unter Verwendung deines
|
||||
Mobiltelefons oder eines Sicherheitssticks angeboten werden. So kannst du auch dann von den Vorteilen des Passkeys
|
||||
profitieren.
|
||||
|
||||
Wenn du dich dann per Passkey anmelden möchstest, brauchst du natürlich wieder dein Mobiltelefon oder den
|
||||
Sicherheitsstick.
|
||||
|
||||
![Alternatives System verwenden](passkey-alternative.webp)
|
||||
|
||||
## Passwort ändern
|
||||
|
||||
Hier kannst du dein Passwort ändern. Mit der erfolgreichen Änderung deines Passworts wirst du automatisch von allen
|
||||
Sitzungen abgemeldet und musst dich neu einloggen.
|
||||
|
||||
## Einmal-Passwort-Geheimnis ändern
|
||||
|
||||
Hier kannst du ein neues Geheimnis bzw. eine neue Konfiguration für deine TOTP[^1]-App bzw. dein TOTP-Tool erhalten. Mit
|
||||
der erfolgreichen Aktivierung wirst du automatisch von allen Sitzungen abgemeldet und musst dich erneut einloggen.
|
||||
|
||||
## Notfallcodes erneuern
|
||||
|
||||
Hier generierst du 10 neue Notfallcodes. Damit werden alle ggf. noch vorhandenen Notfallcodes ungültig. Da die neuen
|
||||
Codes nur ein einziges Mal angezeigt werden, speichere sie direkt ab oder drucke sie aus.
|
||||
|
||||
Verwahre sie sorgfältig und sicher, damit niemand sonst Zugriff auf dein Konto erhalten kann.
|
||||
|
||||
## Abmelden (Logout)
|
||||
|
||||
Dies beendet deine aktuelle Sitzung.
|
||||
|
||||
## Von allen Sitzungen abmelden
|
||||
|
||||
Dies meldet dich von allen Sitzungen ab.
|
||||
|
||||
|
||||
[^1]: TOTP steht für "Time-based one-time password" und ist eine gängige Form für einen zweiten Faktor für die Anmeldung
|
||||
an (Web-)Applikationen. Die Erzeugung ist standardisiert, so dass eine breite Auswahl an Apps und Tools für fast
|
||||
jede Plattform zur Verfügung steht.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/Time-based_one-time_password).
|
77
docs/index.md
Normal file
@ -0,0 +1,77 @@
|
||||
# 🧑🌾 [solawi-suite] 🌾 Handbuch
|
||||
|
||||
!!! tip "Das Handbuch befindet sich noch im Aufbau."
|
||||
|
||||
Wir arbeiten immer wieder an diesem digitalen Handbuch. Aktuell gibt es mehr Lücken als Inhalt, das wird sich aber
|
||||
im Laufe der Zeit noch ändern.
|
||||
|
||||
---
|
||||
|
||||
## Für Mitglieder
|
||||
|
||||
Dieser Teil richtet sich an Teilnehmer:innen von Veranstaltungen von SoLaWis, die die [solawi-suite] als Software
|
||||
einsetzen.
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
- **[Digitales Gebot für Mitglieder](modules/bidding/members.md)**
|
||||
|
||||
---
|
||||
|
||||
Du sollst als Mitglied einer SoLaWi dein Gebot digital abgeben? Das ist ganz einfach. Wir erklären dir, wie das
|
||||
funktioniert.
|
||||
|
||||
[:octicons-arrow-right-24: Digitales Gebot für Mitglieder](modules/bidding/members.md)
|
||||
</div>
|
||||
|
||||
## Für Anwender der [solawi-suite]
|
||||
|
||||
Dieser Teil richtet sich an diejenigen, die mit der [solawi-suite]-Software Digitalisierungsaufgaben innerhalb ihrer
|
||||
SoLaWis wahrnehmen.
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
- **[Registrierung](registration/index.md)**
|
||||
|
||||
---
|
||||
|
||||
Hier erklären wir dir, wie die Registrierung funktioniert.
|
||||
|
||||
[:octicons-arrow-right-24: Registrierung](registration/index.md)
|
||||
|
||||
|
||||
- **[Login](account/login.md)**
|
||||
|
||||
---
|
||||
|
||||
Hier beschreiben wir, wie du dich anmelden kannst.
|
||||
|
||||
[:octicons-arrow-right-24: Login](account/login.md)
|
||||
|
||||
|
||||
- **[Digitales Gebot](modules/bidding/index.md)**
|
||||
|
||||
---
|
||||
|
||||
Das "Digitale Gebot" ist unser erstes Modul. Hier erklären wir dir, wie du das Modul einsetzt und digitale Gebote
|
||||
im Rahmen einer Veranstaltung abgeben lässt.
|
||||
|
||||
[:octicons-arrow-right-24: Digitales Gebot](modules/bidding/index.md)
|
||||
|
||||
|
||||
- **[Beamer-Verbindung](modules/beamer/index.md)**
|
||||
|
||||
---
|
||||
|
||||
Mit dem Beamer-System kannst du verschiedene Ansichten auf entfernten Displays oder Beamern anzeigen, ohne dass dein
|
||||
Rechner oder mobiles Endgerät damit verbunden sein muss.
|
||||
|
||||
[:octicons-arrow-right-24: Beamer-Verbindung](modules/beamer/index.md)
|
||||
|
||||
|
||||
- **[Kontoverwaltung](account/self-service.md)**
|
||||
|
||||
---
|
||||
|
||||
Lerne die Funktionen kennen, mit denen du dein Benutzerkonto verwalten kannst.
|
||||
|
||||
[:octicons-arrow-right-24: Login](account/self-service.md)
|
||||
</div>
|
7
docs/modules/ahg/index.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Modul: Abholgemeinschaft
|
||||
|
||||
!!! warning "Das Modul steht noch nicht zur Verfügung."
|
||||
|
||||
Das Modul "Abholgemeinschaft" ist noch nicht fertig und steht noch nicht zur Verfügung.
|
||||
|
||||
Die Dokumentation ist entsprechend auch noch nicht verfügbar.
|
BIN
docs/modules/beamer/beamer-add-connection.webp
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/modules/beamer/beamer-button.webp
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
docs/modules/beamer/beamer-list.webp
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/modules/beamer/beamer-screen-code.webp
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
docs/modules/beamer/connection-diagram.webp
Normal file
After Width: | Height: | Size: 172 KiB |
46
docs/modules/beamer/index.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Modul: Beamer-Verbindung
|
||||
|
||||
Dieses Modul ermöglicht die Wiedergabe von Informationen auf anderen Geräten, die z. B. mit einem Beamer diese
|
||||
Informationen projizieren.
|
||||
|
||||
## Grundaufbau
|
||||
|
||||
![Grundaufbau](connection-diagram.webp)
|
||||
|
||||
- Auf den an den Beamern angeschlossenen Geräten wird im Browser die Webseite
|
||||
[https://solawi.me/beamer/](https://solawi.me/beamer/) aufgerufen. Hierfür ist kein Benutzerkonto erforderlich!
|
||||
- Jedes Gerät erhält dabei eine individuelle Identifikationsnummer (Screen Code), die für die weitere Konfiguration
|
||||
benötigt wird. Sie kann abgelesen werden, indem man mit der Maus über die kleine schwarze Leiste im Kopfbereich der
|
||||
im Browser aufgerufenen Seite fährt:
|
||||
|
||||
![Screen Code](beamer-screen-code.webp)
|
||||
|
||||
- Mit einem Tastendruck auf `F` lässt sich das Bild im Browser auf "Vollbild" schalten. So wirkt es bei der Projektion
|
||||
optimal.
|
||||
- Ein:e eingeloggte:r Benutzer:in mit Zugriff auf das Beamer-Modul (z. B. die Veranstaltungsleitung oder ein
|
||||
Teammitglied) kann nun den Screen Code hinzufügen. Dazu wird in der [solawi-suite] das Modul "Beamer-Verbindung"
|
||||
ausgewählt. Im entsprechenden Eingabefeld wird die Identifikationsnummer eingetragen.
|
||||
|
||||
![Code hinzufügen](beamer-add-connection.webp)
|
||||
|
||||
- **Die Verbindung gilt nur für das Endgerät, auf dem der Screen Code erfasst wurde!** Ein Screen Code kann auf mehreren
|
||||
Geräten von Teammitgliedern oder Veranstaltungsleiter:innen erfasst werden.
|
||||
- Im Anschluss an die Erfassung steht die Verbindung zur Verfügung:
|
||||
|
||||
![Beamer-Liste](beamer-list.webp)
|
||||
|
||||
- Es können beliebig viele Verbindungen hinzugefügt werden.
|
||||
- Es gibt folgende Optionen pro Verbindung:
|
||||
- Sprechblase: Test-Nachricht senden und als Folie anzeigen
|
||||
- Pfeil-Kreis: Zurücksetzen der Verbindung, Standard-Folie anzeigen
|
||||
- Mülleimer: Verbindung trennen
|
||||
|
||||
!!! warning "Konfiguration wird nicht persistiert!"
|
||||
|
||||
Die verbundenen Anzeigen werden nicht in der Datenbank persistiert und stehen nur so lange zur Verfügung, bis die
|
||||
jeweilige Sitzung des jeweiligen Teammitglieds oder Veranstaltungsleitung geschlossen wird, z. B. durch Logout.
|
||||
|
||||
In verschiedenen Anwendungen gibt es Schaltflächen, mit denen sich ein Status oder eine Folie zum Kontext passend an
|
||||
alle verbundenen Anzeigen übermittelt werden kann. Diese Schaltflächen sehen üblicherweise so aus:
|
||||
|
||||
![Beamer-Button](beamer-button.webp)
|
BIN
docs/modules/bidding/archived-result-list.webp
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
docs/modules/bidding/bid-form.webp
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
docs/modules/bidding/enter-event-form.webp
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/modules/bidding/event-beamer.webp
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
docs/modules/bidding/event-header.webp
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
docs/modules/bidding/event-links.webp
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
docs/modules/bidding/fiscal-plan-widget.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
docs/modules/bidding/fiscal-plan.webp
Normal file
After Width: | Height: | Size: 53 KiB |
425
docs/modules/bidding/index.md
Normal file
@ -0,0 +1,425 @@
|
||||
# Modul: Digitales Gebot
|
||||
|
||||
Die Gebotsrunden für den monatlichen Solidarbeitrags für ein Wirtschaftsjahr sind anstrengend und zeitraubend. Manuelle
|
||||
Auszählungen sind fehleranfällig und müssen mehrfach kontrolliert werden
|
||||
|
||||
Dieses Modul ermöglicht die digitale interaktive Erfassung von Geboten, beispielsweise während einer Hauptversammlung.
|
||||
So sind Gebotsrunden innerhalb weniger Minuten durchführbar und die Ergebnisse stehen nach Sekunden fest. Entsprechende
|
||||
Reports ermöglichen Orga-Teams und Finanz-AKs eine zügige Weiterverarbeitung.
|
||||
|
||||
!!! info "Für Mitglieder von Orga- und Finanzteams"
|
||||
|
||||
Die nachfolgende Dokumentation richtet sich an die Mitglieder von Orga- oder Finanzteams, die Gebotsrunden
|
||||
organisieren und dazu ein Benutzerkonto für die [solawi-suite] haben.
|
||||
|
||||
Mitglieder, die Gebote abgeben wollen, benötigen kein Benutzerkonto. Für die Verwendung des Moduls aus Sicht
|
||||
gebotsabgebender Mitglieder [gibt es eine eigenständige Dokumentation](members.md).
|
||||
|
||||
## Begriffserklärung
|
||||
|
||||
Ereignis
|
||||
: Ein Ereignis ist eine Veranstaltung, auf der Gebote abgegeben werden sollen. Das kann beispielsweise eine
|
||||
Jahreshauptversammlung oder eine Gründungsveranstaltung sein.
|
||||
|
||||
Ereignis-PIN
|
||||
: Zahlencode, mit dem bei einem Ereignis ein Gebot abgegeben werden kann.
|
||||
|
||||
Anteil
|
||||
: Ein Anteil bezeichnet den Ernteanteil, für den ein Gebot abgegeben werden soll.
|
||||
|
||||
Anteils-ID
|
||||
: Kennung eines Anteils, mit dem ein Gebot zugeordnet wird.
|
||||
|
||||
Anteils-PIN
|
||||
: Zahlencode, mit dem ein Gebot für einen spezifischen Anteil abgegeben werden kann.
|
||||
|
||||
Gebotsrunde
|
||||
: In einer Runde werden Gebote für alle Anteile eingesammelt.
|
||||
|
||||
Finanzplan
|
||||
: Hier wird der Bedarf für ein Wirtschaftsjahr hinterlegt. Anhand des Finanzplans wird berechnet, ob eine Gebotsrunde
|
||||
erfolgreich war oder nicht.
|
||||
|
||||
|
||||
## Eigene Ereignisse
|
||||
|
||||
Mit "eigenen Ereignissen" sind all die Ereignisse gemeint, die mit dem eingeloggten Benutzerkonto angelegt und verwaltet
|
||||
werden, oder solche Ereignisse, die mit der Funktion [Ereignis übertragen](#ereignis-an-anderen-besitzerin-übertragen)
|
||||
an das aktuell eingeloggte Benutzerkonto übertragen wurden.
|
||||
|
||||
### Ereignis anlegen
|
||||
|
||||
Ein neues Ereignis kann im Reiter "Eigene Ereignisse" mit der grünen Schaltfläche "Neues Ereignis" angelegt werden.
|
||||
|
||||
![Schaltfläche "Neues Ereignis"](new-event.webp)
|
||||
|
||||
Für ein neues Ereignis können nun einige Informationen erfasst werden.
|
||||
|
||||
![Formular "Neues Ereignis"](new-event-form.webp)
|
||||
|
||||
Name
|
||||
: Der Name des Ereignisses, z. B. "Jahreshauptversammlung 2024". Dieser Name wird an verschiedenen Stellen angezeigt,
|
||||
unter anderem bei der Ausgabe auf Beamern oder in der Gebotsabgabemaske für Mitglieder. Auch die Auswertungen tragen
|
||||
dies als Titel.
|
||||
|
||||
Aktiviert
|
||||
: Wenn eingeschaltet, kann das Ereignis im Rahmen des angegebenen Zeitfensters für die Gebotsabgabe genutzt werden.
|
||||
|
||||
Aktiv ab
|
||||
: Hier beginnt das Zeitfenster, in dem das Ereignis aktiv ist. Der Standardwert liegt weit in der Vergangenheit.
|
||||
|
||||
Aktiv bis
|
||||
: Hier endet das Zeitfenster, in dem das Ereignis aktiv ist. Der Standardwert liegt weit in der Zukunft.
|
||||
|
||||
!!! tip "Kombination aus 'Aktiviert', 'Aktiv ab' und 'Aktiv bis'"
|
||||
|
||||
Damit ein Ereignis als "aktiv" gilt, müssen alle drei Bedingungen erfüllt sein:
|
||||
|
||||
- Die Option "Aktiviert" muss aktiv sein
|
||||
- Der aktuelle Zeitpunkt muss nach dem "Aktiv ab"-Zeitpunkt liegen
|
||||
- Der aktuelle Zeitpunkt muss vor dem "Aktiv bis"-Zeitpunkt liegen
|
||||
|
||||
!!! note "Bitte beachten"
|
||||
|
||||
Die Funktionen für Teammitglieder stehen nur dann zur Verfügung, wenn ein Ereignis aktiviert ist und man sich
|
||||
innerhalb des angegebenen Zeitfensters befindet.
|
||||
|
||||
Alle Angaben können nachträglich bearbeitet werden.
|
||||
|
||||
### Ereignis aufrufen
|
||||
|
||||
Ereignisse können durch Klick auf den Namen in der Ereignis-Liste aufgerufen werden.
|
||||
|
||||
![Ereignis-Liste](open-event.webp)
|
||||
|
||||
### Ereignis-Optionen
|
||||
|
||||
![Ereignis-Optionen](event-header.webp)
|
||||
|
||||
Bei Ereignissen stehen folgende Optionen zur Verfügung:
|
||||
|
||||
An Beamer senden
|
||||
: Hiermit wird eine virtuelle Folie an alle angeschlossenen Beamer gesendet, die Zugangsinformationen zum aktuellen
|
||||
Ereignis enthält.
|
||||
: ![Ereignis-Darstellung in der Beamer-Ansicht](event-beamer.webp)
|
||||
|
||||
Team verwalten
|
||||
: Hier kann das Team verwaltet werden, welches an dem Ereignis mitarbeiten soll.
|
||||
|
||||
Bearbeiten
|
||||
: Hier werden die Details, die schon bei der Anlage eines Ereignisses angegeben wurden, bearbeitet. Unter anderem kann
|
||||
hier das Ereignis aktiviert, deaktiviert und umbenannt werden.
|
||||
|
||||
Übertragen
|
||||
: Mit dieser Funktion kann man den Besitz des Ereignisses an eine:n andere:n Benutzer:in übertragen. Siehe dazu:
|
||||
[:octicons-arrow-right-24: Ereignis übertragen](#ereignis-an-anderen-besitzerin-übertragen).
|
||||
|
||||
Archivieren
|
||||
: Mit dieser Funktion wird das Ereignis mit allen gesammelten Daten, wie Anteilen, Geboten und Auswertungen, archiviert.
|
||||
Nach der Archivierung kann das Ereignis nicht mehr bearbeitet werden. Es ist dann nur noch dem Besitzer möglich, die
|
||||
Ergebnisdokumente abzurufen oder das Ereignis endgültig zu löschen.
|
||||
|
||||
Ereignis-PIN neu erstellen
|
||||
: ![Ereignis-PIN neu erstellen](renew-event-pin.webp)
|
||||
: Mit dieser Funktion wird eine neue Ereignis-PIN erzeugt.
|
||||
|
||||
!!! warning "Alle Zugangslinks werden ungültig!"
|
||||
|
||||
Wenn eine neue Ereignis-PIN erstellt wird, werden alle Direktzugangslinks ungültig. Dieser Vorgang lässt sich zudem
|
||||
nicht rückgängig machen. Die Ereignis-PIN wird zufällig erstellt.
|
||||
|
||||
Zugangslinks anzeigen
|
||||
: Mit dieser Funktion kann man sich Zugangsinformationen für das Ereignis anzeigen lassen, z. B. um sie Einladungen
|
||||
hinzuzufügen.
|
||||
: ![Zugangslinks](event-links.webp)
|
||||
: Der Direktzugang ermöglicht die Gebotsabgabe ohne Eingabe der Ereignis-PIN.
|
||||
|
||||
!!! tip "Direkt-Link oder Zugang mit PIN?"
|
||||
|
||||
Der Vorteil am Zugang mit PIN liegt darin, dass der QR-Code deutlich weniger komplex ist und daher auch von größerer
|
||||
Entfernung gut gescannt werden kann. Will oder kann man den QR-Code nicht verwenden, ist der aufzurufende Link sehr
|
||||
kurz.
|
||||
|
||||
Der Direktzugangs-Link lässt sich praktisch nur bei elektronischen Einladungen verwenden.
|
||||
|
||||
### Finanzplan hinterlegen
|
||||
|
||||
![Widget "Finanzplan"](fiscal-plan-widget.webp)
|
||||
|
||||
Hier kann der Finanzierungsbedarf für das Wirtschaftsjahr festgelegt werden. Außerdem werden hier Regeln für die Abgabe
|
||||
von Geboten definiert.
|
||||
|
||||
![Finanzplan](fiscal-plan.webp)
|
||||
|
||||
Benötigter Betrag
|
||||
: Dies definiert den benötigten Gesamtbetrag für das Wirtschaftsjahr.
|
||||
|
||||
Monate
|
||||
: Gibt an, wie viele Monate das Wirtschaftsjahr hat. Mit diesem Wert werden die monatlichen Gebote multipliziert, um den
|
||||
Gesamtbetrag der Gebote zu ermitteln.
|
||||
|
||||
Minimalbetrag auf Basis des mittleren Solidarbeitrags
|
||||
: Wenn größer als Null, definiert dieser Wert den Prozentsatz des mittleren Solidarbeitrags als Mindestgebot. Der
|
||||
mittlere Solidarbeitrag wird natürlich auf die Anteilsgröße bezogen und berechnet sich aus dem Finanzierungsbedarfs
|
||||
geteilt durch die Anteile.
|
||||
|
||||
Standardgebot auf Basis des mittleren Solidarbeitrags
|
||||
: Wenn kein Gebot für einen Anteil während einer Runde abgegeben wurde und kein Vorabgebot vorlag, wird dieser Wert
|
||||
herangezogen. Der mittlere Solidarbeitrag wird auch hier auf die Anteilsgröße bezogen.
|
||||
|
||||
Standardgebot auf Basis des Durchschnitts aller abgegebenen Gebote
|
||||
: Wenn kein Gebot für einen Anteil während einer Runde abgegeben wurde und kein Vorabgebot vorlag, wird dieser Wert
|
||||
herangezogen. Als Basis gilt der Durchschnitt aller abgegebenen Gebote. Der Wert wird auf die Anteilsgröße bezogen.
|
||||
|
||||
!!! info "Kumulative Berechnung des Standardgebots"
|
||||
|
||||
Wenn beide Angaben für das Standardgebot größer als Null sind, werden beide Beträge berechnet und addiert.
|
||||
|
||||
!!! note "Jeweils gültiger Finanzplan"
|
||||
|
||||
Eine Gebotsrunde wird immer auf Basis des jeweils zu Beginn der Runde hinterlegten Finanzplans durchgeführt und
|
||||
ausgewertet.
|
||||
|
||||
Anteilswerte anzeigen
|
||||
: Hier kann ausgewählt werden, welche Anteilsgrößen in diversen Ansichten ausgegeben werden. Selbstverständlich können
|
||||
davon abweichende Anteilsgrößen bei der Anlage von Anteilen angegeben werden. Dies ist eine rein informative
|
||||
Konfiguration.
|
||||
|
||||
### Anteile definieren
|
||||
|
||||
![Widget "Anteile"](shares-widget.webp)
|
||||
|
||||
Hier werden Anteile definiert, für die Gebote abgegeben werden können.
|
||||
|
||||
#### Anteil hinzufügen
|
||||
|
||||
Mit dieser Option kann ein Anteil hinzugefügt werden. Dazu müssen diese Informationen angegeben werden:
|
||||
|
||||
![Neuen Anteil anlegen](share-new.webp)
|
||||
|
||||
Anteils-ID
|
||||
: Identifikation des Anteils, z. B. `0116b`. Mit dieser Identifikation muss sich der/die Besitzer:in für die
|
||||
Gebotsabgabe anmelden.
|
||||
|
||||
Teiler
|
||||
: Dies gibt die Anteilsgröße an. Ein Teiler von 1 steht dabei für einen ganzen Anteil, 2 für einen halben und 4 für
|
||||
einen viertel Anteil.
|
||||
|
||||
Anteilseigner
|
||||
: Name des/der Anteils-Besitzer:in. _Die Angabe ist optional_.
|
||||
|
||||
Anteilseigner E-Mail
|
||||
: E-Mail-Adresse des/der Anteils-Besitzer:in. _Die Angabe ist optional_.
|
||||
|
||||
#### Anteilsliste importieren
|
||||
|
||||
Die manuelle Anlage von Anteilen ist unter Umständen sehr zeitaufwändig. Daher gibt es die Möglichkeit, eine ganze Liste
|
||||
von Anteilen aus einer CSV[^csv]-Datei zu importieren.
|
||||
|
||||
Das hier verwendete Format entspricht dem Standard-Export-Format von Microsoft Excel:
|
||||
|
||||
- Zeichensatz: **UTF-8 (bevorzugt ohne BOM)**
|
||||
- Zeilenenden: **`CFLF` (`\r\n`)**
|
||||
- Feldtrenner: **`;`**
|
||||
- keine Kopfzeile
|
||||
- kein Quoting
|
||||
- Escape-Zeichen: **`\ `**
|
||||
|
||||
Es werden vier Spalten erwartet:
|
||||
|
||||
| Spalte | Inhalt |
|
||||
|:------:|---------------------------|
|
||||
| A | Anteils-ID |
|
||||
| B | Teiler |
|
||||
| C | Anteilseigner |
|
||||
| D | Anteilseinger E-Mail |
|
||||
|
||||
Dazu gibt es noch diese Optionen:
|
||||
|
||||
![Import-Optionen](share-import-options.webp)
|
||||
|
||||
Anteile mit gleicher ID überschreiben
|
||||
: Wenn beim Import bereits vorhandene Anteile gefunden werden, werden diese mit den in der Import-Datei angegebenen
|
||||
Werten überschrieben.
|
||||
|
||||
Fehler ignorieren
|
||||
: Fehler einfach überspringen.
|
||||
|
||||
#### Anteilskärtchen drucken
|
||||
|
||||
Für die Abgabe von Geboten werden nicht nur die Anteils-IDs gebraucht, sondern auch eine PIN. Um die Verteilung dieser
|
||||
Informationen bei einer Veranstaltung zu vereinfachen, können mit dieser Option Kärtchen erzeugt werden, die dem
|
||||
Mitglied zum Beispiel beim Check-In für die Veranstaltung ausgehändigt werden können.
|
||||
|
||||
![Anteilskärtchen](share-cards.webp)
|
||||
|
||||
Die Karten liegen als PDF-Datei vor. Sie können direkt gedruckt oder für spätere Verwendung heruntergeladen werden.
|
||||
|
||||
#### Anteil bearbeiten oder löschen
|
||||
|
||||
Klickt man die ID eines Anteils in der Liste an, so kann der Anteil bearbeitet oder gelöscht werden.
|
||||
|
||||
![Anteil bearbeiten](share-edit.webp)
|
||||
|
||||
Die Angaben entsprechen den Angaben, die bei der Anlage gemacht wurden.
|
||||
|
||||
### Vorabgebote erfassen
|
||||
|
||||
Möglicherweise kann ein Mitglied nicht an der Veranstaltung teilnehmen und gibt vorab ein Gebot ab. Dies kann
|
||||
entsprechend im System erfasst werden. Zur Liste der erfassten Vorabgebote kommt man über das entsprechende Widget:
|
||||
|
||||
![Gebote-Widget](pre-bid-widget.webp)
|
||||
|
||||
Für die Erfassung gelangt man über die grüne Schaltfläche "Vorabgebot hinzufügen". Dann sind diese Angaben erforderlich:
|
||||
|
||||
![Formular "Vorabgebot"](pre-bid-form.webp)
|
||||
|
||||
Anteils-ID
|
||||
: Die ID des Anteils, für den das Vorabgebot abgegeben wird.
|
||||
|
||||
Gültig ab Runde
|
||||
: Es ist grundsätzlich möglich, mehrere Vorabgebote für einen Anteil abzugeben. Diese Angabe definiert, ab welcher Runde
|
||||
dieses Gebot gelten soll.
|
||||
|
||||
Fester Gebotsbetrag
|
||||
: Angabe über die Höhe des Gebots auf monatlicher Basis.
|
||||
|
||||
Prozentsatz vom mittleren Solidarbeitrag
|
||||
: Auf Basis der Anteilsgröße wird der angegebene Teil vom mittleren Solidarbeitrags bestimmt.
|
||||
|
||||
Prozentsatz vom Mittelwert aller abgegebenen Gebote
|
||||
: Auf Basis der Anteilsgröße wird der angegebene Teil vom Durchschnitt aller abgegebenen Gebote berechnet.
|
||||
|
||||
!!! info "Kumulative Berechnung des Vorabgebots"
|
||||
|
||||
Das endgültige Gebot wird als Summe aus allen drei Komponenten "Fester Gebotsbetrag", "Prozentsatz vom mittleren
|
||||
Solidarbeitrags" und "Prozentsagt vom Mittelwert aller abgegebenen Gebote" berechnet. "Genullte" Angaben werden
|
||||
nicht berücksichtigt.
|
||||
|
||||
Soll beispielsweise nur ein fester Betrag verwendet werden, sind die beiden Prozentangaben auf Null zu setzen.
|
||||
|
||||
!!! warning "Vorabgebot unterhalb des Mindestgebots"
|
||||
|
||||
Liegt das während einer Runde berechnete Gebot aus dem Vorabgebot unter dem Mindestgebot aus dem Finanzplan, wird
|
||||
das Vorabgebot automatisch bis zum Erreichen des Mindestgebots angehoben.
|
||||
|
||||
Ein entsprechender Ausweis ist im Bericht über die Runde zu sehen.
|
||||
|
||||
### Runde durchführen
|
||||
|
||||
Mit der Auswahl von "Runde starten" beginnt die Gebotsrunde. Nun kann sich jedes Mitglied anmelden und sein Gebot
|
||||
abgeben _(siehe auch: [:octicons-arrow-right-24: Digitales Gebot für Mitglieder](members.md))_.
|
||||
|
||||
Die Gebotsabgabe ist so lange möglich, bis die Runde gestoppt wird. Dann erfolgt sogleich die Auswertung.
|
||||
|
||||
!!! info "Keine Änderungen während einer Runde"
|
||||
|
||||
Während eine Runde läuft, lassen sich keine Änderungen am Finanzplan, den Anteilen oder den Vorabgeboten vornehmen.
|
||||
|
||||
#### Ergebnisbericht erhalten
|
||||
|
||||
Mit dem Beenden der Runde wird das Ergebnis berechnet.
|
||||
|
||||
![Ergebnis](round-result.webp)
|
||||
|
||||
Man kann direkt erkennen, ob die Runde erfolgreich war oder nicht. Außerdem kann man direkt einen PDF-Bericht abrufen:
|
||||
|
||||
![Ergebnis-PDF](round-result-pdf.webp)
|
||||
|
||||
Auf den Folgeseiten enthält der Bericht detaillierte Informationen über die Zusammensetzung/Entstehung der jeweiligen
|
||||
Gebote:
|
||||
|
||||
![Ergebnis-Detail](round-result-detail.webp)
|
||||
|
||||
Die PDF-Datei kann direkt heruntergeladen oder ausgedruckt werden.
|
||||
|
||||
!!! tip "Die Ergebnisse bleiben erhalten"
|
||||
|
||||
Die Ergebnisse der einzelnen Runden können jederzeit wieder abgerufen werden, solange das Ereignis nicht gelöscht
|
||||
oder archiviert wurde.
|
||||
|
||||
### Ereignis an andere:n Besitzer:in übertragen
|
||||
|
||||
Mit dieser Funktion ist es möglich, das Ereignis an einen anderen Benutzer zu übertragen.
|
||||
|
||||
![Ereignis übertragen](transfer-event.webp)
|
||||
|
||||
Für die Übertragung können folgende Angaben gemacht werden:
|
||||
|
||||
E-Mail-Adresse
|
||||
: Dies ist die E-Mail-Adresse des Benutzers, an den das Ereignis übertragen werden soll. Dieser Benutzer muss bereits
|
||||
ein Konto besitzen und Zugriff auf das Modul "Digitales Gebot" haben.
|
||||
|
||||
Im Team verbleiben
|
||||
: Setze diese Option, wenn du nach der Übertragung selbst im Team verbleiben möchtest. Anschließend kannst du noch die
|
||||
Berechtigungen definieren, die du haben möchtest.
|
||||
|
||||
!!! tip "Berechtigungen liegen ab dann beim neuen Besitzer"
|
||||
|
||||
Der neue Besitzer kann natürlich deine Berechtigungen als Teammitglied wieder bearbeiten.
|
||||
|
||||
Aktiviert
|
||||
: Legt fest, ob du ein aktives Teammitglied bist.
|
||||
|
||||
Aktiv ab / Aktiv bis
|
||||
: Legt das Zeitfenster fest, in dem deine Teammitgliedschaft aktiv ist. Auch hier gilt: Alle drei Einstellungen
|
||||
(Aktiviert, Aktiv ab, Aktiv bis) müssen passen, damit die Mitgliedschaft vom System als aktiv betrachtet wird.
|
||||
|
||||
Berechtigung: Vorabgebot erfassen
|
||||
: Legt fest, ob du als Teammitglied Vorabgebote erfassen und bearbeiten darfst.
|
||||
|
||||
Berechtigung: Gebot erfassen
|
||||
: Legt fest, ob du während laufender Gebotsrunden Gebote von Mitgliedern erfassen darfst, z. B. um ihnen zu helfen,
|
||||
wenn die Erfassung über eigene Geräte nicht funktioniert.
|
||||
|
||||
Berechtigung: Runde starten
|
||||
: Legt fest, ob du eine Gebotsrunde starten darfst.
|
||||
|
||||
Berechtigung: Runde beenden
|
||||
: Legt fest, ob du eine Gebotsrunde beenden darfst.
|
||||
|
||||
Berechtigung: Auswertung abrufen
|
||||
: Legt fest, ob du Zugriff auf die ausführlichen Ergebnisse einer Runde hast.
|
||||
|
||||
### Ereignis-Team verwalten
|
||||
|
||||
Um die Arbeit während einer Veranstaltung besser verteilen zu können, lässt sich ein Team aufbauen. Voraussetzungen für
|
||||
potentielle Teammitglieder sind, dass sie über einen Benutzeraccount der [solawi-suite] und die Zugangsberechtigung für
|
||||
das Modul "Digitales Gebot" verfügen.
|
||||
|
||||
#### Team-Mitglied hinzufügen
|
||||
|
||||
#### Team-Mitglieder verwalten
|
||||
|
||||
## Ereignisse im Team
|
||||
|
||||
### Gebote
|
||||
|
||||
#### Vorabgebote erfassen
|
||||
|
||||
#### Gebote erfassen
|
||||
|
||||
### Runden
|
||||
|
||||
### Ergebnisse
|
||||
|
||||
## Archivierte Ereignisse
|
||||
|
||||
Im Reiter "Archivierte Ereignisse" finden sich all die Ereignisse, die mit der Funktion "Archivieren" archiviert wurden.
|
||||
|
||||
Die Ereignisse können zwar nicht mehr bearbeitet werden, aber es ist möglich, die Runden-Ergebnisse abzurufen und die
|
||||
Ereignisse mitsamt der Ergebnisse endgültig zu löschen.
|
||||
|
||||
![Archivierte Ergebnisse](archived-result-list.webp)
|
||||
|
||||
## Beamer-Funktionen
|
||||
|
||||
An verschiedenen Stellen gibt es die Möglichkeit, die vorliegenden Informationen an angeschlossene Beamer zu senden.
|
||||
Dazu müssen Beamer verbunden sein. Mehr Details dazu: [:octicons-arrow-right-24: Beamer-Modul](../beamer/index.md).
|
||||
|
||||
|
||||
[^csv]: CSV steht für "Comma-separated values" und beschreibt ein textbasiertes menschenlesbares Dateiformat für
|
||||
tabellarische Daten. Viele Programme zur Tabellenkalkulation beherrschen CSV als Export-Format. Leider gibt es
|
||||
keinen einheitlichen Standard zum Aufbau.
|
||||
Weitere Informationen bei [Wikipedia](https://de.wikipedia.org/wiki/CSV_(Dateiformat)).
|
||||
|
117
docs/modules/bidding/members.md
Normal file
@ -0,0 +1,117 @@
|
||||
# Digitales Gebotsverfahren für Mitglieder
|
||||
|
||||
_Liebes Mitglied!_
|
||||
|
||||
Du bist eingeladen, im Rahmen einer Veranstaltung dein Gebot zur Finanzierung der SoLaWi _digital_ abzugeben. Früher
|
||||
wurden die Gebote auf kleinen Zetteln während der entsprechenden Versammlungen eingesammelt und mühsam von Hand
|
||||
ausgezählt um festzustellen, ob eine Bieterrunde bzw. Gebotsrunde erfolgreich war oder ob es eine weitere Runde geben
|
||||
muss.
|
||||
|
||||
Das "Digitale Gebot" der [solawi-suite] von [solawi.me](https://solawi.me/) erleichtert diesen Prozess für alle
|
||||
Beteiligten und automatisiert zeitraubende und fehleranfällige Auszählungen. Im folgenden erklären wir dir, wie die
|
||||
digitale Gebotsabgabe funktioniert, was du dazu brauchst und wie du Unterstützung finden kannst.
|
||||
|
||||
!!! important "Deine SoLaWi und die [solawi-suite]"
|
||||
|
||||
Die [solawi-suite] unter [https://solawi.me/](https://solawi.me/) ist "nur" die Software, die deine SoLaWi zur
|
||||
Durchführung der Bieterrunden verwendet.
|
||||
|
||||
Wenn du Fragen, Anregungen oder Fehlermeldungen zur Software an sich hast, kannst du uns gerne
|
||||
[kontaktieren](/ui/contact), aber in allen Fragen rund um deine SoLaWi wende dich bitte an die jeweiligen
|
||||
Ansprechpersonen aus euren Kontakt-/Orga-Teams/Kreisen. Sie helfen dir sicherlich weiter.
|
||||
|
||||
## Deine Zutaten für eine gelungene Bieterrunde
|
||||
|
||||
Um ein Gebot abzugeben, brauchst du diese Dinge:
|
||||
|
||||
- Deine Anteils-ID und eine Anteils-PIN (beides wird dir vorab von deinem Orga-Team ausgehändigt)
|
||||
- Dein internetfähiges Mobiltelefon (Smartphone), Tablet oder deinen (mobilen) Computer; _wenn du über kein eigenes
|
||||
Gerät verfügst, kannst du auch das Gerät eines anderen Teilnehmers verwenden, die Abstimmung ist nicht gerätegebunden
|
||||
und es gibt keine langen Passwörter, die du irgendwo eintippen musst_
|
||||
|
||||
!!! tip inline end "Internetzugang während Veranstaltungen"
|
||||
|
||||
Manche SoLaWis stellen währennd ihrer Veranstaltungen ein Drahtlosnetzwerk (WLAN) mit Internetzugang zur Verfügung.
|
||||
|
||||
- Einen Zugang zur Runde, der auf diesen Wegen erfolgen kann:
|
||||
- Ein Direktlink, der dich direkt zum Formular für die Abgabe führt, und der dir z. B. per E-Mail oder als QR-Code
|
||||
zugegangen ist.
|
||||
- Eine Ereignis-PIN, mit der du unter [https://solawi.me/bid/go](https://solawi.me/bid/go) zur Bieterrrunde dazu
|
||||
stoßen kannst
|
||||
|
||||
Was du jedoch auf keinen Fall benötigst: Du brauchst kein Benutzerkonto für die [solawi-suite].
|
||||
|
||||
## In drei Schritten zum Gebot
|
||||
|
||||
Wir erklären dir nun Schritt für Schritt, wie die Gebotsabgabe funktioniert.
|
||||
|
||||
### 1. Gebotsseite aufrufen
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
- **Aufruf mit Ereignis-PIN**
|
||||
|
||||
---
|
||||
|
||||
Öffne mit deinem Browser [https://solawi.me/bid/go](https://solawi.me/bid/go). Gib anschließend die 12-stellige
|
||||
numerische Ereignis-PIN ein, die allen Teilnehmern zur Verfügung gestellt wurde. Die Leerzeichen zwischen den
|
||||
Dreiergruppen musst du nicht mit eingeben.
|
||||
|
||||
![Einem Ereignis beitreten](enter-event-form.webp)
|
||||
|
||||
Klicke anschließend auf die Schaltfläche "beitreten".
|
||||
|
||||
- **Aufruf mit Direktlink**
|
||||
|
||||
---
|
||||
|
||||
Du kommst direkt auf der Seite zur Gebotsabgabe an.
|
||||
</div>
|
||||
|
||||
### 2. Auf den Beginn der Runde warten.
|
||||
|
||||
![Aktuell keine Gebotsrunde](no-round.webp){align=right width=200}
|
||||
|
||||
Solange die Veranstaltungsleitung noch keine Gebotsrunde eröffnet hat, kannst du kein Gebot abgeben. Dieses Vorgehen
|
||||
stellt sicher, dass dein Gebot der richtigen Runde zugeordnet werden kann und so eine saubere Auszählung möglich ist.
|
||||
|
||||
Sobald bekannt gegeben wird, dass die Runde eröffnet wurde, klicke auf den "Aktualisieren"-Knopf.
|
||||
|
||||
### 3. Dein Gebot erfassen
|
||||
|
||||
![Gebotsabgabe-Formular](bid-form.webp){align=right width=200}
|
||||
|
||||
Bei eröffneter Runde hast du nun Zugriff auf ein Formular, in dem du diese Daten erfasst:
|
||||
|
||||
- Deine Anteils-ID
|
||||
- Deine Anteils-PIN
|
||||
- Den Gebotsbetrag pro Monat (bitte verzichte auf Tausender-Trennzeichen)
|
||||
|
||||
Klicke nun auf die Schaltfläche "Gebot abgeben". Deine Eingaben werden nun überprüft, und dein Gebot abgespeichert.
|
||||
|
||||
!!! danger "Gebote sind bindend!"
|
||||
|
||||
Du kannst nur ein Gebot pro Runde abgeben. Ein einmal abgegebenes Gebot kann nicht mehr verändert werden.
|
||||
|
||||
#### Sonderfall: Unterschreitung des Mindestgebots
|
||||
|
||||
Deine SoLaWi kann festlegen, dass es ein Mindestgebot gibt. Wenn dein Gebot diesen Betrag unterschreitet, erhältst du
|
||||
eine entsprechende Meldung und musst dein Gebot erhöhen. Erst dann ist die Gebotsabgabe erfolgreich.
|
||||
|
||||
## Was passiert eigentlich, wenn du kein gültiges Gebot in einer Runde abgibst?
|
||||
|
||||
Deine SoLaWi kann Regeln festlegen, was passiert, wenn ein:e Anteilseigner:in nicht bietet. Das kann vom Einsetzen eines
|
||||
definierten Mindestbetrags bis zu einem prozentualen Anteil der abgegebenen Gebote oder einer Kombination von Regeln
|
||||
bestehen. Dein Orga- oder Finanz-Team klärt darüber auf.
|
||||
|
||||
## Ende der Runde
|
||||
|
||||
Nach einer gewissen Zeit beendet die Veranstaltungsleitung die Runde. Die Auswertung erfolgt nun automatisch, und das
|
||||
Ergebnis wird bekannt gegeben.
|
||||
|
||||
## Vorab Gebote abgeben
|
||||
|
||||
Bei einigen SoLaWis ist es möglich, dass du Gebote vorab der Veranstaltungsleitung mitteilen kannst. Diese "Vorabgebote"
|
||||
werden dann durch das Veranstaltungsteam vor Beginn der Gebotsrunden erfasst.
|
||||
|
||||
Entsprechend kannst du selbst mit Anteils-ID und Anteils-PIN keine Gebote abgeben, wenn bereits ein gültiges Vorabgebot
|
||||
für deinen Anteil vorliegt.
|
BIN
docs/modules/bidding/new-event-form.webp
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/modules/bidding/new-event.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/modules/bidding/no-round.webp
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/modules/bidding/open-event.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/modules/bidding/pre-bid-form.webp
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/modules/bidding/pre-bid-widget.webp
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
docs/modules/bidding/renew-event-pin.webp
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
docs/modules/bidding/round-result-detail.webp
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
docs/modules/bidding/round-result-pdf.webp
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
docs/modules/bidding/round-result.webp
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
docs/modules/bidding/share-cards.webp
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
docs/modules/bidding/share-edit.webp
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
docs/modules/bidding/share-import-options.webp
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
docs/modules/bidding/share-new.webp
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
docs/modules/bidding/shares-widget.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/modules/bidding/transfer-event.webp
Normal file
After Width: | Height: | Size: 86 KiB |
127
docs/registration/index.md
Normal file
@ -0,0 +1,127 @@
|
||||
# Registrierung
|
||||
|
||||
!!! tip "Hinweis"
|
||||
|
||||
Die Registrierung ist aktuell nur für Mitglieder von SoLaWis möglich, mit denen wir Kontakt stehen. Die
|
||||
Registrierung erfolgt dann entweder im Selbst-Service mit einer E-Mail-Adresse mit der Domain der SoLaWi, oder per
|
||||
Einladung durch einen der Administratoren.
|
||||
|
||||
Wir freuen uns, mit euch in Kontakt zu treten und eine Zusammenarbeit zu diskutieren.
|
||||
|
||||
[Kontaktinformationen](/ui/contact)
|
||||
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
Für eine erfolgreiche Registrierung brauchst Du ein paar wenige Voraussetzungen, egal ob du dich im Selbst-Service oder
|
||||
mit einer Einladung von uns registrierst:
|
||||
|
||||
1. Einen Internetzugang und einen modernen Webbrowser. Aktuell testen wir hauptsächlich mit Mozilla Firefox. Theoretisch
|
||||
sollten aber alle anderen verbreiteten Browser auch funktionieren.
|
||||
2. Eine gültige E-Mail-Adresse, an die wir dir deine persönlichen Informationen zur Registrierung schicken können.
|
||||
3. Grundsätzlich sollten alle Funktionen der [solawi-suite] auf mobilen Endgeräten funktionieren. Für die Durchführung
|
||||
der Registrierung empfehlen wir jedoch ein Tablet oder einen Desktop-Rechner, das vereinfacht die Einrichtung der
|
||||
Zwei-Faktor-Authentifizierung.
|
||||
|
||||
!!! tip inline end "Passkeys"
|
||||
|
||||
Nach erfolgreicher Registrierung kannst du dir den Zugang mittels Passkey einrichten. Was Passkeys sind, wo die
|
||||
Vorteile für dich liegen und was du dazu tun musst, erklären wir dir
|
||||
[:octicons-arrow-right-24: hier](../account/self-service.md#passkeys-verwalten)
|
||||
|
||||
4. Apropos Zwei-Faktor-Authentifizierung: Du benötigst eine App oder ein anderes Tool, um sogenannte TOTPs[^1] zu
|
||||
erzeugen. Das sind sechsstellige Zahlencodes, mit denen du deine Identität bestätigst. Eine Registrierung ohne die
|
||||
sofortige Einrichtung der Zwei-Faktor-Authentifizierung ist nicht möglich. Hier eine Auswahl an Apps:
|
||||
- FreeOTP
|
||||
([iOS](https://apps.apple.com/us/app/freeotp-authenticator/id872559395),
|
||||
[Android](https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp))
|
||||
- Microsoft Authenticator
|
||||
([iOS](https://apps.apple.com/de/app/microsoft-authenticator/id983156458),
|
||||
[Android](https://play.google.com/store/apps/details?id=com.azure.authenticator))
|
||||
- Twilio Authy
|
||||
([iOS](https://apps.apple.com/in/app/twilio-authy/id494168017),
|
||||
[Android](https://play.google.com/store/apps/details?id=com.authy.authy&hl=en_IN))
|
||||
|
||||
Alle Apps haben ihre spezifischen Vor- und Nachteile, weswegen wir für keine davon eine explizite Empfehlung
|
||||
aussprechen. Eventuell ist aber eine davon bereits bei dir im Einsatz.
|
||||
Neben den genannten Apps können viele Passwort-Manager, wie beispielsweise [Passbolt](https://www.passbolt.com/),
|
||||
[Bitwarden](https://bitwarden.com/) oder [LastPass](https://www.lastpass.com/) ebenso zur Verwaltung von TOTPs
|
||||
verwendet werden. Hier gibt es meist noch Browser-Plugins, die eine komfortable Nutzung ermöglichen.
|
||||
|
||||
5. Du benötigst ein starkes Passwort, welches diesen Regeln entspricht:
|
||||
- Mindestens 10 Zeichen lang, bis zu 1024 Zeichen
|
||||
- Es darf keine zu große Ähnlichkeit mit deiner E-Mail-Adresse oder deinen Namensinformatioen haben
|
||||
- Es darf nicht zu gewöhnlich sein
|
||||
- Es darf nicht nur ausschließlich aus Zahlen bestehen
|
||||
|
||||
[^1]: TOTP steht für "Time-based one-time password" und ist eine gängige Form für einen zweiten Faktor für die Anmeldung
|
||||
an (Web-)Applikationen. Die Erzeugung ist standardisiert, so dass eine breite Auswahl an Apps und Tools für fast
|
||||
jede Plattform zur Verfügung steht.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/Time-based_one-time_password).
|
||||
|
||||
## Ablauf
|
||||
|
||||
### Registrierungsmail erhalten
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
- **Registrierung im Selbst-Service**
|
||||
|
||||
---
|
||||
|
||||
1. Besuche die Seite [Registrierung](/users/register).
|
||||
2. Gib deine E-Mail-Adresse mit der Domain deiner SoLaWi ein.
|
||||
3. Das System schickt dir innerhalb weniger Minuten eine E-Mail mit einem persönlichen Registrierungslink an die
|
||||
angegebene Adresse. Mit einem Klick auf diesen Link kannst Du mit dem Registrierungsprozess beginnen.
|
||||
|
||||
- **Registrierung auf Einladung**
|
||||
|
||||
---
|
||||
|
||||
Du erhältst nach Rücksprache mit uns eine E-Mail vom [solawi-suite]-System, welche einen individuellen nur für dich
|
||||
bestimmten Link zur Registrierung enthält. Mit einem Klick auf diesen Link kannst Du mit dem Registrierungsprozess
|
||||
beginnen.
|
||||
</div>
|
||||
|
||||
!!! warning "Gültigkeit der Links"
|
||||
|
||||
Die Links, die dir per E-Mail geschickt werden, sind für exakt eine Registrierung gültig und individuell nur für
|
||||
dich, da damit bereits deine E-Mail-Adresse verbunden ist.
|
||||
|
||||
Die Registrierungslinks sind außerdem **nur für 48 Stunden gültig**. Während der Link noch gültig ist, kannst du
|
||||
keinen neuen Link für die gleiche E-Mail-Adresse anfordern. Sollte keine Registrierung durchgeführt werden, löschen
|
||||
wir deine E-Mail-Adresse nach dem Ablauf der Gültigkeit automatisch wieder aus dem System.
|
||||
|
||||
Schaue auch in deinem **Spam-Ordner** nach. Wir verwenden zwar SPF[^11], DKIM[^12] und DMARC[^13], aber dennoch
|
||||
kommt es von Zeit zu Zeit vor, dass die Nachrichten im Spam landen.
|
||||
|
||||
|
||||
[^11]: SPF steht für "Sender Policy Framework" und beschreibt ein Regelwerk, welches definiert, welche Server Mails für
|
||||
eine bestimmte Domain versenden dürfen.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/Sender_Policy_Framework).
|
||||
|
||||
[^12]: DKIM steht für "DomainKeys Identified Mail" und stellt sicher, dass wir wirklich der Absender sind, der wir
|
||||
vorgeben, zu sein.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/DomainKeys_Identified_Mail).
|
||||
|
||||
[^13]: DMARC steht für "Domain-based Message Authentication, Reporting and Conformance" und basiert auf der Verwendung
|
||||
von SPF und DKIM.
|
||||
Weitere Infos bei [Wikipedia](https://de.wikipedia.org/wiki/DMARC).
|
||||
|
||||
## Registrierung durchführen
|
||||
|
||||
Mit dem Klick auf den Link kommst du zu diesem Formular:
|
||||
|
||||
![Online-Formular zur Registrierung](registration.webp)
|
||||
|
||||
Fülle es mit deinem Namen aus, und gib dein Passwort zwei Mal ein. Scanne nun den QR-Code mit deiner TOTP-App oder
|
||||
konfiguriere dein Tool mit dem Secret, welches unter dem QR-Code angegeben ist. Lasse deine App oder dein Tool einen
|
||||
Code generieren und gib ihn ein.
|
||||
|
||||
Das war es schon. Du bist nun registriert.
|
||||
|
||||
## Erstes Login
|
||||
|
||||
Du kannst dich ab sofort anmelden. Möglicherweise stehen dir noch nicht alle Module zur Verfügung, denn für manche
|
||||
benötigst du eine manuelle Freischaltung durch einen der Admins.
|
||||
|
||||
_Mehr Infos zum Login findest du hier: [:octicons-arrow-right-24: Login](../account/login.md)._
|
BIN
docs/registration/registration.webp
Normal file
After Width: | Height: | Size: 59 KiB |
89
mkdocs.yml
Normal file
@ -0,0 +1,89 @@
|
||||
site_name: 🧑🌾 [solawi-suite] 🌾 Handbuch
|
||||
|
||||
site_author: Jürgen Edelbluth
|
||||
site_dir: site/solawi-suite-manual/
|
||||
site_description: Handbuch für die 🧑🌾 [solawi-suite] 🌾
|
||||
|
||||
theme:
|
||||
name: material
|
||||
custom_dir: overrides
|
||||
language: de
|
||||
logo: /favicon.png
|
||||
favicon: /favicon.ico
|
||||
features:
|
||||
- navigation.footer
|
||||
- header.autohide
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- search.suggest
|
||||
- search.highlight
|
||||
- search.share
|
||||
- content.action.edit
|
||||
icon:
|
||||
repo: fontawesome/brands/git-alt
|
||||
edit: material/pencil
|
||||
view: material/eye
|
||||
|
||||
extra:
|
||||
homepage: /
|
||||
generator: true
|
||||
|
||||
repo_url: https://git.codebau.dev/solawi-suite
|
||||
repo_name: git.codebau.dev
|
||||
|
||||
edit_uri_template: https://git.codebau.dev/solawi-suite/documentation/src/branch/dev/docs/{path}
|
||||
|
||||
plugins:
|
||||
- search
|
||||
- minify:
|
||||
minify_html: true
|
||||
minify_js: true
|
||||
minify_css: true
|
||||
htmlmin_opts:
|
||||
remove_comments: true
|
||||
cache_safe: true
|
||||
- offline
|
||||
- privacy
|
||||
- glightbox
|
||||
|
||||
extra_javascript:
|
||||
- "/ui/matomo.js"
|
||||
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
- abbr
|
||||
- footnotes
|
||||
- toc:
|
||||
title: Auf dieser Seite
|
||||
toc_depth: 3
|
||||
- tables
|
||||
- meta
|
||||
- pymdownx.tabbed:
|
||||
alternate_style: true
|
||||
- pymdownx.tasklist:
|
||||
custom_checkbox: true
|
||||
clickable_checkbox: false
|
||||
- pymdownx.superfences
|
||||
- def_list
|
||||
- attr_list
|
||||
- md_in_html
|
||||
- pymdownx.emoji:
|
||||
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
||||
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
||||
|
||||
copyright: Jürgen Edelbluth, <a href="https://solawi.me/">solawi.me</a>
|
||||
|
||||
nav:
|
||||
- '↩ zurück zur [solawi-suite]': /
|
||||
- 'Startseite Handbuch': index.md
|
||||
- 'Registrierung': registration/index.md
|
||||
- 'Benutzerkonto':
|
||||
- 'Login': account/login.md
|
||||
- 'Kontoverwaltung': account/self-service.md
|
||||
- 'Module':
|
||||
- 'Abholgemeinschaft': modules/ahg/index.md
|
||||
- 'Beamer-Verbindung': modules/beamer/index.md
|
||||
- 'Digitales Gebot': modules/bidding/index.md
|
||||
- 'Digitales Gebot für Mitglieder': modules/bidding/members.md
|
||||
- 'Kontakt': /ui/contact
|
||||
- 'Impressum/Datenschutz': /ui/impressum
|
11
overrides/partials/copyright.html
Normal file
@ -0,0 +1,11 @@
|
||||
<div class="md-copyright">
|
||||
<p><a href="/ui/impressum">Impressum / Datenschutz</a> | <a href="/ui/contact">Kontakt</a></p>
|
||||
<p>
|
||||
{% if config.copyright %}
|
||||
Copyright © 2023-{{ build_date_utc.strftime('%Y') }} {{ config.copyright }}
|
||||
{% endif %}
|
||||
{% if not config.extra.generator == false %}
|
||||
<br>Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">Material for MkDocs</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
429
requirements.txt
Normal file
@ -0,0 +1,429 @@
|
||||
babel==2.14.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 \
|
||||
--hash=sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287
|
||||
beautifulsoup4==4.12.3 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \
|
||||
--hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed
|
||||
certifi==2024.2.2 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f \
|
||||
--hash=sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1
|
||||
charset-normalizer==3.3.2 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \
|
||||
--hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \
|
||||
--hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \
|
||||
--hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \
|
||||
--hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \
|
||||
--hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \
|
||||
--hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \
|
||||
--hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \
|
||||
--hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \
|
||||
--hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \
|
||||
--hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \
|
||||
--hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \
|
||||
--hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \
|
||||
--hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \
|
||||
--hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \
|
||||
--hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \
|
||||
--hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \
|
||||
--hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \
|
||||
--hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \
|
||||
--hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \
|
||||
--hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \
|
||||
--hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \
|
||||
--hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \
|
||||
--hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \
|
||||
--hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \
|
||||
--hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \
|
||||
--hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \
|
||||
--hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \
|
||||
--hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \
|
||||
--hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \
|
||||
--hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \
|
||||
--hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \
|
||||
--hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \
|
||||
--hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \
|
||||
--hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \
|
||||
--hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \
|
||||
--hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \
|
||||
--hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \
|
||||
--hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \
|
||||
--hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \
|
||||
--hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \
|
||||
--hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \
|
||||
--hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \
|
||||
--hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \
|
||||
--hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \
|
||||
--hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \
|
||||
--hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \
|
||||
--hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \
|
||||
--hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \
|
||||
--hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \
|
||||
--hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \
|
||||
--hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \
|
||||
--hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \
|
||||
--hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \
|
||||
--hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \
|
||||
--hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \
|
||||
--hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \
|
||||
--hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \
|
||||
--hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \
|
||||
--hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \
|
||||
--hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \
|
||||
--hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \
|
||||
--hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \
|
||||
--hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \
|
||||
--hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \
|
||||
--hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \
|
||||
--hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \
|
||||
--hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \
|
||||
--hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \
|
||||
--hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \
|
||||
--hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \
|
||||
--hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \
|
||||
--hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \
|
||||
--hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \
|
||||
--hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \
|
||||
--hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \
|
||||
--hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \
|
||||
--hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \
|
||||
--hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \
|
||||
--hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \
|
||||
--hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \
|
||||
--hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \
|
||||
--hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \
|
||||
--hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \
|
||||
--hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \
|
||||
--hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \
|
||||
--hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \
|
||||
--hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \
|
||||
--hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
|
||||
--hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
|
||||
click==8.1.7 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
||||
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
||||
colorama==0.4.6 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
||||
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
||||
csscompressor==0.9.5 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05
|
||||
editorconfig==0.12.4 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:24857fa1793917dd9ccf0c7810a07e05404ce9b823521c7dce22a4fb5d125f80
|
||||
ghp-import==2.1.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \
|
||||
--hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
|
||||
htmlmin2==0.1.13 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:75609f2a42e64f7ce57dbff28a39890363bde9e7e5885db633317efbdf8c79a2
|
||||
idna==3.6 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca \
|
||||
--hash=sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f
|
||||
jinja2==3.1.3 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \
|
||||
--hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90
|
||||
jsbeautifier==1.15.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:ebd733b560704c602d744eafc839db60a1ee9326e30a2a80c4adb8718adc1b24
|
||||
jsmin==3.0.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc
|
||||
markdown==3.6 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f \
|
||||
--hash=sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224
|
||||
markupsafe==2.1.5 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \
|
||||
--hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \
|
||||
--hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \
|
||||
--hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \
|
||||
--hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \
|
||||
--hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \
|
||||
--hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \
|
||||
--hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \
|
||||
--hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \
|
||||
--hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \
|
||||
--hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \
|
||||
--hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \
|
||||
--hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \
|
||||
--hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \
|
||||
--hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \
|
||||
--hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \
|
||||
--hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \
|
||||
--hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \
|
||||
--hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \
|
||||
--hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \
|
||||
--hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \
|
||||
--hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \
|
||||
--hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \
|
||||
--hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \
|
||||
--hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \
|
||||
--hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \
|
||||
--hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \
|
||||
--hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \
|
||||
--hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \
|
||||
--hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \
|
||||
--hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \
|
||||
--hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \
|
||||
--hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \
|
||||
--hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \
|
||||
--hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \
|
||||
--hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \
|
||||
--hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \
|
||||
--hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \
|
||||
--hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \
|
||||
--hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \
|
||||
--hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \
|
||||
--hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \
|
||||
--hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \
|
||||
--hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \
|
||||
--hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \
|
||||
--hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \
|
||||
--hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \
|
||||
--hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \
|
||||
--hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \
|
||||
--hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \
|
||||
--hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \
|
||||
--hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \
|
||||
--hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \
|
||||
--hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \
|
||||
--hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \
|
||||
--hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \
|
||||
--hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \
|
||||
--hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \
|
||||
--hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \
|
||||
--hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68
|
||||
mergedeep==1.3.4 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \
|
||||
--hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
|
||||
mkdocs-glightbox==0.3.7 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:4e890140a97dd4ad128cb92174384bd0ac33adec3304bbd2b7c48d0847685c4f \
|
||||
--hash=sha256:9659631a9829d93d8fb0ce3a20a10261c258605ba4dc87a3b7b5d847b93a276d
|
||||
mkdocs-material-extensions==1.3.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 \
|
||||
--hash=sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31
|
||||
mkdocs-material==9.5.17 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:06ae1275a72db1989cf6209de9e9ecdfbcfdbc24c58353877b2bb927dbe413e4 \
|
||||
--hash=sha256:14a2a60119a785e70e765dd033e6211367aca9fc70230e577c1cf6a326949571
|
||||
mkdocs-mermaid2-plugin==1.1.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:4e25876b59d1e151ca33a467207b346404b4a246f4f24af5e44c32408e175882 \
|
||||
--hash=sha256:bea5f3cbe6cb76bad21b81e49a01e074427ed466666c5d404e62fe8698bc2d7c
|
||||
mkdocs-minify-plugin==0.8.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:5fba1a3f7bd9a2142c9954a6559a57e946587b21f133165ece30ea145c66aee6 \
|
||||
--hash=sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d
|
||||
mkdocs-redirects==1.2.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861
|
||||
mkdocs==1.5.3 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:3b3a78e736b31158d64dbb2f8ba29bd46a379d0c6e324c2246c3bc3d2189cfc1 \
|
||||
--hash=sha256:eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2
|
||||
mkdocs[i18n]==1.5.3 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:3b3a78e736b31158d64dbb2f8ba29bd46a379d0c6e324c2246c3bc3d2189cfc1 \
|
||||
--hash=sha256:eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2
|
||||
packaging==24.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \
|
||||
--hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9
|
||||
paginate==0.5.6 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d
|
||||
pathspec==0.12.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
|
||||
--hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
|
||||
platformdirs==4.2.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068 \
|
||||
--hash=sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768
|
||||
pygments==2.17.2 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c \
|
||||
--hash=sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367
|
||||
pymdown-extensions==10.7.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:c70e146bdd83c744ffc766b4671999796aba18842b268510a329f7f64700d584 \
|
||||
--hash=sha256:f5cc7000d7ff0d1ce9395d216017fa4df3dde800afb1fb72d1c7d3fd35e710f4
|
||||
python-dateutil==2.9.0.post0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||
pyyaml-env-tag==0.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \
|
||||
--hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069
|
||||
pyyaml==6.0.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
|
||||
--hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \
|
||||
--hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \
|
||||
--hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \
|
||||
--hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \
|
||||
--hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \
|
||||
--hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \
|
||||
--hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \
|
||||
--hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \
|
||||
--hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \
|
||||
--hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
|
||||
--hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \
|
||||
--hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \
|
||||
--hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \
|
||||
--hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \
|
||||
--hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \
|
||||
--hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \
|
||||
--hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \
|
||||
--hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \
|
||||
--hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \
|
||||
--hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
|
||||
--hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \
|
||||
--hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \
|
||||
--hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \
|
||||
--hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
|
||||
--hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \
|
||||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
--hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \
|
||||
--hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \
|
||||
--hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \
|
||||
--hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \
|
||||
--hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \
|
||||
--hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \
|
||||
--hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
|
||||
--hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \
|
||||
--hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \
|
||||
--hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \
|
||||
--hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
|
||||
--hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \
|
||||
--hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \
|
||||
--hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \
|
||||
--hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \
|
||||
--hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \
|
||||
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
||||
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
||||
regex==2023.12.25 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5 \
|
||||
--hash=sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770 \
|
||||
--hash=sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc \
|
||||
--hash=sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105 \
|
||||
--hash=sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d \
|
||||
--hash=sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b \
|
||||
--hash=sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9 \
|
||||
--hash=sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630 \
|
||||
--hash=sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6 \
|
||||
--hash=sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c \
|
||||
--hash=sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482 \
|
||||
--hash=sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6 \
|
||||
--hash=sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a \
|
||||
--hash=sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80 \
|
||||
--hash=sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5 \
|
||||
--hash=sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1 \
|
||||
--hash=sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f \
|
||||
--hash=sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf \
|
||||
--hash=sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb \
|
||||
--hash=sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2 \
|
||||
--hash=sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347 \
|
||||
--hash=sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20 \
|
||||
--hash=sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060 \
|
||||
--hash=sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5 \
|
||||
--hash=sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73 \
|
||||
--hash=sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f \
|
||||
--hash=sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d \
|
||||
--hash=sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3 \
|
||||
--hash=sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae \
|
||||
--hash=sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4 \
|
||||
--hash=sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2 \
|
||||
--hash=sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457 \
|
||||
--hash=sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c \
|
||||
--hash=sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4 \
|
||||
--hash=sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87 \
|
||||
--hash=sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0 \
|
||||
--hash=sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704 \
|
||||
--hash=sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f \
|
||||
--hash=sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f \
|
||||
--hash=sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b \
|
||||
--hash=sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5 \
|
||||
--hash=sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923 \
|
||||
--hash=sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715 \
|
||||
--hash=sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c \
|
||||
--hash=sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca \
|
||||
--hash=sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1 \
|
||||
--hash=sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756 \
|
||||
--hash=sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360 \
|
||||
--hash=sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc \
|
||||
--hash=sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445 \
|
||||
--hash=sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e \
|
||||
--hash=sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4 \
|
||||
--hash=sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a \
|
||||
--hash=sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8 \
|
||||
--hash=sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53 \
|
||||
--hash=sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697 \
|
||||
--hash=sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf \
|
||||
--hash=sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a \
|
||||
--hash=sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415 \
|
||||
--hash=sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f \
|
||||
--hash=sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9 \
|
||||
--hash=sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400 \
|
||||
--hash=sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d \
|
||||
--hash=sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392 \
|
||||
--hash=sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb \
|
||||
--hash=sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd \
|
||||
--hash=sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861 \
|
||||
--hash=sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232 \
|
||||
--hash=sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95 \
|
||||
--hash=sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7 \
|
||||
--hash=sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39 \
|
||||
--hash=sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887 \
|
||||
--hash=sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5 \
|
||||
--hash=sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39 \
|
||||
--hash=sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb \
|
||||
--hash=sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586 \
|
||||
--hash=sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97 \
|
||||
--hash=sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423 \
|
||||
--hash=sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69 \
|
||||
--hash=sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7 \
|
||||
--hash=sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1 \
|
||||
--hash=sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7 \
|
||||
--hash=sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5 \
|
||||
--hash=sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8 \
|
||||
--hash=sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91 \
|
||||
--hash=sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590 \
|
||||
--hash=sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe \
|
||||
--hash=sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c \
|
||||
--hash=sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64 \
|
||||
--hash=sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd \
|
||||
--hash=sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa \
|
||||
--hash=sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31 \
|
||||
--hash=sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988
|
||||
requests==2.31.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
|
||||
--hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
|
||||
setuptools==69.2.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e \
|
||||
--hash=sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c
|
||||
six==1.16.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
|
||||
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
|
||||
soupsieve==2.5 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690 \
|
||||
--hash=sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7
|
||||
urllib3==2.2.1 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
|
||||
--hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
|
||||
watchdog==4.0.0 ; python_version >= "3.11" and python_version < "4.0" \
|
||||
--hash=sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257 \
|
||||
--hash=sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca \
|
||||
--hash=sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b \
|
||||
--hash=sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85 \
|
||||
--hash=sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b \
|
||||
--hash=sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19 \
|
||||
--hash=sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50 \
|
||||
--hash=sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92 \
|
||||
--hash=sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269 \
|
||||
--hash=sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f \
|
||||
--hash=sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c \
|
||||
--hash=sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b \
|
||||
--hash=sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87 \
|
||||
--hash=sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b \
|
||||
--hash=sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b \
|
||||
--hash=sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8 \
|
||||
--hash=sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c \
|
||||
--hash=sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3 \
|
||||
--hash=sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7 \
|
||||
--hash=sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605 \
|
||||
--hash=sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935 \
|
||||
--hash=sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b \
|
||||
--hash=sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927 \
|
||||
--hash=sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101 \
|
||||
--hash=sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07 \
|
||||
--hash=sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec \
|
||||
--hash=sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4 \
|
||||
--hash=sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245 \
|
||||
--hash=sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d
|