aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml16
-rw-r--r--.github/workflows/tests.yml9
-rw-r--r--CHANGELOG.md5
-rw-r--r--RELEASE.md107
-rw-r--r--cli/onionshare_cli/__init__.py32
-rw-r--r--cli/onionshare_cli/resources/torrc_template-snowflake4
-rw-r--r--cli/onionshare_cli/settings.py32
-rw-r--r--cli/onionshare_cli/web/send_base_mode.py17
-rw-r--r--cli/onionshare_cli/web/web.py4
-rw-r--r--cli/onionshare_cli/web/website_mode.py7
-rw-r--r--cli/poetry.lock1050
-rw-r--r--cli/pyproject.toml6
-rw-r--r--desktop/README.md6
-rw-r--r--desktop/onionshare/gui_common.py4
-rw-r--r--desktop/onionshare/resources/countries/af.json1
-rw-r--r--desktop/onionshare/resources/countries/be.json1
-rw-r--r--desktop/onionshare/resources/countries/ca.json1
-rw-r--r--desktop/onionshare/resources/countries/fa.json1
-rw-r--r--desktop/onionshare/resources/countries/it.json1
-rw-r--r--desktop/onionshare/resources/countries/sn.json1
-rw-r--r--desktop/onionshare/resources/countries/sq.json1
-rw-r--r--desktop/onionshare/resources/countries/sw.json1
-rw-r--r--desktop/onionshare/resources/countries/vi.json1
-rw-r--r--desktop/onionshare/resources/countries/zh_Hant.json1
-rw-r--r--desktop/onionshare/resources/locale/bg.json114
-rw-r--r--desktop/onionshare/resources/locale/en.json3
-rw-r--r--desktop/onionshare/resources/locale/pt_BR.json3
-rw-r--r--desktop/onionshare/tab/mode/chat_mode/__init__.py6
-rw-r--r--desktop/onionshare/tab/mode/receive_mode/__init__.py12
-rw-r--r--desktop/onionshare/tor_settings_tab.py8
-rw-r--r--desktop/poetry.lock1285
-rw-r--r--desktop/pyproject.toml2
-rw-r--r--desktop/scripts/build-macos.py97
-rw-r--r--desktop/scripts/build-pt-meek.ps12
-rwxr-xr-xdesktop/scripts/build-pt-meek.sh2
-rw-r--r--desktop/scripts/build-pt-snowflake.ps12
-rwxr-xr-xdesktop/scripts/build-pt-snowflake.sh2
-rw-r--r--desktop/scripts/get-tor.py22
-rw-r--r--desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdfbin6694 -> 0 bytes
-rw-r--r--desktop/scripts/tor-browser-devs.gpgbin0 -> 12870 bytes
-rw-r--r--desktop/setup-freeze.py13
-rwxr-xr-xdocs/build.sh2
-rwxr-xr-xdocs/check-weblate.py5
-rw-r--r--docs/gettext/.doctrees/advanced.doctreebin27307 -> 26130 bytes
-rw-r--r--docs/gettext/.doctrees/develop.doctreebin37911 -> 35392 bytes
-rw-r--r--docs/gettext/.doctrees/environment.picklebin40982 -> 268617 bytes
-rw-r--r--docs/gettext/.doctrees/features.doctreebin49758 -> 45504 bytes
-rw-r--r--docs/gettext/.doctrees/help.doctreebin7839 -> 7323 bytes
-rw-r--r--docs/gettext/.doctrees/index.doctreebin3551 -> 3527 bytes
-rw-r--r--docs/gettext/.doctrees/install.doctreebin23585 -> 34167 bytes
-rw-r--r--docs/gettext/.doctrees/security.doctreebin13668 -> 11424 bytes
-rw-r--r--docs/gettext/.doctrees/tor.doctreebin45053 -> 40604 bytes
-rw-r--r--docs/gettext/_static/_sphinx_javascript_frameworks_compat.js123
-rw-r--r--docs/gettext/_static/jquery.js2
-rw-r--r--docs/gettext/advanced.pot4
-rw-r--r--docs/gettext/develop.pot4
-rw-r--r--docs/gettext/features.pot4
-rw-r--r--docs/gettext/help.pot4
-rw-r--r--docs/gettext/index.pot4
-rw-r--r--docs/gettext/install.pot34
-rw-r--r--docs/gettext/security.pot4
-rw-r--r--docs/gettext/sphinx.pot4
-rw-r--r--docs/gettext/tor.pot2
-rw-r--r--docs/poetry.lock502
-rw-r--r--docs/source/conf.py11
-rw-r--r--docs/source/install.rst15
-rw-r--r--docs/source/locale/be/LC_MESSAGES/install.po11
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/index.po6
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/install.po12
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/sphinx.po8
-rw-r--r--docs/source/locale/bg/LC_MESSAGES/tor.po6
-rw-r--r--docs/source/locale/ca/LC_MESSAGES/install.po11
-rw-r--r--docs/source/locale/el/LC_MESSAGES/install.po311
-rw-r--r--docs/source/locale/en/LC_MESSAGES/install.po197
-rw-r--r--docs/source/locale/en/LC_MESSAGES/tor.po232
-rw-r--r--docs/source/locale/es/LC_MESSAGES/install.po390
-rw-r--r--docs/source/locale/fr/LC_MESSAGES/install.po321
-rw-r--r--docs/source/locale/ja/LC_MESSAGES/install.po8
-rw-r--r--docs/source/locale/ja/LC_MESSAGES/security.po9
-rw-r--r--docs/source/locale/pl/LC_MESSAGES/install.po291
-rw-r--r--docs/source/locale/pt_PT/LC_MESSAGES/install.po10
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/advanced.po2
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/install.po59
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/tor.po25
-rw-r--r--docs/source/locale/tr/LC_MESSAGES/install.po296
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/install.po404
-rw-r--r--docs/source/locale/vi/LC_MESSAGES/install.po332
-rw-r--r--docs/source/locale/zh_CN/LC_MESSAGES/install.po10
-rw-r--r--flatpak/org.onionshare.OnionShare.yaml161
-rwxr-xr-xflatpak/poetry-to-requirements.py52
-rw-r--r--snap/snapcraft.yaml82
91 files changed, 3984 insertions, 2868 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0e26bb58..77e9a674 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,5 +1,5 @@
name: Build
-run-name: Build win64, mac (Intel) 🚀
+run-name: Build win64, mac (Intel), Snap, and Flatpak 🚀
on:
push:
branches:
@@ -43,6 +43,12 @@ jobs:
- name: Get tor binaries from Tor Browser (64-bit)
run: cd desktop && C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts\poetry run python .\scripts\get-tor.py win64
+ - name: Install Go >=1.21.1
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.21.1'
+ - run: go version
+
- name: Restore cache - obfs4proxy
uses: actions/cache@v3
with:
@@ -196,10 +202,10 @@ jobs:
run: |
brew install libiodbc
cd ~/Downloads
- curl -O -L https://github.com/PostgresApp/PostgresApp/releases/download/v2.5.12/Postgres-2.5.12-14.dmg
- hdiutil attach Postgres-2.5.12-14.dmg
- cp -r /Volumes/Postgres-2.5.12-14/Postgres.app /Applications/
- hdiutil detach /Volumes/Postgres-2.5.12-14
+ curl -O -L https://github.com/PostgresApp/PostgresApp/releases/download/v2.6.5/Postgres-2.6.5-14.dmg
+ hdiutil attach Postgres-2.6.5-14.dmg
+ cp -r /Volumes/Postgres-2.6.5-14/Postgres.app /Applications/
+ hdiutil detach /Volumes/Postgres-2.6.5-14
- name: Build OnionShare
run: |
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index f124a4bd..da7ac335 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -29,10 +29,11 @@ jobs:
- run: |
cd cli
poetry run pytest -v ./tests
- poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --receive --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2 --verbose
- poetry run onionshare-cli --local-only --chat --auto-stop-timer 5 --verbose
+ poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only ./tests --auto-start-timer 2 --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --receive --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2 --qr --verbose
+ poetry run onionshare-cli --local-only --chat --auto-stop-timer 5 --qr --verbose
test-desktop:
runs-on: ubuntu-latest
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 794e7ff0..12e90eb0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,8 +2,11 @@
## 2.6.1
-* Upgrade Tor, Meek, and obfs4proxy versions
+* Release updates: Automate builds with CI, make just 64-bit Windows release, make both Intel and Apple Silicon macOS releases
+* Upgrade dependencies, including Tor, meek, and snowflake
* Bug fix: Restore the primary_action mode settings in a tab after OnionShare reconnects to Tor
+* Bug fix: Fix issue with auto-connecting to Tor with persistent tabs open
+* Bug fix: Fix packaging issue where Windows version of OnionShare conflicts with Windows version of Dangerzone
## 2.6
diff --git a/RELEASE.md b/RELEASE.md
index 643dd671..81480ed1 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -19,15 +19,47 @@ Unless you're a core OnionShare developer making a release, you'll probably neve
- [ ] `desktop/org.onionshare.OnionShare.appdata.xml` should have the correct release date, and links to correct screenshots
- [ ] `CHANGELOG.md` should be updated to include a list of all major changes since the last release
+### Update dependencies
+
+Check `cli/pyproject.toml` to see if any hard-coded versions should be updated. Then, update the dependencies like this:
+
+```sh
+cd cli
+poetry update
+cd ..
+```
+
If you update `flask-socketio`, ensure that you also update the [socket.io.min.js](https://github.com/micahflee/onionshare/blob/develop/cli/onionshare_cli/resources/static/js/socket.io.min.js) file to a version that is [supported](https://flask-socketio.readthedocs.io/en/latest/#version-compatibility) by the updated version of `flask-socketio`.
+Check `desktop/pyproject.toml` to see if any hard-coded versions should be updated. Then, update the dependencies like this:
+
+```
+cd desktop
+poetry update
+cd ..
+```
+
+Update the docs dependencies like this:
+
+```
+cd docs
+poetry update
+cd ..
+```
+
+Update the versions of `meek`, `obfs4proxy`, and `snowflake` in the `desktop/scripts/build-pt-*` scripts, both the bash and PowerShell scripts. You can find the latest versions by looking at the tags in their git repos: [meek](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/meek/-/tags), [obfs4proxy](https://gitlab.com/yawning/obfs4/-/tags), [snowflake](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/tags).
+
### Update the documentation
- [ ] Update all of the documentation in `docs` to cover new features, including taking new screenshots if necessary
### Finalize localization
-- [ ] Merge all the translations from weblate
+- [ ] Merge all the translations from weblate:
+ ```
+ git remote add weblate https://hosted.weblate.org/projects/onionshare/translations/
+ git pull weblate main
+ ```
- [ ] In `docs` run `poetry run ./check-weblate.py [API_KEY]` to see which translations are >90% in the app and docs
- [ ] Edit `cli/onionshare_cli/settings.py`, make sure `self.available_locales` lists only locales that are >90% translated
- [ ] From the `desktop` folder in the virtual env, run `./scripts/countries-update-list.py` to make sure the localized country list for censorship circumvention is available in all available languages
@@ -46,51 +78,54 @@ In `snap/snapcraft.yaml`:
- [ ] The `tor`, `libevent`, `obfs4`, `snowflake-client`, and `meek-client` parts should be updated if necessary
- [ ] In the `onionshare` part, in the `override-pull` section, all of the dependencies in the `requirements.txt` file should match the dependencies listed in `cli/pyproject.toml` and `desktop/pyproject.toml`, with the exception of PySide2
-- [ ] With every commit to the `main` branch, Snapcraft's CI should trigger builds. Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
-### Make sure the Flatpak packaging works
+To test locally:
-In `flatpak/org.onionshare.OnionShare.yaml`:
+- Install snapcraft with: `sudo snap install snapcraft --classic`
+- Build snap with: `snapcraft`
+- Install with: `sudo snap install ./onionshare_${VERSION}_amd64.snap --devmode`
-- [ ] Update `tor`, `libevent`, `obfs4`, `meek-client`, and `snowflake-client` dependencies, if necessary
-- [ ] Built the latest python dependencies using [this tool](https://github.com/flatpak/flatpak-builder-tools/blob/master/pip/flatpak-pip-generator) (see below)
-- [ ] Test the Flatpak package, ensure it works
-
-```
-pip3 install toml requirements-parser
+To in the edge branch:
-# clone flatpak-build-tools
-git clone https://github.com/flatpak/flatpak-builder-tools.git
-
-# get onionshare-cli dependencies
-cd poetry
-./flatpak-poetry-generator.py ../../onionshare/cli/poetry.lock
-cd ..
-
-# get onionshare dependencies
-cd pip
-./flatpak-pip-generator $(python3 -c 'import toml; print("\n".join(toml.loads(open("../../onionshare/desktop/pyproject.toml").read())["tool"]["poetry"]["dependencies"]))' |grep -vi onionshare_cli |grep -vi python | grep -vi pyside6 | grep -vi cx_freeze |tr "\n" " ")
-cd ..
+With every commit to the `main` branch, Snapcraft's CI should trigger builds. Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
-# convert to yaml
-./flatpak-json2yaml.py -o onionshare-cli.yml poetry/generated-poetry-sources.json
-./flatpak-json2yaml.py -o onionshare.yml pip/python3-modules.json
-```
+### Make sure the Flatpak packaging works
-Now, merge `onionshare-cli.yml` and `onionshare.yml` into the Flatpak manifest.
+In `flatpak/org.onionshare.OnionShare.yaml`:
-Build and test the Flatpak package before publishing:
+- [ ] Update `tor` and `libevent`
+- [ ] Update `obfs4proxy`, `meek-client`, and `snowflake-client` dependencies, if necessary using [this tool](https://github.com/micahflee/flatpak-builder-tools/tree/fix-go/go):
+ ```sh
+ cd flatpak-builder-tools/go
-```sh
-flatpak-builder build --force-clean --install-deps-from=flathub --install --user org.onionshare.OnionShare.yaml
-flatpak run org.onionshare.OnionShare
+ # For each these, incorporate the output into the Flatpak maniest
+ # Make sure to update the version numbers
+ ./flatpak-go-deps.py git.torproject.org/pluggable-transports/meek.git/meek-client@v0.38.0
+ ./flatpak-go-deps.py git.torproject.org/pluggable-transports/snowflake.git/client@v2.6.0
+ ./flatpak-go-deps.py gitlab.com/yawning/obfs4.git/obfs4proxy@obfs4proxy-0.0.14
+ ```
+ Merge the output of each of these commands into the Flatpak manifest.
+- [ ] Update the Python dependencies using [this tool](https://github.com/flatpak/flatpak-builder-tools/blob/master/pip/flatpak-pip-generator) along with `flatpak/poetry-to-requirements.py`:
+ ```sh
+ cd flatpak-build-tools/pip
+
+ # get onionshare-cli dependencies
+ ./flatpak-pip-generator $(../../onionshare/flatpak/poetry-to-requirements.py ../../onionshare/cli/pyproject.toml)
+ ../flatpak-json2yaml.py ./python3-modules.json
+ mv python3-modules.yml onionshare-cli.yaml
+
+ # get onionshare dependencies
+ ./flatpak-pip-generator $(../../onionshare/flatpak/poetry-to-requirements.py ../../onionshare/desktop/pyproject.toml | grep -v PySide6)
+ ../flatpak-json2yaml.py ./python3-modules.json
+ mv python3-modules.yml onionshare-desktop.yaml
+ ```
+ Now, merge `onionshare-desktop.yaml` and `onionshare-cli.yaml` into the Flatpak manifest.
+- [ ] Build and test the Flatpak package to ensure it works:
+ ```sh
+ flatpak-builder build --force-clean --jobs=$(nproc) --install-deps-from=flathub --install --user flatpak/org.onionshare.OnionShare.yaml
+ flatpak run org.onionshare.OnionShare
```
-### Update to the latest version of Tor
-
-- [ ] Edit `desktop/scripts/get-tor.py` to use the latest version of Tor Browser, and the latest sha256 checksums.
-- [ ] Update the version of `meek`, `obfs4proxy`, and `snowflake` in the `desktop/scripts/build-pt-*` scripts, both the bash and PowerShell scripts.
-
### Create a signed git tag
- [ ] There must be a PGP-signed git tag for the version, e.g. for OnionShare 2.1, the tag must be `v2.1`
diff --git a/cli/onionshare_cli/__init__.py b/cli/onionshare_cli/__init__.py
index f77bceab..d84a1eec 100644
--- a/cli/onionshare_cli/__init__.py
+++ b/cli/onionshare_cli/__init__.py
@@ -31,7 +31,7 @@ from .web import Web
from .onion import TorErrorProtocolError, TorTooOldEphemeral, TorTooOldStealth, Onion
from .onionshare import OnionShare
from .mode_settings import ModeSettings
-
+from qrcode import QRCode
def main(cwd=None):
"""
@@ -119,6 +119,13 @@ def main(cwd=None):
default=False,
help="Share files: Continue sharing after files have been sent (default is to stop sharing)",
)
+ parser.add_argument(
+ "--qr",
+ action="store_true",
+ dest="qr",
+ default=False,
+ help="Display a QR code in the terminal for share links",
+ )
# Receive args
parser.add_argument(
"--data-dir",
@@ -190,6 +197,7 @@ def main(cwd=None):
autostart_timer = int(args.autostart_timer)
autostop_timer = int(args.autostop_timer)
autostop_sharing = not bool(args.no_autostop_sharing)
+ print_qr = bool(args.qr)
data_dir = args.data_dir
webhook_url = args.webhook_url
disable_text = args.disable_text
@@ -229,6 +237,7 @@ def main(cwd=None):
mode_settings.set("general", "public", public)
mode_settings.set("general", "autostart_timer", autostart_timer)
mode_settings.set("general", "autostop_timer", autostop_timer)
+ mode_settings.set("general", "qr", print_qr)
if persistent_filename:
mode_settings.set("persistent", "mode", mode)
if mode == "share":
@@ -382,6 +391,16 @@ def main(cwd=None):
f"Give this address to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
)
print(url)
+ if mode_settings.get("general", "qr"):
+ qr = QRCode()
+ qr.add_data(url)
+ print("Onion address as QR code:")
+ qr.print_ascii()
+ if not mode_settings.get("general", "public"):
+ qr.clear()
+ qr.add_data(app.auth_string)
+ print("Private key as QR code:")
+ qr.print_ascii()
print("")
print("Waiting for the scheduled time before starting...")
app.onion.cleanup(False)
@@ -465,6 +484,17 @@ def main(cwd=None):
print("Give this address and private key to the recipient:")
print(url)
print(f"Private key: {app.auth_string}")
+ if mode_settings.get("general", "qr"):
+ qr = QRCode()
+ qr.add_data(url)
+ print("Onion address as QR code:")
+ qr.print_ascii()
+ if not mode_settings.get("general", "public"):
+ qr.clear()
+ qr.add_data(app.auth_string)
+ print("Private key as QR code:")
+ qr.print_ascii()
+
print("")
print("Press Ctrl+C to stop the server")
diff --git a/cli/onionshare_cli/resources/torrc_template-snowflake b/cli/onionshare_cli/resources/torrc_template-snowflake
index 40a9ccbb..0ca1edae 100644
--- a/cli/onionshare_cli/resources/torrc_template-snowflake
+++ b/cli/onionshare_cli/resources/torrc_template-snowflake
@@ -1,3 +1,3 @@
# Enable built-in snowflake bridge
-Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
-Bridge snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
+Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=foursquare.com ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
+Bridge snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=foursquare.com ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn
diff --git a/cli/onionshare_cli/settings.py b/cli/onionshare_cli/settings.py
index 732866ef..9d8db033 100644
--- a/cli/onionshare_cli/settings.py
+++ b/cli/onionshare_cli/settings.py
@@ -55,42 +55,48 @@ class Settings(object):
# Dictionary of available languages in this version of OnionShare,
# mapped to the language name, in that language
self.available_locales = {
- # "ar": "العربية", # Arabic
+ "af": "Afrikaans", # Afrikaans
+ "sq": "Shqip", # Albanian
+ "ar": "العربية", # Arabic
+ "be": "Беларуская", # Belarusian
# "bn": "বাংলা", # Bengali
- # "ca": "Català", # Catalan
- # "zh_Hant": "正體中文 (繁體)", # Traditional Chinese
+ "ca": "Català", # Catalan
+ "zh_Hant": "正體中文 (繁體)", # Traditional Chinese
"zh_Hans": "中文 (简体)", # Simplified Chinese
"hr": "Hrvatski", # Croatian
"cs": "čeština", # Czech
# "da": "Dansk", # Danish
# "nl": "Nederlands", # Dutch
"en": "English", # English
- # "fi": "Suomi", # Finnish
- # "fr": "Français", # French
+ "fi": "Suomi", # Finnish
+ "fr": "Français", # French
# "gl": "Galego", # Galician
"de": "Deutsch", # German
"el": "Ελληνικά", # Greek
"is": "Íslenska", # Icelandic
# "id": "Bahasa Indonesia", # Indonesian
# "ga": "Gaeilge", # Irish
- # "it": "Italiano", # Italian
+ "it": "Italiano", # Italian
"ja": "日本語", # Japanese
# "ckb": "Soranî", # Kurdish (Central)
- # "lt": "Lietuvių Kalba", # Lithuanian
- # "nb_NO": "Norsk Bokmål", # Norwegian Bokmål
- # "fa": "فارسی", # Persian
- # "pl": "Polski", # Polish
- # "pt_BR": "Português (Brasil)", # Portuguese Brazil
+ "lt": "Lietuvių Kalba", # Lithuanian
+ "nb_NO": "Norsk Bokmål", # Norwegian Bokmål
+ "fa": "فارسی", # Persian
+ "pl": "Polski", # Polish
+ "pt_BR": "Português (Brasil)", # Portuguese Brazil
# "pt_PT": "Português (Portugal)", # Portuguese Portugal
# "ro": "Română", # Romanian
- # "ru": "Русский", # Russian
+ "ru": "Русский", # Russian
+ "sn": "chiShona", # Shona
# "sr_Latn": "Srpska (latinica)", # Serbian (latin)
# "sk": "Slovenčina", # Slovak
- "sv": "Svenska", # Swedish
"es": "Español", # Spanish
+ "sw": "Kiswahili", # Swahili
+ "sv": "Svenska", # Swedish
# "te": "తెలుగు", # Telugu
"tr": "Türkçe", # Turkish
"uk": "Українська", # Ukrainian
+ "vi": "Tiếng Việt", # Vietnamese
}
# These are the default settings. They will get overwritten when loading from disk
diff --git a/cli/onionshare_cli/web/send_base_mode.py b/cli/onionshare_cli/web/send_base_mode.py
index d8cef496..ca79b99f 100644
--- a/cli/onionshare_cli/web/send_base_mode.py
+++ b/cli/onionshare_cli/web/send_base_mode.py
@@ -131,7 +131,7 @@ class SendBaseModeWeb:
self.set_file_info_custom(filenames, processed_size_callback)
- def directory_listing(self, filenames, path="", filesystem_path=None):
+ def directory_listing(self, filenames, path="", filesystem_path=None, add_trailing_slash=False):
# Tell the GUI about the directory listing
history_id = self.cur_history_id
self.cur_history_id += 1
@@ -150,12 +150,12 @@ class SendBaseModeWeb:
breadcrumbs_leaf = breadcrumbs.pop()[0]
# If filesystem_path is None, this is the root directory listing
- files, dirs = self.build_directory_listing(path, filenames, filesystem_path)
+ files, dirs = self.build_directory_listing(path, filenames, filesystem_path, add_trailing_slash)
return self.directory_listing_template(
path, files, dirs, breadcrumbs, breadcrumbs_leaf
)
- def build_directory_listing(self, path, filenames, filesystem_path):
+ def build_directory_listing(self, path, filenames, filesystem_path, add_trailing_slash=False):
files = []
dirs = []
@@ -168,9 +168,14 @@ class SendBaseModeWeb:
is_dir = os.path.isdir(this_filesystem_path)
if is_dir:
- dirs.append(
- {"link": os.path.join(f"/{path}", filename), "basename": filename}
- )
+ if add_trailing_slash:
+ dirs.append(
+ {"link": os.path.join(f"/{path}", filename, ""), "basename": filename}
+ )
+ else:
+ dirs.append(
+ {"link": os.path.join(f"/{path}", filename), "basename": filename}
+ )
else:
size = os.path.getsize(this_filesystem_path)
size_human = self.common.human_readable_filesize(size)
diff --git a/cli/onionshare_cli/web/web.py b/cli/onionshare_cli/web/web.py
index a6ccbeb0..3a15fdc1 100644
--- a/cli/onionshare_cli/web/web.py
+++ b/cli/onionshare_cli/web/web.py
@@ -365,7 +365,8 @@ class Web:
)
self.waitress.run()
except Exception as e:
- raise WaitressException(f"Error starting Waitress: {e}")
+ if not self.waitress.shutdown:
+ raise WaitressException(f"Error starting Waitress: {e}")
def stop(self, port):
"""
@@ -398,6 +399,7 @@ class Web:
def waitress_custom_shutdown(self):
"""Shutdown the Waitress server immediately"""
# Code borrowed from https://github.com/Pylons/webtest/blob/4b8a3ebf984185ff4fefb31b4d0cf82682e1fcf7/webtest/http.py#L93-L104
+ self.waitress.shutdown = True
while self.waitress._map:
triggers = list(self.waitress._map.values())
for trigger in triggers:
diff --git a/cli/onionshare_cli/web/website_mode.py b/cli/onionshare_cli/web/website_mode.py
index 1f61532b..34f5abf1 100644
--- a/cli/onionshare_cli/web/website_mode.py
+++ b/cli/onionshare_cli/web/website_mode.py
@@ -84,12 +84,13 @@ class WebsiteModeWeb(SendBaseModeWeb):
return self.stream_individual_file(self.files[index_path])
else:
- # Otherwise, render directory listing
+ # Otherwise, render directory listing, and enforce trailing slash
+ # which can help with relative asset links in sub-directories.
filenames = []
for filename in os.listdir(filesystem_path):
filenames.append(filename)
filenames.sort()
- return self.directory_listing(filenames, path, filesystem_path)
+ return self.directory_listing(filenames, path, filesystem_path, True)
# If it's a file
elif os.path.isfile(filesystem_path):
@@ -112,7 +113,7 @@ class WebsiteModeWeb(SendBaseModeWeb):
# Root directory listing
filenames = list(self.root_files)
filenames.sort()
- return self.directory_listing(filenames, path)
+ return self.directory_listing(filenames, path, None, True)
else:
# If the path isn't found, throw a 404
diff --git a/cli/poetry.lock b/cli/poetry.lock
index d4452ec1..19c97335 100644
--- a/cli/poetry.lock
+++ b/cli/poetry.lock
@@ -4,7 +4,6 @@
name = "bidict"
version = "0.22.1"
description = "The bidirectional mapping library for Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -21,7 +20,6 @@ test = ["hypothesis", "pytest", "pytest-benchmark[histogram]", "pytest-cov", "py
name = "blinker"
version = "1.6.2"
description = "Fast, simple object-to-object and broadcast signaling"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -31,113 +29,150 @@ files = [
[[package]]
name = "brotli"
-version = "1.0.9"
+version = "1.1.0"
description = "Python bindings for the Brotli compression library"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Brotli-1.0.9-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:268fe94547ba25b58ebc724680609c8ee3e5a843202e9a381f6f9c5e8bdb5c70"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:c2415d9d082152460f2bd4e382a1e85aed233abc92db5a3880da2257dc7daf7b"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5913a1177fc36e30fcf6dc868ce23b0453952c78c04c266d3149b3d39e1410d6"},
- {file = "Brotli-1.0.9-cp27-cp27m-win32.whl", hash = "sha256:afde17ae04d90fbe53afb628f7f2d4ca022797aa093e809de5c3cf276f61bbfa"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7cb81373984cc0e4682f31bc3d6be9026006d96eecd07ea49aafb06897746452"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:db844eb158a87ccab83e868a762ea8024ae27337fc7ddcbfcddd157f841fdfe7"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9744a863b489c79a73aba014df554b0e7a0fc44ef3f8a0ef2a52919c7d155031"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a72661af47119a80d82fa583b554095308d6a4c356b2a554fdc2799bc19f2a43"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ee83d3e3a024a9618e5be64648d6d11c37047ac48adff25f12fa4226cf23d1c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:19598ecddd8a212aedb1ffa15763dd52a388518c4550e615aed88dc3753c0f0c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:44bb8ff420c1d19d91d79d8c3574b8954288bdff0273bf788954064d260d7ab0"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e23281b9a08ec338469268f98f194658abfb13658ee98e2b7f85ee9dd06caa91"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3496fc835370da351d37cada4cf744039616a6db7d13c430035e901443a34daa"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b83bb06a0192cccf1eb8d0a28672a1b79c74c3a8a5f2619625aeb6f28b3a82bb"},
- {file = "Brotli-1.0.9-cp310-cp310-win32.whl", hash = "sha256:26d168aac4aaec9a4394221240e8a5436b5634adc3cd1cdf637f6645cecbf181"},
- {file = "Brotli-1.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:622a231b08899c864eb87e85f81c75e7b9ce05b001e59bbfbf43d4a71f5f32b2"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc0283a406774f465fb45ec7efb66857c09ffefbe49ec20b7882eff6d3c86d3a"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11d3283d89af7033236fa4e73ec2cbe743d4f6a81d41bd234f24bf63dde979df"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c1306004d49b84bd0c4f90457c6f57ad109f5cc6067a9664e12b7b79a9948ad"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1375b5d17d6145c798661b67e4ae9d5496920d9265e2f00f1c2c0b5ae91fbde"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cab1b5964b39607a66adbba01f1c12df2e55ac36c81ec6ed44f2fca44178bf1a"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ed6a5b3d23ecc00ea02e1ed8e0ff9a08f4fc87a1f58a2530e71c0f48adf882f"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cb02ed34557afde2d2da68194d12f5719ee96cfb2eacc886352cb73e3808fc5d"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b3523f51818e8f16599613edddb1ff924eeb4b53ab7e7197f85cbc321cdca32f"},
- {file = "Brotli-1.0.9-cp311-cp311-win32.whl", hash = "sha256:ba72d37e2a924717990f4d7482e8ac88e2ef43fb95491eb6e0d124d77d2a150d"},
- {file = "Brotli-1.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:3ffaadcaeafe9d30a7e4e1e97ad727e4f5610b9fa2f7551998471e3736738679"},
- {file = "Brotli-1.0.9-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:c83aa123d56f2e060644427a882a36b3c12db93727ad7a7b9efd7d7f3e9cc2c4"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6b2ae9f5f67f89aade1fab0f7fd8f2832501311c363a21579d02defa844d9296"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:68715970f16b6e92c574c30747c95cf8cf62804569647386ff032195dc89a430"},
- {file = "Brotli-1.0.9-cp35-cp35m-win32.whl", hash = "sha256:defed7ea5f218a9f2336301e6fd379f55c655bea65ba2476346340a0ce6f74a1"},
- {file = "Brotli-1.0.9-cp35-cp35m-win_amd64.whl", hash = "sha256:88c63a1b55f352b02c6ffd24b15ead9fc0e8bf781dbe070213039324922a2eea"},
- {file = "Brotli-1.0.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:503fa6af7da9f4b5780bb7e4cbe0c639b010f12be85d02c99452825dd0feef3f"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:40d15c79f42e0a2c72892bf407979febd9cf91f36f495ffb333d1d04cebb34e4"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:93130612b837103e15ac3f9cbacb4613f9e348b58b3aad53721d92e57f96d46a"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87fdccbb6bb589095f413b1e05734ba492c962b4a45a13ff3408fa44ffe6479b"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6d847b14f7ea89f6ad3c9e3901d1bc4835f6b390a9c71df999b0162d9bb1e20f"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:495ba7e49c2db22b046a53b469bbecea802efce200dffb69b93dd47397edc9b6"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:4688c1e42968ba52e57d8670ad2306fe92e0169c6f3af0089be75bbac0c64a3b"},
- {file = "Brotli-1.0.9-cp36-cp36m-win32.whl", hash = "sha256:61a7ee1f13ab913897dac7da44a73c6d44d48a4adff42a5701e3239791c96e14"},
- {file = "Brotli-1.0.9-cp36-cp36m-win_amd64.whl", hash = "sha256:1c48472a6ba3b113452355b9af0a60da5c2ae60477f8feda8346f8fd48e3e87c"},
- {file = "Brotli-1.0.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b78a24b5fd13c03ee2b7b86290ed20efdc95da75a3557cc06811764d5ad1126"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:9d12cf2851759b8de8ca5fde36a59c08210a97ffca0eb94c532ce7b17c6a3d1d"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6c772d6c0a79ac0f414a9f8947cc407e119b8598de7621f39cacadae3cf57d12"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29d1d350178e5225397e28ea1b7aca3648fcbab546d20e7475805437bfb0a130"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7bbff90b63328013e1e8cb50650ae0b9bac54ffb4be6104378490193cd60f85a"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ec1947eabbaf8e0531e8e899fc1d9876c179fc518989461f5d24e2223395a9e3"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12effe280b8ebfd389022aa65114e30407540ccb89b177d3fbc9a4f177c4bd5d"},
- {file = "Brotli-1.0.9-cp37-cp37m-win32.whl", hash = "sha256:f909bbbc433048b499cb9db9e713b5d8d949e8c109a2a548502fb9aa8630f0b1"},
- {file = "Brotli-1.0.9-cp37-cp37m-win_amd64.whl", hash = "sha256:97f715cf371b16ac88b8c19da00029804e20e25f30d80203417255d239f228b5"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e16eb9541f3dd1a3e92b89005e37b1257b157b7256df0e36bd7b33b50be73bcb"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:160c78292e98d21e73a4cc7f76a234390e516afcd982fa17e1422f7c6a9ce9c8"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b663f1e02de5d0573610756398e44c130add0eb9a3fc912a09665332942a2efb"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5b6ef7d9f9c38292df3690fe3e302b5b530999fa90014853dcd0d6902fb59f26"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a674ac10e0a87b683f4fa2b6fa41090edfd686a6524bd8dedbd6138b309175c"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e2d9e1cbc1b25e22000328702b014227737756f4b5bf5c485ac1d8091ada078b"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b336c5e9cf03c7be40c47b5fd694c43c9f1358a80ba384a21969e0b4e66a9b17"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:85f7912459c67eaab2fb854ed2bc1cc25772b300545fe7ed2dc03954da638649"},
- {file = "Brotli-1.0.9-cp38-cp38-win32.whl", hash = "sha256:35a3edbe18e876e596553c4007a087f8bcfd538f19bc116917b3c7522fca0429"},
- {file = "Brotli-1.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:269a5743a393c65db46a7bb982644c67ecba4b8d91b392403ad8a861ba6f495f"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2aad0e0baa04517741c9bb5b07586c642302e5fb3e75319cb62087bd0995ab19"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5cb1e18167792d7d21e21365d7650b72d5081ed476123ff7b8cac7f45189c0c7"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_i686.whl", hash = "sha256:16d528a45c2e1909c2798f27f7bf0a3feec1dc9e50948e738b961618e38b6a7b"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:56d027eace784738457437df7331965473f2c0da2c70e1a1f6fdbae5402e0389"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bf919756d25e4114ace16a8ce91eb340eb57a08e2c6950c3cebcbe3dff2a5e7"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e4c4e92c14a57c9bd4cb4be678c25369bf7a092d55fd0866f759e425b9660806"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e48f4234f2469ed012a98f4b7874e7f7e173c167bed4934912a29e03167cf6b1"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ed4c92a0665002ff8ea852353aeb60d9141eb04109e88928026d3c8a9e5433c"},
- {file = "Brotli-1.0.9-cp39-cp39-win32.whl", hash = "sha256:cfc391f4429ee0a9370aa93d812a52e1fee0f37a81861f4fdd1f4fb28e8547c3"},
- {file = "Brotli-1.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:854c33dad5ba0fbd6ab69185fec8dab89e13cda6b7d191ba111987df74f38761"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9749a124280a0ada4187a6cfd1ffd35c350fb3af79c706589d98e088c5044267"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:73fd30d4ce0ea48010564ccee1a26bfe39323fde05cb34b5863455629db61dc7"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02177603aaca36e1fd21b091cb742bb3b305a569e2402f1ca38af471777fb019"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:76ffebb907bec09ff511bb3acc077695e2c32bc2142819491579a695f77ffd4d"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b43775532a5904bc938f9c15b77c613cb6ad6fb30990f3b0afaea82797a402d8"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bf37a08493232fbb0f8229f1824b366c2fc1d02d64e7e918af40acd15f3e337"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:330e3f10cd01da535c70d09c4283ba2df5fb78e915bea0a28becad6e2ac010be"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e1abbeef02962596548382e393f56e4c94acd286bd0c5afba756cffc33670e8a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3148362937217b7072cf80a2dcc007f09bb5ecb96dae4617316638194113d5be"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336b40348269f9b91268378de5ff44dc6fbaa2268194f85177b53463d313842a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b8b09a16a1950b9ef495a0f8b9d0a87599a9d1f179e2d4ac014b2ec831f87e7"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c8e521a0ce7cf690ca84b8cc2272ddaf9d8a50294fd086da67e517439614c755"},
- {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"},
+ {file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"},
+ {file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"},
+ {file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"},
+ {file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"},
+ {file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"},
+ {file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"},
+ {file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"},
+ {file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"},
+ {file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"},
+ {file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"},
+ {file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"},
+ {file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"},
+ {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"},
]
[[package]]
+name = "brotlicffi"
+version = "1.1.0.0"
+description = "Python CFFI bindings to the Brotli library"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e4aeb0bd2540cb91b069dbdd54d458da8c4334ceaf2d25df2f4af576d6766ca"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7b0033b0d37bb33009fb2fef73310e432e76f688af76c156b3594389d81391"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54a07bb2374a1eba8ebb52b6fafffa2afd3c4df85ddd38fcc0511f2bb387c2a8"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7901a7dc4b88f1c1475de59ae9be59799db1007b7d059817948d8e4f12e24e35"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce01c7316aebc7fce59da734286148b1d1b9455f89cf2c8a4dfce7d41db55c2d"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:246f1d1a90279bb6069de3de8d75a8856e073b8ff0b09dcca18ccc14cec85979"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc4bc5d82bc56ebd8b514fb8350cfac4627d6b0743382e46d033976a5f80fab6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c26ecb14386a44b118ce36e546ce307f4810bc9598a6e6cb4f7fca725ae7e6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca72968ae4eaf6470498d5c2887073f7efe3b1e7d7ec8be11a06a79cc810e990"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:add0de5b9ad9e9aa293c3aa4e9deb2b61e99ad6c1634e01d01d98c03e6a354cc"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9b6068e0f3769992d6b622a1cd2e7835eae3cf8d9da123d7f51ca9c1e9c333e5"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8557a8559509b61e65083f8782329188a250102372576093c88930c875a69838"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a7ae37e5d79c5bdfb5b4b99f2715a6035e6c5bf538c3746abc8e26694f92f33"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391151ec86bb1c683835980f4816272a87eaddc46bb91cbf44f62228b84d8cca"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f3711be9290f0453de8eed5275d93d286abe26b08ab4a35d7452caa1fef532f"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a807d760763e398bbf2c6394ae9da5815901aa93ee0a37bca5efe78d4ee3171"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa8ca0623b26c94fccc3a1fdd895be1743b838f3917300506d04aa3346fd2a14"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3de0cf28a53a3238b252aca9fed1593e9d36c1d116748013339f0949bfc84112"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6be5ec0e88a4925c91f3dea2bb0013b3a2accda6f77238f76a34a1ea532a1cb0"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d9eb71bb1085d996244439154387266fd23d6ad37161f6f52f1cd41dd95a3808"},
+ {file = "brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13"},
+]
+
+[package.dependencies]
+cffi = ">=1.0.0"
+
+[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "cffi"
version = "1.15.1"
description = "Foreign Function Interface for Python calling C code."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -212,99 +247,97 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
+ {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -314,7 +347,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -323,21 +355,86 @@ files = [
]
[[package]]
+name = "cython"
+version = "3.0.2"
+description = "The Cython compiler for writing C extensions in the Python language."
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+files = [
+ {file = "Cython-3.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ccb91d2254e34724f1541b2a6fcdfacdb88284185b0097ae84e0ddf476c7a38"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c298b1589205ecaaed0457ad05e0c8a43e7db2053607f48ed4a899cb6aa114df"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e825e682cef76d0c33384f38b56b7e87c76152482a914dfc78faed6ff66ce05a"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:77ec0134fc1b10aebef2013936a91c07bff2498ec283bc2eca099ee0cb94d12e"},
+ {file = "Cython-3.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c90eeb94395315e65fd758a2f86b92904fce7b50060b4d45a878ef6767f9276e"},
+ {file = "Cython-3.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:38085523fa7a299638d051ae08144222785639882f6291bd275c0b12db1034ff"},
+ {file = "Cython-3.0.2-cp310-cp310-win32.whl", hash = "sha256:b032cb0c69082f0665b2c5fb416d041157062f1538336d0edf823b9ee500e39c"},
+ {file = "Cython-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:067b2b9eb487bd61367b296f11b7c1c70a084b3eb7d5a572f607cd1fc5ca5586"},
+ {file = "Cython-3.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:213ff9f95de319e54b520bf31edd6aa7a1fa4fbf617c2beb0f92362595e6476a"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bebbca13078125a35937966137af4bd0300a0c66fd7ae4ce36adc049b13bdf3"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e5587128e8c2423aefcffa4ded4ddf60d44898938fbb7c0f236636a750a94f"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78e2853d484643c6b7ac3bdb48392753442da1c71b689468fa3176b619bebe54"},
+ {file = "Cython-3.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e722732e9aa9bde667ed6d87525234823eb7766ca234cfb19d7e0c095a2ef4"},
+ {file = "Cython-3.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:989787fc24a95100a26918b6577d06e15a8868a3ed267009c5cfcf1a906179ac"},
+ {file = "Cython-3.0.2-cp311-cp311-win32.whl", hash = "sha256:d21801981db44b7e9f9768f121317946461d56b51de1e6eff3c42e8914048696"},
+ {file = "Cython-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:809617cf4825b2138ce0ec827e1f28e39668743c81ac8286373f8d148c05f088"},
+ {file = "Cython-3.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5682293d344b7dbad97ce6eceb9e887aca6e53499709db9da726ca3424e5559d"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e08ff5da5f5b969639784b1bffcd880a0c0f048d182aed7cba9945ee8b367c2"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8850269ff59f77a1629e26d0576701925360d732011d6d3516ccdc5b2c2bc310"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:550b3fbe9b3c555b44ded934f4822f9fcc04dfcee512167ebcbbd370ccede20e"},
+ {file = "Cython-3.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4db017b104f47b1185237702f6ed2651839c8124614683efa7c489f3fa4e19d9"},
+ {file = "Cython-3.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:75a2395cc7b78cff59be6e9b7f92bbb5d7b8d25203f6d3fb6f72bdb7d3f49777"},
+ {file = "Cython-3.0.2-cp312-cp312-win32.whl", hash = "sha256:786b6034a91e886116bb562fe42f8bf0f97c3e00c02e56791d02675959ed65b1"},
+ {file = "Cython-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc9d173ab8b167cae674f6deed8c65ba816574797a2bd6d8aa623277d1fa81ca"},
+ {file = "Cython-3.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8948504338d7a140ce588333177dcabf0743a68dbc83b0174f214f5b959634d5"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a51efba0e136b2af358e5a347bae09678b17460c35cf1eab24f0476820348991"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05cb2a73810f045d328b7579cf98f550a9e601df5e282d1fea0512d8ad589011"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22ba78e48bdb65977928ecb275ac8c82df7b0eefa075078a1363a5af4606b42e"},
+ {file = "Cython-3.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:302281b927409b3e0ef8cd9251eab782cf1acd2578eab305519fbae5d184b7e9"},
+ {file = "Cython-3.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a1c3675394b81024aaf56e4f53c2b4f81d9a116c7049e9d4706f810899c9134e"},
+ {file = "Cython-3.0.2-cp36-cp36m-win32.whl", hash = "sha256:34f7b014ebce5d325c8084e396c81cdafbd8d82be56780dffe6b67b28c891f1b"},
+ {file = "Cython-3.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:477cd3549597f09a1608da7b05e16ba641e9aedd171b868533a5a07790ed886f"},
+ {file = "Cython-3.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a49dde9f9e29ea82f29aaf3bb1a270b6eb90b75d627c7ff2f5dd3764540ae646"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1c8013fad0933f5201186eccc5f2be223cafd6a8dcd586d3f7bb6ba84dc845"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b75e9c9d7ad7c9dd85d45241d1d4e3c5f66079c1f84eec91689c26d98bc3349"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f43c4d3ecd9e3b8b7afe834e519f55cf4249b1088f96d11b96f02c55cbaeff7"},
+ {file = "Cython-3.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:dab6a923e21e212aa3dc6dde9b22a190f5d7c449315a94e57ddc019ea74a979b"},
+ {file = "Cython-3.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ae453cfa933b919c0a19d2cc5dc9fb28486268e95dc2ab7a11ab7f99cf8c3883"},
+ {file = "Cython-3.0.2-cp37-cp37m-win32.whl", hash = "sha256:b1f023d36a3829069ed11017c670128be3f135a9c17bd64c35d3b3442243b05c"},
+ {file = "Cython-3.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:011c4e0b75baee1843334562487eb4fbc0c59ddb2cc32a978b972a81eedcbdcc"},
+ {file = "Cython-3.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:832bbee87bca760efeae248ddf19ccd77f9a2355cb6f8a64f20cc377e56957b3"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fe806d154b6b7f0ab746dac36c022889e2e7cf47546ff9afdc29a62cfa692d0"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e486331a29e7700b1ad5f4f753bef483c81412a5e64a873df46d6cb66f9a65de"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54d41a1dfbaab74449873e7f8e6cd4239850fe7a50f7f784dd99a560927f3bac"},
+ {file = "Cython-3.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4dca13c86d6cd523c7d8bbf8db1b2bbf8faedd0addedb229158d8015ad1819e1"},
+ {file = "Cython-3.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:10cbfb37f31938371a6213cc8b5459c639954aed053efeded3c012d4c5915db9"},
+ {file = "Cython-3.0.2-cp38-cp38-win32.whl", hash = "sha256:e663c237579c033deaa2cb362b74651da7712f56e441c11382510a8c4c4f2dd7"},
+ {file = "Cython-3.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:2f84bd6cefa5130750c492038170c44f1cbd6f42e9ed85e168fd9cb453f85160"},
+ {file = "Cython-3.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f37e4287f520f3748a06ad5eaae09ba4ac68f52e155d70de5f75780d83575c43"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd30826ca8b27b2955a63c8ffe8aacc9f0779582b4bd154cf7b441ac10dae2cb"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08d67c7225a09eeb77e090c8d4f60677165b052ccf76e3a57d8237064e5c2de2"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e625eec8c5c9a8cb062a318b257cc469d301bed952c7daf86e38bbd3afe7c91"},
+ {file = "Cython-3.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1b12a8f23270675b537d1c3b988f845bea4bbcc66ae0468857f5ede0526d4522"},
+ {file = "Cython-3.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:62dd78afdf748a58dae9c9b9c42a1519ae30787b28ce5f84a0e1bb54144142ca"},
+ {file = "Cython-3.0.2-cp39-cp39-win32.whl", hash = "sha256:d0d0cc4ecc05f41c5e02af14ac0083552d22efed976f79eb7bade55fed63b25d"},
+ {file = "Cython-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:147cc1d3dda8b06de9d86df5e59cdf15f0a522620168b7349a5ec88b48104d7d"},
+ {file = "Cython-3.0.2-py2.py3-none-any.whl", hash = "sha256:8f1c9e4b8e413da211dd7942440cf410ff0eafb081309e04e81f4fafbb146bf2"},
+ {file = "Cython-3.0.2.tar.gz", hash = "sha256:9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5"},
+]
+
+[[package]]
name = "dnspython"
-version = "2.3.0"
+version = "2.4.2"
description = "DNS toolkit"
-category = "main"
optional = false
-python-versions = ">=3.7,<4.0"
+python-versions = ">=3.8,<4.0"
files = [
- {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"},
- {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"},
+ {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"},
+ {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"},
]
[package.extras]
-curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"]
-dnssec = ["cryptography (>=2.6,<40.0)"]
-doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"]
+dnssec = ["cryptography (>=2.6,<42.0)"]
+doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"]
doq = ["aioquic (>=0.9.20)"]
idna = ["idna (>=2.1,<4.0)"]
trio = ["trio (>=0.14,<0.23)"]
@@ -347,7 +444,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"]
name = "eventlet"
version = "0.33.3"
description = "Highly concurrent networking library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -362,14 +458,13 @@ six = ">=1.10.0"
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
@@ -379,7 +474,6 @@ test = ["pytest (>=6)"]
name = "flask"
version = "2.3.2"
description = "A simple framework for building complex web applications."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -401,25 +495,24 @@ dotenv = ["python-dotenv"]
[[package]]
name = "flask-compress"
-version = "1.13"
+version = "1.14"
description = "Compress responses in your Flask app with gzip, deflate or brotli."
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Flask-Compress-1.13.tar.gz", hash = "sha256:ee96f18bf9b00f2deb4e3406ca4a05093aa80e2ef0578525a3b4d32ecdff129d"},
- {file = "Flask_Compress-1.13-py3-none-any.whl", hash = "sha256:1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b"},
+ {file = "Flask-Compress-1.14.tar.gz", hash = "sha256:e46528f37b91857012be38e24e65db1a248662c3dc32ee7808b5986bf1d123ee"},
+ {file = "Flask_Compress-1.14-py3-none-any.whl", hash = "sha256:b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c"},
]
[package.dependencies]
-brotli = "*"
+brotli = {version = "*", markers = "platform_python_implementation != \"PyPy\""}
+brotlicffi = {version = "*", markers = "platform_python_implementation == \"PyPy\""}
flask = "*"
[[package]]
name = "flask-socketio"
version = "5.3.4"
description = "Socket.IO integration for Flask applications"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -433,85 +526,73 @@ python-socketio = ">=5.0.2"
[[package]]
name = "gevent"
-version = "22.10.2"
+version = "23.9.1"
description = "Coroutine-based network library"
-category = "main"
optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5"
+python-versions = ">=3.8"
files = [
- {file = "gevent-22.10.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:97cd42382421779f5d82ec5007199e8a84aa288114975429e4fd0a98f2290f10"},
- {file = "gevent-22.10.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1e1286a76f15b5e15f1e898731d50529e249529095a032453f2c101af3fde71c"},
- {file = "gevent-22.10.2-cp27-cp27m-win32.whl", hash = "sha256:59b47e81b399d49a5622f0f503c59f1ce57b7705306ea0196818951dfc2f36c8"},
- {file = "gevent-22.10.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1d543c9407a1e4bca11a8932916988cfb16de00366de5bf7bc9e7a3f61e60b18"},
- {file = "gevent-22.10.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4e2f008c82dc54ec94f4de12ca6feea60e419babb48ec145456907ae61625aa4"},
- {file = "gevent-22.10.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:990d7069f14dc40674e0d5cb43c68fd3bad8337048613b9bb94a0c4180ffc176"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f23d0997149a816a2a9045af29c66f67f405a221745b34cefeac5769ed451db8"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b43d500d7d3c0e03070dee813335bb5315215aa1cf6a04c61093dfdd718640b3"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b68f4c9e20e47ad49fe797f37f91d5bbeace8765ce2707f979a8d4ec197e4d"},
- {file = "gevent-22.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1f001cac0ba8da76abfeb392a3057f81fab3d67cc916c7df8ea977a44a2cc989"},
- {file = "gevent-22.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:3b7eae8a0653ba95a224faaddf629a913ace408edb67384d3117acf42d7dcf89"},
- {file = "gevent-22.10.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8f2477e7b0a903a01485c55bacf2089110e5f767014967ba4b287ff390ae2638"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddaa3e310a8f1a45b5c42cf50b54c31003a3028e7d4e085059090ea0e7a5fddd"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98bc510e80f45486ef5b806a1c305e0e89f0430688c14984b0dbdec03331f48b"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877abdb3a669576b1d51ce6a49b7260b2a96f6b2424eb93287e779a3219d20ba"},
- {file = "gevent-22.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21ad79cca234cdbfa249e727500b0ddcbc7adfff6614a96e6eaa49faca3e4f2"},
- {file = "gevent-22.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e955238f59b2947631c9782a713280dd75884e40e455313b5b6bbc20b92ff73"},
- {file = "gevent-22.10.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5aa99e4882a9e909b4756ee799c6fa0f79eb0542779fad4cc60efa23ec1b2aa8"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d82081656a5b9a94d37c718c8646c757e1617e389cdc533ea5e6a6f0b8b78545"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f4bfd74c178351a4a05c5c7df6f8a0a279ff6f392b57608ce0e83c768207f9"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ff3796692dff50fec2f381b9152438b221335f557c4f9b811f7ded51b7a25a1"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f01c9adbcb605364694b11dcd0542ec468a29ac7aba2fb5665dc6caf17ba4d7e"},
- {file = "gevent-22.10.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9d85574eb729f981fea9a78998725a06292d90a3ed50ddca74530c3148c0be41"},
- {file = "gevent-22.10.2-cp36-cp36m-win32.whl", hash = "sha256:8c192d2073e558e241f0b592c1e2b34127a4481a5be240cad4796533b88b1a98"},
- {file = "gevent-22.10.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a2237451c721a0f874ef89dbb4af4fdc172b76a964befaa69deb15b8fff10f49"},
- {file = "gevent-22.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:53ee7f170ed42c7561fe8aff5d381dc9a4124694e70580d0c02fba6aafc0ea37"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:96c56c280e3c43cfd075efd10b250350ed5ffd3c1514ec99a080b1b92d7c8374"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c144e08dfad4106effc043a026e5d0c0eff6ad031904c70bf5090c63f3a6a7"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:018f93de7d5318d2fb440f846839a4464738468c3476d5c9cf7da45bb71c18bd"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ed2346eb9dc4344f9cb0d7963ce5b74fe16fdd031a2809bb6c2b6eba7ebcd5"},
- {file = "gevent-22.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84c517e33ed604fa06b7d756dc0171169cc12f7fdd68eb7b17708a62eebf4516"},
- {file = "gevent-22.10.2-cp37-cp37m-win32.whl", hash = "sha256:4114f0f439f0b547bb6f1d474fee99ddb46736944ad2207cef3771828f6aa358"},
- {file = "gevent-22.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d581f22a5be6281b11ad6309b38b18f0638cf896931223cbaa5adb904826ef6"},
- {file = "gevent-22.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2929377c8ebfb6f4d868d161cd8de2ea6b9f6c7a5fcd4f78bcd537319c16190b"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:efc003b6c1481165af61f0aeac248e0a9ac8d880bb3acbe469b448674b2d5281"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db562a8519838bddad0c439a2b12246bab539dd50e299ea7ff3644274a33b6a5"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1472012493ca1fac103f700d309cb6ef7964dcdb9c788d1768266e77712f5e49"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c04ee32c11e9fcee47c1b431834878dc987a7a2cc4fe126ddcae3bad723ce89"},
- {file = "gevent-22.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8729129edef2637a8084258cb9ec4e4d5ca45d97ac77aa7a6ff19ccb530ab731"},
- {file = "gevent-22.10.2-cp38-cp38-win32.whl", hash = "sha256:ae90226074a6089371a95f20288431cd4b3f6b0b096856afd862e4ac9510cddd"},
- {file = "gevent-22.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:494c7f29e94df9a1c3157d67bb7edfa32a46eed786e04d9ee68d39f375e30001"},
- {file = "gevent-22.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:58898dbabb5b11e4d0192aae165ad286dc6742c543e1be9d30dc82753547c508"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:4197d423e198265eef39a0dea286ef389da9148e070310f34455ecee8172c391"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da4183f0b9d9a1e25e1758099220d32c51cc2c6340ee0dea3fd236b2b37598e4"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5488eba6a568b4d23c072113da4fc0feb1b5f5ede7381656dc913e0d82204e2"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319d8b1699b7b8134de66d656cd739b308ab9c45ace14d60ae44de7775b456c9"},
- {file = "gevent-22.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f3329bedbba4d3146ae58c667e0f9ac1e6f1e1e6340c7593976cdc60aa7d1a47"},
- {file = "gevent-22.10.2-cp39-cp39-win32.whl", hash = "sha256:172caa66273315f283e90a315921902cb6549762bdcb0587fd60cb712a9d6263"},
- {file = "gevent-22.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:323b207b281ba0405fea042067fa1a61662e5ac0d574ede4ebbda03efd20c350"},
- {file = "gevent-22.10.2-pp27-pypy_73-win_amd64.whl", hash = "sha256:ed7f16613eebf892a6a744d7a4a8f345bc6f066a0ff3b413e2479f9c0a180193"},
- {file = "gevent-22.10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a47a4e77e2bc668856aad92a0b8de7ee10768258d93cd03968e6c7ba2e832f76"},
- {file = "gevent-22.10.2.tar.gz", hash = "sha256:1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"},
+ {file = "gevent-23.9.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a3c5e9b1f766a7a64833334a18539a362fb563f6c4682f9634dea72cbe24f771"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b101086f109168b23fa3586fccd1133494bdb97f86920a24dc0b23984dc30b69"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36a549d632c14684bcbbd3014a6ce2666c5f2a500f34d58d32df6c9ea38b6535"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:272cffdf535978d59c38ed837916dfd2b5d193be1e9e5dcc60a5f4d5025dd98a"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcb8612787a7f4626aa881ff15ff25439561a429f5b303048f0fca8a1c781c39"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:d57737860bfc332b9b5aa438963986afe90f49645f6e053140cfa0fa1bdae1ae"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5f3c781c84794926d853d6fb58554dc0dcc800ba25c41d42f6959c344b4db5a6"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dbb22a9bbd6a13e925815ce70b940d1578dbe5d4013f20d23e8a11eddf8d14a7"},
+ {file = "gevent-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:707904027d7130ff3e59ea387dddceedb133cc742b00b3ffe696d567147a9c9e"},
+ {file = "gevent-23.9.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:45792c45d60f6ce3d19651d7fde0bc13e01b56bb4db60d3f32ab7d9ec467374c"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e24c2af9638d6c989caffc691a039d7c7022a31c0363da367c0d32ceb4a0648"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e1ead6863e596a8cc2a03e26a7a0981f84b6b3e956101135ff6d02df4d9a6b07"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65883ac026731ac112184680d1f0f1e39fa6f4389fd1fc0bf46cc1388e2599f9"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7af500da05363e66f122896012acb6e101a552682f2352b618e541c941a011"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c3e5d2fa532e4d3450595244de8ccf51f5721a05088813c1abd93ad274fe15e7"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c84d34256c243b0a53d4335ef0bc76c735873986d478c53073861a92566a8d71"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ada07076b380918829250201df1d016bdafb3acf352f35e5693b59dceee8dd2e"},
+ {file = "gevent-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:921dda1c0b84e3d3b1778efa362d61ed29e2b215b90f81d498eb4d8eafcd0b7a"},
+ {file = "gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:ed7a048d3e526a5c1d55c44cb3bc06cfdc1947d06d45006cc4cf60dedc628904"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c1abc6f25f475adc33e5fc2dbcc26a732608ac5375d0d306228738a9ae14d3b"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4368f341a5f51611411ec3fc62426f52ac3d6d42eaee9ed0f9eebe715c80184e"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52b4abf28e837f1865a9bdeef58ff6afd07d1d888b70b6804557e7908032e599"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52e9f12cd1cda96603ce6b113d934f1aafb873e2c13182cf8e86d2c5c41982ea"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:de350fde10efa87ea60d742901e1053eb2127ebd8b59a7d3b90597eb4e586599"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fde6402c5432b835fbb7698f1c7f2809c8d6b2bd9d047ac1f5a7c1d5aa569303"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd6c32ab977ecf7c7b8c2611ed95fa4aaebd69b74bf08f4b4960ad516861517d"},
+ {file = "gevent-23.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:455e5ee8103f722b503fa45dedb04f3ffdec978c1524647f8ba72b4f08490af1"},
+ {file = "gevent-23.9.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7ccf0fd378257cb77d91c116e15c99e533374a8153632c48a3ecae7f7f4f09fe"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d163d59f1be5a4c4efcdd13c2177baaf24aadf721fdf2e1af9ee54a998d160f5"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7532c17bc6c1cbac265e751b95000961715adef35a25d2b0b1813aa7263fb397"},
+ {file = "gevent-23.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78eebaf5e73ff91d34df48f4e35581ab4c84e22dd5338ef32714264063c57507"},
+ {file = "gevent-23.9.1-cp38-cp38-win32.whl", hash = "sha256:f632487c87866094546a74eefbca2c74c1d03638b715b6feb12e80120960185a"},
+ {file = "gevent-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:62d121344f7465e3739989ad6b91f53a6ca9110518231553fe5846dbe1b4518f"},
+ {file = "gevent-23.9.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:bf456bd6b992eb0e1e869e2fd0caf817f0253e55ca7977fd0e72d0336a8c1c6a"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43daf68496c03a35287b8b617f9f91e0e7c0d042aebcc060cadc3f049aadd653"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7c28e38dcde327c217fdafb9d5d17d3e772f636f35df15ffae2d933a5587addd"},
+ {file = "gevent-23.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fae8d5b5b8fa2a8f63b39f5447168b02db10c888a3e387ed7af2bd1b8612e543"},
+ {file = "gevent-23.9.1-cp39-cp39-win32.whl", hash = "sha256:2c7b5c9912378e5f5ccf180d1fdb1e83f42b71823483066eddbe10ef1a2fcaa2"},
+ {file = "gevent-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2898b7048771917d85a1d548fd378e8a7b2ca963db8e17c6d90c76b495e0e2b"},
+ {file = "gevent-23.9.1.tar.gz", hash = "sha256:72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34"},
]
[package.dependencies]
cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
-greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\""}
-setuptools = "*"
+greenlet = [
+ {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""},
+ {version = ">=3.0rc3", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.11\""},
+]
"zope.event" = "*"
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
-docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"]
+docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
-recommended = ["backports.socketpair", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)", "selectors2"]
-test = ["backports.socketpair", "cffi (>=1.12.2)", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "dnspython (>=1.16.0,<2.0)", "futures", "idna", "mock", "objgraph", "psutil (>=5.7.0)", "requests", "selectors2"]
+recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
+test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
version = "0.10.1"
description = "Websocket handler for the gevent pywsgi server, a Python network library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -524,83 +605,90 @@ gevent = "*"
[[package]]
name = "greenlet"
-version = "2.0.2"
+version = "3.0.0rc3"
description = "Lightweight in-process concurrent programming"
-category = "main"
optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
+python-versions = ">=3.7"
files = [
- {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"},
- {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"},
- {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
- {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
- {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
- {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
- {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
- {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"},
- {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"},
- {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"},
- {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"},
- {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"},
- {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"},
- {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"},
- {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"},
- {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"},
- {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"},
- {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
- {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
- {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
- {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
- {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
- {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"},
- {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"},
- {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"},
- {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a2affddff9b2f846f40799673e41b29f0500582415c860fca8f146858e9de1a"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd00046dfd00767fce18f9933658d126652a500caf7af9dbfbd43818e4b484c2"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e787b00002cef3b98c7cf700fb85c2c01b0d202b1c6731706e5baa4b3325aa1e"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ffc7538bc66766a8b551888903d415773481c4bd13560a4fb24887222e3cc9"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dde5deb355b34bbf44b15789e27c56862f51f417207be49eedc58fce34681fe6"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1fb703a102a02361a0cc6a3d9a7958e1584fdeb536bd37ca9aca529d3356bedd"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f8661d14d3e07f2ceeb850e4cbcc7114bdf90a8dc82d63d37b08a50bb6955a77"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-win_amd64.whl", hash = "sha256:997456b74efee91ceeb39d63818909da5dbb712a07f7742f4378986ac3473463"},
+ {file = "greenlet-3.0.0rc3-cp310-universal2-macosx_11_0_x86_64.whl", hash = "sha256:d3cd3957af8cec1fcfd87d92ca71b7d434d798036e14ae878f9ab1e07d99da0d"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:895b689fc52a5bc402f8d624705110df5c265b1410ffe8e0769a66db9d2e7851"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a84a88422b5a0360fae57ad6b3b20fc17c9462880929810b0a26ee43aa05982e"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d79cf299ba1996d8a4f133b317e709a0a3ce87181308280e40664e12cb512c54"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9789aea735004eba559c7919a73a3b475d0c28e2c1e9de464c6bc761bf69f4"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:66790e1537382e53bce64de3a695d1b12a04b00104df45f7ef472a10561936c2"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:68349987bf2ce274953f9f9b28458869bd8770a0c5461e1ef91d8107b1bae361"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30ffaa6c020a615c8f4be3abfc6029982fda026a3bf9a6dc7205afb033251506"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-win_amd64.whl", hash = "sha256:864619b058f573058cd77f6944cf63d7f42157fe30be494798721bd8ac256d7b"},
+ {file = "greenlet-3.0.0rc3-cp311-universal2-macosx_10_9_universal2.whl", hash = "sha256:7c887ecb55374d585d71ff8f9d07c137637694e88fa2b5d5b1450a05ece62ae9"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:686821157368c1c4ef53aa68e6801280010da92ab0e4265dad37003341fca6a1"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:242d56d2d5f6859f0f086ce62555a2c692c8053c89721d41fead5e1e8dffdb36"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81d653ae6c64b85ce4c7bccbea7b630de8799da751b73e55b4c68875b6eb19d6"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beeb5cfbd8f3792c37db4e3c5665aa750d78bbdabe758161a34e7dfe27075e69"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:30daee988fc83078b016fa95a7a1f78a7c86534a44238748b9748675814eb1dc"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:977898b8c24159467c66ed1a8f62aacd33f3d85f852cf413d0d2e2a87a6b3091"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:097a2f75c79c3fa76fea2e5d48a637233722fe72a5ebb1213c55f0a0898f481c"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-win_amd64.whl", hash = "sha256:5770d43b08dfa10f4460c1bd51f8c80e6f2c47611054e9fb80d4d7976d07e560"},
+ {file = "greenlet-3.0.0rc3-cp312-universal2-macosx_10_9_universal2.whl", hash = "sha256:f33e7ff85775cb0ec6abb0950ffc631960bae5a203da38166fc3dfde826e0d0a"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f6d1ce31a1db5102a42b4afa609af330edfd8a81d10faba3e47ae33a07cbdf"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86e651fa59263f7ff1d4657b086c48cfe7e26db2a36e2d74069f3b5aeab478e6"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef7c6e49a9a020d56349c6a769352709bfbe35d3ee7f98bd5efcac6cedbdc162"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5585bf8d1d2d3712010ee74988c2ed85c54b127b97f2778fbdcc5b3ea8e801a2"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c706041cd92e1b9d2b602eaa31e94aad14453bdbf186ce77530f25167c173a0e"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:37213e72058d2e6231d18417adc63c698c040fbb47dc59a3fd633973214ab1ab"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:95bc6ec8dd73f8f36e9dfc61a7fa5a2819d1cd52d0bfdb70a43434d6b2aeb239"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-win32.whl", hash = "sha256:e83c4c7a0814dcfd7e2fe4b74a371f3ce489b62ff02e81d0c5cacc8ba4750395"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-win_amd64.whl", hash = "sha256:4c35608918f331256be199d3712552fa8a1d12f87ac171a86a31488c60d298f5"},
+ {file = "greenlet-3.0.0rc3-cp37-universal2-macosx_11_0_x86_64.whl", hash = "sha256:215bdb33e85fd89fe55f9984dc6f0a96b5774bace663e1a6d051e65d66170ef8"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69db00f775ed9d233f53ef67c66ea40a7add0c0929eb528f633982e27595dd37"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fcc7162944c2fedfb2253ca2171267e016a3b065c73369d0d4a27f601e7f162"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c0082d7b83312c59127811367089f812f8f1386fad7e8cf321fd732b4a6ace6"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66f1131c17dba115ea7cb3b257b6751b3c4cfd324f2121447e2483f57abbbf3c"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0c5508582339090b99e2863a157fc2708ab9c8b5cd21619bdcb04edcdc6c28d"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f1c9ad8d6500f7b142a94054281d9628bc8652a14b0923d02e0dfd87392fbc74"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bd586284bbf18ca3068e1fcc67ef54538e1bb74cb605ebdac9e62048237839f5"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-win32.whl", hash = "sha256:1c16f1bbaf9c75dfac3e52bb778d2fd6099fd5aa59fafa678eca5853eedd99ec"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-win_amd64.whl", hash = "sha256:e388ceb55b8f3f388afea4d4a17a64b619040f0e8e9fa3e17e7c34f4d0fbe103"},
+ {file = "greenlet-3.0.0rc3-cp38-universal2-macosx_11_0_x86_64.whl", hash = "sha256:68bd35ad9f99df0ef18836fd0fb34278dca6b3350bdcf1e8809822fc4f57a82e"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:256b748fc1e6c97012f217e0a403116cb0dd369bf1cff51c07a9c52899d4a8a8"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4936e6e051932848c4b237a874da8dbb47bfbb5ae5104497fb78c4f4cf184989"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a31b3a4bd10c540a7eb7d4b43d16779813ca4c79b615ed6d4ebf0e5a782d9fa0"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6f8253fdb00e74b928ab5d04f88ddbc8beb0cc26aa978bb4a12c1513166d481"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a7831d04a0f8a14645c010e3fb3fa36b8d2df304dd837948427ccfec2524ddf"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae84d2f2658990f29df4ea753061b25c337bd70f805128af328098e5b8afc454"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cd51cc2528a2985f3bc0564c1b1ce5b2e6fa4ee9924503010428256fa95b0e3c"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-win32.whl", hash = "sha256:e8698f341e78dd0f149511929e92d1507cc26647f047db13987169d244db10fb"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-win_amd64.whl", hash = "sha256:f059457db4e2ae4a4fdae455453c5e5765aa08efcb804e2a106c69c31bd438ba"},
+ {file = "greenlet-3.0.0rc3-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:c80cac2776df3dd08f27b7338f467a62ee6cb29668a8f4f408b8da1f981aae9e"},
+ {file = "greenlet-3.0.0rc3.tar.gz", hash = "sha256:0df5c2ad154f457fd372e39723493b3df519330a4c1bff3ca901be66130f379b"},
]
[package.extras]
-docs = ["Sphinx", "docutils (<0.18)"]
+docs = ["Sphinx"]
test = ["objgraph", "psutil"]
[[package]]
+name = "h11"
+version = "0.14.0"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
+ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
+]
+
+[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -610,14 +698,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -626,13 +713,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -644,7 +730,6 @@ files = [
name = "itsdangerous"
version = "2.1.2"
description = "Safely pass data to untrusted environments and back."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -656,7 +741,6 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -672,69 +756,77 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "packaging"
version = "23.1"
description = "Core utilities for Python packages"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -744,14 +836,13 @@ files = [
[[package]]
name = "pluggy"
-version = "1.0.0"
+version = "1.3.0"
description = "plugin and hook calling mechanisms for python"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+ {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
+ {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
]
[package.extras]
@@ -762,7 +853,6 @@ testing = ["pytest", "pytest-benchmark"]
name = "psutil"
version = "5.9.5"
description = "Cross-platform lib for process and system monitoring in Python."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -789,7 +879,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -801,7 +890,6 @@ files = [
name = "pynacl"
version = "1.5.0"
description = "Python binding to the Networking and Cryptography (NaCl) library"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -825,10 +913,20 @@ docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"]
[[package]]
+name = "pypng"
+version = "0.20220715.0"
+description = "Pure Python library for saving and loading PNG images"
+optional = false
+python-versions = "*"
+files = [
+ {file = "pypng-0.20220715.0-py3-none-any.whl", hash = "sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c"},
+ {file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"},
+]
+
+[[package]]
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -839,14 +937,13 @@ files = [
[[package]]
name = "pytest"
-version = "7.3.1"
+version = "7.4.2"
description = "pytest: simple powerful testing with Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
- {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
+ {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"},
+ {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"},
]
[package.dependencies]
@@ -858,49 +955,74 @@ pluggy = ">=0.12,<2.0"
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "python-engineio"
-version = "4.4.1"
+version = "4.7.1"
description = "Engine.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-engineio-4.4.1.tar.gz", hash = "sha256:eb3663ecb300195926b526386f712dff84cd092c818fb7b62eeeda9160120c29"},
- {file = "python_engineio-4.4.1-py3-none-any.whl", hash = "sha256:28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773"},
+ {file = "python-engineio-4.7.1.tar.gz", hash = "sha256:a8422e345cd9a21451303380b160742ff02197975b1c3a02cef115febe2b1b20"},
+ {file = "python_engineio-4.7.1-py3-none-any.whl", hash = "sha256:52499e8ab94fea1a6525ffe872fe7028d04b575799c5fa8e2cf7880e032de42e"},
]
+[package.dependencies]
+simple-websocket = ">=0.10.0"
+
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "python-socketio"
-version = "5.8.0"
+version = "5.9.0"
description = "Socket.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-socketio-5.8.0.tar.gz", hash = "sha256:e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"},
- {file = "python_socketio-5.8.0-py3-none-any.whl", hash = "sha256:7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441"},
+ {file = "python-socketio-5.9.0.tar.gz", hash = "sha256:dc42735f65534187f381fde291ebf620216a4960001370f32de940229b2e7f8f"},
+ {file = "python_socketio-5.9.0-py3-none-any.whl", hash = "sha256:c20f12e4ed0cba57581af26bbeea9998bc2eeebb3b952fa92493a1e051cfe9dc"},
]
[package.dependencies]
bidict = ">=0.21.0"
-python-engineio = ">=4.3.0"
+python-engineio = ">=4.7.0"
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
+
+[[package]]
+name = "qrcode"
+version = "7.4.2"
+description = "QR Code image generator"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "qrcode-7.4.2-py3-none-any.whl", hash = "sha256:581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a"},
+ {file = "qrcode-7.4.2.tar.gz", hash = "sha256:9dd969454827e127dbd93696b20747239e6d540e082937c90f14ac95b30f5845"},
+]
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+pypng = "*"
+typing-extensions = "*"
+
+[package.extras]
+all = ["pillow (>=9.1.0)", "pytest", "pytest-cov", "tox", "zest.releaser[recommended]"]
+dev = ["pytest", "pytest-cov", "tox"]
+maintainer = ["zest.releaser[recommended]"]
+pil = ["pillow (>=9.1.0)"]
+test = ["coverage", "pytest"]
[[package]]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -921,26 +1043,38 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+
+[[package]]
+name = "simple-websocket"
+version = "0.10.1"
+description = "Simple WebSocket server and client for Python"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "simple-websocket-0.10.1.tar.gz", hash = "sha256:0ab46c8ffa51a46dc95eed94608b3b722841c0bf849def71d465c5c356679c82"},
+ {file = "simple_websocket-0.10.1-py3-none-any.whl", hash = "sha256:62c36bacfd75cc867927bb39d91951342a7234bdfe20f41dd969a3b8bb1413b7"},
+]
+
+[package.dependencies]
+wsproto = "*"
[[package]]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -952,7 +1086,6 @@ files = [
name = "stem"
version = "1.8.1"
description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -963,7 +1096,6 @@ files = [
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -972,27 +1104,36 @@ files = [
]
[[package]]
+name = "typing-extensions"
+version = "4.8.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"},
+ {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"},
+]
+
+[[package]]
name = "unidecode"
-version = "1.3.6"
+version = "1.3.7"
description = "ASCII transliterations of Unicode text"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
- {file = "Unidecode-1.3.6-py3-none-any.whl", hash = "sha256:547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be"},
- {file = "Unidecode-1.3.6.tar.gz", hash = "sha256:fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830"},
+ {file = "Unidecode-1.3.7-py3-none-any.whl", hash = "sha256:663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4"},
+ {file = "Unidecode-1.3.7.tar.gz", hash = "sha256:3c90b4662aa0de0cb591884b934ead8d2225f1800d8da675a7750cbc3bd94610"},
]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.5"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.5-py3-none-any.whl", hash = "sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"},
+ {file = "urllib3-2.0.5.tar.gz", hash = "sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594"},
]
[package.extras]
@@ -1005,7 +1146,6 @@ zstd = ["zstandard (>=0.18.0)"]
name = "waitress"
version = "2.1.2"
description = "Waitress WSGI server"
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -1019,14 +1159,13 @@ testing = ["coverage (>=5.0)", "pytest", "pytest-cover"]
[[package]]
name = "werkzeug"
-version = "2.3.4"
+version = "2.3.7"
description = "The comprehensive WSGI web application library."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "Werkzeug-2.3.4-py3-none-any.whl", hash = "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"},
- {file = "Werkzeug-2.3.4.tar.gz", hash = "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76"},
+ {file = "werkzeug-2.3.7-py3-none-any.whl", hash = "sha256:effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528"},
+ {file = "werkzeug-2.3.7.tar.gz", hash = "sha256:2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8"},
]
[package.dependencies]
@@ -1036,31 +1175,57 @@ MarkupSafe = ">=2.1.1"
watchdog = ["watchdog (>=2.3)"]
[[package]]
+name = "wheel"
+version = "0.41.2"
+description = "A built-package format for Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"},
+ {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"},
+]
+
+[package.extras]
+test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
+
+[[package]]
+name = "wsproto"
+version = "1.2.0"
+description = "WebSockets state-machine based protocol implementation"
+optional = false
+python-versions = ">=3.7.0"
+files = [
+ {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"},
+ {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"},
+]
+
+[package.dependencies]
+h11 = ">=0.9.0,<1"
+
+[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]]
name = "zope-event"
-version = "4.6"
+version = "5.0"
description = "Very basic event publishing system"
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "zope.event-4.6-py2.py3-none-any.whl", hash = "sha256:73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c"},
- {file = "zope.event-4.6.tar.gz", hash = "sha256:81d98813046fc86cc4136e3698fee628a3282f9c320db18658c21749235fce80"},
+ {file = "zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26"},
+ {file = "zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd"},
]
[package.dependencies]
@@ -1074,7 +1239,6 @@ test = ["zope.testrunner"]
name = "zope-interface"
version = "6.0"
description = "Interfaces for Python"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1121,4 +1285,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8,<3.12"
-content-hash = "a66690a27977b5b8f8798846ff8a243639e7c425c38cd3426af646469ea5e5e3" \ No newline at end of file
+content-hash = "3fd881193c3fa5149c4141ca0d85619b763225c312d4e35d46fdd5a317ec209f"
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index f6ff9c94..e47f6496 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -34,6 +34,12 @@ gevent-websocket = "*"
stem = "1.8.1"
waitress = "^2.1.2"
werkzeug = ">=2.3.4"
+packaging = "^23.1"
+gevent = "^23.9.1"
+wheel = "^0.41.2"
+cffi = "^1.15.1"
+cython = "^3.0.2"
+qrcode = "^7.4.2"
[tool.poetry.dev-dependencies]
pytest = ">=7.2.0"
diff --git a/desktop/README.md b/desktop/README.md
index c1e869ab..5814f08f 100644
--- a/desktop/README.md
+++ b/desktop/README.md
@@ -9,7 +9,7 @@ git clone https://github.com/onionshare/onionshare.git
cd onionshare/desktop
```
-Make sure you have Python 3 installed. If you're using Windows or macOS, install the latest version of 3.10 [from python.org](https://www.python.org/downloads/). For Windows, make sure to check the box to add python to the path on the first page of the installer.
+Make sure you have Python 3 installed. If you're using Windows or macOS, install the latest version of 3.11 [from python.org](https://www.python.org/downloads/). For Windows, make sure to check the box to add python to the path on the first page of the installer.
Make sure you have [poetry](https://python-poetry.org/) installed:
@@ -27,7 +27,9 @@ poetry install
### Get Tor
-**Linux users:** In Ubuntu you may need the `libxcb-xinerama0` package installed.
+**Linux users:**
+- On Debian/Debian-based distributions you may need the `libxcb-xinerama0` and `libxcb-cursor0` packages installed.
+- On Fedora/CentOS you may need the `libxcb-*` and `xcb-util-*` packages installed.
**Windows users:**
- Download and install 7-Zip (x64) from https://7-zip.org/download.html. [Add](https://medium.com/@kevinmarkvi/how-to-add-executables-togit fethc-your-path-in-windows-5ffa4ce61a53) `C:\Program Files\7-Zip` to your path.
diff --git a/desktop/onionshare/gui_common.py b/desktop/onionshare/gui_common.py
index e3d712f5..fcbf47f7 100644
--- a/desktop/onionshare/gui_common.py
+++ b/desktop/onionshare/gui_common.py
@@ -471,6 +471,10 @@ class GuiCommon:
QPushButton {
padding: 5px 10px;
}""",
+ "receive_options": """
+ QCheckBox:disabled {
+ color: #666666;
+ }""",
# Tor Settings dialogs
"tor_settings_error": """
QLabel {
diff --git a/desktop/onionshare/resources/countries/af.json b/desktop/onionshare/resources/countries/af.json
new file mode 100644
index 00000000..4d80c659
--- /dev/null
+++ b/desktop/onionshare/resources/countries/af.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "AX": "\u00c5landeilande", "AL": "Albani\u00eb", "DZ": "Algeri\u00eb", "AS": "Amerikaanse Samoa", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antarktika", "AG": "Antigua en Barbuda", "AR": "Argentini\u00eb", "AM": "Armeni\u00eb", "AW": "Aruba", "AU": "Australi\u00eb", "AZ": "Azerbeidjan", "BS": "Bahamas", "BH": "Bahrein", "BD": "Bangladesj", "BB": "Barbados", "BY": "Belarus", "BE": "Belgi\u00eb", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhoetan", "BO": "Bolivi\u00eb", "BA": "Bosni\u00eb en Herzegowina", "BW": "Botswana", "BV": "Bouvet-eiland", "BR": "Brasili\u00eb", "IO": "Brits-Indiese Oseaangebied", "VG": "Britse Maagde-eilande", "BN": "Broenei", "BG": "Bulgarye", "BF": "Burkina Faso", "BI": "Burundi", "CL": "Chili", "CO": "Colombi\u00eb", "KM": "Comore", "CK": "Cookeilande", "CR": "Costa Rica", "CW": "Cura\u00e7ao", "CD": "Demokratiese Republiek van die Kongo", "DK": "Denemarke", "DJ": "Djiboeti", "DM": "Dominica", "DO": "Dominikaanse Republiek", "DE": "Duitsland", "EC": "Ecuador", "EG": "Egipte", "IM": "Eiland Man", "GQ": "Ekwatoriaal-Guinee", "SV": "El Salvador", "ER": "Eritrea", "EE": "Estland", "SZ": "Eswatini", "ET": "Ethiopi\u00eb", "FK": "Falklandeilande", "FO": "Faro\u00ebreilande", "FJ": "Fidji", "PH": "Filippyne", "FI": "Finland", "FR": "Frankryk", "GF": "Frans-Guyana", "PF": "Frans-Polinesi\u00eb", "TF": "Franse Suidelike Gebiede", "GA": "Gaboen", "GM": "Gambi\u00eb", "GE": "Georgi\u00eb", "GH": "Ghana", "GI": "Gibraltar", "GD": "Grenada", "GR": "Griekeland", "GL": "Groenland", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinee", "GW": "Guinee-Bissau", "GY": "Guyana", "HT": "Ha\u00efti", "HM": "Heardeiland en McDonaldeilande", "HN": "Honduras", "HU": "Hongarye", "HK": "Hongkong SAS Sjina", "IE": "Ierland", "IN": "Indi\u00eb", "ID": "Indonesi\u00eb", "IQ": "Irak", "IR": "Iran", "IL": "Israel", "IT": "Itali\u00eb", "CI": "Ivoorkus", "JM": "Jamaika", "JP": "Japan", "YE": "Jemen", "JO": "Jordani\u00eb", "KY": "Kaaimanseilande", "CV": "Kaap Verde", "KH": "Kambodja", "CM": "Kameroen", "CA": "Kanada", "BQ": "Karibiese Nederland", "QA": "Katar", "KZ": "Kazakstan", "KE": "Kenia", "CX": "Kerseiland", "KG": "Kirgistan", "KI": "Kiribati", "KW": "Koeweit", "CC": "Kokoseilande", "CG": "Kongo - Brazzaville", "HR": "Kroasi\u00eb", "CU": "Kuba", "LA": "Laos", "LS": "Lesotho", "LV": "Letland", "LB": "Libanon", "LR": "Liberi\u00eb", "LY": "Libi\u00eb", "LI": "Liechtenstein", "LT": "Litaue", "LU": "Luxemburg", "MO": "Macau SAS Sjina", "MG": "Madagaskar", "MW": "Malawi", "MV": "Maledive", "MY": "Maleisi\u00eb", "ML": "Mali", "MT": "Malta", "MA": "Marokko", "MQ": "Martinique", "MR": "Mauritani\u00eb", "MU": "Mauritius", "YT": "Mayotte", "MX": "Meksiko", "MM": "Mianmar (Birma)", "MD": "Moldowa", "MC": "Monaco", "MN": "Mongoli\u00eb", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mosambiek", "NA": "Namibi\u00eb", "NR": "Nauru", "NL": "Nederland", "NP": "Nepal", "NI": "Nicaragua", "NC": "Nieu-Kaledoni\u00eb", "NZ": "Nieu-Seeland", "NE": "Niger", "NG": "Nigeri\u00eb", "NU": "Niue", "KP": "Noord-Korea", "MK": "Noord-Macedoni\u00eb", "NO": "Noorwe\u00eb", "NF": "Norfolkeiland", "UA": "Oekra\u00efne", "UZ": "Oesbekistan", "OM": "Oman", "TL": "Oos-Timor", "AT": "Oostenryk", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papoea-Nieu-Guinee", "PY": "Paraguay", "PE": "Peru", "PN": "Pitcairneilande", "PL": "Pole", "PT": "Portugal", "PR": "Puerto Rico", "RE": "R\u00e9union", "RO": "Roemeni\u00eb", "RU": "Rusland", "RW": "Rwanda", "SB": "Salomonseilande", "WS": "Samoa", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 en Pr\u00edncipe", "SA": "Saoedi-Arabi\u00eb", "SN": "Senegal", "CF": "Sentraal-Afrikaanse Republiek", "RS": "Serwi\u00eb", "SC": "Seychelle", "SL": "Sierra Leone", "SG": "Singapoer", "BL": "Sint Barth\u00e9lemy", "SH": "Sint Helena", "KN": "Sint Kitts en Nevis", "LC": "Sint Lucia", "SX": "Sint Maarten", "MF": "Sint Martin", "PM": "Sint Pierre en Miquelon", "VC": "Sint Vincent en die Grenadine", "CY": "Siprus", "SY": "Siri\u00eb", "CN": "Sjina", "SK": "Slowakye", "SI": "Sloweni\u00eb", "SD": "Soedan", "SO": "Somali\u00eb", "ES": "Spanje", "LK": "Sri Lanka", "ZA": "Suid-Afrika", "GS": "Suid-Georgi\u00eb en die Suidelike Sandwicheilande", "KR": "Suid-Korea", "SS": "Suid-Soedan", "SR": "Suriname", "SJ": "Svalbard en Jan Mayen", "SE": "Swede", "CH": "Switserland", "TJ": "Tadjikistan", "TW": "Taiwan", "TZ": "Tanzani\u00eb", "TH": "Thailand", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad en Tobago", "TD": "Tsjad", "CZ": "Tsjeggi\u00eb", "TN": "Tunisi\u00eb", "TM": "Turkmenistan", "TC": "Turks- en Caicoseilande", "TR": "Turkye", "UG": "Uganda", "UY": "Uruguay", "VU": "Vanuatu", "VA": "Vatikaanstad", "VE": "Venezuela", "AE": "Verenigde Arabiese Emirate", "GB": "Verenigde Koninkryk", "US": "Verenigde State van Amerika", "VN": "Vi\u00ebtnam", "VI": "VSA se Maagde-eilande", "WF": "Wallis en Futuna", "EH": "Wes-Sahara", "IS": "Ysland", "ZM": "Zambi\u00eb", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/be.json b/desktop/onionshare/resources/countries/be.json
new file mode 100644
index 00000000..7e7c49a0
--- /dev/null
+++ b/desktop/onionshare/resources/countries/be.json
@@ -0,0 +1 @@
+{"AE": "\u0410\u0431\u2019\u044f\u0434\u043d\u0430\u043d\u044b\u044f \u0410\u0440\u0430\u0431\u0441\u043a\u0456\u044f \u042d\u043c\u0456\u0440\u0430\u0442\u044b", "AZ": "\u0410\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d", "AX": "\u0410\u043b\u0430\u043d\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "AL": "\u0410\u043b\u0431\u0430\u043d\u0456\u044f", "DZ": "\u0410\u043b\u0436\u044b\u0440", "OM": "\u0410\u043c\u0430\u043d", "AS": "\u0410\u043c\u0435\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u0435 \u0421\u0430\u043c\u043e\u0430", "VI": "\u0410\u043c\u0435\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0456\u044f \u0412\u0456\u0440\u0433\u0456\u043d\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "AI": "\u0410\u043d\u0433\u0456\u043b\u044c\u044f", "AO": "\u0410\u043d\u0433\u043e\u043b\u0430", "AD": "\u0410\u043d\u0434\u043e\u0440\u0430", "AQ": "\u0410\u043d\u0442\u0430\u0440\u043a\u0442\u044b\u043a\u0430", "AG": "\u0410\u043d\u0442\u044b\u0433\u0443\u0430 \u0456 \u0411\u0430\u0440\u0431\u0443\u0434\u0430", "AR": "\u0410\u0440\u0433\u0435\u043d\u0446\u0456\u043d\u0430", "AM": "\u0410\u0440\u043c\u0435\u043d\u0456\u044f", "AW": "\u0410\u0440\u0443\u0431\u0430", "CK": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u041a\u0443\u043a\u0430", "PN": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u041f\u0456\u0442\u043a\u044d\u0440\u043d", "HM": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u0425\u0435\u0440\u0434 \u0456 \u041c\u0430\u043a\u0434\u043e\u043d\u0430\u043b\u044c\u0434", "TC": "\u0410\u0441\u0442\u0440\u0430\u0432\u044b \u0426\u0451\u0440\u043a\u0441 \u0456 \u041a\u0430\u0439\u043a\u0430\u0441", "AU": "\u0410\u045e\u0441\u0442\u0440\u0430\u043b\u0456\u044f", "AT": "\u0410\u045e\u0441\u0442\u0440\u044b\u044f", "AF": "\u0410\u0444\u0433\u0430\u043d\u0456\u0441\u0442\u0430\u043d", "BS": "\u0411\u0430\u0433\u0430\u043c\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BG": "\u0411\u0430\u043b\u0433\u0430\u0440\u044b\u044f", "BO": "\u0411\u0430\u043b\u0456\u0432\u0456\u044f", "BD": "\u0411\u0430\u043d\u0433\u043b\u0430\u0434\u044d\u0448", "BB": "\u0411\u0430\u0440\u0431\u0430\u0434\u0430\u0441", "BW": "\u0411\u0430\u0442\u0441\u0432\u0430\u043d\u0430", "BH": "\u0411\u0430\u0445\u0440\u044d\u0439\u043d", "BY": "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c", "BZ": "\u0411\u0435\u043b\u0456\u0437", "BE": "\u0411\u0435\u043b\u044c\u0433\u0456\u044f", "BJ": "\u0411\u0435\u043d\u0456\u043d", "BM": "\u0411\u0435\u0440\u043c\u0443\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BA": "\u0411\u043e\u0441\u043d\u0456\u044f \u0456 \u0413\u0435\u0440\u0446\u0430\u0433\u0430\u0432\u0456\u043d\u0430", "BR": "\u0411\u0440\u0430\u0437\u0456\u043b\u0456\u044f", "BN": "\u0411\u0440\u0443\u043d\u0435\u0439", "IO": "\u0411\u0440\u044b\u0442\u0430\u043d\u0441\u043a\u0430\u044f \u0442\u044d\u0440\u044b\u0442\u043e\u0440\u044b\u044f \u045e \u0406\u043d\u0434\u044b\u0439\u0441\u043a\u0456\u043c \u0430\u043a\u0456\u044f\u043d\u0435", "VG": "\u0411\u0440\u044b\u0442\u0430\u043d\u0441\u043a\u0456\u044f \u0412\u0456\u0440\u0433\u0456\u043d\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BF": "\u0411\u0443\u0440\u043a\u0456\u043d\u0430-\u0424\u0430\u0441\u043e", "BI": "\u0411\u0443\u0440\u0443\u043d\u0434\u0437\u0456", "BT": "\u0411\u0443\u0442\u0430\u043d", "VN": "\u0412\u2019\u0435\u0442\u043d\u0430\u043c", "VU": "\u0412\u0430\u043d\u0443\u0430\u0442\u0443", "VA": "\u0412\u0430\u0442\u044b\u043a\u0430\u043d", "HU": "\u0412\u0435\u043d\u0433\u0440\u044b\u044f", "VE": "\u0412\u0435\u043d\u0435\u0441\u0443\u044d\u043b\u0430", "BV": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u0411\u0443\u0432\u044d", "CX": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041a\u0430\u043b\u044f\u0434", "IM": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041c\u044d\u043d", "NF": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u041d\u043e\u0440\u0444\u0430\u043b\u043a", "SH": "\u0412\u043e\u0441\u0442\u0440\u0430\u045e \u0421\u0432\u044f\u0442\u043e\u0439 \u0410\u043b\u0435\u043d\u044b", "GB": "\u0412\u044f\u043b\u0456\u043a\u0430\u0431\u0440\u044b\u0442\u0430\u043d\u0456\u044f", "GA": "\u0413\u0430\u0431\u043e\u043d", "HT": "\u0413\u0430\u0456\u0446\u0456", "GM": "\u0413\u0430\u043c\u0431\u0456\u044f", "GH": "\u0413\u0430\u043d\u0430", "HN": "\u0413\u0430\u043d\u0434\u0443\u0440\u0430\u0441", "HK": "\u0413\u0430\u043d\u043a\u043e\u043d\u0433, \u0421\u0410\u0420 (\u041a\u0456\u0442\u0430\u0439)", "GY": "\u0413\u0430\u044f\u043d\u0430", "GP": "\u0413\u0432\u0430\u0434\u044d\u043b\u0443\u043f\u0430", "GT": "\u0413\u0432\u0430\u0442\u044d\u043c\u0430\u043b\u0430", "GN": "\u0413\u0432\u0456\u043d\u0435\u044f", "GW": "\u0413\u0432\u0456\u043d\u0435\u044f-\u0411\u0456\u0441\u0430\u0443", "DE": "\u0413\u0435\u0440\u043c\u0430\u043d\u0456\u044f", "GG": "\u0413\u0435\u0440\u043d\u0441\u0456", "GI": "\u0413\u0456\u0431\u0440\u0430\u043b\u0442\u0430\u0440", "GE": "\u0413\u0440\u0443\u0437\u0456\u044f", "GD": "\u0413\u0440\u044d\u043d\u0430\u0434\u0430", "GL": "\u0413\u0440\u044d\u043d\u043b\u0430\u043d\u0434\u044b\u044f", "GR": "\u0413\u0440\u044d\u0446\u044b\u044f", "GU": "\u0413\u0443\u0430\u043c", "DM": "\u0414\u0430\u043c\u0456\u043d\u0456\u043a\u0430", "DO": "\u0414\u0430\u043c\u0456\u043d\u0456\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "DK": "\u0414\u0430\u043d\u0456\u044f", "DJ": "\u0414\u0436\u044b\u0431\u0443\u0446\u0456", "EG": "\u0415\u0433\u0456\u043f\u0435\u0442", "YE": "\u0415\u043c\u0435\u043d", "ZM": "\u0417\u0430\u043c\u0431\u0456\u044f", "EH": "\u0417\u0430\u0445\u043e\u0434\u043d\u044f\u044f \u0421\u0430\u0445\u0430\u0440\u0430", "ZW": "\u0417\u0456\u043c\u0431\u0430\u0431\u0432\u044d", "US": "\u0417\u043b\u0443\u0447\u0430\u043d\u044b\u044f \u0428\u0442\u0430\u0442\u044b", "JO": "\u0406\u0430\u0440\u0434\u0430\u043d\u0456\u044f", "IL": "\u0406\u0437\u0440\u0430\u0456\u043b\u044c", "ID": "\u0406\u043d\u0434\u0430\u043d\u0435\u0437\u0456\u044f", "IN": "\u0406\u043d\u0434\u044b\u044f", "IQ": "\u0406\u0440\u0430\u043a", "IR": "\u0406\u0440\u0430\u043d", "IE": "\u0406\u0440\u043b\u0430\u043d\u0434\u044b\u044f", "IS": "\u0406\u0441\u043b\u0430\u043d\u0434\u044b\u044f", "ES": "\u0406\u0441\u043f\u0430\u043d\u0456\u044f", "IT": "\u0406\u0442\u0430\u043b\u0456\u044f", "CV": "\u041a\u0430\u0431\u0430-\u0412\u0435\u0440\u0434\u044d", "KZ": "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d", "KY": "\u041a\u0430\u0439\u043c\u0430\u043d\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CC": "\u041a\u0430\u043a\u043e\u0441\u0430\u0432\u044b\u044f (\u041a\u0456\u043b\u0456\u043d\u0433) \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CO": "\u041a\u0430\u043b\u0443\u043c\u0431\u0456\u044f", "KH": "\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430", "CM": "\u041a\u0430\u043c\u0435\u0440\u0443\u043d", "KM": "\u041a\u0430\u043c\u043e\u0440\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "CA": "\u041a\u0430\u043d\u0430\u0434\u0430", "BQ": "\u041a\u0430\u0440\u044b\u0431\u0441\u043a\u0456\u044f \u041d\u0456\u0434\u044d\u0440\u043b\u0430\u043d\u0434\u044b", "QA": "\u041a\u0430\u0442\u0430\u0440", "KE": "\u041a\u0435\u043d\u0456\u044f", "CY": "\u041a\u0456\u043f\u0440", "KI": "\u041a\u0456\u0440\u044b\u0431\u0430\u0446\u0456", "CN": "\u041a\u0456\u0442\u0430\u0439", "CG": "\u041a\u043e\u043d\u0433\u0430 - \u0411\u0440\u0430\u0437\u0430\u0432\u0456\u043b\u044c", "CD": "\u041a\u043e\u043d\u0433\u0430 (\u041a\u0456\u043d\u0448\u0430\u0441\u0430)", "CR": "\u041a\u043e\u0441\u0442\u0430-\u0420\u044b\u043a\u0430", "CI": "\u041a\u043e\u0442-\u0434\u2019\u0406\u0432\u0443\u0430\u0440", "CU": "\u041a\u0443\u0431\u0430", "KW": "\u041a\u0443\u0432\u0435\u0439\u0442", "KG": "\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d", "CW": "\u041a\u044e\u0440\u0430\u0441\u0430\u0430", "LA": "\u041b\u0430\u043e\u0441", "LV": "\u041b\u0430\u0442\u0432\u0456\u044f", "LS": "\u041b\u0435\u0441\u043e\u0442\u0430", "LR": "\u041b\u0456\u0431\u0435\u0440\u044b\u044f", "LB": "\u041b\u0456\u0432\u0430\u043d", "LY": "\u041b\u0456\u0432\u0456\u044f", "LT": "\u041b\u0456\u0442\u0432\u0430", "LI": "\u041b\u0456\u0445\u0442\u044d\u043d\u0448\u0442\u044d\u0439\u043d", "LU": "\u041b\u044e\u043a\u0441\u0435\u043c\u0431\u0443\u0440\u0433", "MM": "\u041c\u2019\u044f\u043d\u043c\u0430 (\u0411\u0456\u0440\u043c\u0430)", "MG": "\u041c\u0430\u0434\u0430\u0433\u0430\u0441\u043a\u0430\u0440", "YT": "\u041c\u0430\u0451\u0442\u0430", "MZ": "\u041c\u0430\u0437\u0430\u043c\u0431\u0456\u043a", "MO": "\u041c\u0430\u043a\u0430\u0430, \u0421\u0410\u0420 (\u041a\u0456\u0442\u0430\u0439)", "MW": "\u041c\u0430\u043b\u0430\u0432\u0456", "MY": "\u041c\u0430\u043b\u0430\u0439\u0437\u0456\u044f", "MD": "\u041c\u0430\u043b\u0434\u043e\u0432\u0430", "ML": "\u041c\u0430\u043b\u0456", "MV": "\u041c\u0430\u043b\u044c\u0434\u044b\u0432\u044b", "MT": "\u041c\u0430\u043b\u044c\u0442\u0430", "MC": "\u041c\u0430\u043d\u0430\u043a\u0430", "MN": "\u041c\u0430\u043d\u0433\u043e\u043b\u0456\u044f", "MS": "\u041c\u0430\u043d\u0442\u0441\u0435\u0440\u0430\u0442", "MA": "\u041c\u0430\u0440\u043e\u043a\u0430", "MQ": "\u041c\u0430\u0440\u0446\u0456\u043d\u0456\u043a\u0430", "MU": "\u041c\u0430\u045e\u0440\u044b\u043a\u0456\u0439", "MR": "\u041c\u0430\u045e\u0440\u044b\u0442\u0430\u043d\u0456\u044f", "MX": "\u041c\u0435\u043a\u0441\u0456\u043a\u0430", "NA": "\u041d\u0430\u043c\u0456\u0431\u0456\u044f", "NO": "\u041d\u0430\u0440\u0432\u0435\u0433\u0456\u044f", "NR": "\u041d\u0430\u0443\u0440\u0443", "NP": "\u041d\u0435\u043f\u0430\u043b", "NE": "\u041d\u0456\u0433\u0435\u0440", "NG": "\u041d\u0456\u0433\u0435\u0440\u044b\u044f", "NL": "\u041d\u0456\u0434\u044d\u0440\u043b\u0430\u043d\u0434\u044b", "NI": "\u041d\u0456\u043a\u0430\u0440\u0430\u0433\u0443\u0430", "NU": "\u041d\u0456\u0443\u044d", "NZ": "\u041d\u043e\u0432\u0430\u044f \u0417\u0435\u043b\u0430\u043d\u0434\u044b\u044f", "NC": "\u041d\u043e\u0432\u0430\u044f \u041a\u0430\u043b\u0435\u0434\u043e\u043d\u0456\u044f", "PK": "\u041f\u0430\u043a\u0456\u0441\u0442\u0430\u043d", "PW": "\u041f\u0430\u043b\u0430\u0443", "PA": "\u041f\u0430\u043d\u0430\u043c\u0430", "PG": "\u041f\u0430\u043f\u0443\u0430-\u041d\u043e\u0432\u0430\u044f \u0413\u0432\u0456\u043d\u0435\u044f", "PY": "\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439", "PT": "\u041f\u0430\u0440\u0442\u0443\u0433\u0430\u043b\u0456\u044f", "ZA": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430-\u0410\u0444\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "GS": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430\u044f \u0413\u0435\u043e\u0440\u0433\u0456\u044f \u0456 \u041f\u0430\u045e\u0434\u043d\u0451\u0432\u044b\u044f \u0421\u0430\u043d\u0434\u0432\u0456\u0447\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "KR": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u0430\u044f \u041a\u0430\u0440\u044d\u044f", "SS": "\u041f\u0430\u045e\u0434\u043d\u0451\u0432\u044b \u0421\u0443\u0434\u0430\u043d", "KP": "\u041f\u0430\u045e\u043d\u043e\u0447\u043d\u0430\u044f \u041a\u0430\u0440\u044d\u044f", "MK": "\u041f\u0430\u045e\u043d\u043e\u0447\u043d\u0430\u044f \u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0456\u044f", "PE": "\u041f\u0435\u0440\u0443", "PL": "\u041f\u043e\u043b\u044c\u0448\u0447\u0430", "PR": "\u041f\u0443\u044d\u0440\u0442\u0430-\u0420\u044b\u043a\u0430", "RU": "\u0420\u0430\u0441\u0456\u044f", "RW": "\u0420\u0443\u0430\u043d\u0434\u0430", "RO": "\u0420\u0443\u043c\u044b\u043d\u0456\u044f", "RE": "\u0420\u044d\u044e\u043d\u044c\u0451\u043d", "SB": "\u0421\u0430\u043b\u0430\u043c\u043e\u043d\u0430\u0432\u044b \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "SV": "\u0421\u0430\u043b\u044c\u0432\u0430\u0434\u043e\u0440", "SO": "\u0421\u0430\u043c\u0430\u043b\u0456", "WS": "\u0421\u0430\u043c\u043e\u0430", "SM": "\u0421\u0430\u043d-\u041c\u0430\u0440\u044b\u043d\u0430", "ST": "\u0421\u0430\u043d-\u0422\u0430\u043c\u044d \u0456 \u041f\u0440\u044b\u043d\u0441\u0456\u043f\u0456", "SA": "\u0421\u0430\u0443\u0434\u0430\u045e\u0441\u043a\u0430\u044f \u0410\u0440\u0430\u0432\u0456\u044f", "SC": "\u0421\u0435\u0439\u0448\u044d\u043b\u044c\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "BL": "\u0421\u0435\u043d-\u0411\u0430\u0440\u0442\u044d\u043b\u044c\u043c\u0456", "MF": "\u0421\u0435\u043d-\u041c\u0430\u0440\u0442\u044d\u043d", "PM": "\u0421\u0435\u043d-\u041f\u2019\u0435\u0440 \u0456 \u041c\u0456\u043a\u0435\u043b\u043e\u043d", "SN": "\u0421\u0435\u043d\u0435\u0433\u0430\u043b", "VC": "\u0421\u0435\u043d\u0442-\u0412\u0456\u043d\u0441\u0435\u043d\u0442 \u0456 \u0413\u0440\u044d\u043d\u0430\u0434\u0437\u0456\u043d\u044b", "KN": "\u0421\u0435\u043d\u0442-\u041a\u0456\u0442\u0441 \u0456 \u041d\u0435\u0432\u0456\u0441", "LC": "\u0421\u0435\u043d\u0442-\u041b\u044e\u0441\u0456\u044f", "RS": "\u0421\u0435\u0440\u0431\u0456\u044f", "SG": "\u0421\u0456\u043d\u0433\u0430\u043f\u0443\u0440", "SX": "\u0421\u0456\u043d\u0442-\u041c\u0430\u0440\u0442\u044d\u043d", "SY": "\u0421\u0456\u0440\u044b\u044f", "SK": "\u0421\u043b\u0430\u0432\u0430\u043a\u0456\u044f", "SI": "\u0421\u043b\u0430\u0432\u0435\u043d\u0456\u044f", "SD": "\u0421\u0443\u0434\u0430\u043d", "SR": "\u0421\u0443\u0440\u044b\u043d\u0430\u043c", "SL": "\u0421\u044c\u0435\u0440\u0430-\u041b\u0435\u043e\u043d\u044d", "TJ": "\u0422\u0430\u0434\u0436\u044b\u043a\u0456\u0441\u0442\u0430\u043d", "TW": "\u0422\u0430\u0439\u0432\u0430\u043d\u044c", "TH": "\u0422\u0430\u0439\u043b\u0430\u043d\u0434", "TK": "\u0422\u0430\u043a\u0435\u043b\u0430\u0443", "TZ": "\u0422\u0430\u043d\u0437\u0430\u043d\u0456\u044f", "TG": "\u0422\u043e\u0433\u0430", "TO": "\u0422\u043e\u043d\u0433\u0430", "TT": "\u0422\u0440\u044b\u043d\u0456\u0434\u0430\u0434 \u0456 \u0422\u0430\u0431\u0430\u0433\u0430", "TN": "\u0422\u0443\u043d\u0456\u0441", "TM": "\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0456\u0441\u0442\u0430\u043d", "TR": "\u0422\u0443\u0440\u0446\u044b\u044f", "TL": "\u0422\u044b\u043c\u043e\u0440-\u041b\u0435\u0448\u0446\u0456", "UG": "\u0423\u0433\u0430\u043d\u0434\u0430", "UZ": "\u0423\u0437\u0431\u0435\u043a\u0456\u0441\u0442\u0430\u043d", "UA": "\u0423\u043a\u0440\u0430\u0456\u043d\u0430", "WF": "\u0423\u043e\u043b\u0456\u0441 \u0456 \u0424\u0443\u0442\u0443\u043d\u0430", "UY": "\u0423\u0440\u0443\u0433\u0432\u0430\u0439", "FK": "\u0424\u0430\u043b\u043a\u043b\u0435\u043d\u0434\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "FO": "\u0424\u0430\u0440\u044d\u0440\u0441\u043a\u0456\u044f \u0430\u0441\u0442\u0440\u0430\u0432\u044b", "FJ": "\u0424\u0456\u0434\u0436\u044b", "PH": "\u0424\u0456\u043b\u0456\u043f\u0456\u043d\u044b", "FI": "\u0424\u0456\u043d\u043b\u044f\u043d\u0434\u044b\u044f", "GF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0430\u044f \u0413\u0432\u0456\u044f\u043d\u0430", "PF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0430\u044f \u041f\u0430\u043b\u0456\u043d\u0435\u0437\u0456\u044f", "TF": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0456\u044f \u043f\u0430\u045e\u0434\u043d\u0451\u0432\u044b\u044f \u0442\u044d\u0440\u044b\u0442\u043e\u0440\u044b\u0456", "FR": "\u0424\u0440\u0430\u043d\u0446\u044b\u044f", "HR": "\u0425\u0430\u0440\u0432\u0430\u0442\u044b\u044f", "CF": "\u0426\u044d\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430-\u0410\u0444\u0440\u044b\u043a\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u044d\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430", "TD": "\u0427\u0430\u0434", "ME": "\u0427\u0430\u0440\u043d\u0430\u0433\u043e\u0440\u044b\u044f", "CL": "\u0427\u044b\u043b\u0456", "CZ": "\u0427\u044d\u0445\u0456\u044f", "CH": "\u0428\u0432\u0435\u0439\u0446\u0430\u0440\u044b\u044f", "SE": "\u0428\u0432\u0435\u0446\u044b\u044f", "SJ": "\u0428\u043f\u0456\u0446\u0431\u0435\u0440\u0433\u0435\u043d \u0456 \u042f\u043d-\u041c\u0430\u0435\u043d", "LK": "\u0428\u0440\u044b-\u041b\u0430\u043d\u043a\u0430", "EC": "\u042d\u043a\u0432\u0430\u0434\u043e\u0440", "GQ": "\u042d\u043a\u0432\u0430\u0442\u0430\u0440\u044b\u044f\u043b\u044c\u043d\u0430\u044f \u0413\u0432\u0456\u043d\u0435\u044f", "ER": "\u042d\u0440\u044b\u0442\u0440\u044d\u044f", "SZ": "\u042d\u0441\u0432\u0430\u0442\u044b\u043d\u0456", "EE": "\u042d\u0441\u0442\u043e\u043d\u0456\u044f", "ET": "\u042d\u0444\u0456\u043e\u043f\u0456\u044f", "JM": "\u042f\u043c\u0430\u0439\u043a\u0430", "JP": "\u042f\u043f\u043e\u043d\u0456\u044f"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/ca.json b/desktop/onionshare/resources/countries/ca.json
new file mode 100644
index 00000000..73cb3724
--- /dev/null
+++ b/desktop/onionshare/resources/countries/ca.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "AL": "Alb\u00e0nia", "DE": "Alemanya", "DZ": "Alg\u00e8ria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Ant\u00e0rtida", "AG": "Antigua i Barbuda", "SA": "Ar\u00e0bia Saudita", "AR": "Argentina", "AM": "Arm\u00e8nia", "AW": "Aruba", "AU": "Austr\u00e0lia", "AT": "\u00c0ustria", "AZ": "Azerbaidjan", "BS": "Bahames", "BH": "Bahrain", "BD": "Bangladesh", "BB": "Barbados", "BY": "Belar\u00fas", "BE": "B\u00e8lgica", "BZ": "Belize", "BJ": "Ben\u00edn", "BM": "Bermudes", "BT": "Bhutan", "BO": "Bol\u00edvia", "BA": "B\u00f2snia i Hercegovina", "BW": "Botswana", "BV": "Bouvet", "BR": "Brasil", "BN": "Brunei", "BG": "Bulg\u00e0ria", "BF": "Burkina Faso", "BI": "Burundi", "KH": "Cambodja", "CM": "Camerun", "CA": "Canad\u00e0", "CV": "Cap Verd", "BQ": "Carib Neerland\u00e8s", "VA": "Ciutat del Vatic\u00e0", "CO": "Col\u00f2mbia", "KM": "Comores", "CG": "Congo - Brazzaville", "CD": "Congo - Kinshasa", "KP": "Corea del Nord", "KR": "Corea del Sud", "CR": "Costa Rica", "CI": "C\u00f4te d\u2019Ivoire", "HR": "Cro\u00e0cia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DK": "Dinamarca", "DJ": "Djibouti", "DM": "Dominica", "EG": "Egipte", "SV": "El Salvador", "AE": "Emirats \u00c0rabs Units", "EC": "Equador", "ER": "Eritrea", "SK": "Eslov\u00e0quia", "SI": "Eslov\u00e8nia", "ES": "Espanya", "US": "Estats Units", "EE": "Est\u00f2nia", "SZ": "eSwatini", "ET": "Eti\u00f2pia", "FJ": "Fiji", "PH": "Filipines", "FI": "Finl\u00e0ndia", "FR": "Fran\u00e7a", "GA": "Gabon", "GM": "G\u00e0mbia", "GE": "Ge\u00f2rgia", "GH": "Ghana", "GI": "Gibraltar", "GR": "Gr\u00e8cia", "GD": "Grenada", "GL": "Groenl\u00e0ndia", "GP": "Guadeloupe", "GF": "Guaiana Francesa", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GW": "Guinea Bissau", "GQ": "Guinea Equatorial", "GY": "Guyana", "HT": "Hait\u00ed", "HN": "Hondures", "HK": "Hong Kong (RAE Xina)", "HU": "Hongria", "YE": "Iemen", "CX": "Illa Christmas", "RE": "Illa de la Reuni\u00f3", "IM": "Illa de Man", "HM": "Illa Heard i Illes McDonald", "AX": "Illes \u00c5land", "KY": "Illes Caiman", "CC": "Illes Cocos", "CK": "Illes Cook", "FO": "Illes F\u00e8roe", "GS": "Illes Ge\u00f2rgia del Sud i Sandwich del Sud", "FK": "Illes Malvines", "PN": "Illes Pitcairn", "SB": "Illes Salom\u00f3", "TC": "Illes Turks i Caicos", "VG": "Illes Verges Brit\u00e0niques", "VI": "Illes Verges Nord-americanes", "IN": "\u00cdndia", "ID": "Indon\u00e8sia", "IR": "Iran", "IQ": "Iraq", "IE": "Irlanda", "IS": "Isl\u00e0ndia", "IL": "Israel", "IT": "It\u00e0lia", "JM": "Jamaica", "JP": "Jap\u00f3", "JO": "Jord\u00e0nia", "KZ": "Kazakhstan", "KE": "Kenya", "KG": "Kirguizistan", "KI": "Kiribati", "KW": "Kuwait", "LA": "Laos", "LS": "Lesotho", "LV": "Let\u00f2nia", "LB": "L\u00edban", "LR": "Lib\u00e8ria", "LY": "L\u00edbia", "LI": "Liechtenstein", "LT": "Litu\u00e0nia", "LU": "Luxemburg", "MO": "Macau (RAE Xina)", "MK": "Maced\u00f2nia del Nord", "MG": "Madagascar", "MY": "Mal\u00e0isia", "MW": "Malawi", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MA": "Marroc", "MQ": "Martinica", "MU": "Maurici", "MR": "Maurit\u00e0nia", "YT": "Mayotte", "MX": "M\u00e8xic", "MZ": "Mo\u00e7ambic", "MD": "Mold\u00e0via", "MC": "M\u00f2naco", "MN": "Mong\u00f2lia", "ME": "Montenegro", "MS": "Montserrat", "MM": "Myanmar (Birm\u00e0nia)", "NA": "Nam\u00edbia", "NR": "Nauru", "NP": "Nepal", "NI": "Nicaragua", "NE": "N\u00edger", "NG": "Nig\u00e8ria", "NU": "Niue", "NF": "Norfolk", "NO": "Noruega", "NC": "Nova Caled\u00f2nia", "NZ": "Nova Zelanda", "OM": "Oman", "NL": "Pa\u00efsos Baixos", "PK": "Pakistan", "PW": "Palau", "PA": "Panam\u00e0", "PG": "Papua Nova Guinea", "PY": "Paraguai", "PE": "Per\u00fa", "PF": "Polin\u00e8sia Francesa", "PL": "Pol\u00f2nia", "PT": "Portugal", "PR": "Puerto Rico", "QA": "Qatar", "GB": "Regne Unit", "CF": "Rep\u00fablica Centreafricana", "ZA": "Rep\u00fablica de Sud-\u00e0frica", "DO": "Rep\u00fablica Dominicana", "RO": "Romania", "RW": "Ruanda", "RU": "R\u00fassia", "EH": "S\u00e0hara Occidental", "BL": "Saint Barth\u00e9lemy", "KN": "Saint Christopher i Nevis", "SH": "Saint Helena", "LC": "Saint Lucia", "MF": "Saint Martin", "VC": "Saint Vincent i les Grenadines", "PM": "Saint-Pierre-et-Miquelon", "WS": "Samoa", "AS": "Samoa Nord-americana", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 i Pr\u00edncipe", "SN": "Senegal", "RS": "S\u00e8rbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapur", "SX": "Sint Maarten", "SY": "S\u00edria", "SO": "Som\u00e0lia", "LK": "Sri Lanka", "SD": "Sudan", "SS": "Sudan del Sud", "SE": "Su\u00e8cia", "CH": "Su\u00efssa", "SR": "Surinam", "SJ": "Svalbard i Jan Mayen", "TJ": "Tadjikistan", "TH": "Tail\u00e0ndia", "TW": "Taiwan", "TZ": "Tanz\u00e0nia", "IO": "Territori Brit\u00e0nic de l\u2019Oce\u00e0 \u00cdndic", "TF": "Territoris Australs Francesos", "TL": "Timor Oriental", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinitat i Tobago", "TN": "Tun\u00edsia", "TM": "Turkmenistan", "TR": "Turquia", "TD": "Txad", "CZ": "Tx\u00e8quia", "UA": "Ucra\u00efna", "UG": "Uganda", "UY": "Uruguai", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Vene\u00e7uela", "VN": "Vietnam", "WF": "Wallis i Futuna", "CL": "Xile", "CN": "Xina", "CY": "Xipre", "ZM": "Z\u00e0mbia", "ZW": "Zimb\u00e0bue"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/fa.json b/desktop/onionshare/resources/countries/fa.json
new file mode 100644
index 00000000..385e37ed
--- /dev/null
+++ b/desktop/onionshare/resources/countries/fa.json
@@ -0,0 +1 @@
+{"AR": "\u0622\u0631\u0698\u0627\u0646\u062a\u06cc\u0646", "AW": "\u0622\u0631\u0648\u0628\u0627", "AL": "\u0622\u0644\u0628\u0627\u0646\u06cc", "DE": "\u0622\u0644\u0645\u0627\u0646", "AG": "\u0622\u0646\u062a\u06cc\u06af\u0648\u0627 \u0648 \u0628\u0627\u0631\u0628\u0648\u062f\u0627", "AD": "\u0622\u0646\u062f\u0648\u0631\u0627", "AO": "\u0622\u0646\u06af\u0648\u0644\u0627", "AI": "\u0622\u0646\u06af\u0648\u06cc\u0644\u0627", "AT": "\u0627\u062a\u0631\u06cc\u0634", "ET": "\u0627\u062a\u06cc\u0648\u067e\u06cc", "JO": "\u0627\u0631\u062f\u0646", "AM": "\u0627\u0631\u0645\u0646\u0633\u062a\u0627\u0646", "UY": "\u0627\u0631\u0648\u06af\u0648\u0626\u0647", "ER": "\u0627\u0631\u06cc\u062a\u0631\u0647", "UZ": "\u0627\u0632\u0628\u06a9\u0633\u062a\u0627\u0646", "ES": "\u0627\u0633\u067e\u0627\u0646\u06cc\u0627", "AU": "\u0627\u0633\u062a\u0631\u0627\u0644\u06cc\u0627", "EE": "\u0627\u0633\u062a\u0648\u0646\u06cc", "IL": "\u0627\u0633\u0631\u0627\u0626\u06cc\u0644", "SK": "\u0627\u0633\u0644\u0648\u0627\u06a9\u06cc", "SI": "\u0627\u0633\u0644\u0648\u0648\u0646\u06cc", "SZ": "\u0627\u0633\u0648\u0627\u062a\u06cc\u0646\u06cc", "ZA": "\u0627\u0641\u0631\u06cc\u0642\u0627\u06cc \u062c\u0646\u0648\u0628\u06cc", "AF": "\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646", "EC": "\u0627\u06a9\u0648\u0627\u062f\u0648\u0631", "DZ": "\u0627\u0644\u062c\u0632\u0627\u06cc\u0631", "SV": "\u0627\u0644\u0633\u0627\u0644\u0648\u0627\u062f\u0648\u0631", "AE": "\u0627\u0645\u0627\u0631\u0627\u062a \u0645\u062a\u062d\u062f\u0647\u0654 \u0639\u0631\u0628\u06cc", "ID": "\u0627\u0646\u062f\u0648\u0646\u0632\u06cc", "UA": "\u0627\u0648\u06a9\u0631\u0627\u06cc\u0646", "UG": "\u0627\u0648\u06af\u0627\u0646\u062f\u0627", "US": "\u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647", "IT": "\u0627\u06cc\u062a\u0627\u0644\u06cc\u0627", "IR": "\u0627\u06cc\u0631\u0627\u0646", "IE": "\u0627\u06cc\u0631\u0644\u0646\u062f", "IS": "\u0627\u06cc\u0633\u0644\u0646\u062f", "BB": "\u0628\u0627\u0631\u0628\u0627\u062f\u0648\u0633", "BS": "\u0628\u0627\u0647\u0627\u0645\u0627", "BH": "\u0628\u062d\u0631\u06cc\u0646", "BR": "\u0628\u0631\u0632\u06cc\u0644", "BM": "\u0628\u0631\u0645\u0648\u062f\u0627", "BN": "\u0628\u0631\u0648\u0646\u0626\u06cc", "GB": "\u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627", "BY": "\u0628\u0644\u0627\u0631\u0648\u0633", "BE": "\u0628\u0644\u0698\u06cc\u06a9", "BG": "\u0628\u0644\u063a\u0627\u0631\u0633\u062a\u0627\u0646", "BZ": "\u0628\u0644\u06cc\u0632", "BD": "\u0628\u0646\u06af\u0644\u0627\u062f\u0634", "BJ": "\u0628\u0646\u06cc\u0646", "BT": "\u0628\u0648\u062a\u0627\u0646", "BW": "\u0628\u0648\u062a\u0633\u0648\u0627\u0646\u0627", "BF": "\u0628\u0648\u0631\u06a9\u06cc\u0646\u0627\u0641\u0627\u0633\u0648", "BI": "\u0628\u0648\u0631\u0648\u0646\u062f\u06cc", "BA": "\u0628\u0648\u0633\u0646\u06cc \u0648 \u0647\u0631\u0632\u06af\u0648\u06cc\u0646", "BO": "\u0628\u0648\u0644\u06cc\u0648\u06cc", "PG": "\u067e\u0627\u067e\u0648\u0627 \u06af\u06cc\u0646\u0647\u0654 \u0646\u0648", "PY": "\u067e\u0627\u0631\u0627\u06af\u0648\u0626\u0647", "PK": "\u067e\u0627\u06a9\u0633\u062a\u0627\u0646", "PW": "\u067e\u0627\u0644\u0627\u0626\u0648", "PA": "\u067e\u0627\u0646\u0627\u0645\u0627", "PT": "\u067e\u0631\u062a\u063a\u0627\u0644", "PE": "\u067e\u0631\u0648", "PF": "\u067e\u0644\u06cc\u200c\u0646\u0632\u06cc \u0641\u0631\u0627\u0646\u0633\u0647", "PR": "\u067e\u0648\u0631\u062a\u0648\u0631\u06cc\u06a9\u0648", "TJ": "\u062a\u0627\u062c\u06cc\u06a9\u0633\u062a\u0627\u0646", "TZ": "\u062a\u0627\u0646\u0632\u0627\u0646\u06cc\u0627", "TH": "\u062a\u0627\u06cc\u0644\u0646\u062f", "TW": "\u062a\u0627\u06cc\u0648\u0627\u0646", "TM": "\u062a\u0631\u06a9\u0645\u0646\u0633\u062a\u0627\u0646", "TR": "\u062a\u0631\u06a9\u06cc\u0647", "TT": "\u062a\u0631\u06cc\u0646\u06cc\u062f\u0627\u062f \u0648 \u062a\u0648\u0628\u0627\u06af\u0648", "TK": "\u062a\u0648\u06a9\u0644\u0627\u0626\u0648", "TG": "\u062a\u0648\u06af\u0648", "TN": "\u062a\u0648\u0646\u0633", "TO": "\u062a\u0648\u0646\u06af\u0627", "TL": "\u062a\u06cc\u0645\u0648\u0631-\u0644\u0633\u062a\u0647", "JM": "\u062c\u0627\u0645\u0627\u0626\u06cc\u06a9\u0627", "GI": "\u062c\u0628\u0644\u200c\u0627\u0644\u0637\u0627\u0631\u0642", "AX": "\u062c\u0632\u0627\u06cc\u0631 \u0622\u0644\u0627\u0646\u062f", "PN": "\u062c\u0632\u0627\u06cc\u0631 \u067e\u06cc\u062a\u200c\u06a9\u0631\u0646", "TC": "\u062c\u0632\u0627\u06cc\u0631 \u062a\u0648\u0631\u06a9\u0633 \u0648 \u06a9\u0627\u06cc\u06a9\u0648\u0633", "SB": "\u062c\u0632\u0627\u06cc\u0631 \u0633\u0644\u06cc\u0645\u0627\u0646", "FO": "\u062c\u0632\u0627\u06cc\u0631 \u0641\u0627\u0631\u0648", "FK": "\u062c\u0632\u0627\u06cc\u0631 \u0641\u0627\u0644\u06a9\u0644\u0646\u062f", "BQ": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0627\u0631\u0627\u0626\u06cc\u0628 \u0647\u0644\u0646\u062f", "CK": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0648\u06a9", "CC": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0648\u06a9\u0648\u0633", "KY": "\u062c\u0632\u0627\u06cc\u0631 \u06a9\u0650\u06cc\u0645\u0646", "VI": "\u062c\u0632\u0627\u06cc\u0631 \u0648\u06cc\u0631\u062c\u06cc\u0646 \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647", "VG": "\u062c\u0632\u0627\u06cc\u0631 \u0648\u06cc\u0631\u062c\u06cc\u0646 \u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627", "BV": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0628\u0648\u0648\u0647", "CX": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u06a9\u0631\u06cc\u0633\u0645\u0633", "IM": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0645\u0646", "NF": "\u062c\u0632\u06cc\u0631\u0647\u0654 \u0646\u0648\u0631\u0641\u0648\u0644\u06a9", "AZ": "\u062c\u0645\u0647\u0648\u0631\u06cc \u0622\u0630\u0631\u0628\u0627\u06cc\u062c\u0627\u0646", "CF": "\u062c\u0645\u0647\u0648\u0631\u06cc \u0627\u0641\u0631\u06cc\u0642\u0627\u06cc \u0645\u0631\u06a9\u0632\u06cc", "DO": "\u062c\u0645\u0647\u0648\u0631\u06cc \u062f\u0648\u0645\u06cc\u0646\u06cc\u06a9\u0646", "AQ": "\u062c\u0646\u0648\u0628\u06af\u0627\u0646", "GS": "\u062c\u0648\u0631\u062c\u06cc\u0627\u06cc \u062c\u0646\u0648\u0628\u06cc \u0648 \u062c\u0632\u0627\u06cc\u0631 \u0633\u0627\u0646\u062f\u0648\u06cc\u0686 \u062c\u0646\u0648\u0628\u06cc", "DJ": "\u062c\u06cc\u0628\u0648\u062a\u06cc", "TD": "\u0686\u0627\u062f", "CZ": "\u0686\u06a9", "CN": "\u0686\u06cc\u0646", "DK": "\u062f\u0627\u0646\u0645\u0627\u0631\u06a9", "DM": "\u062f\u0648\u0645\u06cc\u0646\u06cc\u06a9\u0627", "RE": "\u0631\u0626\u0648\u0646\u06cc\u0648\u0646", "RW": "\u0631\u0648\u0627\u0646\u062f\u0627", "RU": "\u0631\u0648\u0633\u06cc\u0647", "RO": "\u0631\u0648\u0645\u0627\u0646\u06cc", "ZM": "\u0632\u0627\u0645\u0628\u06cc\u0627", "ZW": "\u0632\u06cc\u0645\u0628\u0627\u0628\u0648\u0647", "JP": "\u0698\u0627\u067e\u0646", "ST": "\u0633\u0627\u0626\u0648\u062a\u0648\u0645\u0647 \u0648 \u067e\u0631\u06cc\u0646\u0633\u06cc\u067e", "CI": "\u0633\u0627\u062d\u0644 \u0639\u0627\u062c", "WS": "\u0633\u0627\u0645\u0648\u0622", "AS": "\u0633\u0627\u0645\u0648\u0622\u06cc \u0627\u0645\u0631\u06cc\u06a9\u0627", "SM": "\u0633\u0627\u0646\u200c\u0645\u0627\u0631\u06cc\u0646\u0648", "TF": "\u0633\u0631\u0632\u0645\u06cc\u0646\u200c\u0647\u0627\u06cc \u062c\u0646\u0648\u0628 \u0641\u0631\u0627\u0646\u0633\u0647", "LK": "\u0633\u0631\u06cc\u200c\u0644\u0627\u0646\u06a9\u0627", "BL": "\u0633\u0646 \u0628\u0627\u0631\u062a\u0644\u0645\u06cc", "PM": "\u0633\u0646 \u067e\u06cc\u0631 \u0648 \u0645\u06cc\u06a9\u0644\u0646", "KN": "\u0633\u0646\u062a \u06a9\u06cc\u062a\u0633 \u0648 \u0646\u0648\u06cc\u0633", "LC": "\u0633\u0646\u062a \u0644\u0648\u0633\u06cc\u0627", "SX": "\u0633\u0646\u062a \u0645\u0627\u0631\u062a\u0646", "MF": "\u0633\u0646\u062a \u0645\u0627\u0631\u062a\u06cc\u0646", "VC": "\u0633\u0646\u062a \u0648\u06cc\u0646\u0633\u0646\u062a \u0648 \u06af\u0631\u0646\u0627\u062f\u06cc\u0646", "SH": "\u0633\u0646\u062a \u0647\u0644\u0646", "SG": "\u0633\u0646\u06af\u0627\u067e\u0648\u0631", "SN": "\u0633\u0646\u06af\u0627\u0644", "SJ": "\u0633\u0648\u0627\u0644\u0628\u0627\u0631\u062f \u0648 \u06cc\u0627\u0646 \u0645\u0627\u06cc\u0646", "SE": "\u0633\u0648\u0626\u062f", "CH": "\u0633\u0648\u0626\u06cc\u0633", "SD": "\u0633\u0648\u062f\u0627\u0646", "SS": "\u0633\u0648\u062f\u0627\u0646 \u062c\u0646\u0648\u0628\u06cc", "SR": "\u0633\u0648\u0631\u06cc\u0646\u0627\u0645", "SY": "\u0633\u0648\u0631\u06cc\u0647", "SO": "\u0633\u0648\u0645\u0627\u0644\u06cc", "SL": "\u0633\u06cc\u0631\u0627\u0644\u0626\u0648\u0646", "SC": "\u0633\u06cc\u0634\u0644", "CL": "\u0634\u06cc\u0644\u06cc", "EH": "\u0635\u062d\u0631\u0627\u06cc \u063a\u0631\u0628\u06cc", "RS": "\u0635\u0631\u0628\u0633\u062a\u0627\u0646", "IQ": "\u0639\u0631\u0627\u0642", "SA": "\u0639\u0631\u0628\u0633\u062a\u0627\u0646 \u0633\u0639\u0648\u062f\u06cc", "OM": "\u0639\u0645\u0627\u0646", "GH": "\u063a\u0646\u0627", "FR": "\u0641\u0631\u0627\u0646\u0633\u0647", "FI": "\u0641\u0646\u0644\u0627\u0646\u062f", "FJ": "\u0641\u06cc\u062c\u06cc", "PH": "\u0641\u06cc\u0644\u06cc\u067e\u06cc\u0646", "CY": "\u0642\u0628\u0631\u0633", "KG": "\u0642\u0631\u0642\u06cc\u0632\u0633\u062a\u0627\u0646", "KZ": "\u0642\u0632\u0627\u0642\u0633\u062a\u0627\u0646", "QA": "\u0642\u0637\u0631", "IO": "\u0642\u0644\u0645\u0631\u0648 \u0628\u0631\u06cc\u062a\u0627\u0646\u06cc\u0627 \u062f\u0631 \u0627\u0642\u06cc\u0627\u0646\u0648\u0633 \u0647\u0646\u062f", "CR": "\u06a9\u0627\u0633\u062a\u0627\u0631\u06cc\u06a9\u0627", "NC": "\u06a9\u0627\u0644\u062f\u0648\u0646\u06cc\u0627\u06cc \u062c\u062f\u06cc\u062f", "KH": "\u06a9\u0627\u0645\u0628\u0648\u062c", "CM": "\u06a9\u0627\u0645\u0631\u0648\u0646", "CA": "\u06a9\u0627\u0646\u0627\u062f\u0627", "HR": "\u06a9\u0631\u0648\u0627\u0633\u06cc", "KR": "\u06a9\u0631\u0647\u0654 \u062c\u0646\u0648\u0628\u06cc", "KP": "\u06a9\u0631\u0647\u0654 \u0634\u0645\u0627\u0644\u06cc", "CO": "\u06a9\u0644\u0645\u0628\u06cc\u0627", "CG": "\u06a9\u0646\u06af\u0648 - \u0628\u0631\u0627\u0632\u0648\u06cc\u0644", "CD": "\u06a9\u0646\u06af\u0648 - \u06a9\u06cc\u0646\u0634\u0627\u0633\u0627", "KE": "\u06a9\u0646\u06cc\u0627", "CU": "\u06a9\u0648\u0628\u0627", "CW": "\u06a9\u0648\u0631\u0627\u0633\u0627\u0626\u0648", "KM": "\u06a9\u0648\u0645\u0648\u0631", "KW": "\u06a9\u0648\u06cc\u062a", "CV": "\u06a9\u06cc\u067e\u200c\u0648\u0631\u062f", "KI": "\u06a9\u06cc\u0631\u06cc\u0628\u0627\u062a\u06cc", "GA": "\u06af\u0627\u0628\u0646", "GM": "\u06af\u0627\u0645\u0628\u06cc\u0627", "GE": "\u06af\u0631\u062c\u0633\u062a\u0627\u0646", "GD": "\u06af\u0631\u0646\u0627\u062f\u0627", "GG": "\u06af\u0631\u0646\u0632\u06cc", "GL": "\u06af\u0631\u06cc\u0646\u0644\u0646\u062f", "GT": "\u06af\u0648\u0627\u062a\u0645\u0627\u0644\u0627", "GP": "\u06af\u0648\u0627\u062f\u0644\u0648\u067e", "GU": "\u06af\u0648\u0627\u0645", "GY": "\u06af\u0648\u06cc\u0627\u0646", "GF": "\u06af\u0648\u06cc\u0627\u0646 \u0641\u0631\u0627\u0646\u0633\u0647", "GN": "\u06af\u06cc\u0646\u0647", "GQ": "\u06af\u06cc\u0646\u0647\u0654 \u0627\u0633\u062a\u0648\u0627\u06cc\u06cc", "GW": "\u06af\u06cc\u0646\u0647\u0654 \u0628\u06cc\u0633\u0627\u0626\u0648", "LA": "\u0644\u0627\u0626\u0648\u0633", "LB": "\u0644\u0628\u0646\u0627\u0646", "LV": "\u0644\u062a\u0648\u0646\u06cc", "LS": "\u0644\u0633\u0648\u062a\u0648", "LU": "\u0644\u0648\u06a9\u0632\u0627\u0645\u0628\u0648\u0631\u06af", "PL": "\u0644\u0647\u0633\u062a\u0627\u0646", "LR": "\u0644\u06cc\u0628\u0631\u06cc\u0627", "LY": "\u0644\u06cc\u0628\u06cc", "LT": "\u0644\u06cc\u062a\u0648\u0627\u0646\u06cc", "LI": "\u0644\u06cc\u062e\u062a\u0646\u200c\u0627\u0634\u062a\u0627\u06cc\u0646", "MG": "\u0645\u0627\u062f\u0627\u06af\u0627\u0633\u06a9\u0627\u0631", "MQ": "\u0645\u0627\u0631\u062a\u06cc\u0646\u06cc\u06a9", "MO": "\u0645\u0627\u06a9\u0627\u0626\u0648\u060c \u0645\u0646\u0637\u0642\u0647\u0654 \u0648\u06cc\u0698\u0647\u0654 \u0627\u062f\u0627\u0631\u06cc \u0686\u06cc\u0646", "MW": "\u0645\u0627\u0644\u0627\u0648\u06cc", "MT": "\u0645\u0627\u0644\u062a", "MV": "\u0645\u0627\u0644\u062f\u06cc\u0648", "MY": "\u0645\u0627\u0644\u0632\u06cc", "ML": "\u0645\u0627\u0644\u06cc", "YT": "\u0645\u0627\u06cc\u0648\u062a", "HU": "\u0645\u062c\u0627\u0631\u0633\u062a\u0627\u0646", "MA": "\u0645\u0631\u0627\u06a9\u0634", "EG": "\u0645\u0635\u0631", "MN": "\u0645\u063a\u0648\u0644\u0633\u062a\u0627\u0646", "MK": "\u0645\u0642\u062f\u0648\u0646\u06cc\u0647\u0654 \u0634\u0645\u0627\u0644\u06cc", "MX": "\u0645\u06a9\u0632\u06cc\u06a9", "MR": "\u0645\u0648\u0631\u06cc\u062a\u0627\u0646\u06cc", "MU": "\u0645\u0648\u0631\u06cc\u0633", "MZ": "\u0645\u0648\u0632\u0627\u0645\u0628\u06cc\u06a9", "MD": "\u0645\u0648\u0644\u062f\u0627\u0648\u06cc", "MC": "\u0645\u0648\u0646\u0627\u06a9\u0648", "MS": "\u0645\u0648\u0646\u062a\u200c\u0633\u0631\u0627\u062a", "ME": "\u0645\u0648\u0646\u062a\u0647\u200c\u0646\u06af\u0631\u0648", "MM": "\u0645\u06cc\u0627\u0646\u0645\u0627\u0631 (\u0628\u0631\u0645\u0647)", "NR": "\u0646\u0627\u0626\u0648\u0631\u0648", "NA": "\u0646\u0627\u0645\u06cc\u0628\u06cc\u0627", "NP": "\u0646\u067e\u0627\u0644", "NO": "\u0646\u0631\u0648\u0698", "NE": "\u0646\u06cc\u062c\u0631", "NG": "\u0646\u06cc\u062c\u0631\u06cc\u0647", "NI": "\u0646\u06cc\u06a9\u0627\u0631\u0627\u06af\u0648\u0626\u0647", "NU": "\u0646\u06cc\u0648\u0626\u0647", "NZ": "\u0646\u06cc\u0648\u0632\u06cc\u0644\u0646\u062f", "VA": "\u0648\u0627\u062a\u06cc\u06a9\u0627\u0646", "WF": "\u0648\u0627\u0644\u06cc\u0633 \u0648 \u0641\u0648\u062a\u0648\u0646\u0627", "VU": "\u0648\u0627\u0646\u0648\u0627\u062a\u0648", "VE": "\u0648\u0646\u0632\u0648\u0626\u0644\u0627", "VN": "\u0648\u06cc\u062a\u0646\u0627\u0645", "HT": "\u0647\u0627\u0626\u06cc\u062a\u06cc", "HM": "\u0647\u0631\u062f \u0648 \u062c\u0632\u0627\u06cc\u0631 \u0645\u06a9\u200c\u062f\u0648\u0646\u0627\u0644\u062f", "NL": "\u0647\u0644\u0646\u062f", "IN": "\u0647\u0646\u062f", "HN": "\u0647\u0646\u062f\u0648\u0631\u0627\u0633", "HK": "\u0647\u0646\u06af\u200c\u06a9\u0646\u06af\u060c \u0645\u0646\u0637\u0642\u0647\u0654 \u0648\u06cc\u0698\u0647\u0654 \u0627\u062f\u0627\u0631\u06cc \u0686\u06cc\u0646", "YE": "\u06cc\u0645\u0646", "GR": "\u06cc\u0648\u0646\u0627\u0646"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/it.json b/desktop/onionshare/resources/countries/it.json
new file mode 100644
index 00000000..64cfba68
--- /dev/null
+++ b/desktop/onionshare/resources/countries/it.json
@@ -0,0 +1 @@
+{"AF": "Afghanistan", "AL": "Albania", "DZ": "Algeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antartide", "AG": "Antigua e Barbuda", "SA": "Arabia Saudita", "AR": "Argentina", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AT": "Austria", "AZ": "Azerbaigian", "BS": "Bahamas", "BH": "Bahrein", "BD": "Bangladesh", "BB": "Barbados", "BE": "Belgio", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BY": "Bielorussia", "BO": "Bolivia", "BA": "Bosnia ed Erzegovina", "BW": "Botswana", "BR": "Brasile", "BN": "Brunei", "BG": "Bulgaria", "BF": "Burkina Faso", "BI": "Burundi", "KH": "Cambogia", "CM": "Camerun", "CA": "Canada", "CV": "Capo Verde", "BQ": "Caraibi olandesi", "CZ": "Cechia", "TD": "Ciad", "CL": "Cile", "CN": "Cina", "CY": "Cipro", "VA": "Citt\u00e0 del Vaticano", "CO": "Colombia", "KM": "Comore", "CD": "Congo - Kinshasa", "CG": "Congo-Brazzaville", "KP": "Corea del Nord", "KR": "Corea del Sud", "CI": "Costa d\u2019Avorio", "CR": "Costa Rica", "HR": "Croazia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DK": "Danimarca", "DM": "Dominica", "EC": "Ecuador", "EG": "Egitto", "SV": "El Salvador", "AE": "Emirati Arabi Uniti", "ER": "Eritrea", "EE": "Estonia", "ET": "Etiopia", "FJ": "Figi", "PH": "Filippine", "FI": "Finlandia", "FR": "Francia", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "GS": "Georgia del Sud e Sandwich australi", "DE": "Germania", "GH": "Ghana", "JM": "Giamaica", "JP": "Giappone", "GI": "Gibilterra", "DJ": "Gibuti", "JO": "Giordania", "GR": "Grecia", "GD": "Grenada", "GL": "Groenlandia", "GP": "Guadalupa", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GQ": "Guinea Equatoriale", "GW": "Guinea-Bissau", "GY": "Guyana", "GF": "Guyana francese", "HT": "Haiti", "HN": "Honduras", "IN": "India", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Irlanda", "IS": "Islanda", "BV": "Isola Bouvet", "CX": "Isola Christmas", "IM": "Isola di Man", "NF": "Isola Norfolk", "AX": "Isole \u00c5land", "KY": "Isole Cayman", "CC": "Isole Cocos (Keeling)", "CK": "Isole Cook", "FO": "Isole F\u00e6r \u00d8er", "FK": "Isole Falkland", "HM": "Isole Heard e McDonald", "PN": "Isole Pitcairn", "SB": "Isole Salomone", "TC": "Isole Turks e Caicos", "VI": "Isole Vergini Americane", "VG": "Isole Vergini Britanniche", "IL": "Israele", "IT": "Italia", "KZ": "Kazakistan", "KE": "Kenya", "KG": "Kirghizistan", "KI": "Kiribati", "KW": "Kuwait", "LA": "Laos", "LS": "Lesotho", "LV": "Lettonia", "LB": "Libano", "LR": "Liberia", "LY": "Libia", "LI": "Liechtenstein", "LT": "Lituania", "LU": "Lussemburgo", "MK": "Macedonia del Nord", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldive", "ML": "Mali", "MT": "Malta", "MA": "Marocco", "MQ": "Martinica", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Messico", "MD": "Moldavia", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mozambico", "MM": "Myanmar (Birmania)", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "NO": "Norvegia", "NC": "Nuova Caledonia", "NZ": "Nuova Zelanda", "OM": "Oman", "NL": "Paesi Bassi", "PK": "Pakistan", "PW": "Palau", "PA": "Panam\u00e1", "PG": "Papua Nuova Guinea", "PY": "Paraguay", "PE": "Per\u00f9", "PF": "Polinesia francese", "PL": "Polonia", "PT": "Portogallo", "PR": "Portorico", "QA": "Qatar", "HK": "RAS di Hong Kong", "MO": "RAS di Macao", "GB": "Regno Unito", "CF": "Repubblica Centrafricana", "DO": "Repubblica Dominicana", "RE": "Riunione", "RO": "Romania", "RW": "Ruanda", "RU": "Russia", "EH": "Sahara occidentale", "KN": "Saint Kitts e Nevis", "LC": "Saint Lucia", "MF": "Saint Martin", "VC": "Saint Vincent e Grenadine", "BL": "Saint-Barth\u00e9lemy", "PM": "Saint-Pierre e Miquelon", "WS": "Samoa", "AS": "Samoa americane", "SM": "San Marino", "SH": "Sant\u2019Elena", "ST": "S\u00e3o Tom\u00e9 e Pr\u00edncipe", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "SY": "Siria", "SK": "Slovacchia", "SI": "Slovenia", "SO": "Somalia", "ES": "Spagna", "LK": "Sri Lanka", "US": "Stati Uniti", "SS": "Sud Sudan", "ZA": "Sudafrica", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard e Jan Mayen", "SE": "Svezia", "CH": "Svizzera", "SZ": "Swaziland", "TJ": "Tagikistan", "TW": "Taiwan", "TZ": "Tanzania", "TF": "Terre australi francesi", "IO": "Territorio britannico dell\u2019Oceano Indiano", "TH": "Thailandia", "TL": "Timor Est", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad e Tobago", "TN": "Tunisia", "TR": "Turchia", "TM": "Turkmenistan", "UA": "Ucraina", "UG": "Uganda", "HU": "Ungheria", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vietnam", "WF": "Wallis e Futuna", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sn.json b/desktop/onionshare/resources/countries/sn.json
new file mode 100644
index 00000000..ed46b852
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sn.json
@@ -0,0 +1 @@
+{"AF": "Afuganistani", "AR": "Ajentina", "AX": "\u00c5land Islands", "AL": "Albania", "DZ": "Aljeria", "US": "Amerika", "AD": "Andora", "AO": "Angola", "AI": "Anguila", "AQ": "Antarctica", "AG": "Antigua ne Barbuda", "AM": "Armenia", "AW": "Arubha", "AU": "Australia", "AT": "Austria", "AZ": "Azabajani", "BS": "Bahama", "BH": "Bahareni", "BD": "Bangladeshi", "BB": "Barbados", "BY": "Belarusi", "BZ": "Belize", "BE": "Beljium", "BJ": "Benini", "BM": "Bermuda", "BT": "Bhutani", "BO": "Bolivia", "BW": "Botswana", "BV": "Bouvet Island", "BA": "Boznia ne Herzegovina", "BR": "Brazil", "IO": "British Indian Ocean Territory", "BF": "Bukinafaso", "BG": "Bulgaria", "BI": "Burundi", "BN": "Burunei", "BQ": "Caribbean Netherlands", "CF": "Central African Republic", "TD": "Chadi", "CL": "Chile", "CN": "China", "NF": "Chitsuwa cheNorfolk", "CX": "Christmas Island", "CC": "Cocos (Keeling) Islands", "CU": "Cuba", "CW": "Cura\u00e7ao", "CY": "Cyprus", "CZ": "Czech Republic", "CD": "Democratic Republic of the Congo", "DK": "Denmark", "DJ": "Djibouti", "DM": "Dominica", "DO": "Dominican Republic", "TL": "East Timor", "EC": "Ecuador", "EG": "Egypt", "SV": "El Salvador", "GQ": "Equatorial Guinea", "ER": "Eritrea", "EE": "Estonia", "ET": "Etiopia", "FO": "Faroe Islands", "FJ": "Fiji", "FI": "Finland", "FR": "France", "GF": "French Guiana", "PF": "French Polynesia", "TF": "French Southern Territories", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "DE": "Germany", "GH": "Ghana", "GI": "Gibraltar", "GR": "Greece", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GN": "Guinea", "GW": "Guinea-Bissau", "GY": "Guyana", "HT": "Haiti", "HM": "Heard & McDonald Islands", "HN": "Honduras", "HK": "Hong Kong SAR China", "HU": "Hungary", "IS": "Iceland", "IN": "India", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Ireland", "IM": "Isle of Man", "IT": "Italy", "CI": "Ivory Coast", "IL": "Izuraeri", "JM": "Jamaica", "JP": "Japan", "JO": "Jordan", "KH": "Kambodia", "CM": "Kameruni", "CA": "Kanada", "KZ": "Kazakhstan", "KE": "Kenya", "KI": "Kiribati", "CO": "Kolombia", "KM": "Komoro", "CG": "Kongo", "HR": "Korasia", "KP": "Korea, North", "KR": "Korea, South", "CR": "Kostarika", "KW": "Kuwait", "KG": "Kyrgyzstan", "LA": "Laos", "LV": "Latvia", "LB": "Lebanon", "LS": "Lesotho", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Lithuania", "LU": "Luxembourg", "MO": "Macao SAR China", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MQ": "Martinique", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Mexico", "MD": "Moldova", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MA": "Morocco", "MZ": "Mozambique", "MM": "Myanmar", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NL": "Netherlands", "NC": "New Caledonia", "NZ": "New Zealand", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "MK": "North Macedonia", "NO": "Norway", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "PH": "Philippines", "PN": "Pitcairn", "PL": "Poland", "PT": "Portugal", "PR": "Puerto Rico", "QA": "Qatar", "RE": "R\u00e9union", "RO": "Romania", "RU": "Russia", "RW": "Rwanda", "SH": "Saint Helena", "KN": "Saint Kitts and Nevis", "LC": "Saint Lucia", "PM": "Saint Pierre and Miquelon", "VC": "Saint Vincent and the Grenadines", "WS": "Samoa", "AS": "Samoa ye Amerika", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 and Pr\u00edncipe", "SA": "Saudi Arabia", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "ZA": "South Africa", "GS": "South Georgia & South Sandwich Islands", "SS": "South Sudan", "ES": "Spain", "LK": "Sri Lanka", "BL": "St. Barth\u00e9lemy", "MF": "St. Martin", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard & Jan Mayen", "SZ": "Swaziland", "SE": "Sweden", "CH": "Switzerland", "SY": "Syria", "TW": "Taiwan", "TJ": "Tajikistan", "TZ": "Tanzania", "TH": "Thailand", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad and Tobago", "TN": "Tunisia", "TR": "Turkey", "TM": "Turkmenistan", "UG": "Uganda", "UA": "Ukraine", "AE": "United Arab Emirates", "GB": "United Kingdom", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VA": "Vatican State", "VE": "Venezuela", "VN": "Vietnam", "WF": "Wallis and Futuna", "EH": "Western Sahara", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe", "SB": "Zvitsuwa zvaSolomon", "VI": "Zvitsuwa zveAmerika", "CV": "Zvitsuwa zveCape Verde", "KY": "Zvitsuwa zveCayman", "CK": "Zvitsuwa zveCook", "FK": "Zvitsuwa zveFalklands", "VG": "Zvitsuwa zveHingirandi", "TC": "Zvitsuwa zveTurk neCaico"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sq.json b/desktop/onionshare/resources/countries/sq.json
new file mode 100644
index 00000000..b62bfcd0
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sq.json
@@ -0,0 +1 @@
+{"AF": "Afganistan", "ZA": "Afrika e Jugut", "DZ": "Algjeri", "AD": "Andorr\u00eb", "AO": "Angol\u00eb", "AI": "Anguil\u00eb", "AQ": "Antarktik\u00eb", "AG": "Antigua e Barbuda", "SA": "Arabi Saudite", "AR": "Argjentin\u00eb", "AM": "Armeni", "AW": "Arub\u00eb", "AU": "Australi", "AT": "Austri", "AZ": "Azerbajxhan", "BS": "Bahama", "BH": "Bahrejn", "BD": "Bangladesh", "BB": "Barbados", "BE": "Belgjik\u00eb", "BZ": "Beliz\u00eb", "BJ": "Benin", "BM": "Bermude", "BY": "Bjellorusi", "BO": "Bolivi", "BA": "Bosnj\u00eb-Hercegovin\u00eb", "BW": "Botsvan\u00eb", "BR": "Brazil", "BN": "Brunei", "BG": "Bullgari", "BF": "Burkina-Faso", "BI": "Burundi", "BT": "Butan", "CI": "C\u00f4te d\u2019Ivoire", "TD": "\u00c7ad", "CZ": "\u00c7eki", "DK": "Danimark\u00eb", "DM": "Dominik\u00eb", "EG": "Egjipt", "EC": "Ekuador", "AE": "Emiratet e Bashkuara Arabe", "ER": "Eritre", "EE": "Estoni", "SZ": "Esvatini", "ET": "Etiopi", "PH": "Filipine", "FI": "Finland\u00eb", "FJ": "Fixhi", "FR": "Franc\u00eb", "GA": "Gabon", "GM": "Gambi", "GH": "Gan\u00eb", "GG": "Gernsej", "GD": "Granad\u00eb", "GR": "Greqi", "GL": "Gr\u00ebnland\u00eb", "GP": "Guadelup\u00eb", "GF": "Guajana Franceze", "GY": "Guajan\u00eb", "GU": "Guam", "GT": "Guatemal\u00eb", "GN": "Guine", "GW": "Guine-Bisau", "PG": "Guineja e Re-Papua", "GQ": "Guineja Ekuatoriale", "GE": "Gjeorgji", "DE": "Gjermani", "GI": "Gjibraltar", "HT": "Haiti", "NL": "Holand\u00eb", "HN": "Honduras", "HU": "Hungari", "IN": "Indi", "ID": "Indonezi", "IQ": "Irak", "IR": "Iran", "IE": "Irland\u00eb", "IS": "Island\u00eb", "AX": "Ishujt Aland\u00eb", "VG": "Ishujt e Virgj\u00ebr Britanik\u00eb", "VI": "Ishujt e Virgj\u00ebr t\u00eb SHBA-s\u00eb", "FK": "Ishujt Falkland", "FO": "Ishujt Faroe", "HM": "Ishujt H\u00ebrd e Mekdonald", "KY": "Ishujt Kajman", "CC": "Ishujt Kokos", "CK": "Ishujt Kuk", "PN": "Ishujt Pitkern", "SB": "Ishujt Solomon", "TC": "Ishujt Turks dhe Kaikos", "BV": "Ishulli Bove", "CX": "Ishulli i Krishtlindjes", "IM": "Ishulli i Manit", "NF": "Ishulli Norfolk", "IT": "Itali", "IL": "Izrael", "JP": "Japoni", "YE": "Jemen", "JO": "Jordani", "NC": "Kaledoni e Re", "KH": "Kamboxhia", "CM": "Kamerun", "CA": "Kanada", "BQ": "Karaibet holandeze", "QA": "Katar", "KZ": "Kazakistan", "KE": "Kenia", "CV": "Kepi i Gjelb\u00ebr", "CL": "Kili", "CN": "Kin\u00eb", "KG": "Kirgizi", "KI": "Kiribati", "CO": "Kolumbi", "KM": "Komore", "CG": "Kongo-Brazavil\u00eb", "CD": "Kongo-Kinshasa", "KR": "Kore e Jugut", "KP": "Kore e Veriut", "CR": "Kosta-Rik\u00eb", "HR": "Kroaci", "CU": "Kub\u00eb", "CW": "Kurasao", "KW": "Kuvajt", "LA": "Laos", "LS": "Lesoto", "LV": "Letoni", "LB": "Liban", "LR": "Liberi", "LY": "Libi", "LI": "Lihtenshtajn", "LT": "Lituani", "LU": "Luksemburg", "MG": "Madagaskar", "YT": "Majot\u00eb", "ME": "Mal i Zi", "MY": "Malajzi", "MW": "Malavi", "MV": "Maldive", "ML": "Mali", "MT": "Malt\u00eb", "MK": "Maqedonia e Veriut", "MA": "Marok", "MQ": "Martinik\u00eb", "MR": "Mauritani", "MU": "Mauritius", "GB": "Mbret\u00ebria e Bashkuar", "MX": "Meksik\u00eb", "MM": "Mianmar (Burm\u00eb)", "MD": "Moldavi", "MC": "Monako", "MN": "Mongoli", "MS": "Montserat", "MZ": "Mozambik", "NA": "Namibi", "NR": "Nauru", "NP": "Nepal", "NE": "Niger", "NG": "Nigeri", "NI": "Nikaragua", "NU": "Niue", "NO": "Norvegji", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PY": "Paraguai", "PE": "Peru", "PF": "Polinezia Franceze", "PL": "Poloni", "PR": "Porto-Riko", "PT": "Portugali", "CY": "Qipro", "DO": "Republika Dominikane", "CF": "Republika e Afrik\u00ebs Qendrore", "RE": "Reunion", "HK": "RPA i Hong-Kongut", "MO": "RPA i Makaos", "RW": "Ruand\u00eb", "RO": "Rumani", "RU": "Rusi", "EH": "Saharaja Per\u00ebndimore", "SV": "Salvador", "WS": "Samoa", "AS": "Samoa Amerikane", "SM": "San-Marino", "ST": "Sao-Tome e Principe", "SC": "Sejshelle", "BL": "Sen-Bartelemi", "MF": "Sen-Marten", "SN": "Senegal", "RS": "Serbi", "SL": "Sierra-Leone", "SG": "Singapor", "SX": "Sint-Marten", "SY": "Siri", "SK": "Sllovaki", "SI": "Slloveni", "SO": "Somali", "ES": "Spanj\u00eb", "LK": "Sri-Lank\u00eb", "SD": "Sudan", "SS": "Sudani i Jugut", "SE": "Suedi", "SR": "Surinami", "SJ": "Svalbard e Jan-Majen", "US": "SHBA", "SH": "Sh\u00ebn-Elen\u00eb", "KN": "Sh\u00ebn-Kits dhe Nevis", "LC": "Sh\u00ebn-Lu\u00e7ia", "PM": "Sh\u00ebn-Pier dhe Mikelon", "VC": "Sh\u00ebn-Vincent dhe Grenadine", "AL": "Shqip\u00ebri", "TH": "Tajland\u00eb", "TW": "Tajvan", "TZ": "Tanzani", "TJ": "Taxhikistan", "TF": "Territoret Jugore Franceze", "IO": "Territori Britanik i Oqeanit Indian", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad e Tobago", "TN": "Tunizi", "TM": "Turkmenistan", "TR": "Turqi", "UG": "Ugand\u00eb", "UA": "Ukrain\u00eb", "WF": "Uollis e Futuna", "UY": "Uruguai", "UZ": "Uzbekistan", "VU": "Vanuatu", "VA": "Vatikan", "VE": "Venezuel\u00eb", "VN": "Vietnam", "JM": "Xhamajk\u00eb", "DJ": "Xhibuti", "GS": "Xhorxha Jugore dhe Ishujt Sendui\u00e7\u00eb t\u00eb Jugut", "ZM": "Zambi", "NZ": "Zeland\u00eb e Re", "ZW": "Zimbabve", "CH": "Zvic\u00ebr"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/sw.json b/desktop/onionshare/resources/countries/sw.json
new file mode 100644
index 00000000..af11fd2f
--- /dev/null
+++ b/desktop/onionshare/resources/countries/sw.json
@@ -0,0 +1 @@
+{"AF": "Afghanistan", "ZA": "Afrika Kusini", "IS": "Aisilandi", "AR": "Ajentina", "AL": "Albania", "DZ": "Aljeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AQ": "Antaktiki", "AG": "Antigua na Barbuda", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AT": "Austria", "IE": "Ayalandi", "AZ": "Azerbaijani", "BB": "Babadosi", "BS": "Bahama", "BH": "Bahareni", "BD": "Bangladeshi", "BY": "Belarus", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BO": "Bolivia", "BA": "Bosnia na Hezegovina", "BW": "Botswana", "BR": "Brazil", "BN": "Brunei", "BF": "Bukinafaso", "BG": "Bulgaria", "BI": "Burundi", "CV": "Cape Verde", "TD": "Chad", "CZ": "Chechia", "CL": "Chile", "CI": "Cote d\u2019Ivoire", "HR": "Croatia", "CU": "Cuba", "CW": "Curacao", "CY": "Cyprus", "DK": "Denmark", "DM": "Dominika", "EC": "Ecuador", "SV": "El Salvador", "IO": "Eneo la Uingereza katika Bahari Hindi", "ER": "Eritrea", "EE": "Estonia", "ET": "Ethiopia", "AE": "Falme za Kiarabu", "FJ": "Fiji", "GA": "Gabon", "GM": "Gambia", "GH": "Ghana", "GI": "Gibraltar", "GN": "Gine", "GW": "Ginebisau", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GF": "Guiana ya Ufaransa", "GQ": "Guinea ya Ikweta", "GY": "Guyana", "HT": "Haiti", "TF": "Himaya za Kusini za Kifaranza", "HN": "Honduras", "HK": "Hong Kong SAR China", "HU": "Hungaria", "IN": "India", "ID": "Indonesia", "IQ": "Iraki", "IR": "Iran", "IL": "Israeli", "IT": "Italia", "JM": "Jamaika", "CF": "Jamhuri ya Afrika ya Kati", "DO": "Jamhuri ya Dominika", "CD": "Jamhuri ya Kidemokrasia ya Kongo", "JP": "Japani", "DJ": "Jibuti", "GE": "Jojia", "JO": "Jordan", "KH": "Kambodia", "CM": "Kameruni", "CA": "Kanada", "KZ": "Kazakistani", "KE": "Kenya", "KI": "Kiribati", "KG": "Kirigizistani", "BV": "Kisiwa cha Bouvet", "HM": "Kisiwa cha Heard na Visiwa vya McDonald", "CX": "Kisiwa cha Krismasi", "IM": "Kisiwa cha Man", "NF": "Kisiwa cha Norfolk", "CO": "Kolombia", "KM": "Komoro", "CG": "Kongo - Brazzaville", "KP": "Korea Kaskazini", "KR": "Korea Kusini", "CR": "Kostarika", "KW": "Kuwait", "LA": "Laos", "LV": "Latvia", "LB": "Lebanon", "LS": "Lesoto", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Lithuania", "LU": "Luxembourg", "MG": "Madagaska", "MO": "Makau SAR China", "MW": "Malawi", "MV": "Maldives", "MY": "Malesia", "ML": "Mali", "MT": "Malta", "US": "Marekani", "MQ": "Martinique", "MK": "Masedonia ya Kaskazini", "YT": "Mayotte", "MX": "Meksiko", "EG": "Misri", "VA": "Mji wa Vatican", "MD": "Moldova", "MC": "Monaco", "MN": "Mongolia", "ME": "Montenegro", "MS": "Montserrat", "MU": "Morisi", "MR": "Moritania", "MA": "Morocco", "MZ": "Msumbiji", "MM": "Myanmar (Burma)", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NC": "New Caledonia", "NE": "Niger", "NG": "Nigeria", "NI": "Nikaragwa", "NU": "Niue", "NO": "Norway", "NZ": "Nyuzilandi", "OM": "Oman", "PK": "Pakistani", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "PL": "Poland", "PF": "Polynesia ya Ufaransa", "PR": "Puerto Rico", "QA": "Qatar", "RE": "Reunion", "RO": "Romania", "RW": "Rwanda", "EH": "Sahara Magharibi", "WS": "Samoa", "AS": "Samoa ya Marekani", "SM": "San Marino", "PM": "Santapierre na Miquelon", "ST": "S\u00e3o Tom\u00e9 na Pr\u00edncipe", "SA": "Saudia", "SN": "Senegali", "RS": "Serbia", "SL": "Siera Leoni", "SG": "Singapore", "SX": "Sint Maarten", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "LK": "Sri Lanka", "BL": "St. Barthelemy", "SH": "St. Helena", "KN": "St. Kitts na Nevis", "LC": "St. Lucia", "MF": "St. Martin", "VC": "St. Vincent na Grenadines", "SD": "Sudan", "SS": "Sudan Kusini", "SR": "Suriname", "SJ": "Svalbard na Jan Mayen", "SY": "Syria", "TH": "Tailandi", "TW": "Taiwan", "TJ": "Tajikistani", "TZ": "Tanzania", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "TT": "Trinidad na Tobago", "TN": "Tunisia", "TM": "Turkmenistan", "BE": "Ubelgiji", "CN": "Uchina", "GB": "Ufalme wa Muungano", "FR": "Ufaransa", "PH": "Ufilipino", "FI": "Ufini", "UG": "Uganda", "GR": "Ugiriki", "ES": "Uhispania", "NL": "Uholanzi", "BQ": "Uholanzi ya Karibiani", "DE": "Ujerumani", "UA": "Ukraine", "PT": "Ureno", "UY": "Uruguay", "RU": "Urusi", "SC": "Ushelisheli", "SZ": "Uswazi", "SE": "Uswidi", "CH": "Uswisi", "TR": "Uturuki", "UZ": "Uzibekistani", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vietnam", "AX": "Visiwa vya Aland", "KY": "Visiwa vya Cayman", "CC": "Visiwa vya Cocos (Keeling)", "CK": "Visiwa vya Cook", "FK": "Visiwa vya Falkland", "FO": "Visiwa vya Faroe", "GS": "Visiwa vya Georgia Kusini na Sandwich Kusini", "PN": "Visiwa vya Pitcairn", "SB": "Visiwa vya Solomon", "TC": "Visiwa vya Turks na Caicos", "VI": "Visiwa vya Virgin, Marekani", "VG": "Visiwa vya Virgin, Uingereza", "WF": "Wallis na Futuna", "YE": "Yemeni", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/vi.json b/desktop/onionshare/resources/countries/vi.json
new file mode 100644
index 00000000..11959b30
--- /dev/null
+++ b/desktop/onionshare/resources/countries/vi.json
@@ -0,0 +1 @@
+{"SA": "\u1ea2 R\u1eadp X\u00ea-\u00fat", "AF": "Afghanistan", "EG": "Ai C\u1eadp", "AL": "Albania", "DZ": "Algeria", "AD": "Andorra", "AO": "Angola", "AI": "Anguilla", "AG": "Antigua v\u00e0 Barbuda", "AT": "\u00c1o", "AR": "Argentina", "AM": "Armenia", "AW": "Aruba", "AU": "Australia", "AZ": "Azerbaijan", "IN": "\u1ea4n \u0110\u1ed9", "PL": "Ba Lan", "BS": "Bahamas", "BH": "Bahrain", "BD": "Bangladesh", "BB": "Barbados", "MK": "B\u1eafc Macedonia", "BY": "Belarus", "BZ": "Belize", "BJ": "Benin", "BM": "Bermuda", "BT": "Bhutan", "BE": "B\u1ec9", "BO": "Bolivia", "BA": "Bosnia v\u00e0 Herzegovina", "BW": "Botswana", "PT": "B\u1ed3 \u0110\u00e0o Nha", "BR": "Brazil", "BN": "Brunei", "BG": "Bulgaria", "BF": "Burkina Faso", "BI": "Burundi", "BQ": "Ca-ri-b\u00ea H\u00e0 Lan", "AE": "C\u00e1c Ti\u1ec3u V\u01b0\u01a1ng qu\u1ed1c \u1ea2 R\u1eadp Th\u1ed1ng nh\u1ea5t", "CM": "Cameroon", "KH": "Campuchia", "CA": "Canada", "CV": "Cape Verde", "TD": "Chad", "CL": "Chile", "CO": "Colombia", "KM": "Comoros", "CG": "Congo - Brazzaville", "CD": "Congo - Kinshasa", "CR": "Costa Rica", "DO": "C\u1ed9ng h\u00f2a Dominica", "CF": "C\u1ed9ng h\u00f2a Trung Phi", "CI": "C\u00f4te d\u2019Ivoire", "HR": "Croatia", "CU": "Cuba", "CW": "Cura\u00e7ao", "DJ": "Djibouti", "DM": "Dominica", "TW": "\u0110\u00e0i Loan", "DK": "\u0110an M\u1ea1ch", "BV": "\u0110\u1ea3o Bouvet", "CX": "\u0110\u1ea3o Gi\u00e1ng Sinh", "IM": "\u0110\u1ea3o Man", "NF": "\u0110\u1ea3o Norfolk", "DE": "\u0110\u1ee9c", "EC": "Ecuador", "SV": "El Salvador", "ER": "Eritrea", "EE": "Estonia", "ET": "Ethiopia", "FJ": "Fiji", "GA": "Gabon", "GM": "Gambia", "GE": "Georgia", "GH": "Ghana", "GI": "Gibraltar", "GL": "Greenland", "GD": "Grenada", "GP": "Guadeloupe", "GU": "Guam", "GT": "Guatemala", "GG": "Guernsey", "GF": "Guiana thu\u1ed9c Ph\u00e1p", "GN": "Guinea", "GQ": "Guinea X\u00edch \u0110\u1ea1o", "GW": "Guinea-Bissau", "GY": "Guyana", "NL": "H\u00e0 Lan", "HT": "Haiti", "KR": "H\u00e0n Qu\u1ed1c", "US": "Hoa K\u1ef3", "HN": "Honduras", "HK": "H\u1ed3ng K\u00f4ng, Trung Qu\u1ed1c", "HU": "Hungary", "GR": "Hy L\u1ea1p", "IS": "Iceland", "ID": "Indonesia", "IR": "Iran", "IQ": "Iraq", "IE": "Ireland", "IL": "Israel", "IT": "Italy", "JM": "Jamaica", "JO": "Jordan", "KZ": "Kazakhstan", "KE": "Kenya", "KI": "Kiribati", "KW": "Kuwait", "KG": "Kyrgyzstan", "IO": "L\u00e3nh th\u1ed5 \u1ea4n \u0110\u1ed9 D\u01b0\u01a1ng thu\u1ed9c Anh", "TF": "L\u00e3nh th\u1ed5 ph\u00eda Nam Thu\u1ed9c Ph\u00e1p", "LA": "L\u00e0o", "LV": "Latvia", "LS": "Lesotho", "LB": "Li-b\u0103ng", "LR": "Liberia", "LY": "Libya", "LI": "Liechtenstein", "LT": "Litva", "LU": "Luxembourg", "MA": "Ma-r\u1ed1c", "MO": "Macao, Trung Qu\u1ed1c", "MG": "Madagascar", "MW": "Malawi", "MY": "Malaysia", "MV": "Maldives", "ML": "Mali", "MT": "Malta", "MQ": "Martinique", "MR": "Mauritania", "MU": "Mauritius", "YT": "Mayotte", "MX": "Mexico", "MD": "Moldova", "MC": "Monaco", "ME": "Montenegro", "MS": "Montserrat", "MZ": "Mozambique", "MN": "M\u00f4ng C\u1ed5", "MM": "Myanmar (Mi\u1ebfn \u0110i\u1ec7n)", "NO": "Na Uy", "AQ": "Nam C\u1ef1c", "GS": "Nam Georgia & Qu\u1ea7n \u0111\u1ea3o Nam Sandwich", "ZA": "Nam Phi", "SS": "Nam Sudan", "NA": "Namibia", "NR": "Nauru", "NP": "Nepal", "NC": "New Caledonia", "NZ": "New Zealand", "RU": "Nga", "JP": "Nh\u1eadt B\u1ea3n", "NI": "Nicaragua", "NE": "Niger", "NG": "Nigeria", "NU": "Niue", "OM": "Oman", "PK": "Pakistan", "PW": "Palau", "PA": "Panama", "PG": "Papua New Guinea", "PY": "Paraguay", "PE": "Peru", "FR": "Ph\u00e1p", "FI": "Ph\u1ea7n Lan", "PH": "Philippines", "PF": "Polynesia thu\u1ed9c Ph\u00e1p", "PR": "Puerto Rico", "QA": "Qatar", "AX": "Qu\u1ea7n \u0111\u1ea3o \u00c5land", "KY": "Qu\u1ea7n \u0111\u1ea3o Cayman", "CC": "Qu\u1ea7n \u0111\u1ea3o Cocos (Keeling)", "CK": "Qu\u1ea7n \u0111\u1ea3o Cook", "FK": "Qu\u1ea7n \u0111\u1ea3o Falkland", "FO": "Qu\u1ea7n \u0111\u1ea3o Faroe", "HM": "Qu\u1ea7n \u0111\u1ea3o Heard v\u00e0 McDonald", "PN": "Qu\u1ea7n \u0111\u1ea3o Pitcairn", "SB": "Qu\u1ea7n \u0111\u1ea3o Solomon", "TC": "Qu\u1ea7n \u0111\u1ea3o Turks v\u00e0 Caicos", "VG": "Qu\u1ea7n \u0111\u1ea3o Virgin thu\u1ed9c Anh", "VI": "Qu\u1ea7n \u0111\u1ea3o Virgin thu\u1ed9c M\u1ef9", "RE": "R\u00e9union", "RO": "Romania", "RW": "Rwanda", "PM": "Saint Pierre v\u00e0 Miquelon", "WS": "Samoa", "AS": "Samoa thu\u1ed9c M\u1ef9", "SM": "San Marino", "ST": "S\u00e3o Tom\u00e9 v\u00e0 Pr\u00edncipe", "CZ": "S\u00e9c", "SN": "Senegal", "RS": "Serbia", "SC": "Seychelles", "SL": "Sierra Leone", "SG": "Singapore", "SX": "Sint Maarten", "CY": "S\u00edp", "SK": "Slovakia", "SI": "Slovenia", "SO": "Somalia", "LK": "Sri Lanka", "BL": "St. Barth\u00e9lemy", "SH": "St. Helena", "KN": "St. Kitts v\u00e0 Nevis", "LC": "St. Lucia", "MF": "St. Martin", "VC": "St. Vincent v\u00e0 Grenadines", "SD": "Sudan", "SR": "Suriname", "SJ": "Svalbard v\u00e0 Jan Mayen", "SZ": "Swaziland", "SY": "Syria", "TJ": "Tajikistan", "TZ": "Tanzania", "ES": "T\u00e2y Ban Nha", "EH": "T\u00e2y Sahara", "TH": "Th\u00e1i Lan", "VA": "Th\u00e0nh Vatican", "TR": "Th\u1ed5 Nh\u0129 K\u1ef3", "SE": "Th\u1ee5y \u0110i\u1ec3n", "CH": "Th\u1ee5y S\u0129", "TL": "Timor-Leste", "TG": "Togo", "TK": "Tokelau", "TO": "Tonga", "KP": "Tri\u1ec1u Ti\u00ean", "TT": "Trinidad v\u00e0 Tobago", "CN": "Trung Qu\u1ed1c", "TN": "Tunisia", "TM": "Turkmenistan", "UG": "Uganda", "UA": "Ukraina", "UY": "Uruguay", "UZ": "Uzbekistan", "VU": "Vanuatu", "VE": "Venezuela", "VN": "Vi\u1ec7t Nam", "GB": "V\u01b0\u01a1ng qu\u1ed1c Anh", "WF": "Wallis v\u00e0 Futuna", "YE": "Yemen", "ZM": "Zambia", "ZW": "Zimbabwe"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/countries/zh_Hant.json b/desktop/onionshare/resources/countries/zh_Hant.json
new file mode 100644
index 00000000..b97f9eff
--- /dev/null
+++ b/desktop/onionshare/resources/countries/zh_Hant.json
@@ -0,0 +1 @@
+{"TT": "\u5343\u91cc\u9054\u53ca\u6258\u5df4\u54e5", "TR": "\u571f\u8033\u5176", "TC": "\u571f\u514b\u65af\u53ca\u958b\u79d1\u65af\u7fa4\u5cf6", "TM": "\u571f\u5eab\u66fc", "BT": "\u4e0d\u4e39", "CF": "\u4e2d\u975e\u5171\u548c\u570b", "CN": "\u4e2d\u570b", "HK": "\u4e2d\u570b\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340", "MO": "\u4e2d\u570b\u6fb3\u9580\u7279\u5225\u884c\u653f\u5340", "DK": "\u4e39\u9ea5", "EC": "\u5384\u74dc\u591a", "ER": "\u5384\u5229\u5782\u4e9e", "PG": "\u5df4\u5e03\u4e9e\u7d10\u5e7e\u5167\u4e9e", "BR": "\u5df4\u897f", "BB": "\u5df4\u8c9d\u591a", "PY": "\u5df4\u62c9\u572d", "BH": "\u5df4\u6797", "BS": "\u5df4\u54c8\u99ac", "PA": "\u5df4\u62ff\u99ac", "PK": "\u5df4\u57fa\u65af\u5766", "JP": "\u65e5\u672c", "BE": "\u6bd4\u5229\u6642", "JM": "\u7259\u8cb7\u52a0", "IL": "\u4ee5\u8272\u5217", "CA": "\u52a0\u62ff\u5927", "GA": "\u52a0\u5f6d", "MK": "\u5317\u99ac\u5176\u9813", "KP": "\u5317\u97d3", "QA": "\u5361\u9054", "CU": "\u53e4\u5df4", "TW": "\u53f0\u7063", "SZ": "\u53f2\u74e6\u5e1d\u5c3c", "NE": "\u5c3c\u65e5", "NI": "\u5c3c\u52a0\u62c9\u74dc", "NP": "\u5c3c\u6cca\u723e", "BF": "\u5e03\u5409\u7d0d\u6cd5\u7d22", "BV": "\u5e03\u5a01\u5cf6", "GP": "\u74dc\u5730\u6d1b\u666e", "GT": "\u74dc\u5730\u99ac\u62c9", "WF": "\u74e6\u5229\u65af\u7fa4\u5cf6\u548c\u5bcc\u5716\u90a3\u7fa4\u5cf6", "GM": "\u7518\u6bd4\u4e9e", "BY": "\u767d\u4fc4\u7f85\u65af", "PN": "\u76ae\u7279\u80af\u7fa4\u5cf6", "LT": "\u7acb\u9676\u5b9b", "IQ": "\u4f0a\u62c9\u514b", "IR": "\u4f0a\u6717", "IS": "\u51b0\u5cf6", "LI": "\u5217\u652f\u6566\u65af\u767b", "HU": "\u5308\u7259\u5229", "ID": "\u5370\u5c3c", "IN": "\u5370\u5ea6", "DJ": "\u5409\u5e03\u5730", "KI": "\u5409\u91cc\u5df4\u65af", "KG": "\u5409\u723e\u5409\u65af", "DM": "\u591a\u7c73\u5c3c\u514b", "DO": "\u591a\u660e\u5c3c\u52a0\u5171\u548c\u570b", "TG": "\u591a\u54e5", "AG": "\u5b89\u5730\u5361\u53ca\u5df4\u5e03\u9054", "AI": "\u5b89\u594e\u62c9", "AO": "\u5b89\u54e5\u62c9", "AD": "\u5b89\u9053\u723e", "TK": "\u6258\u514b\u52de\u7fa4\u5cf6", "BM": "\u767e\u6155\u9054", "ET": "\u8863\u7d22\u6bd4\u4e9e", "ES": "\u897f\u73ed\u7259", "EH": "\u897f\u6492\u54c8\u62c9", "HR": "\u514b\u7f85\u57c3\u897f\u4e9e", "LY": "\u5229\u6bd4\u4e9e", "HN": "\u5b8f\u90fd\u62c9\u65af", "GR": "\u5e0c\u81d8", "BN": "\u6c76\u840a", "SA": "\u6c99\u70cf\u5730\u963f\u62c9\u4f2f", "BZ": "\u8c9d\u91cc\u65af", "BJ": "\u8c9d\u5357", "GQ": "\u8d64\u9053\u5e7e\u5167\u4e9e", "ZW": "\u8f9b\u5df4\u5a01", "AM": "\u4e9e\u7f8e\u5c3c\u4e9e", "AZ": "\u4e9e\u585e\u62dc\u7136", "TZ": "\u5766\u5c1a\u5c3c\u4e9e", "NG": "\u5948\u53ca\u5229\u4e9e", "VE": "\u59d4\u5167\u745e\u62c9", "BD": "\u5b5f\u52a0\u62c9", "ZM": "\u5c1a\u6bd4\u4e9e", "PW": "\u5e1b\u7409", "LV": "\u62c9\u812b\u7dad\u4e9e", "TO": "\u6771\u52a0", "TL": "\u6771\u5e1d\u6c76", "FR": "\u6cd5\u570b", "FO": "\u6cd5\u7f85\u7fa4\u5cf6", "GF": "\u6cd5\u5c6c\u572d\u4e9e\u90a3", "TF": "\u6cd5\u5c6c\u5357\u90e8\u5c6c\u5730", "PF": "\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e", "MF": "\u6cd5\u5c6c\u8056\u99ac\u4e01", "BA": "\u6ce2\u58eb\u5c3c\u4e9e\u8207\u8d6b\u585e\u54e5\u7dad\u7d0d", "BW": "\u6ce2\u672d\u90a3", "PR": "\u6ce2\u591a\u9ece\u5404", "PL": "\u6ce2\u862d", "GI": "\u76f4\u5e03\u7f85\u9640", "KE": "\u80af\u4e9e", "FI": "\u82ac\u862d", "AE": "\u963f\u62c9\u4f2f\u806f\u5408\u5927\u516c\u570b", "AR": "\u963f\u6839\u5ef7", "OM": "\u963f\u66fc", "AF": "\u963f\u5bcc\u6c57", "DZ": "\u963f\u723e\u53ca\u5229\u4e9e", "AL": "\u963f\u723e\u5df4\u5c3c\u4e9e", "RU": "\u4fc4\u7f85\u65af", "BG": "\u4fdd\u52a0\u5229\u4e9e", "ZA": "\u5357\u975e", "GS": "\u5357\u55ac\u6cbb\u4e9e\u8207\u5357\u4e09\u660e\u6cbb\u7fa4\u5cf6", "AQ": "\u5357\u6975\u6d32", "KR": "\u5357\u97d3", "SS": "\u5357\u8607\u4e39", "KZ": "\u54c8\u85a9\u514b", "TD": "\u67e5\u5fb7", "KH": "\u67ec\u57d4\u5be8", "BO": "\u73bb\u5229\u7dad\u4e9e", "CC": "\u79d1\u514b\u65af\uff08\u57fa\u9748\uff09\u7fa4\u5cf6", "KW": "\u79d1\u5a01\u7279", "TN": "\u7a81\u5c3c\u897f\u4e9e", "JO": "\u7d04\u65e6", "US": "\u7f8e\u570b", "VI": "\u7f8e\u5c6c\u7dad\u4eac\u7fa4\u5cf6", "AS": "\u7f8e\u5c6c\u85a9\u6469\u4e9e", "GB": "\u82f1\u570b", "IO": "\u82f1\u5c6c\u5370\u5ea6\u6d0b\u9818\u5730", "VG": "\u82f1\u5c6c\u7dad\u4eac\u7fa4\u5cf6", "MR": "\u8305\u5229\u5854\u5c3c\u4e9e", "GH": "\u8fe6\u7d0d", "CG": "\u525b\u679c\uff08\u5e03\u62c9\u85a9\uff09", "CD": "\u525b\u679c\uff08\u91d1\u590f\u6c99\uff09", "CO": "\u54e5\u502b\u6bd4\u4e9e", "CR": "\u54e5\u65af\u5927\u9ece\u52a0", "EG": "\u57c3\u53ca", "CK": "\u5eab\u514b\u7fa4\u5cf6", "CW": "\u5eab\u62c9\u7d22", "NO": "\u632a\u5a01", "SJ": "\u632a\u5a01\u5c6c\u65af\u74e6\u5df4\u53ca\u5c16\u68c9", "GG": "\u6839\u606f", "GL": "\u683c\u9675\u862d", "GD": "\u683c\u745e\u90a3\u9054", "TH": "\u6cf0\u570b", "HT": "\u6d77\u5730", "UG": "\u70cf\u5e72\u9054", "UA": "\u70cf\u514b\u862d", "UY": "\u70cf\u62c9\u572d", "UZ": "\u70cf\u8332\u5225\u514b", "RE": "\u7559\u5c3c\u65fa", "PE": "\u79d8\u9b6f", "NA": "\u7d0d\u7c73\u6bd4\u4e9e", "NZ": "\u7d10\u897f\u862d", "NU": "\u7d10\u57c3\u5cf6", "SO": "\u7d22\u99ac\u5229\u4e9e", "SB": "\u7d22\u7f85\u9580\u7fa4\u5cf6", "MQ": "\u99ac\u4e01\u5c3c\u514b", "ML": "\u99ac\u5229", "MY": "\u99ac\u4f86\u897f\u4e9e", "MW": "\u99ac\u62c9\u5a01", "YT": "\u99ac\u7d04\u7279\u5cf6", "MG": "\u99ac\u9054\u52a0\u65af\u52a0", "MT": "\u99ac\u723e\u4ed6", "MV": "\u99ac\u723e\u5730\u592b", "CZ": "\u6377\u514b", "SY": "\u6558\u5229\u4e9e", "IM": "\u66fc\u5cf6", "VA": "\u68b5\u8482\u5ca1", "AW": "\u8377\u5c6c\u963f\u9b6f\u5df4", "SX": "\u8377\u5c6c\u8056\u99ac\u4e01", "NL": "\u8377\u862d", "BQ": "\u8377\u862d\u52a0\u52d2\u6bd4\u5340", "MZ": "\u83ab\u4e09\u6bd4\u514b", "CM": "\u5580\u9ea5\u9686", "GE": "\u55ac\u6cbb\u4e9e", "GN": "\u5e7e\u5167\u4e9e", "GW": "\u5e7e\u5167\u4e9e\u6bd4\u7d22", "FJ": "\u6590\u6fdf", "LK": "\u65af\u91cc\u862d\u5361", "SK": "\u65af\u6d1b\u4f10\u514b", "SI": "\u65af\u6d1b\u7dad\u5c3c\u4e9e", "CL": "\u667a\u5229", "PH": "\u83f2\u5f8b\u8cd3", "CI": "\u8c61\u7259\u6d77\u5cb8", "VN": "\u8d8a\u5357", "KY": "\u958b\u66fc\u7fa4\u5cf6", "TJ": "\u5854\u5409\u514b", "SN": "\u585e\u5167\u52a0\u723e", "SC": "\u585e\u5e2d\u723e", "RS": "\u585e\u723e\u7dad\u4e9e", "AT": "\u5967\u5730\u5229", "AX": "\u5967\u862d\u7fa4\u5cf6", "EE": "\u611b\u6c99\u5c3c\u4e9e", "IE": "\u611b\u723e\u862d", "SG": "\u65b0\u52a0\u5761", "NC": "\u65b0\u5580\u91cc\u591a\u5c3c\u4e9e", "SL": "\u7345\u5b50\u5c71", "CH": "\u745e\u58eb", "SE": "\u745e\u5178", "VU": "\u842c\u90a3\u675c", "IT": "\u7fa9\u5927\u5229", "BL": "\u8056\u5df4\u745f\u7c73", "VC": "\u8056\u6587\u68ee\u53ca\u683c\u745e\u90a3\u4e01", "PM": "\u8056\u76ae\u57c3\u8207\u5bc6\u514b\u9686\u7fa4\u5cf6", "ST": "\u8056\u591a\u7f8e\u666e\u6797\u897f\u6bd4", "KN": "\u8056\u514b\u91cc\u65af\u591a\u798f\u53ca\u5c3c\u7dad\u65af", "SM": "\u8056\u99ac\u5229\u8afe", "SH": "\u8056\u8d6b\u52d2\u62ff\u5cf6", "CX": "\u8056\u8a95\u5cf6", "LC": "\u8056\u9732\u897f\u4e9e", "YE": "\u8449\u9580", "KM": "\u845b\u6469", "PT": "\u8461\u8404\u7259", "FK": "\u798f\u514b\u862d\u7fa4\u5cf6", "CV": "\u7dad\u5fb7\u89d2", "MN": "\u8499\u53e4", "MS": "\u8499\u54f2\u81d8", "ME": "\u8499\u7279\u5167\u54e5\u7f85", "BI": "\u84b2\u9686\u5730", "GY": "\u84cb\u4e9e\u90a3", "HM": "\u8d6b\u5fb7\u5cf6\u53ca\u9ea5\u5510\u7d0d\u7fa4\u5cf6", "LA": "\u5bee\u570b", "DE": "\u5fb7\u570b", "MA": "\u6469\u6d1b\u54e5", "MC": "\u6469\u7d0d\u54e5", "MD": "\u6469\u723e\u591a\u74e6", "MU": "\u6a21\u91cc\u897f\u65af", "MM": "\u7dec\u7538", "LB": "\u9ece\u5df4\u5ae9", "MX": "\u58a8\u897f\u54e5", "AU": "\u6fb3\u6d32", "RW": "\u76e7\u5b89\u9054", "LU": "\u76e7\u68ee\u5821", "NF": "\u8afe\u798f\u514b\u5cf6", "NR": "\u8afe\u9b6f", "LR": "\u8cf4\u6bd4\u745e\u4e9e", "LS": "\u8cf4\u7d22\u6258", "CY": "\u8cfd\u666e\u52d2\u65af", "SV": "\u85a9\u723e\u74e6\u591a", "WS": "\u85a9\u6469\u4e9e", "RO": "\u7f85\u99ac\u5c3c\u4e9e", "GU": "\u95dc\u5cf6", "SD": "\u8607\u4e39", "SR": "\u8607\u5229\u5357"} \ No newline at end of file
diff --git a/desktop/onionshare/resources/locale/bg.json b/desktop/onionshare/resources/locale/bg.json
index 3c2b7464..f46ba1ec 100644
--- a/desktop/onionshare/resources/locale/bg.json
+++ b/desktop/onionshare/resources/locale/bg.json
@@ -1,68 +1,68 @@
{
- "not_a_readable_file": "Файлът {0:s} няма права за четене.",
- "other_page_loaded": "Зареден адрес",
- "close_on_autostop_timer": "Услугата е изключена поради достигнато време за автоматично изключване",
- "closing_automatically": "Изтеглянето е завършено, услугата е спряна",
- "large_filesize": "Предупреждение: изпращането са голям обем от данни може да отнеме часове",
+ "not_a_readable_file": "{0:s} не е четаем файл.",
+ "other_page_loaded": "Адресът е зареден",
+ "close_on_autostop_timer": "Спряно, защото автоматично спиращият таймер приключи",
+ "closing_automatically": "Спряно, защото свалянето приключи",
+ "large_filesize": "Предупреждение: изпращане на голям дял може да отнеме часове",
"systray_menu_exit": "Изход",
- "gui_drag_and_drop": "Плъзнете и пуснете тук файловете и папките, които искате да споделяте",
- "gui_add": "Добавяне",
+ "gui_drag_and_drop": "Плъзнете и пуснете файлове и папки за да започнете споделяне",
+ "gui_add": "Добавете",
"gui_choose_items": "Изберете",
- "gui_share_start_server": "Споделяне",
- "gui_share_stop_server": "Изключване на споделянето",
- "gui_share_stop_server_autostop_timer": "Изключване на споделянето ({})",
- "gui_receive_start_server": "Включване на режим получаване",
- "gui_receive_stop_server": "Изключване на режим получаване",
- "gui_receive_stop_server_autostop_timer": "Изключване на режим получаване (остават {})",
- "gui_copy_url": "Копиране на адреса",
- "gui_canceled": "Отказано",
- "gui_copied_url_title": "Адресът на OnionShare е копиран",
- "gui_copied_url": "Адресът на OnionShare е копиран",
- "gui_please_wait": "Включване… Щракнете за отменяне.",
+ "gui_share_start_server": "Започнете споделянето",
+ "gui_share_stop_server": "Спрете споделянето",
+ "gui_share_stop_server_autostop_timer": "Спрете споделянето ({} остават)",
+ "gui_receive_start_server": "Стартирайте получаващ режим",
+ "gui_receive_stop_server": "Спрете получаващия режим",
+ "gui_receive_stop_server_autostop_timer": "Спрете получаващия режим ({} остават)",
+ "gui_copy_url": "Копирайте адрес",
+ "gui_canceled": "Отменен",
+ "gui_copied_url_title": "OnionShare адресът е копиран",
+ "gui_copied_url": "OnionShare адресът е копиран към клипборда",
+ "gui_please_wait": "Започва... кликни за отменяне.",
"gui_quit_warning_quit": "Изход",
- "zip_progress_bar_format": "Компресиране: %p%",
+ "zip_progress_bar_format": "Компресира: %p%",
"gui_settings_window_title": "Настройки",
- "gui_settings_autoupdate_label": "Проверка за обновяване",
- "gui_settings_autoupdate_option": "Известие при ново издание",
+ "gui_settings_autoupdate_label": "Провери за нова версия",
+ "gui_settings_autoupdate_option": "Уведоми ме, когато е налице нова версия",
"gui_settings_autoupdate_timestamp": "Последна проверка: {}",
"gui_settings_autoupdate_timestamp_never": "Никога",
- "gui_settings_autoupdate_check_button": "Проверяване за ново издание",
- "gui_settings_connection_type_label": "Как OnionShare да се свързва с мрежата на Тор?",
- "gui_settings_connection_type_bundled_option": "Използване на вграденото в OnionShare издание на Тор",
- "gui_settings_connection_type_automatic_option": "Опитване на автоматична настройка чрез четеца Тор",
- "gui_settings_connection_type_control_port_option": "Свързване, чрез порт за управление",
- "gui_settings_connection_type_socket_file_option": "Свързване, чрез файл на сокет",
- "gui_settings_connection_type_test_button": "Проверка на връзката към Тор",
- "gui_settings_control_port_label": "Порт за управление",
- "gui_settings_socket_file_label": "Файл на сокет",
- "gui_settings_socks_label": "Порт на SOCKS",
- "gui_settings_authenticate_no_auth_option": "Без удостоверяване, нито с бисквитка",
+ "gui_settings_autoupdate_check_button": "Проверете за нова версия",
+ "gui_settings_connection_type_label": "Как OnionShare да се свържe с Тор?",
+ "gui_settings_connection_type_bundled_option": "Използвай Тор версия, вградена в OnionShare",
+ "gui_settings_connection_type_automatic_option": "Опит за автоматична конфигурация с Тор браузъра",
+ "gui_settings_connection_type_control_port_option": "Свържете, използвайки контролен порт",
+ "gui_settings_connection_type_socket_file_option": "Свържете се използвайки сокет",
+ "gui_settings_connection_type_test_button": "Тест на връзката с Тор",
+ "gui_settings_control_port_label": "Контролен порт",
+ "gui_settings_socket_file_label": "Сокет файл",
+ "gui_settings_socks_label": "SOCKS порт",
+ "gui_settings_authenticate_no_auth_option": "Без автентикация или cookie автентикация",
"gui_settings_authenticate_password_option": "Парола",
"gui_settings_password_label": "Парола",
- "gui_settings_tor_bridges": "Свързване, чрез мостове на Тор?",
- "gui_settings_meek_lite_expensive_warning": "Внимание: Проектът Тор бива таксуван при всяко ползване на мостовете meek-azure.<br><br>За това ги използвайте само ако не можете да се свържете с Тор директно, чрез obfs4 или обикновени мостове.",
- "gui_settings_tor_bridges_invalid": "Нито един от въведените от вас мостове не работи. Проверете ги или добавете други.",
+ "gui_settings_tor_bridges": "Поддръжка на Тор мост",
+ "gui_settings_meek_lite_expensive_warning": "Предупреждение: meek_lite мостовета са много скъпи за проекта Тор. <br> <br> Използвайте ги само, ако не можете да се свържете пряко чрез obfs4 транспорти или други нормални мостове с Тор.",
+ "gui_settings_tor_bridges_invalid": "Нито един от добавените от Вас мостове работят.\nПроверете ги отново или добавете други.",
"gui_settings_button_save": "Запазване",
"gui_settings_button_cancel": "Отказ",
"gui_settings_button_help": "Помощ",
- "settings_error_unknown": "Грешка при свързване с контролер на Тор поради грешни настройки.",
- "settings_error_automatic": "Грешка при свързване с контролер на Тор. Четецът Тор (достъпен от torproject. org) работи ли?",
- "settings_error_socket_port": "Грешка при свързване с контролер на Тор в {}:{}.",
- "settings_error_socket_file": "Грешка при свързване с контролер на Тор чрез файла на сокет {}.",
- "settings_error_auth": "Свързано с {}:{}, грешка при удостоверяване. Може би това не е контролер на Тор?",
- "settings_error_missing_password": "Свързан с контролер на Тор, но той изисква парола за удостоверяване.",
- "settings_error_unreadable_cookie_file": "Свързан с Тор контролер, но паролата е грешна, или на потребителя ви да не е позволено да чете файла с бисквитките.",
- "settings_error_bundled_tor_not_supported": "Изданието Тор, вградено в OnionShare не работи в режим на разработчик под Windows или macOS.",
- "settings_error_bundled_tor_timeout": "Установяването на връзка с мрежата на Тор отнема твърде много време. Уверете се, че има връзка с интернет и системният часовник е верен.",
- "settings_error_bundled_tor_broken": "OnionShare не може да се свърже с Тор във фонов режим:\n{}",
- "settings_test_success": "Свързан с контролер на Тор.\n\nИздание на Тор: {}\nПоддържа временни услуги на Onion: {}\nПоддържа удостоверяване на клиента: {}\nПоддържа следващо поколение адреси .onion: {}.",
- "error_tor_protocol_error": "Възникнала е грешка в Тор: {}",
- "connecting_to_tor": "Свързване към мрежата на Тор",
- "update_available": "Има ново издание на OnionShare. За да го изтеглите <a href='{}'>щракнете тук</a>.<br><br>Използвате {}, последно издание {}.",
- "update_error_check_error": "Грешка при проверка за ново издание: вероятно не сте свързани към Тор или страницата на OnionShare е недостъпна.",
- "update_error_invalid_latest_version": "Грешка при проверка за ново издание: страницата на OnionShare съобщава, че новото издание е неразпознато: '{}'…",
- "update_not_available": "Изпозвате псоледното издание на OnionShare.",
- "gui_tor_connection_ask": "За да бъде възстановена връзката с Тор да бъдат ли отворени настройките?",
+ "settings_error_unknown": "Не мога да се свържа с Тор контролера, защото Вашите настройки не правят смисъл.",
+ "settings_error_automatic": "Не мога да се свържа с Тор контролера. Стартиран ли е Тор браузерът във фонов режим (достъпен от torproject. org)?",
+ "settings_error_socket_port": "Не мога да се свържа с Тор контролера в {}:{}.",
+ "settings_error_socket_file": "Не мога да се свържа с Тор контролера, използвайки сокет файл {}.",
+ "settings_error_auth": "Свързан с {}:{}, но не може да се идентифицира. Може би това не е Тор контролер?",
+ "settings_error_missing_password": "Свързан с Тор контролер, но той изисква парола за идентификация.",
+ "settings_error_unreadable_cookie_file": "Свързан с Тор контролер, но паролата може да е грешна, или на Вашият потребител да не е позволено да чете бисквитката файл.",
+ "settings_error_bundled_tor_not_supported": "Използване на Тор версия, идваща с OnionShare не работи в режим на разработчик под Windows или macOS.",
+ "settings_error_bundled_tor_timeout": "Oтнема прекалено дълго време да се свържа с Тор. Може би не сте свързани с интернет или системният часовник е неточен?",
+ "settings_error_bundled_tor_broken": "OnionShare не можа да се свърже с Тор във фонов режим:\n{}",
+ "settings_test_success": "Свързан с Тор контролер.\n\nТор версия: {}\nПоддържа ephemeral onion services: {}\nПоддържа клиент автентикация: {}\nПоддържа следваща генерация .onion адреси: {}",
+ "error_tor_protocol_error": "Станала е грешка с Тор: {}",
+ "connecting_to_tor": "Свързване към Тор мрежата",
+ "update_available": "Има нов OnionShare. <a href='{}'>Кликнете тук</a>, за да го изтеглите.<br><br>Вие използвате {}, а последният е {}.",
+ "update_error_check_error": "Не мога да проверя за нови версии: OnionShare сайтът казва, че не разпознава последната версия '{}'…",
+ "update_error_invalid_latest_version": "Не мога да проверя за нова версия: Може би не сте свързани към Тор или OnionShare уебсайтът е изключен?",
+ "update_not_available": "Вие изпозвате псоледната версия на OnionShare.",
+ "gui_tor_connection_ask": "Отворете настройките, за да възстановите връзката с Тор?",
"gui_tor_connection_ask_open_settings": "Да",
"gui_tor_connection_ask_quit": "Изход",
"gui_tor_connection_error_settings": "Опитайте да промените в настройките как OnionShare се свързва с Тор.",
@@ -85,10 +85,10 @@
"gui_status_indicator_receive_started": "Получаване",
"gui_file_info": "{} файла, {}",
"gui_file_info_single": "{} файл, {}",
- "history_in_progress_tooltip": "{} в изпълнение",
- "history_completed_tooltip": "{} завършени",
- "gui_receive_mode_warning": "Режимът на получаване дава възможност на други хора да качват файлове на вашето устройство.<br><br><b>Някои файлове, ако бъдат отворени, биха могли да поемат контрола върху устройството ви. Отваряйте файлове само от хора, на които имате доверие, или ако знаете какво правите.</b>",
- "systray_page_loaded_title": "Отворена е страница",
+ "history_in_progress_tooltip": "{} е в прогрес",
+ "history_completed_tooltip": "{} завършено",
+ "gui_receive_mode_warning": "Режим на приемане позволява на хора да качват файлове на Вашия компютър.<br><br><b>Някои файлове могат потенциално да поемат контрол над компютъра Ви, ако ги отворите. Отваряйте единствено неща от хора, на които вярвате или ако знаете какво правите.</b>",
+ "systray_page_loaded_title": "OnionShare страницата е заредена",
"gui_settings_language_label": "Предпочитан език",
"gui_settings_language_changed_notice": "За да влезе в сила промяната на езика е необходим рестарт на OnionShare.",
"incorrect_password": "Невярна парола",
diff --git a/desktop/onionshare/resources/locale/en.json b/desktop/onionshare/resources/locale/en.json
index a94325f0..375c4bc7 100644
--- a/desktop/onionshare/resources/locale/en.json
+++ b/desktop/onionshare/resources/locale/en.json
@@ -151,6 +151,7 @@
"history_requests_tooltip": "{} web requests",
"error_cannot_create_data_dir": "Could not create OnionShare data folder: {}",
"gui_receive_mode_warning": "Receive mode lets people upload files to your computer.<br><br><b>Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.</b>",
+ "gui_chat_mode_explainer": "Chat mode lets you chat interactively with others, in Tor Browser.<br><br><b>Chat history is not stored in OnionShare. The chat history will disappear when you close Tor Browser.</b>",
"gui_open_folder_error": "Could not open the folder with xdg-open. The file is here: {}",
"gui_settings_language_label": "Language",
"gui_settings_theme_label": "Theme",
@@ -205,7 +206,7 @@
"gui_close_tab_warning_receive_description": "Close tab that is receiving files?",
"gui_close_tab_warning_chat_description": "Close tab that is hosting a chat server?",
"gui_close_tab_warning_website_description": "Close tab that is hosting a website?",
- "gui_close_tab_warning_close": "Close",
+ "gui_close_tab_warning_close": "Ok",
"gui_close_tab_warning_cancel": "Cancel",
"gui_quit_warning_title": "Quit OnionShare?",
"gui_quit_warning_description": "Quit and close all tabs, even though sharing is active in some of them?",
diff --git a/desktop/onionshare/resources/locale/pt_BR.json b/desktop/onionshare/resources/locale/pt_BR.json
index b79e73c3..0abd2a9f 100644
--- a/desktop/onionshare/resources/locale/pt_BR.json
+++ b/desktop/onionshare/resources/locale/pt_BR.json
@@ -253,6 +253,5 @@
"gui_autoconnect_bridge_detect_manual": "Selecione meu país para configurações de ponte manualmente",
"gui_autoconnect_could_not_connect_to_tor_api": "Não foi possível conectar-se à API do Tor. Verifique se você está conectado à Internet antes de tentar novamente.",
"gui_autoconnect_circumventing_censorship_starting_meek": "Estabelecendo uma ponte meek para fronting de domínio…",
- "gui_close_tab_warning_chat_description": "Fechar a guia que está hospedando um servidor de bate-papo?",
- "waitress_web_server_error": "Ocorreu um problema ao iniciar o servidor web"
+ "gui_close_tab_warning_chat_description": "Fechar a guia que está hospedando um servidor de bate-papo?"
}
diff --git a/desktop/onionshare/tab/mode/chat_mode/__init__.py b/desktop/onionshare/tab/mode/chat_mode/__init__.py
index 01f194b1..cb4f6911 100644
--- a/desktop/onionshare/tab/mode/chat_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/chat_mode/__init__.py
@@ -80,6 +80,11 @@ class ChatMode(Mode):
header_label = QtWidgets.QLabel(strings._("gui_new_tab_chat_button"))
header_label.setStyleSheet(self.common.gui.css["mode_header_label"])
+ # Chat mode explainer
+ chat_mode_explainer = QtWidgets.QLabel(strings._("gui_chat_mode_explainer"))
+ chat_mode_explainer.setMinimumHeight(80)
+ chat_mode_explainer.setWordWrap(True)
+
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
# Add space at the top, same height as the toggle history bar in other modes
@@ -89,6 +94,7 @@ class ChatMode(Mode):
self.main_layout = QtWidgets.QVBoxLayout()
self.main_layout.addLayout(top_bar_layout)
self.main_layout.addWidget(header_label)
+ self.main_layout.addWidget(chat_mode_explainer)
self.main_layout.addWidget(self.primary_action, stretch=1)
self.main_layout.addWidget(self.server_status)
self.main_layout.addWidget(MinimumSizeWidget(700, 0))
diff --git a/desktop/onionshare/tab/mode/receive_mode/__init__.py b/desktop/onionshare/tab/mode/receive_mode/__init__.py
index 87f8fc5f..bfa85459 100644
--- a/desktop/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/receive_mode/__init__.py
@@ -85,12 +85,14 @@ class ReceiveMode(Mode):
self.disable_text_checkbox.setText(
strings._("mode_settings_receive_disable_text_checkbox")
)
+ self.disable_text_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
self.disable_files_checkbox = self.settings.get("receive", "disable_files")
self.disable_files_checkbox = QtWidgets.QCheckBox()
self.disable_files_checkbox.clicked.connect(self.disable_files_checkbox_clicked)
self.disable_files_checkbox.setText(
strings._("mode_settings_receive_disable_files_checkbox")
)
+ self.disable_files_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
disable_layout = QtWidgets.QHBoxLayout()
disable_layout.addWidget(self.disable_text_checkbox)
disable_layout.addWidget(self.disable_files_checkbox)
@@ -235,11 +237,21 @@ class ReceiveMode(Mode):
self.settings.set(
"receive", "disable_text", self.disable_text_checkbox.isChecked()
)
+ if self.disable_text_checkbox.isChecked():
+ # Prevent also disabling files if text is disabled
+ self.disable_files_checkbox.setDisabled(True)
+ else:
+ self.disable_files_checkbox.setDisabled(False)
def disable_files_checkbox_clicked(self):
self.settings.set(
"receive", "disable_files", self.disable_files_checkbox.isChecked()
)
+ if self.disable_files_checkbox.isChecked():
+ # Prevent also disabling text if files is disabled
+ self.disable_text_checkbox.setDisabled(True)
+ else:
+ self.disable_text_checkbox.setDisabled(False)
def webhook_url_checkbox_clicked(self):
if self.webhook_url_checkbox.isChecked():
diff --git a/desktop/onionshare/tor_settings_tab.py b/desktop/onionshare/tor_settings_tab.py
index 0a2b12e2..a7aa4bbb 100644
--- a/desktop/onionshare/tor_settings_tab.py
+++ b/desktop/onionshare/tor_settings_tab.py
@@ -97,7 +97,7 @@ class TorSettingsTab(QtWidgets.QWidget):
self.bridge_use_checkbox = QtWidgets.QCheckBox(
strings._("gui_settings_bridge_use_checkbox")
)
- self.bridge_use_checkbox.stateChanged.connect(
+ self.bridge_use_checkbox.clicked.connect(
self.bridge_use_checkbox_state_changed
)
@@ -529,15 +529,17 @@ class TorSettingsTab(QtWidgets.QWidget):
self.connection_type_socks.hide()
self.connection_type_bridges_radio_group.show()
- def bridge_use_checkbox_state_changed(self, state):
+ def bridge_use_checkbox_state_changed(self):
"""
'Use a bridge' checkbox changed
"""
- if state == QtCore.Qt.Checked:
+ if self.bridge_use_checkbox.isChecked():
+ self.common.log("TorSettingsTab", "bridge_use_checkbox_state_changed", "Use bridge checkbox toggled on")
self.bridge_settings.show()
self.bridge_builtin_radio.click()
self.bridge_builtin_dropdown.setCurrentText("obfs4")
else:
+ self.common.log("TorSettingsTab", "bridge_use_checkbox_state_changed", "Use bridge checkbox toggled off")
self.bridge_settings.hide()
def bridge_builtin_radio_toggled(self, checked):
diff --git a/desktop/poetry.lock b/desktop/poetry.lock
index d2767c02..bc90ddd5 100644
--- a/desktop/poetry.lock
+++ b/desktop/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "bidict"
version = "0.22.1"
description = "The bidirectional mapping library for Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -19,37 +18,33 @@ test = ["hypothesis", "pytest", "pytest-benchmark[histogram]", "pytest-cov", "py
[[package]]
name = "black"
-version = "23.3.0"
+version = "23.9.1"
description = "The uncompromising code formatter."
-category = "dev"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"},
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"},
- {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"},
- {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"},
- {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"},
- {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"},
- {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"},
- {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"},
- {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"},
- {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"},
- {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"},
- {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"},
- {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"},
- {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"},
- {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"},
- {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"},
- {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"},
- {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"},
- {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"},
+ {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"},
+ {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"},
+ {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"},
+ {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"},
+ {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"},
+ {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"},
+ {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"},
+ {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"},
+ {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"},
+ {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"},
+ {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"},
+ {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"},
+ {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"},
+ {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"},
+ {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"},
+ {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"},
+ {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"},
+ {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"},
+ {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"},
+ {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"},
+ {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"},
+ {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"},
]
[package.dependencies]
@@ -59,7 +54,7 @@ packaging = ">=22.0"
pathspec = ">=0.9.0"
platformdirs = ">=2"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
-typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}
+typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
[package.extras]
colorama = ["colorama (>=0.4.3)"]
@@ -71,7 +66,6 @@ uvloop = ["uvloop (>=0.15.2)"]
name = "blinker"
version = "1.6.2"
description = "Fast, simple object-to-object and broadcast signaling"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -81,113 +75,150 @@ files = [
[[package]]
name = "brotli"
-version = "1.0.9"
+version = "1.1.0"
description = "Python bindings for the Brotli compression library"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Brotli-1.0.9-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:268fe94547ba25b58ebc724680609c8ee3e5a843202e9a381f6f9c5e8bdb5c70"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:c2415d9d082152460f2bd4e382a1e85aed233abc92db5a3880da2257dc7daf7b"},
- {file = "Brotli-1.0.9-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5913a1177fc36e30fcf6dc868ce23b0453952c78c04c266d3149b3d39e1410d6"},
- {file = "Brotli-1.0.9-cp27-cp27m-win32.whl", hash = "sha256:afde17ae04d90fbe53afb628f7f2d4ca022797aa093e809de5c3cf276f61bbfa"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7cb81373984cc0e4682f31bc3d6be9026006d96eecd07ea49aafb06897746452"},
- {file = "Brotli-1.0.9-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:db844eb158a87ccab83e868a762ea8024ae27337fc7ddcbfcddd157f841fdfe7"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9744a863b489c79a73aba014df554b0e7a0fc44ef3f8a0ef2a52919c7d155031"},
- {file = "Brotli-1.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a72661af47119a80d82fa583b554095308d6a4c356b2a554fdc2799bc19f2a43"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ee83d3e3a024a9618e5be64648d6d11c37047ac48adff25f12fa4226cf23d1c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:19598ecddd8a212aedb1ffa15763dd52a388518c4550e615aed88dc3753c0f0c"},
- {file = "Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:44bb8ff420c1d19d91d79d8c3574b8954288bdff0273bf788954064d260d7ab0"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e23281b9a08ec338469268f98f194658abfb13658ee98e2b7f85ee9dd06caa91"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3496fc835370da351d37cada4cf744039616a6db7d13c430035e901443a34daa"},
- {file = "Brotli-1.0.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b83bb06a0192cccf1eb8d0a28672a1b79c74c3a8a5f2619625aeb6f28b3a82bb"},
- {file = "Brotli-1.0.9-cp310-cp310-win32.whl", hash = "sha256:26d168aac4aaec9a4394221240e8a5436b5634adc3cd1cdf637f6645cecbf181"},
- {file = "Brotli-1.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:622a231b08899c864eb87e85f81c75e7b9ce05b001e59bbfbf43d4a71f5f32b2"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc0283a406774f465fb45ec7efb66857c09ffefbe49ec20b7882eff6d3c86d3a"},
- {file = "Brotli-1.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11d3283d89af7033236fa4e73ec2cbe743d4f6a81d41bd234f24bf63dde979df"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c1306004d49b84bd0c4f90457c6f57ad109f5cc6067a9664e12b7b79a9948ad"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1375b5d17d6145c798661b67e4ae9d5496920d9265e2f00f1c2c0b5ae91fbde"},
- {file = "Brotli-1.0.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cab1b5964b39607a66adbba01f1c12df2e55ac36c81ec6ed44f2fca44178bf1a"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ed6a5b3d23ecc00ea02e1ed8e0ff9a08f4fc87a1f58a2530e71c0f48adf882f"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cb02ed34557afde2d2da68194d12f5719ee96cfb2eacc886352cb73e3808fc5d"},
- {file = "Brotli-1.0.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b3523f51818e8f16599613edddb1ff924eeb4b53ab7e7197f85cbc321cdca32f"},
- {file = "Brotli-1.0.9-cp311-cp311-win32.whl", hash = "sha256:ba72d37e2a924717990f4d7482e8ac88e2ef43fb95491eb6e0d124d77d2a150d"},
- {file = "Brotli-1.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:3ffaadcaeafe9d30a7e4e1e97ad727e4f5610b9fa2f7551998471e3736738679"},
- {file = "Brotli-1.0.9-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:c83aa123d56f2e060644427a882a36b3c12db93727ad7a7b9efd7d7f3e9cc2c4"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6b2ae9f5f67f89aade1fab0f7fd8f2832501311c363a21579d02defa844d9296"},
- {file = "Brotli-1.0.9-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:68715970f16b6e92c574c30747c95cf8cf62804569647386ff032195dc89a430"},
- {file = "Brotli-1.0.9-cp35-cp35m-win32.whl", hash = "sha256:defed7ea5f218a9f2336301e6fd379f55c655bea65ba2476346340a0ce6f74a1"},
- {file = "Brotli-1.0.9-cp35-cp35m-win_amd64.whl", hash = "sha256:88c63a1b55f352b02c6ffd24b15ead9fc0e8bf781dbe070213039324922a2eea"},
- {file = "Brotli-1.0.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:503fa6af7da9f4b5780bb7e4cbe0c639b010f12be85d02c99452825dd0feef3f"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:40d15c79f42e0a2c72892bf407979febd9cf91f36f495ffb333d1d04cebb34e4"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:93130612b837103e15ac3f9cbacb4613f9e348b58b3aad53721d92e57f96d46a"},
- {file = "Brotli-1.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87fdccbb6bb589095f413b1e05734ba492c962b4a45a13ff3408fa44ffe6479b"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6d847b14f7ea89f6ad3c9e3901d1bc4835f6b390a9c71df999b0162d9bb1e20f"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:495ba7e49c2db22b046a53b469bbecea802efce200dffb69b93dd47397edc9b6"},
- {file = "Brotli-1.0.9-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:4688c1e42968ba52e57d8670ad2306fe92e0169c6f3af0089be75bbac0c64a3b"},
- {file = "Brotli-1.0.9-cp36-cp36m-win32.whl", hash = "sha256:61a7ee1f13ab913897dac7da44a73c6d44d48a4adff42a5701e3239791c96e14"},
- {file = "Brotli-1.0.9-cp36-cp36m-win_amd64.whl", hash = "sha256:1c48472a6ba3b113452355b9af0a60da5c2ae60477f8feda8346f8fd48e3e87c"},
- {file = "Brotli-1.0.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b78a24b5fd13c03ee2b7b86290ed20efdc95da75a3557cc06811764d5ad1126"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:9d12cf2851759b8de8ca5fde36a59c08210a97ffca0eb94c532ce7b17c6a3d1d"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6c772d6c0a79ac0f414a9f8947cc407e119b8598de7621f39cacadae3cf57d12"},
- {file = "Brotli-1.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29d1d350178e5225397e28ea1b7aca3648fcbab546d20e7475805437bfb0a130"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7bbff90b63328013e1e8cb50650ae0b9bac54ffb4be6104378490193cd60f85a"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ec1947eabbaf8e0531e8e899fc1d9876c179fc518989461f5d24e2223395a9e3"},
- {file = "Brotli-1.0.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12effe280b8ebfd389022aa65114e30407540ccb89b177d3fbc9a4f177c4bd5d"},
- {file = "Brotli-1.0.9-cp37-cp37m-win32.whl", hash = "sha256:f909bbbc433048b499cb9db9e713b5d8d949e8c109a2a548502fb9aa8630f0b1"},
- {file = "Brotli-1.0.9-cp37-cp37m-win_amd64.whl", hash = "sha256:97f715cf371b16ac88b8c19da00029804e20e25f30d80203417255d239f228b5"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e16eb9541f3dd1a3e92b89005e37b1257b157b7256df0e36bd7b33b50be73bcb"},
- {file = "Brotli-1.0.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:160c78292e98d21e73a4cc7f76a234390e516afcd982fa17e1422f7c6a9ce9c8"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b663f1e02de5d0573610756398e44c130add0eb9a3fc912a09665332942a2efb"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5b6ef7d9f9c38292df3690fe3e302b5b530999fa90014853dcd0d6902fb59f26"},
- {file = "Brotli-1.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a674ac10e0a87b683f4fa2b6fa41090edfd686a6524bd8dedbd6138b309175c"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e2d9e1cbc1b25e22000328702b014227737756f4b5bf5c485ac1d8091ada078b"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b336c5e9cf03c7be40c47b5fd694c43c9f1358a80ba384a21969e0b4e66a9b17"},
- {file = "Brotli-1.0.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:85f7912459c67eaab2fb854ed2bc1cc25772b300545fe7ed2dc03954da638649"},
- {file = "Brotli-1.0.9-cp38-cp38-win32.whl", hash = "sha256:35a3edbe18e876e596553c4007a087f8bcfd538f19bc116917b3c7522fca0429"},
- {file = "Brotli-1.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:269a5743a393c65db46a7bb982644c67ecba4b8d91b392403ad8a861ba6f495f"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2aad0e0baa04517741c9bb5b07586c642302e5fb3e75319cb62087bd0995ab19"},
- {file = "Brotli-1.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5cb1e18167792d7d21e21365d7650b72d5081ed476123ff7b8cac7f45189c0c7"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_i686.whl", hash = "sha256:16d528a45c2e1909c2798f27f7bf0a3feec1dc9e50948e738b961618e38b6a7b"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:56d027eace784738457437df7331965473f2c0da2c70e1a1f6fdbae5402e0389"},
- {file = "Brotli-1.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bf919756d25e4114ace16a8ce91eb340eb57a08e2c6950c3cebcbe3dff2a5e7"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e4c4e92c14a57c9bd4cb4be678c25369bf7a092d55fd0866f759e425b9660806"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e48f4234f2469ed012a98f4b7874e7f7e173c167bed4934912a29e03167cf6b1"},
- {file = "Brotli-1.0.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ed4c92a0665002ff8ea852353aeb60d9141eb04109e88928026d3c8a9e5433c"},
- {file = "Brotli-1.0.9-cp39-cp39-win32.whl", hash = "sha256:cfc391f4429ee0a9370aa93d812a52e1fee0f37a81861f4fdd1f4fb28e8547c3"},
- {file = "Brotli-1.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:854c33dad5ba0fbd6ab69185fec8dab89e13cda6b7d191ba111987df74f38761"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9749a124280a0ada4187a6cfd1ffd35c350fb3af79c706589d98e088c5044267"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:73fd30d4ce0ea48010564ccee1a26bfe39323fde05cb34b5863455629db61dc7"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02177603aaca36e1fd21b091cb742bb3b305a569e2402f1ca38af471777fb019"},
- {file = "Brotli-1.0.9-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:76ffebb907bec09ff511bb3acc077695e2c32bc2142819491579a695f77ffd4d"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b43775532a5904bc938f9c15b77c613cb6ad6fb30990f3b0afaea82797a402d8"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bf37a08493232fbb0f8229f1824b366c2fc1d02d64e7e918af40acd15f3e337"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:330e3f10cd01da535c70d09c4283ba2df5fb78e915bea0a28becad6e2ac010be"},
- {file = "Brotli-1.0.9-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e1abbeef02962596548382e393f56e4c94acd286bd0c5afba756cffc33670e8a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3148362937217b7072cf80a2dcc007f09bb5ecb96dae4617316638194113d5be"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336b40348269f9b91268378de5ff44dc6fbaa2268194f85177b53463d313842a"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b8b09a16a1950b9ef495a0f8b9d0a87599a9d1f179e2d4ac014b2ec831f87e7"},
- {file = "Brotli-1.0.9-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c8e521a0ce7cf690ca84b8cc2272ddaf9d8a50294fd086da67e517439614c755"},
- {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752"},
+ {file = "Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e"},
+ {file = "Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0"},
+ {file = "Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e"},
+ {file = "Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2"},
+ {file = "Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc"},
+ {file = "Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61"},
+ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265"},
+ {file = "Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8"},
+ {file = "Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50"},
+ {file = "Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409"},
+ {file = "Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408"},
+ {file = "Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248"},
+ {file = "Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966"},
+ {file = "Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0"},
+ {file = "Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951"},
+ {file = "Brotli-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112"},
+ {file = "Brotli-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354"},
+ {file = "Brotli-1.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460"},
+ {file = "Brotli-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579"},
+ {file = "Brotli-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a"},
+ {file = "Brotli-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b"},
+ {file = "Brotli-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95"},
+ {file = "Brotli-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3"},
+ {file = "Brotli-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48"},
+ {file = "Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088"},
+ {file = "Brotli-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596"},
+ {file = "Brotli-1.1.0-cp38-cp38-win32.whl", hash = "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b"},
+ {file = "Brotli-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a"},
+ {file = "Brotli-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac"},
+ {file = "Brotli-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d"},
+ {file = "Brotli-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59"},
+ {file = "Brotli-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64"},
+ {file = "Brotli-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467"},
+ {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"},
]
[[package]]
+name = "brotlicffi"
+version = "1.1.0.0"
+description = "Python CFFI bindings to the Brotli library"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb"},
+ {file = "brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e4aeb0bd2540cb91b069dbdd54d458da8c4334ceaf2d25df2f4af576d6766ca"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7b0033b0d37bb33009fb2fef73310e432e76f688af76c156b3594389d81391"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54a07bb2374a1eba8ebb52b6fafffa2afd3c4df85ddd38fcc0511f2bb387c2a8"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7901a7dc4b88f1c1475de59ae9be59799db1007b7d059817948d8e4f12e24e35"},
+ {file = "brotlicffi-1.1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce01c7316aebc7fce59da734286148b1d1b9455f89cf2c8a4dfce7d41db55c2d"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:246f1d1a90279bb6069de3de8d75a8856e073b8ff0b09dcca18ccc14cec85979"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc4bc5d82bc56ebd8b514fb8350cfac4627d6b0743382e46d033976a5f80fab6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c26ecb14386a44b118ce36e546ce307f4810bc9598a6e6cb4f7fca725ae7e6"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca72968ae4eaf6470498d5c2887073f7efe3b1e7d7ec8be11a06a79cc810e990"},
+ {file = "brotlicffi-1.1.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:add0de5b9ad9e9aa293c3aa4e9deb2b61e99ad6c1634e01d01d98c03e6a354cc"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9b6068e0f3769992d6b622a1cd2e7835eae3cf8d9da123d7f51ca9c1e9c333e5"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8557a8559509b61e65083f8782329188a250102372576093c88930c875a69838"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a7ae37e5d79c5bdfb5b4b99f2715a6035e6c5bf538c3746abc8e26694f92f33"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391151ec86bb1c683835980f4816272a87eaddc46bb91cbf44f62228b84d8cca"},
+ {file = "brotlicffi-1.1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f3711be9290f0453de8eed5275d93d286abe26b08ab4a35d7452caa1fef532f"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a807d760763e398bbf2c6394ae9da5815901aa93ee0a37bca5efe78d4ee3171"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa8ca0623b26c94fccc3a1fdd895be1743b838f3917300506d04aa3346fd2a14"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3de0cf28a53a3238b252aca9fed1593e9d36c1d116748013339f0949bfc84112"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6be5ec0e88a4925c91f3dea2bb0013b3a2accda6f77238f76a34a1ea532a1cb0"},
+ {file = "brotlicffi-1.1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d9eb71bb1085d996244439154387266fd23d6ad37161f6f52f1cd41dd95a3808"},
+ {file = "brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13"},
+]
+
+[package.dependencies]
+cffi = ">=1.0.0"
+
+[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "cffi"
version = "1.15.1"
description = "Foreign Function Interface for Python calling C code."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -262,99 +293,97 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
+ {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -364,7 +393,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -374,75 +402,69 @@ files = [
[[package]]
name = "cx-freeze"
-version = "6.15.0"
+version = "6.15.8"
description = "Create standalone executables from Python scripts"
-category = "dev"
optional = false
python-versions = ">=3.7.4"
files = [
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ac07a0baf0035e0d0329b8c7719ed12be9006fc9a7a79d110a1ee4c1a4ce6d69"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:24abc4b25af3a6dc759472b23ab0c1ef649070ba682314d77180f15024373268"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60ed86a2f6e6150de9e2a456b2850fa8305b3b10769796a3167f6843eaa4a1ea"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:229e44ff29b76e60ed51a3d8e3286d6f872d2b56c850a6a0ec2778f48d518609"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba35d5590f61249ab04a313230d6d12afc10fba0a60e6a221b6e9026ce822f02"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aa0233725f6fa586bc2dc8cd352c435d19718f75ee5699046f0065ccf70d4e95"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6b0243ff8b7c127ea0d4797ef04a8548d433a41d7a6bdd5b3674eb710c0aded"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-win32.whl", hash = "sha256:2cb9fd359b9427278c825874323053a21f6a74b86ab6f722b1bca6a424b87a34"},
- {file = "cx_Freeze-6.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:7e8fb2b8409b2715ecca3efcd644a0f57a4ed531636c875dcb0b99aca03a9b84"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:67b05188fd83ab03687cbfdd652b76b2e09587f7256125c0a8bf8e6dcb7591c1"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:af9f9af17c502df492841dfaa410ce2e59d27acbe0554ae9278919da22a5f1c6"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4e89eb2cf2570a7aa9b5ee5fabc226b48e710f673f923c21bb8363e08a7e0bfb"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a7985189b167014af4e2e9b62a7831dc55c2e5d49ad61301f82525738356f1"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c2a8b0d8cc66a829f1e56a6d8c9f5763e1d7cc357fb96388460f296286b349"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:938b2695f86233e10c5bd7649d1e1b94ee2a36e0e45ec261a73206b30194ac0a"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4538bd43b293cd7601a44120bbd14f5ceb8566652803739157a3f4b9df636db0"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-win32.whl", hash = "sha256:8dad161b00b50d06a676075612ac630fe652398c3ae17c0a010c7adbfcebce06"},
- {file = "cx_Freeze-6.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:8697e9fa46c0fff18b2468db08683818d70b1874a484fc3c2aa6faa77c6ca1d7"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b15cee7cb87694a3112174659a2abc7c4d206131122f157bb1a358712c0ea987"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f34e7e3ee0af03f57c263c671eabead9881302c99f4dd9c2229d5ab1cd69bbb"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9175fd0dee12f54d71d93461464db82fef51027bb69f887c0b80d3068ee2461b"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:624c3b171b56a15e389b65018f9d6ad5497b8068da02bacfcc74ea3fbce1b61d"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3e8c00d79c4963d68a009a47b3984b322e64c05a0b4aa936804f2e573c045a34"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-win32.whl", hash = "sha256:174449b685b641c84c456038fc1a3b4e860294ea349c549bb7a23f1f7bf18ae0"},
- {file = "cx_Freeze-6.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:855d02e80163cc6614f92acf861f8ef24cb0df5fd1c5d23a319b95f89ad52347"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:78a9a785a4c1034bbd035f0e6698b725c0e0f36f7b221c2353e9f9cf3cfdb5cb"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e8de987aa49a5733064846d04359f10a6abd46003be2a94989a2da56c70ec97"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86def06eed007a092c0b335d77cab512b36c26ba68db79462ce9865cafd399c1"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f770f7790738409e5f2c877ef209d98cfa50c7b25a273ac85aff088329076898"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ba6204b4058e5954e96eec9b1f0364ee1e832ae466bf705719892d62e3aeb74d"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-win32.whl", hash = "sha256:5d86c7d08ddd3cafbca29c7b4ca64276c6ab0abe2cdd582758dbe43fb757f2de"},
- {file = "cx_Freeze-6.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:9764fd8404b2ef07bd298cc93c7adb3a463941ed82ad2475df6f210347a4a33b"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e276b1c35efd859c047140e067046734fd23429e8f153bce9d084c27c008540f"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c85bfe14ce64f190baa1df55ea59cc538f3aaef6389b654746b195ee25b69442"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93e89f8831fce12162c45959899e69f26c6511a2e2f77d72867765f17902ef31"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1980034ce36c019c7cb7aeae43fbc16faaac86d6b07fbd92d2692787574e924d"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743a6c3981cc784dfed14f7acbcdc8e59ba8526b958513c244c54e770d976317"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:543e0c05fbc0a03aaa8b56a3e67bea1da800aa54cd9363d20db048e0afa1ade6"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cbc6185d9eecf889888ad44677cc07f87342836c98129901dd0d070ec2b03dab"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-win32.whl", hash = "sha256:82739ed7ed1204c80ad47b3bfea952db5d72239951d7ad13300243f29b29db71"},
- {file = "cx_Freeze-6.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:9e4aedf3c540e4e0195094c6c76465f64077ba17bd0a9b47f217869e87b27200"},
- {file = "cx_Freeze-6.15.0.tar.gz", hash = "sha256:4747af12796a6e083c0cf095581b7f84b81d7286b4930777dbf688ca0a2c9898"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb38660632f304af5879605bbd7da1bf18a919f1ccdba24e5cede56c0f933c87"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5906787b250ddd30976d692d6072aac9f844d4317112cb2059cec5d5bb039f35"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10337fa2bb1ce1f87a07a788e7b75338ea0ba977e17af69c1d770e1d2ef71f02"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8317d8c68c822b071621a5f0c9638b1404555eca8dbe2e6e13ec1bfaa2370f1"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a58b5e526e809a654c0f2b06cb3e0eb2555d11ff4bbedec1e194b506f38578f"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d7035a63a905be881d1b9f2f357c98a2351df46fd1fed7213a751a038a56b364"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:9f329fc78d3a70e77dd5be8326d6ee69e992efffe78f1d9255d160f67327314d"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:faa39074ba1e2349427c7fb3fdf26dcddd7cca301a16c85eb71da4c8a2113484"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-win32.whl", hash = "sha256:f0b8ee066604922653dd9b427015c95dca1325f65af83e9850571f091ec839f6"},
+ {file = "cx_Freeze-6.15.8-cp310-cp310-win_amd64.whl", hash = "sha256:f6fbe413dc7e9f5dfd7e3d9bc82fc2aa967947cbba25bc2887ac341b50d0bd9d"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3688c8ad1074b4f0bcbe62019a94510db40f0e567b358209ccaaa8dfcf58b883"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1dfc70ee86c3e0df8653fa69817938d9e292b1a8e356e7b2602d82220b5bcd7c"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d3fa73e80d98442c32f4362b9369f06a86917dbfc14a5991ad5d6a301e4c68e"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8ae6e22467294d44fb69f5ff9c8aecc8d095bc093a6e314cc032e7ad87faf2"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:faa714209aafaf4b9cbc714067e800caa61e36fba1ebd787c8d30e62b29aac14"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1b0469f0b731f031bd429b075a7d4515f228bea6fb023e8d8da58e464bdeff9d"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c65c88ec182510827fe74131a510bb44ce5648e9ce71691eaa6318c77c9c7658"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d78b2c66ce61dcbef9e2438b57fa96c9b3b7fcfaddbd015738a2382369dc2c6e"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-win32.whl", hash = "sha256:2c874eb607c1b3fef3e3e53da17943985edc6e7b9ebbcae77c5efb8b4d03e2e5"},
+ {file = "cx_Freeze-6.15.8-cp311-cp311-win_amd64.whl", hash = "sha256:8662dd5da89b8bed078cbcddad6d168a644f13c66be43e229199773710950ebe"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5be4f6e574a5318a5add411767c8255a337be99558e7c895ace0f3a4959aaa8b"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c594f3512ebaf20599dafdb51e1dbac6276dc15ca0f219659fb729c8f1d3e6c"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89ab20c72af1702e1cb11ddbcdce56db4176c793069d4e11d89360cefcbed523"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbfc8fcf9348ed41fb6318d1f49f238d78e50eef38834a41b2cd6ae1698b222d"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:75b096b0eaf202a78602b56882a69864ffb97d67834e3a31a90dd35991b71921"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:56abd7b26b187761f1d1f073f1cce124bf6aee09012201e6e625e46e2b5f0c20"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1cc6ae041aaa2251b870819ba7905b7bfdfc25f0b4e963d4d1daee4276c8a828"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-win32.whl", hash = "sha256:1a06f37c772f9c673edd9d36fbc862c54170cc7e3cd2a1946ff784680f0133d3"},
+ {file = "cx_Freeze-6.15.8-cp37-cp37m-win_amd64.whl", hash = "sha256:c6ff0c62e19ab159c1fcf56e40e4796cdc3968bfa5ebde461c121dff1125d200"},
+ {file = "cx_Freeze-6.15.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:908db56a94e37f727c18643ea7a2c62c5ca07951d4320e0c8506e8851f727b72"},
+ {file = "cx_Freeze-6.15.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6335a016c28ac9b2fae289a517cf57e4792637479bf799dd75e876cfb3b24d1f"},
+ {file = "cx_Freeze-6.15.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:56e96b9af3fbbc14bbba3ab259c97d00058ed70835c258ada89cc7b28a4d741e"},
+ {file = "cx_Freeze-6.15.8-cp38-cp38-win32.whl", hash = "sha256:5694f0733fb892ad4ad194f3ab529644beed352a0cc5639ff932acf048d010b4"},
+ {file = "cx_Freeze-6.15.8-cp38-cp38-win_amd64.whl", hash = "sha256:2d9368b24fae4099439cb09562388ac78a52a87db4c85ec47534bb9be649b935"},
+ {file = "cx_Freeze-6.15.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bae40723bd6cd30e9c63ef5af6501765e01cb6e9d384f6aed5942b5a35f434f2"},
+ {file = "cx_Freeze-6.15.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e794571585daa189c36be28ac67460320f7991076974c1fe07d09a289cef653e"},
+ {file = "cx_Freeze-6.15.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca4205e682b0ef7727388d015148c4da1ad8d4cd09a9f4325f1018e22d8c9311"},
+ {file = "cx_Freeze-6.15.8-cp39-cp39-win32.whl", hash = "sha256:c8bc7ecfe27b64f8b3191ed6d57065e908923a65d95f31f4a3df8a5073a9656d"},
+ {file = "cx_Freeze-6.15.8-cp39-cp39-win_amd64.whl", hash = "sha256:b8c5b7257ae025177480e11775e91fcd1c3fced0ce59deacf8fefd024a4d1d77"},
+ {file = "cx_Freeze-6.15.8.tar.gz", hash = "sha256:04e63a345b6795be5a46999e190173a28d6d2cb51dcb4947fa13571a462ce336"},
]
[package.dependencies]
cx-Logging = {version = ">=3.1", markers = "sys_platform == \"win32\""}
lief = {version = ">=0.12.0", markers = "sys_platform == \"win32\""}
-patchelf = [
- {version = ">=0.14", markers = "sys_platform == \"linux\" and platform_machine == \"aarch64\" or sys_platform == \"linux\" and platform_machine == \"i686\" or sys_platform == \"linux\" and platform_machine == \"ppc64le\" or sys_platform == \"linux\" and platform_machine == \"s390x\" or sys_platform == \"linux\" and platform_machine == \"x86_64\""},
- {version = ">=0.17.2.1", markers = "sys_platform == \"linux\" and platform_machine == \"armv7l\""},
-]
-setuptools = ">=62.6,<68"
+patchelf = {version = ">=0.14", markers = "sys_platform == \"linux\" and (platform_machine == \"aarch64\" or platform_machine == \"armv7l\" or platform_machine == \"i686\" or platform_machine == \"ppc64le\" or platform_machine == \"s390x\" or platform_machine == \"x86_64\")"}
+setuptools = ">=62.6,<69"
+wheel = ">=0.38.4"
[package.extras]
-dev = ["bump2version (==1.0.1)", "cibuildwheel (==2.12.3)", "pre-commit (>=2.21.0)", "pylint (==2.17.4)", "wheel (==0.40.0)"]
-doc = ["furo (==2023.3.27)", "sphinx (==5.3.0)", "sphinx-tabs (==3.4.1)"]
-test = ["nose (==1.3.7)", "pygments (==2.15.1)", "pytest (==7.3.1)", "pytest-cov (==4.0.0)", "pytest-mock (==3.10.0)", "pytest-timeout (==2.1.0)"]
+dev = ["bump2version (==1.0.1)", "cibuildwheel (>=2.13.1)", "pre-commit (>=2.21.0)", "pylint (==2.17.4)"]
+doc = ["furo (==2023.8.19)", "sphinx (<7.2.0)", "sphinx (==7.2.2)", "sphinx-tabs (==3.4.1)"]
+test = ["pytest (>=7.4.0)", "pytest-cov (==4.1.0)", "pytest-datafiles (==3.0.0)", "pytest-mock (==3.11.1)", "pytest-timeout (==2.1.0)", "pytest-xdist[psutil] (==3.3.1)"]
[[package]]
name = "cx-logging"
version = "3.1.0"
description = "Python and C interfaces for logging"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -470,21 +492,86 @@ files = [
]
[[package]]
+name = "cython"
+version = "3.0.2"
+description = "The Cython compiler for writing C extensions in the Python language."
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+files = [
+ {file = "Cython-3.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ccb91d2254e34724f1541b2a6fcdfacdb88284185b0097ae84e0ddf476c7a38"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c298b1589205ecaaed0457ad05e0c8a43e7db2053607f48ed4a899cb6aa114df"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e825e682cef76d0c33384f38b56b7e87c76152482a914dfc78faed6ff66ce05a"},
+ {file = "Cython-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:77ec0134fc1b10aebef2013936a91c07bff2498ec283bc2eca099ee0cb94d12e"},
+ {file = "Cython-3.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c90eeb94395315e65fd758a2f86b92904fce7b50060b4d45a878ef6767f9276e"},
+ {file = "Cython-3.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:38085523fa7a299638d051ae08144222785639882f6291bd275c0b12db1034ff"},
+ {file = "Cython-3.0.2-cp310-cp310-win32.whl", hash = "sha256:b032cb0c69082f0665b2c5fb416d041157062f1538336d0edf823b9ee500e39c"},
+ {file = "Cython-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:067b2b9eb487bd61367b296f11b7c1c70a084b3eb7d5a572f607cd1fc5ca5586"},
+ {file = "Cython-3.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:213ff9f95de319e54b520bf31edd6aa7a1fa4fbf617c2beb0f92362595e6476a"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bebbca13078125a35937966137af4bd0300a0c66fd7ae4ce36adc049b13bdf3"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e5587128e8c2423aefcffa4ded4ddf60d44898938fbb7c0f236636a750a94f"},
+ {file = "Cython-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78e2853d484643c6b7ac3bdb48392753442da1c71b689468fa3176b619bebe54"},
+ {file = "Cython-3.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e722732e9aa9bde667ed6d87525234823eb7766ca234cfb19d7e0c095a2ef4"},
+ {file = "Cython-3.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:989787fc24a95100a26918b6577d06e15a8868a3ed267009c5cfcf1a906179ac"},
+ {file = "Cython-3.0.2-cp311-cp311-win32.whl", hash = "sha256:d21801981db44b7e9f9768f121317946461d56b51de1e6eff3c42e8914048696"},
+ {file = "Cython-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:809617cf4825b2138ce0ec827e1f28e39668743c81ac8286373f8d148c05f088"},
+ {file = "Cython-3.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5682293d344b7dbad97ce6eceb9e887aca6e53499709db9da726ca3424e5559d"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e08ff5da5f5b969639784b1bffcd880a0c0f048d182aed7cba9945ee8b367c2"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8850269ff59f77a1629e26d0576701925360d732011d6d3516ccdc5b2c2bc310"},
+ {file = "Cython-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:550b3fbe9b3c555b44ded934f4822f9fcc04dfcee512167ebcbbd370ccede20e"},
+ {file = "Cython-3.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4db017b104f47b1185237702f6ed2651839c8124614683efa7c489f3fa4e19d9"},
+ {file = "Cython-3.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:75a2395cc7b78cff59be6e9b7f92bbb5d7b8d25203f6d3fb6f72bdb7d3f49777"},
+ {file = "Cython-3.0.2-cp312-cp312-win32.whl", hash = "sha256:786b6034a91e886116bb562fe42f8bf0f97c3e00c02e56791d02675959ed65b1"},
+ {file = "Cython-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc9d173ab8b167cae674f6deed8c65ba816574797a2bd6d8aa623277d1fa81ca"},
+ {file = "Cython-3.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8948504338d7a140ce588333177dcabf0743a68dbc83b0174f214f5b959634d5"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a51efba0e136b2af358e5a347bae09678b17460c35cf1eab24f0476820348991"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05cb2a73810f045d328b7579cf98f550a9e601df5e282d1fea0512d8ad589011"},
+ {file = "Cython-3.0.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22ba78e48bdb65977928ecb275ac8c82df7b0eefa075078a1363a5af4606b42e"},
+ {file = "Cython-3.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:302281b927409b3e0ef8cd9251eab782cf1acd2578eab305519fbae5d184b7e9"},
+ {file = "Cython-3.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a1c3675394b81024aaf56e4f53c2b4f81d9a116c7049e9d4706f810899c9134e"},
+ {file = "Cython-3.0.2-cp36-cp36m-win32.whl", hash = "sha256:34f7b014ebce5d325c8084e396c81cdafbd8d82be56780dffe6b67b28c891f1b"},
+ {file = "Cython-3.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:477cd3549597f09a1608da7b05e16ba641e9aedd171b868533a5a07790ed886f"},
+ {file = "Cython-3.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a49dde9f9e29ea82f29aaf3bb1a270b6eb90b75d627c7ff2f5dd3764540ae646"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1c8013fad0933f5201186eccc5f2be223cafd6a8dcd586d3f7bb6ba84dc845"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b75e9c9d7ad7c9dd85d45241d1d4e3c5f66079c1f84eec91689c26d98bc3349"},
+ {file = "Cython-3.0.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f43c4d3ecd9e3b8b7afe834e519f55cf4249b1088f96d11b96f02c55cbaeff7"},
+ {file = "Cython-3.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:dab6a923e21e212aa3dc6dde9b22a190f5d7c449315a94e57ddc019ea74a979b"},
+ {file = "Cython-3.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ae453cfa933b919c0a19d2cc5dc9fb28486268e95dc2ab7a11ab7f99cf8c3883"},
+ {file = "Cython-3.0.2-cp37-cp37m-win32.whl", hash = "sha256:b1f023d36a3829069ed11017c670128be3f135a9c17bd64c35d3b3442243b05c"},
+ {file = "Cython-3.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:011c4e0b75baee1843334562487eb4fbc0c59ddb2cc32a978b972a81eedcbdcc"},
+ {file = "Cython-3.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:832bbee87bca760efeae248ddf19ccd77f9a2355cb6f8a64f20cc377e56957b3"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fe806d154b6b7f0ab746dac36c022889e2e7cf47546ff9afdc29a62cfa692d0"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e486331a29e7700b1ad5f4f753bef483c81412a5e64a873df46d6cb66f9a65de"},
+ {file = "Cython-3.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54d41a1dfbaab74449873e7f8e6cd4239850fe7a50f7f784dd99a560927f3bac"},
+ {file = "Cython-3.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4dca13c86d6cd523c7d8bbf8db1b2bbf8faedd0addedb229158d8015ad1819e1"},
+ {file = "Cython-3.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:10cbfb37f31938371a6213cc8b5459c639954aed053efeded3c012d4c5915db9"},
+ {file = "Cython-3.0.2-cp38-cp38-win32.whl", hash = "sha256:e663c237579c033deaa2cb362b74651da7712f56e441c11382510a8c4c4f2dd7"},
+ {file = "Cython-3.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:2f84bd6cefa5130750c492038170c44f1cbd6f42e9ed85e168fd9cb453f85160"},
+ {file = "Cython-3.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f37e4287f520f3748a06ad5eaae09ba4ac68f52e155d70de5f75780d83575c43"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd30826ca8b27b2955a63c8ffe8aacc9f0779582b4bd154cf7b441ac10dae2cb"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08d67c7225a09eeb77e090c8d4f60677165b052ccf76e3a57d8237064e5c2de2"},
+ {file = "Cython-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e625eec8c5c9a8cb062a318b257cc469d301bed952c7daf86e38bbd3afe7c91"},
+ {file = "Cython-3.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1b12a8f23270675b537d1c3b988f845bea4bbcc66ae0468857f5ede0526d4522"},
+ {file = "Cython-3.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:62dd78afdf748a58dae9c9b9c42a1519ae30787b28ce5f84a0e1bb54144142ca"},
+ {file = "Cython-3.0.2-cp39-cp39-win32.whl", hash = "sha256:d0d0cc4ecc05f41c5e02af14ac0083552d22efed976f79eb7bade55fed63b25d"},
+ {file = "Cython-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:147cc1d3dda8b06de9d86df5e59cdf15f0a522620168b7349a5ec88b48104d7d"},
+ {file = "Cython-3.0.2-py2.py3-none-any.whl", hash = "sha256:8f1c9e4b8e413da211dd7942440cf410ff0eafb081309e04e81f4fafbb146bf2"},
+ {file = "Cython-3.0.2.tar.gz", hash = "sha256:9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5"},
+]
+
+[[package]]
name = "dnspython"
-version = "2.3.0"
+version = "2.4.2"
description = "DNS toolkit"
-category = "main"
optional = false
-python-versions = ">=3.7,<4.0"
+python-versions = ">=3.8,<4.0"
files = [
- {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"},
- {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"},
+ {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"},
+ {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"},
]
[package.extras]
-curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"]
-dnssec = ["cryptography (>=2.6,<40.0)"]
-doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"]
+dnssec = ["cryptography (>=2.6,<42.0)"]
+doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"]
doq = ["aioquic (>=0.9.20)"]
idna = ["idna (>=2.1,<4.0)"]
trio = ["trio (>=0.14,<0.23)"]
@@ -494,7 +581,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"]
name = "eventlet"
version = "0.33.3"
description = "Highly concurrent networking library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -509,14 +595,13 @@ six = ">=1.10.0"
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
@@ -526,7 +611,6 @@ test = ["pytest (>=6)"]
name = "flask"
version = "2.3.2"
description = "A simple framework for building complex web applications."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -548,25 +632,24 @@ dotenv = ["python-dotenv"]
[[package]]
name = "flask-compress"
-version = "1.13"
+version = "1.14"
description = "Compress responses in your Flask app with gzip, deflate or brotli."
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "Flask-Compress-1.13.tar.gz", hash = "sha256:ee96f18bf9b00f2deb4e3406ca4a05093aa80e2ef0578525a3b4d32ecdff129d"},
- {file = "Flask_Compress-1.13-py3-none-any.whl", hash = "sha256:1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b"},
+ {file = "Flask-Compress-1.14.tar.gz", hash = "sha256:e46528f37b91857012be38e24e65db1a248662c3dc32ee7808b5986bf1d123ee"},
+ {file = "Flask_Compress-1.14-py3-none-any.whl", hash = "sha256:b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c"},
]
[package.dependencies]
-brotli = "*"
+brotli = {version = "*", markers = "platform_python_implementation != \"PyPy\""}
+brotlicffi = {version = "*", markers = "platform_python_implementation == \"PyPy\""}
flask = "*"
[[package]]
name = "flask-socketio"
version = "5.3.4"
description = "Socket.IO integration for Flask applications"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -580,85 +663,73 @@ python-socketio = ">=5.0.2"
[[package]]
name = "gevent"
-version = "22.10.2"
+version = "23.9.1"
description = "Coroutine-based network library"
-category = "main"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5"
-files = [
- {file = "gevent-22.10.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:97cd42382421779f5d82ec5007199e8a84aa288114975429e4fd0a98f2290f10"},
- {file = "gevent-22.10.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1e1286a76f15b5e15f1e898731d50529e249529095a032453f2c101af3fde71c"},
- {file = "gevent-22.10.2-cp27-cp27m-win32.whl", hash = "sha256:59b47e81b399d49a5622f0f503c59f1ce57b7705306ea0196818951dfc2f36c8"},
- {file = "gevent-22.10.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1d543c9407a1e4bca11a8932916988cfb16de00366de5bf7bc9e7a3f61e60b18"},
- {file = "gevent-22.10.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4e2f008c82dc54ec94f4de12ca6feea60e419babb48ec145456907ae61625aa4"},
- {file = "gevent-22.10.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:990d7069f14dc40674e0d5cb43c68fd3bad8337048613b9bb94a0c4180ffc176"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f23d0997149a816a2a9045af29c66f67f405a221745b34cefeac5769ed451db8"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b43d500d7d3c0e03070dee813335bb5315215aa1cf6a04c61093dfdd718640b3"},
- {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b68f4c9e20e47ad49fe797f37f91d5bbeace8765ce2707f979a8d4ec197e4d"},
- {file = "gevent-22.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1f001cac0ba8da76abfeb392a3057f81fab3d67cc916c7df8ea977a44a2cc989"},
- {file = "gevent-22.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:3b7eae8a0653ba95a224faaddf629a913ace408edb67384d3117acf42d7dcf89"},
- {file = "gevent-22.10.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8f2477e7b0a903a01485c55bacf2089110e5f767014967ba4b287ff390ae2638"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddaa3e310a8f1a45b5c42cf50b54c31003a3028e7d4e085059090ea0e7a5fddd"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98bc510e80f45486ef5b806a1c305e0e89f0430688c14984b0dbdec03331f48b"},
- {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877abdb3a669576b1d51ce6a49b7260b2a96f6b2424eb93287e779a3219d20ba"},
- {file = "gevent-22.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21ad79cca234cdbfa249e727500b0ddcbc7adfff6614a96e6eaa49faca3e4f2"},
- {file = "gevent-22.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e955238f59b2947631c9782a713280dd75884e40e455313b5b6bbc20b92ff73"},
- {file = "gevent-22.10.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5aa99e4882a9e909b4756ee799c6fa0f79eb0542779fad4cc60efa23ec1b2aa8"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d82081656a5b9a94d37c718c8646c757e1617e389cdc533ea5e6a6f0b8b78545"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f4bfd74c178351a4a05c5c7df6f8a0a279ff6f392b57608ce0e83c768207f9"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ff3796692dff50fec2f381b9152438b221335f557c4f9b811f7ded51b7a25a1"},
- {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f01c9adbcb605364694b11dcd0542ec468a29ac7aba2fb5665dc6caf17ba4d7e"},
- {file = "gevent-22.10.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9d85574eb729f981fea9a78998725a06292d90a3ed50ddca74530c3148c0be41"},
- {file = "gevent-22.10.2-cp36-cp36m-win32.whl", hash = "sha256:8c192d2073e558e241f0b592c1e2b34127a4481a5be240cad4796533b88b1a98"},
- {file = "gevent-22.10.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a2237451c721a0f874ef89dbb4af4fdc172b76a964befaa69deb15b8fff10f49"},
- {file = "gevent-22.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:53ee7f170ed42c7561fe8aff5d381dc9a4124694e70580d0c02fba6aafc0ea37"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:96c56c280e3c43cfd075efd10b250350ed5ffd3c1514ec99a080b1b92d7c8374"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c144e08dfad4106effc043a026e5d0c0eff6ad031904c70bf5090c63f3a6a7"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:018f93de7d5318d2fb440f846839a4464738468c3476d5c9cf7da45bb71c18bd"},
- {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ed2346eb9dc4344f9cb0d7963ce5b74fe16fdd031a2809bb6c2b6eba7ebcd5"},
- {file = "gevent-22.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84c517e33ed604fa06b7d756dc0171169cc12f7fdd68eb7b17708a62eebf4516"},
- {file = "gevent-22.10.2-cp37-cp37m-win32.whl", hash = "sha256:4114f0f439f0b547bb6f1d474fee99ddb46736944ad2207cef3771828f6aa358"},
- {file = "gevent-22.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d581f22a5be6281b11ad6309b38b18f0638cf896931223cbaa5adb904826ef6"},
- {file = "gevent-22.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2929377c8ebfb6f4d868d161cd8de2ea6b9f6c7a5fcd4f78bcd537319c16190b"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:efc003b6c1481165af61f0aeac248e0a9ac8d880bb3acbe469b448674b2d5281"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db562a8519838bddad0c439a2b12246bab539dd50e299ea7ff3644274a33b6a5"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1472012493ca1fac103f700d309cb6ef7964dcdb9c788d1768266e77712f5e49"},
- {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c04ee32c11e9fcee47c1b431834878dc987a7a2cc4fe126ddcae3bad723ce89"},
- {file = "gevent-22.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8729129edef2637a8084258cb9ec4e4d5ca45d97ac77aa7a6ff19ccb530ab731"},
- {file = "gevent-22.10.2-cp38-cp38-win32.whl", hash = "sha256:ae90226074a6089371a95f20288431cd4b3f6b0b096856afd862e4ac9510cddd"},
- {file = "gevent-22.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:494c7f29e94df9a1c3157d67bb7edfa32a46eed786e04d9ee68d39f375e30001"},
- {file = "gevent-22.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:58898dbabb5b11e4d0192aae165ad286dc6742c543e1be9d30dc82753547c508"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:4197d423e198265eef39a0dea286ef389da9148e070310f34455ecee8172c391"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da4183f0b9d9a1e25e1758099220d32c51cc2c6340ee0dea3fd236b2b37598e4"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5488eba6a568b4d23c072113da4fc0feb1b5f5ede7381656dc913e0d82204e2"},
- {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319d8b1699b7b8134de66d656cd739b308ab9c45ace14d60ae44de7775b456c9"},
- {file = "gevent-22.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f3329bedbba4d3146ae58c667e0f9ac1e6f1e1e6340c7593976cdc60aa7d1a47"},
- {file = "gevent-22.10.2-cp39-cp39-win32.whl", hash = "sha256:172caa66273315f283e90a315921902cb6549762bdcb0587fd60cb712a9d6263"},
- {file = "gevent-22.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:323b207b281ba0405fea042067fa1a61662e5ac0d574ede4ebbda03efd20c350"},
- {file = "gevent-22.10.2-pp27-pypy_73-win_amd64.whl", hash = "sha256:ed7f16613eebf892a6a744d7a4a8f345bc6f066a0ff3b413e2479f9c0a180193"},
- {file = "gevent-22.10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a47a4e77e2bc668856aad92a0b8de7ee10768258d93cd03968e6c7ba2e832f76"},
- {file = "gevent-22.10.2.tar.gz", hash = "sha256:1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"},
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "gevent-23.9.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a3c5e9b1f766a7a64833334a18539a362fb563f6c4682f9634dea72cbe24f771"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b101086f109168b23fa3586fccd1133494bdb97f86920a24dc0b23984dc30b69"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36a549d632c14684bcbbd3014a6ce2666c5f2a500f34d58d32df6c9ea38b6535"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:272cffdf535978d59c38ed837916dfd2b5d193be1e9e5dcc60a5f4d5025dd98a"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcb8612787a7f4626aa881ff15ff25439561a429f5b303048f0fca8a1c781c39"},
+ {file = "gevent-23.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:d57737860bfc332b9b5aa438963986afe90f49645f6e053140cfa0fa1bdae1ae"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5f3c781c84794926d853d6fb58554dc0dcc800ba25c41d42f6959c344b4db5a6"},
+ {file = "gevent-23.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dbb22a9bbd6a13e925815ce70b940d1578dbe5d4013f20d23e8a11eddf8d14a7"},
+ {file = "gevent-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:707904027d7130ff3e59ea387dddceedb133cc742b00b3ffe696d567147a9c9e"},
+ {file = "gevent-23.9.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:45792c45d60f6ce3d19651d7fde0bc13e01b56bb4db60d3f32ab7d9ec467374c"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e24c2af9638d6c989caffc691a039d7c7022a31c0363da367c0d32ceb4a0648"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e1ead6863e596a8cc2a03e26a7a0981f84b6b3e956101135ff6d02df4d9a6b07"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65883ac026731ac112184680d1f0f1e39fa6f4389fd1fc0bf46cc1388e2599f9"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7af500da05363e66f122896012acb6e101a552682f2352b618e541c941a011"},
+ {file = "gevent-23.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c3e5d2fa532e4d3450595244de8ccf51f5721a05088813c1abd93ad274fe15e7"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c84d34256c243b0a53d4335ef0bc76c735873986d478c53073861a92566a8d71"},
+ {file = "gevent-23.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ada07076b380918829250201df1d016bdafb3acf352f35e5693b59dceee8dd2e"},
+ {file = "gevent-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:921dda1c0b84e3d3b1778efa362d61ed29e2b215b90f81d498eb4d8eafcd0b7a"},
+ {file = "gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:ed7a048d3e526a5c1d55c44cb3bc06cfdc1947d06d45006cc4cf60dedc628904"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c1abc6f25f475adc33e5fc2dbcc26a732608ac5375d0d306228738a9ae14d3b"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4368f341a5f51611411ec3fc62426f52ac3d6d42eaee9ed0f9eebe715c80184e"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52b4abf28e837f1865a9bdeef58ff6afd07d1d888b70b6804557e7908032e599"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52e9f12cd1cda96603ce6b113d934f1aafb873e2c13182cf8e86d2c5c41982ea"},
+ {file = "gevent-23.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:de350fde10efa87ea60d742901e1053eb2127ebd8b59a7d3b90597eb4e586599"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fde6402c5432b835fbb7698f1c7f2809c8d6b2bd9d047ac1f5a7c1d5aa569303"},
+ {file = "gevent-23.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd6c32ab977ecf7c7b8c2611ed95fa4aaebd69b74bf08f4b4960ad516861517d"},
+ {file = "gevent-23.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:455e5ee8103f722b503fa45dedb04f3ffdec978c1524647f8ba72b4f08490af1"},
+ {file = "gevent-23.9.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7ccf0fd378257cb77d91c116e15c99e533374a8153632c48a3ecae7f7f4f09fe"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d163d59f1be5a4c4efcdd13c2177baaf24aadf721fdf2e1af9ee54a998d160f5"},
+ {file = "gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7532c17bc6c1cbac265e751b95000961715adef35a25d2b0b1813aa7263fb397"},
+ {file = "gevent-23.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78eebaf5e73ff91d34df48f4e35581ab4c84e22dd5338ef32714264063c57507"},
+ {file = "gevent-23.9.1-cp38-cp38-win32.whl", hash = "sha256:f632487c87866094546a74eefbca2c74c1d03638b715b6feb12e80120960185a"},
+ {file = "gevent-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:62d121344f7465e3739989ad6b91f53a6ca9110518231553fe5846dbe1b4518f"},
+ {file = "gevent-23.9.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:bf456bd6b992eb0e1e869e2fd0caf817f0253e55ca7977fd0e72d0336a8c1c6a"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43daf68496c03a35287b8b617f9f91e0e7c0d042aebcc060cadc3f049aadd653"},
+ {file = "gevent-23.9.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7c28e38dcde327c217fdafb9d5d17d3e772f636f35df15ffae2d933a5587addd"},
+ {file = "gevent-23.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fae8d5b5b8fa2a8f63b39f5447168b02db10c888a3e387ed7af2bd1b8612e543"},
+ {file = "gevent-23.9.1-cp39-cp39-win32.whl", hash = "sha256:2c7b5c9912378e5f5ccf180d1fdb1e83f42b71823483066eddbe10ef1a2fcaa2"},
+ {file = "gevent-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2898b7048771917d85a1d548fd378e8a7b2ca963db8e17c6d90c76b495e0e2b"},
+ {file = "gevent-23.9.1.tar.gz", hash = "sha256:72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34"},
]
[package.dependencies]
cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""}
-greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\""}
-setuptools = "*"
+greenlet = [
+ {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""},
+ {version = ">=3.0rc3", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.11\""},
+]
"zope.event" = "*"
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
-docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"]
+docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
-recommended = ["backports.socketpair", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)", "selectors2"]
-test = ["backports.socketpair", "cffi (>=1.12.2)", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "dnspython (>=1.16.0,<2.0)", "futures", "idna", "mock", "objgraph", "psutil (>=5.7.0)", "requests", "selectors2"]
+recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
+test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
version = "0.10.1"
description = "Websocket handler for the gevent pywsgi server, a Python network library"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -673,7 +744,6 @@ gevent = "*"
name = "greenlet"
version = "2.0.2"
description = "Lightweight in-process concurrent programming"
-category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
files = [
@@ -682,6 +752,7 @@ files = [
{file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
{file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
{file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
+ {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"},
{file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
@@ -690,6 +761,7 @@ files = [
{file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
{file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
{file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
+ {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
@@ -719,6 +791,7 @@ files = [
{file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
{file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
{file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
+ {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
@@ -727,6 +800,7 @@ files = [
{file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
{file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
{file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
+ {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"},
{file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
@@ -744,10 +818,91 @@ docs = ["Sphinx", "docutils (<0.18)"]
test = ["objgraph", "psutil"]
[[package]]
+name = "greenlet"
+version = "3.0.0rc3"
+description = "Lightweight in-process concurrent programming"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a2affddff9b2f846f40799673e41b29f0500582415c860fca8f146858e9de1a"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd00046dfd00767fce18f9933658d126652a500caf7af9dbfbd43818e4b484c2"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e787b00002cef3b98c7cf700fb85c2c01b0d202b1c6731706e5baa4b3325aa1e"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ffc7538bc66766a8b551888903d415773481c4bd13560a4fb24887222e3cc9"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dde5deb355b34bbf44b15789e27c56862f51f417207be49eedc58fce34681fe6"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1fb703a102a02361a0cc6a3d9a7958e1584fdeb536bd37ca9aca529d3356bedd"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f8661d14d3e07f2ceeb850e4cbcc7114bdf90a8dc82d63d37b08a50bb6955a77"},
+ {file = "greenlet-3.0.0rc3-cp310-cp310-win_amd64.whl", hash = "sha256:997456b74efee91ceeb39d63818909da5dbb712a07f7742f4378986ac3473463"},
+ {file = "greenlet-3.0.0rc3-cp310-universal2-macosx_11_0_x86_64.whl", hash = "sha256:d3cd3957af8cec1fcfd87d92ca71b7d434d798036e14ae878f9ab1e07d99da0d"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:895b689fc52a5bc402f8d624705110df5c265b1410ffe8e0769a66db9d2e7851"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a84a88422b5a0360fae57ad6b3b20fc17c9462880929810b0a26ee43aa05982e"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d79cf299ba1996d8a4f133b317e709a0a3ce87181308280e40664e12cb512c54"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9789aea735004eba559c7919a73a3b475d0c28e2c1e9de464c6bc761bf69f4"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:66790e1537382e53bce64de3a695d1b12a04b00104df45f7ef472a10561936c2"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:68349987bf2ce274953f9f9b28458869bd8770a0c5461e1ef91d8107b1bae361"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30ffaa6c020a615c8f4be3abfc6029982fda026a3bf9a6dc7205afb033251506"},
+ {file = "greenlet-3.0.0rc3-cp311-cp311-win_amd64.whl", hash = "sha256:864619b058f573058cd77f6944cf63d7f42157fe30be494798721bd8ac256d7b"},
+ {file = "greenlet-3.0.0rc3-cp311-universal2-macosx_10_9_universal2.whl", hash = "sha256:7c887ecb55374d585d71ff8f9d07c137637694e88fa2b5d5b1450a05ece62ae9"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:686821157368c1c4ef53aa68e6801280010da92ab0e4265dad37003341fca6a1"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:242d56d2d5f6859f0f086ce62555a2c692c8053c89721d41fead5e1e8dffdb36"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81d653ae6c64b85ce4c7bccbea7b630de8799da751b73e55b4c68875b6eb19d6"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beeb5cfbd8f3792c37db4e3c5665aa750d78bbdabe758161a34e7dfe27075e69"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:30daee988fc83078b016fa95a7a1f78a7c86534a44238748b9748675814eb1dc"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:977898b8c24159467c66ed1a8f62aacd33f3d85f852cf413d0d2e2a87a6b3091"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:097a2f75c79c3fa76fea2e5d48a637233722fe72a5ebb1213c55f0a0898f481c"},
+ {file = "greenlet-3.0.0rc3-cp312-cp312-win_amd64.whl", hash = "sha256:5770d43b08dfa10f4460c1bd51f8c80e6f2c47611054e9fb80d4d7976d07e560"},
+ {file = "greenlet-3.0.0rc3-cp312-universal2-macosx_10_9_universal2.whl", hash = "sha256:f33e7ff85775cb0ec6abb0950ffc631960bae5a203da38166fc3dfde826e0d0a"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f6d1ce31a1db5102a42b4afa609af330edfd8a81d10faba3e47ae33a07cbdf"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86e651fa59263f7ff1d4657b086c48cfe7e26db2a36e2d74069f3b5aeab478e6"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef7c6e49a9a020d56349c6a769352709bfbe35d3ee7f98bd5efcac6cedbdc162"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5585bf8d1d2d3712010ee74988c2ed85c54b127b97f2778fbdcc5b3ea8e801a2"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c706041cd92e1b9d2b602eaa31e94aad14453bdbf186ce77530f25167c173a0e"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:37213e72058d2e6231d18417adc63c698c040fbb47dc59a3fd633973214ab1ab"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:95bc6ec8dd73f8f36e9dfc61a7fa5a2819d1cd52d0bfdb70a43434d6b2aeb239"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-win32.whl", hash = "sha256:e83c4c7a0814dcfd7e2fe4b74a371f3ce489b62ff02e81d0c5cacc8ba4750395"},
+ {file = "greenlet-3.0.0rc3-cp37-cp37m-win_amd64.whl", hash = "sha256:4c35608918f331256be199d3712552fa8a1d12f87ac171a86a31488c60d298f5"},
+ {file = "greenlet-3.0.0rc3-cp37-universal2-macosx_11_0_x86_64.whl", hash = "sha256:215bdb33e85fd89fe55f9984dc6f0a96b5774bace663e1a6d051e65d66170ef8"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69db00f775ed9d233f53ef67c66ea40a7add0c0929eb528f633982e27595dd37"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fcc7162944c2fedfb2253ca2171267e016a3b065c73369d0d4a27f601e7f162"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c0082d7b83312c59127811367089f812f8f1386fad7e8cf321fd732b4a6ace6"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66f1131c17dba115ea7cb3b257b6751b3c4cfd324f2121447e2483f57abbbf3c"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0c5508582339090b99e2863a157fc2708ab9c8b5cd21619bdcb04edcdc6c28d"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f1c9ad8d6500f7b142a94054281d9628bc8652a14b0923d02e0dfd87392fbc74"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bd586284bbf18ca3068e1fcc67ef54538e1bb74cb605ebdac9e62048237839f5"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-win32.whl", hash = "sha256:1c16f1bbaf9c75dfac3e52bb778d2fd6099fd5aa59fafa678eca5853eedd99ec"},
+ {file = "greenlet-3.0.0rc3-cp38-cp38-win_amd64.whl", hash = "sha256:e388ceb55b8f3f388afea4d4a17a64b619040f0e8e9fa3e17e7c34f4d0fbe103"},
+ {file = "greenlet-3.0.0rc3-cp38-universal2-macosx_11_0_x86_64.whl", hash = "sha256:68bd35ad9f99df0ef18836fd0fb34278dca6b3350bdcf1e8809822fc4f57a82e"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:256b748fc1e6c97012f217e0a403116cb0dd369bf1cff51c07a9c52899d4a8a8"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4936e6e051932848c4b237a874da8dbb47bfbb5ae5104497fb78c4f4cf184989"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a31b3a4bd10c540a7eb7d4b43d16779813ca4c79b615ed6d4ebf0e5a782d9fa0"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6f8253fdb00e74b928ab5d04f88ddbc8beb0cc26aa978bb4a12c1513166d481"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a7831d04a0f8a14645c010e3fb3fa36b8d2df304dd837948427ccfec2524ddf"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ae84d2f2658990f29df4ea753061b25c337bd70f805128af328098e5b8afc454"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cd51cc2528a2985f3bc0564c1b1ce5b2e6fa4ee9924503010428256fa95b0e3c"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-win32.whl", hash = "sha256:e8698f341e78dd0f149511929e92d1507cc26647f047db13987169d244db10fb"},
+ {file = "greenlet-3.0.0rc3-cp39-cp39-win_amd64.whl", hash = "sha256:f059457db4e2ae4a4fdae455453c5e5765aa08efcb804e2a106c69c31bd438ba"},
+ {file = "greenlet-3.0.0rc3-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:c80cac2776df3dd08f27b7338f467a62ee6cb29668a8f4f408b8da1f981aae9e"},
+ {file = "greenlet-3.0.0rc3.tar.gz", hash = "sha256:0df5c2ad154f457fd372e39723493b3df519330a4c1bff3ca901be66130f379b"},
+]
+
+[package.extras]
+docs = ["Sphinx"]
+test = ["objgraph", "psutil"]
+
+[[package]]
+name = "h11"
+version = "0.14.0"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
+ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
+]
+
+[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -757,14 +912,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -773,13 +927,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -791,7 +944,6 @@ files = [
name = "itsdangerous"
version = "2.1.2"
description = "Safely pass data to untrusted environments and back."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -803,7 +955,6 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -819,102 +970,109 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "lief"
-version = "0.13.1"
+version = "0.13.2"
description = "Library to instrument executable formats"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
- {file = "lief-0.13.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:b53317d78f8b7528e3f2f358b3f9334a1a84fae88c5aec1a3b7717ed31bfb066"},
- {file = "lief-0.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bb8b285a6c670df590c36fc0c19b9d2e32b99f17e57afa29bb3052f1d55aa50f"},
- {file = "lief-0.13.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:be871116faa698b6d9da76b0caec2ec5b7e7b8781cfb3a4ac0c4e348fb37ab49"},
- {file = "lief-0.13.1-cp310-cp310-manylinux_2_24_x86_64.whl", hash = "sha256:c6839df875e912edd3fc553ab5d1b916527adee9c57ba85c69314a93f7ba2e15"},
- {file = "lief-0.13.1-cp310-cp310-win32.whl", hash = "sha256:b1f295dbb57094443926ac6051bee9a1945d92344f470da1cb506060eb2f91ac"},
- {file = "lief-0.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:8439805a389cc67b6d4ea7d757a3211f22298edce53c5b064fdf8bf05fabba54"},
- {file = "lief-0.13.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:3cfbc6c50f9e3a8015cd5ee88dfe83f423562c025439143bbd5c086a3f9fe599"},
- {file = "lief-0.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:661abaa48bc032b9a7529e0b73d2ced3e4a1f13381592f6b9e940750b07a5ac2"},
- {file = "lief-0.13.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:23617d96d162081f8bf315d9b0494845891f8d0f04ad60991b83367ee9e261aa"},
- {file = "lief-0.13.1-cp311-cp311-manylinux_2_24_x86_64.whl", hash = "sha256:aa7f45c5125be80a513624d3a5f6bd50751c2edc6de5357fde218580111c8535"},
- {file = "lief-0.13.1-cp311-cp311-win32.whl", hash = "sha256:018b542f09fe2305e1585a3e63a7e5132927b835062b456e5c8c571db7784d1e"},
- {file = "lief-0.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:bfbf8885a3643ea9aaf663d039f50ca58b228886c3fe412725b22851aeda3b77"},
- {file = "lief-0.13.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a0472636ab15b9afecf8b5d55966912af8cb4de2f05b98fc05c87d51880d0208"},
- {file = "lief-0.13.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:ccfba33c02f21d4ede26ab85eb6539a00e74e236569c13dcbab2e157b73673c4"},
- {file = "lief-0.13.1-cp38-cp38-manylinux_2_24_x86_64.whl", hash = "sha256:e414d6c23f26053f4824d080885ab1b75482122796cba7d09cbf157900646289"},
- {file = "lief-0.13.1-cp38-cp38-win32.whl", hash = "sha256:a18fee5cf69adf9d5ee977778ccd46c39c450960f806231b26b69011f81bc712"},
- {file = "lief-0.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:04c87039d1e68ebc467f83136179626403547dd1ce851541345f8ca0b1fe6c5b"},
- {file = "lief-0.13.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:0283a4c749afe58be8e21cdd9be79c657c51ca9b8346f75f4b97349b1f022851"},
- {file = "lief-0.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95a4b6d1f8dba9360aecf7542e54ce5eb02c0e88f2d827b5445594d5d51109f5"},
- {file = "lief-0.13.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:16753bd72b1e3932d94d088a93b64e08c1f6c8bce1b064b47fe66ed73d9562b2"},
- {file = "lief-0.13.1-cp39-cp39-manylinux_2_24_x86_64.whl", hash = "sha256:965fadb1301d1a81f16067e4fa743d2be3f6aa71391a83b752ff811ec74b0766"},
- {file = "lief-0.13.1-cp39-cp39-win32.whl", hash = "sha256:57bdb0471760c4ff520f5e5d005e503cc7ea3ebe22df307bb579a1a561b8c4e9"},
- {file = "lief-0.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:a3c900f49c3d3135c728faeb386d13310bb3511eb2d4e1c9b109b48ae2658361"},
+ {file = "lief-0.13.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:0390cfaaf0e9aed46bebf26f00f34852768f76bc7f90abf7ceb384566200e5f5"},
+ {file = "lief-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5581bf0072c1e7a9ea2fb2e2252b8582016e8b298804b5461e552b402c9cd4e9"},
+ {file = "lief-0.13.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:dbbf2fb3d7807e815f345c77e287da162e081100f059ec03005995befc295d7f"},
+ {file = "lief-0.13.2-cp310-cp310-manylinux_2_24_x86_64.whl", hash = "sha256:d344d37334c2b488dc02f04cb13c22cd61aa065eeb9bca7424588e0c8c23bdfb"},
+ {file = "lief-0.13.2-cp310-cp310-win32.whl", hash = "sha256:bc041b28b94139843a33c014e355822a9276b35f3c5ae10d82da56bf572f8222"},
+ {file = "lief-0.13.2-cp310-cp310-win_amd64.whl", hash = "sha256:01d4075bbc3541e9dd3ef008045fa1eb128294a0c5b0c1f69ce60d8948d248c7"},
+ {file = "lief-0.13.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6570dacebe107ad60c2ba0968d1a865d316009d43cc85af3719d3eeb0911abf3"},
+ {file = "lief-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7ce2e3f7c791efba327c2bb3499dbef81e682027109045a9bae696c62e2aeeb0"},
+ {file = "lief-0.13.2-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:11ab900e0644b6735ecdef2bbd04439b4866a527650fc054470c195d6cfe2917"},
+ {file = "lief-0.13.2-cp311-cp311-manylinux_2_24_x86_64.whl", hash = "sha256:042ad2105a136b11a7494b9af8178468e8cb32b8fa2a0a55cb659a5605aeb069"},
+ {file = "lief-0.13.2-cp311-cp311-win32.whl", hash = "sha256:1ce289b6ab3cf4be654270007e8a2c0d2e42116180418c29d3ce83762955de63"},
+ {file = "lief-0.13.2-cp311-cp311-win_amd64.whl", hash = "sha256:eccb248ffb598e410fd2ef7c1f171a3cde57a40c9bb8c4fa15d8e7b90eb4eb2d"},
+ {file = "lief-0.13.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:95731cadedd6ffc5fb48c147fcefe004624e436b75e8ee9fb2dbf2ae5f084342"},
+ {file = "lief-0.13.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8da75df0ea472557fcc37a27ba583bad5a8f3a256c186600d00a6dd0a57f718a"},
+ {file = "lief-0.13.2-cp38-cp38-manylinux_2_24_x86_64.whl", hash = "sha256:b99092f02c13f580c2d00b504af224b7e60e7c98a791e72ae8519f530b7687bb"},
+ {file = "lief-0.13.2-cp38-cp38-win32.whl", hash = "sha256:03db0138e4dbbdfa8bba74de312b0cebb30f504e44f38a9c8918b84022da340b"},
+ {file = "lief-0.13.2-cp38-cp38-win_amd64.whl", hash = "sha256:36c5bea3f8460dee3ebb75d35949f445638ec85d2871f31e293c47fb4a0a5af7"},
+ {file = "lief-0.13.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:eca8ecbcae1ad851ed7cf1e22ec8accd74f2267fa7375194559fb917523d8a92"},
+ {file = "lief-0.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8703cb5308b4828563badc6885ff07a3926ec3403d1caa3aa75f24fe9cbcf84"},
+ {file = "lief-0.13.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c60f2f79e7d0d1f18dec7dcdb4d4f35e6b126ac29e2f2f056d28ec50599d868a"},
+ {file = "lief-0.13.2-cp39-cp39-manylinux_2_24_x86_64.whl", hash = "sha256:e0f84a7443b7f1b02666fd16a9aa57f5d9027e60ba2885e0d76db8426d689707"},
+ {file = "lief-0.13.2-cp39-cp39-win32.whl", hash = "sha256:3f8f251de874929d9c9e94a35891621ab8c059149f8a1c24e543fd9cf0c2a31c"},
+ {file = "lief-0.13.2-cp39-cp39-win_amd64.whl", hash = "sha256:2bbe294385e629aa7206b2f39f0ca34e3948605a8db50b22091603053889a759"},
]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "mypy-extensions"
version = "1.0.0"
description = "Type system extensions for programs checked with the mypy type checker."
-category = "dev"
optional = false
python-versions = ">=3.5"
files = [
@@ -926,20 +1084,23 @@ files = [
name = "onionshare-cli"
version = "2.6.1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
-category = "main"
optional = false
python-versions = ">=3.8,<3.12"
files = []
develop = true
[package.dependencies]
+cffi = "^1.15.1"
click = "*"
colorama = "*"
+cython = "^3.0.2"
eventlet = "*"
flask = "2.3.2"
flask-compress = "^1.13"
flask-socketio = "5.3.4"
+gevent = "^23.9.1"
gevent-websocket = "*"
+packaging = "^23.1"
psutil = "*"
pynacl = "*"
pysocks = "*"
@@ -950,6 +1111,7 @@ unidecode = "*"
urllib3 = "*"
waitress = "^2.1.2"
werkzeug = ">=2.3.4"
+wheel = "^0.41.2"
[package.source]
type = "directory"
@@ -959,7 +1121,6 @@ url = "../cli"
name = "packaging"
version = "23.1"
description = "Core utilities for Python packages"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -971,7 +1132,6 @@ files = [
name = "patchelf"
version = "0.17.2.1"
description = "A small utility to modify the dynamic linker and RPATH of ELF executables."
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -989,42 +1149,39 @@ test = ["importlib-metadata", "pytest"]
[[package]]
name = "pathspec"
-version = "0.11.1"
+version = "0.11.2"
description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
- {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
+ {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"},
+ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"},
]
[[package]]
name = "platformdirs"
-version = "3.5.1"
+version = "3.10.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"},
- {file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"},
+ {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"},
+ {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"},
]
[package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
[[package]]
name = "pluggy"
-version = "1.0.0"
+version = "1.3.0"
description = "plugin and hook calling mechanisms for python"
-category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+ {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
+ {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
]
[package.extras]
@@ -1035,7 +1192,6 @@ testing = ["pytest", "pytest-benchmark"]
name = "psutil"
version = "5.9.5"
description = "Cross-platform lib for process and system monitoring in Python."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1062,7 +1218,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1074,7 +1229,6 @@ files = [
name = "pynacl"
version = "1.5.0"
description = "Python binding to the Networking and Cryptography (NaCl) library"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -1101,7 +1255,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"]
name = "pypng"
version = "0.20220715.0"
description = "Pure Python library for saving and loading PNG images"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1111,69 +1264,65 @@ files = [
[[package]]
name = "pyside6"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:dc2d249ea2486526d1bb74e6cf96e2b49f2089cf069ab289a168aa48b5c251d5"},
- {file = "PySide6-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b7b6588527eb1ca45afb8918f109d827f7d248beaec14e7acdaea18883680aee"},
- {file = "PySide6-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:1517dd56f7235a98f3e1fcc983d3c8cf3d539b33164815c6e06442a297d2ab0d"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:a55403254ff7421bea5b8e2196fded24e4a0357d3b1f10d5f01ffc3ae937c71a"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:25c83843de0aa562631620721e4599eed55bc96747ed869caa631ecf92070951"},
- {file = "PySide6-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:645c1a99c37a0ce045b23fb35faacf54d98442cc16f621fe1dad2a1d2880e5e3"},
+ {file = "PySide6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b509e4d3ffde4a594d70000f881452643c9aaed800bad2959882075c01f72428"},
+ {file = "PySide6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e6d879ca0f8827a7866856fbedd08857e4bd8f9a858dc998dea10d1913e97938"},
+ {file = "PySide6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:0356dc73c138c25b980d716e425801a61d4aa1d9f7811cf8a825499edfd4d1ae"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:f0944cb0da34dc3b0bb62c7a20b6618667760eccdaa4262a90ba7f64b19fb783"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ca259b4377eb74e4c9cb74a2afb18c37658f0c83dc18229d1f325974739f6df2"},
+ {file = "PySide6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad82cb12f805c5bec7693d6f1c0d6e4ae4b9462eb368a81bc0d3091de8fae76e"},
]
[package.dependencies]
-PySide6-Addons = "6.5.1.1"
-PySide6-Essentials = "6.5.1.1"
-shiboken6 = "6.5.1.1"
+PySide6-Addons = "6.5.2"
+PySide6-Essentials = "6.5.2"
+shiboken6 = "6.5.2"
[[package]]
name = "pyside6-addons"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework (Addons)"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:aadda3376a81dbead867380f7ae81d2fe0fb1ffd482bfc10212be8b0d06c2c4c"},
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cf18c88274d6c9c29cccbecb11c72b1f0b0bb077dc044f9b40354f13d0c1c52e"},
- {file = "PySide6_Addons-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:d6370dfd03329cdcc91288d64bd1e26a5fc1908958b8a81fea5010a5849db441"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:e3ab22776e620d9467ffb2d76be06d5a3b8b3859d77e2e73f65f2b29018645e7"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4e1bc141a7aa9488dc77c9b29ad412e417e601cc8e23050517f7c6c8634feb46"},
- {file = "PySide6_Addons-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:441f8797d6b01c9dd9b848d0e156b2b5042d71d9266d0a6ded48c9b1cd337821"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:a31cb7eca2e8cd80332e131124ed9ad197610a2a80eac4f2bd58e9124e38060a"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:bea98d823179b814109dcf3ac6c8a0eddf886570aa9ef8ef09b6bae37bc227ca"},
+ {file = "PySide6_Addons-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:c77e06fd511cc8b9292c01724504d6806c33c1f5904bc59f5a8c560a74c15438"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:15bf592e54b3409853c3db23bdb20fb14725b84d50feee862e8b2a3a8a3a0627"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:26b55a658fed94a0b3c09927b408663860aca530bf6e83040dcb8fdcc221877d"},
+ {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:793a53b7db32f7780fa9571a14f0bce3700604247127cdb2125b380c577a92eb"},
]
[package.dependencies]
-PySide6-Essentials = "6.5.1.1"
-shiboken6 = "6.5.1.1"
+PySide6-Essentials = "6.5.2"
+shiboken6 = "6.5.2"
[[package]]
name = "pyside6-essentials"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python bindings for the Qt cross-platform application and UI framework (Essentials)"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:c0cc3b1e7ca0e6b7a0cb8190a8538242972df43c1f9014cc0cd066d4ed7fc83a"},
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:bfd8900b1bf6a595b7d63539817bc825941f737486a093d519514c5b67af789f"},
- {file = "PySide6_Essentials-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:1346e6a4e97d97f54e6c0805150c6dead4cc0e7914d77167f836eb36b83acb5c"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:0111386918064fa84a498ed7a6e93ec4155fe96e8d4f9c9e3ac54a5b65ddfadf"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6264b00099a9bed0020460033e2a4369513e0e69f7abe3f436c3c6390164bcea"},
- {file = "PySide6_Essentials-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:620cefb6c954d59f941f06acecfe5cdf42bf470f2f3e6b9d023f49f93d740080"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:c9606de7afaee57f2c0861cc4b973bd630556dd38ec0d1542560cba81c27ab81"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1620e82b38714a1570b142c01694d0415a25526517b24620ff9b00c9f76cfca9"},
+ {file = "PySide6_Essentials-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:e67b10f96f0ac5ed24d7e3c4985d37c70550a9dee6f38b127faf5e5341151665"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:149f1db77d82f35c6a88a403f5297645ebe737df28e163ac4dc402dfa0b961ee"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4be6ed964cb863823f2788717b9a6ba8f1d94eb3fa2bf1584f4621ab5e021e27"},
+ {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6b21cf78b33554f793d409d79b828d9578d34200c86f813ef1b8dac756589b71"},
]
[package.dependencies]
-shiboken6 = "6.5.1.1"
+shiboken6 = "6.5.2"
[[package]]
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1184,14 +1333,13 @@ files = [
[[package]]
name = "pytest"
-version = "7.3.1"
+version = "7.4.2"
description = "pytest: simple powerful testing with Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
- {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
+ {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"},
+ {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"},
]
[package.dependencies]
@@ -1203,13 +1351,12 @@ pluggy = ">=0.12,<2.0"
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "pytest-faulthandler"
version = "2.0.1"
description = "py.test plugin that activates the fault handler module for tests (dummy package)"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1224,7 +1371,6 @@ pytest = ">=5.0"
name = "pytest-qt"
version = "4.2.0"
description = "pytest support for PyQt and PySide applications"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1241,57 +1387,58 @@ doc = ["sphinx", "sphinx-rtd-theme"]
[[package]]
name = "python-engineio"
-version = "4.4.1"
+version = "4.7.1"
description = "Engine.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-engineio-4.4.1.tar.gz", hash = "sha256:eb3663ecb300195926b526386f712dff84cd092c818fb7b62eeeda9160120c29"},
- {file = "python_engineio-4.4.1-py3-none-any.whl", hash = "sha256:28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773"},
+ {file = "python-engineio-4.7.1.tar.gz", hash = "sha256:a8422e345cd9a21451303380b160742ff02197975b1c3a02cef115febe2b1b20"},
+ {file = "python_engineio-4.7.1-py3-none-any.whl", hash = "sha256:52499e8ab94fea1a6525ffe872fe7028d04b575799c5fa8e2cf7880e032de42e"},
]
+[package.dependencies]
+simple-websocket = ">=0.10.0"
+
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "python-gnupg"
-version = "0.5.0"
+version = "0.5.1"
description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
-category = "main"
optional = false
python-versions = "*"
files = [
- {file = "python-gnupg-0.5.0.tar.gz", hash = "sha256:70758e387fc0e0c4badbcb394f61acbe68b34970a8fed7e0f7c89469fe17912a"},
- {file = "python_gnupg-0.5.0-py2.py3-none-any.whl", hash = "sha256:345723a03e67b82aba0ea8ae2328b2e4a3906fbe2c18c4082285c3b01068f270"},
+ {file = "python-gnupg-0.5.1.tar.gz", hash = "sha256:5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8"},
+ {file = "python_gnupg-0.5.1-py2.py3-none-any.whl", hash = "sha256:bf9b2d9032ef38139b7d64184176cd0b293eaeae6e4f93f50e304c7051174482"},
]
[[package]]
name = "python-socketio"
-version = "5.8.0"
+version = "5.9.0"
description = "Socket.IO server and client for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "python-socketio-5.8.0.tar.gz", hash = "sha256:e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"},
- {file = "python_socketio-5.8.0-py3-none-any.whl", hash = "sha256:7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441"},
+ {file = "python-socketio-5.9.0.tar.gz", hash = "sha256:dc42735f65534187f381fde291ebf620216a4960001370f32de940229b2e7f8f"},
+ {file = "python_socketio-5.9.0-py3-none-any.whl", hash = "sha256:c20f12e4ed0cba57581af26bbeea9998bc2eeebb3b952fa92493a1e051cfe9dc"},
]
[package.dependencies]
bidict = ">=0.21.0"
-python-engineio = ">=4.3.0"
+python-engineio = ">=4.7.0"
[package.extras]
asyncio-client = ["aiohttp (>=3.4)"]
client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"]
+docs = ["sphinx"]
[[package]]
name = "qrcode"
version = "7.4.2"
description = "QR Code image generator"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1315,7 +1462,6 @@ test = ["coverage", "pytest"]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1336,42 +1482,53 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "shiboken6"
-version = "6.5.1.1"
+version = "6.5.2"
description = "Python/C++ bindings helper module"
-category = "main"
optional = false
python-versions = "<3.12,>=3.7"
files = [
- {file = "shiboken6-6.5.1.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:59fc1797df38c9e8c89cc43d5996a4c0331d0258087fa9d6466b03822aba6ff2"},
- {file = "shiboken6-6.5.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4338a8eb00e8d6f5b27edf85ab689ada905a4490c73ed3f23ff3b3c5f72a563e"},
- {file = "shiboken6-6.5.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:aa6289cdbaa12f364f1c45d60d9d483c3842ee9cf6e9acdc3efd21cd460c2eb5"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:db029b9d895052c1f42b1f929af3a5f6e688a88c5862aed24d5094086b034ab2"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1c7ba82093d66ace5c7a07ed9c7b4ea57a311ddbfecbe44aff7ed023efc8a380"},
- {file = "shiboken6-6.5.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:34cacba2954bff632476fbead190868c6f068a6dd9e5c8fd7d2ed4f8f5cfade4"},
+ {file = "shiboken6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:ba7af130d34ea03e329baebd80982d2635aee7e58dbb07a07085509a501ed03f"},
+ {file = "shiboken6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3fbc35ff3c19e7d39433671bfc1be3d7fa9d071bfdd0ffe1c2a4d27acd6cf6a5"},
+ {file = "shiboken6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:558bdb3b0ccc8aac5f9029eabfd6ad8d41f93a87cd7f54395e07732fce39280d"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:4e073b40734a7f9cc6ac289c735362967bb45c34f591f7c0fab7cef1d62e6a66"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cc89759aabafce49b629b189ed7c81986fedaac695714a4eed1aaeb16783c6a9"},
+ {file = "shiboken6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e60d8dd3292e3f87662b9e37ae5c558c519f8250da627c473b68bd8d24ed3243"},
]
[[package]]
+name = "simple-websocket"
+version = "0.10.1"
+description = "Simple WebSocket server and client for Python"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "simple-websocket-0.10.1.tar.gz", hash = "sha256:0ab46c8ffa51a46dc95eed94608b3b722841c0bf849def71d465c5c356679c82"},
+ {file = "simple_websocket-0.10.1-py3-none-any.whl", hash = "sha256:62c36bacfd75cc867927bb39d91951342a7234bdfe20f41dd969a3b8bb1413b7"},
+]
+
+[package.dependencies]
+wsproto = "*"
+
+[[package]]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -1383,7 +1540,6 @@ files = [
name = "stem"
version = "1.8.1"
description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1394,7 +1550,6 @@ files = [
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1404,38 +1559,35 @@ files = [
[[package]]
name = "typing-extensions"
-version = "4.6.2"
-description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "main"
+version = "4.8.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.6.2-py3-none-any.whl", hash = "sha256:3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"},
- {file = "typing_extensions-4.6.2.tar.gz", hash = "sha256:06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c"},
+ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"},
+ {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"},
]
[[package]]
name = "unidecode"
-version = "1.3.6"
+version = "1.3.7"
description = "ASCII transliterations of Unicode text"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
- {file = "Unidecode-1.3.6-py3-none-any.whl", hash = "sha256:547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be"},
- {file = "Unidecode-1.3.6.tar.gz", hash = "sha256:fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830"},
+ {file = "Unidecode-1.3.7-py3-none-any.whl", hash = "sha256:663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4"},
+ {file = "Unidecode-1.3.7.tar.gz", hash = "sha256:3c90b4662aa0de0cb591884b934ead8d2225f1800d8da675a7750cbc3bd94610"},
]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.5"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.5-py3-none-any.whl", hash = "sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"},
+ {file = "urllib3-2.0.5.tar.gz", hash = "sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594"},
]
[package.extras]
@@ -1448,7 +1600,6 @@ zstd = ["zstandard (>=0.18.0)"]
name = "waitress"
version = "2.1.2"
description = "Waitress WSGI server"
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -1462,14 +1613,13 @@ testing = ["coverage (>=5.0)", "pytest", "pytest-cover"]
[[package]]
name = "werkzeug"
-version = "2.3.4"
+version = "2.3.7"
description = "The comprehensive WSGI web application library."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "Werkzeug-2.3.4-py3-none-any.whl", hash = "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"},
- {file = "Werkzeug-2.3.4.tar.gz", hash = "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76"},
+ {file = "werkzeug-2.3.7-py3-none-any.whl", hash = "sha256:effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528"},
+ {file = "werkzeug-2.3.7.tar.gz", hash = "sha256:2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8"},
]
[package.dependencies]
@@ -1479,31 +1629,57 @@ MarkupSafe = ">=2.1.1"
watchdog = ["watchdog (>=2.3)"]
[[package]]
+name = "wheel"
+version = "0.41.2"
+description = "A built-package format for Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"},
+ {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"},
+]
+
+[package.extras]
+test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
+
+[[package]]
+name = "wsproto"
+version = "1.2.0"
+description = "WebSockets state-machine based protocol implementation"
+optional = false
+python-versions = ">=3.7.0"
+files = [
+ {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"},
+ {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"},
+]
+
+[package.dependencies]
+h11 = ">=0.9.0,<1"
+
+[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]]
name = "zope-event"
-version = "4.6"
+version = "5.0"
description = "Very basic event publishing system"
-category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "zope.event-4.6-py2.py3-none-any.whl", hash = "sha256:73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c"},
- {file = "zope.event-4.6.tar.gz", hash = "sha256:81d98813046fc86cc4136e3698fee628a3282f9c320db18658c21749235fce80"},
+ {file = "zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26"},
+ {file = "zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd"},
]
[package.dependencies]
@@ -1517,7 +1693,6 @@ test = ["zope.testrunner"]
name = "zope-interface"
version = "6.0"
description = "Interfaces for Python"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1564,4 +1739,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8,<3.12"
-content-hash = "683437851fbb552c473c51ce126aa554ab8cb27fb26359a48fecfdad56a75452"
+content-hash = "503cfec4f92c7f09b325690f1b5de8bf04532a7b93a5a76e77548bcce269396e"
diff --git a/desktop/pyproject.toml b/desktop/pyproject.toml
index 01e61d6a..d5745eda 100644
--- a/desktop/pyproject.toml
+++ b/desktop/pyproject.toml
@@ -8,7 +8,7 @@ license = "GPLv3+"
[tool.poetry.dependencies]
python = ">=3.8,<3.12"
onionshare_cli = {path = "../cli", develop = true}
-PySide6 = "6.5.1.1"
+PySide6 = "6.5.2"
qrcode = "*"
werkzeug = "*"
python-gnupg = "*"
diff --git a/desktop/scripts/build-macos.py b/desktop/scripts/build-macos.py
index 345646fc..c2e4251c 100644
--- a/desktop/scripts/build-macos.py
+++ b/desktop/scripts/build-macos.py
@@ -178,98 +178,37 @@ def cleanup_build():
except FileNotFoundError:
pass
- print("> Move files around so Apple will notarize")
- # https://github.com/marcelotduarte/cx_Freeze/issues/594
- # https://gist.github.com/TechnicalPirate/259a9c24878fcad948452cb148af2a2c#file-custom_bdist_mac-py-L415
-
- # Move lib from MacOS into Resources
- os.rename(
- f"{app_path}/Contents/MacOS/lib",
- f"{app_path}/Contents/Resources/lib",
- )
- run(
- ["ln", "-s", "../Resources/lib"],
- cwd=f"{app_path}/Contents/MacOS",
- )
-
- # Move frameworks from Resources/lib into Frameworks
- os.makedirs(f"{app_path}/Contents/Frameworks", exist_ok=True)
- for framework_filename in glob.glob(
- f"{app_path}/Contents/Resources/lib/PySide6/Qt/lib/Qt*.framework"
- ):
- basename = os.path.basename(framework_filename)
-
- os.rename(framework_filename, f"{app_path}/Contents/Frameworks/{basename}")
- run(
- ["ln", "-s", f"../../../../../Frameworks/{basename}"],
- cwd=f"{app_path}/Contents/Resources/lib/PySide6/Qt/lib",
- )
- if os.path.exists(f"{app_path}/Contents/Frameworks/{basename}/Resources"):
- if not os.path.exists(f"{app_path}/Contents/Frameworks/{basename}/Versions/A/Resources"):
- os.rename(
- f"{app_path}/Contents/Frameworks/{basename}/Resources",
- f"{app_path}/Contents/Frameworks/{basename}/Versions/A/Resources",
- )
- else:
- shutil.rmtree(f"{app_path}/Contents/Frameworks/{basename}/Resources")
- run(
- ["ln", "-s", "Versions/A/Resources"],
- cwd=f"{app_path}/Contents/Frameworks/{basename}",
- )
-
- try:
- run(
- ["ln", "-s", "A", "Current"],
- cwd=f"{app_path}/Contents/Frameworks/{basename}/Versions",
- )
- except:
- pass
-
- # Move Qt plugins
- os.rename(
- f"{app_path}/Contents/Resources/lib/PySide6/Qt/plugins",
- f"{app_path}/Contents/Frameworks/plugins",
- )
- run(
- ["ln", "-s", "../../../../Frameworks/plugins"],
- cwd=f"{app_path}/Contents/Resources/lib/PySide6/Qt",
- )
-
print("> Delete more unused PySide6 stuff to save space")
for filename in [
f"{app_path}/Contents/Resources/lib/PySide6/Designer.app",
- f"{app_path}/Contents/Resources/lib/PySide6/examples",
f"{app_path}/Contents/Resources/lib/PySide6/glue",
f"{app_path}/Contents/Resources/lib/PySide6/include",
f"{app_path}/Contents/Resources/lib/PySide6/lupdate",
- f"{app_path}/Contents/Resources/lib/PySide6/libpyside6.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/Qt/qml",
- f"{app_path}/Contents/Resources/lib/shiboken6/libshiboken6.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/Assistant.app",
f"{app_path}/Contents/Resources/lib/PySide6/Linguist.app",
- f"{app_path}/Contents/Resources/lib/PySide6/libpyside6qml.abi3.6.4.dylib",
f"{app_path}/Contents/Resources/lib/PySide6/lrelease",
f"{app_path}/Contents/Resources/lib/PySide6/qmlformat",
f"{app_path}/Contents/Resources/lib/PySide6/qmllint",
f"{app_path}/Contents/Resources/lib/PySide6/qmlls",
- f"{app_path}/Contents/MacOS/QtBluetooth",
- f"{app_path}/Contents/MacOS/QtConcurrent",
- f"{app_path}/Contents/MacOS/QtDesigner",
- f"{app_path}/Contents/MacOS/QtNetworkAuth",
- f"{app_path}/Contents/MacOS/QtNfc",
- f"{app_path}/Contents/MacOS/QtOpenGL",
- f"{app_path}/Contents/MacOS/QtOpenGLWidgets",
- f"{app_path}/Contents/MacOS/QtPositioning",
- f"{app_path}/Contents/MacOS/QtQuick3D",
- f"{app_path}/Contents/MacOS/QtQuick3DRuntimeRender",
- f"{app_path}/Contents/MacOS/QtQuick3DUtils",
- f"{app_path}/Contents/MacOS/QtShaderTools",
- f"{app_path}/Contents/MacOS/QtStateMachine",
- f"{app_path}/Contents/MacOS/QtSvgWidgets",
- f"{app_path}/Contents/MacOS/QtWebChannel",
- f"{app_path}/Contents/MacOS/QtWebEngineCore",
- f"{app_path}/Contents/MacOS/QtWebEngineQuick",
- f"{app_path}/Contents/MacOS/QtXml",
+ f"{app_path}/Contents/Resources/lib/QtBluetooth",
+ f"{app_path}/Contents/Resources/lib/QtConcurrent",
+ f"{app_path}/Contents/Resources/lib/QtDesigner",
+ f"{app_path}/Contents/Resources/lib/QtNetworkAuth",
+ f"{app_path}/Contents/Resources/lib/QtNfc",
+ f"{app_path}/Contents/Resources/lib/QtOpenGL",
+ f"{app_path}/Contents/Resources/lib/QtOpenGLWidgets",
+ f"{app_path}/Contents/Resources/lib/QtPositioning",
+ f"{app_path}/Contents/Resources/lib/QtQuick3D",
+ f"{app_path}/Contents/Resources/lib/QtQuick3DRuntimeRender",
+ f"{app_path}/Contents/Resources/lib/QtQuick3DUtils",
+ f"{app_path}/Contents/Resources/lib/QtShaderTools",
+ f"{app_path}/Contents/Resources/lib/QtStateMachine",
+ f"{app_path}/Contents/Resources/lib/QtSvgWidgets",
+ f"{app_path}/Contents/Resources/lib/QtWebChannel",
+ f"{app_path}/Contents/Resources/lib/QtWebEngineCore",
+ f"{app_path}/Contents/Resources/lib/QtWebEngineQuick",
+ f"{app_path}/Contents/Resources/lib/QtXml",
]:
if os.path.isfile(filename) or os.path.islink(filename):
os.remove(filename)
diff --git a/desktop/scripts/build-pt-meek.ps1 b/desktop/scripts/build-pt-meek.ps1
index 99ff8de6..70b97797 100644
--- a/desktop/scripts/build-pt-meek.ps1
+++ b/desktop/scripts/build-pt-meek.ps1
@@ -1,4 +1,4 @@
-$env:MEEK_TAG = 'v0.37.0'
+$env:MEEK_TAG = 'v0.38.0'
New-Item -ItemType Directory -Force -Path .\build\meek
cd .\build\meek
diff --git a/desktop/scripts/build-pt-meek.sh b/desktop/scripts/build-pt-meek.sh
index 30b583cc..9b8fc205 100755
--- a/desktop/scripts/build-pt-meek.sh
+++ b/desktop/scripts/build-pt-meek.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-MEEK_TAG=v0.37.0
+MEEK_TAG=v0.38.0
OS=$(uname -s)
diff --git a/desktop/scripts/build-pt-snowflake.ps1 b/desktop/scripts/build-pt-snowflake.ps1
index 0c30133c..3f22f871 100644
--- a/desktop/scripts/build-pt-snowflake.ps1
+++ b/desktop/scripts/build-pt-snowflake.ps1
@@ -1,4 +1,4 @@
-$env:SNOWFLAKE_TAG = 'v2.3.1'
+$env:SNOWFLAKE_TAG = 'v2.6.0'
New-Item -ItemType Directory -Force -Path .\build\snowflake
cd .\build\snowflake
diff --git a/desktop/scripts/build-pt-snowflake.sh b/desktop/scripts/build-pt-snowflake.sh
index 96a62565..4d4e858d 100755
--- a/desktop/scripts/build-pt-snowflake.sh
+++ b/desktop/scripts/build-pt-snowflake.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-SNOWFLAKE_TAG=v2.3.1
+SNOWFLAKE_TAG=v2.6.0
OS=$(uname -s)
diff --git a/desktop/scripts/get-tor.py b/desktop/scripts/get-tor.py
index 37f8d4c0..fab70b7e 100644
--- a/desktop/scripts/get-tor.py
+++ b/desktop/scripts/get-tor.py
@@ -310,7 +310,7 @@ def main(platform):
"""
Download Tor Browser and extract tor binaries
"""
- valid_platforms = ["win32", "win64", "macos", "linux64"]
+ valid_platforms = ["win64", "macos", "linux64"]
if platform not in valid_platforms:
click.echo(f"platform must be one of: {valid_platforms}")
return
@@ -322,17 +322,23 @@ def main(platform):
) = get_latest_tor_version_urls(platform)
tmpdir = tempfile.TemporaryDirectory()
gpg = gnupg.GPG(gnupghome=tmpdir.name)
- torkey = gpg.import_keys_file(os.path.join(root_path, "scripts", "kounek7zrdx745qydx6p59t9mqjpuhdf"))
+ torkey = gpg.import_keys_file(
+ os.path.join(root_path, "scripts", "tor-browser-devs.gpg")
+ )
print(f"Imported Tor GPG key: {torkey.fingerprints}")
- if platform == "win32":
- get_tor_windows(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
- elif platform == "win64":
- get_tor_windows(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
+ if platform == "win64":
+ get_tor_windows(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
elif platform == "macos":
- get_tor_macos(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
+ get_tor_macos(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
elif platform == "linux64":
- get_tor_linux64(gpg, torkey, platform_url, platform_filename, expected_platform_sig)
+ get_tor_linux64(
+ gpg, torkey, platform_url, platform_filename, expected_platform_sig
+ )
else:
click.echo("invalid platform")
diff --git a/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf b/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf
deleted file mode 100644
index 8f4e9750..00000000
--- a/desktop/scripts/kounek7zrdx745qydx6p59t9mqjpuhdf
+++ /dev/null
Binary files differ
diff --git a/desktop/scripts/tor-browser-devs.gpg b/desktop/scripts/tor-browser-devs.gpg
new file mode 100644
index 00000000..96e75b85
--- /dev/null
+++ b/desktop/scripts/tor-browser-devs.gpg
Binary files differ
diff --git a/desktop/setup-freeze.py b/desktop/setup-freeze.py
index 9fea8925..663fbf67 100644
--- a/desktop/setup-freeze.py
+++ b/desktop/setup-freeze.py
@@ -44,22 +44,9 @@ if platform.system() == "Windows":
exec_icon = os.path.join("onionshare", "resources", "onionshare.ico")
elif platform.system() == "Darwin":
- import PySide6
- import shiboken6
-
include_msvcr = False
gui_base = None
exec_icon = None
- include_files += [
- (
- os.path.join(PySide6.__path__[0], "libpyside6.abi3.6.5.dylib"),
- "libpyside6.abi3.6.5.dylib",
- ),
- (
- os.path.join(shiboken6.__path__[0], "libshiboken6.abi3.6.5.dylib"),
- "libshiboken6.abi3.6.5.dylib",
- ),
- ]
elif platform.system() == "Linux":
include_msvcr = False
diff --git a/docs/build.sh b/docs/build.sh
index 2bf8eb5a..be86480c 100755
--- a/docs/build.sh
+++ b/docs/build.sh
@@ -3,7 +3,7 @@
VERSION=$(cat ../cli/onionshare_cli/resources/version.txt)
# Supported locales
-LOCALES="en el ja km es sv tr uk"
+LOCALES="en fr el pl es tr uk vi"
# Generate English .po files
make gettext
diff --git a/docs/check-weblate.py b/docs/check-weblate.py
index 76cc6942..3eb1c052 100755
--- a/docs/check-weblate.py
+++ b/docs/check-weblate.py
@@ -50,7 +50,8 @@ async def app_percent_output(percent_min, percent_max=101):
out = []
for lang_code in languages:
if (
- app_translations[lang_code] >= percent_min
+ lang_code in app_translations
+ and app_translations[lang_code] >= percent_min
and app_translations[lang_code] < percent_max
):
out.append(
@@ -110,7 +111,7 @@ async def main():
# Get the list of languages in the OnionShare project
res = await api("/api/projects/onionshare/languages/")
for obj in res:
- languages[obj["code"]] = obj["language"]
+ languages[obj["code"]] = obj["name"]
# Get the app translations for each language
for lang_code in languages:
diff --git a/docs/gettext/.doctrees/advanced.doctree b/docs/gettext/.doctrees/advanced.doctree
index f41c95dc..756cbcc1 100644
--- a/docs/gettext/.doctrees/advanced.doctree
+++ b/docs/gettext/.doctrees/advanced.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/develop.doctree b/docs/gettext/.doctrees/develop.doctree
index cee84cce..80315377 100644
--- a/docs/gettext/.doctrees/develop.doctree
+++ b/docs/gettext/.doctrees/develop.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/environment.pickle b/docs/gettext/.doctrees/environment.pickle
index 1e2199cd..c378ddc3 100644
--- a/docs/gettext/.doctrees/environment.pickle
+++ b/docs/gettext/.doctrees/environment.pickle
Binary files differ
diff --git a/docs/gettext/.doctrees/features.doctree b/docs/gettext/.doctrees/features.doctree
index 6a6a1335..78985ed5 100644
--- a/docs/gettext/.doctrees/features.doctree
+++ b/docs/gettext/.doctrees/features.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/help.doctree b/docs/gettext/.doctrees/help.doctree
index 5acfe056..5f36ea5f 100644
--- a/docs/gettext/.doctrees/help.doctree
+++ b/docs/gettext/.doctrees/help.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/index.doctree b/docs/gettext/.doctrees/index.doctree
index 033635df..7e724006 100644
--- a/docs/gettext/.doctrees/index.doctree
+++ b/docs/gettext/.doctrees/index.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/install.doctree b/docs/gettext/.doctrees/install.doctree
index a873aaca..4c5e4ccf 100644
--- a/docs/gettext/.doctrees/install.doctree
+++ b/docs/gettext/.doctrees/install.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/security.doctree b/docs/gettext/.doctrees/security.doctree
index aebf517b..e8aaa8e2 100644
--- a/docs/gettext/.doctrees/security.doctree
+++ b/docs/gettext/.doctrees/security.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/tor.doctree b/docs/gettext/.doctrees/tor.doctree
index 6baf8a43..b5d6f1c1 100644
--- a/docs/gettext/.doctrees/tor.doctree
+++ b/docs/gettext/.doctrees/tor.doctree
Binary files differ
diff --git a/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js b/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js
new file mode 100644
index 00000000..81415803
--- /dev/null
+++ b/docs/gettext/_static/_sphinx_javascript_frameworks_compat.js
@@ -0,0 +1,123 @@
+/* Compatability shim for jQuery and underscores.js.
+ *
+ * Copyright Sphinx contributors
+ * Released under the two clause BSD licence
+ */
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+ if (!x) {
+ return x
+ }
+ return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s === 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node, addItems) {
+ if (node.nodeType === 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 &&
+ !jQuery(node.parentNode).hasClass(className) &&
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
+ var span;
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.className = className;
+ }
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ if (isInSVG) {
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+ var bbox = node.parentElement.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute('class', className);
+ addItems.push({
+ "parent": node.parentNode,
+ "target": rect});
+ }
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this, addItems);
+ });
+ }
+ }
+ var addItems = [];
+ var result = this.each(function() {
+ highlight(this, addItems);
+ });
+ for (var i = 0; i < addItems.length; ++i) {
+ jQuery(addItems[i].parent).before(addItems[i].target);
+ }
+ return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+ jQuery.uaMatch = function(ua) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+ /(msie) ([\w.]+)/.exec(ua) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+ };
+ jQuery.browser = {};
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
diff --git a/docs/gettext/_static/jquery.js b/docs/gettext/_static/jquery.js
new file mode 100644
index 00000000..c4c6022f
--- /dev/null
+++ b/docs/gettext/_static/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/docs/gettext/advanced.pot b/docs/gettext/advanced.pot
index 933a54a6..379f2c99 100644
--- a/docs/gettext/advanced.pot
+++ b/docs/gettext/advanced.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/develop.pot b/docs/gettext/develop.pot
index db0c44e7..932ea4f3 100644
--- a/docs/gettext/develop.pot
+++ b/docs/gettext/develop.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/features.pot b/docs/gettext/features.pot
index 94c9f033..5edf903f 100644
--- a/docs/gettext/features.pot
+++ b/docs/gettext/features.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/help.pot b/docs/gettext/help.pot
index 5f30a802..50c5a1ab 100644
--- a/docs/gettext/help.pot
+++ b/docs/gettext/help.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/index.pot b/docs/gettext/index.pot
index 82f9c55e..e638a268 100644
--- a/docs/gettext/index.pot
+++ b/docs/gettext/index.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/install.pot b/docs/gettext/install.pot
index c42aa378..b6dc422f 100644
--- a/docs/gettext/install.pot
+++ b/docs/gettext/install.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -145,7 +145,7 @@ msgid "Signatures"
msgstr ""
#: ../../source/install.rst:76
-msgid "You can find the signatures (as ``.asc`` files), as well as Windows, macOS, Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the folders named for each version of OnionShare. You can also find them on the `GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+msgid "You can find the signatures (as ``.asc`` files), as well as Windows, macOS, Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the folders named for each version of OnionShare. You can also find them on the `GitHub Releases page <https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
#: ../../source/install.rst:80
@@ -153,21 +153,37 @@ msgid "Verifying"
msgstr ""
#: ../../source/install.rst:82
-msgid "Once you have imported Micah's public key into your GnuPG keychain, downloaded the binary and ``.asc`` signature, you can verify the binary for macOS in a terminal like this::"
+msgid "Once you have imported Micah's public key into your GnuPG keychain, downloaded the binary and ``.asc`` signature, you can verify the binary in a terminal like this:"
msgstr ""
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
msgstr ""
-#: ../../source/install.rst:90
-msgid "The expected output looks like this::"
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+msgid "For Linux::"
+msgstr ""
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
msgstr ""
#: ../../source/install.rst:102
-msgid "If you don't see ``Good signature from``, there might be a problem with the integrity of the file (malicious or otherwise), and you should not install the package. (The ``WARNING:`` shown above, is not a problem with the package, it only means you haven't defined a level of \"trust\" of Micah's (the core developer) PGP key.)"
+msgid "The expected output looks like this::"
+msgstr ""
+
+#: ../../source/install.rst:112
+msgid "If you don't see ``Good signature from``, there might be a problem with the integrity of the file (malicious or otherwise), and you should not install the package."
+msgstr ""
+
+#: ../../source/install.rst:114
+msgid "The ``WARNING:`` shown above, is not a problem with the package, it only means you haven't defined a level of \"trust\" of Micah's (the core developer) PGP key."
msgstr ""
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid "If you want to learn more about verifying PGP signatures, the guides for `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_ may be useful."
msgstr ""
diff --git a/docs/gettext/security.pot b/docs/gettext/security.pot
index 99b33c4e..5951ed97 100644
--- a/docs/gettext/security.pot
+++ b/docs/gettext/security.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/sphinx.pot b/docs/gettext/sphinx.pot
index 9da63881..aa2ce5db 100644
--- a/docs/gettext/sphinx.pot
+++ b/docs/gettext/sphinx.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.6\n"
+"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-09 15:01-0700\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/tor.pot b/docs/gettext/tor.pot
index efbed9b1..f1ced161 100644
--- a/docs/gettext/tor.pot
+++ b/docs/gettext/tor.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/poetry.lock b/docs/poetry.lock
index 08173fd5..1d258706 100644
--- a/docs/poetry.lock
+++ b/docs/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "alabaster"
version = "0.7.13"
description = "A configurable sidebar-enabled Sphinx theme"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -14,30 +13,29 @@ files = [
[[package]]
name = "anyio"
-version = "3.6.2"
+version = "4.0.0"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
-category = "main"
optional = false
-python-versions = ">=3.6.2"
+python-versions = ">=3.8"
files = [
- {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"},
- {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"},
+ {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"},
+ {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"},
]
[package.dependencies]
+exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""}
idna = ">=2.8"
sniffio = ">=1.1"
[package.extras]
-doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
-test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
-trio = ["trio (>=0.16,<0.22)"]
+doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"]
+test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"]
+trio = ["trio (>=0.22)"]
[[package]]
name = "babel"
version = "2.12.1"
description = "Internationalization utilities"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -47,111 +45,108 @@ files = [
[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
+ {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -161,7 +156,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -173,7 +167,6 @@ files = [
name = "docutils"
version = "0.18.1"
description = "Docutils -- Python Documentation Utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -182,10 +175,23 @@ files = [
]
[[package]]
+name = "exceptiongroup"
+version = "1.1.3"
+description = "Backport of PEP 654 (exception groups)"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
+]
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
name = "h11"
version = "0.14.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -195,55 +201,52 @@ files = [
[[package]]
name = "httpcore"
-version = "0.17.1"
+version = "0.18.0"
description = "A minimal low-level HTTP client."
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "httpcore-0.17.1-py3-none-any.whl", hash = "sha256:628e768aaeec1f7effdc6408ba1c3cdbd7487c1fc570f7d66844ec4f003e1ca4"},
- {file = "httpcore-0.17.1.tar.gz", hash = "sha256:caf508597c525f9b8bfff187e270666309f63115af30f7d68b16143a403c8356"},
+ {file = "httpcore-0.18.0-py3-none-any.whl", hash = "sha256:adc5398ee0a476567bf87467063ee63584a8bce86078bf748e48754f60202ced"},
+ {file = "httpcore-0.18.0.tar.gz", hash = "sha256:13b5e5cd1dca1a6636a6aaea212b19f4f85cd88c366a2b82304181b769aab3c9"},
]
[package.dependencies]
anyio = ">=3.0,<5.0"
certifi = "*"
h11 = ">=0.13,<0.15"
-sniffio = ">=1.0.0,<2.0.0"
+sniffio = "==1.*"
[package.extras]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "httpx"
-version = "0.24.1"
+version = "0.25.0"
description = "The next generation HTTP client."
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"},
- {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"},
+ {file = "httpx-0.25.0-py3-none-any.whl", hash = "sha256:181ea7f8ba3a82578be86ef4171554dd45fec26a02556a744db029a0a27b7100"},
+ {file = "httpx-0.25.0.tar.gz", hash = "sha256:47ecda285389cb32bb2691cc6e069e3ab0205956f681c5b2ad2325719751d875"},
]
[package.dependencies]
certifi = "*"
-httpcore = ">=0.15.0,<0.18.0"
+httpcore = ">=0.18.0,<0.19.0"
idna = "*"
sniffio = "*"
[package.extras]
brotli = ["brotli", "brotlicffi"]
-cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"]
+cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -255,7 +258,6 @@ files = [
name = "imagesize"
version = "1.4.1"
description = "Getting image size from png/jpeg/jpeg2000/gif file"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -265,14 +267,13 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -281,13 +282,12 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -303,69 +303,77 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
- {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
- {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
- {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
- {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
- {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
- {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+ {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+ {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+ {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+ {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+ {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
]
[[package]]
name = "packaging"
version = "23.1"
description = "Core utilities for Python packages"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -375,14 +383,13 @@ files = [
[[package]]
name = "pygments"
-version = "2.15.1"
+version = "2.16.1"
description = "Pygments is a syntax highlighting package written in Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"},
- {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
+ {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"},
+ {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"},
]
[package.extras]
@@ -392,7 +399,6 @@ plugins = ["importlib-metadata"]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -412,26 +418,24 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "setuptools"
-version = "67.8.0"
+version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
- {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"},
+ {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "sniffio"
version = "1.3.0"
description = "Sniff out which async library your code is running under"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -443,7 +447,6 @@ files = [
name = "snowballstemmer"
version = "2.2.0"
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -453,26 +456,25 @@ files = [
[[package]]
name = "sphinx"
-version = "6.2.1"
+version = "7.2.6"
description = "Python documentation generator"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b"},
- {file = "sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912"},
+ {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"},
+ {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"},
]
[package.dependencies]
alabaster = ">=0.7,<0.8"
babel = ">=2.9"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
-docutils = ">=0.18.1,<0.20"
+docutils = ">=0.18.1,<0.21"
imagesize = ">=1.3"
importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""}
Jinja2 = ">=3.0"
packaging = ">=21.0"
-Pygments = ">=2.13"
+Pygments = ">=2.14"
requests = ">=2.25.0"
snowballstemmer = ">=2.0"
sphinxcontrib-applehelp = "*"
@@ -480,18 +482,17 @@ sphinxcontrib-devhelp = "*"
sphinxcontrib-htmlhelp = ">=2.0.0"
sphinxcontrib-jsmath = "*"
sphinxcontrib-qthelp = "*"
-sphinxcontrib-serializinghtml = ">=1.1.5"
+sphinxcontrib-serializinghtml = ">=1.1.9"
[package.extras]
docs = ["sphinxcontrib-websupport"]
lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"]
-test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"]
+test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"]
[[package]]
name = "sphinx-intl"
version = "2.1.0"
description = "Sphinx utility that make it easy to translate and to apply translation."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -510,68 +511,73 @@ test = ["mock", "pytest", "six"]
[[package]]
name = "sphinx-rtd-theme"
-version = "1.2.0"
+version = "1.3.0"
description = "Read the Docs theme for Sphinx"
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "sphinx_rtd_theme-1.2.0-py2.py3-none-any.whl", hash = "sha256:f823f7e71890abe0ac6aaa6013361ea2696fc8d3e1fa798f463e82bdb77eeff2"},
- {file = "sphinx_rtd_theme-1.2.0.tar.gz", hash = "sha256:a0d8bd1a2ed52e0b338cbe19c4b2eef3c5e7a048769753dac6a9f059c7b641b8"},
+ {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"},
+ {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"},
]
[package.dependencies]
docutils = "<0.19"
-sphinx = ">=1.6,<7"
-sphinxcontrib-jquery = {version = ">=2.0.0,<3.0.0 || >3.0.0", markers = "python_version > \"3\""}
+sphinx = ">=1.6,<8"
+sphinxcontrib-jquery = ">=4,<5"
[package.extras]
dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"]
[[package]]
name = "sphinxcontrib-applehelp"
-version = "1.0.4"
+version = "1.0.7"
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"},
- {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"},
+ {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"},
+ {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-devhelp"
-version = "1.0.2"
-description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
-category = "main"
+version = "1.0.5"
+description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
- {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
+ {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"},
+ {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-htmlhelp"
-version = "2.0.1"
+version = "2.0.4"
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
-category = "main"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"},
- {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"},
+ {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"},
+ {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["html5lib", "pytest"]
@@ -580,7 +586,6 @@ test = ["html5lib", "pytest"]
name = "sphinxcontrib-jquery"
version = "4.1"
description = "Extension to include jQuery on newer Sphinx releases"
-category = "main"
optional = false
python-versions = ">=2.7"
files = [
@@ -595,7 +600,6 @@ Sphinx = ">=1.8"
name = "sphinxcontrib-jsmath"
version = "1.0.1"
description = "A sphinx extension which renders display math in HTML via JavaScript"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -608,46 +612,49 @@ test = ["flake8", "mypy", "pytest"]
[[package]]
name = "sphinxcontrib-qthelp"
-version = "1.0.3"
-description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
-category = "main"
+version = "1.0.6"
+description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
- {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
+ {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"},
+ {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-serializinghtml"
-version = "1.1.5"
-description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
-category = "main"
+version = "1.1.9"
+description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"},
- {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
+ {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"},
+ {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"},
]
+[package.dependencies]
+Sphinx = ">=5"
+
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
test = ["pytest"]
[[package]]
name = "urllib3"
-version = "2.0.2"
+version = "2.0.5"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"},
- {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"},
+ {file = "urllib3-2.0.5-py3-none-any.whl", hash = "sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"},
+ {file = "urllib3-2.0.5.tar.gz", hash = "sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594"},
]
[package.extras]
@@ -658,19 +665,18 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[metadata]
lock-version = "2.0"
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 5b1cd57a..165e3e7b 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -8,20 +8,21 @@ exclude_patterns = []
languages = [
("English", "en"), # English
- # ("Français", "fr"), # French
+ ("Français", "fr"), # French
# ("Deutsch", "de"), # German
("Ελληνικά", "el"), # Greek
# ("Italiano", "it"), # Italian
- ("日本語", "ja"), # Japanese
- ("ភាសាខ្មែរ", "km"), # Khmer (Central)
+ # ("日本語", "ja"), # Japanese
+ # ("ភាសាខ្មែរ", "km"), # Khmer (Central)
# ("Norsk Bokmål", "nb_NO"), # Norwegian Bokmål
- # ("Polish", "pl"), # Polish
+ ("Polish", "pl"), # Polish
# ("Portuguese (Brazil)", "pt_BR"), # Portuguese (Brazil))
# ("Русский", "ru"), # Russian
("Español", "es"), # Spanish
- ("Svenska", "sv"), # Swedish
+ # ("Svenska", "sv"), # Swedish
("Türkçe", "tr"), # Turkish
("Українська", "uk"), # Ukrainian
+ ("Tiếng Việt", "vi"), # Vietnamese
]
versions = ["2.3", "2.3.1", "2.3.2", "2.3.3", "2.4", "2.5", "2.6", "2.6.1"]
diff --git a/docs/source/install.rst b/docs/source/install.rst
index 7243680d..111ddfab 100644
--- a/docs/source/install.rst
+++ b/docs/source/install.rst
@@ -8,6 +8,21 @@ You can download OnionShare for Windows and macOS from the `OnionShare website <
.. _linux:
+Mobile
+----------------
+
+You can download OnionShare for Mobile from the follow links
+
+* Android
+ * Google Play: https://play.google.com/store/apps/details?id=org.onionshare.android
+ * F-Droid: https://github.com/onionshare/onionshare-android-nightly
+
+* iOS
+ * Apple App Store: https://apps.apple.com/app/onionshare/id1601890129
+ * Direct IPA download: https://github.com/onionshare/onionshare-ios/releases
+ * Testflight: https://testflight.apple.com/join/ZCJeY65W
+
+
Linux
-----
diff --git a/docs/source/locale/be/LC_MESSAGES/install.po b/docs/source/locale/be/LC_MESSAGES/install.po
index 945bce84..95866f47 100644
--- a/docs/source/locale/be/LC_MESSAGES/install.po
+++ b/docs/source/locale/be/LC_MESSAGES/install.po
@@ -6,18 +6,15 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6.1\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-01 10:00+0000\n"
-"Last-Translator: Maksim <maxklezovich@gmail.com>\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 5.1-dev\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -33,7 +30,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid "There are various ways to install OnionShare for Linux, but the recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll always use the newest version and run OnionShare inside of a sandbox."
diff --git a/docs/source/locale/bg/LC_MESSAGES/index.po b/docs/source/locale/bg/LC_MESSAGES/index.po
index ad397d20..73419975 100644
--- a/docs/source/locale/bg/LC_MESSAGES/index.po
+++ b/docs/source/locale/bg/LC_MESSAGES/index.po
@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2022-01-17 10:28-0800\n"
-"PO-Revision-Date: 2023-09-17 21:00+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: 2023-08-05 22:50+0000\n"
+"Last-Translator: Salif Mehmed <mail@salif.eu>\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0.2\n"
+"X-Generator: Weblate 5.0-dev\n"
#: ../../source/index.rst:2
msgid "OnionShare's documentation"
diff --git a/docs/source/locale/bg/LC_MESSAGES/install.po b/docs/source/locale/bg/LC_MESSAGES/install.po
index b15a3c2f..0f6cc04b 100644
--- a/docs/source/locale/bg/LC_MESSAGES/install.po
+++ b/docs/source/locale/bg/LC_MESSAGES/install.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-17 14:10+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
@@ -85,6 +85,10 @@ msgstr ""
msgid "Manual Flatpak Installation"
msgstr "Ръчна инсталация от Flatpak"
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr ""
+
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
@@ -130,7 +134,7 @@ msgstr ""
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
-msgstr "Ръчна инсталация от Snapcraft"
+msgstr ""
#: ../../source/install.rst:41
msgid ""
diff --git a/docs/source/locale/bg/LC_MESSAGES/sphinx.po b/docs/source/locale/bg/LC_MESSAGES/sphinx.po
index da5a6c64..e4ebde1b 100644
--- a/docs/source/locale/bg/LC_MESSAGES/sphinx.po
+++ b/docs/source/locale/bg/LC_MESSAGES/sphinx.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2022-10-09 15:01-0700\n"
-"PO-Revision-Date: 2023-10-17 14:10+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: 2023-08-05 22:50+0000\n"
+"Last-Translator: Salif Mehmed <mail@salif.eu>\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.1\n"
+"X-Generator: Weblate 5.0-dev\n"
#: ../../source/_templates/versions.html:10
msgid "Versions"
-msgstr "Издания"
+msgstr "Версии"
#: ../../source/_templates/versions.html:18
msgid "Languages"
diff --git a/docs/source/locale/bg/LC_MESSAGES/tor.po b/docs/source/locale/bg/LC_MESSAGES/tor.po
index ef8cef5c..53fa9425 100644
--- a/docs/source/locale/bg/LC_MESSAGES/tor.po
+++ b/docs/source/locale/bg/LC_MESSAGES/tor.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.5\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-10 18:33+0000\n"
-"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/docs/source/locale/ca/LC_MESSAGES/install.po b/docs/source/locale/ca/LC_MESSAGES/install.po
index a68587b4..535743be 100644
--- a/docs/source/locale/ca/LC_MESSAGES/install.po
+++ b/docs/source/locale/ca/LC_MESSAGES/install.po
@@ -6,17 +6,16 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-07 08:51+0000\n"
-"Last-Translator: Ecron <ecron_89@hotmail.com>\n"
+"PO-Revision-Date: 2020-11-25 18:28+0000\n"
+"Last-Translator: fadelkon <fadelkon@posteo.net>\n"
"Language-Team: ca <LL@li.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0.1-dev\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -35,7 +34,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
diff --git a/docs/source/locale/el/LC_MESSAGES/install.po b/docs/source/locale/el/LC_MESSAGES/install.po
index ca1854c8..11c10e1b 100644
--- a/docs/source/locale/el/LC_MESSAGES/install.po
+++ b/docs/source/locale/el/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-14 17:22+0000\n"
"Last-Translator: george kitsoukakis <norhorn@gmail.com>\n"
-"Language-Team: el <LL@li.org>\n"
"Language: el\n"
+"Language-Team: el <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,16 +40,18 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Υπάρχουν αρκετοί τρόποι εγκατάστασης του OnionShare σε Linux. Ο προτιμότερος "
-"τρόπος είναι η εγκατάσταση μέσω του `Flatpak <https://flatpak.org/>`_ ή του "
-"πακέτου `Snap <https://snapcraft.io/>`_. Οι τεχνολογίες Flatpak και "
-"Snapcraft διασφαλίζουν ότι χρησιμοποιείται πάντα η νεότερη έκδοση και ότι το "
-"OnionShare θα εκτελείται μέσα σε sandbox."
+"Υπάρχουν αρκετοί τρόποι εγκατάστασης του OnionShare σε Linux. Ο "
+"προτιμότερος τρόπος είναι η εγκατάσταση μέσω του `Flatpak "
+"<https://flatpak.org/>`_ ή του πακέτου `Snap <https://snapcraft.io/>`_. "
+"Οι τεχνολογίες Flatpak και Snapcraft διασφαλίζουν ότι χρησιμοποιείται "
+"πάντα η νεότερη έκδοση και ότι το OnionShare θα εκτελείται μέσα σε "
+"sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -64,25 +65,29 @@ msgstr ""
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Εγκατάσταση του OnionShare με χρήση του Flatpak**: https://flathub.org/"
-"apps/details/org.onionshare.OnionShare"
+"**Εγκατάσταση του OnionShare με χρήση του Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Εγκατάσταση του OnionShare με χρήση του Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Εγκατάσταση του OnionShare με χρήση του Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Μπορείτε να κάνετε λήψη και εγκατάσταση ενός πακέτου PGP-signed ``.flatpak`` "
-"ή ``.snap`` από https://onionshare.org/dist/ εάν επιθυμείτε."
+"Μπορείτε να κάνετε λήψη και εγκατάσταση ενός πακέτου PGP-signed "
+"``.flatpak`` ή ``.snap`` από https://onionshare.org/dist/ εάν επιθυμείτε."
+
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr "Μη αυτόματη εγκατάσταση Flatpak"
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -91,44 +96,48 @@ msgstr "Μη αυτόματη εγκατάσταση Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Αν θέλετε να εγκαταστήσετε το OnionShare χειροκίνητα με το Flatpak "
-"χρησιμοποιώντας το υπογεγραμμένο πακέτο αρχείου PGP `<https://docs.flatpak."
-"org/en/latest/single-file-bundles.html>`_, μπορείτε να το κάνετε ως εξής:"
+"χρησιμοποιώντας το υπογεγραμμένο πακέτο αρχείου PGP "
+"`<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, "
+"μπορείτε να το κάνετε ως εξής:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Εγκαταστήστε το Flatpak ακολουθώντας τις οδηγίες στη διεύθυνση "
"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Προσθέστε το αποθετήριο Flathub εκτελώντας την εντολή ``flatpak remote-add "
-"--if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo``. "
-"Παρόλο που δε θα κατεβάσετε το OnionShare από το Flathub, το OnionShare "
-"εξαρτάται από κάποια πακέτα που είναι διαθέσιμα μόνο εκεί."
+"Προσθέστε το αποθετήριο Flathub εκτελώντας την εντολή ``flatpak remote-"
+"add --if-not-exists flathub "
+"https://flathub.org/repo/flathub.flatpakrepo``. Παρόλο που δε θα "
+"κατεβάσετε το OnionShare από το Flathub, το OnionShare εξαρτάται από "
+"κάποια πακέτα που είναι διαθέσιμα μόνο εκεί."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Μεταβείτε στο https://onionshare.org/dist/, επιλέξτε την τελευταία έκδοση "
-"του OnionShare και κατεβάστε τα αρχεία ``.flatpak`` και ``.flatpak.asc``."
+"Μεταβείτε στο https://onionshare.org/dist/, επιλέξτε την τελευταία έκδοση"
+" του OnionShare και κατεβάστε τα αρχεία ``.flatpak`` και "
+"``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Επαληθεύστε την υπογραφή PGP του αρχείου ``.flatpak``. Ανατρέξτε στην "
"ενότητα :ref:`verifying_sigs` για περισσότερες πληροφορίες."
@@ -136,18 +145,18 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Εγκαταστήστε το ``.flatpak`` εκτελώντας την εντολή ``flatpak install "
-"OnionShare-VERSION.flatpak``. Αντικαταστήστε το ``VERSION`` με τον αριθμό "
-"έκδοσης του αρχείου που κατεβάσατε."
+"OnionShare-VERSION.flatpak``. Αντικαταστήστε το ``VERSION`` με τον αριθμό"
+" έκδοσης του αρχείου που κατεβάσατε."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Μπορείτε να τρέξετε το OnionShare με: `flatpak run org.onionshare."
-"OnionShare`."
+"Μπορείτε να τρέξετε το OnionShare με: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -155,51 +164,52 @@ msgstr "Μη αυτόματη εγκατάσταση Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Αν θέλετε να εγκαταστήσετε το OnionShare χειροκίνητα με το Snapcraft "
-"χρησιμοποιώντας το υπογεγραμμένο PGP πακέτο Snapcraft, μπορείτε να το κάνετε "
-"ως εξής:"
+"χρησιμοποιώντας το υπογεγραμμένο PGP πακέτο Snapcraft, μπορείτε να το "
+"κάνετε ως εξής:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
"Εγκαταστήστε το Snapcraft ακολουθώντας τις οδηγίες στη διεύθυνση "
"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Μεταβείτε στη διεύθυνση https://onionshare.org/dist/, επιλέξτε την τελευταία "
-"έκδοση του OnionShare και κατεβάστε τα αρχεία ``.snap`` και ``.snap.asc``."
+"Μεταβείτε στη διεύθυνση https://onionshare.org/dist/, επιλέξτε την "
+"τελευταία έκδοση του OnionShare και κατεβάστε τα αρχεία ``.snap`` και "
+"``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Επαληθεύστε την υπογραφή PGP του αρχείου ``.snap``. Ανατρέξτε στην ενότητα "
-":ref:`verifying_sigs` για περισσότερες πληροφορίες."
+"Επαληθεύστε την υπογραφή PGP του αρχείου ``.snap``. Ανατρέξτε στην "
+"ενότητα :ref:`verifying_sigs` για περισσότερες πληροφορίες."
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
-"Εγκαταστήστε το αρχείο ``.snap`` εκτελώντας την εντολή ``snap install --"
-"dangerous onionshare_VERSION_amd64.snap``. Αντικαταστήστε το ``VERSION`` με "
-"τον αριθμό έκδοσης του αρχείου που κατεβάσατε. Σημειώστε ότι πρέπει να "
-"χρησιμοποιήσετε το `--dangerous` επειδή το πακέτο δεν είναι υπογεγραμμένο "
-"από το Snapcraft, ωστόσο επαληθεύσατε την υπογραφή PGP, οπότε γνωρίζετε ότι "
-"είναι νόμιμο."
+"Εγκαταστήστε το αρχείο ``.snap`` εκτελώντας την εντολή ``snap install "
+"--dangerous onionshare_VERSION_amd64.snap``. Αντικαταστήστε το "
+"``VERSION`` με τον αριθμό έκδοσης του αρχείου που κατεβάσατε. Σημειώστε "
+"ότι πρέπει να χρησιμοποιήσετε το `--dangerous` επειδή το πακέτο δεν είναι"
+" υπογεγραμμένο από το Snapcraft, ωστόσο επαληθεύσατε την υπογραφή PGP, "
+"οπότε γνωρίζετε ότι είναι νόμιμο."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -211,8 +221,9 @@ msgstr "Μόνο γραμμή εντολών"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Μπορείτε να εγκαταστήσετε μόνο την έκδοση με τη γραμμή εντολών του "
"OnionShare σε οποιοδήποτε λειτουργικό σύστημα χρησιμοποιώντας τον "
@@ -225,17 +236,18 @@ msgstr "Επιβεβαίωση υπογραφών PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Μπορείτε να επαληθεύσετε ότι το πακέτο που κατεβάσετε είναι νόμιμο και δεν "
-"έχει παραβιαστεί, επαληθεύοντας την υπογραφή του PGP. Για Windows και macOS, "
-"αυτό το βήμα είναι προαιρετικό και παρέχει άμυνα σε βάθος: τα δυαδικά αρχεία "
-"OnionShare περιλαμβάνουν συγκεκριμένες υπογραφές λειτουργικού συστήματος και "
-"μπορείτε απλώς να βασιστείτε σε αυτά και μόνο αν θέλετε."
+"Μπορείτε να επαληθεύσετε ότι το πακέτο που κατεβάσετε είναι νόμιμο και "
+"δεν έχει παραβιαστεί, επαληθεύοντας την υπογραφή του PGP. Για Windows και"
+" macOS, αυτό το βήμα είναι προαιρετικό και παρέχει άμυνα σε βάθος: τα "
+"δυαδικά αρχεία OnionShare περιλαμβάνουν συγκεκριμένες υπογραφές "
+"λειτουργικού συστήματος και μπορείτε απλώς να βασιστείτε σε αυτά και μόνο"
+" αν θέλετε."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -243,93 +255,126 @@ msgstr "Κλειδί υπογραφής"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
"Τα πακέτα υπογράφονται από τον Micah Lee, τον βασικό προγραμματιστή, "
"χρησιμοποιώντας το δημόσιο κλειδί του PGP με το αποτύπωμα "
"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Μπορείτε να κατεβάσετε το "
-"κλειδί του Micah από το διακομιστή κλειδιών keys.openpgp.org <https://keys."
-"openpgp.org/vks/v1/by-fingerprint/"
-"927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"κλειδί του Micah από το διακομιστή κλειδιών keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Για την επιβεβαίωση υπογραφών θα πρέπει να έχετε εγκατεστημένο το GnuPG. Για "
-"macOS χρειάζεστε το `GPGTools <https://gpgtools.org/>`_ και για Windows το "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"Για την επιβεβαίωση υπογραφών θα πρέπει να έχετε εγκατεστημένο το GnuPG. "
+"Για macOS χρειάζεστε το `GPGTools <https://gpgtools.org/>`_ και για "
+"Windows το `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Υπογραφές"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Θα βρείτε τις υπογραφές (αρχεία ``.asc``), για Windows, macOS, Flatpak, Snap "
-"και αρχεία εγκατάστασης στο https://onionshare.org/dist/ στο φάκελο με όνομα "
-"ανάλογο της έκδοσης του OnionShare. Μπορείτε επίσης να τα βρείτε και στη "
-"`σελίδα εκδόσεων του GitHub <https://github.com/micahflee/onionshare/"
-"releases>`_."
+"Θα βρείτε τις υπογραφές (αρχεία ``.asc``), για Windows, macOS, Flatpak, "
+"Snap και αρχεία εγκατάστασης στο https://onionshare.org/dist/ στο φάκελο "
+"με όνομα ανάλογο της έκδοσης του OnionShare. Μπορείτε επίσης να τα βρείτε"
+" και στη `σελίδα εκδόσεων του GitHub "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Επιβεβαίωση"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
-"Με την εισαγωγή του δημόσιου κλειδιού του Micah στο GnuPG keychain, με τη "
-"λήψη του δυαδικού και της υπογραφής ``.asc``, μπορείτε να επιβεβαιώσετε το "
-"δυαδικό σύστημα για macOS σε ένα τερματικό όπως::"
+"Με την εισαγωγή του δημόσιου κλειδιού του Micah στο GnuPG keychain, με τη"
+" λήψη του δυαδικού και της υπογραφής ``.asc``, μπορείτε να επιβεβαιώσετε "
+"το δυαδικό σύστημα για macOS σε ένα τερματικό όπως::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Ή για Windows, σε μια γραμμή εντολών όπως::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Θα πρέπει να δείτε κάτι όπως::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
+msgid ""
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
+msgstr ""
+"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει "
+"πρόβλημα με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει"
+" να το εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν "
+"αποτελεί πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το "
+"επίπεδο \"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
+
+#: ../../source/install.rst:114
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
-"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει πρόβλημα "
-"με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει να το "
-"εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν αποτελεί "
-"πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το επίπεδο "
-"\"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
+"Εάν δεν εμφανιστεί το ``Σωστή υπογραφή από``, ενδέχεται να υπάρχει "
+"πρόβλημα με την ακεραιότητα του αρχείου (κακόβουλο ή άλλο) και δεν πρέπει"
+" να το εγκαταστήσετε. (Η ``ΠΡΟΕΙΔΟΠΟΙΗΣΗ:`` που φαίνεται παραπάνω, δεν "
+"αποτελεί πρόβλημα με το πακέτο, σημαίνει μόνο ότι δεν έχετε ορίσει το "
+"επίπεδο \"εμπιστοσύνης\" του κλειδιού PGP του Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
"Εάν θέλετε να μάθετε περισσότερα σχετικά με την επαλήθευση των υπογραφών "
-"PGP, οι οδηγοί για `Qubes OS <https://www.qubes-os.org/security/verifying-"
-"signatures/>`_ και το `Tor Project <https://support.torproject.org/tbb/how-"
-"to-verify-signature/>`_ θα σας φανούν χρήσιμα."
+"PGP, οι οδηγοί για `Qubes OS <https://www.qubes-os.org/security"
+"/verifying-signatures/>`_ και το `Tor Project "
+"<https://support.torproject.org/tbb/how-to-verify-signature/>`_ θα σας "
+"φανούν χρήσιμα."
#~ msgid "Install in Linux"
#~ msgstr "Εγκατάσταση σε Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Ή για Windows, σε μια γραμμή εντολών όπως::"
+
diff --git a/docs/source/locale/en/LC_MESSAGES/install.po b/docs/source/locale/en/LC_MESSAGES/install.po
index 83ad0a7f..0124719a 100644
--- a/docs/source/locale/en/LC_MESSAGES/install.po
+++ b/docs/source/locale/en/LC_MESSAGES/install.po
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-31 16:26+1100\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -67,22 +67,111 @@ msgid ""
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr ""
+
#: ../../source/install.rst:28
-msgid "Command-line only"
+msgid ""
+"If you'd like to install OnionShare manually with Flatpak using the PGP-"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
#: ../../source/install.rst:30
msgid ""
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
+msgstr ""
+
+#: ../../source/install.rst:31
+msgid ""
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
+msgstr ""
+
+#: ../../source/install.rst:32
+msgid ""
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
+msgstr ""
+
+#: ../../source/install.rst:33
+msgid ""
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
+msgstr ""
+
+#: ../../source/install.rst:34
+msgid ""
+"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
+msgstr ""
+
+#: ../../source/install.rst:36
+msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
+msgstr ""
+
+#: ../../source/install.rst:39
+msgid "Manual Snapcraft Installation"
+msgstr ""
+
+#: ../../source/install.rst:41
+msgid ""
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
+msgstr ""
+
+#: ../../source/install.rst:43
+msgid ""
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
+msgstr ""
+
+#: ../../source/install.rst:44
+msgid ""
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
+msgstr ""
+
+#: ../../source/install.rst:45
+msgid ""
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
+msgstr ""
+
+#: ../../source/install.rst:46
+msgid ""
+"Install the ``.snap`` file by running ``snap install --dangerous "
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
+msgstr ""
+
+#: ../../source/install.rst:48
+msgid "You can run OnionShare with: `snap run onionshare`."
+msgstr ""
+
+#: ../../source/install.rst:53
+msgid "Command-line only"
+msgstr ""
+
+#: ../../source/install.rst:55
+msgid ""
"You can install just the command-line version of OnionShare on any "
"operating system using the Python package manager ``pip``. :ref:`cli` has"
" more info."
msgstr ""
-#: ../../source/install.rst:35
+#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
msgstr ""
-#: ../../source/install.rst:37
+#: ../../source/install.rst:62
msgid ""
"You can verify that the package you download is legitimate and hasn't "
"been tampered with by verifying its PGP signature. For Windows and macOS,"
@@ -91,11 +180,11 @@ msgid ""
"rely on those alone if you'd like."
msgstr ""
-#: ../../source/install.rst:41
+#: ../../source/install.rst:66
msgid "Signing key"
msgstr ""
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
"Packages are signed by Micah Lee, the core developer, using his PGP "
"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
@@ -104,55 +193,72 @@ msgid ""
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"You must have GnuPG installed to verify signatures. For macOS you "
"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-#: ../../source/install.rst:49
+#: ../../source/install.rst:74
msgid "Signatures"
msgstr ""
-#: ../../source/install.rst:51
+#: ../../source/install.rst:76
msgid ""
"You can find the signatures (as ``.asc`` files), as well as Windows, "
"macOS, Flatpak, Snap, and source packages, at "
"https://onionshare.org/dist/ in the folders named for each version of "
"OnionShare. You can also find them on the `GitHub Releases page "
-"<https://github.com/micahflee/onionshare/releases>`_."
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-#: ../../source/install.rst:55
+#: ../../source/install.rst:80
msgid "Verifying"
msgstr ""
-#: ../../source/install.rst:57
+#: ../../source/install.rst:82
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and and ``.asc`` signature, you can verify the "
-"binary for macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-#: ../../source/install.rst:61
-msgid "Or for Windows, in a command-prompt like this::"
+#: ../../source/install.rst:92
+msgid "For Linux::"
msgstr ""
-#: ../../source/install.rst:65
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr ""
-#: ../../source/install.rst:77
+#: ../../source/install.rst:112
msgid ""
"If you don't see ``Good signature from``, there might be a problem with "
"the integrity of the file (malicious or otherwise), and you should not "
-"install the package. (The ``WARNING:`` shown above, is not a problem with"
-" the package, it only means you haven't defined a level of \"trust\" of "
-"Micah's (the core developer) PGP key.)"
+"install the package."
+msgstr ""
+
+#: ../../source/install.rst:114
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
-#: ../../source/install.rst:79
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
@@ -407,3 +513,48 @@ msgstr ""
#~ "of \"trust\" of Micah's PGP key.)"
#~ msgstr ""
+#~ msgid ""
+#~ "You can find the signatures (as "
+#~ "``.asc`` files), as well as Windows, "
+#~ "macOS, Flatpak, Snap, and source "
+#~ "packages, at https://onionshare.org/dist/ in "
+#~ "the folders named for each version "
+#~ "of OnionShare. You can also find "
+#~ "them on the `GitHub Releases page "
+#~ "<https://github.com/micahflee/onionshare/releases>`_."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Once you have imported Micah's public"
+#~ " key into your GnuPG keychain, "
+#~ "downloaded the binary and and ``.asc``"
+#~ " signature, you can verify the binary"
+#~ " for macOS in a terminal like "
+#~ "this::"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Once you have imported Micah's public"
+#~ " key into your GnuPG keychain, "
+#~ "downloaded the binary and ``.asc`` "
+#~ "signature, you can verify the binary "
+#~ "for macOS in a terminal like "
+#~ "this::"
+#~ msgstr ""
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "If you don't see ``Good signature "
+#~ "from``, there might be a problem "
+#~ "with the integrity of the file "
+#~ "(malicious or otherwise), and you should"
+#~ " not install the package. (The "
+#~ "``WARNING:`` shown above, is not a "
+#~ "problem with the package, it only "
+#~ "means you haven't defined a level "
+#~ "of \"trust\" of Micah's (the core "
+#~ "developer) PGP key.)"
+#~ msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/tor.po b/docs/source/locale/en/LC_MESSAGES/tor.po
index a73d800a..1535d01a 100644
--- a/docs/source/locale/en/LC_MESSAGES/tor.po
+++ b/docs/source/locale/en/LC_MESSAGES/tor.po
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-07-04 17:16-0400\n"
+"POT-Creation-Date: 2023-09-05 11:30-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.10.3\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/tor.rst:2
msgid "Connecting to Tor"
@@ -23,31 +23,32 @@ msgstr ""
#: ../../source/tor.rst:4
msgid ""
-"When OnionShare starts, it will show you a screen asking you to connect to "
-"the Tor network."
+"When OnionShare starts, it will show you a screen asking you to connect "
+"to the Tor network."
msgstr ""
#: ../../source/tor.rst:8
msgid ""
"You can toggle on the switch \"Connect to Tor automatically\" before "
-"clicking \"Connect to Tor\". This means that next time OnionShare starts, it "
-"will automatically connect with its Tor connection settings from the last "
-"session, instead of presenting you with the connection options. If the "
-"connection fails, you can still try bridges or reconfigure Tor via the "
-"\"Network Settings\" button."
+"clicking \"Connect to Tor\". This means that next time OnionShare starts,"
+" it will automatically connect with its Tor connection settings from the "
+"last session, instead of presenting you with the connection options. If "
+"the connection fails, you can still try bridges or reconfigure Tor via "
+"the \"Network Settings\" button."
msgstr ""
#: ../../source/tor.rst:11
msgid ""
-"You can click \"Connect to Tor\" to begin the connection process. If there "
-"are no problems with your network, including any attempts to block your "
-"access to the Tor network, this should hopefully work the first time."
+"You can click \"Connect to Tor\" to begin the connection process. If "
+"there are no problems with your network, including any attempts to block "
+"your access to the Tor network, this should hopefully work the first "
+"time."
msgstr ""
#: ../../source/tor.rst:13
msgid ""
-"Or, if you want to manually configure Bridges or other Tor settings before "
-"you connect, you can click \"Network Settings\"."
+"Or, if you want to manually configure Bridges or other Tor settings "
+"before you connect, you can click \"Network Settings\"."
msgstr ""
#: ../../source/tor.rst:16
@@ -56,8 +57,9 @@ msgstr ""
#: ../../source/tor.rst:18
msgid ""
-"When you click \"Connect to Tor\", if OnionShare fails to connect, it might "
-"be because Tor is censored in your country or on your local network."
+"When you click \"Connect to Tor\", if OnionShare fails to connect, it "
+"might be because Tor is censored in your country or on your local "
+"network."
msgstr ""
#: ../../source/tor.rst:20
@@ -69,8 +71,7 @@ msgid "Try again without a bridge"
msgstr ""
#: ../../source/tor.rst:23
-msgid ""
-"Automatically determine my country from my IP address for bridge settings"
+msgid "Automatically determine my country from my IP address for bridge settings"
msgstr ""
#: ../../source/tor.rst:24
@@ -80,17 +81,19 @@ msgstr ""
#: ../../source/tor.rst:28
msgid ""
"If you choose the \"Try again without a bridge\" option, OnionShare will "
-"retry connecting to Tor like normal, without attempting to bypass censorship."
+"retry connecting to Tor like normal, without attempting to bypass "
+"censorship."
msgstr ""
#: ../../source/tor.rst:30
msgid ""
-"The other two options will attempt to automatically bypass censorship using "
-"Tor bridges. If your network provider is blocking access to the Tor network, "
-"you can hopefully still connect to a Tor bridge, which will then connect you "
-"to the Tor network, circumventing the censorship. Both of these options use "
-"the Tor Project's Censorship Circumvention API to provide you with bridge "
-"settings that should work for you. OnionShare will temporarily use the `Meek "
+"The other two options will attempt to automatically bypass censorship "
+"using Tor bridges. If your network provider is blocking access to the Tor"
+" network, you can hopefully still connect to a Tor bridge, which will "
+"then connect you to the Tor network, circumventing the censorship. Both "
+"of these options use the Tor Project's Censorship Circumvention API to "
+"provide you with bridge settings that should work for you. OnionShare "
+"will temporarily use the `Meek "
"<https://gitlab.torproject.org/legacy/trac/-/wikis/doc/meek/>`_ domain-"
"fronting proxy to make a non-Tor connection from your computer to Tor's "
"Censorship Circumvention API. The Meek proxy hides the fact that you are "
@@ -99,10 +102,10 @@ msgstr ""
#: ../../source/tor.rst:36
msgid ""
-"If you choose \"Automatically determine my country from my IP address for "
-"bridge settings\", the Censorship Circumvention API will consider your IP "
-"address (yes, your real IP address) to determine what country you might "
-"reside in. Based on the country information, the API will try to "
+"If you choose \"Automatically determine my country from my IP address for"
+" bridge settings\", the Censorship Circumvention API will consider your "
+"IP address (yes, your real IP address) to determine what country you "
+"might reside in. Based on the country information, the API will try to "
"automatically find bridges that suit your location."
msgstr ""
@@ -119,41 +122,42 @@ msgstr ""
#: ../../source/tor.rst:48
msgid ""
-"If the Censorship Circumvention API finds bridges that it believes will suit "
-"you, OnionShare will try to reconnect to Tor using those bridges. If the API "
-"does not find any bridges for your location, OnionShare will ask the API for "
-"\"fallback\" options, and then try to reconnect using those."
+"If the Censorship Circumvention API finds bridges that it believes will "
+"suit you, OnionShare will try to reconnect to Tor using those bridges. If"
+" the API does not find any bridges for your location, OnionShare will ask"
+" the API for \"fallback\" options, and then try to reconnect using those."
msgstr ""
#: ../../source/tor.rst:50
msgid ""
-"If for some reason OnionShare fails to connect to the Censorship API itself, "
-"or if the API returns an error message, OnionShare will attempt to use the "
-"obfs4 built-in bridges."
+"If for some reason OnionShare fails to connect to the Censorship API "
+"itself, or if the API returns an error message, OnionShare will attempt "
+"to use the obfs4 built-in bridges."
msgstr ""
#: ../../source/tor.rst:52
msgid ""
-"It's important to note that the requests to the Censorship Circumvention API "
-"do not go over the Tor network (because if you could connect to Tor already, "
-"you wouldn't need to connect to the API)."
+"It's important to note that the requests to the Censorship Circumvention "
+"API do not go over the Tor network (because if you could connect to Tor "
+"already, you wouldn't need to connect to the API)."
msgstr ""
#: ../../source/tor.rst:54
msgid ""
-"Even though it's hard for an adversary to discover where the Meek request is "
-"going, this may still be risky for some users. Therefore, it is an opt-in "
-"feature. The use of Meek and non-torified network requests are limited only "
-"to making one or two requests to the Censorship Circumvention API. Then Meek "
-"is stopped, and all further network requests happen over the Tor network."
+"Even though it's hard for an adversary to discover where the Meek request"
+" is going, this may still be risky for some users. Therefore, it is an "
+"opt-in feature. The use of Meek and non-torified network requests are "
+"limited only to making one or two requests to the Censorship "
+"Circumvention API. Then Meek is stopped, and all further network requests"
+" happen over the Tor network."
msgstr ""
#: ../../source/tor.rst:56
msgid ""
-"If you are uncomfortable with making a request that doesn't go over the Tor "
-"network, you can click \"Network Settings\" (or the Settings icon in the "
-"bottom right corner, followed by the Tor Settings tab in the screen that "
-"appears), and manually configure bridges. After you save any bridge "
+"If you are uncomfortable with making a request that doesn't go over the "
+"Tor network, you can click \"Network Settings\" (or the Settings icon in "
+"the bottom right corner, followed by the Tor Settings tab in the screen "
+"that appears), and manually configure bridges. After you save any bridge "
"settings, OnionShare will try to reconnect using those bridges."
msgstr ""
@@ -164,14 +168,15 @@ msgstr ""
#: ../../source/tor.rst:61
msgid ""
"You can get to the Tor settings by clicking \"Network Settings\" on the "
-"welcome screen, or by clicking the \"⚙\" icon in the bottom-right corner of "
-"the application, and then switch to the Tor Settings tab in the screen that "
-"appears."
+"welcome screen, or by clicking the \"⚙\" icon in the bottom-right corner "
+"of the application, and then switch to the Tor Settings tab in the screen"
+" that appears."
msgstr ""
#: ../../source/tor.rst:65
msgid ""
-"Here are the different ways you can configure OnionShare to connect to Tor:"
+"Here are the different ways you can configure OnionShare to connect to "
+"Tor:"
msgstr ""
#: ../../source/tor.rst:68
@@ -180,16 +185,16 @@ msgstr ""
#: ../../source/tor.rst:70
msgid ""
-"This is the default, simplest and most reliable way that OnionShare connects "
-"to Tor. For this reason, it's recommended for most users."
+"This is the default, simplest and most reliable way that OnionShare "
+"connects to Tor. For this reason, it's recommended for most users."
msgstr ""
#: ../../source/tor.rst:73
msgid ""
-"When you open OnionShare, it launches an already configured ``tor`` process "
-"in the background for OnionShare to use. It doesn't interfere with other "
-"``tor`` processes on your computer, so you can use the Tor Browser or the "
-"system ``tor`` on their own."
+"When you open OnionShare, it launches an already configured ``tor`` "
+"process in the background for OnionShare to use. It doesn't interfere "
+"with other ``tor`` processes on your computer, so you can use the Tor "
+"Browser or the system ``tor`` on their own."
msgstr ""
#: ../../source/tor.rst:76
@@ -198,14 +203,14 @@ msgstr ""
#: ../../source/tor.rst:78
msgid ""
-"To use a bridge, you must select \"Use the Tor version built into OnionShare"
-"\" and check the \"Use a bridge\" checkbox."
+"To use a bridge, you must select \"Use the Tor version built into "
+"OnionShare\" and check the \"Use a bridge\" checkbox."
msgstr ""
#: ../../source/tor.rst:80
msgid ""
-"Try using a built-in bridge first. Using `obfs4` or `snowflake` bridges is "
-"recommended over using `meek-azure`."
+"Try using a built-in bridge first. Using `obfs4` or `snowflake` bridges "
+"is recommended over using `meek-azure`."
msgstr ""
#: ../../source/tor.rst:84
@@ -228,10 +233,10 @@ msgstr ""
#: ../../source/tor.rst:93
msgid ""
-"If you have `downloaded the Tor Browser <https://www.torproject.org>`_ and "
-"don't want two ``tor`` processes running, you can use the ``tor`` process "
-"from the Tor Browser. Keep in mind you need to keep Tor Browser open in the "
-"background while you're using OnionShare for this to work."
+"If you have `downloaded the Tor Browser <https://www.torproject.org>`_ "
+"and don't want two ``tor`` processes running, you can use the ``tor`` "
+"process from the Tor Browser. Keep in mind you need to keep Tor Browser "
+"open in the background while you're using OnionShare for this to work."
msgstr ""
#: ../../source/tor.rst:97
@@ -240,16 +245,16 @@ msgstr ""
#: ../../source/tor.rst:99
msgid ""
-"This is fairly advanced. You'll need to know how edit plaintext files and do "
-"stuff as an administrator."
+"This is fairly advanced. You'll need to know how edit plaintext files and"
+" do stuff as an administrator."
msgstr ""
#: ../../source/tor.rst:101
msgid ""
-"Download the Tor Windows Expert Bundle `from <https://www.torproject.org/"
-"download/tor/>`_. Extract the compressed file and copy the extracted folder "
-"to ``C:\\Program Files (x86)\\`` Rename the extracted folder with ``Data`` "
-"and ``Tor`` in it to ``tor-win32``."
+"Download the Tor Windows Expert Bundle `from the Tor website "
+"<https://www.torproject.org/download/tor/>`_. Extract the compressed file"
+" and copy the extracted folder to ``C:\\Program Files (x86)\\`` Rename "
+"the extracted folder with ``Data`` and ``Tor`` in it to ``tor-win32``."
msgstr ""
#: ../../source/tor.rst:105
@@ -263,23 +268,24 @@ msgstr ""
#: ../../source/tor.rst:112
msgid ""
-"The hashed password output is displayed after some warnings (which you can "
-"ignore). In the case of the above example, it is "
+"The hashed password output is displayed after some warnings (which you "
+"can ignore). In the case of the above example, it is "
"``16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF``."
msgstr ""
#: ../../source/tor.rst:114
msgid ""
-"Now create a new text file at ``C:\\Program Files (x86)\\tor-win32\\torrc`` "
-"and put your hashed password output in it, replacing the "
+"Now create a new text file at ``C:\\Program Files (x86)\\tor-"
+"win32\\torrc`` and put your hashed password output in it, replacing the "
"``HashedControlPassword`` with the one you just generated::"
msgstr ""
#: ../../source/tor.rst:119
msgid ""
-"In your administrator command prompt, install ``tor`` as a service using the "
-"appropriate ``torrc`` file you just created (as described in `<https://2019."
-"www.torproject.org/docs/faq.html.en#NTService>`_). Like this::"
+"In your administrator command prompt, install ``tor`` as a service using "
+"the appropriate ``torrc`` file you just created (as described in "
+"`<https://2019.www.torproject.org/docs/faq.html.en#NTService>`_). Like "
+"this::"
msgstr ""
#: ../../source/tor.rst:123
@@ -288,13 +294,13 @@ msgstr ""
#: ../../source/tor.rst:125
msgid ""
-"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor Settings "
-"tab. Under \"How should OnionShare connect to Tor?\" choose \"Connect using "
-"control port\", and set \"Control port\" to ``127.0.0.1`` and \"Port\" to "
-"``9051``. Under \"Tor authentication settings\" choose \"Password\" and set "
-"the password to the control port password you picked above. Click the \"Test "
-"Connection to Tor\" button. If all goes well, you should see \"Connected to "
-"the Tor controller\"."
+"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor "
+"Settings tab. Under \"How should OnionShare connect to Tor?\" choose "
+"\"Connect using control port\", and set \"Control port\" to ``127.0.0.1``"
+" and \"Port\" to ``9051``. Under \"Tor authentication settings\" choose "
+"\"Password\" and set the password to the control port password you picked"
+" above. Click the \"Test Connection to Tor\" button. If all goes well, "
+"you should see \"Connected to the Tor controller\"."
msgstr ""
#: ../../source/tor.rst:134
@@ -303,8 +309,8 @@ msgstr ""
#: ../../source/tor.rst:136
msgid ""
-"First, install `Homebrew <https://brew.sh/>`_ if you don't already have it, "
-"and then install Tor::"
+"First, install `Homebrew <https://brew.sh/>`_ if you don't already have "
+"it, and then install Tor::"
msgstr ""
#: ../../source/tor.rst:140
@@ -317,12 +323,12 @@ msgstr ""
#: ../../source/tor.rst:151
msgid ""
-"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor Settings "
-"tab. Under \"How should OnionShare connect to Tor?\" choose \"Connect using "
-"socket file\", and set the socket file to be ``/usr/local/var/run/tor/"
-"control.socket``. Under \"Tor authentication settings\" choose \"No "
-"authentication, or cookie authentication\". Click the \"Test Connection to "
-"Tor\" button."
+"Open OnionShare, click the \"⚙\" icon in it, and switch to the Tor "
+"Settings tab. Under \"How should OnionShare connect to Tor?\" choose "
+"\"Connect using socket file\", and set the socket file to be "
+"``/usr/local/var/run/tor/control.socket``. Under \"Tor authentication "
+"settings\" choose \"No authentication, or cookie authentication\". Click "
+"the \"Test Connection to Tor\" button."
msgstr ""
#: ../../source/tor.rst:157 ../../source/tor.rst:177
@@ -336,29 +342,41 @@ msgstr ""
#: ../../source/tor.rst:162
msgid ""
"First, install the ``tor`` package. If you're using Debian, Ubuntu, or a "
-"similar Linux distro, It is recommended to use the Tor Project's `official "
-"repository <https://support.torproject.org/apt/tor-deb-repo/>`_."
+"similar Linux distro, It is recommended to use the Tor Project's "
+"`official repository <https://support.torproject.org/apt/tor-deb-"
+"repo/>`_."
msgstr ""
#: ../../source/tor.rst:164
msgid ""
-"Next, add your user to the group that runs the ``tor`` process (in the case "
-"of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to connect to "
-"your system ``tor``'s control socket file."
+"Next, add your user to the group that runs the ``tor`` process (in the "
+"case of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to "
+"connect to your system ``tor``'s control socket file."
msgstr ""
#: ../../source/tor.rst:166
msgid ""
-"Add your user to the ``debian-tor`` group by running this command (replace "
-"``username`` with your actual username)::"
+"Add your user to the ``debian-tor`` group by running this command "
+"(replace ``username`` with your actual username)::"
msgstr ""
#: ../../source/tor.rst:170
msgid ""
-"Reboot your computer. After it boots up again, open OnionShare, click the \"⚙"
-"\" icon in it, and switch to the Tor Settings tab. Under \"How should "
-"OnionShare connect to Tor?\" choose \"Connect using socket file\". Set the "
-"socket file to be ``/var/run/tor/control``. Under \"Tor authentication "
-"settings\" choose \"No authentication, or cookie authentication\". Click the "
-"\"Test Connection to Tor\" button."
+"Reboot your computer. After it boots up again, open OnionShare, click the"
+" \"⚙\" icon in it, and switch to the Tor Settings tab. Under \"How should"
+" OnionShare connect to Tor?\" choose \"Connect using socket file\". Set "
+"the socket file to be ``/var/run/tor/control``. Under \"Tor "
+"authentication settings\" choose \"No authentication, or cookie "
+"authentication\". Click the \"Test Connection to Tor\" button."
msgstr ""
+
+#~ msgid ""
+#~ "Download the Tor Windows Expert Bundle"
+#~ " `from <https://www.torproject.org/download/tor/>`_. "
+#~ "Extract the compressed file and copy "
+#~ "the extracted folder to ``C:\\Program "
+#~ "Files (x86)\\`` Rename the extracted "
+#~ "folder with ``Data`` and ``Tor`` in "
+#~ "it to ``tor-win32``."
+#~ msgstr ""
+
diff --git a/docs/source/locale/es/LC_MESSAGES/install.po b/docs/source/locale/es/LC_MESSAGES/install.po
index 1273455a..707219ad 100644
--- a/docs/source/locale/es/LC_MESSAGES/install.po
+++ b/docs/source/locale/es/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 16:33+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
-"Language-Team: none\n"
"Language: es\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,15 +40,16 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Hay varias maneras de instalar OnionShare para Linux, pero la recomendada es "
-"usar el paquete `Flatpak <https://flatpak.org/>`_ o bien `Snapcraft <https://"
-"snapcraft.io/>`_. Flatpak y Snap aseguran que siempre usará la versión más "
-"nueva, y ejecutará OnionShare dentro en un sandbox."
+"Hay varias maneras de instalar OnionShare para Linux, pero la recomendada"
+" es usar el paquete `Flatpak <https://flatpak.org/>`_ o bien `Snapcraft "
+"<https://snapcraft.io/>`_. Flatpak y Snap aseguran que siempre usará la "
+"versión más nueva, y ejecutará OnionShare dentro en un sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -57,21 +57,20 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Snap está incorporado en Ubuntu, y Flatpak en Fedora, pero es tu elección "
-"cuál usar. Ambos funcionan en todas las distribuciones Linux."
+"Snap está incorporado en Ubuntu, y Flatpak en Fedora, pero es tu elección"
+" cuál usar. Ambos funcionan en todas las distribuciones Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Instala OnionShare usando Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Instala OnionShare usando Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**Instala OnionShare usando Snapcraft**: https://snapcraft.io/onionshare"
+msgstr "**Instala OnionShare usando Snapcraft**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
@@ -88,43 +87,43 @@ msgstr "Instalación manual con Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Si deseas instalar OnionShare manualmente con Flatpak usando el `paquete de "
-"un solo archivo firmado por PGP <https://docs.flatpak.org/en/latest/single-"
-"file-bundles.html>`_, puedes hacerlo así como este:"
+"Si deseas instalar OnionShare manualmente con Flatpak usando el `paquete "
+"de un solo archivo firmado por PGP <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_, puedes hacerlo así como este:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
-msgstr ""
-"Instala Flatpak siguiendo las instrucciones en https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
+msgstr "Instala Flatpak siguiendo las instrucciones en https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Agrega el repositorio de Flathub ejecutando ``flatpak remote-add --if-not-"
-"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Aunque no "
-"descargará OnionShare desde Flathub, OnionShare depende de algunos paquetes "
-"que solo están disponibles allí."
+"Agrega el repositorio de Flathub ejecutando ``flatpak remote-add --if-"
+"not-exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Aunque"
+" no descargará OnionShare desde Flathub, OnionShare depende de algunos "
+"paquetes que solo están disponibles allí."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Ve a https://onionshare.org/dist/, elige la última versión de OnionShare y "
-"descarga los archivos ``.flatpak`` y ``.flatpak.asc``."
+"Ve a https://onionshare.org/dist/, elige la última versión de OnionShare "
+"y descarga los archivos ``.flatpak`` y ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Verifica la firma PGP del archivo ``.flatpak``. Consulta "
":ref:`verifying_sigs` para obtener más información."
@@ -132,8 +131,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Instala el archivo ``.flatpak`` ejecutando ``flatpak install OnionShare-"
"VERSION.flatpak``. Reemplaza ``VERSION`` con el número de la versión del "
@@ -141,8 +140,7 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
-msgstr ""
-"Puedes ejecutar OnionShare con: `flatpak run org.onionshare.OnionShare`."
+msgstr "Puedes ejecutar OnionShare con: `flatpak run org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -150,49 +148,50 @@ msgstr "Instalación manual de Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"Si quieres instalar OnionShare manualmente con Snapcraft usando el paquete "
-"Snapcraft firmado con PGP, puedes hacerlo así:"
+"Si quieres instalar OnionShare manualmente con Snapcraft usando el "
+"paquete Snapcraft firmado con PGP, puedes hacerlo así:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Instala Snapcraft siguiendo las instrucciones de https://snapcraft.io/docs/"
-"installing-snapd."
+"Instala Snapcraft siguiendo las instrucciones de "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Vete a https://onionshare.org/dist/, elije la última versión de OnionShare y "
-"descarga los archivos ``.snap`` y ``.snap.asc``."
+"Vete a https://onionshare.org/dist/, elije la última versión de "
+"OnionShare y descarga los archivos ``.snap`` y ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Verifica la firma PGP del archivo ``.snap``. Consulta :ref:`verifying_sigs` "
-"para obtener más información."
+"Verifica la firma PGP del archivo ``.snap``. Consulta "
+":ref:`verifying_sigs` para obtener más información."
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Instala el archivo ``.snap`` ejecutando ``snap install "
-"--dangerousionsonshare_VERSION_amd64.snap``. Reemplaza ``VERSION`` con el "
-"número de versión del archivo que descargaste. Ten en cuenta que debes usar "
-"`--dangerous` porque el paquete no está firmado por la tienda de Snapcraft, "
-"sin embargo, verificó tu firma PGP, por lo que sabe que es legítimo."
+"--dangerousionsonshare_VERSION_amd64.snap``. Reemplaza ``VERSION`` con el"
+" número de versión del archivo que descargaste. Ten en cuenta que debes "
+"usar `--dangerous` porque el paquete no está firmado por la tienda de "
+"Snapcraft, sin embargo, verificó tu firma PGP, por lo que sabe que es "
+"legítimo."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -204,8 +203,9 @@ msgstr "Sólo línea de comandos"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Puedes instalar sólo la versión de línea de comandos de OnionShare en "
"cualquier sistema operativo utilizando el gestor de paquetes de Python "
@@ -217,17 +217,17 @@ msgstr "Verificar firmas PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Puedes verificar que el paquete que descargaste sea legítimo y no haya sido "
-"manipulado al verificar su firma PGP. Para Windows y macOS, este paso es "
-"opcional, y provee defensa en profundidad: los ejecutables OnionShare "
-"incluyen firmas específicas del sistema operativo, y puedes confiar solo en "
-"ellas si así lo prefieres."
+"Puedes verificar que el paquete que descargaste sea legítimo y no haya "
+"sido manipulado al verificar su firma PGP. Para Windows y macOS, este "
+"paso es opcional, y provee defensa en profundidad: los ejecutables "
+"OnionShare incluyen firmas específicas del sistema operativo, y puedes "
+"confiar solo en ellas si así lo prefieres."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -235,142 +235,202 @@ msgstr "Clave de firma"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
"Los paquetes están firmados por Micah Lee, el desarrollador principal, "
"usando su clave pública PGP con huella digital "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes descargar la clave de "
-"Micah `desde el servidor de llaves keys.openpgp.org <https://keys.openpgp."
-"org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes descargar la clave "
+"de Micah `desde el servidor de llaves keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Para verificar firmas, debes tener GnuPG instalado. Para macOS probablemente "
-"quieras `GPGTools <https://gpgtools.org/>`_, y para Windows, `Gpg4win "
-"<https://www.gpg4win.org/>`_."
+"Para verificar firmas, debes tener GnuPG instalado. Para macOS "
+"probablemente quieras `GPGTools <https://gpgtools.org/>`_, y para "
+"Windows, `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Firmas"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
"Puedes encontrar las firmas (archivos ``.asc``), como así también los "
-"paquetes para Windows, macOS, Flatpak, Snap y el código fuente, en https://"
-"onionshare.org/dist/ en las carpetas nombradas por cada versión de "
-"OnionShare. También puedes encontrarlas en la `página de Lanzamientos de "
-"GitHub <https://github.com/micahflee/onionshare/releases>`_."
+"paquetes para Windows, macOS, Flatpak, Snap y el código fuente, en "
+"https://onionshare.org/dist/ en las carpetas nombradas por cada versión "
+"de OnionShare. También puedes encontrarlas en la `página de Lanzamientos "
+"de GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Verificando"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
-"Una vez que hayas importado la clave pública de Micah en tu llavero GnuPG, "
-"descargado el binario y la firma ``.asc``, puedes verificar el binario para "
-"macOS en un terminal de la siguiente manera::"
+"Una vez que hayas importado la clave pública de Micah en tu llavero "
+"GnuPG, descargado el binario y la firma ``.asc``, puedes verificar el "
+"binario para macOS en un terminal de la siguiente manera::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "O para Windows en una línea de comando como sigue::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "La salida esperada se parece a esta::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
-"Si no ves ``Good signature from``, puede haber un problema con la integridad "
-"del archivo (malicioso o no), y no deberías instalar el paquete. (El "
-"``WARNING:`` mostrado arriba, no es un problema con el paquete, sólo "
-"significa que no has definido un nivel de \"confianza\" de la clave PGP de "
-"Micah (el desarrollador del núcleo))"
+"Si no ves ``Good signature from``, puede haber un problema con la "
+"integridad del archivo (malicioso o no), y no deberías instalar el "
+"paquete. (El ``WARNING:`` mostrado arriba, no es un problema con el "
+"paquete, sólo significa que no has definido un nivel de \"confianza\" de "
+"la clave PGP de Micah (el desarrollador del núcleo))"
+
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Si no ves ``Good signature from``, puede haber un problema con la "
+"integridad del archivo (malicioso o no), y no deberías instalar el "
+"paquete. (El ``WARNING:`` mostrado arriba, no es un problema con el "
+"paquete, sólo significa que no has definido un nivel de \"confianza\" de "
+"la clave PGP de Micah (el desarrollador del núcleo))"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Si quieres aprender más acerca de la verificación de firmas PGP, las guías "
-"para `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ y "
-"el `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ podrían ser útiles."
+"Si quieres aprender más acerca de la verificación de firmas PGP, las "
+"guías para `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ y el `Tor Project <https://support.torproject.org/tbb/how-"
+"to-verify-signature/>`_ podrían ser útiles."
#~ msgid "For added security, see :ref:`verifying_sigs`."
#~ msgstr "Para mayor seguridad, lee :ref:`verifying_sigs`."
#~ msgid ""
-#~ "There are various ways to install OnionShare for Linux, but the "
-#~ "recommended way is to use the Flatpak package. Flatpak ensures that "
-#~ "you'll always use the most latest dependencies and run OnionShare inside "
+#~ "There are various ways to install "
+#~ "OnionShare for Linux, but the "
+#~ "recommended way is to use the "
+#~ "Flatpak package. Flatpak ensures that "
+#~ "you'll always use the most latest "
+#~ "dependencies and run OnionShare inside "
#~ "of a sandbox."
#~ msgstr ""
-#~ "Hay varias formas de instalar OnionShare en Linux, pero recomendamos "
-#~ "utilizar el paquete Flatpak. Flatpak garantiza que las dependencias serán "
-#~ "siempre las más recientes y ejecutará OnionShare dentro de un contenedor "
-#~ "aislado."
+#~ "Hay varias formas de instalar OnionShare"
+#~ " en Linux, pero recomendamos utilizar "
+#~ "el paquete Flatpak. Flatpak garantiza "
+#~ "que las dependencias serán siempre las"
+#~ " más recientes y ejecutará OnionShare "
+#~ "dentro de un contenedor aislado."
#~ msgid ""
-#~ "Make sure you have ``flatpak`` installed and the Flathub repository added "
-#~ "by following `these instructions <https://flatpak.org/setup/>`_ for your "
-#~ "Linux distribution."
+#~ "Make sure you have ``flatpak`` installed"
+#~ " and the Flathub repository added by"
+#~ " following `these instructions "
+#~ "<https://flatpak.org/setup/>`_ for your Linux "
+#~ "distribution."
#~ msgstr ""
-#~ "Instala ``flatpak`` y añade el repositorio Flathub siguiendo `estas "
-#~ "instrucciones <https://flatpak.org/setup/>`_ para tu distribución Linux."
+#~ "Instala ``flatpak`` y añade el "
+#~ "repositorio Flathub siguiendo `estas "
+#~ "instrucciones <https://flatpak.org/setup/>`_ para tu"
+#~ " distribución Linux."
#~ msgid ""
-#~ "You can verify that the Windows, macOS, or source package you download is "
-#~ "legitimate and hasn't been tampered with by verifying its PGP signature. "
-#~ "For Windows and macOS, this step is optional and provides defense in "
-#~ "depth: the installers also include their operating system-specific "
-#~ "signatures, and you can just rely on those alone if you'd like."
+#~ "You can verify that the Windows, "
+#~ "macOS, or source package you download"
+#~ " is legitimate and hasn't been "
+#~ "tampered with by verifying its PGP "
+#~ "signature. For Windows and macOS, this"
+#~ " step is optional and provides "
+#~ "defense in depth: the installers also"
+#~ " include their operating system-specific"
+#~ " signatures, and you can just rely"
+#~ " on those alone if you'd like."
#~ msgstr ""
-#~ "Puedes asegurate de que el paquete con el código fuente, el de Windows o "
-#~ "el de macOS que descargaste es correcto y no ha sido manipulado "
-#~ "verificando su firma PGP. Para Windows y macOS este paso es opcional, y "
-#~ "provee defensa en profundidad: los instaladores también incluyen sus "
-#~ "firmas específicas del sistema operativo, y puedes confiar solo en ellas "
-#~ "si así lo deseas."
+#~ "Puedes asegurate de que el paquete "
+#~ "con el código fuente, el de "
+#~ "Windows o el de macOS que "
+#~ "descargaste es correcto y no ha "
+#~ "sido manipulado verificando su firma "
+#~ "PGP. Para Windows y macOS este "
+#~ "paso es opcional, y provee defensa "
+#~ "en profundidad: los instaladores también "
+#~ "incluyen sus firmas específicas del "
+#~ "sistema operativo, y puedes confiar solo"
+#~ " en ellas si así lo deseas."
#~ msgid ""
-#~ "Windows, macOS, and source packaged are signed by Micah Lee, the core "
-#~ "developer, using his PGP public key with fingerprint "
-#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can download Micah's "
-#~ "key `from the keys.openpgp.org keyserver <https://keys.openpgp.org/vks/v1/"
-#~ "by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Windows, macOS, and source packaged are"
+#~ " signed by Micah Lee, the core "
+#~ "developer, using his PGP public key "
+#~ "with fingerprint "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
+#~ "download Micah's key `from the "
+#~ "keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgstr ""
-#~ "Los paquetes para Windows, macOS, y el código fuente están firmados por "
-#~ "Micah Lee, el desarrollador principal, usando su clave PGP pública con "
-#~ "huella digital ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes "
-#~ "descargar la clave de Micah `desde el servidor de claves keys.openpgp.org "
+#~ "Los paquetes para Windows, macOS, y "
+#~ "el código fuente están firmados por "
+#~ "Micah Lee, el desarrollador principal, "
+#~ "usando su clave PGP pública con "
+#~ "huella digital "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Puedes "
+#~ "descargar la clave de Micah `desde "
+#~ "el servidor de claves keys.openpgp.org "
#~ "<https://keys.openpgp.org/vks/v1/by-"
#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgid "Install in Linux"
#~ msgstr "Instalar en Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "O para Windows en una línea de comando como sigue::"
+
diff --git a/docs/source/locale/fr/LC_MESSAGES/install.po b/docs/source/locale/fr/LC_MESSAGES/install.po
index 439edf08..14c5d69d 100644
--- a/docs/source/locale/fr/LC_MESSAGES/install.po
+++ b/docs/source/locale/fr/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 14:30+0000\n"
"Last-Translator: tachyglossues <tachyglossues@gmail.com>\n"
-"Language-Team: none\n"
"Language: fr\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -32,8 +31,8 @@ msgid ""
"You can download OnionShare for Windows and macOS from the `OnionShare "
"website <https://onionshare.org/>`_."
msgstr ""
-"Vous pouvez télécharger OnionShare pour Windows et macOS depuis le `site web "
-"OnionShare <https://onionshare.org/>`_."
+"Vous pouvez télécharger OnionShare pour Windows et macOS depuis le `site "
+"web OnionShare <https://onionshare.org/>`_."
#: ../../source/install.rst:12
msgid "Linux"
@@ -41,16 +40,18 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Il existe plusieurs façons d'installer OnionShare pour Linux, mais la "
-"méthode recommandée est d'utiliser soit le paquet `Flatpak <https://flatpak."
-"org/>`_ soit le paquet `Snap <https://snapcraft.io/>`_. Flatpak et Snapcraft "
-"garantissent que vous utiliserez toujours la version la plus récente et que "
-"vous exécuterez OnionShare à l'intérieur d'un bac à sable."
+"méthode recommandée est d'utiliser soit le paquet `Flatpak "
+"<https://flatpak.org/>`_ soit le paquet `Snap <https://snapcraft.io/>`_. "
+"Flatpak et Snapcraft garantissent que vous utiliserez toujours la version"
+" la plus récente et que vous exécuterez OnionShare à l'intérieur d'un bac"
+" à sable."
#: ../../source/install.rst:17
msgid ""
@@ -58,30 +59,36 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"La prise en charge de Snapcraft est intégrée à Ubuntu et Fedora est fournie "
-"avec la prise en charge de Flatpak, mais c'est à vous de choisir. Les deux "
-"fonctionnent dans toutes les distributions Linux."
+"La prise en charge de Snapcraft est intégrée à Ubuntu et Fedora est "
+"fournie avec la prise en charge de Flatpak, mais c'est à vous de choisir."
+" Les deux fonctionnent dans toutes les distributions Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Installer OnionShare en utilisant Flatpak** : https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Installer OnionShare en utilisant Flatpak** : "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Installer OnionShare en utilisant Snap** : https://snapcraft.io/onionshare"
+"**Installer OnionShare en utilisant Snap** : "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Vous pouvez aussi télécharger et installer des paquets ``.flatpak`` ou ``."
-"snap`` signé avec PGP depuis https://onionshare.org/dist/ si vous préférer."
+"Vous pouvez aussi télécharger et installer des paquets ``.flatpak`` ou "
+"``.snap`` signé avec PGP depuis https://onionshare.org/dist/ si vous "
+"préférer."
+
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr "Installation manuelle de Flatpak"
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -90,26 +97,28 @@ msgstr "Installation manuelle de Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Si vous souhaitez installer OnionShare manuellement avec Flatpak en "
-"utilisant le `single-file bundle <https://docs.flatpak.org/en/latest/single-"
-"file-bundles.html>`_signé par PGP, vous pouvez le faire comme suit :"
+"utilisant le `single-file bundle <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_signé par PGP, vous pouvez le faire comme "
+"suit :"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Installez Flatpak en suivant les instructions à l'adresse https://flatpak."
-"org/setup/."
+"Installez Flatpak en suivant les instructions à l'adresse "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Ajoutez le dépôt Flathub en lançant ``flatpak remote-add --if-not-exists "
"flathub https://flathub.org/repo/flathub.flatpakrepo``. Même si vous ne "
@@ -118,34 +127,36 @@ msgstr ""
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
"Allez sur https://onionshare.org/dist/, choisissez la dernière version "
-"d'OnionShare, et téléchargez les fichiers ``.flatpak`` et ``.flatpak.asc``."
+"d'OnionShare, et téléchargez les fichiers ``.flatpak`` et "
+"``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"Vérifie la signature PGP du fichier ``.flatpak``. Voir :ref:`verifying_sigs` "
-"pour plus d'informations."
+"Vérifie la signature PGP du fichier ``.flatpak``. Voir "
+":ref:`verifying_sigs` pour plus d'informations."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"Installez le fichier ``.flatpak`` en exécutant ``flatpak install OnionShare-"
-"VERSION.flatpak``. Remplacez ``VERSION`` par le numéro de version du fichier "
-"que vous avez téléchargé."
+"Installez le fichier ``.flatpak`` en exécutant ``flatpak install "
+"OnionShare-VERSION.flatpak``. Remplacez ``VERSION`` par le numéro de "
+"version du fichier que vous avez téléchargé."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Vous pouvez lancer OnionShare avec : `flatpak run org.onionshare.OnionShare`."
+"Vous pouvez lancer OnionShare avec : `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -153,50 +164,51 @@ msgstr "Manuel d'installation de Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Si vous souhaitez installer OnionShare manuellement avec Snapcraft en "
-"utilisant le paquet Snapcraft signé PGP, vous pouvez le faire comme suit :"
+"utilisant le paquet Snapcraft signé PGP, vous pouvez le faire comme suit "
+":"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Installez Snapcraft en suivant les instructions à l'adresse https://snapcraft"
-".io/docs/installing-snapd."
+"Installez Snapcraft en suivant les instructions à l'adresse "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Allez sur https://onionshare.org/dist/, choisissez la dernière version "
"d'OnionShare, et téléchargez les fichiers ``.snap`` et ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Vérifie la signature PGP du fichier ``.snap``. Voir :ref:`verifying_sigs` "
-"pour plus d'informations."
+"Vérifie la signature PGP du fichier ``.snap``. Voir :ref:`verifying_sigs`"
+" pour plus d'informations."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Installez le fichier ``.snap`` en exécutant ``snap install --dangerous "
"onionshare_VERSION_amd64.snap``. Remplacez ``VERSION`` par le numéro de "
-"version du fichier que vous avez téléchargé. Notez que vous devez utiliser "
-"`--dangerous` parce que le paquet n'est pas signé par le magasin Snapcraft, "
-"cependant vous avez vérifié sa signature PGP, donc vous savez qu'il est "
-"légitime."
+"version du fichier que vous avez téléchargé. Notez que vous devez "
+"utiliser `--dangerous` parce que le paquet n'est pas signé par le magasin"
+" Snapcraft, cependant vous avez vérifié sa signature PGP, donc vous savez"
+" qu'il est légitime."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +220,13 @@ msgstr "Uniquement en ligne de commande"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Vous pouvez installer uniquement la version en ligne de commande "
-"d'OnionShare sur n'importe quel OS en utilisant le gestionnaire de paquets "
-"``pip``. Voir :ref:`cli` pour plus de précisions."
+"d'OnionShare sur n'importe quel OS en utilisant le gestionnaire de "
+"paquets ``pip``. Voir :ref:`cli` pour plus de précisions."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,17 +234,18 @@ msgstr "Vérifier les signatures PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
"Vous pouvez vérifier que les paquets que vous téléchargés n'ont pas été "
-"falsifiés en vérifiant la signature PGP. Pour Windows et macOS, cette étape "
-"est optionnelle et procure une défense en profondeur : les exécutables "
-"OnionShare incluent des signatures spécifiques aux systèmes, et vous pouvez "
-"vous reposer uniquement sur celles-là si vous le souhaitez."
+"falsifiés en vérifiant la signature PGP. Pour Windows et macOS, cette "
+"étape est optionnelle et procure une défense en profondeur : les "
+"exécutables OnionShare incluent des signatures spécifiques aux systèmes, "
+"et vous pouvez vous reposer uniquement sur celles-là si vous le "
+"souhaitez."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -239,89 +253,124 @@ msgstr "Clé de signature"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Les paquets sont signés par Micah Lee, développeur principal, utilisant sa "
-"clé PGP publique ayant comme empreinte "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Vous pouvez téléchargez sa clé "
-"`depuis le serveur de clé openpgp.org. <https://keys.openpgp.org/vks/v1/by-"
+"Les paquets sont signés par Micah Lee, développeur principal, utilisant "
+"sa clé PGP publique ayant comme empreinte "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Vous pouvez téléchargez sa "
+"clé `depuis le serveur de clé openpgp.org. "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Vous devez avoir installé GnuPG pour vérifier les signatures. Pour macOS, "
-"vous voudrez probablement utilisé `GPGTools <https://gpgtools.org/>`_, et "
-"pour Windows `Gpg4win <https://www.gpg4win.org/>`_."
+"Vous devez avoir installé GnuPG pour vérifier les signatures. Pour macOS,"
+" vous voudrez probablement utilisé `GPGTools <https://gpgtools.org/>`_, "
+"et pour Windows `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Signatures"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Vous pouvez trouver les signatures (en tant fichiers ``.asc``), ainsi que "
-"les fichiers Windows, macOS, Flatpak, Snap et sources, à https://onionshare."
-"org/dist/ in les dossiers correspondants à chaque version d'OnionShare. Vous "
-"pouvez aussi les trouvez sur `la page des versions GitHub <https://github."
-"com/micahflee/onionshare/releases>`_."
+"Vous pouvez trouver les signatures (en tant fichiers ``.asc``), ainsi que"
+" les fichiers Windows, macOS, Flatpak, Snap et sources, à "
+"https://onionshare.org/dist/ in les dossiers correspondants à chaque "
+"version d'OnionShare. Vous pouvez aussi les trouvez sur `la page des "
+"versions GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Vérifier"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
-"Une fois que vous avez importé la clé publique de Micah dans votre trousseau "
-"de clés GnuPG, téléchargé le binaire et la signature ``.asc``, vous pouvez "
-"vérifier le binaire pour macOS dans un terminal comme ceci::"
+"Une fois que vous avez importé la clé publique de Micah dans votre "
+"trousseau de clés GnuPG, téléchargé le binaire et la signature ``.asc``, "
+"vous pouvez vérifier le binaire pour macOS dans un terminal comme ceci::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Ou pour Windows, dans l'invite de commande comme ceci ::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "La sortie attendue ressemble à ::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
+msgid ""
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
+msgstr ""
+"Si vous ne voyez pas ``Good signature from``, il se peut qu'il y ait un "
+"problème avec l'intégrité du fichier (malveillant ou autre chose), et "
+"vous ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au "
+"dessus, n'est pas un problème avec le paquet, cela veut seulement dire "
+"que vous n'avez pas défini le niveau de \"confiance\" de la clé PGP de "
+"Micah.)"
+
+#: ../../source/install.rst:114
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
msgstr ""
"Si vous ne voyez pas ``Good signature from``, il se peut qu'il y ait un "
-"problème avec l'intégrité du fichier (malveillant ou autre chose), et vous "
-"ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au dessus, "
-"n'est pas un problème avec le paquet, cela veut seulement dire que vous "
-"n'avez pas défini le niveau de \"confiance\" de la clé PGP de Micah.)"
+"problème avec l'intégrité du fichier (malveillant ou autre chose), et "
+"vous ne devriez pas installer le paquet. (Le ``WARNING:`` affiché au "
+"dessus, n'est pas un problème avec le paquet, cela veut seulement dire "
+"que vous n'avez pas défini le niveau de \"confiance\" de la clé PGP de "
+"Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Si vous voulez en apprendre plus sur la vérification des signatures PGP, le "
-"guide de `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/"
-">`_ et du `Projet Tor <https://support.torproject.org/tbb/how-to-verify-"
-"signature/>`_ peuvent être utiles."
+"Si vous voulez en apprendre plus sur la vérification des signatures PGP, "
+"le guide de `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ et du `Projet Tor <https://support.torproject.org/tbb/how-"
+"to-verify-signature/>`_ peuvent être utiles."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Ou pour Windows, dans l'invite de commande comme ceci ::"
+
diff --git a/docs/source/locale/ja/LC_MESSAGES/install.po b/docs/source/locale/ja/LC_MESSAGES/install.po
index 8a31f464..78aa3302 100644
--- a/docs/source/locale/ja/LC_MESSAGES/install.po
+++ b/docs/source/locale/ja/LC_MESSAGES/install.po
@@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-04 18:26+0000\n"
-"Last-Translator: Isizaki mei <anonymous.colt330@aleeas.com>\n"
+"PO-Revision-Date: 2023-06-06 12:39+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: ja <LL@li.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.1-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.10.3\n"
#: ../../source/install.rst:2
diff --git a/docs/source/locale/ja/LC_MESSAGES/security.po b/docs/source/locale/ja/LC_MESSAGES/security.po
index 9febb43c..168d738e 100644
--- a/docs/source/locale/ja/LC_MESSAGES/security.po
+++ b/docs/source/locale/ja/LC_MESSAGES/security.po
@@ -133,11 +133,10 @@ msgid ""
"over Tor, can be used to share the address. This isn't necessary unless "
"anonymity is a goal."
msgstr ""
-"**OnionShareアドレスと秘密鍵の通信は匿名ではないかもしれません。** OnionShare"
-"アドレスが確実に匿名で通信されるように、特別な注意を払う必要があります。Tor経"
-"由でしかアクセスできない新しい電子メールやチャットのアカウントを、アドレスを"
-"共有するために使うことができます。匿名性が目的でなければ、これは必要ありませ"
-"ん。"
+"**OnionShareアドレスの共有は匿名ではないかもしれない。** OnionShareアドレスを"
+"匿名で共有したい場合、ことさら用心に注意する必要があります。Torのみでアクセス"
+"される新しいチャットまたはメールアカウントでアドレスを共有するのはおすすめし"
+"ます。匿名性を目的にしない場合はこういう予防策の必要がありません。"
#~ msgid ""
#~ "**Third parties don't have access to anything that happens in OnionShare."
diff --git a/docs/source/locale/pl/LC_MESSAGES/install.po b/docs/source/locale/pl/LC_MESSAGES/install.po
index 76c07b69..0824f861 100644
--- a/docs/source/locale/pl/LC_MESSAGES/install.po
+++ b/docs/source/locale/pl/LC_MESSAGES/install.po
@@ -7,18 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 14:30+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
-"Language-Team: pl <LL@li.org>\n"
"Language: pl\n"
+"Language-Team: pl <LL@li.org>\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && "
+"(n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -33,8 +32,8 @@ msgid ""
"You can download OnionShare for Windows and macOS from the `OnionShare "
"website <https://onionshare.org/>`_."
msgstr ""
-"Możesz pobrać OnionShare dla Windows i macOS ze `strony OnionShare <https://"
-"onionshare.org/>`_."
+"Możesz pobrać OnionShare dla Windows i macOS ze `strony OnionShare "
+"<https://onionshare.org/>`_."
#: ../../source/install.rst:12
msgid "Linux"
@@ -42,15 +41,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Istnieją różne sposoby instalacji OnionShare dla systemu Linux, ale "
-"zalecanym sposobem jest użycie pakietu `Flatpak <https://flatpak.org/>`_ lub "
-"`Snap <https://snapcraft.io/>`_ . Flatpak i Snap zapewnią, że zawsze "
-"będziesz korzystać z najnowszej wersji i uruchamiać OnionShare w piaskownicy."
+"zalecanym sposobem jest użycie pakietu `Flatpak <https://flatpak.org/>`_ "
+"lub `Snap <https://snapcraft.io/>`_ . Flatpak i Snap zapewnią, że zawsze "
+"będziesz korzystać z najnowszej wersji i uruchamiać OnionShare w "
+"piaskownicy."
#: ../../source/install.rst:17
msgid ""
@@ -64,17 +65,17 @@ msgstr ""
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Instalacja OnionShare przy użyciu Flatpak**: https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Instalacja OnionShare przy użyciu Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Instalacja OnionShare przy użyciu Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Instalacja OnionShare przy użyciu Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
@@ -91,44 +92,45 @@ msgstr "Ręczna instalacja Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Jeśli chcesz ręcznie zainstalować OnionShare z Flatpak, używając podpisanego "
-"PGP `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, możesz to zrobić w ten sposób:"
+"Jeśli chcesz ręcznie zainstalować OnionShare z Flatpak, używając "
+"podpisanego PGP `single-file bundle <https://docs.flatpak.org/en/latest"
+"/single-file-bundles.html>`_, możesz to zrobić w ten sposób:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Zainstaluj Flatpak, postępując zgodnie z instrukcjami na stronie "
"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Dodaj repozytorium Flathub, uruchamiając ``flatpak remote-add --if-not-"
-"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Nawet jeśli "
-"nie będziesz pobierać OnionShare z Flathub, OnionShare zależy od niektórych "
-"pakietów, które są dostępne tylko tam."
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Nawet "
+"jeśli nie będziesz pobierać OnionShare z Flathub, OnionShare zależy od "
+"niektórych pakietów, które są dostępne tylko tam."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję OnionShare "
-"i pobierz pliki ``.flatpak`` i ``.flatpak.asc``."
+"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję "
+"OnionShare i pobierz pliki ``.flatpak`` i ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Sprawdź podpis PGP pliku ``.flatpak``. Zobacz :ref:`verifying_sigs`, aby "
"uzyskać więcej informacji."
@@ -136,8 +138,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Zainstaluj plik ``.flatpak``, uruchamiając ``flatpak install OnionShare-"
"VERSION.flatpak``. Zastąp ``VERSION`` numerem wersji pobranego pliku."
@@ -145,8 +147,8 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Możesz uruchomić OnionShare za pomocą: `flatpak run org.onionshare."
-"OnionShare`."
+"Możesz uruchomić OnionShare za pomocą: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -154,50 +156,50 @@ msgstr "Ręczna instalacja Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"Jeśli chcesz ręcznie zainstalować OnionShare za pomocą Snapcraft przy użyciu "
-"pakietu Snapcraft podpisanego przez PGP, możesz to zrobić w następujący "
-"sposób:"
+"Jeśli chcesz ręcznie zainstalować OnionShare za pomocą Snapcraft przy "
+"użyciu pakietu Snapcraft podpisanego przez PGP, możesz to zrobić w "
+"następujący sposób:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
"Zainstaluj Snapcraft, postępując zgodnie z instrukcjami na stronie "
"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję OnionShare "
-"i pobierz pliki ``.snap`` i ``.snap.asc``."
+"Przejdź do https://onionshare.org/dist/, wybierz najnowszą wersję "
+"OnionShare i pobierz pliki ``.snap`` i ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
"Sprawdź podpis PGP pliku ``.snap``. Zobacz :ref:`verifying_sigs`, aby "
"uzyskać więcej informacji."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Zainstaluj plik ``.snap``, uruchamiając ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Zastąp ``VERSION`` numerem wersji pobranego "
-"pliku. Pamiętaj, że musisz użyć `--dangerous`, ponieważ pakiet nie jest "
-"podpisany przez sklep Snapcraft, jednak zweryfikowano jego podpis PGP, więc "
-"wiesz, że jest legalny."
+"onionshare_VERSION_amd64.snap``. Zastąp ``VERSION`` numerem wersji "
+"pobranego pliku. Pamiętaj, że musisz użyć `--dangerous`, ponieważ pakiet "
+"nie jest podpisany przez sklep Snapcraft, jednak zweryfikowano jego "
+"podpis PGP, więc wiesz, że jest legalny."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -209,12 +211,13 @@ msgstr "Wiersz poleceń"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Możesz zainstalować tylko wersję wiersza poleceń OnionShare na dowolnym "
-"systemie operacyjnym za pomocą menedżera pakietów Python ``pip``. Zobacz :"
-"ref:`cli`, aby uzyskać więcej informacji."
+"systemie operacyjnym za pomocą menedżera pakietów Python ``pip``. Zobacz "
+":ref:`cli`, aby uzyskać więcej informacji."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -222,17 +225,17 @@ msgstr "Weryfikacja sygnatur PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Możesz sprawdzić, czy pobrany pakiet jest poprawny i nie został naruszony, "
-"weryfikując jego podpis PGP. W przypadku systemów Windows i macOS ten krok "
-"jest opcjonalny i zapewnia dogłębną ochronę: pliki binarne OnionShare "
-"zawierają podpisy specyficzne dla systemu operacyjnego i jeśli chcesz, "
-"możesz po prostu na nich polegać."
+"Możesz sprawdzić, czy pobrany pakiet jest poprawny i nie został "
+"naruszony, weryfikując jego podpis PGP. W przypadku systemów Windows i "
+"macOS ten krok jest opcjonalny i zapewnia dogłębną ochronę: pliki binarne"
+" OnionShare zawierają podpisy specyficzne dla systemu operacyjnego i "
+"jeśli chcesz, możesz po prostu na nich polegać."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -240,23 +243,23 @@ msgstr "Klucz podpisujący"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Pakiety są podpisywane przez Micah Lee, głównego programistę, przy użyciu "
-"jego publicznego klucza PGP z odciskiem palca "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Możesz pobrać klucz Micah `z "
-"serwera kluczy keys.openpgp.org <https://keys.openpgp.org/vks/v1/by-"
+"Pakiety są podpisywane przez Micah Lee, głównego programistę, przy użyciu"
+" jego publicznego klucza PGP z odciskiem palca "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Możesz pobrać klucz Micah "
+"`z serwera kluczy keys.openpgp.org <https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
"Aby zweryfikować podpisy, musisz mieć zainstalowane GnuPG. Dla macOS "
"prawdopodobnie potrzebujesz `GPGTools <https://gpgtools.org/>`_, a dla "
@@ -267,60 +270,94 @@ msgid "Signatures"
msgstr "Sygnatury"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Podpisy (jako pliki ``.asc``), a także pakiety Windows, macOS, Flatpak, Snap "
-"i źródła można znaleźć pod adresem https://onionshare.org/dist/ w folderach "
-"nazwanych od każdej wersji OnionShare. Możesz je również znaleźć na "
-"`GitHubie <https://github.com/micahflee/onionshare/releases>`_."
+"Podpisy (jako pliki ``.asc``), a także pakiety Windows, macOS, Flatpak, "
+"Snap i źródła można znaleźć pod adresem https://onionshare.org/dist/ w "
+"folderach nazwanych od każdej wersji OnionShare. Możesz je również "
+"znaleźć na `GitHubie "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Weryfikacja"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Po zaimportowaniu klucza publicznego Micah do pęku kluczy GnuPG, pobraniu"
+" pliku binarnego i podpisu ``.asc``, możesz zweryfikować plik binarny dla"
+" systemu macOS w terminalu takim jak ten::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Po zaimportowaniu klucza publicznego Micah do pęku kluczy GnuPG, pobraniu "
-"pliku binarnego i podpisu ``.asc``, możesz zweryfikować plik binarny dla "
-"systemu macOS w terminalu takim jak ten::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Lub w wierszu polecenia systemu Windows w następujący sposób::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Oczekiwany rezultat wygląda następująco::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"Jeśli nie widzisz ``Good signature from``, może to oznaczać problem z "
-"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu. "
-"(Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z pakietem, "
-"oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza PGP Micah.)"
+"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu."
+" (Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z "
+"pakietem, oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza "
+"PGP Micah.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Jeśli nie widzisz ``Good signature from``, może to oznaczać problem z "
+"integralnością pliku (złośliwy lub inny) i nie należy instalować pakietu."
+" (Pokazane powyżej ostrzeżenie ``WARNING:`` nie jest problemem z "
+"pakietem, oznacza tylko, że nie zdefiniowano poziomu \"zaufania\" klucza "
+"PGP Micah.)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Jeśli chcesz dowiedzieć się więcej o weryfikowaniu podpisów PGP, przydatne "
-"mogą być przewodniki dotyczące `Qubes OS <https://www.qubes-os.org/security/"
-"verifying-signatures/>`_ i `Tor Project <https://support.torproject.org/tbb/"
-"how-to-verify-signature/>`_."
+"Jeśli chcesz dowiedzieć się więcej o weryfikowaniu podpisów PGP, "
+"przydatne mogą być przewodniki dotyczące `Qubes OS <https://www.qubes-"
+"os.org/security/verifying-signatures/>`_ i `Tor Project "
+"<https://support.torproject.org/tbb/how-to-verify-signature/>`_."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Lub w wierszu polecenia systemu Windows w następujący sposób::"
+
diff --git a/docs/source/locale/pt_PT/LC_MESSAGES/install.po b/docs/source/locale/pt_PT/LC_MESSAGES/install.po
index fc099ffc..777b3681 100644
--- a/docs/source/locale/pt_PT/LC_MESSAGES/install.po
+++ b/docs/source/locale/pt_PT/LC_MESSAGES/install.po
@@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-28 04:15+0000\n"
-"Last-Translator: Larus Argentatus <larus-argentatus@riseup.net>\n"
+"PO-Revision-Date: 2023-06-02 11:21+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: pt_PT <LL@li.org>\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 5.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -37,7 +37,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
diff --git a/docs/source/locale/ru/LC_MESSAGES/advanced.po b/docs/source/locale/ru/LC_MESSAGES/advanced.po
index 2b2b747f..d7d3910a 100644
--- a/docs/source/locale/ru/LC_MESSAGES/advanced.po
+++ b/docs/source/locale/ru/LC_MESSAGES/advanced.po
@@ -249,7 +249,7 @@ msgstr ""
#: ../../source/advanced.rst:158
msgid "And from the main mode chooser screen::"
-msgstr "И на главном экране выбора режима::"
+msgstr ""
#~ msgid "Turn Off Passwords"
#~ msgstr "Отключение паролей"
diff --git a/docs/source/locale/ru/LC_MESSAGES/install.po b/docs/source/locale/ru/LC_MESSAGES/install.po
index 0fdf7505..5c91e314 100644
--- a/docs/source/locale/ru/LC_MESSAGES/install.po
+++ b/docs/source/locale/ru/LC_MESSAGES/install.po
@@ -6,18 +6,18 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-11 10:51+0000\n"
-"Last-Translator: xXx <xxx_xxx_xxxxxxxxx@mail.ru>\n"
+"PO-Revision-Date: 2023-06-02 11:21+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 5.0.1-dev\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/install.rst:2
@@ -89,8 +89,9 @@ msgstr ""
"org/dist/."
#: ../../source/install.rst:26
+#, fuzzy
msgid "Manual Flatpak Installation"
-msgstr "Ручная установка Flatpak"
+msgstr "Установка"
#: ../../source/install.rst:28
msgid ""
@@ -98,16 +99,11 @@ msgid ""
"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
"bundles.html>`_, you can do so like this:"
msgstr ""
-"Если вы хотите установить OnionShare вручную с помощью Flatpak, используя "
-"подписанный PGP однофайловый пакет <https://docs.flatpak.org/en/latest/"
-"single-file-bundles.html>`_, вы можете сделать Ну вот так:"
#: ../../source/install.rst:30
msgid ""
"Install Flatpak by following the instructions at https://flatpak.org/setup/."
msgstr ""
-"Установите Flatpak, следуя инструкциям на странице https://flatpak.org/setup/"
-"."
#: ../../source/install.rst:31
msgid ""
@@ -116,26 +112,18 @@ msgid ""
"won't be downloading OnionShare from Flathub, OnionShare depends on some "
"packages that are only available there."
msgstr ""
-"Добавьте репозиторий Flathub, запустив Flatpak Remote-Add --if-not-exists "
-"Flathub https://flathub.org/repo/flathub.flatpakrepo. Несмотря на то, что вы "
-"не будете загружать OnionShare с Flathub, OnionShare зависит от некоторых "
-"пакетов, которые доступны только там."
#: ../../source/install.rst:32
msgid ""
"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
"and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Перейдите на https://onionshare.org/dist/, выберите последнюю версию "
-"OnionShare и загрузите файлы ``. Flatpak`` и ``. Flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
"for more info."
msgstr ""
-"Проверьте подпись PGP файла ``.flatpak``. Дополнительную информацию см. в "
-"разделе :ref:`verifying_sigs`."
#: ../../source/install.rst:34
msgid ""
@@ -143,51 +131,38 @@ msgid ""
"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
"you downloaded."
msgstr ""
-"Установите файл ``. Flatpak``, запустив `` Flatpak install OnionShare-"
-"VERSION. Flatpak``. Замените ``VERSION`` на номер версии загруженного вами "
-"файла."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Вы можете запустить OnionShare с помощью: ` Flatpak run org.onionshare."
-"OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
-msgstr "Ручная установка Snapcraft"
+msgstr ""
#: ../../source/install.rst:41
msgid ""
"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
"signed Snapcraft package, you can do so like this:"
msgstr ""
-"Если вы хотите установить OnionShare вручную с помощью Snapcraft, используя "
-"пакет Snapcraft, подписанный PGP, вы можете сделать это следующим образом:"
#: ../../source/install.rst:43
msgid ""
"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
"installing-snapd."
msgstr ""
-"Установите Snapcraft, следуя инструкциям на странице https://snapcraft.io/"
-"docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
"and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
-"Перейдите на https://onionshare.org/dist/, выберите последнюю версию "
-"OnionShare и загрузите файлы ``.snap`` и ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
"for more info."
msgstr ""
-"Проверьте подпись PGP файла ``.snap``. Дополнительную информацию см. в "
-"разделе :ref:`verifying_sigs`."
#: ../../source/install.rst:46
msgid ""
@@ -197,15 +172,10 @@ msgid ""
"package is not signed by the Snapcraft store, however you did verify its PGP "
"signature, so you know it's legitimate."
msgstr ""
-"Установите файл .snap, запустив snap install --dangerous "
-"onionshare_VERSION_amd64.snap. Замените ``VERSION`` на номер версии "
-"загруженного вами файла. Обратите внимание, что вы должны использовать "
-"`--dangerous`, поскольку пакет не подписан магазином Snapcraft, однако вы "
-"проверили его подпись PGP и знаете, что он легален."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
-msgstr "Вы можете запустить OnionShare с помощью: `snap run onionshare`."
+msgstr ""
#: ../../source/install.rst:53
msgid "Command-line only"
@@ -290,16 +260,19 @@ msgid "Verifying"
msgstr "Проверка"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
"downloaded the binary and ``.asc`` signature, you can verify the binary for "
"macOS in a terminal like this::"
msgstr ""
-"После того, как вы импортировали открытый ключ Мики в свою связку ключей "
-"GnuPG, загрузили двоичный файл и подпись ``.asc``, вы можете проверить "
-"двоичный файл для macOS в терминале следующим образом:"
+"Чтобы проверить загруженный пакет на подлинность, сначала нужно "
+"импортировать публичного ключ Micah с использованием соответствующего ПО "
+"(GPGTools или Gpg4win), загрузить бинарный файл OnionShare и файл подписи``."
+"asc``. Затем в терминале macOS, нужно выполнить такую команду::"
#: ../../source/install.rst:86
+#, fuzzy
msgid "Or for Windows, in a command-prompt like this::"
msgstr "Или для Windows в командной строке, например:"
diff --git a/docs/source/locale/ru/LC_MESSAGES/tor.po b/docs/source/locale/ru/LC_MESSAGES/tor.po
index 08829e61..2d277fff 100644
--- a/docs/source/locale/ru/LC_MESSAGES/tor.po
+++ b/docs/source/locale/ru/LC_MESSAGES/tor.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
-"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-09-11 10:51+0000\n"
-"Last-Translator: xXx <xxx_xxx_xxxxxxxxx@mail.ru>\n"
+"PO-Revision-Date: 2023-05-09 18:12+0000\n"
+"Last-Translator: Kirill <esuba@mail.ru>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
@@ -334,6 +334,12 @@ msgstr ""
"системы."
#: ../../source/tor.rst:101
+#, fuzzy
+#| msgid ""
+#| "Download the Tor Windows Expert Bundle `from <https://www.torproject.org/"
+#| "download/tor/>`_. Extract the compressed file and copy the extracted "
+#| "folder to ``C:\\Program Files (x86)\\`` Rename the extracted folder with "
+#| "``Data`` and ``Tor`` in it to ``tor-win32``."
msgid ""
"Download the Tor Windows Expert Bundle `from the Tor website <https://www."
"torproject.org/download/tor/>`_. Extract the compressed file and copy the "
@@ -496,13 +502,12 @@ msgid ""
"settings\" choose \"No authentication, or cookie authentication\". Click the "
"\"Test Connection to Tor\" button."
msgstr ""
-"Перезагрузите компьютер. После повторной загрузки откройте OnionShare, "
-"щелкните значок «⚙» и переключитесь на вкладку «Настройки Tor». В разделе «"
-"Как OnionShare подключиться к Tor?» выберите «Подключиться с помощью файла "
-"сокета». Установите файл сокета ``/var/run/tor/control``. В разделе «"
-"Настройки аутентификации Tor» выберите «Без аутентификации или "
-"аутентификация с использованием файлов cookie». Нажмите кнопку «Проверить "
-"соединение с Tor»."
+"Перезагрузите компьютер. После загрузки операционной системы запустите "
+"OnionShare и нажмите на значок \"⚙\" . Под заголовком \"Как OnionShare "
+"следует подключаться к сети Tor?\" выберите \"Использовать файл сокет\" и "
+"укажите путь до файла сокета: ``/var/run/tor/control``. Под заголовком "
+"\"Настройки аутентификации Tor\" выберете \"Без аутентификации или cookie-"
+"аутентификация\". Нажмите кнопку \"Проверить подключение к сети Tor\"."
#~ msgid "Use the ``tor`` bundled with OnionShare"
#~ msgstr ""
diff --git a/docs/source/locale/tr/LC_MESSAGES/install.po b/docs/source/locale/tr/LC_MESSAGES/install.po
index 48ea3df3..bafb95ef 100644
--- a/docs/source/locale/tr/LC_MESSAGES/install.po
+++ b/docs/source/locale/tr/LC_MESSAGES/install.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-10 02:52+0000\n"
"Last-Translator: Kaya Zeren <kayazeren@gmail.com>\n"
-"Language-Team: tr <LL@li.org>\n"
"Language: tr\n"
+"Language-Team: tr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -41,15 +40,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Linux için OnionShare'i kurmanın çeşitli yolları vardır, ancak tavsiye "
-"edilen yol `Flatpak <https://flatpak.org/>`_ veya `Snap <https://snapcraft."
-"io/>`_ paketini kullanmaktır. Flatpak ve Snapcraft her zaman en yeni sürümü "
-"kullanmanızı ve OnionShare'i bir korumalı alan içinde çalıştırmanızı sağlar."
+"edilen yol `Flatpak <https://flatpak.org/>`_ veya `Snap "
+"<https://snapcraft.io/>`_ paketini kullanmaktır. Flatpak ve Snapcraft her"
+" zaman en yeni sürümü kullanmanızı ve OnionShare'i bir korumalı alan "
+"içinde çalıştırmanızı sağlar."
#: ../../source/install.rst:17
msgid ""
@@ -58,29 +59,32 @@ msgid ""
"distributions."
msgstr ""
"Snapcraft desteği Ubuntu'da yerleşiktir ve Fedora Flatpak desteği ile "
-"birlikte gelir, ancak hangisini kullanacağınız size bağlıdır. Her ikisi de "
-"tüm Linux dağıtımlarında çalışmaktadır."
+"birlikte gelir, ancak hangisini kullanacağınız size bağlıdır. Her ikisi "
+"de tüm Linux dağıtımlarında çalışmaktadır."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**OnionShare uygulamasını Flatpak kullanarak kurun**: https://flathub.org/"
-"apps/details/org.onionshare.OnionShare"
+"**OnionShare uygulamasını Flatpak kullanarak kurun**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**OnionShare'i Snap kullanarak kurun**: https://snapcraft.io/onionshare"
+msgstr "**OnionShare'i Snap kullanarak kurun**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Dilerseniz https://onionshare.org/dist/ adresinden PGP imzalı ``.flatpak`` "
-"veya ``.snap`` paketlerini de indirip kurabilirsiniz."
+"Dilerseniz https://onionshare.org/dist/ adresinden PGP imzalı "
+"``.flatpak`` veya ``.snap`` paketlerini de indirip kurabilirsiniz."
+
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr "El ile Flatpak kurulumu"
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -89,62 +93,66 @@ msgstr "El ile Flatpak kurulumu"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"OnionShare uygulamasını Flatpak ile kurmak için PGP ile imzalanmış `tek "
-"dosyalı paketi <https://docs.flatpak.org/en/latest/single-file-bundles.html>`"
-"_ kullanmak isterseniz, bunu şu şekilde yapabilirsiniz:"
+"dosyalı paketi <https://docs.flatpak.org/en/latest/single-file-"
+"bundles.html>`_ kullanmak isterseniz, bunu şu şekilde yapabilirsiniz:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
"Flatpak kurmak için https://flatpak.org/setup/ adresindeki yönergeleri "
"izleyin."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"``flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub"
-".flatpakrepo`` komutunu yürüterek Flathub deposunu ekleyin. OnionShare "
-"uygulamasını Flathub üzerinden indirmeyecek olsanız bile, OnionShare için "
-"yalnızca orada bulunan bazı paketler gereklidir."
+"``flatpak remote-add --if-not-exists flathub "
+"https://flathub.org/repo/flathub.flatpakrepo`` komutunu yürüterek Flathub"
+" deposunu ekleyin. OnionShare uygulamasını Flathub üzerinden indirmeyecek"
+" olsanız bile, OnionShare için yalnızca orada bulunan bazı paketler "
+"gereklidir."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"https://onionshare.org/dist/ adresine gidin, OnionShare uygulamasının güncel "
-"sürümünü seçin, ``.flatpak`` ve ``.flatpak.asc`` dosyalarını indirin."
+"https://onionshare.org/dist/ adresine gidin, OnionShare uygulamasının "
+"güncel sürümünü seçin, ``.flatpak`` ve ``.flatpak.asc`` dosyalarını "
+"indirin."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"``.flatpak`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak için "
-":ref:`verifying_sigs` bölümüne bakabilirsiniz."
+"``.flatpak`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak "
+"için :ref:`verifying_sigs` bölümüne bakabilirsiniz."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"``.flatpak`` dosyasını ``flatpak install OnionShare-VERSION.flatpak`` komutu "
-"ile kurun. `` VERSION`` yerine indirdiğiniz dosyanın sürüm numarasını yazın."
+"``.flatpak`` dosyasını ``flatpak install OnionShare-VERSION.flatpak`` "
+"komutu ile kurun. `` VERSION`` yerine indirdiğiniz dosyanın sürüm "
+"numarasını yazın."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"OnionShare uygulamasını şu komutla çalıştırabilirsiniz: `flatpak run org."
-"onionshare.OnionShare`."
+"OnionShare uygulamasını şu komutla çalıştırabilirsiniz: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -152,32 +160,32 @@ msgstr "El ile Snapcraft kurulumu"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"OnionShare uygulamasını el ile PGP ile imzalanmış Snapcraft paketini "
"kullanarak kurmak isterseniz, şu şekilde yapabilirsiniz:"
#: ../../source/install.rst:43
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Snapcraft kurmak için https://snapcraft.io/docs/installing-snapd adresindeki "
-"yönergeleri izleyin."
+"Snapcraft kurmak için https://snapcraft.io/docs/installing-snapd "
+"adresindeki yönergeleri izleyin."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"https://onionshare.org/dist/ adresine gidin, güncel OnionShare sürümünü "
"seçin, ``.snap`` ve ``.snap.asc`` dosyalarını indirin."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
"``.snap`` dosyasının PGP imzasını doğrulayın. Ayrıntılı bilgi almak için "
":ref:`verifying_sigs` bölümüne bakabilirsiniz."
@@ -185,16 +193,17 @@ msgstr ""
#: ../../source/install.rst:46
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
-"``.snap`` dosyasını ``snap install --dangerous onionshare_VERSION_amd64."
-"snap`` komutunu yürüterek kurun. `` VERSION`` yerine indirdiğiniz dosyanın "
-"sürüm numarasını yazın. Paket Snapcraft mağazası tarafından imzalanmadığı "
-"için `--dangerous` parametresini kullanmanız gerektiğini unutmayın. PGP "
-"imzasını doğruladığınız için paketin doğru olduğunu biliyorsunuz."
+"``.snap`` dosyasını ``snap install --dangerous "
+"onionshare_VERSION_amd64.snap`` komutunu yürüterek kurun. `` VERSION`` "
+"yerine indirdiğiniz dosyanın sürüm numarasını yazın. Paket Snapcraft "
+"mağazası tarafından imzalanmadığı için `--dangerous` parametresini "
+"kullanmanız gerektiğini unutmayın. PGP imzasını doğruladığınız için "
+"paketin doğru olduğunu biliyorsunuz."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +217,13 @@ msgstr "Yalnız komut satırı"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
-"Python paket yöneticisi ``pip`` kullanarak OnionShare'in sadece komut satırı "
-"sürümünü herhangi bir işletim sistemine kurabilirsiniz. Daha fazla bilgi "
-"için :ref:`cli` bölümüne bakabilirsiniz."
+"Python paket yöneticisi ``pip`` kullanarak OnionShare'in sadece komut "
+"satırı sürümünü herhangi bir işletim sistemine kurabilirsiniz. Daha fazla"
+" bilgi için :ref:`cli` bölümüne bakabilirsiniz."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,11 +231,11 @@ msgstr "PGP imzalarını doğrulama"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
"İndirdiğiniz paketin özgün olduğunu ve değiştirilmediğini PGP imzasını "
"doğrulayarak doğrulayabilirsiniz. Windows ve macOS için bu adım isteğe "
@@ -239,89 +249,121 @@ msgstr "İmzalama anahtarı"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Paketler, ``927F419D7EC82C2F149C1BD1403C2657CD994F73`` parmak izine sahip "
-"PGP ortak anahtarını kullanarak ana geliştirici Micah Lee tarafından "
-"imzalanmaktadır. Micah'ın anahtarını `keys.openpgp.org anahtar sunucusundan "
-"<https://keys.openpgp.org/vks/v1/by-"
+"Paketler, ``927F419D7EC82C2F149C1BD1403C2657CD994F73`` parmak izine sahip"
+" PGP ortak anahtarını kullanarak ana geliştirici Micah Lee tarafından "
+"imzalanmaktadır. Micah'ın anahtarını `keys.openpgp.org anahtar "
+"sunucusundan <https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_ indirebilirsiniz."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"İmzaları doğrulamak için GnuPG uygulamasının kurulu olması gerekir. MacOS "
-"için `GPGTools <https://gpgtools.org/>`_, Windows için `Gpg4win <https://www."
-"gpg4win.org/>`_ kullanmak isteyebilirsiniz."
+"İmzaları doğrulamak için GnuPG uygulamasının kurulu olması gerekir. MacOS"
+" için `GPGTools <https://gpgtools.org/>`_, Windows için `Gpg4win "
+"<https://www.gpg4win.org/>`_ kullanmak isteyebilirsiniz."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "İmzalar"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
"İmzalara (``.asc`` dosyaları) ek olarak Windows, macOS, Flatpak, Snap ve "
"kaynak paketlerini https://onionshare.org/dist/ adresindeki OnionShare "
-"uygulamasının her sürümü için adlandırılan klasörlerin yanında ve `GitHub "
-"yayınlar sayfasında <https://github.com/micahflee/onionshare/releases>`_ "
-"bulabilirsiniz."
+"uygulamasının her sürümü için adlandırılan klasörlerin yanında ve `GitHub"
+" yayınlar sayfasında <https://github.com/micahflee/onionshare/releases>`_"
+" bulabilirsiniz."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Doğrulama"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Micah'ın herkese açık anahtarını GnuPG anahtar zincirinize aktarıp, ikili"
+" dosyayı ve ``.asc`` imzasını indirdikten sonra, macOS için ikili dosyayı"
+" Terminal üzerinde şu şekilde doğrulayabilirsiniz::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
msgstr ""
-"Micah'ın herkese açık anahtarını GnuPG anahtar zincirinize aktarıp, ikili "
-"dosyayı ve ``.asc`` imzasını indirdikten sonra, macOS için ikili dosyayı "
-"Terminal üzerinde şu şekilde doğrulayabilirsiniz::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Veya Windows için komut isteminde aşağıdaki gibi::"
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
-#: ../../source/install.rst:90
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
+
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Aşağıdakine benzer bir çıktı alınması beklenir::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"``Good signature from`` ifadesini göremiyorsanız, dosyanın bütünlüğüyle "
-"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda paketi "
-"kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili bir sorun "
-"değildir, yalnızca Micah (ana geliştirici) PGP anahtarının \"güven\" "
-"düzeyini tanımlamadığınız anlamına gelir.)"
+"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda "
+"paketi kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili "
+"bir sorun değildir, yalnızca Micah (ana geliştirici) PGP anahtarının "
+"\"güven\" düzeyini tanımlamadığınız anlamına gelir.)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"``Good signature from`` ifadesini göremiyorsanız, dosyanın bütünlüğüyle "
+"ilgili bir sorun olabilir (kötü niyetli veya başka türlü). Bu durumda "
+"paketi kurmamalısınız. (Yukarıda gösterilen ``UYARI:``, paketle ilgili "
+"bir sorun değildir, yalnızca Micah (ana geliştirici) PGP anahtarının "
+"\"güven\" düzeyini tanımlamadığınız anlamına gelir.)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"PGP imzalarının doğrulanması hakkında ayrıntılı bilgi almak için, `Qubes OS "
-"<https://www.qubes-os.org/security/verifying-signatures/>`_ ve `Tor Projesi "
-"<https://support.torproject.org/tbb/how-to-verify-signature/>`_ rehberlerine "
-"bakabilirsiniz."
+"PGP imzalarının doğrulanması hakkında ayrıntılı bilgi almak için, `Qubes "
+"OS <https://www.qubes-os.org/security/verifying-signatures/>`_ ve `Tor "
+"Projesi <https://support.torproject.org/tbb/how-to-verify-signature/>`_ "
+"rehberlerine bakabilirsiniz."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Veya Windows için komut isteminde aşağıdaki gibi::"
+
diff --git a/docs/source/locale/uk/LC_MESSAGES/install.po b/docs/source/locale/uk/LC_MESSAGES/install.po
index 2519549b..3c0894bd 100644
--- a/docs/source/locale/uk/LC_MESSAGES/install.po
+++ b/docs/source/locale/uk/LC_MESSAGES/install.po
@@ -7,18 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-06-07 14:30+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
-"Language-Team: none\n"
"Language: uk\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -42,15 +41,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
"Існують різні способи встановлення OnionShare на Linux, але радимо "
-"використовувати пакунок `Flatpak <https://flatpak.org/>`_ або `Snap <https://"
-"snapcraft.io/>`_. Flatpak і Snapcraft гарантують, що ви завжди "
-"користуватиметеся найновішою версією та запускатимете OnionShare у пісочниці."
+"використовувати пакунок `Flatpak <https://flatpak.org/>`_ або `Snap "
+"<https://snapcraft.io/>`_. Flatpak і Snapcraft гарантують, що ви завжди "
+"користуватиметеся найновішою версією та запускатимете OnionShare у "
+"пісочниці."
#: ../../source/install.rst:17
msgid ""
@@ -58,31 +59,35 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Підтримку Snapcraft вбудовано в Ubuntu, а Flatpak — у Fedora, але ви самі "
-"можете обрати чим користуватися. Вони обоє працюють у всіх дистрибутивах "
-"Linux."
+"Підтримку Snapcraft вбудовано в Ubuntu, а Flatpak — у Fedora, але ви самі"
+" можете обрати чим користуватися. Вони обоє працюють у всіх дистрибутивах"
+" Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Установити OnionShare за допомогою Flatpak**: https://flathub.org/apps/"
-"details/org.onionshare.OnionShare"
+"**Установити OnionShare за допомогою Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
msgstr ""
-"**Установити OnionShare за допомогою Snapcraft**: https://snapcraft.io/"
-"onionshare"
+"**Установити OnionShare за допомогою Snapcraft**: "
+"https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Ви також можете завантажити та встановити пакунки з PGP-підписом ``."
-"flatpak`` або ``.snap`` з https://onionshare.org/dist/, якщо хочете."
+"Ви також можете завантажити та встановити пакунки з PGP-підписом "
+"``.flatpak`` або ``.snap`` з https://onionshare.org/dist/, якщо хочете."
+
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr "Ручне встановлення Flatpak"
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -91,62 +96,65 @@ msgstr "Ручне встановлення Flatpak"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
"Якщо ви хочете встановити OnionShare вручну за допомогою Flatpak, "
-"використовуючи підписаний PGP `однофайловий пакунок <https://docs.flatpak."
-"org/en/latest/single-file-bundles.html>`_, ви можете зробити це так:"
+"використовуючи підписаний PGP `однофайловий пакунок "
+"<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, ви "
+"можете зробити це так:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Установіть Flatpak, дотримуючись інструкцій на сайті https://flatpak.org/"
-"setup/."
+"Установіть Flatpak, дотримуючись інструкцій на сайті "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
"Додайте сховище Flathub, виконавши ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Навіть якщо ви не "
-"будете завантажувати OnionShare з Flathub, OnionShare залежить від деяких "
-"пакунків, які доступні лише там."
+"flathub https://flathub.org/repo/flathub.flatpakrepo``. Навіть якщо ви не"
+" будете завантажувати OnionShare з Flathub, OnionShare залежить від "
+"деяких пакунків, які доступні лише там."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
"Перейдіть на https://onionshare.org/dist/, виберіть останню версію "
"OnionShare і завантажте файли ``.flatpak`` і ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
-"Перевірте підпис PGP файлу ``.flatpak``. Перегляньте :ref:`verifying_sigs` "
-"для отримання додаткової інформації."
+"Перевірте підпис PGP файлу ``.flatpak``. Перегляньте "
+":ref:`verifying_sigs` для отримання додаткової інформації."
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
-"Встановіть файл ``.flatpak``, запустивши ``flatpak install OnionShare-VERSION"
-".flatpak``. Замініть ``VERSION`` на номер версії файлу, який ви завантажили."
+"Встановіть файл ``.flatpak``, запустивши ``flatpak install OnionShare-"
+"VERSION.flatpak``. Замініть ``VERSION`` на номер версії файлу, який ви "
+"завантажили."
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
msgstr ""
-"Запустити OnionShare можна за допомогою: `flatpak run org.onionshare."
-"OnionShare`."
+"Запустити OnionShare можна за допомогою: `flatpak run "
+"org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -154,49 +162,49 @@ msgstr "Ручне встановлення Snapcraft"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
"Якщо ви хочете встановити OnionShare вручну зі Snapcraft за допомогою "
"пакунка Snapcraft із підписом PGP, ви можете зробити це так:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Встановіть Snapcraft, дотримуючись інструкцій на сайті https://snapcraft.io/"
-"docs/installing-snapd."
+"Встановіть Snapcraft, дотримуючись інструкцій на сайті "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Перейдіть на https://onionshare.org/dist/, виберіть найновішу версію "
"OnionShare і завантажте файли ``.snap`` і ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Перевірте підпис PGP файлу ``.snap``. Перегляньте :ref:`verifying_sigs` для "
-"отримання додаткової інформації."
+"Перевірте підпис PGP файлу ``.snap``. Перегляньте :ref:`verifying_sigs` "
+"для отримання додаткової інформації."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Встановіть файл ``.snap``, запустивши ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Замініть ``VERSION`` на номер версії файлу, "
-"який ви завантажили. Зауважте, що ви повинні використовувати `--dangerous`, "
-"оскільки пакунок не підписано магазином Snapcraft, проте ви перевірили його "
-"підпис PGP, тому знаєте, що він справжній."
+"onionshare_VERSION_amd64.snap``. Замініть ``VERSION`` на номер версії "
+"файлу, який ви завантажили. Зауважте, що ви повинні використовувати "
+"`--dangerous`, оскільки пакунок не підписано магазином Snapcraft, проте "
+"ви перевірили його підпис PGP, тому знаєте, що він справжній."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -208,12 +216,13 @@ msgstr "Лише для командного рядка"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
"Ви можете встановити версію OnionShare для командного рядка на будь-яку "
-"операційну систему за допомогою менеджера пакунків Python ``pip``. :ref:"
-"`cli` містить більше подробиць."
+"операційну систему за допомогою менеджера пакунків Python ``pip``. "
+":ref:`cli` містить більше подробиць."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -221,17 +230,17 @@ msgstr "Перевірка підписів PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Ви можете переконатися, що пакет, який ви завантажуєте, є справжнім і не був "
-"підроблений, перевіривши його підпис PGP. Для Windows і macOS цей крок не є "
-"обов'язковим і забезпечує захист в глибині: двійкові файли OnionShare "
-"включають підписи, специфічні для операційної системи, і ви можете просто "
-"покладатися лише на них, якщо хочете."
+"Ви можете переконатися, що пакет, який ви завантажуєте, є справжнім і не "
+"був підроблений, перевіривши його підпис PGP. Для Windows і macOS цей "
+"крок не є обов'язковим і забезпечує захист в глибині: двійкові файли "
+"OnionShare включають підписи, специфічні для операційної системи, і ви "
+"можете просто покладатися лише на них, якщо хочете."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -239,140 +248,199 @@ msgstr "Ключ підпису"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Пакунки підписує основний розробник Micah Lee своїм відкритим ключем PGP з "
-"цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ключ Micah "
-"можна завантажити `з сервера ключів keys.openpgp.org <https://keys.openpgp."
-"org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"Пакунки підписує основний розробник Micah Lee своїм відкритим ключем PGP "
+"з цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ключ "
+"Micah можна завантажити `з сервера ключів keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Для перевірки підписів потрібно встановити GnuPG. Для macOS ви, ймовірно, "
-"захочете `GPGTools <https://gpgtools.org/>`_, а для Windows ви, ймовірно, "
-"захочете `Gpg4win <https://www.gpg4win.org/>`_."
+"Для перевірки підписів потрібно встановити GnuPG. Для macOS ви, ймовірно,"
+" захочете `GPGTools <https://gpgtools.org/>`_, а для Windows ви, "
+"ймовірно, захочете `Gpg4win <https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Підписи"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Ви можете знайти підписи (файли ``.asc``), а також пакунки Windows, macOS, "
-"Flatpak, Snap та джерельні пакунки за адресою https://onionshare.org/dist/ у "
-"теках, названих для кожної версії OnionShare. Ви також можете знайти їх на "
-"`сторінці випусків GitHub <https://github.com/micahflee/onionshare/"
-"releases>`_."
+"Ви можете знайти підписи (файли ``.asc``), а також пакунки Windows, "
+"macOS, Flatpak, Snap та джерельні пакунки за адресою "
+"https://onionshare.org/dist/ у теках, названих для кожної версії "
+"OnionShare. Ви також можете знайти їх на `сторінці випусків GitHub "
+"<https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Перевірка"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
msgstr ""
"Після того, як відкритий ключ Micah імпортовано до вашої збірки ключів "
-"GnuPG, завантажено двійковий файл і завантажено підпис ``.asc``, ви можете "
-"перевірити двійковий файл для macOS в терміналі в такий спосіб::"
+"GnuPG, завантажено двійковий файл і завантажено підпис ``.asc``, ви "
+"можете перевірити двійковий файл для macOS в терміналі в такий спосіб::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Або для Windows у командному рядку у такий спосіб::"
+#: ../../source/install.rst:84
+msgid "For Windows::"
+msgstr ""
+
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Очікуваний результат може виглядати так::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
"Якщо ви не бачите ``Good signature from``, можливо, виникла проблема з "
-"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід установлювати "
-"пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з пакунком, це лише "
-"означає, що ви не визначили рівень «довіри» до самого ключа PGP від Micah "
-"(основного розробника).)"
+"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід "
+"установлювати пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з "
+"пакунком, це лише означає, що ви не визначили рівень «довіри» до самого "
+"ключа PGP від Micah (основного розробника).)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Якщо ви не бачите ``Good signature from``, можливо, виникла проблема з "
+"цілісністю файлу (зловмисна чи інша), і, можливо, вам не слід "
+"установлювати пакунок. (Вказаний раніше ``WARNING:`` не є проблемою з "
+"пакунком, це лише означає, що ви не визначили рівень «довіри» до самого "
+"ключа PGP від Micah (основного розробника).)"
+
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
"Докладніше про перевірку підписів PGP читайте у настановах для `Qubes OS "
-"<https://www.qubes-os.org/security/verifying-signatures/>`_ та `Tor Project "
-"<https://support.torproject.org/tbb/how-to-verify-signature/>`_."
+"<https://www.qubes-os.org/security/verifying-signatures/>`_ та `Tor "
+"Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_."
#~ msgid "For added security, see :ref:`verifying_sigs`."
#~ msgstr "Для додаткової безпеки перегляньте :ref:`verifying_sigs`."
#~ msgid ""
-#~ "There are various ways to install OnionShare for Linux, but the "
-#~ "recommended way is to use the Flatpak package. Flatpak ensures that "
-#~ "you'll always use the most latest dependencies and run OnionShare inside "
+#~ "There are various ways to install "
+#~ "OnionShare for Linux, but the "
+#~ "recommended way is to use the "
+#~ "Flatpak package. Flatpak ensures that "
+#~ "you'll always use the most latest "
+#~ "dependencies and run OnionShare inside "
#~ "of a sandbox."
#~ msgstr ""
-#~ "Існують різні способи встановлення OnionShare для Linux, але "
-#~ "рекомендованим способом є використання пакунку Flatpak. Flatpak гарантує, "
-#~ "що ви завжди будете користуватися найновішими залежностями та запускати "
-#~ "OnionShare всередині пісочниці."
+#~ "Існують різні способи встановлення OnionShare"
+#~ " для Linux, але рекомендованим способом "
+#~ "є використання пакунку Flatpak. Flatpak "
+#~ "гарантує, що ви завжди будете "
+#~ "користуватися найновішими залежностями та "
+#~ "запускати OnionShare всередині пісочниці."
#~ msgid ""
-#~ "Make sure you have ``flatpak`` installed and the Flathub repository added "
-#~ "by following `these instructions <https://flatpak.org/setup/>`_ for your "
-#~ "Linux distribution."
+#~ "Make sure you have ``flatpak`` installed"
+#~ " and the Flathub repository added by"
+#~ " following `these instructions "
+#~ "<https://flatpak.org/setup/>`_ for your Linux "
+#~ "distribution."
#~ msgstr ""
-#~ "Переконайтесь, що у вас встановлено ``flatpak`` та додано сховище "
-#~ "Flathub, дотримуючись `цих настанов <https://flatpak.org/setup/>`_ для "
-#~ "вашого дистрибутива Linux."
+#~ "Переконайтесь, що у вас встановлено "
+#~ "``flatpak`` та додано сховище Flathub, "
+#~ "дотримуючись `цих настанов "
+#~ "<https://flatpak.org/setup/>`_ для вашого "
+#~ "дистрибутива Linux."
#~ msgid ""
-#~ "You can verify that the Windows, macOS, or source package you download is "
-#~ "legitimate and hasn't been tampered with by verifying its PGP signature. "
-#~ "For Windows and macOS, this step is optional and provides defense in "
-#~ "depth: the installers also include their operating system-specific "
-#~ "signatures, and you can just rely on those alone if you'd like."
+#~ "You can verify that the Windows, "
+#~ "macOS, or source package you download"
+#~ " is legitimate and hasn't been "
+#~ "tampered with by verifying its PGP "
+#~ "signature. For Windows and macOS, this"
+#~ " step is optional and provides "
+#~ "defense in depth: the installers also"
+#~ " include their operating system-specific"
+#~ " signatures, and you can just rely"
+#~ " on those alone if you'd like."
#~ msgstr ""
-#~ "Ви можете переконатися, що завантажений пакунок для Windows, macOS або "
-#~ "джерельний пакунок є законним і не підробленим, перевіривши його підпис "
-#~ "PGP. Для Windows та macOS цей крок є необов’язковим, але забезпечує "
-#~ "додатковий захист: встановлювачі також включають свої підписи для "
-#~ "конкретної операційної системи, тож ви можете просто покластись лише на "
-#~ "них, якщо хочете."
+#~ "Ви можете переконатися, що завантажений "
+#~ "пакунок для Windows, macOS або "
+#~ "джерельний пакунок є законним і не "
+#~ "підробленим, перевіривши його підпис PGP. "
+#~ "Для Windows та macOS цей крок є"
+#~ " необов’язковим, але забезпечує додатковий "
+#~ "захист: встановлювачі також включають свої "
+#~ "підписи для конкретної операційної системи,"
+#~ " тож ви можете просто покластись лише"
+#~ " на них, якщо хочете."
#~ msgid ""
-#~ "Windows, macOS, and source packaged are signed by Micah Lee, the core "
-#~ "developer, using his PGP public key with fingerprint "
-#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can download Micah's "
-#~ "key `from the keys.openpgp.org keyserver <https://keys.openpgp.org/vks/v1/"
-#~ "by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Windows, macOS, and source packaged are"
+#~ " signed by Micah Lee, the core "
+#~ "developer, using his PGP public key "
+#~ "with fingerprint "
+#~ "``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
+#~ "download Micah's key `from the "
+#~ "keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgstr ""
-#~ "Пакунки Windows, macOS та джерельні пакунки підписано основним "
-#~ "розробником Micah Lee його відкритим ключем PGP із цифровим відбитком "
-#~ "`927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ви можете завантажити ключ "
-#~ "Micah з сервера ключів keys.openpgp.org keyserver <https://keys.openpgp."
-#~ "org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+#~ "Пакунки Windows, macOS та джерельні "
+#~ "пакунки підписано основним розробником Micah"
+#~ " Lee його відкритим ключем PGP із "
+#~ "цифровим відбитком "
+#~ "`927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ви можете "
+#~ "завантажити ключ Micah з сервера ключів"
+#~ " keys.openpgp.org keyserver "
+#~ "<https://keys.openpgp.org/vks/v1/by-"
+#~ "fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#~ msgid "Install in Linux"
#~ msgstr "Встановлення на Linux"
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Або для Windows у командному рядку у такий спосіб::"
+
diff --git a/docs/source/locale/vi/LC_MESSAGES/install.po b/docs/source/locale/vi/LC_MESSAGES/install.po
index e8c270e5..0636e05d 100644
--- a/docs/source/locale/vi/LC_MESSAGES/install.po
+++ b/docs/source/locale/vi/LC_MESSAGES/install.po
@@ -1,22 +1,22 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) Micah Lee, et al.
# This file is distributed under the same license as the OnionShare package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.6\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2023-06-06 13:07+0200\n"
+"POT-Creation-Date: 2023-09-05 11:51-0700\n"
"PO-Revision-Date: 2023-07-25 17:04+0000\n"
"Last-Translator: tictactoe <phandinhminh@protonmail.ch>\n"
-"Language-Team: none\n"
"Language: vi\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"Generated-By: Babel 2.12.1\n"
#: ../../source/install.rst:2
msgid "Installation"
@@ -40,15 +40,17 @@ msgstr "Linux"
#: ../../source/install.rst:14
msgid ""
-"There are various ways to install OnionShare for Linux, but the recommended "
-"way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap "
-"<https://snapcraft.io/>`_ package. Flatpak and Snapcraft ensure that you'll "
-"always use the newest version and run OnionShare inside of a sandbox."
+"There are various ways to install OnionShare for Linux, but the "
+"recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or"
+" the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snapcraft "
+"ensure that you'll always use the newest version and run OnionShare "
+"inside of a sandbox."
msgstr ""
-"Có nhiều cách khác nhau để cài đặt OnionShare cho Linux, nhưng cách được đề "
-"xuất là hoặc sử dụng gói `Flatpak <https://flatpak.org/>`_ hoặc gói `Snap "
-"<https://snapcraft.io/>`_ . Flatpak và Snapcraft đảm bảo rằng bạn sẽ luôn sử "
-"dụng phiên bản mới nhất và chạy OnionShare bên trong một sandbox."
+"Có nhiều cách khác nhau để cài đặt OnionShare cho Linux, nhưng cách được "
+"đề xuất là hoặc sử dụng gói `Flatpak <https://flatpak.org/>`_ hoặc gói "
+"`Snap <https://snapcraft.io/>`_ . Flatpak và Snapcraft đảm bảo rằng bạn "
+"sẽ luôn sử dụng phiên bản mới nhất và chạy OnionShare bên trong một "
+"sandbox."
#: ../../source/install.rst:17
msgid ""
@@ -56,30 +58,33 @@ msgid ""
"support, but which you use is up to you. Both work in all Linux "
"distributions."
msgstr ""
-"Hỗ trợ Snapcraft được tích hợp sẵn trong Ubuntu và Fedora đi kèm với hỗ trợ "
-"Flatpak, nhưng việc bạn sử dụng loại nào là tùy thuộc vào bạn. Cả hai đều "
-"hoạt động trong tất cả các bản phân phối Linux."
+"Hỗ trợ Snapcraft được tích hợp sẵn trong Ubuntu và Fedora đi kèm với hỗ "
+"trợ Flatpak, nhưng việc bạn sử dụng loại nào là tùy thuộc vào bạn. Cả hai"
+" đều hoạt động trong tất cả các bản phân phối Linux."
#: ../../source/install.rst:19
msgid ""
-"**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Install OnionShare using Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
msgstr ""
-"**Cài đặt OnionShare sử dụng Flatpak**: https://flathub.org/apps/details/org."
-"onionshare.OnionShare"
+"**Cài đặt OnionShare sử dụng Flatpak**: "
+"https://flathub.org/apps/details/org.onionshare.OnionShare"
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr ""
-"**Cài đặt OnionShare sử dụng Snapcraft**: https://snapcraft.io/onionshare"
+msgstr "**Cài đặt OnionShare sử dụng Snapcraft**: https://snapcraft.io/onionshare"
#: ../../source/install.rst:23
msgid ""
"You can also download and install PGP-signed ``.flatpak`` or ``.snap`` "
"packages from https://onionshare.org/dist/ if you prefer."
msgstr ""
-"Bạn cũng có thể tải xuống và cài đặt các gói ``.flatpak`` hoặc ``.snap`` có "
-"chữ ký PGP từ https://onionshare.org/dist/ nếu bạn muốn."
+"Bạn cũng có thể tải xuống và cài đặt các gói ``.flatpak`` hoặc ``.snap`` "
+"có chữ ký PGP từ https://onionshare.org/dist/ nếu bạn muốn."
+
+#: ../../source/install.rst:26
+msgid "Manual Flatpak Installation"
+msgstr "Cài đặt Flatpak theo cách thủ công"
#: ../../source/install.rst:26
msgid "Manual Flatpak Installation"
@@ -88,43 +93,46 @@ msgstr "Cài đặt Flatpak theo cách thủ công"
#: ../../source/install.rst:28
msgid ""
"If you'd like to install OnionShare manually with Flatpak using the PGP-"
-"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-file-"
-"bundles.html>`_, you can do so like this:"
+"signed `single-file bundle <https://docs.flatpak.org/en/latest/single-"
+"file-bundles.html>`_, you can do so like this:"
msgstr ""
-"Nếu bạn muốn cài đặt OnionShare theo cách thủ công với Flatpak bằng cách sử "
-"dụng `gói tập tin đơn có chữ ký PGP <https://docs.flatpak.org/en/latest/"
-"single-file-bundles.html>`_, bạn có thể thực hiện như sau:"
+"Nếu bạn muốn cài đặt OnionShare theo cách thủ công với Flatpak bằng cách "
+"sử dụng `gói tập tin đơn có chữ ký PGP "
+"<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_, bạn có "
+"thể thực hiện như sau:"
-#: ../../source/install.rst:30
+#: ../../source/install.rst:55
msgid ""
-"Install Flatpak by following the instructions at https://flatpak.org/setup/."
+"Install Flatpak by following the instructions at "
+"https://flatpak.org/setup/."
msgstr ""
-"Cài đặt Flatpak bằng cách làm theo hướng dẫn tại https://flatpak.org/setup/."
+"Cài đặt Flatpak bằng cách làm theo hướng dẫn tại "
+"https://flatpak.org/setup/."
#: ../../source/install.rst:31
msgid ""
-"Add the Flathub repository by running ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Even though you "
-"won't be downloading OnionShare from Flathub, OnionShare depends on some "
-"packages that are only available there."
+"Add the Flathub repository by running ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Even "
+"though you won't be downloading OnionShare from Flathub, OnionShare "
+"depends on some packages that are only available there."
msgstr ""
-"Thêm kho lưu trữ Flathub bằng cách chạy ``flatpak remote-add --if-not-exists "
-"flathub https://flathub.org/repo/flathub.flatpakrepo``. Mặc dù bạn sẽ không "
-"tải xuống OnionShare từ Flathub, nhưng OnionShare phụ thuộc vào một số gói "
-"package chỉ khả dụng ở đó mà thôi."
+"Thêm kho lưu trữ Flathub bằng cách chạy ``flatpak remote-add --if-not-"
+"exists flathub https://flathub.org/repo/flathub.flatpakrepo``. Mặc dù bạn"
+" sẽ không tải xuống OnionShare từ Flathub, nhưng OnionShare phụ thuộc vào"
+" một số gói package chỉ khả dụng ở đó mà thôi."
#: ../../source/install.rst:32
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.flatpak`` and ``.flatpak.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.flatpak`` and ``.flatpak.asc`` files."
msgstr ""
-"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản OnionShare mới nhất, "
-"và tải xuống các file tệp tin ``.flatpak`` và ``.flatpak.asc``."
+"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản OnionShare mới "
+"nhất, và tải xuống các file tệp tin ``.flatpak`` và ``.flatpak.asc``."
#: ../../source/install.rst:33
msgid ""
-"Verify the PGP signature of the ``.flatpak`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.flatpak`` file. See "
+":ref:`verifying_sigs` for more info."
msgstr ""
"Xác minh chữ ký PGP của file tệp tin ``.flatpak``. Hãy xem "
":ref:`verifying_sigs` để biết thêm thông tin."
@@ -132,8 +140,8 @@ msgstr ""
#: ../../source/install.rst:34
msgid ""
"Install the ``.flatpak`` file by running ``flatpak install OnionShare-"
-"VERSION.flatpak``. Replace ``VERSION`` with the version number of the file "
-"you downloaded."
+"VERSION.flatpak``. Replace ``VERSION`` with the version number of the "
+"file you downloaded."
msgstr ""
"Cài đặt file tệp tin ``.flatpak`` bằng cách chạy ``flatpak install "
"OnionShare-VERSION.flatpak``. Thay thế ``VERSION`` bằng số phiên bản của "
@@ -141,8 +149,7 @@ msgstr ""
#: ../../source/install.rst:36
msgid "You can run OnionShare with: `flatpak run org.onionshare.OnionShare`."
-msgstr ""
-"Bạn có thể chạy OnionShare với: `flatpak run org.onionshare.OnionShare`."
+msgstr "Bạn có thể chạy OnionShare với: `flatpak run org.onionshare.OnionShare`."
#: ../../source/install.rst:39
msgid "Manual Snapcraft Installation"
@@ -150,49 +157,51 @@ msgstr "Cài đặt Snapcraft theo cách thủ công"
#: ../../source/install.rst:41
msgid ""
-"If you'd like to install OnionShare manually with Snapcraft using the PGP-"
-"signed Snapcraft package, you can do so like this:"
+"If you'd like to install OnionShare manually with Snapcraft using the "
+"PGP-signed Snapcraft package, you can do so like this:"
msgstr ""
-"nếu như bạn muốn cài đặt OnionShare theo cách thủ công với Snapcraft bằng "
-"cách sử dụng gói package Snapcraft có chữ ký PGP, bạn có thể làm như thế này:"
+"nếu như bạn muốn cài đặt OnionShare theo cách thủ công với Snapcraft bằng"
+" cách sử dụng gói package Snapcraft có chữ ký PGP, bạn có thể làm như thế"
+" này:"
-#: ../../source/install.rst:43
+#: ../../source/install.rst:68
msgid ""
-"Install Snapcraft by following the instructions at https://snapcraft.io/docs/"
-"installing-snapd."
+"Install Snapcraft by following the instructions at "
+"https://snapcraft.io/docs/installing-snapd."
msgstr ""
-"Cài đặt Snapcraft bằng cách làm theo các chỉ dẫn tại https://snapcraft.io/"
-"docs/installing-snapd."
+"Cài đặt Snapcraft bằng cách làm theo các chỉ dẫn tại "
+"https://snapcraft.io/docs/installing-snapd."
#: ../../source/install.rst:44
msgid ""
-"Go to https://onionshare.org/dist/, choose the latest version of OnionShare, "
-"and download the ``.snap`` and ``.snap.asc`` files."
+"Go to https://onionshare.org/dist/, choose the latest version of "
+"OnionShare, and download the ``.snap`` and ``.snap.asc`` files."
msgstr ""
"Đi tới https://onionshare.org/dist/, lựa chọn phiên bản mới nhất của "
"OnionShare, và tải xuống các file tệp tin ``.snap`` và ``.snap.asc``."
#: ../../source/install.rst:45
msgid ""
-"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs` "
-"for more info."
+"Verify the PGP signature of the ``.snap`` file. See :ref:`verifying_sigs`"
+" for more info."
msgstr ""
-"Xác minh chữ ký PGP của file tệp tin ``.snap``. hãy xem :ref:`verifying_sigs`"
-" để biết thêm thông tin."
+"Xác minh chữ ký PGP của file tệp tin ``.snap``. hãy xem "
+":ref:`verifying_sigs` để biết thêm thông tin."
-#: ../../source/install.rst:46
+#: ../../source/install.rst:71
msgid ""
"Install the ``.snap`` file by running ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version number "
-"of the file you downloaded. Note that you must use `--dangerous` because the "
-"package is not signed by the Snapcraft store, however you did verify its PGP "
-"signature, so you know it's legitimate."
+"onionshare_VERSION_amd64.snap``. Replace ``VERSION`` with the version "
+"number of the file you downloaded. Note that you must use `--dangerous` "
+"because the package is not signed by the Snapcraft store, however you did"
+" verify its PGP signature, so you know it's legitimate."
msgstr ""
"Cài đặt file tệp tin ``.snap`` bằng cách chạy ``snap install --dangerous "
-"onionshare_VERSION_amd64.snap``. Thay thế ``VERSION`` bằng số phiên bản của "
-"file tệp tin mà bạn đã tải xuống. Lưu ý rằng bạn phải sử dụng `--dangerous` "
-"bởi vì gói package không được ký bởi cửa hàng Snapcraft store, tuy nhiên, "
-"bạn đã xác minh chữ ký PGP của nó, vì vậy bạn biết nó là chính chủ hợp pháp."
+"onionshare_VERSION_amd64.snap``. Thay thế ``VERSION`` bằng số phiên bản "
+"của file tệp tin mà bạn đã tải xuống. Lưu ý rằng bạn phải sử dụng "
+"`--dangerous` bởi vì gói package không được ký bởi cửa hàng Snapcraft "
+"store, tuy nhiên, bạn đã xác minh chữ ký PGP của nó, vì vậy bạn biết nó "
+"là chính chủ hợp pháp."
#: ../../source/install.rst:48
msgid "You can run OnionShare with: `snap run onionshare`."
@@ -204,12 +213,13 @@ msgstr "Chỉ dòng lệnh command mà thôi"
#: ../../source/install.rst:55
msgid ""
-"You can install just the command-line version of OnionShare on any operating "
-"system using the Python package manager ``pip``. :ref:`cli` has more info."
+"You can install just the command-line version of OnionShare on any "
+"operating system using the Python package manager ``pip``. :ref:`cli` has"
+" more info."
msgstr ""
-"Bạn có thể chỉ cài đặt phiên bản dòng lệnh command của OnionShare trên bất "
-"kỳ hệ điều hành nào bằng cách sử dụng trình quản lý gói Python ``pip``. :ref:"
-"`cli` có thêm thông tin."
+"Bạn có thể chỉ cài đặt phiên bản dòng lệnh command của OnionShare trên "
+"bất kỳ hệ điều hành nào bằng cách sử dụng trình quản lý gói Python "
+"``pip``. :ref:`cli` có thêm thông tin."
#: ../../source/install.rst:60
msgid "Verifying PGP signatures"
@@ -217,18 +227,18 @@ msgstr "Việc xác minh chữ ký PGP"
#: ../../source/install.rst:62
msgid ""
-"You can verify that the package you download is legitimate and hasn't been "
-"tampered with by verifying its PGP signature. For Windows and macOS, this "
-"step is optional and provides defense in depth: the OnionShare binaries "
-"include operating system-specific signatures, and you can just rely on those "
-"alone if you'd like."
+"You can verify that the package you download is legitimate and hasn't "
+"been tampered with by verifying its PGP signature. For Windows and macOS,"
+" this step is optional and provides defense in depth: the OnionShare "
+"binaries include operating system-specific signatures, and you can just "
+"rely on those alone if you'd like."
msgstr ""
-"Bạn có thể xác minh rằng gói mà bạn tải xuống là hợp pháp hợp lệ và không bị "
-"giả mạo hoặc xáo trộn bằng cách xác minh chữ ký PGP của nó. Đối với hệ điều "
-"hành Windows và macOS, bước này là tùy chọn và cung cấp khả năng bảo vệ "
-"chuyên sâu: các nhị phân OnionShare binaries bao gồm các chữ ký dành riêng "
-"cho hệ điều hành, và bạn có thể chỉ cần dựa vào những chữ ký đó mà thôi nếu "
-"bạn muốn."
+"Bạn có thể xác minh rằng gói mà bạn tải xuống là hợp pháp hợp lệ và không"
+" bị giả mạo hoặc xáo trộn bằng cách xác minh chữ ký PGP của nó. Đối với "
+"hệ điều hành Windows và macOS, bước này là tùy chọn và cung cấp khả năng "
+"bảo vệ chuyên sâu: các nhị phân OnionShare binaries bao gồm các chữ ký "
+"dành riêng cho hệ điều hành, và bạn có thể chỉ cần dựa vào những chữ ký "
+"đó mà thôi nếu bạn muốn."
#: ../../source/install.rst:66
msgid "Signing key"
@@ -236,90 +246,124 @@ msgstr "Khoá key chữ ký"
#: ../../source/install.rst:68
msgid ""
-"Packages are signed by Micah Lee, the core developer, using his PGP public "
-"key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can "
-"download Micah's key `from the keys.openpgp.org keyserver <https://keys."
-"openpgp.org/vks/v1/by-"
+"Packages are signed by Micah Lee, the core developer, using his PGP "
+"public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
+" You can download Micah's key `from the keys.openpgp.org keyserver "
+"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Các gói được ký bởi Micah Lee, nhà phát triển cốt lõi, sử dụng khóa key công "
-"cộng PGP của anh ấy với dấu vân tay fingerprint "
-"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Bạn có thể tải xuống khóa key "
-"của Micah `từ máy chủ khóa key keys.openpgp.org <https://keys.openpgp.org/"
-"vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"Các gói được ký bởi Micah Lee, nhà phát triển cốt lõi, sử dụng khóa key "
+"công cộng PGP của anh ấy với dấu vân tay fingerprint "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Bạn có thể tải xuống khóa "
+"key của Micah `từ máy chủ khóa key keys.openpgp.org "
+"<https://keys.openpgp.org/vks/v1/by-"
+"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:71
msgid ""
-"You must have GnuPG installed to verify signatures. For macOS you probably "
-"want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want "
-"`Gpg4win <https://www.gpg4win.org/>`_."
+"You must have GnuPG installed to verify signatures. For macOS you "
+"probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you "
+"probably want `Gpg4win <https://www.gpg4win.org/>`_."
msgstr ""
-"Bạn phải cài đặt GnuPG sẵn để xác minh chữ ký. Đối với hệ điều hành macOS, "
-"bạn có thể muốn `GPGTools <https://gpgtools.org/>`_, và đối với hệ điều hành "
-"Windows, bạn có thể muốn `Gpg4win <https://www.gpg4win.org/>`_."
+"Bạn phải cài đặt GnuPG sẵn để xác minh chữ ký. Đối với hệ điều hành "
+"macOS, bạn có thể muốn `GPGTools <https://gpgtools.org/>`_, và đối với hệ"
+" điều hành Windows, bạn có thể muốn `Gpg4win "
+"<https://www.gpg4win.org/>`_."
#: ../../source/install.rst:74
msgid "Signatures"
msgstr "Các chữ ký"
#: ../../source/install.rst:76
+#, fuzzy
msgid ""
-"You can find the signatures (as ``.asc`` files), as well as Windows, macOS, "
-"Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the "
-"folders named for each version of OnionShare. You can also find them on the "
-"`GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+"You can find the signatures (as ``.asc`` files), as well as Windows, "
+"macOS, Flatpak, Snap, and source packages, at "
+"https://onionshare.org/dist/ in the folders named for each version of "
+"OnionShare. You can also find them on the `GitHub Releases page "
+"<https://github.com/onionshare/onionshare/releases>`_."
msgstr ""
-"Bạn có thể tìm thấy các chữ ký (dưới dạng tập tin ``.asc``), cũng như các "
-"gói Windows, macOS, Flatpak, Snap, và gói nguồn, tại https://onionshare.org/"
-"dist/ trong các thư mục được đặt tên cho từng phiên bản của OnionShare. Bạn "
-"cũng có thể tìm thấy chúng trên `trang Bản phát hành GitHub <https://github."
-"com/micahflee/onionshare/releases>`_."
+"Bạn có thể tìm thấy các chữ ký (dưới dạng tập tin ``.asc``), cũng như các"
+" gói Windows, macOS, Flatpak, Snap, và gói nguồn, tại "
+"https://onionshare.org/dist/ trong các thư mục được đặt tên cho từng "
+"phiên bản của OnionShare. Bạn cũng có thể tìm thấy chúng trên `trang Bản "
+"phát hành GitHub <https://github.com/micahflee/onionshare/releases>`_."
#: ../../source/install.rst:80
msgid "Verifying"
msgstr "Việc xác minh"
#: ../../source/install.rst:82
+#, fuzzy
msgid ""
"Once you have imported Micah's public key into your GnuPG keychain, "
-"downloaded the binary and ``.asc`` signature, you can verify the binary for "
-"macOS in a terminal like this::"
+"downloaded the binary and ``.asc`` signature, you can verify the binary "
+"in a terminal like this:"
+msgstr ""
+"Một khi bạn đã truy nhập import khóa key công cộng của Micah vào trong "
+"chuỗi khóa keychain GnuPG của bạn, đã tải xuống nhị phân binary và chữ ký"
+" ``.asc``, bạn có thể xác minh file tệp tin nhị phân binary cho macOS "
+"trong một Terminal như sau::"
+
+#: ../../source/install.rst:84
+msgid "For Windows::"
msgstr ""
-"Một khi bạn đã truy nhập import khóa key công cộng của Micah vào trong chuỗi "
-"khóa keychain GnuPG của bạn, đã tải xuống nhị phân binary và chữ ký ``.asc``"
-", bạn có thể xác minh file tệp tin nhị phân binary cho macOS trong một "
-"Terminal như sau::"
-#: ../../source/install.rst:86
-msgid "Or for Windows, in a command-prompt like this::"
-msgstr "Hoặc đối với Windows, trong một command-prompt như thế này::"
+#: ../../source/install.rst:88
+msgid "For macOS::"
+msgstr ""
+
+#: ../../source/install.rst:92
+#, fuzzy
+msgid "For Linux::"
+msgstr "Linux"
+
+#: ../../source/install.rst:98
+msgid "and for the source file::"
+msgstr ""
-#: ../../source/install.rst:90
+#: ../../source/install.rst:102
msgid "The expected output looks like this::"
msgstr "Đầu ra output dự kiến trông như thế này::"
-#: ../../source/install.rst:102
+#: ../../source/install.rst:112
+#, fuzzy
msgid ""
-"If you don't see ``Good signature from``, there might be a problem with the "
-"integrity of the file (malicious or otherwise), and you should not install "
-"the package. (The ``WARNING:`` shown above, is not a problem with the "
-"package, it only means you haven't defined a level of \"trust\" of Micah's "
-"(the core developer) PGP key.)"
+"If you don't see ``Good signature from``, there might be a problem with "
+"the integrity of the file (malicious or otherwise), and you should not "
+"install the package."
msgstr ""
-"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính toàn "
-"vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên cài đặt "
-"gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề đối với gói, "
-"điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\" của khóa key "
-"PGP của Micah (nhà phát triển cốt lõi).)"
+"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính "
+"toàn vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên "
+"cài đặt gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề "
+"đối với gói, điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\""
+" của khóa key PGP của Micah (nhà phát triển cốt lõi).)"
+
+#: ../../source/install.rst:114
+#, fuzzy
+msgid ""
+"The ``WARNING:`` shown above, is not a problem with the package, it only "
+"means you haven't defined a level of \"trust\" of Micah's (the core "
+"developer) PGP key."
+msgstr ""
+"Nếu bạn không thấy ``Chữ ký tốt từ``, thì có thể có một vấn đề với tính "
+"toàn vẹn của tập tin (độc hại hoặc theo một cách khác) và bạn không nên "
+"cài đặt gói. (``CẢNH BÁO:`` được hiển thị ở trên, không phải là vấn đề "
+"đối với gói, điều đó chỉ có nghĩa là bạn chưa xác định mức độ \"tin cậy\""
+" của khóa key PGP của Micah (nhà phát triển cốt lõi).)"
-#: ../../source/install.rst:104
+#: ../../source/install.rst:116
msgid ""
"If you want to learn more about verifying PGP signatures, the guides for "
-"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and "
-"the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/"
-">`_ may be useful."
+"`Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and"
+" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
+"signature/>`_ may be useful."
msgstr ""
-"Nếu bạn muốn tìm hiểu thêm về việc xác minh chữ ký PGP, các hướng dẫn dành "
-"cho `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ và "
-"`Dự án Tor Project <https://support.torproject.org/tbb/"
-"how-to-verify-signature/>`_ có thể hữu ích."
+"Nếu bạn muốn tìm hiểu thêm về việc xác minh chữ ký PGP, các hướng dẫn "
+"dành cho `Qubes OS <https://www.qubes-os.org/security/verifying-"
+"signatures/>`_ và `Dự án Tor Project <https://support.torproject.org/tbb"
+"/how-to-verify-signature/>`_ có thể hữu ích."
+
+#~ msgid "Or for Windows, in a command-prompt like this::"
+#~ msgstr "Hoặc đối với Windows, trong một command-prompt như thế này::"
+
diff --git a/docs/source/locale/zh_CN/LC_MESSAGES/install.po b/docs/source/locale/zh_CN/LC_MESSAGES/install.po
index 8618abb7..2d02d899 100644
--- a/docs/source/locale/zh_CN/LC_MESSAGES/install.po
+++ b/docs/source/locale/zh_CN/LC_MESSAGES/install.po
@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2023-06-06 13:07+0200\n"
-"PO-Revision-Date: 2023-10-28 04:15+0000\n"
-"Last-Translator: Chris Nolan <chrisnolan@tutanota.de>\n"
+"PO-Revision-Date: 2023-06-08 16:50+0000\n"
+"Last-Translator: emma peel <emmapeel@torproject.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.2-dev\n"
+"X-Generator: Weblate 4.18-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -37,7 +37,7 @@ msgstr ""
#: ../../source/install.rst:12
msgid "Linux"
-msgstr "Linux"
+msgstr ""
#: ../../source/install.rst:14
msgid ""
@@ -70,7 +70,7 @@ msgstr ""
#: ../../source/install.rst:21
msgid "**Install OnionShare using Snapcraft**: https://snapcraft.io/onionshare"
-msgstr "**使用 Snapcraft 安装 OnionShare**:https://snapcraft.io/onionshare"
+msgstr ""
#: ../../source/install.rst:23
msgid ""
diff --git a/flatpak/org.onionshare.OnionShare.yaml b/flatpak/org.onionshare.OnionShare.yaml
index b455cb71..904b7fe7 100644
--- a/flatpak/org.onionshare.OnionShare.yaml
+++ b/flatpak/org.onionshare.OnionShare.yaml
@@ -2,7 +2,7 @@
app-id: org.onionshare.OnionShare
command: onionshare
runtime: org.kde.Platform
-runtime-version: "6.4"
+runtime-version: "6.5"
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.golang
@@ -35,8 +35,8 @@ modules:
--prefix=${FLATPAK_DEST} "pyside6-essentials" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/e5/96/f43cdcb397f8a8cff6991ef8109385cc5ad9b0ad78c6dc2988b3b776fe49/PySide6_Essentials-6.4.2-cp37-abi3-manylinux_2_28_x86_64.whl
- sha256: 8c3d37cca6e27f6da12b50b20e741d593ccc857bdcdb82d97f8f7c8bfe53639a
+ url: https://files.pythonhosted.org/packages/d0/de/9a089e91c2e0fe4f122218bba4f9dbde46338659f412739bd9db1ed9df4f/PySide6_Essentials-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl
+ sha256: 1620e82b38714a1570b142c01694d0415a25526517b24620ff9b00c9f76cfca9
modules:
- name: shiboken6
buildsystem: simple
@@ -45,14 +45,14 @@ modules:
--prefix=${FLATPAK_DEST} "shiboken6" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/24/f6/f1fe9220a616789a1c6b1b73670d8b1dec882ac730a8b534f963b3f26182/shiboken6-6.4.2-cp37-abi3-manylinux_2_28_x86_64.whl
- sha256: 0616c1a12d1e51e680595b3940b986275c1df952a751416a0730a59e5b90105f
+ url: https://files.pythonhosted.org/packages/55/44/d8c366dd4f069166ab9890acb44d004c5e6122714e44c169273dcbbca897/shiboken6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl
+ sha256: 3fbc35ff3c19e7d39433671bfc1be3d7fa9d071bfdd0ffe1c2a4d27acd6cf6a5
- name: tor
buildsystem: autotools
sources:
- type: archive
- sha256: d39d38598208f4d6201d7edc6ad573b3a898a932a5c68d3074016a9525519b22
- url: https://dist.torproject.org/tor-0.4.7.9.tar.gz
+ sha256: 6957cfd14a29eee7555c52f8387a46f2ce2f5fe7dadf93547f1bc74b1657e119
+ url: https://dist.torproject.org/tor-0.4.8.5.tar.gz
modules:
- name: libevent
buildsystem: autotools
@@ -302,7 +302,8 @@ modules:
ensure-writable:
- easy-install.pth
build-commands:
- - cd desktop && python3 setup.py install --prefix=${FLATPAK_DEST}
+ - rm desktop/pyproject.toml
+ - cd desktop && pip3 install --prefix=${FLATPAK_DEST} .
- cd desktop && install -D -m0644 org.onionshare.OnionShare.appdata.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.appdata.xml
- cd desktop && install -D -m0644 org.onionshare.OnionShare.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/org.onionshare.OnionShare.svg
- cd desktop && install -D -m0644 org.onionshare.OnionShare.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
@@ -330,8 +331,8 @@ modules:
url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl
sha256: 581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a
- type: file
- url: https://files.pythonhosted.org/packages/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl
- sha256: 3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98
+ url: https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl
+ sha256: 440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36
- name: python3-werkzeug
buildsystem: simple
build-commands:
@@ -339,15 +340,25 @@ modules:
--prefix=${FLATPAK_DEST} "werkzeug" --no-build-isolation
sources:
- type: file
- url: https://files.pythonhosted.org/packages/95/7e/68018b70268fb4a2a605e2be44ab7b4dd7ce7808adae6c5ef32e34f4b55a/MarkupSafe-2.1.2.tar.gz
- sha256: abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d
+ url: https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz
+ sha256: af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad
- type: file
- url: https://files.pythonhosted.org/packages/c2/2f/f0dc628295bd23571c962d5a349307d9c8796a05bfca6571659eaded38e2/Werkzeug-2.3.4-py3-none-any.whl
- sha256: 48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f
+ url: https://files.pythonhosted.org/packages/9b/59/a7c32e3d8d0e546a206e0552a2c04444544f15c1da4a01df8938d20c6ffc/werkzeug-2.3.7-py3-none-any.whl
+ sha256: effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528
+ - name: python3-python-gnupg
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
+ --prefix=${FLATPAK_DEST} "python-gnupg" --no-build-isolation
+ sources:
+ - type: file
+ url: https://files.pythonhosted.org/packages/22/ad/12d8df0a1b465593e736fa14a5d8144381bc64b222e6cd59bb13c6af95b4/python_gnupg-0.5.1-py2.py3-none-any.whl
+ sha256: bf9b2d9032ef38139b7d64184176cd0b293eaeae6e4f93f50e304c7051174482
- name: onionshare-cli
buildsystem: simple
build-commands:
- - cd cli && python3 setup.py install --prefix=${FLATPAK_DEST}
+ - rm cli/pyproject.toml
+ - cd cli && pip3 install --prefix=${FLATPAK_DEST} --no-deps .
sources:
- type: dir
path: ..
@@ -358,13 +369,14 @@ modules:
- name: poetry-deps
buildsystem: simple
build-commands:
+ - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} --use-pep517 brotlicffi
- pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
- bidict blinker brotli certifi cffi charset-normalizer click colorama dnspython
- eventlet exceptiongroup flask flask-compress flask-socketio gevent gevent-websocket
- greenlet idna importlib-metadata iniconfig itsdangerous jinja2 markupsafe packaging
- pluggy psutil pycparser pynacl pysocks pytest python-engineio python-socketio
- requests setuptools six stem tomli unidecode urllib3 waitress werkzeug zipp zope-event
- zope-interface Cython wheel
+ bidict blinker brotli certifi cffi charset-normalizer click colorama
+ cython dnspython eventlet exceptiongroup flask flask-compress flask-socketio gevent
+ gevent-websocket greenlet greenlet h11 idna importlib-metadata iniconfig itsdangerous
+ jinja2 markupsafe packaging pluggy psutil pycparser pynacl pysocks pytest python-engineio
+ python-socketio requests setuptools simple-websocket six stem tomli unidecode
+ urllib3 waitress werkzeug wheel wsproto zipp zope-event zope-interface
sources:
- type: file
url: https://files.pythonhosted.org/packages/b5/82/ce0b6380f35f49d3fe687979a324c342cfa3588380232f3801db9dd62f9e/bidict-0.22.1-py3-none-any.whl
@@ -373,44 +385,50 @@ modules:
url: https://files.pythonhosted.org/packages/0d/f1/5f39e771cd730d347539bb74c6d496737b9d5f0a53bc9fdbf3e170f1ee48/blinker-1.6.2-py3-none-any.whl
sha256: c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0
- type: file
- url: https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0/Brotli-1.0.9.zip
- sha256: 4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438
+ url: https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz
+ sha256: 81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724
+ - type: file
+ url: https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz
+ sha256: b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13
- type: file
- url: https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl
- sha256: c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716
+ url: https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl
+ sha256: 92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9
- type: file
url: https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz
sha256: d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9
- type: file
- url: https://files.pythonhosted.org/packages/ef/81/14b3b8f01ddaddad6cdec97f2f599aa2fa466bd5ee9af99b08b7713ccd29/charset_normalizer-3.1.0-py3-none-any.whl
- sha256: 3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d
+ url: https://files.pythonhosted.org/packages/bf/a0/188f223c7d8b924fb9b554b9d27e0e7506fd5bf9cfb6dbacb2dfd5832b53/charset_normalizer-3.2.0-py3-none-any.whl
+ sha256: 8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6
- type: file
- url: https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl
- sha256: bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48
+ url: https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl
+ sha256: ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28
- type: file
url: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
- type: file
- url: https://files.pythonhosted.org/packages/12/86/d305e87555430ff4630d729420d97dece3b16efcbf2b7d7e974d11b0d86c/dnspython-2.3.0-py3-none-any.whl
- sha256: 89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46
+ url: https://files.pythonhosted.org/packages/03/e9/9cc0c4f0d8a566089d096254cd25168a0db02dd047863a7f995d8d3eefa7/Cython-3.0.2-py2.py3-none-any.whl
+ sha256: 8f1c9e4b8e413da211dd7942440cf410ff0eafb081309e04e81f4fafbb146bf2
+ - type: file
+ url: https://files.pythonhosted.org/packages/f6/b4/0a9bee52c50f226a3cbfb54263d02bb421c7f2adc136520729c2c689c1e5/dnspython-2.4.2-py3-none-any.whl
+ sha256: 57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8
- type: file
url: https://files.pythonhosted.org/packages/90/97/928b89de2e23cc67136eccccf1c122adf74ffdb65bbf7d2964b937cedd4f/eventlet-0.33.3-py2.py3-none-any.whl
sha256: e43b9ae05ba4bb477a10307699c9aff7ff86121b2640f9184d29059f5a687df8
- type: file
- url: https://files.pythonhosted.org/packages/61/97/17ed81b7a8d24d8f69b62c0db37abbd8c0042d4b3fc429c73dab986e7483/exceptiongroup-1.1.1-py3-none-any.whl
- sha256: 232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e
+ url: https://files.pythonhosted.org/packages/ad/83/b71e58666f156a39fb29417e4c8ca4bc7400c0dd4ed9e8842ab54dc8c344/exceptiongroup-1.1.3-py3-none-any.whl
+ sha256: 343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3
- type: file
url: https://files.pythonhosted.org/packages/fa/1a/f191d32818e5cd985bdd3f47a6e4f525e2db1ce5e8150045ca0c31813686/Flask-2.3.2-py3-none-any.whl
sha256: 77fd4e1249d8c9923de34907236b747ced06e5467ecac1a7bb7115ae0e9670b0
- type: file
- url: https://files.pythonhosted.org/packages/20/80/8cdb28e467d3ffdc221992145114a709c1e7c011b84c66bc250e27596286/Flask_Compress-1.13-py3-none-any.whl
- sha256: 1128f71fbd788393ce26830c51f8b5a1a7a4d085e79a21a5cddf4c057dcd559b
+ url: https://files.pythonhosted.org/packages/3f/d2/23fd656d38d4c896fa14371990b9978722c48a30d0edcf6b5f7054775a07/Flask_Compress-1.14-py3-none-any.whl
+ sha256: b86c9808f0f38ea2246c9730972cf978f2cdf6a9a1a69102ba81e07891e6b26c
- type: file
url: https://files.pythonhosted.org/packages/08/4d/a2f07873367e8916e0bae32df1d3cb9b39ea2141d7a5fdfab8c9d6818d71/Flask_SocketIO-5.3.4-py3-none-any.whl
sha256: 564acfb24dcc9545cdae536cde0323653d9b547069a925f11eeb132338aa71c0
- type: file
- url: https://files.pythonhosted.org/packages/9f/4a/e9e57cb9495f0c7943b1d5965c4bdd0d78bc4a433a7c96ee034b16c01520/gevent-22.10.2.tar.gz
- sha256: 1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46
+ url: https://files.pythonhosted.org/packages/8e/ce/d2b9a376ee010f6d548bf1b6b6eddc372a175e6e100896e607c57e37f7cf/gevent-23.9.1.tar.gz
+ sha256: 72c002235390d46f94938a96920d8856d4ffd9ddf62a303a0d7c118894097e34
- type: file
url: https://files.pythonhosted.org/packages/7b/84/2dc373eb6493e00c884cc11e6c059ec97abae2678d42f06bf780570b0193/gevent_websocket-0.10.1-py3-none-any.whl
sha256: 17b67d91282f8f4c973eba0551183fc84f56f1c90c8f6b6b30256f31f66f5242
@@ -418,11 +436,17 @@ modules:
url: https://files.pythonhosted.org/packages/1e/1e/632e55a04d732c8184201238d911207682b119c35cecbb9a573a6c566731/greenlet-2.0.2.tar.gz
sha256: e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0
- type: file
+ url: https://files.pythonhosted.org/packages/92/c2/a09095b0c028ab92476207696c899fd6d96f7e06fd1008030df4ca108e07/greenlet-3.0.0rc3.tar.gz
+ sha256: 0df5c2ad154f457fd372e39723493b3df519330a4c1bff3ca901be66130f379b
+ - type: file
+ url: https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl
+ sha256: e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761
+ - type: file
url: https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl
sha256: 90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2
- type: file
- url: https://files.pythonhosted.org/packages/30/bb/bf2944b8b88c65b797acc2c6a2cb0fb817f7364debf0675792e034013858/importlib_metadata-6.6.0-py3-none-any.whl
- sha256: 43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed
+ url: https://files.pythonhosted.org/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl
+ sha256: 3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb
- type: file
url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl
sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
@@ -433,14 +457,14 @@ modules:
url: https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl
sha256: 6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61
- type: file
- url: https://files.pythonhosted.org/packages/95/7e/68018b70268fb4a2a605e2be44ab7b4dd7ce7808adae6c5ef32e34f4b55a/MarkupSafe-2.1.2.tar.gz
- sha256: abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d
+ url: https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz
+ sha256: af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad
- type: file
url: https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl
sha256: 994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61
- type: file
- url: https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl
- sha256: 74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3
+ url: https://files.pythonhosted.org/packages/05/b8/42ed91898d4784546c5f06c60506400548db3f7a4b3fb441cba4e5c17952/pluggy-1.3.0-py3-none-any.whl
+ sha256: d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7
- type: file
url: https://files.pythonhosted.org/packages/d6/0f/96b7309212a926c1448366e9ce69b081ea79d63265bde33f11cc9cfc2c07/psutil-5.9.5.tar.gz
sha256: 5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c
@@ -454,20 +478,23 @@ modules:
url: https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl
sha256: 2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5
- type: file
- url: https://files.pythonhosted.org/packages/1b/d1/72df649a705af1e3a09ffe14b0c7d3be1fd730da6b98beb4a2ed26b8a023/pytest-7.3.1-py3-none-any.whl
- sha256: 3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362
+ url: https://files.pythonhosted.org/packages/df/d0/e192c4275aecabf74faa1aacd75ef700091913236ec78b1a98f62a2412ee/pytest-7.4.2-py3-none-any.whl
+ sha256: 1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002
- type: file
- url: https://files.pythonhosted.org/packages/33/e9/ed521d6abdf5372aa052f4749dc5bd5dcdbd2c132c81334bf0693f4d4269/python_engineio-4.4.1-py3-none-any.whl
- sha256: 28ab67f94cba2e5f598cbb04428138fd6bb8b06d3478c939412da445f24f0773
+ url: https://files.pythonhosted.org/packages/b3/69/1e5985404fdc7873cef612ae7451ba5d3c00b2daa0aa1d9a4f6a5265532a/python_engineio-4.7.1-py3-none-any.whl
+ sha256: 52499e8ab94fea1a6525ffe872fe7028d04b575799c5fa8e2cf7880e032de42e
- type: file
- url: https://files.pythonhosted.org/packages/5d/e9/f296186e2a91f1472b9da74346163411196dc1b17f425acf088f293b32cc/python_socketio-5.8.0-py3-none-any.whl
- sha256: 7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441
+ url: https://files.pythonhosted.org/packages/2b/31/fd41960cf365177f323d8c10d774a0b017336556c6f0ba0a38403240914d/python_socketio-5.9.0-py3-none-any.whl
+ sha256: c20f12e4ed0cba57581af26bbeea9998bc2eeebb3b952fa92493a1e051cfe9dc
- type: file
url: https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl
sha256: 58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f
- type: file
- url: https://files.pythonhosted.org/packages/f5/2c/074ab1c5be9c7d523d8d6d69d1f46f450fe7f11713147dc9e779aa4ca4ea/setuptools-67.8.0-py3-none-any.whl
- sha256: 5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f
+ url: https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl
+ sha256: b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a
+ - type: file
+ url: https://files.pythonhosted.org/packages/f6/00/6583d44c59b765c01a14e69260d90c3ca489a47ac8ffc9f1ddf81f1d25f5/simple_websocket-0.10.1-py3-none-any.whl
+ sha256: 62c36bacfd75cc867927bb39d91951342a7234bdfe20f41dd969a3b8bb1413b7
- type: file
url: https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl
sha256: 8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
@@ -478,29 +505,29 @@ modules:
url: https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl
sha256: 939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc
- type: file
- url: https://files.pythonhosted.org/packages/be/ea/90e14e807da5a39e5b16789acacd48d63ca3e4f23dfa964a840eeadebb13/Unidecode-1.3.6-py3-none-any.whl
- sha256: 547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be
+ url: https://files.pythonhosted.org/packages/e4/63/7685ef40c65aba621ccd2524a24181bf11f0535ab1fdba47e40738eacff6/Unidecode-1.3.7-py3-none-any.whl
+ sha256: 663a537f506834ed836af26a81b210d90cbde044c47bfbdc0fbbc9f94c86a6e4
- type: file
- url: https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl
- sha256: d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e
+ url: https://files.pythonhosted.org/packages/37/dc/399e63f5d1d96bb643404ee830657f4dfcf8503f5ba8fa3c6d465d0c57fe/urllib3-2.0.5-py3-none-any.whl
+ sha256: ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e
- type: file
url: https://files.pythonhosted.org/packages/58/6a/b4b5c582e04e837e4422cab6ec9de7fc10ca7ad7f4e370bb89d280d39552/waitress-2.1.2-py3-none-any.whl
sha256: 7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a
- type: file
- url: https://files.pythonhosted.org/packages/c2/2f/f0dc628295bd23571c962d5a349307d9c8796a05bfca6571659eaded38e2/Werkzeug-2.3.4-py3-none-any.whl
- sha256: 48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f
+ url: https://files.pythonhosted.org/packages/9b/59/a7c32e3d8d0e546a206e0552a2c04444544f15c1da4a01df8938d20c6ffc/werkzeug-2.3.7-py3-none-any.whl
+ sha256: effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528
- type: file
- url: https://files.pythonhosted.org/packages/5b/fa/c9e82bbe1af6266adf08afb563905eb87cab83fde00a0a08963510621047/zipp-3.15.0-py3-none-any.whl
- sha256: 48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556
+ url: https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl
+ sha256: 75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8
- type: file
- url: https://files.pythonhosted.org/packages/8b/a8/3ab9648dc08d2ab7543145ec174a2d982d08fb996d50d9a4d3e057da7132/zope.event-4.6-py2.py3-none-any.whl
- sha256: 73d9e3ef750cca14816a9c322c7250b0d7c9dbc337df5d1b807ff8d3d0b9e97c
+ url: https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl
+ sha256: b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736
- type: file
- url: https://files.pythonhosted.org/packages/7a/62/f0d012151af1e8cc0a6c97db74b78141143425dcdf81bc7960c498e28960/zope.interface-6.0.tar.gz
- sha256: aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d
+ url: https://files.pythonhosted.org/packages/d9/66/48866fc6b158c81cc2bfecc04c480f105c6040e8b077bc54c634b4a67926/zipp-3.17.0-py3-none-any.whl
+ sha256: 0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31
- type: file
- url: https://files.pythonhosted.org/packages/2e/a7/f20fa91d9de799f8e19bacf225bc993b8a53b5fc6f41ffa20d64f0850579/Cython-3.0.0a11.tar.gz
- sha256: e4672491fb31546b9abb63677f638e738085dc9321398170956ef6fbfc0e1726
+ url: https://files.pythonhosted.org/packages/fe/42/f8dbc2b9ad59e927940325a22d6d3931d630c3644dae7e2369ef5d9ba230/zope.event-5.0-py3-none-any.whl
+ sha256: 2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26
- type: file
- url: https://files.pythonhosted.org/packages/a2/b8/6a06ff0f13a00fc3c3e7d222a995526cbca26c1ad107691b6b1badbbabf1/wheel-0.38.4.tar.gz
- sha256: 965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac
+ url: https://files.pythonhosted.org/packages/7a/62/f0d012151af1e8cc0a6c97db74b78141143425dcdf81bc7960c498e28960/zope.interface-6.0.tar.gz
+ sha256: aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d
diff --git a/flatpak/poetry-to-requirements.py b/flatpak/poetry-to-requirements.py
new file mode 100755
index 00000000..973e3c2e
--- /dev/null
+++ b/flatpak/poetry-to-requirements.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+import toml
+import click
+
+
+def format_version(dep, version):
+ if version == "*":
+ return dep
+ # If it's a dictionary, assume it's in the format {extras = ["socks"], version = "*"}
+ elif isinstance(version, dict) and "version" in version:
+ version = version["version"]
+ if version == "*":
+ return dep
+ elif version.startswith("^"):
+ return f"{dep}>={version[1:]}.0"
+ elif version.startswith((">=", "<=", "!=", "==", "<", ">")):
+ return f"{dep}{version}"
+ else:
+ return f"{dep}=={version}"
+ elif version.startswith("^"):
+ return f"{dep}>={version[1:]}.0"
+ elif version.startswith((">=", "<=", "!=", "==", "<", ">")):
+ return f"{dep}{version}"
+ else:
+ return f"{dep}=={version}"
+
+
+@click.command()
+@click.argument("pyproject_filename")
+def poetry_to_requirements(pyproject_filename):
+ """Convert poetry dependencies in a pyproject.toml to requirements format."""
+ with open(pyproject_filename, "r") as f:
+ data = toml.load(f)
+
+ dependencies = data.get("tool", {}).get("poetry", {}).get("dependencies", {})
+
+ requirements = []
+
+ for dep, version in dependencies.items():
+ if dep == "python" or dep == "onionshare_cli":
+ continue
+
+ formatted = format_version(dep, version)
+ if formatted:
+ requirements.append(formatted)
+
+ for req in requirements:
+ print(req)
+
+
+if __name__ == "__main__":
+ poetry_to_requirements()
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index cc3e8ed6..4fab8490 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,5 +1,5 @@
name: onionshare
-base: core20
+base: core22
version: "2.6.1"
summary: Securely and anonymously share files, host websites, and chat using Tor
description: |
@@ -20,8 +20,7 @@ architectures:
apps:
onionshare:
common-id: org.onionshare.OnionShare
- command: bin/onionshare-launcher
- extensions: [gnome-3-38]
+ command: bin/onionshare
plugs:
- desktop
- home
@@ -30,10 +29,12 @@ apps:
- removable-media
environment:
LANG: C.UTF-8
+ PATH: $SNAP/bin:$SNAP/usr/bin:$SNAP/usr/local/bin:$PATH
+ LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
cli:
common-id: org.onionshare.OnionShareCli
- command: bin/onionshare-cli-launcher
+ command: bin/onionshare-cli
plugs:
- home
- network
@@ -41,42 +42,15 @@ apps:
- removable-media
environment:
LANG: C.UTF-8
+ PATH: $SNAP/bin:$SNAP/usr/bin:$SNAP/usr/local/bin:$PATH
+ LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
parts:
- launcher:
- plugin: nil
- override-build: |
- mkdir -p $SNAPCRAFT_PART_INSTALL/bin
- cat > $SNAPCRAFT_PART_INSTALL/bin/launcher-setup << EOF
- #!/bin/sh
- export PATH=\$SNAP/bin:\$SNAP/usr/bin:\$SNAP/usr/local/bin:\$PATH
- export PYTHONPATH=\$SNAP/lib/python3.8/site-packages:\$SNAP/usr/lib/python3/dist-packages
- export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$SNAP/usr/local/lib
- ORIG_IFS=\$IFS
- IFS=":"
- LIB_BASE=\$(for D in \$LD_LIBRARY_PATH; do echo \$D; done | grep \$SNAP/usr/lib/)
- IFS=\$ORIGIN_IFS
- export QT_PLUGIN_PATH=\$LIB_BASE/qt5/plugins
- EOF
- cat > $SNAPCRAFT_PART_INSTALL/bin/onionshare-launcher << EOF
- #!/bin/sh
- . \$SNAP/bin/launcher-setup
- onionshare \$@
- EOF
- cat > $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli-launcher << EOF
- #!/bin/sh
- . \$SNAP/bin/launcher-setup
- onionshare-cli \$@
- EOF
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/launcher-setup
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/onionshare-launcher
- chmod 755 $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli-launcher
-
onionshare-cli:
source: ./cli
plugin: nil
override-pull: |
- snapcraftctl pull
+ craftctl default
rm pyproject.toml poetry.lock
after: [tor, obfs4, snowflake-client, meek-client]
@@ -155,17 +129,22 @@ parts:
- libxslt1.1
- libxtst6
- qtwayland5
- - python3-pyside2.qtcore
- - python3-pyside2.qtgui
- - python3-pyside2.qtwidgets
+ - libgstreamer1.0-0
+ - libgstreamer1.0-dev
+ - libgstreamer-gl1.0-0
+ - libgstreamer-plugins-base1.0-0
+ - libmysqlclient21
+ - libxcb-cursor0
+ - libxkbfile1
override-pull: |
- snapcraftctl pull
+ craftctl default
rm pyproject.toml poetry.lock
cat > requirements.txt << EOF
# onionshare_cli
click
- flask==2.0.3
- flask-socketio==5.3.1
+ flask==2.3.2
+ flask-compress==1.13
+ flask-socketio==5.3.4
psutil
pysocks
requests[socks]
@@ -177,31 +156,32 @@ parts:
colorama
gevent-websocket
stem==1.8.1
- werkzeug==2.3.4
- flask-compress
waitress
+ werkzeug==2.3.4
# onionshare
+ PySide6==6.5.2
qrcode
+ packaging
EOF
override-build: |
- python3 -m venv $SNAPCRAFT_PART_INSTALL
- . $SNAPCRAFT_PART_INSTALL/bin/activate
+ python3 -m venv $CRAFT_PART_INSTALL
+ . $CRAFT_PART_INSTALL/bin/activate
pip install -U pip setuptools wheel
pip install -U -r requirements.txt
pip install -U ../../onionshare-cli/src
pip install -U .
deactivate
- sed -i 's|'$SNAPCRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $SNAPCRAFT_PART_INSTALL/bin/onionshare
- sed -i 's|'$SNAPCRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $SNAPCRAFT_PART_INSTALL/bin/onionshare-cli
+ sed -i 's|'$CRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $CRAFT_PART_INSTALL/bin/onionshare
+ sed -i 's|'$CRAFT_PART_INSTALL'/bin/python3|/usr/bin/env python3|g' $CRAFT_PART_INSTALL/bin/onionshare-cli
after: [onionshare-cli]
tor:
- source: https://dist.torproject.org/tor-0.4.7.12.tar.gz
- source-checksum: sha256/3b5d969712c467851bd028f314343ef15a97ea457191e93ffa97310b05b9e395
+ source: https://dist.torproject.org/tor-0.4.8.5.tar.gz
+ source-checksum: sha256/6957cfd14a29eee7555c52f8387a46f2ce2f5fe7dadf93547f1bc74b1657e119
source-type: tar
plugin: autotools
autotools-configure-parameters:
- - "--with-libevent-dir=$SNAPCRAFT_PART_INSTALL/../../libevent/install/usr/local"
+ - "--with-libevent-dir=$CRAFT_PART_INSTALL/../../libevent/install/usr/local"
build-packages:
- libssl-dev
- zlib1g-dev
@@ -227,7 +207,7 @@ parts:
- go/latest/stable
source: https://git.torproject.org/pluggable-transports/snowflake.git
source-type: git
- source-tag: v2.3.1
+ source-tag: v2.6.0
organize:
bin/client: bin/snowflake-client
@@ -237,7 +217,7 @@ parts:
- go/latest/stable
source: https://git.torproject.org/pluggable-transports/meek.git
source-type: git
- source-tag: v0.37.0
+ source-tag: v0.38.0
override-build: |
cd meek-client
mkdir -p /build/onionshare/meek-client/install/bin