From 9738de8fd17fa7b586a9cad9b28464e2c29c394f Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 7 Jan 2025 21:40:39 +0900 Subject: [PATCH 001/221] chore: backports from stable --- dzgui.sh | 4 ++-- helpers/funcs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 4baa2ae..d870333 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="d3ad9153d8599bea0eede9fd3121ee8e" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="5624b1e44a43c318775caa5d0ceef1f0" + ["funcs"]="baa2c9c93edacb98384ae9f319e3b27f" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" @@ -636,7 +636,7 @@ fetch_helpers_by_sum(){ } fetch_geo_file(){ # for binary releases - local geo_sum="7b6668eb4535bb432acb42016ba9cc47" + local geo_sum="28ccd75b3e03cf07a7011f22ef0cd69b" local km_sum="b038fdb8f655798207bd28de3a004706" local gzip="$helpers_path/ips.csv.gz" if [[ ! -f $geo_file ]] || [[ $(get_hash $geo_file) != $geo_sum ]]; then diff --git a/helpers/funcs b/helpers/funcs index 9260e78..b23c1f2 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -30,7 +30,6 @@ log_path="$state_path/logs" debug_log="$log_path/DZGUI_DEBUG.log" system_log="$log_path/DZGUI_SYSTEM.log" mod_log="$log_path/DZGUI_MODIDS.log" -meta_log="$log_path/DZGUI_META.log" #STATE FILES history_file="$state_path/$prefix.history" From 79b0bae05de927ac6e310db0980b9cb9903c0c53 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 7 Jan 2025 21:41:34 +0900 Subject: [PATCH 002/221] chore: bump version --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index d870333..d0e543f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.6.0-beta.21 +version=5.7.0-beta.1 #CONSTANTS aid=221100 From 923bac8f765ff85f810b797b47c434a1670b258e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:20:18 +0900 Subject: [PATCH 003/221] fix: symlink traversal --- dzgui.sh | 13 ++++++++----- helpers/funcs | 11 +++++++---- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index d0e543f..08d9d65 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.1 +version=5.7.0-beta.2 #CONSTANTS aid=221100 @@ -76,6 +76,9 @@ set_im_module(){ return fi } +redact(){ + sed 's@\(/home/\)\([^/]*\)\(.*\)@\1REDACTED\3@g' +} logger(){ local date="$(date "+%F %T,%3N")" local tag="$1" @@ -83,8 +86,8 @@ logger(){ local self="${BASH_SOURCE[0]}" local caller="${FUNCNAME[1]}" local line="${BASH_LINENO[0]}" - self="$(<<< "$self" sed 's@\(/[^/]*/\)\([^/]*\)\(.*\)@\1REDACTED\3@g')" - printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" >> "$debug_log" + printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" \ + | redact >> "$debug_log" } setup_dirs(){ for dir in "$state_path" "$cache_path" "$share_path" "$helpers_path" "$freedesktop_path" "$config_path" "$log_path"; do @@ -587,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="d3ad9153d8599bea0eede9fd3121ee8e" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="baa2c9c93edacb98384ae9f319e3b27f" + ["funcs"]="3dc91b7effed4c9493ddba488fe8d9ff" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" @@ -937,7 +940,7 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") +# fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock diff --git a/helpers/funcs b/helpers/funcs index b23c1f2..0915e5c 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -735,6 +735,9 @@ dump_servers(){ logger INFO "Server context is '$subcontext', reading from file '$file'" filter_servers "$file" "$@" } +redact(){ + sed 's@\(/home/\)\([^/]*\)\(.*\)@\1REDACTED\3@g' +} logger(){ local date="$(date "+%F %T,%3N")" local tag="$1" @@ -742,8 +745,8 @@ logger(){ local self="${BASH_SOURCE[0]}" local caller="${FUNCNAME[1]}" local line="${BASH_LINENO[0]}" - self="$(<<< "$self" sed 's@\(/[^/]*/\)\([^/]*\)\(.*\)@\1REDACTED\3@g')" - printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" >> "$debug_log" + printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" \ + | redact >> "$debug_log" } test_ping(){ shift @@ -1243,8 +1246,8 @@ symlinks(){ done } - readarray -t mods < <(find $workshop_dir -mindepth 1 -name meta.cpp | awk -F/ 'NF=NF-1{print $NF}') - readarray -t links < <(find $game_dir -type l) + readarray -t mods < <(find "$workshop_dir" -mindepth 1 -name meta.cpp | awk -F/ 'NF=NF-1{print $NF}') + readarray -t links < <(find "$game_dir" -maxdepth 1 -type l) if [[ ${#mods[@]} -eq 0 ]]; then logger INFO "No mods present, aborting" From 0dc339893b407671c06b7ceb6dd0793de3d63532 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:22:42 +0900 Subject: [PATCH 004/221] docs: update changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index df3358e..64637df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [5.7.0-beta.2] 2024-01-07 +- Stricter redacting of usernames +- Omit nested directories when traversing symlinks + +## [5.7.0-beta.1] 2024-01-07 +### Changed +- Normalize version number + ## [5.6.0-beta.21] 2024-01-06 ### Added - Add in-app documentation link to Codeberg mirror From 5a292b37c4129acc8a57b4e25db898472b7c3d09 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:38:20 +0900 Subject: [PATCH 005/221] fix: jq 1.6 support (#192) --- CHANGELOG.md | 8 ++++++++ dzgui.sh | 4 ++-- helpers/funcs | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64637df..4824cee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Changelog + +## [5.7.0-beta.3] 2024-01-10 +## Changed +- Support legacy jq syntax for Ubuntu variants +## Fixed +- Stricter redacting of usernames (again) + ## [5.7.0-beta.2] 2024-01-07 +## Fixed - Stricter redacting of usernames - Omit nested directories when traversing symlinks diff --git a/dzgui.sh b/dzgui.sh index 08d9d65..ff6a8ae 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.2 +version=5.7.0-beta.3 #CONSTANTS aid=221100 @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="d3ad9153d8599bea0eede9fd3121ee8e" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="3dc91b7effed4c9493ddba488fe8d9ff" + ["funcs"]="6a1c7ce585d9b76e2e75dba9d4295f8d" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 0915e5c..0c227c3 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -447,7 +447,9 @@ get_remote_servers(){ _fetch "${params[$i]}" > $_cache_temp.${i} done - jq -n '[ [inputs]|add ].[]' $_cache_temp.* && rm $_cache_temp.* + # ubuntu variants do not support jq 1.7 chained operators + # https://github.com/jqlang/jq/releases/tag/jq-1.7 + jq -n '[ [inputs]|add ][]' $_cache_temp.* && rm $_cache_temp.* } get_unique_maps(){ shift @@ -736,7 +738,7 @@ dump_servers(){ filter_servers "$file" "$@" } redact(){ - sed 's@\(/home/\)\([^/]*\)\(.*\)@\1REDACTED\3@g' + sed 's@\(/home/\)[^/]*@\1REDACTED@g' } logger(){ local date="$(date "+%F %T,%3N")" From 9e09bd3bb3432b377f76e10610549517d86134c6 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:41:02 +0900 Subject: [PATCH 006/221] fix: uncomment line --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index ff6a8ae..4485e82 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.3 +version=5.7.0-beta.4 #CONSTANTS aid=221100 @@ -940,7 +940,7 @@ initial_setup(){ watcher_deps check_architecture test_connection -# fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock From 63671e2478b87e26e35b79052b75736c1edaaed3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:43:00 +0900 Subject: [PATCH 007/221] fix: use redacted function from helpers --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 4485e82..bc20065 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.4 +version=5.7.0-beta.5 #CONSTANTS aid=221100 @@ -77,7 +77,7 @@ set_im_module(){ fi } redact(){ - sed 's@\(/home/\)\([^/]*\)\(.*\)@\1REDACTED\3@g' + sed 's@\(/home/\)[^/]*@\1REDACTED@g' } logger(){ local date="$(date "+%F %T,%3N")" From be8bf7440168bda027333a5f196452ef0fb0a679 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 11 Jan 2025 06:41:22 +0900 Subject: [PATCH 008/221] fix: resolve regression introduced with 13c6813 --- CHANGELOG.md | 13 +++++++++++-- dzgui.sh | 4 ++-- helpers/funcs | 28 ++++++++++++++++++++++++++++ helpers/ui.py | 10 ++++++++++ 4 files changed, 51 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4824cee..6bd4195 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,20 @@ # Changelog +## [5.7.0-beta.6] 2024-01-10 +## Fixed +- Resolve regression introduced with IP resolution feature in 13c6813 + +## [5.7.0-beta.5] 2024-01-10 +## Changed +- Stricter redacting of usernames (again) + +## [5.7.0-beta.4] 2024-01-10 +## Fixed +- Clerical hotfix ## [5.7.0-beta.3] 2024-01-10 ## Changed - Support legacy jq syntax for Ubuntu variants -## Fixed -- Stricter redacting of usernames (again) ## [5.7.0-beta.2] 2024-01-07 ## Fixed diff --git a/dzgui.sh b/dzgui.sh index bc20065..bf65bc7 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,10 +587,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="d3ad9153d8599bea0eede9fd3121ee8e" + ["ui.py"]="5a876efacf208d12b5fe761996425412" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="6a1c7ce585d9b76e2e75dba9d4295f8d" + ["funcs"]="417bd5eaffbefc905a843985c691dc64" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 0c227c3..c747c82 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -130,6 +130,7 @@ declare -A funcs=( ["Remove from my servers"]="update_favs_from_table" ["Remove from history"]="remove_from_history" ["Force update local mods"]="force_update" +["Resolve IP"]="resolve_ip" ["Handshake"]="final_handshake" ["get_player_count"]="get_player_count" ["lan_scan"]="lan_scan" @@ -161,6 +162,33 @@ find_stale_mods(){ printf "" return 99 } +resolve_ip(){ + shift + local res + local record="$1" + local ip=$(<<< "$record" awk -F: '{print $1}') + local qport=$(<<< "$record" awk -F: '{print $3}') + res=$(a2s $ip $qport info) + if [[ ! $? -eq 0 ]]; then + printf "Server timed out \n" + return 1 + fi + local gport=$(<<< "$res" jq -r '.[].gameport') + if [[ -z $gport ]]; then + printf "Failed to resolve server metadata\n" + return 1 + fi + + # incoming input can only be 'remove' or 'add' + # record is in favs => implies deletion + # record not in favs => implies addition + resolved_record="$ip:$gport:$qport" + if [[ ${ip_list[*]} =~ $resolved_record ]]; then + remove_from_favs "$resolved_record" + else + add_to_favs "$resolved_record" + fi +} get_player_count(){ shift local res diff --git a/helpers/ui.py b/helpers/ui.py index c9aea79..ae28ede 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1814,10 +1814,16 @@ class TreeView(Gtk.TreeView): def format_metadata(row_sel): + # this function is recycled for the add by ip/id methods + + # the right-click context menu (add/remove servers) + # in the latter case, there is no metadata to update + # see grid.update_statusbar(), so the returned row is None + row = None for i in RowType: if i.dict["label"] == row_sel: row = i prefix = i.dict["tooltip"] + break vals = { "branch": config_vals[0], "debug": config_vals[1], @@ -1827,6 +1833,8 @@ def format_metadata(row_sel): "preferred_client": config_vals[5], "fullscreen": config_vals[6] } + if row is None: + return None try: alt = row.dict["alt"] default = row.dict["default"] @@ -2396,6 +2404,8 @@ class Grid(Gtk.Grid): return True def update_statusbar(self, string): + if string is None: + return meta = self.bar.get_context_id("Statusbar") self.bar.push(meta, string) From 853f3535625b71999a44b07558df10b069c04811 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 23 Jan 2025 12:03:18 +0900 Subject: [PATCH 009/221] chore: test commit From 3a1223be9def28ac29f4a837462b52ab4e884e53 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 9 Feb 2025 18:53:32 +0900 Subject: [PATCH 010/221] chore: update IP db --- CHANGELOG.md | 4 ++++ dzgui.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bd4195..332a41e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.7] 2024-02-09 +## Changed +- Update IP database records for 2025-02 + ## [5.7.0-beta.6] 2024-01-10 ## Fixed - Resolve regression introduced with IP resolution feature in 13c6813 diff --git a/dzgui.sh b/dzgui.sh index bf65bc7..5d2d48e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.5 +version=5.7.0-beta.7 #CONSTANTS aid=221100 @@ -639,7 +639,7 @@ fetch_helpers_by_sum(){ } fetch_geo_file(){ # for binary releases - local geo_sum="28ccd75b3e03cf07a7011f22ef0cd69b" + local geo_sum="9824e9b9a75a4830a2423932cc188b06" local km_sum="b038fdb8f655798207bd28de3a004706" local gzip="$helpers_path/ips.csv.gz" if [[ ! -f $geo_file ]] || [[ $(get_hash $geo_file) != $geo_sum ]]; then From 5f6679cf346ae4fb23d1c4ff931171b90735991a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 9 Feb 2025 19:50:36 +0900 Subject: [PATCH 011/221] chore: back up templates from main --- .github/ISSUE_TEMPLATE/bug_report.yml | 53 +++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature.yml | 47 ++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/trouble.yml | 46 +++++++++++++++++++++++ 4 files changed, 147 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature.yml create mode 100644 .github/ISSUE_TEMPLATE/trouble.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..0ad8d65 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,53 @@ +name: Bug report +description: Submit bugs that affect functionality here +title: "[BUG] Your title here" +labels: ["bug"] +assignees: + - aclist +body: + - type: checkboxes + id: kb + attributes: + label: Did you check if this issue already exists? + options: + - label: I have checked the [Knowledge Base](https://aclist.github.io/dzgui/kb.html) and searched through [past issues](https://github.com/aclist/dztui/issues?q=is%3Aissue+is%3Aclosed) and did not find my issue there. + required: true + - type: dropdown + id: device + attributes: + label: Device type + options: + - Desktop PC + - Steam Deck + default: 0 + validations: + required: true + - type: input + id: version + attributes: + label: DZGUI version + validations: + required: true + placeholder: "5.6.0" + - type: input + id: distro + attributes: + label: Linux distribution + validations: + required: true + placeholder: "Arch Linux" + - type: textarea + id: what-happened + attributes: + label: Describe the bug + description: What did you expect to happen? + placeholder: "E.g., When doing X, Y occurred. Include as much detail as possible." + validations: + required: true + - type: textarea + id: logs + attributes: + label: Additional log output + description: Attach the file `$HOME/.local/state/dzgui/DZGUI_DEBUG.log` by clicking this area to highlight it and then dragging the file in. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 0000000..3b350f2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,47 @@ +name: Feature suggestion +description: Submit requests for new features here +title: "[FEAT] Your title here" +labels: ["enhancement"] +assignees: + - aclist +body: + - type: dropdown + id: device + attributes: + label: Device type + options: + - Desktop PC + - Steam Deck + default: 0 + validations: + required: true + - type: input + id: version + attributes: + label: DZGUI version + validations: + required: true + placeholder: "5.6.0" + - type: input + id: distro + attributes: + label: Linux distribution + validations: + required: true + placeholder: "Arch Linux" + - type: textarea + id: what-happened + attributes: + label: Describe the feature + description: A clear and detailed description + placeholder: "E.g., Add a dialog to the Options menu that automatically lets the user do Y" + validations: + required: true + - type: textarea + id: why + attributes: + label: Describe the benefit + description: How will this feature benefit large numbers of users? + placeholder: "E.g., Currently, users have to manually do X to achieve Y. Implementing this feature would achieve A, B, and C." + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/trouble.yml b/.github/ISSUE_TEMPLATE/trouble.yml new file mode 100644 index 0000000..1c25e69 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/trouble.yml @@ -0,0 +1,46 @@ +name: Troubleshooting +description: Submit user error/troubleshooting questions here +title: "[HELP] Your title here" +labels: ["troubleshooting"] +assignees: + - aclist +body: + - type: dropdown + id: device + attributes: + label: Device type + options: + - Desktop PC + - Steam Deck + default: 0 + validations: + required: true + - type: input + id: version + attributes: + label: DZGUI version + validations: + required: true + placeholder: "5.6.0" + - type: input + id: distro + attributes: + label: Linux distribution + validations: + required: true + placeholder: "Arch Linux" + - type: textarea + id: what-happened + attributes: + label: Describe the issue + description: A detailed description. What did you expect to happen? + placeholder: "Include as much detail as possible and state the steps leading up to the problem. E.g., First I do this, then I do this, then this happens." + validations: + required: true + - type: textarea + id: logs + attributes: + label: Additional log output + description: Attach the file `$HOME/.local/state/dzgui/DZGUI_DEBUG.log` by clicking this area to highlight it and then dragging the file in. + validations: + required: false From 63307abd5227681347b8246b10f9f36800b9bf6a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:25:51 +0900 Subject: [PATCH 012/221] chore: drop unused var --- helpers/funcs | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index c747c82..70e39bb 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -59,7 +59,6 @@ geo_file="$helpers_path/ips.csv" km_helper="$helpers_path/latlon" sums_path="$helpers_path/sums.md5" query_helper="$helpers_path/query_v2.py" -func_helper="$helpers_path/funcs" lan_helper="$helpers_path/lan" #STEAM PATHS From 08c886210618a9a859161e683643099cfea0afa0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:26:18 +0900 Subject: [PATCH 013/221] feat: check steam env vars --- helpers/funcs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helpers/funcs b/helpers/funcs index 70e39bb..7e51b3d 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1270,7 +1270,7 @@ symlinks(){ link="@$encoded_id" mod="${arr[$i]}" logger INFO "Creating link '$game_dir/$link' for '$workshop_dir/$mod'" - [[ $STEAM_LAUNCH -eq 1 ]] && echo "# Creating mod link $((i+1))/${#arr[@]}" + [[ -n $STEAMSCRIPT ]] && echo "# Creating mod link $((i+1))/${#arr[@]}" ln -s "$workshop_dir/$mod" "$game_dir/$link" done } @@ -1285,7 +1285,7 @@ symlinks(){ if [[ ${#links[@]} -eq 0 ]]; then logger INFO "No symlinks present in '$game_dir', creating them" - if [[ $STEAM_LAUNCH -eq 1 ]]; then + if [[ -n $STEAMSCRIPT ]]; then _create_links "${mods[@]}" > >(_pulse) else _create_links "${mods[@]}" @@ -1303,7 +1303,7 @@ symlinks(){ # update missing targets logger INFO "Found ${#hits[@]} unlinked mods" - if [[ $STEAM_LAUNCH -eq 1 ]]; then + if [[ -n $STEAMSCRIPT ]]; then _create_links "${hits[@]}" > >(_pulse) else _create_links "${hits[@]}" From fc6e8ef001992887871cd8f5bfa97ad2e09f386d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:26:56 +0900 Subject: [PATCH 014/221] chore: drop unused env var --- dzgui.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 5d2d48e..e760506 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1007,10 +1007,7 @@ main(){ uninstall && exit 0 fi - if [[ $1 == "--steam" ]] || [[ $1 == "-s" ]]; then - export STEAM_LAUNCH=1 - fi - + set_im_module printf "Initializing setup...\n" From eee65314e8a2fe09dc391ca4425bef8f5323aa98 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:27:22 +0900 Subject: [PATCH 015/221] fix: abstract funcs file path --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index e760506..694616f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -922,14 +922,14 @@ stale_mod_signatures(){ readarray -t old_mod_ids < <(awk -F, '{print $1}' $versions_file) for ((i=0; i<${#old_mod_ids[@]}; ++i)); do if [[ ! -d $workshop_dir/${old_mod_ids[$i]} ]]; then - "$HOME/.local/share/$app_name/helpers/funcs" "align_local" "${old_mod_ids[$i]}" + "$func_helper" "align_local" "${old_mod_ids[$i]}" fi done fi } create_new_links(){ - "$HOME/.local/share/$app_name/helpers/funcs" "update_symlinks" + "$func_helper" "update_symlinks" } initial_setup(){ setup_dirs From eff6450d49d2e9b2c8853adf4d939ec7311dc7b9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:27:52 +0900 Subject: [PATCH 016/221] chore: update checksum --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 694616f..3dfd3cd 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.7 +version=5.7.0-beta.8 #CONSTANTS aid=221100 @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="5a876efacf208d12b5fe761996425412" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="417bd5eaffbefc905a843985c691dc64" + ["funcs"]="3703739856936a5fa11d92a0d2964773" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" From 76e8640476514bcd9f29dcf4928eb5da0127d473 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:28:44 +0900 Subject: [PATCH 017/221] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 332a41e..a13e5f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.8] 2024-02-10 +## Changed +- Drop launch flag and check for invocation through Steam automatically + ## [5.7.0-beta.7] 2024-02-09 ## Changed - Update IP database records for 2025-02 From aaaf653c57df1d137fd1b7626aeefe87f84b51ed Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:31:29 +0900 Subject: [PATCH 018/221] docs: update URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 553e72e..607f7dd 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This overcomes certain limitations in the Linux client and helps prepare the gam Refer to the documentation for installation and setup instructions: -- [GitHub](https://aclist.github.io/dzgui/dzgui.html) +- [GitHub](https://aclist.github.io/dzgui/index.html) - [Mirror (Codeberg)](https://aclist.codeberg.page) From 1b360f84ae51d924383f261d20518e5f1b28baa2 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:10:41 +0900 Subject: [PATCH 019/221] fix: split up batch queries --- CHANGELOG.md | 4 ++++ dzgui.sh | 2 +- helpers/funcs | 9 +++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a13e5f9..6a2b24f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.9] 2024-03-04 +## Fixed +- Livonia server results being dropped from batch queries + ## [5.7.0-beta.8] 2024-02-10 ## Changed - Drop launch flag and check for invocation through Steam automatically diff --git a/dzgui.sh b/dzgui.sh index 3dfd3cd..81f686e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="5a876efacf208d12b5fe761996425412" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="3703739856936a5fa11d92a0d2964773" + ["funcs"]="0d2d7a2b08f1112dc2474ba81a489002" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 7e51b3d..80f45f2 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -452,10 +452,15 @@ get_dist(){ } get_remote_servers(){ params=( - "\\nor\1\map\chernarusplus\\nor\1\map\sakhal" + "\\nor\1\map\chernarusplus\\nor\1\map\sakhal\\nor\1\map\enoch\empty\1\\nor\1\map\namalsk" + "\map\namalsk\empty\1" + "\map\namalsk\noplayers\1" "\map\chernarusplus\empty\1" "\map\chernarusplus\noplayers\1" - "\map\\sakhal" + "\map\\sakhal\empty\1" + "\map\\sakhal\noplayers\1" + "\map\\enoch\empty\1" + "\map\\enoch\noplayers\1" ) local limit=10000 local url="https://api.steampowered.com/IGameServersService/GetServerList/v1/?" From bba793cc527c39daa454307079836e934fc1802a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:11:00 +0900 Subject: [PATCH 020/221] fix: bump version --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 81f686e..a70ab3e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.8 +version=5.7.0-beta.9 #CONSTANTS aid=221100 From afe2882f3bf21e6c728b855da0e916c33c6de88d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 12 Mar 2025 15:14:39 +0900 Subject: [PATCH 021/221] chore: add test ui --- helpers/ui.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index ae28ede..b24839d 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -896,7 +896,6 @@ class ScrollableTree(Gtk.ScrolledWindow): self.treeview = TreeView(is_steam_deck) self.add(self.treeview) - class RightPanel(Gtk.Box): def __init__(self, is_steam_deck): super().__init__(spacing=6) @@ -1582,6 +1581,7 @@ class TreeView(Gtk.TreeView): column_title = "Name" saved_size = data["cols"][column_title] column.set_fixed_width(saved_size) + column.set_expand(True) else: if ("Name" in column_title): column.set_fixed_width(800) @@ -2330,12 +2330,8 @@ class Grid(Gtk.Grid): self._version = "%s %s" %(app_name, sys.argv[2]) self.scrollable_treelist = ScrollableTree(is_steam_deck) - if is_steam_deck is True: - self.scrollable_treelist.set_hexpand(False) - self.scrollable_treelist.set_vexpand(True) - else: - self.scrollable_treelist.set_hexpand(True) - self.scrollable_treelist.set_vexpand(True) + self.scrollable_treelist.set_hexpand(False) + self.scrollable_treelist.set_vexpand(True) self.right_panel = RightPanel(is_steam_deck) self.sel_panel = ModSelectionPanel() @@ -2357,8 +2353,8 @@ class Grid(Gtk.Grid): self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 4, 1) self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) else: - self.attach(self.scrollable_treelist, 0, 0, 7, 5) - self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 7, 1) + self.attach(self.scrollable_treelist, 0, 0, 3, 1) + self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 3, 1) self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) def update_right_statusbar(self): @@ -2438,6 +2434,15 @@ class App(Gtk.Application): self.win = OuterWindow(is_steam_deck, is_game_mode) self.win.set_icon_name("dzgui") + window = self.win.get_window() + screen = window.get_screen() + display = screen.get_display() + monitor = Gdk.Display.get_monitor_at_window(display, screen.get_root_window()) + rect = monitor.get_geometry() + w = rect.width + h = rect.height + self.win.set_size_request((w/3), h/3) + accel = Gtk.AccelGroup() accel.connect(Gdk.KEY_q, Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE, self._halt_window_subprocess) self.win.add_accel_group(accel) From 117814ad61dcd8d9e9c9830685e7b1101be067e5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:34:40 +0900 Subject: [PATCH 022/221] feat: save window size on quit --- helpers/ui.py | 86 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 65 insertions(+), 21 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index b24839d..22274fc 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -50,6 +50,7 @@ helpers_path = '%s/.local/share/dzgui/helpers' %(user_path) log_path = '%s/logs' %(state_path) changelog_path = '%s/CHANGELOG.md' %(state_path) geometry_path = '%s/dzg.cols.json' %(state_path) +res_path = '%s/dzg.res.json' %(state_path) funcs = '%s/funcs' %(helpers_path) mods_temp_file = '%s/dzg.mods_temp' %(cache_path) stale_mods_temp_file = '%s/dzg.stale_mods_temp' %(cache_path) @@ -88,10 +89,10 @@ log_cols = [ ] filters = { "1PP": True, - "3PP": True, "Day": True, - "Night": True, "Empty": False, + "3PP": True, + "Night": True, "Full": False, "Low pop": True, "Non-ASCII": False, @@ -685,7 +686,7 @@ def process_shell_return_code(transient_parent, msg, code, original_input): process_tree_option([treeview.view, RowType.HANDSHAKE], treeview) case 255: spawn_dialog(transient_parent, "Update complete. Please close DZGUI and restart.", Popup.NOTIFY) - Gtk.main_quit() + save_res_and_quit(transient_parent) def process_tree_option(input, treeview): @@ -878,8 +879,20 @@ class OuterWindow(Gtk.Window): if query_config(None, "fullscreen")[0] == "true": self.maximize() - # Hide FilterPanel on main menu + if os.path.isfile(res_path): + with open(res_path, "r") as infile: + try: + data = json.load(infile) + valid_json = True + except json.decoder.JSONDecodeError: + logger.critical("JSON decode error in '%s'" %(geometry_path)) + valid_json = False + + if valid_json: + self.set_default_size(data["res"]["width"], data["res"]["height"]) + self.show_all() + # Hide FilterPanel on main menu self.grid.right_panel.set_filter_visibility(False) self.grid.sel_panel.set_visible(False) self.grid.scrollable_treelist.treeview.grab_focus() @@ -970,7 +983,7 @@ class ButtonBox(Gtk.Box): button.set_opacity(0.6) self.buttons.append(button) button.connect("clicked", self._on_selection_button_clicked) - self.pack_start(button, False, False, True) + self.pack_start(button, False, False, 0) self.buttons[0].set_opacity(1.0) @@ -1042,7 +1055,9 @@ class ButtonBox(Gtk.Box): if context == ButtonType.EXIT: logger.info("Normal user exit") - Gtk.main_quit() + widgets = relative_widget(self) + window = widgets["outer"] + save_res_and_quit(window) return cols = treeview.get_columns() @@ -2434,25 +2449,46 @@ class App(Gtk.Application): self.win = OuterWindow(is_steam_deck, is_game_mode) self.win.set_icon_name("dzgui") - window = self.win.get_window() - screen = window.get_screen() - display = screen.get_display() - monitor = Gdk.Display.get_monitor_at_window(display, screen.get_root_window()) - rect = monitor.get_geometry() - w = rect.width - h = rect.height - self.win.set_size_request((w/3), h/3) accel = Gtk.AccelGroup() accel.connect(Gdk.KEY_q, Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE, self._halt_window_subprocess) self.win.add_accel_group(accel) - GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, Gtk.main_quit) + + GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._halt_window_subprocess) Gtk.main() def _halt_window_subprocess(self, accel_group, window, code, flag): + save_res_and_quit(self.win) self.win.halt_proc_and_quit(self, None) +def save_res_and_quit(window): + if window.props.is_maximized: + return + rect = window.get_size() + + def write_json(rect): + data = {"res": { "width": rect.width, "height": rect.height } } + j = json.dumps(data, indent=2) + with open(res_path, "w") as outfile: + outfile.write(j) + logger.info("Wrote initial column widths to '%s'" %(res_path)) + + if os.path.isfile(res_path): + with open(res_path, "r") as infile: + try: + data = json.load(infile) + data["res"]["width"] = rect.width + data["res"]["height"] = rect.height + with open(res_path, "w") as outfile: + outfile.write(json.dumps(data, indent=2)) + except json.decoder.JSONDecodeError: + logger.critical("JSON decode error in '%s'" %(res_path)) + write_json(rect) + else: + write_json(rect) + + Gtk.main_quit() class ModSelectionPanel(Gtk.Box): def __init__(self): @@ -2621,7 +2657,7 @@ class FilterPanel(Gtk.Box): self.keyword_entry.set_placeholder_text("Filter by keyword") self.keyword_entry.connect("activate", self._on_keyword_enter) self.keyword_entry.connect("key-press-event", self._on_esc_pressed) - + completion = Gtk.EntryCompletion(inline_completion=True) completion.set_text_column(0) completion.set_minimum_key_length(1) @@ -2630,7 +2666,7 @@ class FilterPanel(Gtk.Box): renderer_text = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.END) self.maps_combo = Gtk.ComboBox.new_with_model_and_entry(map_store) self.maps_combo.set_entry_text_column(0) - + # instantiate maps completer entry self.maps_entry = self.maps_combo.get_child() self.maps_entry.set_completion(completion) @@ -2642,12 +2678,20 @@ class FilterPanel(Gtk.Box): self.maps_combo.connect("changed", self._on_map_changed) self.maps_combo.connect("key-press-event", self._on_esc_pressed) - self.pack_start(self.filters_label, False, False, True) - self.pack_start(self.keyword_entry, False, False, True) - self.pack_start(self.maps_combo, False, False, True) + self.pack_start(self.filters_label, False, False, 0) + self.pack_start(self.keyword_entry, False, False, 0) + self.pack_start(self.maps_combo, False, False, 0) + button_grid = Gtk.Grid() + row = 1 + col = 0 for i, check in enumerate(checks[0:]): - self.pack_start(checks[i], False, False, True) + col = col + 1 + if (col > 3): + row = row + 1 + col = 1 + button_grid.attach(checks[i], col, row, 1, 1) + self.pack_start(button_grid, False, False, 0) def _on_map_entry_keypress(self, entry, event): match event.keyval: From 35804df4dfb66c1f62447c3552a64b2e9288d017 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:36:52 +0900 Subject: [PATCH 023/221] fix: move call to other func def --- helpers/ui.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 22274fc..6d07f30 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -899,7 +899,7 @@ class OuterWindow(Gtk.Window): def halt_proc_and_quit(self, window, event): self.grid.terminate_treeview_process() - Gtk.main_quit() + save_res_and_quit(self.win) class ScrollableTree(Gtk.ScrolledWindow): @@ -2459,7 +2459,6 @@ class App(Gtk.Application): Gtk.main() def _halt_window_subprocess(self, accel_group, window, code, flag): - save_res_and_quit(self.win) self.win.halt_proc_and_quit(self, None) def save_res_and_quit(window): From df872fa4e7f3f0d23c9c369bd24d25205e02fe0a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:47:46 +0900 Subject: [PATCH 024/221] fix: send proper params to halt funcs --- helpers/ui.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 6d07f30..622bff3 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -899,7 +899,7 @@ class OuterWindow(Gtk.Window): def halt_proc_and_quit(self, window, event): self.grid.terminate_treeview_process() - save_res_and_quit(self.win) + save_res_and_quit(window) class ScrollableTree(Gtk.ScrolledWindow): @@ -2455,11 +2455,14 @@ class App(Gtk.Application): self.win.add_accel_group(accel) - GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._halt_window_subprocess) + GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._catch_sigint) Gtk.main() + def _catch_sigint(self): + self.win.halt_proc_and_quit(self.win, None) + def _halt_window_subprocess(self, accel_group, window, code, flag): - self.win.halt_proc_and_quit(self, None) + self.win.halt_proc_and_quit(self.win, None) def save_res_and_quit(window): if window.props.is_maximized: From 52961755ffedaa00d6c14517e99e827dc5b0befa Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:09:51 +0900 Subject: [PATCH 025/221] fix: quit signal being blocked in fullscreen --- helpers/ui.py | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 622bff3..6412f4f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -875,21 +875,26 @@ class OuterWindow(Gtk.Window): self.add(self.grid) if is_game_mode is True: self.fullscreen() + elif query_config(None, "fullscreen")[0] == "true": + logger.info("User preference for 'fullscreen' is 'true'") + self.maximize() else: - if query_config(None, "fullscreen")[0] == "true": - self.maximize() - - if os.path.isfile(res_path): - with open(res_path, "r") as infile: - try: - data = json.load(infile) - valid_json = True - except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(geometry_path)) - valid_json = False - - if valid_json: - self.set_default_size(data["res"]["width"], data["res"]["height"]) + if os.path.isfile(res_path): + with open(res_path, "r") as infile: + try: + data = json.load(infile) + valid_json = True + except json.decoder.JSONDecodeError: + logger.critical("JSON decode error in '%s'" %(geometry_path)) + valid_json = False + else: + valid_json = False + if valid_json: + res = data["res"] + w = res["width"] + h = res["height"] + logger.info("Restoring window size to %s,%s" %(w,h)) + self.set_default_size(w, h) self.show_all() # Hide FilterPanel on main menu @@ -2466,6 +2471,7 @@ class App(Gtk.Application): def save_res_and_quit(window): if window.props.is_maximized: + Gtk.main_quit() return rect = window.get_size() @@ -2474,7 +2480,7 @@ def save_res_and_quit(window): j = json.dumps(data, indent=2) with open(res_path, "w") as outfile: outfile.write(j) - logger.info("Wrote initial column widths to '%s'" %(res_path)) + logger.info("Wrote initial window size to '%s'" %(res_path)) if os.path.isfile(res_path): with open(res_path, "r") as infile: From 22758938bd40bf6e5bd5b3eba2fe03db7625133c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:12:44 +0900 Subject: [PATCH 026/221] chore: bump ui version --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 6412f4f..1d3647d 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -17,7 +17,7 @@ import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk, GLib, Gdk, GObject, Pango -# 5.6.0 +# 5.7.0 app_name = "DZGUI" cache = {} From 2e2b738ca66eb296deb18d55176a35552f318d5a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:22:03 +0900 Subject: [PATCH 027/221] fix: use same padding on all devices --- helpers/ui.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 1d3647d..4baeea9 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -942,8 +942,7 @@ class RightPanel(Gtk.Box): self.question_button.connect("clicked", self._on_button_clicked) self.pack_start(self.debug_toggle, False, True, 0) - if is_steam_deck is False: - self.pack_start(self.question_button, False, True, 0) + self.pack_start(self.question_button, False, True, 0) def _on_button_toggled(self, button, command): grid = self.get_parent() @@ -2368,14 +2367,9 @@ class Grid(Gtk.Grid): self.bar.add(self.status_right_label) self.update_right_statusbar() - if is_steam_deck is True: - self.attach(self.scrollable_treelist, 0, 0, 4, 1) - self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 4, 1) - self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) - else: - self.attach(self.scrollable_treelist, 0, 0, 3, 1) - self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 3, 1) - self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) + self.attach(self.scrollable_treelist, 0, 0, 3, 1) + self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 3, 1) + self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) def update_right_statusbar(self): config_vals.clear() From 4cbffaf3ffdf7779ec4469932ee1ad3c2c431d32 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:31:44 +0900 Subject: [PATCH 028/221] chore: update checksums --- CHANGELOG.md | 10 ++++++++++ dzgui.sh | 4 ++-- helpers/ui.py | 4 +--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a2b24f..4ef6c00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [5.7.0-beta.10] 2024-03-15 +## Added +- Restore application size on subsequent startup + +## Fixed +- Grid scaling causes table to exceeds bounds of display viewport +- Window exceeds taskbar on Steam Deck +## Changed +- Packed filter checkbox buttons into a 3x3 grid + ## [5.7.0-beta.9] 2024-03-04 ## Fixed - Livonia server results being dropped from batch queries diff --git a/dzgui.sh b/dzgui.sh index a70ab3e..6e4d650 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.9 +version=5.7.0-beta.10 #CONSTANTS aid=221100 @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="5a876efacf208d12b5fe761996425412" + ["ui.py"]="dfec256412be2bfb83d69ad873f244e1" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="0d2d7a2b08f1112dc2474ba81a489002" diff --git a/helpers/ui.py b/helpers/ui.py index 4baeea9..7ef7db8 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2463,6 +2463,7 @@ class App(Gtk.Application): def _halt_window_subprocess(self, accel_group, window, code, flag): self.win.halt_proc_and_quit(self.win, None) + def save_res_and_quit(window): if window.props.is_maximized: Gtk.main_quit() @@ -2514,7 +2515,6 @@ class ModSelectionPanel(Gtk.Box): button.connect("clicked", self._on_button_clicked) self.pack_start(button, False, True, 0) - def initialize(self): l = len(self.get_children()) last = self.get_children()[l-1] @@ -2526,7 +2526,6 @@ class ModSelectionPanel(Gtk.Box): case "Unhighlight stale": i.set_label("Highlight stale") - def _on_button_clicked(self, button): self.active_button = button label = button.get_label() @@ -2555,7 +2554,6 @@ class ModSelectionPanel(Gtk.Box): path = Gtk.TreePath(i) treeview.get_selection().select_path(path) - def _remove_last_button(self): children = self.get_children() l = len(children) From acf43b159180461e7c40f4951b2ef4969d25b739 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:40:31 +0900 Subject: [PATCH 029/221] chore: remove newline --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ef6c00..6759ca8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,6 @@ ## [5.7.0-beta.10] 2024-03-15 ## Added - Restore application size on subsequent startup - ## Fixed - Grid scaling causes table to exceeds bounds of display viewport - Window exceeds taskbar on Steam Deck From 1b7254003aeaa4b9aacf81dfd9176d7720a1f7ee Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:50:25 +0900 Subject: [PATCH 030/221] chore: update ip db checksum --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 6e4d650..74f5cb7 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -639,7 +639,7 @@ fetch_helpers_by_sum(){ } fetch_geo_file(){ # for binary releases - local geo_sum="9824e9b9a75a4830a2423932cc188b06" + local geo_sum="76ec9e25b92022de5d2e9c41baf88772" local km_sum="b038fdb8f655798207bd28de3a004706" local gzip="$helpers_path/ips.csv.gz" if [[ ! -f $geo_file ]] || [[ $(get_hash $geo_file) != $geo_sum ]]; then From 05e897dd31ab5de1ef643bac623e8139ef6d8875 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:51:54 +0900 Subject: [PATCH 031/221] chore: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6759ca8..db373d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Window exceeds taskbar on Steam Deck ## Changed - Packed filter checkbox buttons into a 3x3 grid +- Updated IP database to 2025-03 records ## [5.7.0-beta.9] 2024-03-04 ## Fixed From 3c235e22edea8e0909ddf8c03b4c57470d815b6b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Mar 2025 17:43:28 +0900 Subject: [PATCH 032/221] chore: update changelog --- CHANGELOG.md | 1 + dzgui.sh | 4 ++-- helpers/funcs | 14 ++++++++++---- helpers/ui.py | 8 +++++--- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db373d1..5bdbc03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ## Fixed - Grid scaling causes table to exceeds bounds of display viewport - Window exceeds taskbar on Steam Deck +- Reduce possibility of timeouts when pinging servers ## Changed - Packed filter checkbox buttons into a 3x3 grid - Updated IP database to 2025-03 records diff --git a/dzgui.sh b/dzgui.sh index 74f5cb7..41cf671 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,10 +587,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="dfec256412be2bfb83d69ad873f244e1" + ["ui.py"]="121f27e51c945d78e97b77397d3c5173" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="0d2d7a2b08f1112dc2474ba81a489002" + ["funcs"]="fd7c23e39a70099a7f0006afd8919508" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 80f45f2..4f7f02d 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -784,12 +784,18 @@ logger(){ } test_ping(){ shift + local time local ip="$1" local qport="$2" - local res - res=$(ping -c1 -4 -W0.5 $1 | grep time= | awk -F= '{print $4}') - [[ ! $? -eq 0 ]] && res="Timed out" - printf "%s" "$res" + log "$ip" + log "$qport" + res=$(a2s $ip $qport info) + if [[ -z $res ]]; then + time="Timed out" + else + time=$(<<< "$res" jq -r '.[].ping') + fi + printf "%s" "$time" } show_server_modlist(){ shift diff --git a/helpers/ui.py b/helpers/ui.py index 7ef7db8..1995e83 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1091,12 +1091,13 @@ class ButtonBox(Gtk.Box): class CalcDist(multiprocessing.Process): - def __init__(self, widget, addr, result_queue, cache): + def __init__(self, widget, addr, qport, result_queue, cache): super().__init__() self.widget = widget self.result_queue = result_queue self.addr = addr + self.qport = str(qport) self.ip = addr.split(':')[0] def run(self): @@ -1105,7 +1106,7 @@ class CalcDist(multiprocessing.Process): self.result_queue.put([self.addr, cache[self.addr][0], cache[self.addr][1]]) return proc = call_out(self.widget, "get_dist", self.ip) - proc2 = call_out(self.widget, "test_ping", self.ip) + proc2 = call_out(self.widget, "test_ping", self.ip, self.qport) km = proc.stdout ping = proc2.stdout self.result_queue.put([self.addr, km, ping]) @@ -1332,6 +1333,7 @@ class TreeView(Gtk.TreeView): if self.view == WindowContext.TABLE_API or self.view == WindowContext.TABLE_SERVER: addr = self.get_column_at_index(7) + qport = self.get_column_at_index(8) if addr is None: server_tooltip[0] = format_tooltip() grid.update_statusbar(server_tooltip[0]) @@ -1345,7 +1347,7 @@ class TreeView(Gtk.TreeView): grid.update_statusbar(tooltip) return self.emit("on_distcalc_started") - self.current_proc = CalcDist(self, addr, self.queue, cache) + self.current_proc = CalcDist(self, addr, qport, self.queue, cache) self.current_proc.start() else: tooltip = format_metadata(row_sel) From ec0e276100b480788e4c5f7307f62579e58c7392 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:00:41 +0900 Subject: [PATCH 033/221] chore: drop logging --- dzgui.sh | 2 +- helpers/funcs | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 41cf671..780ee85 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="121f27e51c945d78e97b77397d3c5173" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="fd7c23e39a70099a7f0006afd8919508" + ["funcs"]="deaeb053822583329c0a77c7a048af4c" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 4f7f02d..707c3af 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -787,8 +787,6 @@ test_ping(){ local time local ip="$1" local qport="$2" - log "$ip" - log "$qport" res=$(a2s $ip $qport info) if [[ -z $res ]]; then time="Timed out" From 10c8555ddc31ac5603e87fea3f045a23f673bdab Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:02:15 +0900 Subject: [PATCH 034/221] fix: local var --- dzgui.sh | 2 +- helpers/funcs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 780ee85..24b65b1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="121f27e51c945d78e97b77397d3c5173" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="deaeb053822583329c0a77c7a048af4c" + ["funcs"]="f6e8b113e586a4bb2ea40c9ee56ebc95" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 707c3af..57e87f5 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -785,6 +785,7 @@ logger(){ test_ping(){ shift local time + local res local ip="$1" local qport="$2" res=$(a2s $ip $qport info) From 38de9a8e9dbd783062e4abfa021f6f8291f3fe3b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:04:10 +0900 Subject: [PATCH 035/221] fix: interpolate file name --- dzgui.sh | 2 +- helpers/ui.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 24b65b1..fa96958 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="121f27e51c945d78e97b77397d3c5173" + ["ui.py"]="f6e8b113e586a4bb2ea40c9ee56ebc95" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="f6e8b113e586a4bb2ea40c9ee56ebc95" diff --git a/helpers/ui.py b/helpers/ui.py index 1995e83..4180957 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -885,7 +885,7 @@ class OuterWindow(Gtk.Window): data = json.load(infile) valid_json = True except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(geometry_path)) + logger.critical("JSON decode error in '%s'" %(res_path)) valid_json = False else: valid_json = False From 406943bc12a2e3cd6c10856e760eb657324b7cab Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 21 Mar 2025 02:15:03 +0900 Subject: [PATCH 036/221] fix: reduce startup time --- CHANGELOG.md | 4 ++++ dzgui.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bdbc03..25e90e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.11] 2024-03-20 +## Fixed +- Reduce startup time when testing remote APIs + ## [5.7.0-beta.10] 2024-03-15 ## Added - Restore application size on subsequent startup diff --git a/dzgui.sh b/dzgui.sh index fa96958..b812318 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.10 +version=5.7.0-beta.11 #CONSTANTS aid=221100 @@ -882,7 +882,7 @@ test_connection(){ local res2 local str="No connection could be established to the remote server" hr=( - ["steampowered.com"]="https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=$steam_api" + ["steampowered.com"]="https://api.steampowered.com/IGameServersService/GetServerList/v1/?filter=\appid\221100&limit=10&key=$steam_api" ["github.com"]="https://github.com/$author" ["codeberg.org"]="https://codeberg.org/$author" ) From 5ba23249bfb91721c97e4faf32d7ed643c163013 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 5 Apr 2025 19:16:28 +0900 Subject: [PATCH 037/221] chore: backports from stable --- CHANGELOG.md | 4 ++++ dzgui.sh | 9 +-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25e90e2..70b5244 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.12] 2024-04-04 +## Dropped +- Removed extraneous pre-boot API checks that could cause error messages to be printed if the user had not set up an API key yet + ## [5.7.0-beta.11] 2024-03-20 ## Fixed - Reduce startup time when testing remote APIs diff --git a/dzgui.sh b/dzgui.sh index b812318..a36f3db 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.11 +version=5.7.0-beta.12 #CONSTANTS aid=221100 @@ -876,21 +876,14 @@ get_response_code(){ curl -Ls -I -o /dev/null -w "%{http_code}" "$url" } test_connection(){ - source "$config_file" declare -A hr local res1 local res2 local str="No connection could be established to the remote server" hr=( - ["steampowered.com"]="https://api.steampowered.com/IGameServersService/GetServerList/v1/?filter=\appid\221100&limit=10&key=$steam_api" ["github.com"]="https://github.com/$author" ["codeberg.org"]="https://codeberg.org/$author" ) - # steam API is mandatory, except on initial setup - if [[ -n $steam_api ]]; then - res=$(get_response_code "${hr["steampowered.com"]}") - [[ $res -ne 200 ]] && raise_error_and_quit "$str ("steampowered.com")" - fi res=$(get_response_code "${hr["github.com"]}") if [[ $res -ne 200 ]]; then From 7ec8d6c3bfd80212bfdea98127295cb5ef8f8873 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 17 Apr 2025 21:39:09 +0900 Subject: [PATCH 038/221] chore: update checksum --- CHANGELOG.md | 4 ++++ dzgui.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70b5244..6c11086 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.7.0-beta.13] 2024-04-17 +## Fixed +- Updated checksum for UI helper file + ## [5.7.0-beta.12] 2024-04-04 ## Dropped - Removed extraneous pre-boot API checks that could cause error messages to be printed if the user had not set up an API key yet diff --git a/dzgui.sh b/dzgui.sh index a36f3db..ac8a323 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.12 +version=5.7.0-beta.13 #CONSTANTS aid=221100 @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="f6e8b113e586a4bb2ea40c9ee56ebc95" + ["ui.py"]="a6fdbf3e3eb92b7bc78e6ae23882b10b" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="f6e8b113e586a4bb2ea40c9ee56ebc95" From 99fbc7a2cc07fbe7bc4645714c27afd140886665 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 17 Apr 2025 22:14:52 +0900 Subject: [PATCH 039/221] chore: update IP checksum --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index ac8a323..e35c4da 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.0-beta.13 +version=5.7.1-beta.1 #CONSTANTS aid=221100 @@ -639,7 +639,7 @@ fetch_helpers_by_sum(){ } fetch_geo_file(){ # for binary releases - local geo_sum="76ec9e25b92022de5d2e9c41baf88772" + local geo_sum="83bf7655a4197214b4be73dfa9a7b319" local km_sum="b038fdb8f655798207bd28de3a004706" local gzip="$helpers_path/ips.csv.gz" if [[ ! -f $geo_file ]] || [[ $(get_hash $geo_file) != $geo_sum ]]; then From e18d203449b3f6fb3db3e7d3d22bef24234ff049 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 5 Jun 2025 17:25:14 +0900 Subject: [PATCH 040/221] feat: auto fetch geolocation records --- CHANGELOG.md | 4 ++ dzgui.sh | 130 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 117 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c11086..976ff4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [5.8.0-beta.1] 2025-06-05 +## Added +- Automatically fetch geolocation records + ## [5.7.0-beta.13] 2024-04-17 ## Fixed - Updated checksum for UI helper file diff --git a/dzgui.sh b/dzgui.sh index e35c4da..a5c5449 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.7.1-beta.1 +version=5.8.1-beta.1 #CONSTANTS aid=221100 @@ -49,10 +49,9 @@ freedesktop_path="$HOME/.local/share/applications" #HELPERS ui_helper="$helpers_path/ui.py" -geo_file="$helpers_path/ips.csv" km_helper="$helpers_path/latlon" -sums_path="$helpers_path/sums.md5" func_helper="$helpers_path/funcs" +geo_helper="$helpers_path/ips.csv" #REMOTE remote_host=gh @@ -63,7 +62,6 @@ stable_url="$url_prefix/dzgui" testing_url="$url_prefix/testing" releases_url="https://github.com/$author/$repo/releases/download/browser" km_helper_url="$releases_url/latlon" -geo_file_url="$releases_url/ips.csv.gz" set_im_module(){ @@ -637,18 +635,8 @@ fetch_helpers_by_sum(){ done return 0 } -fetch_geo_file(){ - # for binary releases - local geo_sum="83bf7655a4197214b4be73dfa9a7b319" +fetch_km_helper(){ local km_sum="b038fdb8f655798207bd28de3a004706" - local gzip="$helpers_path/ips.csv.gz" - if [[ ! -f $geo_file ]] || [[ $(get_hash $geo_file) != $geo_sum ]]; then - local res=$(get_response_code "$geo_file_url") - [[ $res -ne 200 ]] && raise_error_and_quit "Remote resource unavailable: '$geo_file_url'" - curl -Ls "$geo_file_url" > "$gzip" - #force overwrite - gunzip -f "$gzip" - fi if [[ ! -f $km_helper ]] || [[ $(get_hash $km_helper) != $km_sum ]]; then local res=$(get_response_code "$km_helper_url") [[ $res -ne 200 ]] && raise_error_and_quit "Remote resource unavailable: '$km_helper_url'" @@ -656,10 +644,119 @@ fetch_geo_file(){ chmod +x "$km_helper" fi } +get_response_code(){ + local url="$1" + curl -Ls -I -o /dev/null -w "%{http_code}" "$url" +} +raise_error_and_quit(){ + echo "$1" + exit 1 +} +fetch_ip_db(){ + parse_dl_url(){ + curl -Ls "$url" \ + | grep "csv.gz" \ + | awk -F"['']" '{print $2}' + } + + parse_dl_url_date(){ + local url="$1" + <<< "$url" \ + awk -F/ '{print $5}' \ + | awk -F"dbip-city-lite-" '{print $2}' \ + | awk -F'.csv.gz' '{print $1}' + } + + fetch(){ + logger INFO "Triggering fetch routine" + local url="$1" + + curl -Ls "$url" > "$base_file" + if [[ $? -ne 0 ]]; then + logger WARN "Abnormal exit while accessing '$url'" + return + fi + + gunzip -f "$base_file" + if [[ $? -ne 0 ]]; then + rm "$base_file" + logger WARN "Abnormal exit while unpacking gzip '$base_file'" + return + fi + + < "$extracted_file" grep -vE "^[a-z0-9]{4}:" | grep -v "::" > "$ip_file" + if [[ $? -ne 0 ]]; then + logger WARN "Abnormal exit while parsing IPs" + return + fi + rm "${state_path}/${month}.csv" + + readarray -t records < <(cat $ip_file | awk -F, 'NR==1 {print $1} END {print $1}') + if [[ ${records[0]} != "0.0.0.0" ]] && [[ ${records[1]} != "224.0.0.0" ]]; then + logger WARN "Anchor records missing in '$ip_file', possibly malformed" + rm "$ip_file" + return + fi + + mv "$ip_file" "$geo_helper" + if [[ $? -ne 0 ]]; then + logger WARN "Abnormal exit while moving '$ip_file' to '$helpers_path'" + rm "$ip_file" + fi + + echo "$month" > "$month_file" + logger INFO "Wrote '$month' to stub '$month_file'" + logger INFO "Updated '$ip_file'" + } + + local url="https://db-ip.com/db/download/ip-to-city-lite" + local month_file="${state_path}/.month" + local ip_file="${state_path}/ips.csv" + + # test main url + local res=$(get_response_code "$url") + if [[ $res -ne 200 ]]; then + logger WARN "Failed to retrieve remote resource: '$url' ($res)" + return + fi + logger INFO "Resolved remote URL: '$url'" + + # test dl url + local dl_url="$(parse_dl_url)" + local res=$(get_response_code "$dl_url") + if [[ $res -ne 200 ]]; then + logger WARN "Remote resource unavailable: '$dl_url' ($res)" + return + fi + logger INFO "Resolved download URL: '$dl_url'" + + local month=$(parse_dl_url_date "$dl_url") + local base_file="${state_path}/${month}.csv.gz" + local extracted_file="${state_path}/${month}.csv" + + # no stub file + if [[ ! -f $month_file ]]; then + logger WARN "No stub file '$month_file' present" + fetch "$dl_url" + return + fi + + # local needs update + local last_month=$(< "$month_file") + if [[ $last_month != "$month" ]]; then + logger WARN "Local stub '$last_month' does not match remote stub '$month'" + fetch "$dl_url" + return + fi + + # if stub is same date, abort + logger INFO "Local stub '$last_month' is identical to remote, skipping" +} fetch_helpers(){ fetch_a2s fetch_dzq - fetch_geo_file + fetch_km_helper + fetch_ip_db fetch_helpers_by_sum [[ ! -f $share_path/icon.png ]] && freedesktop_dirs fetch_icons @@ -899,7 +996,6 @@ test_connection(){ stable_url="$url_prefix/dzgui" testing_url="$url_prefix/testing" km_helper_url="$releases_url/latlon" - geo_file_url="$releases_url/ips.csv.gz" fi } legacy_cols(){ From ede7f345dab7f1ad6a31d693f7b7363fda02e1c2 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 5 Jun 2025 17:29:06 +0900 Subject: [PATCH 041/221] fix: change date in changelog --- CHANGELOG.md | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 976ff4f..bef3d3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,20 +3,26 @@ ## [5.8.0-beta.1] 2025-06-05 ## Added - Automatically fetch geolocation records +## Fixed +- Corrected erroneous 2024 date in prior changelog entries -## [5.7.0-beta.13] 2024-04-17 +## [5.7.1-beta.1] 2025-04-17 +## Changed +- Updated geolocation records + +## [5.7.0-beta.13] 2025-04-17 ## Fixed - Updated checksum for UI helper file -## [5.7.0-beta.12] 2024-04-04 +## [5.7.0-beta.12] 2025-04-04 ## Dropped - Removed extraneous pre-boot API checks that could cause error messages to be printed if the user had not set up an API key yet -## [5.7.0-beta.11] 2024-03-20 +## [5.7.0-beta.11] 2025-03-20 ## Fixed - Reduce startup time when testing remote APIs -## [5.7.0-beta.10] 2024-03-15 +## [5.7.0-beta.10] 2025-03-15 ## Added - Restore application size on subsequent startup ## Fixed @@ -27,44 +33,44 @@ - Packed filter checkbox buttons into a 3x3 grid - Updated IP database to 2025-03 records -## [5.7.0-beta.9] 2024-03-04 +## [5.7.0-beta.9] 2025-03-04 ## Fixed - Livonia server results being dropped from batch queries -## [5.7.0-beta.8] 2024-02-10 +## [5.7.0-beta.8] 2025-02-10 ## Changed - Drop launch flag and check for invocation through Steam automatically -## [5.7.0-beta.7] 2024-02-09 +## [5.7.0-beta.7] 2025-02-09 ## Changed - Update IP database records for 2025-02 -## [5.7.0-beta.6] 2024-01-10 +## [5.7.0-beta.6] 2025-01-10 ## Fixed - Resolve regression introduced with IP resolution feature in 13c6813 -## [5.7.0-beta.5] 2024-01-10 +## [5.7.0-beta.5] 2025-01-10 ## Changed - Stricter redacting of usernames (again) -## [5.7.0-beta.4] 2024-01-10 +## [5.7.0-beta.4] 2025-01-10 ## Fixed - Clerical hotfix -## [5.7.0-beta.3] 2024-01-10 +## [5.7.0-beta.3] 2025-01-10 ## Changed - Support legacy jq syntax for Ubuntu variants -## [5.7.0-beta.2] 2024-01-07 +## [5.7.0-beta.2] 2025-01-07 ## Fixed - Stricter redacting of usernames - Omit nested directories when traversing symlinks -## [5.7.0-beta.1] 2024-01-07 +## [5.7.0-beta.1] 2025-01-07 ### Changed - Normalize version number -## [5.6.0-beta.21] 2024-01-06 +## [5.6.0-beta.21] 2025-01-06 ### Added - Add in-app documentation link to Codeberg mirror - Hover tooltips to most buttons From 02105807fbc7852ca7c392d798306fa3999701a3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 5 Jun 2025 17:31:59 +0900 Subject: [PATCH 042/221] fix: version number --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index a5c5449..62ae41f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.8.1-beta.1 +version=5.8.0-beta.1 #CONSTANTS aid=221100 From 169f4c051d170a8adb772e6b1e81c729f83ca197 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 5 Jun 2025 17:50:11 +0900 Subject: [PATCH 043/221] feat: add code of conduct --- CODE_OF_CONDUCT.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..c3838f0 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,34 @@ +# Preamble +This project is free and open source software (FOSS) that is improved upon through the collaborative efforts of its community. + +To foster a collegial and productive atmosphere, all interactions with this project and its members shall be subject to these standards. + +"Members" refers to all project maintainers, contributors, developers, and end-users. +Bear in mind that members may come from different countries, age groups, and backgrounds, and have differing experience levels. + +# Standards +- Do not engage in antagonistic, offensive, discriminatory, threatening, or inflammatory behavior or trolling towards other members under any circumstances. +- Engage in professional communication and stay on topic. Keep banter and jokes to a minimum, as they are liable to be misconstrued. +- Do not post offensive or inflammatory off-site content, or content violating the above standards or the terms of service of this site. +- Do not post spam. The site operator implements anti-spam measures that may lead to your account being revoked. +- While this project relates to the DayZ computer game, it is not a forum for non-technical discussion about the game, or a place to post unsolicited links. +- Do not use images, emoji reactions, or other non-verbal gags as justification for skirting the above standards. + +# Off-site content +From time to time, it may be necessary to include off-site reference material or links. Use discretion when selecting this content and provide +the minimum necessary for a technical discussion of the matter. Do not willfully include content that violates the above standards. + +# Enforcement +Violations of the above standards will be subject to moderation decisions. + +Project maintainers reserve the right to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are +not aligned with these standards, and will communicate reasons for moderation decisions when appropriate. + +Depending on the nature of the violation, or if the violation is not corrected after a warning has been issued, the user may be permanently barred from further interaction with the project. + +# Technical support +This project is free software, but this does not imply a guarantee of free, unlimited tech support and troubleshooting in perpetuity. +The software is provided as-is, and no warranty is made as to its fitness for a given purpose or that it is free from defects. + +Project members volunteer their time. Do not disparage other members when they attempt to assist you. +Be aware that if you cannot provide enough information when filing a ticket, this may lead to the ticket being closed as non-actionable. From 133966ef36c62fae3395ca1babb7e9dc91ba402c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 6 Jul 2025 12:11:56 +0900 Subject: [PATCH 044/221] feat: filter official --- dzgui.sh | 6 +++--- helpers/funcs | 19 ++++++++++++++++++- helpers/ui.py | 11 +++++++---- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 62ae41f..a8696a1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.8.0-beta.1 +version=5.8.0-beta.2 #CONSTANTS aid=221100 @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="a6fdbf3e3eb92b7bc78e6ae23882b10b" + ["ui.py"]="ad3433f2c2d1ca6dc1d6c88912a5bb62" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="f6e8b113e586a4bb2ea40c9ee56ebc95" + ["funcs"]="942902d9c38c8d675b5e48a7b7a34d93" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 57e87f5..8005309 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -605,6 +605,20 @@ filter_servers(){ <<< "$filtered" awk -F$separator '!seen[$1]++' fi } + filter_official(){ + if [[ ${filters[*]} =~ Official ]]; then + echo -n "$filtered" + else + <<< "$filtered" awk -F$separator '$10 == "Community"' + fi + } + filter_community(){ + if [[ ${filters[*]} =~ Unoffic ]]; then + echo -n "$filtered" + else + <<< "$filtered" awk -F$separator '$10 == "Official"' + fi + } filtered=$(filter_perspective) filtered=$(filter_full) @@ -615,6 +629,8 @@ filter_servers(){ filtered=$(filter_ascii) filtered=$(filter_duplicates) filtered=$(filter_keyword) + filtered=$(filter_official) + filtered=$(filter_community) if [[ -z "$filtered" ]]; then logger WARN "Filter result is empty" @@ -652,7 +668,8 @@ parse_server_json(){ "\(.max_players)␞" + "\(if .gametype == null then "0" elif .gametype|split("lqs")[1] == null then "0" else .gametype|split("lqs")[1]|split(",")[0] end)␞" + "\(.addr|split(":")[0]):\(if .gameport == null then "XXXX" else .gameport end)␞" + - "\(.addr|split(":")[1])" + "\(.addr|split(":")[1])␞" + + "\(if .gametype == null then "null" else (.gametype|split(",")|if any(. == "external") then "Community" else "Official" end) end)" ' | sort -k1 } align_versions_file(){ diff --git a/helpers/ui.py b/helpers/ui.py index 4180957..c2cfc3b 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -38,7 +38,7 @@ mod_store = Gtk.ListStore(str, str, str, float, str) #cf. log_cols log_store = Gtk.ListStore(str, str, str, str) #cf. browser_cols -server_store = Gtk.ListStore(str, str, str, str, int, int, int, str, int) +server_store = Gtk.ListStore(str, str, str, str, int, int, int, str, int, str) default_tooltip = "Select a row to see its detailed description" server_tooltip = [None, None] @@ -96,7 +96,9 @@ filters = { "Full": False, "Low pop": True, "Non-ASCII": False, - "Duplicate": False + "Duplicate": False, + "Official": True, + "Unoffic.": True, } @@ -553,7 +555,7 @@ def parse_server_rows(data): lines = data.stdout.splitlines() reader = csv.reader(lines, delimiter=delimiter) try: - rows = [[row[0], row[1], row[2], row[3], int(row[4]), int(row[5]), int(row[6]), row[7], int(row[8])] for row in reader if row] + rows = [[row[0], row[1], row[2], row[3], int(row[4]), int(row[5]), int(row[6]), row[7], int(row[8]), row[9]] for row in reader if row] except IndexError: return 1 for row in rows: @@ -1609,7 +1611,8 @@ class TreeView(Gtk.TreeView): if (column_title == "Map"): column.set_fixed_width(300) - self.append_column(column) + if i != 10: + self.append_column(column) self.update_first_col(mode.dict["label"]) From 4c504a7bd975d3c0bf6422d5db2ee033e4645b45 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 6 Jul 2025 12:22:12 +0900 Subject: [PATCH 045/221] chore: update versions --- CHANGELOG.md | 6 ++++++ dzgui.sh | 4 ++-- helpers/funcs | 2 +- helpers/ui.py | 1 - 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bef3d3a..e93d3ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [5.8.0-beta.2] 2025-07-06 +## Added +- Filter servers by official/unofficial status +## Changed +- Updated internal versioning of helper files + ## [5.8.0-beta.1] 2025-06-05 ## Added - Automatically fetch geolocation records diff --git a/dzgui.sh b/dzgui.sh index a8696a1..05505d4 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="ad3433f2c2d1ca6dc1d6c88912a5bb62" + ["ui.py"]="f128a97e744e9e11036d707198feb8a8" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="942902d9c38c8d675b5e48a7b7a34d93" + ["funcs"]="94287c75a5ae0a06a95dd439711e6fba" ["lan"]="c62e84ddd1457b71a85ad21da662b9af" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 8005309..31b5f59 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version=5.6.0 +version="5.8.0" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index c2cfc3b..e167277 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -17,7 +17,6 @@ import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk, GLib, Gdk, GObject, Pango -# 5.7.0 app_name = "DZGUI" cache = {} From bc712e926d76a3304bcba837e1b5fa4ac13cd0d8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 00:37:59 +0900 Subject: [PATCH 046/221] chore: 6.0.0 beta prerelease --- CHANGELOG.md | 35 + dzgui.sh | 11 +- helpers/funcs | 30 +- helpers/servers.py | 179 ++ helpers/ui.py | 5103 +++++++++++++++++++++++++++----------------- 5 files changed, 3339 insertions(+), 2019 deletions(-) create mode 100644 helpers/servers.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e93d3ce..4804309 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Changelog +## [6.0.0-beta.1] 2025-07-25 +## Added +- Additional validation on entry dialogs to prevent submitting empty text +- Added "Return to main menu" button to dialog windows when failing to load server table +- Speed up load time of server tables +- More robust threading and cache system when filtering servers +- Filter by modded servers +- Refresh server ping context menu and hotkey +- Disable "show mods" context menu if server has no mods +- Breadcrumbs showing current menu context to top of window +- 0, minus, and backslash keybindings for filter toggles +- Dedicated changelog page +- Dedicated keybindings page +- Vim-style navigation keybindings + +## Fixed +- Entry dialog sensitivity when validating API keys +- Normalized buttons in dialogs and restored proper padding +- GTK errors being emitted to stdout when inserting debug table +- Suppress errors during pre-boot checks when mods are not installed +- Centered filter checkboxes within panel +- Do not pop unhighlight/select stale buttons if no stale mods exist +- Improved keybinding interaction with side panels + +## Changed +- Reduced global API cooldown from 60s to 30s +- Clarify dialog messages when DayZ path could not be found +- Auto-focus first item when opening context menus +- Removed low opacity setting on side buttons when in a different context +- Refactored BM API key validation to account for new key format +- Do not trigger global API cooldown if no LAN/favorite servers are found +- Suppress typeahead search in mod dialogs + +## Dropped + ## [5.8.0-beta.2] 2025-07-06 ## Added - Filter servers by official/unofficial status diff --git a/dzgui.sh b/dzgui.sh index 05505d4..7d743b7 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=5.8.0-beta.2 +version=6.0.0.beta-1 #CONSTANTS aid=221100 @@ -585,11 +585,11 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="f128a97e744e9e11036d707198feb8a8" + ["ui.py"]="a68319e007172b36f7b4e4eaf0b03aab" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="94287c75a5ae0a06a95dd439711e6fba" - ["lan"]="c62e84ddd1457b71a85ad21da662b9af" + ["funcs"]="5d244114c501754a630988354306e470" + ["servers.py"]="e77531286b215c6e94cf1f7d28ee640c" ) local author="aclist" local repo="dztui" @@ -631,7 +631,6 @@ fetch_helpers_by_sum(){ logger INFO "Updated '$full_path' to sum '$sum'" fi [[ $file == "funcs" ]] && chmod +x "$full_path" - [[ $file == "lan" ]] && chmod +x "$full_path" done return 0 } @@ -926,7 +925,7 @@ create_config(){ } varcheck(){ local msg="Config file '$config_file' missing. Start first-time setup now?" - local msg2="The Steam paths set in your config file appear to be invalid. Restart first-time setup now?" + local msg2="The Steam paths set in your config file appear to be invalid (DayZ was moved or uninstalled). Restart first-time setup now?" if [[ ! -f $config_file ]]; then qdialog "$msg" "Yes" "Exit" if [[ $? -eq 1 ]]; then diff --git a/helpers/funcs b/helpers/funcs index 31b5f59..6fa0d3a 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -114,6 +114,7 @@ declare -A funcs=( ["get_dist"]="get_dist" ["test_cooldown"]="test_cooldown" ["query_config"]="query_config" +["query_favorites"]="query_favorites" ["start_cooldown"]="start_cooldown" ["List installed mods"]="list_mods" ["Delete selected mods"]="delete_local_mod" @@ -146,6 +147,12 @@ lan_scan(){ printf "%s\n" "$res" fi } +query_favorites(){ + if [[ -z "${ip_list[@]}" ]]; then + return 1 + fi + printf "%s\n" "${ip_list[@]}" +} find_stale_mods(){ local res local mods=() @@ -723,8 +730,8 @@ test_cooldown(){ local old_time=$(< $_cache_cooldown) local cur_time=$(date +%s) local delta=$(($cur_time - $old_time)) - if [[ $delta -lt 60 ]]; then - local remains=$((60 - $delta)) + if [[ $delta -lt 30 ]]; then + local remains=$((30 - $delta)) local suffix=$(pluralize "seconds" $remains) printf "Global API cooldown in effect. Please wait %s %s." "$remains" "$suffix" exit 1 @@ -752,20 +759,20 @@ dump_servers(){ case "$subcontext" in *Server[[:space:]]browser*) local file="$_cache_servers" - if [[ ! $subcontext =~ Name ]]; then + if [[ ! $context =~ filter ]]; then initialize_remote_servers fi ;; *My[[:space:]]saved[[:space:]]servers*) local file="$_cache_my_servers" - if [[ ! $subcontext =~ Name ]]; then + if [[ ! $context =~ filter ]]; then [[ -f $file ]] && rm $file _iterate "$file" "${ip_list[@]}" fi ;; *Recent[[:space:]]servers*) local file="$_cache_history" - if [[ ! $subcontext =~ Name ]]; then + if [[ ! $context =~ filter ]]; then [[ -f $file ]] && rm $file readarray -t iters < <(cat $history_file) _iterate "$file" "${iters[@]}" @@ -774,7 +781,7 @@ dump_servers(){ *Scan[[:space:]]LAN[[:space:]]servers*) local port=$(<<< "$subcontext" awk -F: '{print $2}') local file="$_cache_lan" - if [[ ! $subcontext =~ Name ]]; then + if [[ ! $context =~ filter ]]; then [[ -f $file ]] && rm $file local lan=$(lan_scan $port) readarray -t iters <<< "$lan" @@ -1095,10 +1102,10 @@ test_steam_api(){ } test_bm_api(){ local key="$1" - if [[ ! $key =~ ^[0-9]+$ ]]; then + if [[ -z $key ]]; then + echo 1 return fi - [[ -z $key ]] && return 1 local code=$(curl -ILs "$bm_api" \ -H "Authorization: Bearer "$key"" -G \ -d "filter[game]=$game" \ @@ -1112,6 +1119,10 @@ update_config_val(){ case $1 in "Change player name") key="name" + if [[ -z "${value// }" ]]; then + printf "Invalid name" + return 2 + fi ;; "Change Steam API key") key="steam_api" @@ -1348,6 +1359,9 @@ update_history(){ echo "$record" >> "$history_file" } update_symlinks(){ + if [[ ! -d "$workshop_dir" ]]; then + return + fi legacy_symlinks symlinks } diff --git a/helpers/servers.py b/helpers/servers.py new file mode 100644 index 0000000..5793639 --- /dev/null +++ b/helpers/servers.py @@ -0,0 +1,179 @@ +import os +import re +import requests +import socket +import subprocess +import sys +import typing # noqa +from typing import Union + +sys.path.append("a2s") +import a2s # noqa + +params = [ + r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", + r"\map\namalsk\empty\1", + r"\map\namalsk\noplayers\1", + r"\map\chernarusplus\empty\1", + r"\map\chernarusplus\noplayers\1", + r"\map\sakhal\empty\1", + r"\map\sakhal\noplayers\1", + r"\map\enoch\empty\1", + r"\map\enoch\noplayers\1", +] + + +def get_netmask() -> str: + hostname = os.uname()[1] + i = socket.gethostbyname(hostname) + netmask = i.rsplit(".", 1)[0] + return netmask + + +def test_ip(suffix: int, port: int) -> dict | None: + netmask = get_netmask() + hostname = f"{netmask}.{str(suffix)}" + ping = ["ping", "-c1", "-i", "0.1", "-w", "1"] + output = subprocess.run(ping + [hostname], capture_output=True) + if output.returncode == 0: + return query_direct(hostname, port) + return None + + +def sanitize(name: str) -> str: + name = re.sub(r"\r", r"", name) + name = re.sub(r"\n", r"", name) + name = re.sub(r"\x01", r"", name) + name = re.sub(r"\ufeff", r"", name) + name = re.sub(r"(^!\s*)", r"-", name) + name = re.sub(r"(^-\s*)", r"", name) + name = re.sub(r"(^-)", r"", name) + name = re.sub(r"(^\s*)", r"", name) + name = re.sub(r"\t", "", name) + return name + + +def parse(json: list) -> list: + """ + Server metadata is underspecified and server operators + tend to insert random garbage in the headers. In case + sanitization failed, discard malformed rows rather than + aborting outright. + """ + rows = [] + for row in json: + try: + name = sanitize(row["name"]) + if name == "": + continue + except KeyError: + continue + + for key in [ + "map", + "gametype", + "players", + "max_players", + "addr", + "gameport", + ]: + try: + row[key] + except KeyError: + continue + + r = row["gametype"].split(",") + if "no3rd" in r: + view = "1PP" + else: + view = "3PP" + + if "external" in r: + provider = "Unoffic." + else: + provider = "Official" + + if "mod" in r: + modded = True + else: + modded = False + + try: + r = row["gametype"].split("lqs") + queue = r[1].split(",")[0] + except IndexError: + queue = 0 + + try: + test_time = re.search(r"[0-9]{2}:[0-9]{2}", row["gametype"]) + if test_time: + time = test_time.group(0) + else: + time = "Unknown" + except AttributeError: + time = "Unknown" + + try: + ip = row["addr"].split(":")[0] + ":" + str(row["gameport"]) + qport = row["addr"].split(":")[1] + except IndexError: + continue + + mapname = row["map"].lower() + players = row["players"] + max_players = row["max_players"] + raw = [ + name, + mapname, + view, + time, + int(players), + int(max_players), + int(queue), + ip, + int(qport), + provider, + modded, + ] + rows.append(raw) + return rows + + +def query_direct(ip: str, qport: int) -> dict | None: + try: + info = a2s.info((ip, qport)) + + name = info.server_name + mapname = info.map_name + address = ip + ":" + str(qport) + gameport = str(info.port) + players = info.player_count + max_players = info.max_players + keywords = info.keywords + + res = {} + res["name"] = name + res["map"] = mapname + res["gametype"] = keywords + res["players"] = players + res["max_players"] = max_players + res["addr"] = address + res["gameport"] = gameport + return res + except TimeoutError: + return None + except KeyError: + return None + + +def query_api(key: str, param: str) -> requests.models.Response: + LIMIT = 10000 + url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" + + payload: dict[str, Union[int, str]] = { + "filter": r"\appid\221100" + param, + "limit": LIMIT, + "key": key, + } + r = requests.get(url, params=payload) + return r diff --git a/helpers/ui.py b/helpers/ui.py index e167277..d5254de 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -4,403 +4,87 @@ import locale import logging import multiprocessing import os +import re import signal import subprocess import sys import textwrap import threading +import typing # noqa +import warnings + from enum import Enum +from concurrent.futures import wait +from concurrent.futures import ThreadPoolExecutor +from collections.abc import Callable +from typing import Literal, Self, Any -locale.setlocale(locale.LC_ALL, '') +sys.path.append("servers") +import servers as Servers + +locale.setlocale(locale.LC_ALL, "") + +import gi # noqa E402 -import gi gi.require_version("Gtk", "3.0") -from gi.repository import Gtk, GLib, Gdk, GObject, Pango +from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa: E402 + +# https://bugzilla.gnome.org/show_bug.cgi?id=708676 +warnings.filterwarnings("ignore", ".*g_value_get_int", Warning) app_name = "DZGUI" - -cache = {} -config_vals = [] -stored_keys = [] -toggled_checks = [] -server_filters = [] +app_name_lower = app_name.lower() +app_name_abbr = "dzg" delimiter = "␞" -selected_map = ["Map=All maps"] -keyword_filter = ["Keyword%s" %(delimiter)] -checks = list() +cache: dict[str, tuple[int, int]] = {} +config_vals: list[str] = [] + +_VERSION: str +IS_GAME_MODE: bool +IS_STEAM_DECK: bool + map_store = Gtk.ListStore(str) row_store = Gtk.ListStore(str) modlist_store = Gtk.ListStore(str, str, str) -#cf. mod_cols, last column holds hex color mod_store = Gtk.ListStore(str, str, str, float, str) -#cf. log_cols log_store = Gtk.ListStore(str, str, str, str) -#cf. browser_cols -server_store = Gtk.ListStore(str, str, str, str, int, int, int, str, int, str) -default_tooltip = "Select a row to see its detailed description" -server_tooltip = [None, None] - -user_path = os.path.expanduser('~') -cache_path = '%s/.cache/dzgui' %(user_path) -state_path = '%s/.local/state/dzgui' %(user_path) -helpers_path = '%s/.local/share/dzgui/helpers' %(user_path) -log_path = '%s/logs' %(state_path) -changelog_path = '%s/CHANGELOG.md' %(state_path) -geometry_path = '%s/dzg.cols.json' %(state_path) -res_path = '%s/dzg.res.json' %(state_path) -funcs = '%s/funcs' %(helpers_path) -mods_temp_file = '%s/dzg.mods_temp' %(cache_path) -stale_mods_temp_file = '%s/dzg.stale_mods_temp' %(cache_path) +user_path = os.path.expanduser("~") +cache_path = f"{user_path}/.cache/{app_name_lower}" +state_path = f"{user_path}/.local/state/{app_name_lower}" +helpers_path = f"{user_path}/.local/share/{app_name_lower}/helpers" +log_path = f"{state_path}/logs" +changelog_path = f"{state_path}/CHANGELOG.md" +geometry_path = f"{state_path}/{app_name_abbr}.cols.json" +res_path = f"{state_path}/{app_name_abbr}.res.json" +funcs = f"{helpers_path}/funcs" +mods_temp_file = f"{cache_path}/{app_name_abbr}.mods_temp" +stale_mods_temp_file = f"{cache_path}/{app_name_abbr}.stale_mods_temp" +servers_path = f"{cache_path}/{app_name_abbr}.servers" +config_path = f"{user_path}/.config" +config_file = f"{user_path}/.config/dztuirc" +history_file = f"{state_path}/{app_name_abbr}.history" logger = logging.getLogger(__name__) -log_file = '%s/DZGUI_DEBUG.log' %(log_path) -system_log = '%s/DZGUI_SYSTEM.log' %(log_path) +log_file = f"{log_path}/{app_name}_DEBUG.log" +system_log = f"{log_path}/{app_name}_SYSTEM.log" FORMAT = "%(asctime)s␞%(levelname)s␞%(filename)s::%(funcName)s::%(lineno)s␞%(message)s" -logging.basicConfig(filename=log_file, - format=FORMAT, -level=logging.DEBUG) +logging.basicConfig(filename=log_file, format=FORMAT, level=logging.DEBUG) -browser_cols = [ - "Name", - "Map", - "Perspective", - "Gametime", - "Players", - "Maximum", - "Queue", - "IP", - "Qport", -] -mod_cols = [ - "Mod", - "Symlink", - "Dir", - "Size (MiB)", - "Color" -] -log_cols = [ - "Timestamp", - "Flag", - "Traceback", - "Message" -] -filters = { - "1PP": True, - "Day": True, - "Empty": False, - "3PP": True, - "Night": True, - "Full": False, - "Low pop": True, - "Non-ASCII": False, - "Duplicate": False, - "Official": True, - "Unoffic.": True, -} +manual_sub_msg = """When switching from MANUAL to AUTO mod install mode, +DZGUI will manage mod installation and deletion for you. +To prevent conflicts with Steam Workshop subscriptions and old mods from being downloaded +when Steam updates, you should unsubscribe from any existing Workshop mods you manually subscribed to. +Open your Profile > Workshop Items and select 'Unsubscribe from all' +on the right-hand side, then click OK below to enable AUTO mod install mode. +""" - -class EnumWithAttrs(Enum): - - def __new__(cls, *args, **kwds): - value = len(cls.__members__) + 1 - obj = object.__new__(cls) - obj._value_ = value - return obj - def __init__(self, a): - self.dict = a - - -class RowType(EnumWithAttrs): - @classmethod - def str2rowtype(cls, str): - for member in cls: - if str == member.dict["label"]: - return member - return RowType.DYNAMIC - - DYNAMIC = { - "label": None, - "tooltip": None, - } - RESOLVE_IP = { - "label": "Resolve IP", - "tooltip": None, - "wait_msg": "Resolving remote IP" - } - HIGHLIGHT = { - "label": "Highlight stale", - "tooltip": None, - "wait_msg": "Looking for stale mods" - } - HANDSHAKE = { - "label": "Handshake", - "tooltip": None, - "wait_msg": "Waiting for DayZ" - } - DELETE_SELECTED = { - "label": "Delete selected mods", - "tooltip": None, - "wait_msg": "Deleting mods" - } - SERVER_BROWSER = { - "label": "Server browser", - "tooltip": "Used to browse the global server list", - } - SAVED_SERVERS = { - "label": "My saved servers", - "tooltip": "Browse your saved servers. Unreachable/offline servers will be excluded", - } - QUICK_CONNECT = { - "label": "Quick-connect to favorite server", - "tooltip": "Connect to your favorite server", - "wait_msg": "Working", - "default": "unset", - "alt": None, - "val": "fav_label" - } - RECENT_SERVERS = { - "label": "Recent servers", - "tooltip": "Shows the last 10 servers you connected to (includes attempts)", - } - CONN_BY_IP = { - "label": "Connect by IP", - "tooltip": "Connect to a server by IP", - "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", - "link_label": None, - } - CONN_BY_ID = { - "label": "Connect by ID", - "tooltip": "Connect to a server by Battlemetrics ID", - "prompt": "Enter server ID", - "link_label": "Open Battlemetrics", - } - SCAN_LAN = { - "label": "Scan LAN servers", - "tooltip": "Search for servers on your local network" - } - ADD_BY_IP = { - "label": "Add server by IP", - "tooltip": "Add a server by IP", - "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", - "link_label": None, - } - ADD_BY_ID = { - "label": "Add server by ID", - "tooltip": "Add a server by Battlemetrics ID", - "prompt": "Enter server ID", - "link_label": "Open Battlemetrics", - } - CHNG_FAV = { - "label": "Change favorite server", - "tooltip": "Update your quick-connect server", - "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", - "link_label": None, - "alt": None, - "default": "unset", - "val": "fav_label" - } - LIST_MODS = { - "label": "List installed mods", - "tooltip": "Browse a list of locally-installed mods", - "quad_label": "Mods" - } - TGL_BRANCH = { - "label": "Toggle release branch", - "tooltip": "Switch between stable and testing branches", - "default": None, - "val": "branch" - } - TGL_INSTALL = { - "label": "Toggle mod install mode", - "tooltip": "Switch between manual and auto mod installation", - "default": "manual", - "link_label": "Open Steam Workshop", - "alt": "auto", - "val": "auto_install" - } - TGL_STEAM = { - "label": "Toggle Steam/Flatpak", - "tooltip": "Switch the preferred client to use for launching DayZ", - "alt": None, - "default": None, - "val": "preferred_client" - } - TGL_FULLSCREEN = { - "label": "Toggle DZGUI fullscreen boot", - "tooltip": "Whether to start DZGUI as a maximized window (desktop only)", - "alt": "true", - "default": "false", - "val": "fullscreen" - } - CHNG_PLAYER = { - "label": "Change player name", - "tooltip": "Update your in-game name (required by some servers)", - "prompt": "Enter new nickname", - "link_label": None, - "alt": None, - "default": None, - "val": "name" - } - CHNG_STEAM_API = { - "label": "Change Steam API key", - "tooltip": "Can be used if you revoked an old API key", - "prompt": "Enter new API key", - "link_label": "Open Steam API page", - } - CHNG_BM_API = { - "label": "Change Battlemetrics API key", - "tooltip": "Can be used if you revoked an old API key", - "link_label": "Open Battlemetrics API page", - "prompt": "Enter new API key", - } - FORCE_UPDATE = { - "label": "Force update local mods", - "tooltip": "Synchronize the signatures of all local mods with remote versions (experimental)", - "wait_msg": "Updating mods" - } - DUMP_LOG = { - "label": "Output system info to log file", - "tooltip": "Dump diagnostic data for troubleshooting", - "wait_msg": "Generating log" - } - CHANGELOG = { - "label": "View changelog", - "tooltip": "Opens the DZGUI changelog in a dialog window" - } - SHOW_LOG = { - "label": "Show debug log", - "tooltip": "Read the DZGUI log generated since startup", - "quad_label": "Debug log" - } - DOCS = { - "label": "Documentation/help files (GitHub) ⧉", - "tooltip": "Opens the DZGUI documentation in a browser" - } - DOCS_FALLBACK = { - "label": "Documentation/help files (Codeberg mirror) ⧉", - "tooltip": "Opens the DZGUI documentation in a browser" - } - BUGS = { - "label": "Report a bug (GitHub) ⧉", - "tooltip": "Opens the DZGUI issue tracker in a browser" - } - FORUM = { - "label": "DZGUI Subreddit ⧉", - "tooltip": "Opens the DZGUI discussion forum in a browser" - } - SPONSOR = { - "label": "Sponsor (GitHub) ⧉", - "tooltip": "Sponsor the developer of DZGUI" - } - - -class WindowContext(EnumWithAttrs): - @classmethod - def row2con(cls, row): - m = None - for member in cls: - if row in member.dict["rows"]: - m = member - elif row in member.dict["called_by"]: - m = member - else: - continue - return m - - - MAIN_MENU = { - "label": "", - "rows": [ - RowType.SERVER_BROWSER, - RowType.SAVED_SERVERS, - RowType.QUICK_CONNECT, - RowType.RECENT_SERVERS, - RowType.CONN_BY_IP, - RowType.CONN_BY_ID, - RowType.SCAN_LAN - ], - "called_by": [] - } - MANAGE = { - "label": "Manage", - "rows": [ - RowType.ADD_BY_IP, - RowType.ADD_BY_ID, - RowType.CHNG_FAV - ], - "called_by": [] - } - OPTIONS = { - "label": "Options", - "rows":[ - RowType.LIST_MODS, - RowType.TGL_BRANCH, - RowType.TGL_INSTALL, - RowType.TGL_STEAM, - RowType.TGL_FULLSCREEN, - RowType.CHNG_PLAYER, - RowType.CHNG_STEAM_API, - RowType.CHNG_BM_API, - RowType.FORCE_UPDATE, - RowType.DUMP_LOG - ], - "called_by": [] - } - HELP = { - "label": "Help", - "rows":[ - RowType.CHANGELOG, - RowType.SHOW_LOG, - RowType.DOCS, - RowType.DOCS_FALLBACK, - RowType.BUGS, - RowType.FORUM, - RowType.SPONSOR, - ], - "called_by": [] - } - # inner server contexts - TABLE_API = { - "label": "", - "rows": [], - "called_by": [ - RowType.SERVER_BROWSER - ], - } - TABLE_SERVER = { - "label": "", - "rows": [], - "called_by": [ - RowType.SAVED_SERVERS, - RowType.RECENT_SERVERS, - RowType.SCAN_LAN - ], - } - TABLE_MODS = { - "label": "", - "rows": [], - "called_by": [ - RowType.LIST_MODS, - ], - } - TABLE_LOG = { - "label": "", - "rows": [], - "called_by": [ - RowType.SHOW_LOG - ], - } - - -class WidgetType(Enum): - OUTER_WIN = 1 - TREEVIEW = 2 - GRID = 3 - RIGHT_PANEL = 4 - MOD_PANEL = 5 - FILTER_PANEL = 6 +api_warn_msg = """No servers returned. Possible causes: +no servers in favorites/history, local network issue, or API key on cooldown. +Return to the main menu, wait 30s, and try again. +If this issue persists, your API key may be defunct. +""" class Port(Enum): @@ -413,1150 +97,2184 @@ class Popup(Enum): NOTIFY = 2 CONFIRM = 3 ENTRY = 4 + RETURN = 5 + MODLIST = 6 + + +class NotebookPage(Enum): + MAIN = 0 + CHANGELOG = 1 + KEYS = 2 + SETTINGS = 3 + + +class Command(Enum): + INTERACTIVE = 1 + ONESHOT = 2 + HELP = 3 + TOGGLE = 4 + + +class VAdjustment(Enum): + UP = 1 + DOWN = 2 + TOP = 3 + BOTTOM = 4 + + +class CursorPosition(Enum): + UP = 1 + DOWN = 2 + TOP = 3 + BOTTOM = 4 + + +class FilterMode(Enum): + KEYWORD = 1 + MAP = 2 + INITIAL = 3 + TOGGLE_OFF = 4 + TOGGLE_ON = 5 + + +class EnumWithAttrs(Enum): + def __new__(cls, *args, **kwargs) -> Self: + value = len(cls.__members__) + 1 + obj = object.__new__(cls) + obj._value_ = value + return obj + + def __init__(self, d: dict): + self.dict = d + + +class RowType(EnumWithAttrs): + @classmethod + def str2rowtype(cls, string: str) -> "RowType": + for member in cls: + if string == member.dict["label"]: + return member + return RowType.DYNAMIC + + # specialized behavior + DYNAMIC = { + "label": None, + "tooltip": None, + } + RESOLVE_IP = { + "label": "Resolve IP", + "tooltip": None, + "wait_msg": "Resolving remote IP", + } + HIGHLIGHT = { + "label": "Highlight stale", + "tooltip": None, + "wait_msg": "Looking for stale mods", + } + + # pages + SERVER_BROWSER = { + "label": "Server browser", + "tooltip": "Used to browse the global server list", + "type": "server", + } + SAVED_SERVERS = { + "label": "My saved servers", + "tooltip": "Browse your saved servers. Unreachable servers will be excluded", + "type": "server", + } + RECENT_SERVERS = { + "label": "Recent servers", + "tooltip": "Shows the last 10 servers you connected to (includes attempts)", + "type": "server", + } + SCAN_LAN = { + "label": "Scan LAN servers", + "tooltip": "Search for servers on your local network", + "type": "server", + } + LIST_MODS = { + "label": "List installed mods", + "tooltip": "Browse a list of locally-installed mods", + "quad_label": "Mods", + "type": "mods", + } + CHANGELOG = { + "label": "View changelog", + "tooltip": "Opens the DZGUI changelog in a dialog window", + } + KEYBINDINGS = {"label": "Keybindings", "tooltip": None} + SHOW_LOG = { + "label": "Show debug log", + "tooltip": "Read the DZGUI log generated since startup", + "quad_label": "Debug log", + } + + # interactive dialogs + CONN_BY_IP = { + "label": "Connect by IP", + "tooltip": "Connect to a server by IP", + "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", + "link_label": None, + "type": Command.INTERACTIVE, + } + CONN_BY_ID = { + "label": "Connect by ID", + "tooltip": "Connect to a server by Battlemetrics ID", + "prompt": "Enter server ID", + "link_label": "Open Battlemetrics", + "type": Command.INTERACTIVE, + } + ADD_BY_IP = { + "label": "Add server by IP", + "tooltip": "Add a server by IP", + "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", + "link_label": None, + "type": Command.INTERACTIVE, + } + ADD_BY_ID = { + "label": "Add server by ID", + "tooltip": "Add a server by Battlemetrics ID", + "prompt": "Enter server ID", + "link_label": "Open Battlemetrics", + "type": Command.INTERACTIVE, + } + CHNG_FAV = { + "label": "Change favorite server", + "tooltip": "Update your quick-connect server", + "prompt": "Enter IP in IP:Queryport format (e.g. 192.168.1.1:27016)", + "link_label": None, + "alt": None, + "default": "unset", + "val": "fav_label", + "type": Command.INTERACTIVE, + } + CHNG_PLAYER = { + "label": "Change player name", + "tooltip": "Update your in-game name (required by some servers)", + "prompt": "Enter new nickname", + "link_label": None, + "alt": None, + "default": None, + "val": "name", + "type": Command.INTERACTIVE, + } + CHNG_STEAM_API = { + "label": "Change Steam API key", + "tooltip": "Can be used if you revoked an old API key", + "prompt": "Enter new API key", + "link_label": "Open Steam API page", + "type": Command.INTERACTIVE, + } + CHNG_BM_API = { + "label": "Change Battlemetrics API key", + "tooltip": "Can be used if you revoked an old API key", + "link_label": "Open Battlemetrics API page", + "prompt": "Enter new API key", + "type": Command.INTERACTIVE, + } + + # settings toggles + TGL_BRANCH = { + "label": "Toggle release branch", + "tooltip": "Switch between stable and testing branches", + "default": None, + "val": "branch", + "type": Command.TOGGLE, + } + TGL_INSTALL = { + "label": "Toggle mod install mode", + "tooltip": "Switch between manual and auto mod installation", + "default": "manual", + "link_label": "Open Steam Workshop", + "alt": "auto", + "val": "auto_install", + "type": Command.TOGGLE, + } + TGL_STEAM = { + "label": "Toggle Steam/Flatpak", + "tooltip": "Switch the preferred client to use for launching DayZ", + "alt": None, + "default": None, + "val": "preferred_client", + "type": Command.TOGGLE, + } + TGL_FULLSCREEN = { + "label": "Toggle DZGUI fullscreen boot", + "tooltip": "Whether to start DZGUI as a maximized window (desktop only)", + "alt": "true", + "default": "false", + "val": "fullscreen", + "type": Command.TOGGLE, + } + + # oneshot commands + QUICK_CONNECT = { + "label": "Quick-connect to favorite server", + "tooltip": "Connect to your favorite server", + "wait_msg": "Working", + "default": "unset", + "alt": None, + "val": "fav_label", + "type": Command.ONESHOT, + } + FORCE_UPDATE = { + "label": "Force update local mods", + "tooltip": "Synchronize local mods with remote versions (experimental)", + "wait_msg": "Updating mods", + "type": Command.ONESHOT, + } + DUMP_LOG = { + "label": "Output system info to log file", + "tooltip": "Dump diagnostic data for troubleshooting", + "wait_msg": "Generating log", + "type": Command.ONESHOT, + } + HANDSHAKE = { + "label": "Handshake", + "tooltip": None, + "wait_msg": "Waiting for DayZ", + "type": Command.ONESHOT, + } + DELETE_SELECTED = { + "label": "Delete selected mods", + "tooltip": None, + "wait_msg": "Deleting mods", + "type": Command.ONESHOT, + } + + # help pages + DOCS = { + "label": "Documentation/help files (GitHub) ⧉", + "tooltip": "Opens the DZGUI documentation in a browser", + "type": Command.HELP, + } + DOCS_FALLBACK = { + "label": "Documentation/help files (Codeberg mirror) ⧉", + "tooltip": "Opens the DZGUI documentation in a browser", + "type": Command.HELP, + } + BUGS = { + "label": "Report a bug (GitHub) ⧉", + "tooltip": "Opens the DZGUI issue tracker in a browser", + "type": Command.HELP, + } + FORUM = { + "label": "DZGUI Subreddit ⧉", + "tooltip": "Opens the DZGUI discussion forum in a browser", + "type": Command.HELP, + } + SPONSOR = { + "label": "Sponsor (GitHub) ⧉", + "tooltip": "Sponsor the developer of DZGUI", + "type": Command.HELP, + } + + +class ContextMenu(EnumWithAttrs): + """ + Calls methods defined in TreeView + """ + + ADD_SERVER = {"label": "Add to my servers", "action": "add_server"} + REMOVE_SERVER = { + "label": "Remove from my servers", + "action": "remove_server", + } + COPY_NAME = {"label": "Copy name to clipboard", "action": "copy_name"} + COPY_CLIPBOARD = { + "label": "Copy IP to clipboard", + "action": "copy_clipboard", + } + SHOW_MODS = {"label": "Show server-side mods", "action": "show_mods"} + REFRESH_PING = {"label": "Refresh ping", "action": "refresh_ping"} + REFRESH_PLAYERS = { + "label": "Refresh player count", + "action": "refresh_player_count", + } + REMOVE_HISTORY = { + "label": "Remove from history", + "action": "remove_from_history", + } + OPEN_WORKSHOP = { + "label": "Open in Steam Workshop", + "action": "open_workshop", + } + DELETE_MOD = {"label": "Delete mod", "action": "delete_mod"} + + +class WindowContext(EnumWithAttrs): + @classmethod + def row2con(cls, row: RowType) -> "WindowContext": + m = WindowContext.MAIN_MENU + for member in cls: + if row in member.dict["rows"]: + m = member + elif row in member.dict["called_by"]: + m = member + else: + continue + return m + + # outer menu pages + MAIN_MENU = { + "label": "Main menu", + "rows": [ + RowType.SERVER_BROWSER, + RowType.SAVED_SERVERS, + RowType.QUICK_CONNECT, + RowType.RECENT_SERVERS, + RowType.CONN_BY_IP, + RowType.CONN_BY_ID, + RowType.SCAN_LAN, + ], + "called_by": [], + } + MANAGE = { + "label": "Manage", + "rows": [RowType.ADD_BY_IP, RowType.ADD_BY_ID, RowType.CHNG_FAV], + "called_by": [], + } + OPTIONS = { + "label": "Options", + "rows": [ + RowType.LIST_MODS, + RowType.TGL_BRANCH, + RowType.TGL_INSTALL, + RowType.TGL_STEAM, + RowType.TGL_FULLSCREEN, + RowType.CHNG_PLAYER, + RowType.CHNG_STEAM_API, + RowType.CHNG_BM_API, + RowType.FORCE_UPDATE, + RowType.DUMP_LOG, + ], + "called_by": [], + } + HELP = { + "label": "Help", + "rows": [ + RowType.CHANGELOG, + RowType.SHOW_LOG, + RowType.DOCS, + RowType.DOCS_FALLBACK, + RowType.BUGS, + RowType.FORUM, + RowType.SPONSOR, + ], + "called_by": [], + } + + # inner server contexts + TABLE_API = { + "label": "", + "rows": [], + "called_by": [RowType.SERVER_BROWSER], + } + TABLE_SERVER = { + "label": "", + "rows": [], + "called_by": [ + RowType.SAVED_SERVERS, + RowType.RECENT_SERVERS, + RowType.SCAN_LAN, + ], + } + TABLE_MODS = { + "label": "", + "rows": [], + "called_by": [ + RowType.LIST_MODS, + ], + } + TABLE_LOG = { + "label": "", + "rows": [], + "called_by": [RowType.SHOW_LOG], + } class ButtonType(EnumWithAttrs): - MAIN_MENU = {"label": "Main menu", - "opens": WindowContext.MAIN_MENU, - "tooltip": "Search for and connect to servers" - } - MANAGE = {"label": "Manage", - "opens": WindowContext.MANAGE, - "tooltip": "Manage/add to saved servers" - } - OPTIONS = {"label": "Options", - "opens": WindowContext.OPTIONS, - "tooltip": "Change settings, list local mods and\nother advanced options" - } - HELP = {"label": "Help", - "opens": WindowContext.HELP, - "tooltip": "Links to documentation" - } - EXIT = {"label": "Exit", - "opens": None, - "tooltip": "Quits the application" - } + MAIN_MENU = { + "label": "Main menu", + "opens": WindowContext.MAIN_MENU, + "tooltip": "Search for and connect to servers", + } + MANAGE = { + "label": "Manage", + "opens": WindowContext.MANAGE, + "tooltip": "Manage/add to saved servers", + } + OPTIONS = { + "label": "Options", + "opens": WindowContext.OPTIONS, + "tooltip": "Change settings, list local mods and\nother advanced options", + } + HELP = { + "label": "Help", + "opens": WindowContext.HELP, + "tooltip": "Links to documentation", + } + EXIT = {"label": "Exit", "opens": None, "tooltip": "Quits the application"} -class EnumeratedButton(Gtk.Button): - @GObject.Property - def button_type(self): - return self._button_type - - @button_type.setter - def button_type(self, value): - self._button_type = value +def is_navkey(key: int) -> bool: + nav_keys = [ + Gdk.KEY_Down, + Gdk.KEY_Up, + Gdk.KEY_Page_Down, + Gdk.KEY_Page_Up, + Gdk.KEY_j, + Gdk.KEY_k, + Gdk.KEY_g, + Gdk.KEY_G, + ] + if key in nav_keys: + return True + return False -def relative_widget(child): - # returns collection of outer widgets relative to source widget - # chiefly used for transient modals and accessing non-adjacent widget methods - # positions are always relative to grid sub-children - # containers and nested buttons should never need to call this function directly - - grid = child.get_parent().get_parent() - treeview = grid.scrollable_treelist.treeview - outer = grid.get_parent() - - widgets = { - 'grid': grid, - 'treeview': treeview, - 'outer': outer - } - - supported = [ - "ModSelectionPanel", # Grid < RightPanel < ModSelectionPanel - "ButtonBox", # Grid < RightPanel < ButtonBox - "TreeView" # Grid < ScrollableTree < TreeView - ] - - if child.__class__.__name__ not in supported: - raise Exception("Unsupported child widget") - - return widgets +def call_bash_func(command: str, arg: str) -> None: + """ + Instantaneous system calls that open something + in the background (xdg-open) or serialize a file quickly + Contrast with call_out(), which should be called on a thread + """ + subprocess.Popen(["/usr/bin/env", "bash", funcs, command, arg]) -def pluralize(plural, count): +def load_css() -> None: + css = """ + .frame { + border: 0px; + } + .frame > border { + border-radius: 5px; + padding: 5px; + } + .page-heading { + font-size: 1.5rem; + font-weight: 800; + margin-bottom: 0.5rem; + } + .left-label { + font-size: 1.3rem; + } + """ + prov = Gtk.CssProvider() + prov.load_from_data(css.encode("ascii")) + screen = Gdk.Screen.get_default() + if screen: + Gtk.StyleContext.add_provider_for_screen( + screen, prov, Gtk.STYLE_PROVIDER_PRIORITY_USER + ) + + +def add_class(widget: Gtk.Widget, label: str) -> None: + """ + Sets the classname of a widget, used + to apply CSS styling later + """ + context = widget.get_style_context() + context.add_class(label) + + +def unblock_signals() -> None: + block_signals(False) + + +def block_signals(state: bool = True) -> None: + suppress_signal( + App.grid.right_panel.filters_vbox, + App.grid.right_panel.filters_vbox.maps_combo, + "_on_map_changed", + state, + ) + suppress_signal( + App.treeview, + App.treeview.selected_row, + "_on_tree_selection_changed", + state, + ) + suppress_signal(App.treeview, App.treeview, "_on_keypress", state) + for check in App.grid.right_panel.filters_vbox.checks: + suppress_signal( + App.grid.right_panel.filters_vbox, + check, + "_on_check_toggled", + state, + ) + + +def save_res_and_quit() -> None: + if App.window.props.is_maximized: + Gtk.main_quit() + return + rect = App.window.get_size() + + def write_json(rect): + data = {"res": {"width": rect.width, "height": rect.height}} + j = json.dumps(data, indent=2) + with open(res_path, "w") as outfile: + outfile.write(j) + logger.info(f"Wrote initial window size to '{res_path}'") + + if os.path.isfile(res_path): + with open(res_path, "r") as infile: + try: + data = json.load(infile) + data["res"]["width"] = rect.width + data["res"]["height"] = rect.height + with open(res_path, "w") as outfile: + outfile.write(json.dumps(data, indent=2)) + except json.decoder.JSONDecodeError: + logger.critical(f"JSON decode error in '{res_path}'") + write_json(rect) + else: + write_json(rect) + + Gtk.main_quit() + + +def suppress_signal( + owner: Gtk.Widget, widget: Gtk.Widget, func_name: str, state: bool +) -> None: + func = getattr(owner, func_name) + if state: + logger.debug(f"Unblocking {func_name} for {widget}") + widget.handler_block_by_func(func) + else: + logger.debug(f"Blocking {func_name} for {widget}") + widget.handler_unblock_by_func(func) + + +def pluralize(plural: str, count: int) -> str: suffix = plural[-2:] if suffix == "es": base = plural[:-2] - return f"%s{'es'[:2*count^2]}" %(base) + return f"{base}{'es'[:2*count ^ 2]}" else: base = plural[:-1] - return f"%s{'s'[:count^1]}" %(base) + return f"{base}{'s'[:count ^ 1]}" -def format_ping(ping): - ms = " | Ping: %s" %(ping) - return ms +def format_metadata(row_sel: str) -> str: + row = None + for i in RowType: + if i.dict["label"] == row_sel: + row = i + prefix = i.dict["tooltip"] + break + vals = { + "branch": config_vals[0], + "debug": config_vals[1], + "auto_install": config_vals[2], + "name": config_vals[3], + "fav_label": config_vals[4], + "preferred_client": config_vals[5], + "fullscreen": config_vals[6], + } + if row is None: + return "" + + try: + alt = row.dict["alt"] + default = row.dict["default"] + val = row.dict["val"] + except KeyError: + return prefix + + try: + cur_val = vals[val] + if cur_val == "": + current = default + elif cur_val == "1": + current = alt + else: + current = cur_val + return f"{prefix} | Current: '{current}'" + except KeyError: + return prefix -def format_distance(distance): - if distance == "Unknown": - distance = "| Distance: %s" %(distance) - else: - d = int(distance) - formatted = f'{d:n}' - distance = "| Distance: %s km" %(formatted) - return distance +def signal_emission(func: Callable) -> Callable: + def wrapper(*args, **kwargs): + block_signals() + func(*args, **kwargs) + unblock_signals() + + return wrapper -def set_surrounding_margins(widget, margin): +def update_window_labels(func: Callable) -> Callable: + """ + Decorator that sets metadata on the + current page context and subcontext + """ + + def wrapper(*args, **kwargs): + if not App.ready: + return + func(*args, **kwargs) + page_context = App.treeview.page.dict["label"] + text = page_context + App.window.hb.set_subtitle(page_context) + + if App.treeview.subpage == RowType.KEYBINDINGS: + text = App.treeview.subpage.dict["label"] + elif App.treeview.subpage: + text = page_context + " > " + App.treeview.subpage.dict["label"] + + App.grid.set_breadcrumbs(text) + App.grid.statusbar.refresh() + + logger.info(f"Window context changed to: {App.treeview.view}") + logger.info(f"Page context changed to: {App.treeview.page}") + logger.info(f"Subpage context changed to: {App.treeview.subpage}") + + return wrapper + + +def set_surrounding_margins(widget: Gtk.Widget, margin: int) -> None: + """ + Utility function that sets all margins + on a widget to a uniform integer value + """ widget.set_margin_top(margin) widget.set_margin_start(margin) widget.set_margin_end(margin) -def parse_modlist_rows(data): - lines = data.stdout.splitlines() - hits = len(lines) - reader = csv.reader(lines, delimiter=delimiter) +def query_history() -> list | None: try: - rows = [[row[0], row[1], row[2]] for row in reader if row] - except IndexError: - return 1 - for row in rows: - modlist_store.append(row) - return hits + with open(history_file, "r") as f: + rows = [row for row in f] + except OSError: + rows = None + finally: + return rows -def parse_log_rows(data): - lines = data.stdout.splitlines() - reader = csv.reader(lines, delimiter=delimiter) - try: - rows = [[row[0], row[1], row[2], row[3]] for row in reader if row] - except IndexError: - return 1 - for row in rows: - log_store.append(row) +def query_favorites() -> None | list: + proc = call_out("query_favorites") + if proc.returncode == 1: + return None + rows = proc.stdout.splitlines() + return rows -def parse_mod_rows(data): - # GTK pads trailing zeroes on floats - # https://stackoverflow.com/questions/26827434/gtk-cellrenderertext-with-format - sum = 0 - lines = data.stdout.splitlines() - hits = len(lines) - reader = csv.reader(lines, delimiter=delimiter) - # Nonetype inherits default GTK color - try: - rows = [[row[0], row[1], row[2], locale.atof(row[3], func=float), None] for row in reader if row] - except IndexError: - return 1 - for row in rows: - mod_store.append(row) - size = float(row[3]) - sum += size - return [sum, hits] - - -def parse_server_rows(data): - lines = data.stdout.splitlines() - reader = csv.reader(lines, delimiter=delimiter) - try: - rows = [[row[0], row[1], row[2], row[3], int(row[4]), int(row[5]), int(row[6]), row[7], int(row[8]), row[9]] for row in reader if row] - except IndexError: - return 1 - for row in rows: - server_store.append(row) - - -def query_config(widget, key=""): - proc = call_out(widget, "query_config", key) +def query_config(key: str = "") -> list: + proc = call_out("query_config", key) config = list(proc.stdout.splitlines()) - return (config) + return config -def call_out(widget, command, *args): - if widget is not None: - widget_name = widget.get_name() - try: - widget_name = widget_name.split('+')[1] - match widget_name: - case "TreeView": - context = widget.get_first_col() - case "ScrollableTree": - context = widget.treeview.get_first_col() - case "OuterWindow": - context = widget.grid.scrollable_treelist.treeview.get_first_col() - case "Grid": - context = widget.scrollable_treelist.treeview.get_first_col() - except IndexError: - context = "Generic" +def call_out(command: str, *args: str) -> subprocess.CompletedProcess: + if hasattr(TreeView, "view"): + name = getattr(TreeView, "view") else: - context = "Generic" + name = "Generic" arg_ar = [] for i in args: arg_ar.append(i) - logger.info("Context '%s' calling subprocess '%s' with args '%s'" %(context, command, arg_ar)) - proc = subprocess.run(["/usr/bin/env", "bash", funcs, command] + arg_ar, capture_output=True, text=True) + logger.info( + f"Context '{name}' calling subprocess '{command}' with args '{arg_ar}'" + ) + proc = subprocess.run( + ["/usr/bin/env", "bash", funcs, command] + arg_ar, + capture_output=True, + text=True, + ) return proc -def spawn_dialog(transient_parent, msg, mode): - dialog = GenericDialog(transient_parent, msg, mode) +def spawn_dialog(msg: str, mode: Popup) -> bool: + msg = textwrap.dedent(msg) + dialog = GenericDialog(msg, mode) response = dialog.run() dialog.destroy() + match response: case Gtk.ResponseType.OK: - logger.info("User confirmed dialog with message '%s'" %(msg)) - return 0 + logger.info(f"User confirmed dialog with message '{msg}'") + return False case Gtk.ResponseType.CANCEL | Gtk.ResponseType.DELETE_EVENT: - logger.info("User aborted dialog with message '%s'" %(msg)) - return 1 + logger.info(f"User aborted dialog with message '{msg}'") + return True + return False -def process_shell_return_code(transient_parent, msg, code, original_input): - logger.info("Processing return code '%s' for the input '%s', returned message '%s'" %(code, original_input, msg)) +def process_shell_return_code( + msg: str, code: int, original_input: RowType +) -> None: + logger.info( + f"Processing return code '{code}' for the input " + f"'{original_input}', returned message '{msg}'" + ) match code: - case 0: - # success with notice popup - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - case 1: - # error with notice popup + case 0: # success with notice popup + spawn_dialog(msg, Popup.NOTIFY) + case 1: # error with notice popup if msg == "": msg = "Something went wrong" - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - case 2: - # warn and recurse (e.g. validation failed) - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - treeview = transient_parent.grid.scrollable_treelist.treeview - process_tree_option(original_input, treeview) - case 4: - # for BM only - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - treeview = transient_parent.grid.scrollable_treelist.treeview - process_tree_option([treeview.view, RowType.CHNG_BM_API], treeview) - case 5: - # for steam only - # deprecated, Steam is mandatory now - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - treeview = transient_parent.grid.scrollable_treelist.treeview - process_tree_option([treeview.view, RowType.CHNG_STEAM_API], treeview) - case 6: - # return silently + spawn_dialog(msg, Popup.NOTIFY) + case 2: # warn and recurse (e.g. validation failed) + spawn_dialog(msg, Popup.NOTIFY) + process_tree_option(original_input) + case 4: # for BM only + spawn_dialog(msg, Popup.NOTIFY) + process_tree_option(RowType.CHNG_BM_API) + case 5: # for steam only, deprecated + spawn_dialog(msg, Popup.NOTIFY) + process_tree_option(RowType.CHNG_STEAM_API) + case 6: # return silently pass - case 90: - # used to update configs and metadata in-place - treeview = transient_parent.grid.scrollable_treelist.treeview - col = treeview.get_column_at_index(0) + case 90: # used to update configs and metadata in-place config_vals.clear() - for i in query_config(None): + for i in query_config(): config_vals.append(i) - tooltip = format_metadata(col) - transient_parent.grid.update_statusbar(tooltip) - spawn_dialog(transient_parent, msg, Popup.NOTIFY) + App.grid.statusbar.refresh() + spawn_dialog(msg, Popup.NOTIFY) return - case 95: - # successful mod deletion - spawn_dialog(transient_parent, msg, Popup.NOTIFY) - treeview = transient_parent.grid.scrollable_treelist.treeview - grid = treeview.get_parent().get_parent() - (model, pathlist) = treeview.get_selection().get_selected_rows() - for p in reversed(pathlist): - it = model.get_iter(p) - model.remove(it) - total_size = 0 - total_mods = len(model) - for row in model: - total_size += row[3] - size = locale.format_string('%.3f', total_size, grouping=True) - pretty = pluralize("mods", total_mods) - grid.update_statusbar(f"Found {total_mods:n} {pretty} taking up {size} MiB") - # untoggle selection for visibility of other stale rows - treeview.toggle_selection(False) - case 96: - # unsuccessful mod deletion - spawn_dialog(transient_parent, msg, Popup.NOTIFY) + case 95: # successful mod deletion + spawn_dialog(msg, Popup.NOTIFY) + App.treeview._update_mod_store() + case 96: # unsuccessful mod deletion + spawn_dialog(msg, Popup.NOTIFY) # re-block this signal before redrawing table contents - treeview = transient_parent.grid.scrollable_treelist.treeview - toggle_signal(treeview, treeview, '_on_keypress', False) - treeview.update_quad_column(RowType.LIST_MODS) - case 99: - # highlight stale mods - panel = transient_parent.grid.sel_panel + suppress_signal(App.treeview, App.treeview, "_on_keypress", False) + App.treeview.update_quad_column(RowType.LIST_MODS) + case 99: # highlight stale mods + panel = App.grid.sel_panel panel.colorize_cells(True) - panel.toggle_select_stale_button(True) - case 100: - # final handoff before launch - final_conf = spawn_dialog(transient_parent, msg, Popup.CONFIRM) - treeview = transient_parent.grid.scrollable_treelist.treeview + case 100: # final handshake before launch + final_conf = spawn_dialog(msg, Popup.CONFIRM) if final_conf == 1 or final_conf is None: return - process_tree_option([treeview.view, RowType.HANDSHAKE], treeview) - case 255: - spawn_dialog(transient_parent, "Update complete. Please close DZGUI and restart.", Popup.NOTIFY) - save_res_and_quit(transient_parent) + process_tree_option(RowType.HANDSHAKE) + case 255: # dzgui version update + msg = "Update complete. Please close DZGUI and restart." + spawn_dialog(msg, Popup.NOTIFY) + save_res_and_quit() -def process_tree_option(input, treeview): - context = input[0] - command = input[1] - cmd_string = command.dict["label"] - logger.info("Parsing tree option '%s' for the context '%s'" %(command, context)) - - widgets = relative_widget(treeview) - transient_parent = widgets["outer"] - grid = widgets["grid"] - - def call_on_thread(bool, subproc, msg, args): - def _background(subproc, args, dialog): - def _load(): - wait_dialog.destroy() - out = proc.stdout.splitlines() - try: - msg = out[-1] - except: - msg = '' - rc = proc.returncode - logger.info("Subprocess returned code %s with message '%s'" %(rc, msg)) - process_shell_return_code(transient_parent, msg, rc, input) - proc = call_out(transient_parent, subproc, args) - GLib.idle_add(_load) - if bool is True: - wait_dialog = GenericDialog(transient_parent, msg, Popup.WAIT) - wait_dialog.show_all() - thread = threading.Thread(target=_background, args=(subproc, args, wait_dialog)) - thread.start() - else: - # False is used to bypass wait dialogs - proc = call_out(transient_parent, subproc, args) - rc = proc.returncode +def call_on_thread( + state: bool, subproc: str, msg: str, args: str, choice: RowType = None +) -> None: + def _background(subproc: str, args: str, dialog): + def _load() -> None: + wait_dialog.destroy() out = proc.stdout.splitlines() - msg = out[-1] - process_shell_return_code(transient_parent, msg, rc, input) + try: + msg = out[-1] + except IndexError: + msg = "" + rc = proc.returncode + logger.info(f"Subprocess returned code {rc} with message '{msg}'") + process_shell_return_code(msg, rc, choice) + proc = call_out(subproc, args) + GLib.idle_add(_load) + + if state: + wait_dialog = GenericDialog(msg, Popup.WAIT) + wait_dialog.show_all() + thread = threading.Thread( + target=_background, args=(subproc, args, wait_dialog) + ) + thread.start() + else: + """ + False is used to bypass wait dialogs; + used by fast, one-shot processes + """ + proc = call_out(subproc, args) + rc = proc.returncode + out = proc.stdout.splitlines() + msg = out[-1] + process_shell_return_code(msg, rc, choice) + + +def process_tree_option(choice: RowType) -> None: + context = App.treeview.view + command = choice + cmd_string = command.dict["label"] + logger.info(f"Parsing tree option '{command}' for the context '{context}'") + + # server tables if command == RowType.RESOLVE_IP: - record = "%s:%s" %(treeview.get_column_at_index(7), treeview.get_column_at_index(8)) + record = App.treeview.get_record_string() wait_msg = command.dict["wait_msg"] - call_on_thread(True, cmd_string, wait_msg, record) + show_wait_dialog = True + call_on_thread( + show_wait_dialog, cmd_string, wait_msg, record, choice=choice + ) return - # help pages + + # modlist highlight stale action if context == WindowContext.TABLE_MODS and command == RowType.HIGHLIGHT: wait_msg = command.dict["wait_msg"] - call_on_thread(True, cmd_string, wait_msg, '') - return - if context == WindowContext.HELP: - match command: - case RowType.CHANGELOG: - diag = ChangelogDialog(transient_parent) - diag.run() - diag.destroy() - case _: - base_cmd = "Open link" - arg_string = cmd_string - subprocess.Popen(['/usr/bin/env', 'bash', funcs, base_cmd, arg_string]) - pass + show_wait_dialog = True + call_on_thread( + show_wait_dialog, cmd_string, wait_msg, "", choice=choice + ) return - # config metadata toggles - toggle_commands = [ - RowType.TGL_INSTALL, - RowType.TGL_BRANCH, - RowType.TGL_STEAM, - RowType.TGL_FULLSCREEN - ] - - if command in toggle_commands: - match command: - case RowType.TGL_BRANCH: - wait_msg = "Updating DZGUI branch" - call_on_thread(False, "toggle", wait_msg, cmd_string) - case RowType.TGL_INSTALL: - if query_config(None, "auto_install")[0] == "1": - proc = call_out(transient_parent, "toggle", cmd_string) - grid.update_right_statusbar() - tooltip = format_metadata(command.dict["label"]) - transient_parent.grid.update_statusbar(tooltip) - return - # manual -> auto mode - proc = call_out(transient_parent, "find_id", "") - if proc.returncode == 1: - link=None - uid=None - else: - link=command.dict["link_label"] - uid=proc.stdout - manual_sub_msg = """\ - When switching from MANUAL to AUTO mod install mode, - DZGUI will manage mod installation and deletion for you. - To prevent conflicts with Steam Workshop subscriptions and old mods from being downloaded - when Steam updates, you should unsubscribe from any existing Workshop mods you manually subscribed to. - Open your Profile > Workshop Items and select 'Unsubscribe from all' - on the right-hand side, then click OK below to enable AUTO mod install mode.""" - LinkDialog(transient_parent, textwrap.dedent(manual_sub_msg), Popup.NOTIFY, link, command, uid) - case _: - proc = call_out(transient_parent, "toggle", cmd_string) - grid.update_right_statusbar() - tooltip = format_metadata(command.dict["label"]) - transient_parent.grid.update_statusbar(tooltip) + if command == RowType.CHANGELOG: + App.grid.notebook.set_page_enum(NotebookPage.CHANGELOG) return - # entry dialogs - interactive_commands = [ - RowType.CONN_BY_IP, - RowType.CONN_BY_ID, - RowType.ADD_BY_IP, - RowType.ADD_BY_ID, - RowType.CHNG_FAV, - RowType.CHNG_PLAYER, - RowType.CHNG_STEAM_API, - RowType.CHNG_BM_API - ] - - if command in interactive_commands: - prompt = command.dict["prompt"] - flag = True - link_label = command.dict["link_label"] - wait_msg = "Working" - - user_entry = EntryDialog(transient_parent, prompt, Popup.ENTRY, link_label) - res = user_entry.get_input() - - if res is None: - logger.info("User aborted entry dialog") + match command.dict["type"]: + case Command.HELP: + call_bash_func("Open link", cmd_string) + case Command.TOGGLE: + process_toggle(command) + case Command.INTERACTIVE: + process_user_input(command) + case Command.ONESHOT: + wait_msg = command.dict["wait_msg"] + show_wait_dialog = True + call_on_thread(show_wait_dialog, cmd_string, wait_msg, "") + case _: return - logger.info("User entered: '%s'" %(res)) - - if command == RowType.CHNG_PLAYER: flag = False - call_on_thread(flag, cmd_string, wait_msg, res) - return - - # standalone commands - misc_commands = [ - RowType.DELETE_SELECTED, - RowType.HANDSHAKE, - RowType.DUMP_LOG, - RowType.FORCE_UPDATE, - RowType.QUICK_CONNECT - ] - if command in misc_commands: - wait_msg = command.dict["wait_msg"] - call_on_thread(True, cmd_string, wait_msg, '') return -def reinit_checks(): - toggled_checks.clear() - for check in checks: - label = check.get_label() - if filters[label] is True: - check.set_active(True) - toggled_checks.append(label) - else: - check.set_active(False) + +def process_toggle(command: RowType) -> None: + cmd_string = command.dict["label"] + match command: + case RowType.TGL_BRANCH: + wait_msg = "Updating DZGUI branch" + show_wait_dialog = False + call_on_thread(show_wait_dialog, "toggle", wait_msg, cmd_string) + case RowType.TGL_INSTALL: + if query_config("auto_install")[0] == "1": + proc = call_out("toggle", cmd_string) + App.grid.statusbar.refresh() + return + # manual -> auto mode + proc = call_out("find_id", "") + if proc.returncode == 1: + link = None + user_id = "" + else: + link = command.dict["link_label"] + user_id = proc.stdout + LinkDialog(manual_sub_msg, link, command, user_id) + case _: + proc = call_out("toggle", cmd_string) + App.grid.statusbar.refresh() + + +def process_user_input(enum: RowType) -> None: + prompt = enum.dict["prompt"] + link_label = enum.dict["link_label"] + cmd_string = enum.dict["label"] + + user_entry = EntryDialog(prompt, Popup.ENTRY, link_label) + response = user_entry.get_input() + + if response is None: + logger.info("User aborted entry dialog") + return + logger.info(f"User entered: '{response}'") + + show_wait_dialog = True + # this is the only instantaneous toggle, no wait dialog necessary + if enum == RowType.CHNG_PLAYER: + show_wait_dialog = False + wait_msg = "Working" + call_on_thread( + show_wait_dialog, cmd_string, wait_msg, response, choice=enum + ) + return class OuterWindow(Gtk.Window): - @GObject.Property - def widget_type(self): - return self._widget_type - - @widget_type.setter - def widget_type(self, value): - self._widget_type = value - - def __init__(self, is_steam_deck, is_game_mode): + def __init__(self): super().__init__(title=app_name) + App.ready = False self.hb = AppHeaderBar() + # steam deck taskbar may occlude elements - if is_steam_deck is False: + if not IS_STEAM_DECK: self.set_titlebar(self.hb) - self.set_property("widget_type", WidgetType.OUTER_WIN) - self.connect("delete-event", self.halt_proc_and_quit) + self.connect("key-press-event", self._on_keypress) + self.set_border_width(10) + self._set_resolution() - #app > win > grid > scrollable > treeview [row/server/mod store] - #app > win > grid > vbox > buttonbox > filterpanel > combo [map store] - - self.grid = Grid(is_steam_deck) + self.grid = Grid() self.add(self.grid) - if is_game_mode is True: + self.show_all() + + self.grid.right_panel.filters_vbox.set_visible(False) + self.grid.sel_panel.set_visible(False) + + # convenience to avoid deep calls + App.window = self + App.grid = self.grid + App.notebook = self.grid.notebook + App.treeview = self.grid.scrollable_treelist.treeview + App.right_panel = self.grid.right_panel + + load_css() + App.ready = True + App.grid.notebook.set_page_enum(NotebookPage.MAIN) + App.treeview.grab_focus() + + def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None: + if event.keyval is not Gdk.KEY_d: + return + if App.right_panel.filters_vbox.keyword_entry.is_focus(): + return + if App.right_panel.filters_vbox.maps_entry.is_focus(): + return + App.right_panel.toggle_debug() + + def _set_resolution(self) -> None: + if IS_GAME_MODE is True: self.fullscreen() - elif query_config(None, "fullscreen")[0] == "true": + return + elif query_config("fullscreen")[0] == "true": logger.info("User preference for 'fullscreen' is 'true'") self.maximize() - else: - if os.path.isfile(res_path): - with open(res_path, "r") as infile: - try: - data = json.load(infile) - valid_json = True - except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(res_path)) - valid_json = False - else: - valid_json = False - if valid_json: - res = data["res"] - w = res["width"] - h = res["height"] - logger.info("Restoring window size to %s,%s" %(w,h)) - self.set_default_size(w, h) + return - self.show_all() - # Hide FilterPanel on main menu - self.grid.right_panel.set_filter_visibility(False) - self.grid.sel_panel.set_visible(False) - self.grid.scrollable_treelist.treeview.grab_focus() + try: + with open(res_path, "r") as infile: + try: + data = json.load(infile) + valid_json = True + except json.decoder.JSONDecodeError: + logger.critical(f"JSON decode error in '{res_path}'") + valid_json = False + except OSError: + valid_json = False - def halt_proc_and_quit(self, window, event): - self.grid.terminate_treeview_process() - save_res_and_quit(window) + if valid_json: + res = data["res"] + w, h = res["width"], res["height"] + logger.info(f"Restoring window size to {w},{h}") + self.set_default_size(w, h) + + def halt_proc_and_quit(self) -> None: + App.grid.terminate_treeview_process() + save_res_and_quit() class ScrollableTree(Gtk.ScrolledWindow): - def __init__(self, is_steam_deck): + def __init__(self): super().__init__() - self.treeview = TreeView(is_steam_deck) + self.treeview = TreeView() self.add(self.treeview) -class RightPanel(Gtk.Box): - def __init__(self, is_steam_deck): - super().__init__(spacing=6) - self.set_orientation(Gtk.Orientation.VERTICAL) - self.button_vbox = ButtonBox(is_steam_deck) +class RightPanel(Gtk.Box): + def __init__(self): + super().__init__(spacing=6, orientation=Gtk.Orientation.VERTICAL) + + self.button_vbox = ButtonBox() self.filters_vbox = FilterPanel() - toggle_signal(self.filters_vbox, self.filters_vbox.maps_combo, '_on_map_changed', False) self.pack_start(self.button_vbox, False, False, 0) self.pack_start(self.filters_vbox, False, False, 0) - self.debug_toggle = Gtk.ToggleButton(label="Debug mode") - self.debug_toggle.set_tooltip_text("Used to perform a dry run without\nactually connecting to a server") + tooltip = ( + "Used to perform a dry run without\n" + "actually connecting to a server" + ) + self.debug_toggle = Gtk.ToggleButton( + label="Debug mode", + margin_top=10, + margin_start=80, + margin_end=80, + tooltip_text=tooltip, + ) - if query_config(None, "debug")[0] == '1': + if query_config("debug")[0] == "1": self.debug_toggle.set_active(True) - self.debug_toggle.connect("toggled", self._on_button_toggled, "Toggle debug mode") - set_surrounding_margins(self.debug_toggle, 10) + self.debug_toggle.connect("toggled", self._on_debug_toggled) - self.question_button = Gtk.Button(label="?") - self.question_button.set_tooltip_text("Opens the keybindings dialog") - self.question_button.set_margin_top(10) - self.question_button.set_margin_start(50) - self.question_button.set_margin_end(50) - self.question_button.connect("clicked", self._on_button_clicked) + self.question = Gtk.Button( + label="?", + margin_top=10, + margin_start=80, + margin_end=80, + tooltip_text="Opens the keybindings dialog", + ) + self.question.connect("clicked", self._on_question_clicked) self.pack_start(self.debug_toggle, False, True, 0) - self.pack_start(self.question_button, False, True, 0) + self.pack_start(self.question, False, True, 0) - def _on_button_toggled(self, button, command): - grid = self.get_parent() - transient_parent = grid.get_parent() - call_out(transient_parent, "toggle", command) - grid.update_right_statusbar() - grid.scrollable_treelist.treeview.grab_focus() + def reinit_maps(self, rows: list) -> None: + map_store.clear() + map_store.append(["All maps"]) + self.selected = "All maps" + self.filters_vbox.set_unique_maps(rows) - def _on_button_clicked(self, button): - grid = self.get_parent() - grid.scrollable_treelist.treeview.spawn_keys_dialog(button) + def toggle_debug(self) -> None: + state = self.debug_toggle.get_active() + self.debug_toggle.set_active(not state) - def set_filter_visibility(self, bool): - self.filters_vbox.set_visible(bool) + def _on_debug_toggled(self, button: Gtk.Button) -> None: + grid = App.grid + call_out("toggle", "Toggle debug mode") + grid.statusbar.refresh() + App.grid.notebook.focus_current() - def focus_button_box(self): - self.button_vbox.focus_button(0) + def _on_question_clicked(self, button: Gtk.Button) -> None: + App.grid.notebook.toggle_keybindings() - def set_active_combo(self): - self.filters_vbox.set_active_combo() + def focus_button_box(self) -> None: + self.button_vbox.buttons[0].grab_focus() class ButtonBox(Gtk.Box): - def __init__(self, is_steam_deck): - super().__init__(spacing=6) - self.set_orientation(Gtk.Orientation.VERTICAL) - set_surrounding_margins(self, 10) + def __init__(self): + super().__init__( + spacing=6, + margin_top=0, + margin_start=10, + margin_end=10, + orientation=Gtk.Orientation.VERTICAL, + ) self.buttons = list() - self.is_steam_deck = is_steam_deck + self.connect("key-press-event", self._on_keypress) for side_button in ButtonType: - button = EnumeratedButton(label=side_button.dict["label"]) - button.set_property("button_type", side_button) + button = Gtk.Button(label=side_button.dict["label"]) + button.type = side_button button.set_tooltip_text(side_button.dict["tooltip"]) - if is_steam_deck is True: + if IS_STEAM_DECK: button.set_size_request(10, 10) else: - button.set_size_request(50,50) - #TODO: explore a more intuitive way of highlighting the active context - button.set_opacity(0.6) + button.set_size_request(50, 50) self.buttons.append(button) button.connect("clicked", self._on_selection_button_clicked) self.pack_start(button, False, False, 0) - self.buttons[0].set_opacity(1.0) - - def _update_single_column(self, context): - logger.info("Returning from multi-column view to monocolumn view for the context '%s'" %(context)) - widgets = relative_widget(self) - - # only applicable when returning from mod list - grid = widgets["grid"] - grid_last_child = grid.right_panel.get_children()[-1] - if isinstance(grid_last_child, ModSelectionPanel): - grid.sel_panel.set_visible(False) - right_panel = self.get_parent() - right_panel.set_filter_visibility(False) - - treeview = widgets["treeview"] - treeview.set_selection_mode(Gtk.SelectionMode.SINGLE) - - # Block maps combo when returning to main menu - toggle_signal(right_panel.filters_vbox, right_panel.filters_vbox.maps_combo, '_on_map_changed', False) - right_panel.filters_vbox.keyword_entry.set_text("") - keyword_filter.clear() - keyword_filter.append("Keyword␞") - server_store.clear() - - for column in treeview.get_columns(): - treeview.remove_column(column) - # used as a convenience for Steam Deck if it has no titlebar - for i, column_title in enumerate([context.dict["label"]]): - renderer = Gtk.CellRendererText() - column = Gtk.TreeViewColumn(column_title, renderer, text=i) - treeview.append_column(column) - - if self.is_steam_deck is False: - treeview.set_headers_visible(False) - - self._populate(context.dict["opens"]) - toggle_signal(treeview, treeview, '_on_keypress', False) - treeview.set_model(row_store) - treeview.grab_focus() - - def _populate(self, context): - widgets = relative_widget(self) - treeview = widgets["treeview"] - grid = widgets["grid"] - window = widgets["outer"] - - # set global window context - treeview.view = context - - row_store.clear() - array = context.dict["rows"] - - window.hb.set_subtitle(context.dict["label"]) - - for item in array: - label = item.dict["label"] - tooltip = item.dict["tooltip"] - t = (label, ) - row_store.append(t) - grid.update_statusbar(tooltip) - treeview.grab_focus() - - def _on_selection_button_clicked(self, button): - treeview = self.get_treeview() - toggle_signal(treeview, treeview.selected_row, '_on_tree_selection_changed', False) - context = button.get_property("button_type") - logger.info("User clicked '%s'" %(context)) + @signal_emission + def _on_selection_button_clicked(self, button: Gtk.Button) -> None: + context = button.type + logger.info(f"User clicked '{context}'") if context == ButtonType.EXIT: logger.info("Normal user exit") - widgets = relative_widget(self) - window = widgets["outer"] - save_res_and_quit(window) + save_res_and_quit() return - cols = treeview.get_columns() + cols = App.treeview.get_columns() if len(cols) > 1: - self._update_single_column(context) + # restores tree from multi column view to main menu + App.treeview.update_single_column(context) + return - # Highlight the active widget - for inactive_button in self.buttons: - inactive_button.set_opacity(0.6) - button.set_opacity(1.0) + App.treeview._populate(context.dict["opens"]) + cols[0].set_title(context.dict["label"]) - for col in cols: - col.set_title(context.dict["label"]) + def _walk_buttons(self, increment: int) -> None: + for i, button in enumerate(self.buttons): + if button.is_focus(): + n = i + increment + if n == len(self.buttons): + return + if n == -1: + return + n = self.buttons[n] + n.grab_focus() + return - # get destination WindowContext enum from button - self._populate(context.dict["opens"]) - - toggle_signal(treeview, treeview.selected_row, '_on_tree_selection_changed', True) - - def focus_button(self, index): - self.buttons[index].grab_focus() - - def get_treeview(self): - grid = self.get_parent().get_parent() - treeview = grid.scrollable_treelist.treeview - return treeview + def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None: + match event.keyval: + case Gdk.KEY_h: + App.notebook.focus_current() + case Gdk.KEY_j: + self._walk_buttons(1) + case Gdk.KEY_k: + self._walk_buttons(-1) + case Gdk.KEY_question: + App.grid.notebook.toggle_keybindings() class CalcDist(multiprocessing.Process): - def __init__(self, widget, addr, qport, result_queue, cache): + def __init__( + self, + widget: Gtk.Widget, + addr: str, + qport: int, + result_queue: multiprocessing.Queue, + cache: dict, + ): super().__init__() self.widget = widget self.result_queue = result_queue self.addr = addr self.qport = str(qport) - self.ip = addr.split(':')[0] + self.ip = addr.split(":")[0] - def run(self): + def run(self) -> None: if self.addr in cache: - logger.info("Address '%s' already in cache" %(self.addr)) - self.result_queue.put([self.addr, cache[self.addr][0], cache[self.addr][1]]) + logger.info(f"Address '{self.addr}' already in cache") + self.result_queue.put( + [self.addr, cache[self.addr][0], cache[self.addr][1]] + ) return - proc = call_out(self.widget, "get_dist", self.ip) - proc2 = call_out(self.widget, "test_ping", self.ip, self.qport) + proc = call_out("get_dist", self.ip) + proc2 = call_out("test_ping", self.ip, self.qport) km = proc.stdout ping = proc2.stdout self.result_queue.put([self.addr, km, ping]) +class ModelManagerSingleton: + """ + Manages access to ListStore cache resources and + performs filtering on behalf of TreeView. + + Filtration to and from ListStore format is + delegated to this singleston. + + Not thread-safe. + """ + + def __init__(self): + # packed ListStores + self.filter_cache = {} + # stringwise (list) representation of the model + self.control_model = None + self.filtered = None + self.success = True + + def __new__(cls): + if not hasattr(cls, "instance"): + cls.instance = super(ModelManagerSingleton, cls).__new__(cls) + return cls.instance + + def filter(self, mode: FilterMode, *args, **kwargs) -> None: + """ + Native Gtk.TreeView.refilter() method was not performant enough + when running in the main loop with 40k+ records + """ + filters = App.right_panel.filters_vbox.get_filters() + + if filters in self.filter_cache: + cache = self.filter_cache[filters] + self.set_store(cache[0]) + self.set_filtered(cache[1]) + GLib.idle_add(App.treeview._filter_cleanup) + return + + match mode: + case FilterMode.INITIAL: + rows = self.filter_initial(filters) + + case FilterMode.MAP: + panel = App.right_panel.filters_vbox + prior_map = panel.get_prior_map() + + if prior_map == "All maps": + rows = self.filter_map(filters) + else: + rows = self.filter_toggle_on(filters, *args) + + case FilterMode.KEYWORD: + rows = self.filter_toggle_on(filters, *args) + + case FilterMode.TOGGLE_OFF: + for f in filters[2:]: + self.set_filtered(self.filter_toggle_off(filters, f)) + rows = self.filtered + + case FilterMode.TOGGLE_ON: + rows = self.filter_toggle_on(filters, *args) + + if len(rows) > 0: + clone = ModelManager.new_model() + rows = self.sort_rows(rows) + for row in rows: + clone.append(row) + else: + clone = None + + self.set_cache(filters, clone, rows) + self.set_store(clone) + GLib.idle_add(App.treeview._filter_cleanup) + + def sort_rows(self, rows: list) -> list: + rows.sort(key=lambda x: re.sub(r"[^A-Za-z0-9]+", "", x[0].lower())) + return rows + + def filter_initial(self, filters: tuple) -> list: + """ + Simply culls the control model of any disabled filters + """ + self.set_filtered(self.control_model) + for f in filters[2:]: + self.set_filtered(self.filter_toggle_off(filters, f)) + return self.filtered + + def filter_map(self, filters: tuple) -> list: + """ + Multi-filtration for any context starts by narrowing by map + """ + rows = self.filtered + panel = App.right_panel.filters_vbox + sel_map = panel.get_selected_map() + + if sel_map == "All maps": + return rows + + rows = [row for row in rows if row[1] == sel_map] + return rows + + def filter_keyword(self, filters: tuple) -> list: + keyword = App.right_panel.filters_vbox.get_keyword_filter() + rows = self.filtered + + if keyword == "": + return rows + + filtered = [ + row + for row in rows + if keyword in row[0].lower() + or keyword in row[1].lower() + or keyword in row[7].lower() + ] + return filtered + + def filter_toggle_off(self, filters: tuple, filter_type: str) -> list: + """ + Sub-filtration of the current model + """ + pairs = {"3PP": "1PP", "Day": "Night", "Official": "Unoffic."} + for k, v in pairs.items(): + if k in filters and v in filters: + self.set_filtered(None) + return [] + + rows = self.filtered + match filter_type: + case "3PP": + rows = [row for row in rows if row[2] != "3PP"] + case "1PP": + rows = [row for row in rows if row[2] != "1PP"] + case "Official": + rows = [row for row in rows if row[9] != "Official"] + case "Unoffic.": + rows = [row for row in rows if row[9] != "Unoffic."] + case "Empty": + rows = [row for row in rows if row[4] != 0] + case "Full": + rows = [row for row in rows if row[4] != row[5]] + case "Duplicate": + seen = [] + final = [] + for row in rows: + if row[0] in seen: + continue + seen.append(row[0]) + final.append(row) + rows = final + case "Day": + reg = r"([0][0-9]|[1][0-6])" + rows = [row for row in rows if not re.match(reg, row[3])] + case "Night": + reg = r"([0][0-4]|[1][8]|[2][0-3])" + rows = [row for row in rows if not re.match(reg, row[3])] + case "Non-ASCII": + rows = [row for row in rows if row[0].isascii()] + case "Low pop": + rows = [row for row in rows if (row[4] / row[5] * 100) > 30] + case "Modded": + rows = [row for row in rows if not row[10]] + return rows + + def filter_toggle_on(self, filters: tuple, *args: str) -> list: + """Effectively applies all filters""" + self.set_filtered(self.control_model) + self.set_filtered(self.filter_map(filters)) + self.set_filtered(self.filter_keyword(filters)) + + for f in filters[2:]: + self.set_filtered(self.filter_toggle_off(filters, f)) + return self.filtered + + def set_cache( + self, filters: tuple, model: Gtk.ListStore | None, rows: list + ) -> None: + self.filter_cache[filters] = (model, rows) + + def new_model(self) -> Gtk.ListStore: + return Gtk.ListStore( + str, str, str, str, int, int, int, str, int, str, bool + ) + + def resync_model(self, addr: str, qport: int) -> None: + """Handle in-situ updates to model during + row deletion actions. Skipped for ephemeral + actions like player count/ping updates + """ + for row in self.control_model: + if row[7] == addr and row[8] == qport: + self.control_model.remove(row) + + self.wipe_cache() + filters = App.right_panel.filters_vbox.get_filters() + refiltered = self.filter_toggle_on(filters) + self.set_filtered(refiltered) + + def convert_model_to_list(self, model: Gtk.ListStore) -> list: + return [[el for el in row] for row in model] + + def set_filtered(self, rows: list | None) -> None: + if rows is None: + rows = [] + self.filtered = rows + + def set_store(self, model: Gtk.ListStore | None) -> None: + self.store = model + + def get_store(self) -> Gtk.ListStore | None: + return self.store + + def set_control(self, rows: list) -> None: + self.control_model = rows + + def set_success(self, result: bool) -> None: + self.success = result + + def get_success(self) -> bool: + return self.success + + def wipe_cache(self, full=False) -> None: + self.success = True + self.filtered = None + self.filter_cache = {} + if full: + self.control_model = None + + class TreeView(Gtk.TreeView): - __gsignals__ = {"on_distcalc_started": (GObject.SignalFlags.RUN_FIRST, None, ())} - @GObject.Property - def widget_type(self): - return self._widget_type + __gsignals__ = { + "on_distcalc_started": (GObject.SignalFlags.RUN_FIRST, None, ()) + } - @widget_type.setter - def widget_type(self, value): - self._widget_type = value - - def __init__(self, is_steam_deck): + def __init__(self): super().__init__() - self.set_property("widget_type", WidgetType.TREEVIEW) + """ + Since some views like TABLE_SERVER recycle + the same model type, self.view corresponds + to an enumeration of the current model in the tree. + + By contrast, self.page and self.subpage + correspond to user-facing navigation contexts, e.g., + Main menu (page) > Server browser (subpage) + + This is used by: + - logs + - labels like breadcrumbs and the headerbar subtitle + - methods passing contextual "you are here" info to helpers + + When on a top-level menu (WindowContext.MAIN_MENU), + the subpage is None. + """ + self.view = WindowContext.MAIN_MENU + self.page = WindowContext.MAIN_MENU + self.subpage = None + + self.set_fixed_height_mode(True) self.queue = multiprocessing.Queue() self.current_proc = None - # Disables typeahead search + # disables typeahead search self.set_enable_search(False) self.set_search_column(-1) - # Populate model with initial context + # populate model with initial context for row in WindowContext.MAIN_MENU.dict["rows"]: label = row.dict["label"] t = (label,) row_store.append(t) self.set_model(row_store) - for i, column_title in enumerate( - ["Main menu"] - ): - renderer = Gtk.CellRendererText() - column = Gtk.TreeViewColumn(column_title, renderer, text=i) - self.append_column(column) + renderer = Gtk.CellRendererText() + column = Gtk.TreeViewColumn("Main menu", renderer, text=0) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + self.append_column(column) - if is_steam_deck is False: + if not IS_STEAM_DECK: self.set_headers_visible(False) - self.connect("row-activated", self._on_row_activated) - self.connect("key-press-event", self._on_keypress) - self.connect("key-press-event", self._on_keypress_main_menu) - toggle_signal(self, self, '_on_keypress', False) self.selected_row = self.get_selection() self.selected_row.connect("changed", self._on_tree_selection_changed) self.connect("button-release-event", self._on_button_release) + self.connect("row-activated", self._on_row_activated) - def terminate_process(self): + self.connect("key-press-event", self._on_keypress) + self.connect("key-release-event", self._on_key_release) + + def _update_mod_store(self) -> None: + (model, pathlist) = self.get_selection().get_selected_rows() + for p in reversed(pathlist): + it = model.get_iter(p) + model.remove(it) + total_size = 0 + total_mods = len(model) + for row in model: + total_size += row[3] + size = locale.format_string("%.3f", total_size, grouping=True) + pretty = pluralize("mods", total_mods) + App.grid.statusbar.set_text( + f"Found {total_mods:n} {pretty} taking up {size} MiB" + ) + # untoggle selection for visibility of other stale rows + self.toggle_selection(False) + + def get_subpage_label(self) -> None: + if self.subpage: + return self.subpage.dict["label"] + return None + + def get_subpage(self) -> RowType: + return self.subpage + + def terminate_process(self) -> None: if self.current_proc and self.current_proc.is_alive(): self.current_proc.terminate() - def _on_menu_click(self, menu_item): - #TODO: context menus use old stringwise parsing - # use enumerated contexts - parent = self.get_outer_window() - context = self.get_first_col() - value = self.get_column_at_index(0) - context_menu_label = menu_item.get_label() - logger.info("User clicked context menu '%s'" %(context_menu_label)) + def copy_name(self) -> None: + self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + record = self.get_name() + self.clipboard.set_text(record, -1) - match context_menu_label: - case "Add to my servers" | "Remove from my servers": - record = "%s:%s" %(self.get_column_at_index(7), self.get_column_at_index(8)) - process_tree_option([self.view, RowType.RESOLVE_IP], self) - if context == "Name (My saved servers)": - iter = self.get_current_iter() - server_store.remove(iter) - case "Remove from history": - record = "%s:%s" %(self.get_column_at_index(7), self.get_column_at_index(8)) - call_out(parent, context_menu_label, record) - iter = self.get_current_iter() - server_store.remove(iter) - case "Copy IP to clipboard": - self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) - addr = self.get_column_at_index(7) - qport = self.get_column_at_index(8) - ip = addr.split(':')[0] - record = "%s:%s" %(ip, qport) - self.clipboard.set_text(record, -1) - case "Refresh player count": - self.refresh_player_count() - case "Show server-side mods": - record = "%s:%s" %(self.get_column_at_index(7), self.get_column_at_index(8)) - dialog = ModDialog(parent, "Enter/double click a row to open in Steam Workshop. ESC exits this dialog", "Modlist", record) - modlist_store.clear() - case "Delete mod": - conf_msg = "Really delete the mod '%s'?" %(value) - success_msg = "Successfully deleted the mod '%s'." %(value) - fail_msg = "An error occurred during deletion. Aborting." - res = spawn_dialog(parent, conf_msg, Popup.CONFIRM) - if res != 0: - return - mods = [] - symlink = self.get_column_at_index(1) - dir = self.get_column_at_index(2) - concat = symlink + " " + dir + "\n" - mods.append(concat) - with open(mods_temp_file, "w") as outfile: - outfile.writelines(mods) - process_tree_option([self.view, RowType.DELETE_SELECTED], self) - case "Open in Steam Workshop": - record = self.get_column_at_index(2) - base_cmd = "open_workshop_page" - subprocess.Popen(['/usr/bin/env', 'bash', funcs, base_cmd, record]) + def copy_clipboard(self) -> None: + self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + record = self.get_record_string() + self.clipboard.set_text(record, -1) - def toggle_selection(self, bool): - l = len(mod_store) - match bool: - case True: - for i in range (0, l): - path = Gtk.TreePath(i) - self.get_selection().select_path(path) - case False: - for i in range (0, l): - path = Gtk.TreePath(i) - self.get_selection().unselect_path(path) + def delete_mod(self) -> None: + modname = self.get_value_at_index(0) + conf_msg = f"Really delete the mod '{modname}'?" + res = spawn_dialog(conf_msg, Popup.CONFIRM) + if res: + return + mods = [] + symlink = self.get_value_at_index(1) + path = self.get_value_at_index(2) + concat = symlink + " " + path + "\n" + mods.append(concat) + with open(mods_temp_file, "w") as outfile: + outfile.writelines(mods) + process_tree_option(RowType.DELETE_SELECTED) - def _on_button_release(self, widget, event): + def open_workshop(self) -> None: + record = self.get_value_at_index(2) + base_cmd = "open_workshop_page" + call_bash_func(base_cmd, record) + + def add_server(self) -> None: + process_tree_option(RowType.RESOLVE_IP) + + def remove_server(self) -> None: + """ + Both add and remove server functionally + call the same logic in helpers/funcs; + if the record exists, it is removed, and vice versa. + When removing, the model needs to be updated in situ + if the current context is RowType.SAVED_SERVERS + """ + self.add_server() + + if self.subpage != RowType.SAVED_SERVERS: + return + + self.resync_with_manager() + + def resync_with_manager(self): + model = self.get_model() + it = self.get_current_iter() + if it: + addr = model.get_value(it, 7) + qport = model.get_value(it, 8) + model.remove(it) + print(addr) + + ModelManager.resync_model(addr, qport) + + def remove_from_history(self) -> None: + record = self.get_record_string() + call_out("Remove from history", record) + self.resync_with_manager() + + def show_mods(self) -> None: + record = self.get_record_string() + ModDialog(record) + modlist_store.clear() + + def _on_menu_click(self, menu_item: Gtk.MenuItem) -> None: + if hasattr(TreeView, menu_item.action): + func = getattr(TreeView, menu_item.action) + msg = ( + f"User clicked context menu '{menu_item.get_label()}', " + f"calls {func}" + ) + logger.info(msg) + func(self) + else: + msg = ( + f"Context menu function for '{menu_item.action}' " + f"does not exist" + ) + u_msg = ( + f"Something went wrong when accessing the method " + f"'{menu_item.action}'" + ) + logger.critical(msg) + spawn_dialog(u_msg, Popup.NOTIFY) + return + + def toggle_selection(self, state: bool) -> None: + for i, rows in enumerate(mod_store): # type: ignore + path = Gtk.TreePath.new_from_indices([i]) + if state: + self.get_selection().select_path(path) + else: + self.get_selection().unselect_path(path) + + def has_mods(self) -> bool: + select = self.get_selection() + sels = select.get_selected_rows() + (model, pathlist) = sels + path = pathlist[0] + tree_iter = model.get_iter(path) + mods = model.get_value(tree_iter, 10) + return mods + + def is_in_favs(self) -> bool: + record = self.get_record_string() + proc = call_out("is_in_favs", record) + if proc.returncode == 0: + return True + return False + + def is_selection_empty(self) -> bool: + sel = self.get_selection() + sels = sel.get_selected_rows() + (model, pathlist) = sels + if len(pathlist) < 1: + return True + return False + + def _on_button_release( + self, widget: Gtk.Widget, event: Gdk.EventButton + ) -> None: if event.type is Gdk.EventType.BUTTON_RELEASE and event.button != 3: return + try: - pathinfo = self.get_path_at_pos(event.x, event.y) + pathinfo = self.get_path_at_pos(int(event.x), int(event.y)) if pathinfo is None: return (path, col, cellx, celly) = pathinfo - self.set_cursor(path,col,0) + if path is None: + return + self.set_cursor(path, col, False) except AttributeError: pass - context = self.get_first_col() self.menu = Gtk.Menu() + mod_context_items = [ContextMenu.OPEN_WORKSHOP, ContextMenu.DELETE_MOD] + server_context_items = { + RowType.SERVER_BROWSER: [ + ContextMenu.ADD_SERVER, + ContextMenu.COPY_NAME, + ContextMenu.COPY_CLIPBOARD, + ContextMenu.SHOW_MODS, + ContextMenu.REFRESH_PLAYERS, + ContextMenu.REFRESH_PING, + ], + RowType.SCAN_LAN: [ + ContextMenu.COPY_NAME, + ContextMenu.COPY_CLIPBOARD, + ContextMenu.SHOW_MODS, + ContextMenu.REFRESH_PLAYERS, + ContextMenu.REFRESH_PING, + ], + RowType.SAVED_SERVERS: [ + ContextMenu.REMOVE_SERVER, + ContextMenu.COPY_NAME, + ContextMenu.COPY_CLIPBOARD, + ContextMenu.SHOW_MODS, + ContextMenu.REFRESH_PLAYERS, + ContextMenu.REFRESH_PING, + ], + RowType.RECENT_SERVERS: [ + ContextMenu.ADD_SERVER, + ContextMenu.REMOVE_HISTORY, + ContextMenu.COPY_NAME, + ContextMenu.COPY_CLIPBOARD, + ContextMenu.SHOW_MODS, + ContextMenu.REFRESH_PLAYERS, + ContextMenu.REFRESH_PING, + ], + } - mod_context_items = ["Open in Steam Workshop", "Delete mod"] - subcontext_items = { - "Server browser": - ["Add to my servers", "Copy IP to clipboard", "Show server-side mods", "Refresh player count"], - "My saved servers": - ["Remove from my servers", "Copy IP to clipboard", "Show server-side mods", "Refresh player count"], - "Recent servers": - ["Add to my servers", "Remove from history", "Copy IP to clipboard", "Show server-side mods", "Refresh player count"], - } - # submenu hierarchy https://stackoverflow.com/questions/52847909/how-to-add-a-sub-menu-to-a-gtk-menu - - if self.view == WindowContext.TABLE_LOG: - return if self.view == WindowContext.TABLE_MODS: items = mod_context_items - subcontext = "List installed mods" - elif "Name" in context: - subcontext = context.split('(')[1].split(')')[0] - items = subcontext_items[subcontext] + elif self.subpage in server_context_items: + items = server_context_items[self.subpage] else: return - for item in items: - if subcontext == "Server browser" or "Recent servers": - if item == "Add to my servers": - record = "%s:%s" %(self.get_column_at_index(7), self.get_column_at_index(8)) - proc = call_out(widget, "is_in_favs", record) - if proc.returncode == 0: - item = "Remove from my servers" - item = Gtk.MenuItem(label=item) + for row in items: + if row == ContextMenu.ADD_SERVER: + if self.is_in_favs(): + row = ContextMenu.REMOVE_SERVER + item = Gtk.MenuItem(label=row.dict["label"]) + item.type = row + item.action = row.dict["action"] item.connect("activate", self._on_menu_click) self.menu.append(item) - + if row == ContextMenu.SHOW_MODS: + if not self.has_mods(): + item.set_sensitive(False) self.menu.show_all() if event.type is Gdk.EventType.KEY_PRESS and event.keyval is Gdk.KEY_l: - sel = self.get_selection() - sels = sel.get_selected_rows() - (model, pathlist) = sels - if len(pathlist) < 1: + if self.is_selection_empty(): return - self.menu.popup_at_widget(widget, Gdk.Gravity.CENTER, Gdk.Gravity.WEST) + self.menu.popup_at_widget( + widget, Gdk.Gravity.CENTER, Gdk.Gravity.WEST + ) else: self.menu.popup_at_pointer(event) + self.menu.select_first(False) - def refresh_player_count(self): - parent = self.get_outer_window() + def refresh_ping(self) -> None: + if not self.is_server_context(self.view): + return + record = App.treeview.get_record_dict() + try: + ip = record["ip"] + cache.pop(ip) + except KeyError: + pass + sel = App.treeview.get_selection() + App.treeview._on_tree_selection_changed(sel) - cooldown = call_out(self, "test_cooldown", "", "") + def refresh_player_count(self) -> None: + if not self.is_server_context(self.view): + return + cooldown = call_out("test_cooldown", "", "") if cooldown.returncode == 1: - spawn_dialog(self.get_outer_window(), cooldown.stdout, Popup.NOTIFY) - return 1 - call_out(self, "start_cooldown", "", "") + spawn_dialog(cooldown.stdout, Popup.NOTIFY) + return None + call_out("start_cooldown", "", "") - thread = threading.Thread(target=self._background_player_count, args=()) + thread = threading.Thread( + target=self._background_player_count, args=() + ) thread.start() - def get_outer_window(self): - win = self.get_parent().get_parent().get_parent() - return win + def get_current_iter(self) -> Gtk.TreeIter | None: + it = self.get_selection().get_selected()[1] + return it - def get_outer_grid(self): - grid = self.get_parent().get_parent() - return grid - - def get_current_iter(self): - iter = self.get_selection().get_selected()[1] - return iter - - def get_current_index(self): - index = treeview.get_selection().get_selected_rows()[1][0][0] - return index - - def _on_tree_selection_changed(self, selection): - # no statusbar queue on quad tables - - grid = self.get_outer_grid() - context = self.get_first_col() - row_sel = self.get_column_at_index(0) - logger.info("Tree selection for context '%s' changed to '%s'" %(context, row_sel)) - if self.view == WindowContext.TABLE_MODS or context == "Timestamp": + def _on_tree_selection_changed(self, selection: Gtk.TreeSelection) -> None: + # bail out on early init + if not hasattr(App, "grid"): return + grid = App.grid + + context = App.treeview.get_subpage_label() + row_sel = self.get_value_at_index(0) + logger.info( + f"Tree selection for context '{context}' changed to '{row_sel}'" + ) if self.current_proc and self.current_proc.is_alive(): self.current_proc.terminate() - if self.view == WindowContext.TABLE_API or self.view == WindowContext.TABLE_SERVER: - addr = self.get_column_at_index(7) - qport = self.get_column_at_index(8) - if addr is None: - server_tooltip[0] = format_tooltip() - grid.update_statusbar(server_tooltip[0]) + if ( + self.view == WindowContext.TABLE_API + or self.view == WindowContext.TABLE_SERVER + ): + record = self.get_record_dict() + if not record: + grid.statusbar.update_server_meta() return - if addr in cache: - server_tooltip[0] = format_tooltip() - dist = format_distance(cache[addr][0]) - ping = format_ping(cache[addr][1]) - - tooltip = server_tooltip[0] + dist + ping - grid.update_statusbar(tooltip) + ip = record["ip"] + qport = record["qport"] + if ip in cache: + km = cache[ip][0] + ping = cache[ip][1] + grid.statusbar.append_distance(km, ping) return self.emit("on_distcalc_started") - self.current_proc = CalcDist(self, addr, qport, self.queue, cache) + self.current_proc = CalcDist(self, ip, qport, self.queue, cache) self.current_proc.start() else: - tooltip = format_metadata(row_sel) - grid.update_statusbar(tooltip) + grid.statusbar.refresh() - def spawn_keys_dialog(self, widget): - diag = KeysDialog(self.get_outer_window(), '', "Keybindings") - diag.run() - diag.destroy() - self.grab_focus() + def get_selected_row_index(self) -> int: + sel = self.get_selection() + rows = sel.get_selected_rows() + cur_row = rows[1][0][0] + return cur_row - def _on_keypress_main_menu(self, treeview, event): - window = self.get_outer_window() - grid = self.get_outer_grid() - match event.keyval: - case Gdk.KEY_d: - debug = grid.right_panel.debug_toggle - if debug.get_active(): - debug.set_active(False) - else: - debug.set_active(True) - case Gdk.KEY_Right: - grid.right_panel.focus_button_box() - case Gdk.KEY_question: - if event.state is Gdk.ModifierType.SHIFT_MASK: - self.spawn_keys_dialog(None) - case Gdk.KEY_f: - if event.state is Gdk.ModifierType.CONTROL_MASK: - return True - case _: - return False + def _move_cursor(self, position: CursorPosition) -> bool | None: + cur_row = self.get_selected_row_index() + model = self.get_model() + if model: + end = len(model) - 1 + else: + return None - def _on_keypress(self, treeview, event): + if position == CursorPosition.DOWN: + if cur_row == end: + return True + dest = cur_row + 1 + if position == CursorPosition.UP: + if cur_row == 0: + return True + dest = cur_row - 1 + if position == CursorPosition.TOP: + if cur_row == 0: + return True + dest = 0 + if position == CursorPosition.BOTTOM: + if cur_row == end: + return True + dest = end + path = Gtk.TreePath.new_from_indices([dest]) + self.set_cursor(path) + return None + + def _on_keypress( + self, treeview: Gtk.TreeView, event: Gdk.EventKey + ) -> bool | None: keyname = Gdk.keyval_name(event.keyval) - grid = self.get_outer_grid() - cur_proc = grid.scrollable_treelist.treeview.current_proc + grid = App.grid if event.state is Gdk.ModifierType.CONTROL_MASK: match event.keyval: case Gdk.KEY_l: self._on_button_release(self, event) + case Gdk.KEY_p: + self.refresh_ping() case Gdk.KEY_r: self.refresh_player_count() case Gdk.KEY_f: - if self.get_first_col() == "Mod": - return - grid.right_panel.filters_vbox.grab_keyword_focus() + if not App.treeview.is_server_context(App.treeview.view): + return True + App.right_panel.filters_vbox.keyword_entry.grab_focus() case Gdk.KEY_m: - if self.get_first_col() == "Mod": - return - grid.right_panel.filters_vbox.maps_entry.grab_focus() + if App.treeview.view == WindowContext.TABLE_MODS: + return True + App.right_panel.filters_vbox.maps_entry.grab_focus() case _: return False - elif keyname.isnumeric() and int(keyname) > 0: - if self.get_first_col() == "Mod": - return - digit = (int(keyname) - 1) - grid.right_panel.filters_vbox.toggle_check(checks[digit]) else: - return False + if is_navkey(event.keyval): + suppress_signal( + App.treeview, + App.treeview.selected_row, + "_on_tree_selection_changed", + True, + ) + if keyname.isnumeric() and int(keyname) > 0: + digit = int(keyname) - 1 + grid.right_panel.filters_vbox.toggle_check(digit) + return False + if event.keyval == Gdk.KEY_G: + self._move_cursor(CursorPosition.BOTTOM) + match event.keyval: + case Gdk.KEY_g: + self._move_cursor(CursorPosition.TOP) + case Gdk.KEY_j: + self._move_cursor(CursorPosition.DOWN) + case Gdk.KEY_k: + self._move_cursor(CursorPosition.UP) + case Gdk.KEY_l | Gdk.KEY_Right: + if event.state is Gdk.ModifierType.CONTROL_MASK: + return + App.right_panel.focus_button_box() + case Gdk.KEY_0: + grid.right_panel.filters_vbox.toggle_check(9) + case Gdk.KEY_minus: + grid.right_panel.filters_vbox.toggle_check(10) + case Gdk.KEY_backslash: + grid.right_panel.filters_vbox.toggle_check(11) + case _: + return False + return None - def _focus_first_row(self): - path = Gtk.TreePath(0) + def _on_key_release( + self, treeview: Gtk.TreeView, event: Gdk.EventKey + ) -> None: + """ + Suppresses spamming on keydown + """ + if is_navkey(event.keyval): + suppress_signal( + App.treeview, + App.treeview.selected_row, + "_on_tree_selection_changed", + False, + ) + selection = self.get_selection() + self._on_tree_selection_changed(selection) + + def focus_first_row(self) -> None: + path = Gtk.TreePath.new_from_indices([0]) try: - it = mod_store.get_iter(path) self.get_selection().select_path(path) except ValueError: pass - def get_column_at_index(self, index): + def get_value_at_index(self, index: int) -> str: select = self.get_selection() sels = select.get_selected_rows() (model, pathlist) = sels if len(pathlist) < 1: - return + return "" path = pathlist[0] tree_iter = model.get_iter(path) value = model.get_value(tree_iter, index) return value - def _background_player_count(self): - def _load(): - lines = data.stdout.splitlines() - #update players - server_store[path][4] = int(lines[0]) - #update queue - server_store[path][6] = int(lines[1]) - wait_dialog.destroy() + def get_name(self) -> str: + name = self.get_value_at_index(0) + return name - parent = self.get_outer_window() - wait_dialog = GenericDialog(parent, "Refreshing player count", Popup.WAIT) - wait_dialog.show_all() + def get_record_string(self) -> str: + addr = self.get_value_at_index(7) + qport = self.get_value_at_index(8) + return f"{addr}:{qport}" + + def get_record_dict(self) -> dict | None: select = self.get_selection() sels = select.get_selected_rows() (model, pathlist) = sels if len(pathlist) < 1: - return + return None path = pathlist[0] - tree_iter = model.get_iter(path) - addr = server_store[path][7] - qport = server_store[path][8] - ip = addr.split(':')[0] + model = self.get_model() + if not model: + return + addr = model[path][7] + qport = model[path][8] + ip = addr.split(":")[0] qport = str(qport) + return {"ip": ip, "qport": qport} - data = call_out(self, "get_player_count", ip, qport) + def update_players(self, players: int) -> None: + model = self.get_model() + path = self.get_mpath() + if not model: + return + if not path: + return + model[path][4] = players + + def update_queue(self, players: int) -> None: + model = self.get_model() + path = self.get_mpath() + model[path][6] = players + + def select_first_row(self): + sel = self.get_selection() + self._on_tree_selection_changed(sel) + + def get_mpath(self) -> Gtk.TreePath | None: + select = self.get_selection() + sels = select.get_selected_rows() + (model, pathlist) = sels + if len(pathlist) < 1: + return None + path = pathlist[0] + return path + + def _background_player_count(self) -> None: + def _load(): + lines = data.stdout.splitlines() + self.update_players(int(lines[0])) + self.update_queue(int(lines[1])) + wait_dialog.destroy() + + wait_dialog = GenericDialog("Refreshing player count", Popup.WAIT) + wait_dialog.show_all() + record = self.get_record_dict() + if not record: + return + ip = record["ip"] + qport = record["qport"] + data = call_out("get_player_count", ip, qport) if data.returncode == 1: wait_dialog.destroy() return GLib.idle_add(_load) - def _background(self, dialog, mode): - def loadTable(): - for map in maps: - map_store.append([map]) - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', True) - right_panel.set_filter_visibility(True) - dialog.destroy() - self.grab_focus() - for column in self.get_columns(): - column.connect("notify::width", self._on_col_width_changed) - if len(server_store) == 0: - call_out(self, "start_cooldown", "", "") - api_warn_msg = """\ - No servers returned. Possible network issue or API key on cooldown? - Return to the main menu, wait 60s, and try again. - If this issue persists, your API key may be defunct.""" - spawn_dialog(self.get_outer_window(), textwrap.dedent(api_warn_msg), Popup.NOTIFY) + def _dump_api(self): + key = query_config("steam_api") + job = Servers.query_api + params = Servers.params + with ThreadPoolExecutor() as executor: + futures = [executor.submit(job, key, param) for param in params] + wait(futures) + serv = [] + for future in futures: + if future.result().status_code != 200: + ModelManager.set_store(None) + ModelManager.set_success(False) + GLib.idle_add(self._filter_cleanup) + return + j = future.result().json() + serv += j["response"]["servers"] + with open("banana", "w") as f: + f.write(json.dumps(serv)) + parsed = Servers.parse(serv) + return parsed - grid = self.get_outer_grid() - right_panel = grid.right_panel + def _dump_lan(self, port: int) -> list | None: + with ThreadPoolExecutor() as executor: + futures = [ + executor.submit(Servers.test_ip, i, port) + for i in range(1, 256) + ] + wait(futures) + servers = [] + for future in futures: + res = future.result() + if res is None: + continue + servers.append(res) + if len(servers) == 0: + ModelManager.set_store(None) + ModelManager.set_success(False) + GLib.idle_add(self._filter_cleanup) + return None + parsed = Servers.parse(servers) + return parsed - filters = toggled_checks + keyword_filter + selected_map - data = call_out(self, "dump_servers", mode, *filters) + def _dump_servers(self, ips: list) -> list | None: + if len(ips) == 0: + return [] + with ThreadPoolExecutor() as executor: + futures = [ + executor.submit( + Servers.query_direct, + ip.split(":")[0], + int(ip.split(":")[2]), + ) + for ip in ips + ] + wait(futures) + serv = [] + for future in futures: + res = future.result() + if res is None: + continue + serv.append(res) + if len(serv) == 0: + ModelManager.set_store(None) + ModelManager.set_success(False) + GLib.idle_add(self._filter_cleanup) + return None + parsed = Servers.parse(serv) + return parsed - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', False) - parse_server_rows(data) - server_tooltip[0] = format_tooltip() - grid.update_statusbar(server_tooltip[0]) + def _query_servers(self, mode: RowType, port: int = 27016) -> None: + block_signals() - map_data = call_out(self, "get_unique_maps", mode) - maps = map_data.stdout.splitlines() - self.set_model(server_store) - GLib.idle_add(loadTable) + match mode: + case RowType.SCAN_LAN: + parsed = self._dump_lan(port) + case RowType.SERVER_BROWSER: + parsed = self._dump_api() + case RowType.SAVED_SERVERS: + favs = query_favorites() + if not favs: + ModelManager.set_success(False) + ModelManager.set_store(None) + GLib.idle_add(self._filter_cleanup) + return + parsed = self._dump_servers(favs) + case RowType.RECENT_SERVERS: + history = query_history() + if not history: + ModelManager.set_success(False) + ModelManager.set_store(None) + GLib.idle_add(self._filter_cleanup) + return + parsed = self._dump_servers(history) - def _background_quad(self, dialog, mode): + if parsed is None: + return + App.right_panel.reinit_maps(parsed) + + # intialize to empty + ModelManager.set_store(None) + ModelManager.set_control(parsed) + ModelManager.filter(FilterMode.INITIAL) + + def _filter_cleanup(self, empty: bool = False) -> None: + model = ModelManager.get_store() + self.set_model(model) + + if App.treeview.subpage == RowType.SERVER_BROWSER: + call_out("start_cooldown", "", "") + + """ + There may be scenarios where opposed filter results + deterministically yield 0 hits. The model needs to be + emptied without triggering a fetch error. This method is + reserved for cases where the query actually failed. + """ + if not ModelManager.get_success(): + if self.wait_dialog: + self.wait_dialog.destroy() + spawn_dialog(api_warn_msg, Popup.RETURN) + unblock_signals() + return + + if App.right_panel.filters_vbox.get_active_combo() < 0: + App.right_panel.filters_vbox.set_active_combo(0) + App.grid.right_panel.filters_vbox.set_visible(True) + for column in self.get_columns(): + column.connect("notify::width", self._on_col_width_changed) + + App.grid.statusbar.update_server_meta() + + if self.wait_dialog: + self.wait_dialog.destroy() + unblock_signals() + self.grab_focus() + App.treeview.select_first_row() + + def filter(self, mode: FilterMode, *args) -> None: + block_signals() + self.wait_dialog = GenericDialog("Filtering servers", Popup.WAIT) + self.wait_dialog.show_all() + + ModelManager.set_store(App.treeview.get_model()) + App.treeview.set_model(None) + + thread = threading.Thread( + target=ModelManager.filter, args=(mode, *args) + ) + thread.start() + + def _background_quad(self, dialog: "GenericDialog", mode: RowType) -> None: # currently only used by list mods method def load(): dialog.destroy() # suppress button panel if store is empty - if isinstance(panel_last_child, ModSelectionPanel): - if total_mods == 0: - # do not forcibly remove previously added widgets when reloading in-place - grid.sel_panel.set_visible(False) - right_panel.set_filter_visibility(False) - else: - grid.sel_panel.set_visible(True) - grid.sel_panel.initialize() + if total_mods == 0: + grid.sel_panel.set_visible(False) + right_panel.filters_vbox.set_visible(False) + logger.info("Nothing to do, spawning notice dialog") + spawn_dialog(data.stdout, Popup.RETURN) + return + else: + grid.sel_panel.set_visible(True) + grid.sel_panel.initialize() self.set_model(mod_store) self.grab_focus() - size = locale.format_string('%.3f', total_size, grouping=True) + size = locale.format_string("%.3f", total_size, grouping=True) pretty = pluralize("mods", total_mods) - grid.update_statusbar(f"Found {total_mods:n} {pretty} taking up {size} MiB") + grid.statusbar.set_text( + f"Found {total_mods:n} {pretty} taking up {size} MiB" + ) + self.focus_first_row() - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', True) - toggle_signal(self, self, '_on_keypress', True) - self._focus_first_row() - if total_mods == 0: - logger.info("Nothing to do, spawning notice dialog") - spawn_dialog(self.get_outer_window(), data.stdout, Popup.NOTIFY) - - widgets = relative_widget(self) - grid = widgets["grid"] + grid = App.grid right_panel = grid.right_panel - data = call_out(self, mode.dict["label"], '') - panel_last_child = right_panel.get_children()[-1] + data = call_out(mode.dict["label"], "") # suppress errors if no mods available on system if data.returncode == 1: logger.info("Failed to find mods on local system") total_mods = 0 total_size = 0 - GLib.idle_add(load) else: - # show button panel missing (prevents duplication when reloading in-place) - if not isinstance(panel_last_child, ModSelectionPanel): + if App.treeview.view == WindowContext.TABLE_MODS: grid.sel_panel.set_visible(True) - result = parse_mod_rows(data) - total_size = result[0] - total_mods = result[1] - logger.info("Found mods on local system") - logger.info("Total mod size: %s" %(total_size)) - logger.info("Total mod count: %s" %(total_mods)) - GLib.idle_add(load) + result = self._parse_mod_rows(data) + try: + total_size = result[0] + total_mods = result[1] + info = ( + f"Found mods on local system: " + f"{total_mods} total, occupies {total_size}" + ) + except IndexError: + total_size = 0 + total_mods = 0 + info = "Found mods on system, but was unable to parse results." + finally: + logger.info(info) + GLib.idle_add(load) - def _on_col_width_changed(self, col, width): + def _parse_log_rows(self, data: subprocess.CompletedProcess) -> bool: + lines = data.stdout.splitlines() + reader = csv.reader(lines, delimiter=delimiter) + try: + rows = [[row[0], row[1], row[2], row[3]] for row in reader if row] + except IndexError: + return False + for row in rows: + log_store.append(row) + return True + def _parse_mod_rows(self, data: subprocess.CompletedProcess) -> list: + # GTK pads trailing zeroes on floats + # https://stackoverflow.com/questions/26827434/gtk-cellrenderertext-with-format + total = float(0) + lines = data.stdout.splitlines() + hits = len(lines) + reader = csv.reader(lines, delimiter=delimiter) + + # Nonetype inherits default GTK color + try: + rows = [ + [row[0], row[1], row[2], locale.atof(row[3], func=float), None] + for row in reader + if row + ] + except IndexError: + return [] + for row in rows: + mod_store.append(row) + total += float(row[3]) + return [total, hits] + + def _on_col_width_changed( + self, col: Gtk.TreeViewColumn, width: GObject.ParamSpecInt + ) -> None: def write_json(title, size): - data = {"cols": { title: size } } + data = {"cols": {title: size}} j = json.dumps(data, indent=2) with open(geometry_path, "w") as outfile: outfile.write(j) - logger.info("Wrote initial column widths to '%s'" %(geometry_path)) + logger.info(f"Wrote initial column widths to '{geometry_path}'") title = col.get_title() size = col.get_width() - # steam deck column title workaround - if "Name" in title: - title = "Name" if os.path.isfile(geometry_path): with open(geometry_path, "r") as infile: @@ -1566,356 +2284,314 @@ class TreeView(Gtk.TreeView): with open(geometry_path, "w") as outfile: outfile.write(json.dumps(data, indent=2)) except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(geometry_path)) + logger.critical(f"JSON decode error in '{geometry_path}'") write_json(title, size) else: write_json(title, size) - def _update_multi_column(self, mode): - # Local server lists may have different filter toggles from remote list - # FIXME: tree selection updates twice here. attach signal later - self.set_headers_visible(True) - - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', False) - for column in self.get_columns(): - self.remove_column(column) - row_store.clear() - + def initialize_columns(self) -> None: if os.path.isfile(geometry_path): with open(geometry_path, "r") as infile: try: data = json.load(infile) valid_json = True except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(geometry_path)) + logger.critical(f"JSON decode error in '{geometry_path}'") valid_json = False else: valid_json = False + browser_cols = [ + "Name", + "Map", + "Perspective", + "Gametime", + "Players", + "Maximum", + "Queue", + "IP", + "Qport", + ] for i, column_title in enumerate(browser_cols): renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(column_title, renderer, text=i) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) column.set_resizable(True) column.set_sort_column_id(i) if valid_json: - if "Name" in column_title: - column_title = "Name" saved_size = data["cols"][column_title] column.set_fixed_width(saved_size) column.set_expand(True) else: - if ("Name" in column_title): + if column_title == "Name": column.set_fixed_width(800) - if (column_title == "Map"): + if column_title == "Map": column.set_fixed_width(300) - if i != 10: - self.append_column(column) + self.append_column(column) - self.update_first_col(mode.dict["label"]) - - widgets = relative_widget(self) - grid = widgets["grid"] - window = widgets["outer"] - window.hb.set_subtitle(mode.dict["label"]) - - transient_parent = window - - # Reset map selection - selected_map.clear() - selected_map.append("Map=All maps") + @update_window_labels + def _update_multi_column(self, mode: RowType, port: int = 27016) -> None: + self.subpage = mode + self.set_headers_visible(True) + for column in self.get_columns(): + self.remove_column(column) + row_store.clear() + self.initialize_columns() self.set_selection_mode(Gtk.SelectionMode.SINGLE) - for check in checks: - toggle_signal(self.get_outer_grid().right_panel.filters_vbox, check, '_on_check_toggle', True) - toggle_signal(self, self, '_on_keypress', True) - - string = mode.dict["label"] - if mode == RowType.SCAN_LAN: - lan_dialog = LanButtonDialog(self.get_outer_window()) - port = lan_dialog.get_selected_port() - if port is None: - grid = self.get_outer_grid() - right_panel = grid.right_panel - vbox = right_panel.button_vbox - vbox._update_single_column(ButtonType.MAIN_MENU) - return - string = string + ":" + port - - wait_dialog = GenericDialog(transient_parent, "Fetching server metadata", Popup.WAIT) - wait_dialog.show_all() - thread = threading.Thread(target=self._background, args=(wait_dialog, string)) + self.wait_dialog = GenericDialog( + "Fetching server metadata", Popup.WAIT + ) + self.wait_dialog.show_all() + thread = threading.Thread( + target=self._query_servers, args=(mode, port) + ) thread.start() - def update_first_col(self, title): - for col in self.get_columns(): - old_title = col.get_title() - col.set_title("%s (%s)" %(old_title, title)) - break - - def get_first_col(self): - for col in self.get_columns(): - cur_col = col.get_title() - break - return cur_col - - def _format_float(self, column, cell, model, iter, data): + def _format_float( + self, + column: Gtk.TreeViewColumn, + cell: Gtk.CellRendererText, + model: Gtk.TreeModel, + it: Gtk.TreeIter, + data: Any, + ) -> Any: # https://docs.huihoo.com/pygtk/2.0-tutorial/sec-CellRenderers.html - val = model[iter][3] - formatted = locale.format_string('%.3f', val, grouping=True) - cell.set_property('text', formatted) + val = model[it][3] + formatted = locale.format_string("%.3f", val, grouping=True) + cell.set_property("text", formatted) return - def set_selection_mode(self, mode): + def set_selection_mode(self, mode: Gtk.SelectionMode) -> None: sel = self.get_selection() sel.set_mode(mode) - def update_quad_column(self, mode): - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', False) - for column in self.get_columns(): - self.remove_column(column) - - self.set_headers_visible(True) - mod_store.clear() - log_store.clear() - - if mode == RowType.LIST_MODS: - cols = mod_cols - self.set_model(mod_store) - else: - cols = log_cols - self.set_model(log_store) + def _set_quad_col_mode(self, mode: RowType) -> None: + mod_cols = ["Mod", "Symlink", "Dir", "Size (MiB)", "Color"] + log_cols = ["Timestamp", "Flag", "Traceback", "Message"] + match mode: + case RowType.LIST_MODS: + cols = mod_cols + model = mod_store + self.set_selection_mode(Gtk.SelectionMode.MULTIPLE) + case RowType.SHOW_LOG: + cols = log_cols + model = log_store + self.set_model(model) for i, column_title in enumerate(cols): renderer = Gtk.CellRendererText() - column = Gtk.TreeViewColumn(column_title, renderer, text=i, foreground=4) if mode == RowType.LIST_MODS: + column = Gtk.TreeViewColumn( + column_title, renderer, text=i, foreground=4 + ) if i == 3: - column.set_cell_data_func(renderer, self._format_float, func_data=None) + column.set_cell_data_func( + renderer, self._format_float, func_data=None + ) + else: + # WindowContext.TABLE_LOG uses undecorated columns + column = Gtk.TreeViewColumn(column_title, renderer, text=i) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) column.set_sort_column_id(i) # hidden color property column if i != 4: self.append_column(column) - widgets = relative_widget(self) - grid = widgets["grid"] - window = widgets["outer"] - try: - window.hb.set_subtitle(mode.dict["quad_label"]) - except KeyError: - window.hb.set_subtitle(mode.dict["label"]) + @update_window_labels + def _populate(self, context: WindowContext) -> None: + self.view = context + self.page = context + self.subpage = None - if mode == RowType.LIST_MODS: - self.set_selection_mode(Gtk.SelectionMode.MULTIPLE) - else: - # short circuit and jump to debug log - data = call_out(self, "show_log") - res = parse_log_rows(data) - toggle_signal(self, self, '_on_keypress', True) - if res == 1: - spawn_dialog(self.get_outer_window(), "Failed to load log file, possibly corrupted", Popup.NOTIFY) + row_store.clear() + array = context.dict["rows"] + + for item in array: + label = item.dict["label"] + row = (label,) + row_store.append(row) + App.grid.statusbar.refresh() + App.grid.notebook.set_page_enum(NotebookPage.MAIN) + self.grab_focus() + + @signal_emission + def update_single_column(self, button_context: ButtonType) -> None: + msg = ( + f"Returning from multi-column view to monocolumn view " + f"for the context '{button_context}'" + ) + logger.info(msg) + model = self.get_model() + if model: + model.clear() + ModelManager.wipe_cache(full=True) + + App.right_panel.filters_vbox.reinit_panel() + self.set_selection_mode(Gtk.SelectionMode.SINGLE) + + for column in self.get_columns(): + self.remove_column(column) + for i, column_title in enumerate([button_context.dict["label"]]): + renderer = Gtk.CellRendererText() + column = Gtk.TreeViewColumn(column_title, renderer, text=i) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + self.append_column(column) + + if not IS_STEAM_DECK: + self.set_headers_visible(False) + self.set_model(row_store) + self._populate(button_context.dict["opens"]) + self.grab_focus() + + def update_quad_column(self, mode: RowType) -> None: + for column in self.get_columns(): + self.remove_column(column) + + self.subpage = mode + self.set_headers_visible(True) + self._set_quad_col_mode(mode) + + mod_store.clear() + log_store.clear() + + if mode == RowType.SHOW_LOG: + data = call_out("show_log") + res = self._parse_log_rows(data) + App.treeview.focus_first_row() + if not res: + spawn_dialog( + "Failed to load log file, possibly corrupted", Popup.NOTIFY + ) return + else: + wait_dialog = GenericDialog("Checking mods", Popup.WAIT) + wait_dialog.show_all() + thread = threading.Thread( + target=self._background_quad, args=(wait_dialog, mode) + ) + thread.start() - - wait_dialog = GenericDialog(window, "Checking mods", Popup.WAIT) - wait_dialog.show_all() - thread = threading.Thread(target=self._background_quad, args=(wait_dialog, mode)) - thread.start() - - def _background_connection(self, dialog, record): + def _background_connection( + self, dialog: "GenericDialog", record: str + ) -> None: def load(): dialog.destroy() - transient = self.get_outer_window() out = proc.stdout.splitlines() msg = out[-1] - process_shell_return_code(transient, msg, proc.returncode, record) + process_shell_return_code(msg, proc.returncode, record) - proc = call_out(self, "Connect from table", record) + proc = call_out("Connect from table", record) GLib.idle_add(load) - - def _attempt_connection(self): - transient_parent = self.get_outer_window() - addr = self.get_column_at_index(7) - qport = self.get_column_at_index(8) - record = "%s:%s" %(addr, str(qport)) - - wait_dialog = GenericDialog(transient_parent, "Querying server and aligning mods", Popup.WAIT) + def _attempt_connection(self) -> None: + record = self.get_record_string() + msg = "Querying server and aligning mods" + wait_dialog = GenericDialog(msg, Popup.WAIT) wait_dialog.show_all() - thread = threading.Thread(target=self._background_connection, args=(wait_dialog, record)) + thread = threading.Thread( + target=self._background_connection, args=(wait_dialog, record) + ) thread.start() - def _on_row_activated(self, treeview, tree_iter, col): - context = self.get_first_col() - chosen_row = self.get_column_at_index(0) + def is_row_to_server_context(self, view: RowType) -> bool: + """Row activation that jumps into a server table""" + row_contexts = [ + RowType.SERVER_BROWSER, + RowType.RECENT_SERVERS, + RowType.SAVED_SERVERS, + ] + if view in row_contexts: + return True + return False + + def is_server_context(self, view: WindowContext) -> bool: + """Server tables""" + server_contexts = [ + WindowContext.TABLE_API, + WindowContext.TABLE_SERVER, + ] + if view in server_contexts: + return True + return False + + def is_dynamic_context(self, view: WindowContext) -> bool: + """Tables populated with arbitrary content""" + dynamic_contexts = [ + WindowContext.TABLE_LOG, + WindowContext.TABLE_SERVER, + WindowContext.TABLE_API, + ] + if view in dynamic_contexts: + return True + return False + + def set_view(self, view): + self.view = view + + def get_view(self): + return self.view + + @signal_emission + @update_window_labels + def _on_row_activated( + self, + treeview: Gtk.TreeView, + tree_iter: Gtk.TreePath, + col: Gtk.TreeViewColumn, + ) -> None: + context = self.page + chosen_row = self.get_value_at_index(0) - # recycled from ModDialog if self.view == WindowContext.TABLE_MODS: - select = treeview.get_selection() - sels = select.get_selected_rows() - (model, pathlist) = sels - if len(pathlist) < 1: - return - path = pathlist[0] - tree_iter = model.get_iter(path) - mod_id = model.get_value(tree_iter, 2) - base_cmd = "open_workshop_page" - subprocess.Popen(['/usr/bin/env', 'bash', funcs, base_cmd, mod_id]) + self.open_workshop() return - dynamic_contexts = [ - WindowContext.TABLE_LOG, - WindowContext.TABLE_SERVER, - WindowContext.TABLE_API - ] - - # if already in table, the row selection is arbitrary - if self.view in dynamic_contexts: - cr = RowType.DYNAMIC + if self.is_dynamic_context(self.view): + cr = RowType.DYNAMIC else: cr = RowType.str2rowtype(chosen_row) wc = WindowContext.row2con(cr) - self.view = wc + self.set_view(wc) - output = self.view, cr - logger.info("User selected '%s' for the context '%s'" %(chosen_row, context)) + output = cr + logger.info(f"User selected '{cr}' for the context '{context}'") - if self.view == WindowContext.TABLE_LOG and cr == RowType.DYNAMIC: + if cr == RowType.SCAN_LAN: + lan_dialog = LanDialog() + lan_dialog.run() + lan_dialog.destroy() + port = lan_dialog.get_selected_port() + if port is None: + return + App.right_panel.filters_vbox.enable_all_filters() + self._update_multi_column(cr, port=port) return - outer = self.get_outer_window() - right_panel = outer.grid.right_panel - filters_vbox = right_panel.filters_vbox - - server_contexts = [ - RowType.SCAN_LAN, - RowType.SERVER_BROWSER, - RowType.RECENT_SERVERS, - RowType.SAVED_SERVERS - ] - - # server contexts share the same model type - if cr in server_contexts: + if self.is_row_to_server_context(cr): if cr == RowType.SERVER_BROWSER: - cooldown = call_out(self, "test_cooldown", "", "") + cooldown = call_out("test_cooldown", "", "") if cooldown.returncode == 1: - spawn_dialog(outer, cooldown.stdout, Popup.NOTIFY) - # reset context to main menu if navigation was blocked - self.view = WindowContext.MAIN_MENU - return 1 - for check in checks: - toggle_signal(filters_vbox, check, '_on_check_toggle', False) - reinit_checks() + spawn_dialog(cooldown.stdout, Popup.NOTIFY) + self.set_view(WindowContext.MAIN_MENU) + return + App.grid.right_panel.filters_vbox.reinit_filters() else: - for check in checks: - toggle_signal(filters_vbox, check, '_on_check_toggle', False) - if check.get_label() not in toggled_checks: - toggled_checks.append(check.get_label()) - check.set_active(True) + # local server lists need not be restricted + App.right_panel.filters_vbox.enable_all_filters() self._update_multi_column(cr) - - map_store.clear() - map_store.append(["All maps"]) - right_panel.set_active_combo() - - toggle_signal(filters_vbox, filters_vbox.maps_combo, '_on_map_changed', True) - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', True) - self.grab_focus() return - if self.view == WindowContext.TABLE_MODS or self.view == WindowContext.TABLE_LOG: - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', False) - self.update_quad_column(cr) - toggle_signal(self, self.selected_row, '_on_tree_selection_changed', True) - elif self.view == WindowContext.TABLE_SERVER or self.view == WindowContext.TABLE_API: - self._attempt_connection() - else: - # implies any other non-server option selected from main menu - process_tree_option(output, self) - - -def format_metadata(row_sel): - # this function is recycled for the add by ip/id methods + - # the right-click context menu (add/remove servers) - # in the latter case, there is no metadata to update - # see grid.update_statusbar(), so the returned row is None - row = None - for i in RowType: - if i.dict["label"] == row_sel: - row = i - prefix = i.dict["tooltip"] - break - vals = { - "branch": config_vals[0], - "debug": config_vals[1], - "auto_install": config_vals[2], - "name": config_vals[3], - "fav_label": config_vals[4], - "preferred_client": config_vals[5], - "fullscreen": config_vals[6] - } - if row is None: - return None - try: - alt = row.dict["alt"] - default = row.dict["default"] - val = row.dict["val"] - except KeyError: - return prefix - try: - cur_val = vals[val] - if cur_val == "": - return "%s | Current: '%s'" %(prefix, default) - # TODO: migrate to human readable config values - elif cur_val == "1": - return "%s | Current: '%s'" %(prefix, alt) - else: - return "%s | Current: '%s'" %(prefix, cur_val) - except KeyError: - return prefix - - -def format_tooltip(): - hits = len(server_store) - players = 0 - for row in server_store: - players+= row[4] - hits_pretty = pluralize("matches", hits) - players_pretty = pluralize("players", players) - tooltip = f"Found {hits:n} {hits_pretty} with {players:n} {players_pretty}" - return tooltip - - -def filter_servers(transient_parent, filters_vbox, treeview, context): - def filter(dialog): - def clear_and_destroy(): - parse_server_rows(data) - server_tooltip[0] = format_tooltip() - transient_parent.grid.update_statusbar(server_tooltip[0]) - - toggle_signal(treeview, treeview.selected_row, '_on_tree_selection_changed', True) - toggle_signal(filters_vbox, filters_vbox, '_on_button_release', True) - toggle_signal(filters_vbox, filters_vbox.maps_combo, '_on_map_changed', True) - dialog.destroy() - treeview.grab_focus() - - server_filters = toggled_checks + keyword_filter + selected_map - data = call_out(transient_parent, "filter", context, *server_filters) - GLib.idle_add(clear_and_destroy) - - # block additional input on FilterPanel while filters are running - toggle_signal(treeview, treeview.selected_row, '_on_tree_selection_changed', False) - toggle_signal(filters_vbox, filters_vbox, '_on_button_release', False) - toggle_signal(filters_vbox, filters_vbox.maps_combo, '_on_map_changed', False) - - dialog = GenericDialog(transient_parent, "Filtering results", Popup.WAIT) - dialog.show_all() - server_store.clear() - - thread = threading.Thread(target=filter, args=(dialog,)) - thread.start() + match self.view: + case WindowContext.TABLE_MODS | WindowContext.TABLE_LOG: + self.update_quad_column(cr) + case WindowContext.TABLE_SERVER | WindowContext.TABLE_API: + self._attempt_connection() + case _: # any other non-server option from the main menu + process_tree_option(output) class AppHeaderBar(Gtk.HeaderBar): @@ -1927,12 +2603,7 @@ class AppHeaderBar(Gtk.HeaderBar): class GenericDialog(Gtk.MessageDialog): - def __init__(self, parent, text, mode): - - def _on_dialog_delete(self, response_id): - """Passively ignore user-input""" - return True - + def __init__(self, text: str, mode: Popup): match mode: case Popup.WAIT: dialog_type = Gtk.MessageType.INFO @@ -1942,6 +2613,10 @@ class GenericDialog(Gtk.MessageDialog): dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.OK header_text = "Notice" + case Popup.RETURN: + dialog_type = Gtk.MessageType.INFO + button_type = Gtk.ButtonsType.OK + header_text = "Notice" case Popup.CONFIRM: dialog_type = Gtk.MessageType.QUESTION button_type = Gtk.ButtonsType.OK_CANCEL @@ -1950,20 +2625,19 @@ class GenericDialog(Gtk.MessageDialog): dialog_type = Gtk.MessageType.QUESTION button_type = Gtk.ButtonsType.OK_CANCEL header_text = "User input required" - case _: + case Popup.MODLIST: dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.OK - header_text = mode + header_text = "Modlist" Gtk.MessageDialog.__init__( self, - transient_for=parent, - flags=0, + transient_for=App.window, message_type=dialog_type, text=header_text, secondary_text=textwrap.fill(text, 50), buttons=button_type, - title="DZGUI - Dialog", + title=f"{app_name}", modal=True, ) @@ -1972,292 +2646,272 @@ class GenericDialog(Gtk.MessageDialog): spinner = Gtk.Spinner() dialogBox.pack_end(spinner, False, False, 0) spinner.start() - self.connect("delete-event", _on_dialog_delete) + self.connect("delete-event", self._on_dialog_delete) + + if mode == Popup.RETURN: + button_label = "Return to main menu" + ok = self.action_area.get_children()[0] + ok.set_label(button_label) + ok.connect("clicked", self._return_to_main_menu) + self.connect("delete-event", self._return_to_main_menu) self.set_default_response(Gtk.ResponseType.OK) self.set_size_request(500, 0) self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT) - def update_label(self, text): + self.action_area.set_layout(Gtk.ButtonBoxStyle.CENTER) + self.action_area.set_margin_bottom(20) + self.outer = self.get_content_area() + self.outer.set_margin_start(30) + self.outer.set_margin_end(30) + + def _on_dialog_delete( + self, response_id: Gtk.ResponseType + ) -> Literal[True]: + return True + + def _return_to_main_menu(self, widget: Gtk.Widget) -> None: + App.treeview.update_single_column(ButtonType.MAIN_MENU) + + def update_label(self, text: str) -> None: self.format_secondary_text(text) -class LanButtonDialog(Gtk.Window): - def __init__(self, parent): - super().__init__() +class LanDialog(Gtk.MessageDialog): + """ + Performs integer validation on the provided port + and blocks if out of range. Returns None if user cancels + """ - self.buttonBox = Gtk.Box() + def __init__(self): + super().__init__( + transient_for=App.window, + flags=0, + message_type=Gtk.MessageType.INFO, + buttons=Gtk.ButtonsType.OK_CANCEL, + text="Scan LAN servers", + secondary_text="Select the query port", + title="{appname}", + modal=True, + ) + + self.set_size_request(500, 0) + self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT) - header_label = "Scan LAN servers" buttons = [ - ( "Use default query port (27016)", Port.DEFAULT ), - ( "Enter custom query port", Port.CUSTOM ), - ] + ("Use default query port (27016)", Port.DEFAULT), + ("Enter custom query port", Port.CUSTOM), + ] - self.buttonBox.set_orientation(Gtk.Orientation.VERTICAL) - self.buttonBox.active_button = None + self.button_box = Gtk.Box() + self.button_box.set_orientation(Gtk.Orientation.VERTICAL) + self.button_box.active_button = None - for i in enumerate(buttons): - - string = i[1][0] - enum = i[1][1] - - button = Gtk.RadioButton(label=string) - button.port = enum + for k, v in buttons: + button = Gtk.RadioButton(label=k) + button.port = v button.connect("toggled", self._on_button_toggled) - - if i[0] == 0: - self.buttonBox.active_button = button + self.button_box.add(button) + if v == Port.DEFAULT: + self.button_box.active_button = button else: - button.join_group(self.buttonBox.active_button) - - self.buttonBox.add(button) + button.join_group(self.button_box.active_button) self.entry = Gtk.Entry() - self.buttonBox.add(self.entry) + self.button_box.add(self.entry) self.entry.set_no_show_all(True) - self.label = Gtk.Label() - self.label.set_text("Invalid port") - self.label.set_no_show_all(True) - self.buttonBox.add(self.label) + self.warn_label = Gtk.Label(label="Invalid port") + self.warn_label.set_no_show_all(True) + self.button_box.add(self.warn_label) - self.dialog = LanDialog(parent, header_label, self.buttonBox, self.entry, self.label) - self.dialog.run() - self.dialog.destroy() + content = self.get_content_area() + content.pack_start(self.button_box, False, False, 0) + content.set_margin_start(30) + content.set_margin_end(30) + content.show_all() - def get_selected_port(self): - return self.dialog.p + self.action_area.set_layout(Gtk.ButtonBoxStyle.CENTER) + self.action_area.set_margin_bottom(20) - def _on_button_toggled(self, button): + self.port = None + self.ok = self.action_area.get_children()[1] + + self.connect("response", self._on_dialog_response) + self.connect("key-press-event", self._on_keypress) + self.connect("delete-event", self.restore_context) + + self.entry.connect("insert-text", self._on_text_typed) + self.entry.get_property("buffer").connect( + "deleted-text", self._on_text_deleted + ) + + def _validate(self, text: str) -> None: + if self._is_invalid(text): + state = False + self.warn_label.set_visible(True) + else: + state = True + self.warn_label.set_visible(False) + + self.ok.set_sensitive(state) + if len(text) == 0: + self.warn_label.set_visible(False) + + def _on_text_deleted( + self, buffer: Gtk.EntryBuffer, position: int, chars: int + ) -> None: + text = buffer.get_text() + self._validate(text) + + def _on_text_typed( + self, entry: Gtk.Entry, text: str, length: int, pos: int + ) -> None: + self._validate(entry.get_text() + text) + + def restore_context(self, *args) -> None: + context = WindowContext.MAIN_MENU + App.treeview.set_view(context) + + def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None: + if event.keyval == Gdk.KEY_Return: + if self.ok.is_sensitive(): + self.response(Gtk.ResponseType.OK) + if self.button_box.get_children()[0].is_focus(): + self.response(Gtk.ResponseType.OK) + else: + self.restore_context() + + if event.keyval == Gdk.KEY_Up: + self.ok.set_sensitive(True) + self.entry.set_text("") + self.button_box.get_children()[0].grab_focus() + + def _on_dialog_response( + self, dialog: "LanDialog", response: Gtk.ResponseType + ) -> None: + cancel_events = [ + Gtk.ResponseType.CLOSE, + Gtk.ResponseType.CANCEL, + Gtk.ResponseType.DELETE_EVENT, + ] + + if response in cancel_events: + self.restore_context() + return + + string = self.entry.get_text() + port = self.button_box.active_button.port + + match port: + case Port.DEFAULT: + self.port = 27016 + case Port.CUSTOM: + if self._is_invalid(string): + self.stop_emission_by_name("response") + else: + self.port = int(string) + + def _is_invalid(self, string: str) -> bool: + if ( + not string.isdigit() + or int(string) == 0 + or int(string[0]) == 0 + or int(string) > 65535 + ): + return True + return False + + def get_selected_port(self) -> int: + return self.port + + def _on_button_toggled(self, button: Gtk.Button) -> None: if button.get_active(): - self.buttonBox.active_button = button - + self.button_box.active_button = button match button.port: case Port.DEFAULT: self.entry.set_visible(False) case Port.CUSTOM: self.entry.set_visible(True) self.entry.grab_focus() - - def get_active_button(): - return self.buttonBox.active_button - - -class LanDialog(Gtk.MessageDialog): - # Custom dialog class that performs integer validation and blocks input if invalid port - # Returns None if user cancels the dialog - def __init__(self, parent, text, child, entry, label): - super().__init__(transient_for=parent, - flags=0, - message_type=Gtk.MessageType.INFO, - buttons=Gtk.ButtonsType.OK_CANCEL, - text=text, - secondary_text="Select the query port", - title="DZGUI - Dialog", - modal=True, - ) - - self.outer = self.get_content_area() - self.outer.pack_start(child, False, False, 0) - self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT) - self.set_size_request(500, 0) - self.outer.set_margin_start(30) - self.outer.set_margin_end(30) - self.outer.show_all() - - self.connect("response", self._on_dialog_response, child, entry) - self.connect("key-press-event", self._on_keypress, entry) - self.connect("key-release-event", self._on_key_release, entry, label) - - self.child = child - - self.p = None - - def _on_key_release(self, dialog, event, entry, label): - label.set_visible(False) - if entry.is_visible() == False or entry.get_text() == "": - return - if self._is_invalid(entry.get_text()): - label.set_visible(True) - else: - label.set_visible(False) - - def _on_keypress(self, a, event, entry): - if event.keyval == Gdk.KEY_Return: - self.response(Gtk.ResponseType.OK) - if event.keyval == Gdk.KEY_Up: - entry.set_text("") - self.child.get_children()[0].grab_focus() - - def _on_dialog_response(self, dialog, resp, child, entry): - match resp: - case Gtk.ResponseType.CANCEL: - return - case Gtk.ResponseType.DELETE_EVENT: - return - - string = entry.get_text() - port = child.active_button.port - - match port: - case Port.DEFAULT: - self.p = "27016" - case Port.CUSTOM: - if self._is_invalid(string): - self.stop_emission_by_name("response") - else: - self.p = string - - def _is_invalid(self, string): - if string.isdigit() == False \ - or int(string) == 0 \ - or int(string[0]) == 0 \ - or int(string) > 65535: - return True - return False - - -def ChangelogDialog(parent): - - text = '' - mode = "Changelog -- content can be scrolled" - dialog = GenericDialog(parent, text, mode) - dialogBox = dialog.get_content_area() - dialog.set_default_response(Gtk.ResponseType.OK) - dialog.set_size_request(1000, 600) - - with open(changelog_path, 'r') as f: - changelog = f.read() - - scrollable = Gtk.ScrolledWindow() - label = Gtk.Label() - label.set_markup(changelog) - scrollable.add(label) - dialogBox.pack_end(scrollable, True, True, 0) - set_surrounding_margins(dialogBox, 30) - - dialog.show_all() - return dialog - - -def KeysDialog(parent, text, mode): - - dialog = GenericDialog(parent, text, mode) - dialogBox = dialog.get_content_area() - dialog.set_default_response(Gtk.ResponseType.OK) - dialog.set_size_request(700, 0) - - keybindings = """ - Basic navigation - Ctrl-q: quit - Enter/Space/Double click: select row item - Up, Down: navigate through row items - ?: open this dialog - - Button navigation - Right: jump from main view to side buttons - Left: jump from side buttons to main view - Up, Down: navigate up and down through side buttons - Tab, Shift-Tab: navigate forward/back through menu elements - - Any server browsing context - Enter/Space/Double click: connect to server - Right-click on row/Ctrl-l: displays additional context menus - Ctrl-f: jump to keyword field - Ctrl-m: jump to maps field - Ctrl-d: toggle dry run (debug) mode - Ctrl-r: refresh player count for active row - 1-9: toggle filter ON/OFF - ESC: jump back to main view from keyword/maps - """ - - label = Gtk.Label() - label.set_markup(keybindings) - dialogBox.pack_end(label, False, False, 0) - dialog.show_all() - return dialog - - -class PingDialog(GenericDialog): - def __init__(self, parent, text, mode, record): - super().__init__(parent, text, mode) - dialogBox = self.get_content_area() - self.set_default_response(Gtk.ResponseType.OK) - self.set_size_request(500, 200) - wait_dialog = GenericDialog(parent, "Checking ping", Popup.WAIT) - wait_dialog.show_all() - thread = threading.Thread(target=self._background, args=(wait_dialog, parent, record)) - thread.start() - - def _background(self, dialog, parent, record): - def _load(): - dialog.destroy() - self.show_all() - ping = data.stdout - self.format_secondary_text("Ping to remote server: %s" %(ping)) - res = self.run() - self.destroy() - - addr = record.split(':') - ip = addr[0] - qport = addr[2] - data = call_out(parent, "test_ping", ip, qport) - GLib.idle_add(_load) + self.ok.set_sensitive(False) class ModDialog(GenericDialog): - def __init__(self, parent, text, mode, record): - super().__init__(parent, text, mode) + def __init__(self, record: str): + msg = "Enter/double click a row to open in Steam Workshop." + super().__init__(textwrap.dedent(msg), Popup.MODLIST) dialogBox = self.get_content_area() self.set_default_response(Gtk.ResponseType.OK) self.set_size_request(800, 500) self.scrollable = Gtk.ScrolledWindow() - self.view = Gtk.TreeView() + self.view = Gtk.TreeView(enable_search=False, search_column=-1) self.scrollable.add(self.view) set_surrounding_margins(self.scrollable, 20) self.view.connect("row-activated", self._on_row_activated) - for i, column_title in enumerate( - ["Mod", "ID", "Installed"] - ): + for i, column_title in enumerate(["Mod", "ID", "Installed"]): renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(column_title, renderer, text=i) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.view.append_column(column) column.set_sort_column_id(i) dialogBox.pack_end(self.scrollable, True, True, 0) - wait_dialog = GenericDialog(parent, "Fetching modlist", Popup.WAIT) + wait_dialog = GenericDialog("Fetching modlist", Popup.WAIT) wait_dialog.show_all() - thread = threading.Thread(target=self._background, args=(wait_dialog, parent, record)) + thread = threading.Thread( + target=self._background, args=(wait_dialog, record) + ) thread.start() - def _background(self, dialog, parent, record): + def _background(self, dialog: "GenericDialog", record: str) -> None: def _load(): dialog.destroy() if data.returncode == 1: - spawn_dialog(parent, "Server has no mods installed or is unsupported in this mode", Popup.NOTIFY) + msg = """Error while contacting server, possibly timed out. + Please wait and try again. + """ + spawn_dialog(msg, Popup.NOTIFY) return self.show_all() - self.set_markup("Modlist (%s mods)" %(mod_count)) - res = self.run() + self.set_markup(f"Modlist ({mod_count} mods)") + self.run() self.destroy() - addr = record.split(':') - ip = addr[0] - qport = addr[2] - data = call_out(parent, "show_server_modlist", ip, qport) - mod_count = parse_modlist_rows(data) + addr = App.treeview.get_record_dict() + if not addr: + return + ip = addr["ip"] + qport = addr["qport"] + data = call_out("show_server_modlist", ip, qport) + mod_count = self._parse_modlist_rows(data) self.view.set_model(modlist_store) GLib.idle_add(_load) - def popup(self): - pass + def _parse_modlist_rows( + self, data: subprocess.CompletedProcess + ) -> bool | int: + lines = data.stdout.splitlines() + hits = len(lines) + reader = csv.reader(lines, delimiter=delimiter) + try: + rows = [[row[0], row[1], row[2]] for row in reader if row] + except IndexError: + return 1 + for row in rows: + modlist_store.append(row) + return hits - def _on_row_activated(self, treeview, tree_iter, col): + def _on_row_activated( + self, + treeview: Gtk.TreeView, + tree_iter: Gtk.TreeIter, + col: Gtk.TreeViewColumn, + ) -> None: select = treeview.get_selection() sels = select.get_selected_rows() (model, pathlist) = sels @@ -2266,51 +2920,54 @@ class ModDialog(GenericDialog): path = pathlist[0] tree_iter = model.get_iter(path) mod_id = model.get_value(tree_iter, 1) - subprocess.Popen(['/usr/bin/env', 'bash', funcs, "open_workshop_page", mod_id]) + call_bash_func("open_workshop_page", mod_id) class LinkDialog(GenericDialog): - def __init__(self, parent, text, mode, link, command, uid=None): - super().__init__(parent, text, mode) + def __init__( + self, text: str, link: str | None, command: RowType, uid: str = "" + ): + super().__init__(text, Popup.NOTIFY) - self.dialog = GenericDialog(parent, text, mode) - self.dialogBox = self.dialog.get_content_area() - self.dialog.set_default_response(Gtk.ResponseType.OK) - self.dialog.set_size_request(500, 0) + text = textwrap.dedent(text) + self.dialogBox = self.get_content_area() + self.set_default_response(Gtk.ResponseType.OK) + self.set_size_request(500, 0) - if link is not None: + if link: button = Gtk.Button(label=link) button.set_margin_start(60) button.set_margin_end(60) button.connect("clicked", self._on_button_clicked, uid) self.dialogBox.pack_end(button, False, False, 0) - self.dialog.show_all() - self.dialog.connect("response", self._on_dialog_response, parent, command) + self.show_all() + self.connect("response", self._on_dialog_response, command) - def _on_button_clicked(self, button, uid): - subprocess.Popen(['/usr/bin/env', 'bash', funcs, "open_user_workshop", uid]) + def _on_button_clicked(self, button: Gtk.Button, uid: str) -> None: + call_bash_func("open_user_workshop", uid) - def _on_dialog_response(self, dialog, resp, parent, command): + def _on_dialog_response( + self, dialog: "LinkDialog", resp: Gtk.ResponseType, command: RowType + ) -> None: match resp: case Gtk.ResponseType.DELETE_EVENT: return case Gtk.ResponseType.OK: - self.dialog.destroy() - proc = call_out(parent, "toggle", command.dict["label"]) - parent.grid.update_right_statusbar() - tooltip = format_metadata(command.dict["label"]) - parent.grid.update_statusbar(tooltip) + self.destroy() + call_out("toggle", command.dict["label"]) + App.grid.statusbar.refresh() class EntryDialog(GenericDialog): - def __init__(self, parent, text, mode, link): - super().__init__(parent, text, mode) + def __init__(self, text: str, mode: Popup, link: str): + super().__init__(text, mode) - """ Returns user input as a string or None """ - """ If user does not input text it returns None, NOT AN EMPTY STRING. """ + """ + Returns user input as a string or None + """ - self.dialog = GenericDialog(parent, text, mode) + self.dialog = GenericDialog(text, mode) self.dialogBox = self.dialog.get_content_area() self.dialog.set_default_response(Gtk.ResponseType.OK) self.dialog.set_size_request(500, 0) @@ -2322,62 +2979,413 @@ class EntryDialog(GenericDialog): self.userEntry.set_activates_default(True) self.dialogBox.pack_start(self.userEntry, False, False, 0) - if link is not None: + if link: button = Gtk.Button(label=link) button.set_margin_start(60) button.set_margin_end(60) button.connect("clicked", self._on_button_clicked) self.dialogBox.pack_end(button, False, False, 0) - def _on_button_clicked(self, button): - label = button.get_label() - subprocess.Popen(['/usr/bin/env', 'bash', funcs, "Open link", label]) + self.ok = self.dialog.action_area.get_children()[1] + self.ok.set_sensitive(False) + self.userEntry.connect("insert-text", self._on_text_typed) + self.userEntry.get_property("buffer").connect( + "deleted-text", self._on_text_deleted + ) - def get_input(self): + def _is_valid_text(self, text: str) -> bool: + if text.isspace(): + return False + if len(text) == 0: + return False + return True + + def _on_text_deleted( + self, buffer: Gtk.EntryBuffer, position: int, chars: int + ) -> None: + text = buffer.get_text() + state = self._is_valid_text(text) + self.ok.set_sensitive(state) + + def _on_text_typed( + self, entry: Gtk.Entry, text: str, length: int, pos: int + ) -> None: + state = self._is_valid_text(text) + self.ok.set_sensitive(state) + + def _on_button_clicked(self, button: Gtk.Button) -> None: + label = button.get_label() + call_bash_func("Open link", label) + + def get_input(self) -> str | None: self.dialog.show_all() + response = self.dialog.run() text = self.userEntry.get_text() self.dialog.destroy() - if (response == Gtk.ResponseType.OK) and (text != ''): + if (response == Gtk.ResponseType.OK) and (text != ""): return text else: return None -class Grid(Gtk.Grid): - def __init__(self, is_steam_deck): +class ScrollableNote(Gtk.Box): + def __init__(self, content_box: Gtk.Box): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + + self.scrollable = Gtk.ScrolledWindow() + self.scrollable.set_vexpand(True) + + self.back_button = Gtk.Button( + label="Back", hexpand=True, halign=Gtk.Align.CENTER + ) + self.back_button.connect("clicked", self._on_back_clicked) + + self.gutter = Gtk.Box( + orientation=Gtk.Orientation.HORIZONTAL, valign=Gtk.Align.END + ) + self.gutter.add(self.back_button) + + self.scrollable.add(content_box) + self.add(self.scrollable) + self.add(self.gutter) + + @update_window_labels + def _on_back_clicked(self, button: Gtk.Button) -> None: + if App.notebook.get_page() == NotebookPage.KEYS.value: + App.notebook.toggle_keybindings() + return + App.notebook.set_page_enum(NotebookPage.MAIN) + + +class KeybindingsDialog(Gtk.Box): + """ + Notebook page holding a prearranged grid + of keybindings and their descriptions + """ + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + + navigation = { + "Enter/space/double click": "select row item", + "Down arrow": "move down a row/scroll down", + "Up arrow": "move up a row/scroll up", + "Right arrow": "jump to sidebar from main area", + "Left arrow": "jump to main area from sidebar", + "Tab": "cycle forward through elements", + "Shift-tab": "cycle backward through elements", + "ESC/Enter": "close dialogs", + "?": "show/hide this dialog", + "Ctrl-q": "Quit", + } + servers = { + "Enter/space/double-click": "connect to server", + "Right-click/Ctrl-l": "additional context menus", + "Ctrl-r": "refresh players", + "Ctrl-p": "refresh ping", + "Ctrl-f": "jump to keyword search field", + "Ctrl-m": "jump to maps field", + "Ctrl-d": "toggle dry run (debug) mode", + "ESC": "return to table", + "1-9": "toggle filter 1-9 on/off", + "0": "toggle filter 10", + "Minus": "toggle filter 11", + "Backslash": "toggle filter 12", + } + vim = { + "j": "Move down a row/scroll up", + "k": "Move up a row/scroll down", + "l": "Jump to main area from sidebar", + "h": "Jump to sidebar from main area", + "gg": "Jump to first row/top of page", + "G": "Jump to last row/bottom of page", + } + + label = Gtk.Label(label="Keybindings") + add_class(label, "page-heading") + self.add(label) + + grid = self.build_grid([servers, navigation, vim]) + self.add(grid) + + def build_keys(self, items: list) -> Gtk.Grid: + grid = Gtk.Grid(row_spacing=10, column_homogeneous=True) + grid.set_halign(Gtk.Align.START) + row = 1 + col = 0 + w = 1 + h = 1 + sep = None + for item in items: + for k, v in item.items(): + desc = Gtk.Label(label=k) + desc.set_halign(Gtk.Align.START) + + key = Gtk.Label(label=v) + key.set_halign(Gtk.Align.CENTER) + + frame = Gtk.Frame() + frame.add(key) + add_class(frame, "frame") + + col = col + 1 + if col > 1: + row += 1 + col = 1 + if not sep: + grid.attach(desc, col, row, w, h) + else: + grid.attach_next_to( + desc, sep, Gtk.PositionType.BOTTOM, w, h + ) + row += 1 + sep = None + grid.attach_next_to(frame, desc, Gtk.PositionType.RIGHT, w, h) + + l_spacer = Gtk.Label(label="") + r_spacer = Gtk.Label(label="") + grid.attach(l_spacer, col, row + 1, w, h) + grid.attach_next_to( + r_spacer, l_spacer, Gtk.PositionType.RIGHT, w, h + ) + row += 1 + return grid + + def build_sidebar(self, categories: list) -> Gtk.Grid: + row = 0 + col = 0 + w = 1 + h = 1 + sidebar = Gtk.Grid( + row_homogeneous=True, orientation=Gtk.Orientation.VERTICAL + ) + for cat in categories: + label = Gtk.Label(label=cat) + add_class(label, "left-label") + row += 1 + sidebar.attach(label, col, row, w, h) + return sidebar + + def build_grid(self, items: list) -> Gtk.Grid: + grid = Gtk.Grid( + row_spacing=20, + halign=Gtk.Align.CENTER, + margin_top=20, + column_spacing=50, + ) + + row = 1 + column = 1 + w = 1 + h = 1 + sidebar = self.build_sidebar( + ["Servers", "Navigation", "Vim-style keys"] + ) + separator = Gtk.Separator() + keys_box = self.build_keys(items) + + grid.attach(sidebar, column, row, w, h) + grid.attach_next_to(separator, sidebar, Gtk.PositionType.RIGHT, w, h) + grid.attach_next_to(keys_box, separator, Gtk.PositionType.RIGHT, w, h) + return grid + + +class Changelog(Gtk.Box): + def __init__(self): super().__init__() - self.set_column_homogeneous(True) - #self.set_row_homogeneous(True) + try: + with open(changelog_path, "r") as f: + changelog = f.read() + changelog_label = Gtk.Label() + changelog = self.format_pango(changelog) + changelog_label.set_markup(changelog) + self.add(changelog_label) + except FileNotFoundError: + msg = f"Failed to find CHANGELOG.md at {changelog_path}" + logger.critical(msg) + spawn_dialog(msg, Popup.WARN) + return + except OSError as e: + spawn_dialog(f"Something went wrong: {e}", Popup.WARN) + logger.critical(e) + return - self._version = "%s %s" %(app_name, sys.argv[2]) + def format_pango(self, text: str) -> str: + medium = '' + large = '' + xlarge = '' + text = re.sub("^# ", xlarge, text, flags=re.M) + text = re.sub("^## ", large, text, flags=re.M) + text = re.sub("^### ", medium, text, flags=re.M) + text = re.sub(r"(", text) + return text - self.scrollable_treelist = ScrollableTree(is_steam_deck) - self.scrollable_treelist.set_hexpand(False) - self.scrollable_treelist.set_vexpand(True) - self.right_panel = RightPanel(is_steam_deck) - self.sel_panel = ModSelectionPanel() - self.right_panel.pack_start(self.sel_panel, False, False, 0) - self.show_all() +class Notebook(Gtk.Notebook): + def __init__(self): + super().__init__(show_tabs=False, show_border=False) - self.bar = Gtk.Statusbar() - self.scrollable_treelist.treeview.connect("on_distcalc_started", self._on_calclat_started) + clog = Changelog() + self.clog = ScrollableNote(clog) + self.clog.type = RowType.CHANGELOG + self.clog.show_all() + self.append_page(self.clog) + self.prior_page: int + self.prior_subpage = None - GLib.timeout_add(200, self._check_result_queue) + self.keys = ScrollableNote(KeybindingsDialog()) + self.keys.type = RowType.KEYBINDINGS + self.keys.show_all() + self.append_page(self.keys) - self.update_statusbar(default_tooltip) + self.connect("switch-page", self._on_page_changed) + self.connect("key-press-event", self._on_keypress) + + def _set_adjustment(self, adjustment: VAdjustment) -> None: + INCREMENT = 50 + page = self.get_page() + if not page: + return + allowed_contexts = [RowType.CHANGELOG, RowType.KEYBINDINGS] + if page.type not in allowed_contexts: + return + vadj = page.scrollable.get_vadjustment() + match adjustment: + case VAdjustment.TOP: + adj = vadj.get_lower() + case VAdjustment.BOTTOM: + adj = vadj.get_upper() + case VAdjustment.UP: + adj = vadj.get_value() - INCREMENT + case VAdjustment.DOWN: + adj = vadj.get_value() + INCREMENT + vadj.set_value(adj) + + def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None: + match event.keyval: + case Gdk.KEY_Return: + page = self.get_page() + if page: + page.back_button.clicked() + case Gdk.KEY_Right | Gdk.KEY_l: + if event.state is Gdk.ModifierType.CONTROL_MASK: + return + App.right_panel.focus_button_box() + case Gdk.KEY_question: + self.toggle_keybindings() + case Gdk.KEY_k | Gdk.KEY_Up: + self._set_adjustment(VAdjustment.UP) + case Gdk.KEY_Down | Gdk.KEY_j: + self._set_adjustment(VAdjustment.DOWN) + case Gdk.KEY_g: + self._set_adjustment(VAdjustment.TOP) + case Gdk.KEY_G: + self._set_adjustment(VAdjustment.BOTTOM) + + def toggle_keybindings(self) -> None: + if self.get_current_page() == NotebookPage.KEYS.value: + self.set_current_page(self.prior_page) + else: + self.prior_page = self.get_current_page() + self.set_page_enum(NotebookPage.KEYS) + + def focus_current(self) -> None: + widget = self.get_page() + if widget: + w = widget.get_children()[0] + w.grab_focus() + + def get_page(self) -> Gtk.Widget | None: + ind = self.get_current_page() + widget = self.get_nth_page(ind) + if not widget: + return None + return widget + + def set_page_enum(self, enum: NotebookPage) -> None: + self.prior_page = self.get_current_page() + self.set_current_page(enum.value) + self.focus_current() + self._set_adjustment(VAdjustment.TOP) + + @update_window_labels + def _on_page_changed( + self, notebook: "Notebook", page: Gtk.Widget, page_num: int + ) -> None: + pass + if page.type is None: + App.treeview.subpage = self.prior_subpage + else: + self.prior_subpage = App.treeview.subpage + App.treeview.subpage = page.type + + +class Statusbar(Gtk.Statusbar): + def __init__(self): + super().__init__() + + help_text = "Select a row to see its detailed description" + self.set_text(help_text) self.status_right_label = Gtk.Label(label="") - self.bar.add(self.status_right_label) - self.update_right_statusbar() + self.add(self.status_right_label) + self.update_app_meta() - self.attach(self.scrollable_treelist, 0, 0, 3, 1) - self.attach_next_to(self.bar, self.scrollable_treelist, Gtk.PositionType.BOTTOM, 3, 1) - self.attach_next_to(self.right_panel, self.scrollable_treelist, Gtk.PositionType.RIGHT, 1, 1) + self.players = "" - def update_right_statusbar(self): + def get_text(self) -> str: + area = self.get_message_area() + label = area.get_children()[0] + return label.get_text() + + def set_text(self, string: str) -> None: + if string is None: + return + meta = self.get_context_id("Statusbar") + self.push(meta, string) + + def refresh(self) -> None: + self.update_app_meta() + command = App.treeview.get_value_at_index(0) + formatted = format_metadata(command) + if len(formatted) > 0: + self.set_text(formatted) + + def append_distance(self, dist: str, ping: str) -> None: + if dist == "Unknown": + dist = f"| Distance: {dist}" + else: + d = int(dist) + dist = f"| Distance: {d:n} km" + ping = f" | Ping: {ping}" + self.set_text(self.players + dist + ping) + + def update_server_meta(self) -> None: + model = App.treeview.get_model() + if model is None: + players = 0 + hits = 0 + else: + hits = len(model) + players = 0 + for row in model: + players += row[4] + + players_pretty = pluralize("players", players) + hits_pretty = pluralize("matches", hits) + formatted = ( + f"Found {hits:n} {hits_pretty} with {players:n} {players_pretty}" + ) + suffix = "| Distance: calculating..." + + if players == 0: + suffix = "" + self.set_text(formatted + suffix) + self.players = formatted + + def update_app_meta(self) -> None: config_vals.clear() - for i in query_config(self): + for i in query_config(): config_vals.append(i) _branch = config_vals[0] _branch = _branch.upper() @@ -2386,143 +3394,159 @@ class Grid(Gtk.Grid): _debug = "NORMAL" else: _debug = "DEBUG" - concat_label = "%s | %s | %s" %(_branch, _debug, self._version) + concat_label = f"{_branch} | {_debug} | {_VERSION}" self.status_right_label.set_text(concat_label) - def terminate_treeview_process(self): + +class Grid(Gtk.Grid): + def __init__(self): + super().__init__() + self.set_column_homogeneous(True) + + self._version = f"{app_name} {_VERSION}" + + self.scrollable_treelist = ScrollableTree() + self.scrollable_treelist.set_hexpand(False) + self.scrollable_treelist.set_vexpand(True) + self.scrollable_treelist.treeview.connect( + "on_distcalc_started", self._on_calclat_started + ) + + self.right_panel = RightPanel() + self.sel_panel = ModSelectionPanel() + self.right_panel.pack_start(self.sel_panel, False, False, 0) + + """ + Note that due to historical reasons, Gtk.Notebook refuses to + switch to a page unless the child widget is visible. + Therefore, it is recommended to show child widgets + before adding them to a notebook. + + """ + self.show_all() + self.scrollable_treelist.type = None + self.notebook = Notebook() + self.notebook.insert_page(self.scrollable_treelist, None, 0) + + self.statusbar = Statusbar() + GLib.timeout_add(200, self._check_result_queue) + + self.breadcrumbs = Gtk.Label(label="Main menu", halign=Gtk.Align.START) + + self.attach(self.notebook, 0, 0, 3, 1) + self.attach_next_to( + self.breadcrumbs, self.notebook, Gtk.PositionType.TOP, 3, 1 + ) + self.attach_next_to( + self.statusbar, self.notebook, Gtk.PositionType.BOTTOM, 3, 1 + ) + self.attach_next_to( + self.right_panel, self.notebook, Gtk.PositionType.RIGHT, 1, 1 + ) + + def get_breadcrumbs(self) -> str: + return self.breadcrumbs.get_text() + + def set_breadcrumbs(self, text: str) -> None: + self.breadcrumbs.set_text(text) + + def terminate_treeview_process(self) -> None: self.scrollable_treelist.treeview.terminate_process() - def _on_calclat_started(self, treeview): - server_tooltip[0] = format_tooltip() - server_tooltip[1] = server_tooltip[0] + "| Distance: calculating..." - self.update_statusbar(server_tooltip[1]) + def _on_calclat_started(self, treeview: Gtk.TreeView) -> None: + App.grid.statusbar.update_server_meta() - def _check_result_queue(self): + def _check_result_queue(self) -> Literal[True]: latest_result = None result_queue = self.scrollable_treelist.treeview.queue while not result_queue.empty(): latest_result = result_queue.get() - if latest_result is not None: + if latest_result: addr = latest_result[0] km = latest_result[1] ping = latest_result[2] - cache[addr] = km, ping - - ping = format_ping(ping) - dist = format_distance(km) - tooltip = server_tooltip[1] = server_tooltip[0] + dist + ping - self.update_statusbar(tooltip) - + self.statusbar.append_distance(km, ping) return True - def update_statusbar(self, string): - if string is None: - return - meta = self.bar.get_context_id("Statusbar") - self.bar.push(meta, string) - - -def toggle_signal(owner, widget, func_name, bool): - func = getattr(owner, func_name) - if (bool): - logger.debug("Unblocking %s for %s" %(func_name, widget)) - widget.handler_unblock_by_func(func) - else: - logger.debug("Blocking %s for %s" %(func_name, widget)) - widget.handler_block_by_func(func) - class App(Gtk.Application): def __init__(self): - _isd = int(sys.argv[3]) + global IS_STEAM_DECK + global IS_GAME_MODE if _isd == 1: - is_steam_deck = True - is_game_mode = False + IS_STEAM_DECK = True + IS_GAME_MODE = False elif _isd == 2: - is_steam_deck = True - is_game_mode = True + IS_STEAM_DECK = True + IS_GAME_MODE = True else: - is_steam_deck = False - is_game_mode = False + IS_STEAM_DECK = False + IS_GAME_MODE = False GLib.set_prgname(app_name) - self.win = OuterWindow(is_steam_deck, is_game_mode) - self.win.set_icon_name("dzgui") - + self.win = OuterWindow() + self.win.set_icon_name("{app_name_lower}") accel = Gtk.AccelGroup() - accel.connect(Gdk.KEY_q, Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE, self._halt_window_subprocess) + accel.connect( + Gdk.KEY_q, + Gdk.ModifierType.CONTROL_MASK, + Gtk.AccelFlags.VISIBLE, + self._halt_window_subprocess, + ) self.win.add_accel_group(accel) - - GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._catch_sigint) + GLib.unix_signal_add( + GLib.PRIORITY_DEFAULT, signal.SIGINT, self._catch_sigint + ) Gtk.main() - def _catch_sigint(self): - self.win.halt_proc_and_quit(self.win, None) + def _catch_sigint(self) -> None: + self.win.halt_proc_and_quit() - def _halt_window_subprocess(self, accel_group, window, code, flag): - self.win.halt_proc_and_quit(self.win, None) + def _halt_window_subprocess( + self, + accel_group: Gtk.AccelGroup, + window: "OuterWindow", + code: Gdk.EventKey, + flag: Gdk.ModifierType, + ) -> None: + self.win.halt_proc_and_quit() -def save_res_and_quit(window): - if window.props.is_maximized: - Gtk.main_quit() - return - rect = window.get_size() - - def write_json(rect): - data = {"res": { "width": rect.width, "height": rect.height } } - j = json.dumps(data, indent=2) - with open(res_path, "w") as outfile: - outfile.write(j) - logger.info("Wrote initial window size to '%s'" %(res_path)) - - if os.path.isfile(res_path): - with open(res_path, "r") as infile: - try: - data = json.load(infile) - data["res"]["width"] = rect.width - data["res"]["height"] = rect.height - with open(res_path, "w") as outfile: - outfile.write(json.dumps(data, indent=2)) - except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(res_path)) - write_json(rect) - else: - write_json(rect) - - Gtk.main_quit() - class ModSelectionPanel(Gtk.Box): def __init__(self): super().__init__(spacing=6) self.set_orientation(Gtk.Orientation.VERTICAL) - labels = [ - {"label": "Select all", "tooltip": "Bulk selects all mods"}, - {"label": "Unselect all", "tooltip": "Bulk unselects all mods"}, - {"label": "Delete selected", "tooltip": "Deletes selected mods from the system"}, - {"label": "Highlight stale", "tooltip": "Shows locally-installed mods\nwhich are not used by any server\nin your Saved Servers"} - ] + {"label": "Select all", "tooltip": "Bulk selects all mods"}, + {"label": "Unselect all", "tooltip": "Bulk unselects all mods"}, + { + "label": "Delete selected", + "tooltip": "Deletes selected mods from the system", + }, + { + "label": "Highlight stale", + "tooltip": """Shows locally-installed mods + which are not used by any server + in your Saved Servers""", + }, + ] self.active_button = None - for l in labels: - button = Gtk.Button(label=l["label"]) - button.set_tooltip_text(l["tooltip"]) + for label in labels: + button = Gtk.Button(label=label["label"]) + button.set_tooltip_text(label["tooltip"]) button.set_margin_start(10) button.set_margin_end(10) button.connect("clicked", self._on_button_clicked) self.pack_start(button, False, True, 0) - def initialize(self): - l = len(self.get_children()) - last = self.get_children()[l-1] - last_label = last.get_label() + def initialize(self) -> None: for i in self.get_children(): match i.get_label(): case "Select stale": @@ -2530,12 +3554,10 @@ class ModSelectionPanel(Gtk.Box): case "Unhighlight stale": i.set_label("Highlight stale") - def _on_button_clicked(self, button): + def _on_button_clicked(self, button: Gtk.Button) -> None: self.active_button = button label = button.get_label() - widgets = relative_widget(self) - parent = widgets["outer"] - treeview = widgets["treeview"] + treeview = App.treeview (model, pathlist) = treeview.get_selection().get_selected_rows() match label: case "Select all": @@ -2548,77 +3570,73 @@ class ModSelectionPanel(Gtk.Box): return self._iterate_mod_deletion(model, pathlist, ct) case "Highlight stale": - process_tree_option([treeview.view, RowType.HIGHLIGHT], treeview) + process_tree_option(RowType.HIGHLIGHT) case "Unhighlight stale": self.colorize_cells(False) self._remove_last_button() case "Select stale": - for i in range (0, len(mod_store)): + for i in range(0, len(mod_store)): if mod_store[i][4] == "#FF0000": - path = Gtk.TreePath(i) + path = Gtk.TreePath.new_from_indices([i]) treeview.get_selection().select_path(path) - def _remove_last_button(self): + def _remove_last_button(self) -> None: children = self.get_children() - l = len(children) - tip = children[l-1] + tip = children[-1] label = tip.get_label() if label == "Select stale": tip.destroy() - - def toggle_select_stale_button(self, bool): - if bool is True: - button = Gtk.Button(label="Select stale") - button.set_tooltip_text("Bulk selects all currently highlighted mods") - button.set_margin_start(10) - button.set_margin_end(10) + def toggle_select_stale_button(self, state: bool) -> None: + if state: + button = Gtk.Button( + label="Select stale", margin_start=10, margin_end=10 + ) + text = "Bulk selects all currently highlighted mods" + button.set_tooltip_text(text) button.connect("clicked", self._on_button_clicked) self.pack_start(button, False, True, 0) self.show_all() - def colorize_cells(self, bool): + def colorize_cells(self, state: bool) -> None: def _colorize(path, color): mod_store[path][4] = color - - widgets = relative_widget(self) - parent = widgets["outer"] - treeview = widgets["treeview"] + + treeview = App.treeview (model, pathlist) = treeview.get_selection().get_selected_rows() - if bool is False: - for i in range (0, len(mod_store)): - path = Gtk.TreePath(i) + if not state: + for i in range(0, len(mod_store)): + path = Gtk.TreePath.new_from_indices([i]) it = mod_store.get_iter(path) _colorize(path, None) self.active_button.set_label("Highlight stale") return with open(stale_mods_temp_file, "r") as infile: - lines = [line.rstrip('\n') for line in infile] + lines = [line.rstrip("\n") for line in infile] - for i in range (0, len(mod_store)): + hits = 0 + for i, row in enumerate(mod_store): # type: ignore red = "#FF0000" - path = Gtk.TreePath(i) + path = Gtk.TreePath.new_from_indices([i]) it = mod_store.get_iter(path) if model.get_value(it, 2) not in lines: + hits += 1 _colorize(path, red) treeview.toggle_selection(False) + if hits > 0: self.active_button.set_label("Unhighlight stale") - self.active_button.set_tooltip_text("Clears highlights and reverts\nthe table to a default state") - - - def _iterate_mod_deletion(self, model, pathlist, ct): - widgets = relative_widget(self) - parent = widgets["outer"] - treeview = widgets["treeview"] + text = "Clears highlights and reverts the table to a default state" + self.active_button.set_tooltip_text(text) + self.toggle_select_stale_button(True) + def _iterate_mod_deletion( + self, model: Gtk.ListStore, pathlist: list, ct: int + ) -> None: pretty = pluralize("mods", ct) conf_msg = f"You are going to delete {ct} {pretty}. Proceed?" - success_msg = f"Successfully deleted {ct} {pretty}." - fail_msg = "An error occurred during deletion. Aborting." - - res = spawn_dialog(parent, conf_msg, Popup.CONFIRM) + res = spawn_dialog(conf_msg, Popup.CONFIRM) if res != 0: return @@ -2629,26 +3647,59 @@ class ModSelectionPanel(Gtk.Box): path = model.get_value(it, 2) concat = symlink + " " + path + "\n" mods.append(concat) - # hedge against large number of arguments passed to shell + # use a temp file to avoid passing too many args to shell with open(mods_temp_file, "w") as outfile: outfile.writelines(mods) - process_tree_option([treeview.view, RowType.DELETE_SELECTED], treeview) + process_tree_option(RowType.DELETE_SELECTED) class FilterPanel(Gtk.Box): def __init__(self): super().__init__(spacing=6) - for check in filters.keys(): - checkbutton = Gtk.CheckButton(label=check) - label = checkbutton.get_children() + self.default_filters = { + "1PP": True, + "Day": True, + "Empty": False, + "3PP": True, + "Night": True, + "Full": False, + "Low pop": True, + "Non-ASCII": False, + "Duplicate": False, + "Official": True, + "Unoffic.": True, + "Modded": True, + } + self.checks = [] + self.maps_hr = [] + self.enabled_filters = dict(self.default_filters) + self.keyword_filter = "" + self.selected_map = "All maps" + self.prior_map = "All maps" + + button_grid = Gtk.Grid( + halign=Gtk.Align.CENTER, column_spacing=5, column_homogeneous=True + ) + row = 1 + col = 0 + for check in self.default_filters.keys(): + checkbox = Gtk.CheckButton(label=check) + label = checkbox.get_children() label[0].set_ellipsize(Pango.EllipsizeMode.END) - if filters[check] is True: - checkbutton.set_active(True) - toggled_checks.append(check) - checkbutton.connect("toggled", self._on_check_toggle) - checks.append(checkbutton) + + if self.default_filters[check]: + checkbox.set_active(True) + + col = col + 1 + if col > 3: + row += 1 + col = 1 + button_grid.attach(checkbox, col, row, 1, 1) + + checkbox.connect("toggled", self._on_check_toggled) + self.checks.append(checkbox) self.connect("button-release-event", self._on_button_release) self.set_orientation(Gtk.Orientation.VERTICAL) @@ -2660,7 +3711,9 @@ class FilterPanel(Gtk.Box): self.keyword_entry = Gtk.Entry() self.keyword_entry.set_placeholder_text("Filter by keyword") self.keyword_entry.connect("activate", self._on_keyword_enter) - self.keyword_entry.connect("key-press-event", self._on_esc_pressed) + self.keyword_entry.connect( + "key-press-event", self._on_keyword_keypress + ) completion = Gtk.EntryCompletion(inline_completion=True) completion.set_text_column(0) @@ -2671,7 +3724,6 @@ class FilterPanel(Gtk.Box): self.maps_combo = Gtk.ComboBox.new_with_model_and_entry(map_store) self.maps_combo.set_entry_text_column(0) - # instantiate maps completer entry self.maps_entry = self.maps_combo.get_child() self.maps_entry.set_completion(completion) self.maps_entry.set_placeholder_text("Filter by map") @@ -2680,157 +3732,195 @@ class FilterPanel(Gtk.Box): self.maps_combo.pack_start(renderer_text, True) self.maps_combo.connect("changed", self._on_map_changed) - self.maps_combo.connect("key-press-event", self._on_esc_pressed) + self.maps_combo.connect("key-press-event", self._on_combo_keypress) self.pack_start(self.filters_label, False, False, 0) self.pack_start(self.keyword_entry, False, False, 0) self.pack_start(self.maps_combo, False, False, 0) - button_grid = Gtk.Grid() - row = 1 - col = 0 - for i, check in enumerate(checks[0:]): - col = col + 1 - if (col > 3): - row = row + 1 - col = 1 - button_grid.attach(checks[i], col, row, 1, 1) self.pack_start(button_grid, False, False, 0) - def _on_map_entry_keypress(self, entry, event): + def set_unique_maps(self, maps: list) -> None: + if len(maps) < 1: + return + u_maps = set([row[1] for row in maps]) # type: ignore + u_maps = sorted(u_maps) # type: ignore + for m in u_maps: + map_store.append([m]) + self.maps_hr.append(m) + + def get_filters(self) -> tuple: + filters = [] + filters.append(self.selected_map) + filters.append(self.keyword_filter) + for k in self.enabled_filters: + if not self.enabled_filters[k]: + filters.append(k) + return tuple(filters) + + # used on personal/local server lists + def enable_all_filters(self) -> None: + for check in self.checks: + check.set_active(True) + for k in self.enabled_filters: + self.enabled_filters[k] = True + + def reinit_panel(self) -> None: + self.keyword_entry.set_text("") + self.keyword_filter = "" + self.reinit_filters() + self.set_visible(False) + sel_panel = App.grid.sel_panel + if sel_panel.is_visible(): + sel_panel.set_visible(False) + + def reinit_filters(self) -> None: + self.enabled_filters = dict(self.default_filters) + for check in self.checks: + label = check.get_label() + state = self.default_filters[label] + check.set_active(state) + + def _on_map_entry_keypress( + self, entry: Gtk.Entry, event: Gdk.EventKey + ) -> None: match event.keyval: case Gdk.KEY_Return: text = entry.get_text() if text is None: return - # if entry is exact match for value in liststore, - # trigger map change function - for i in enumerate(map_store): + """ + If entry is exact match for value in liststore, + trigger map change function + """ + for i in enumerate(map_store): # type: ignore if text == i[1][0]: self.maps_combo.set_active(i[0]) self._on_map_changed(self.maps_combo) case Gdk.KEY_Escape: GLib.idle_add(self.restore_focus_to_treeview) - # TODO: this is a workaround for widget.grab_remove() - # set cursor position to SOL when unfocusing + """ + This is a workaround for widget.grab_remove() + Sets cursor position to SOL when unfocusing + """ text = self.maps_entry.get_text() self.maps_entry.set_position(len(text)) case _: return - def _on_completer_match(self, completion, model, iter): - self.maps_combo.set_active_iter(iter) + def _on_completer_match( + self, + completion: Gtk.EntryCompletion, + model: Gtk.ListStore, + it: Gtk.TreeIter, + ) -> None: + self.maps_combo.set_active_iter(it) def _on_map_completion(self, entry, editable): text = entry.get_text() completion = entry.get_completion() - if len(text) >= completion.get_minimum_key_length(): completion.set_model(map_store) - self._on_map_changed(self.maps_combo) - def grab_keyword_focus(self): - self.keyword_entry.grab_focus() - - def restore_focus_to_treeview(self): - grid = self.get_outer_grid() - grid.scrollable_treelist.treeview.grab_focus() + def restore_focus_to_treeview(self) -> Literal[False]: + App.treeview.grab_focus() return False - def _on_esc_pressed(self, entry, event): + def _on_keyword_keypress( + self, entry: Gtk.Entry, event: Gdk.EventKey + ) -> bool: match event.keyval: - case Gdk.KEY_Escape: - GLib.idle_add(self.restore_focus_to_treeview) case Gdk.KEY_Up: return True case Gdk.KEY_Down: return True + case Gdk.KEY_Escape: + GLib.idle_add(self.restore_focus_to_treeview) + return True + return False + + def _on_combo_keypress( + self, combo: Gtk.ComboBox, event: Gdk.EventKey + ) -> bool: + match event.keyval: + case Gdk.KEY_Down: + self.maps_combo.popup() + return True case _: return False - def get_outer_grid(self): - panel = self.get_parent() - grid = panel.get_parent() - return grid + def set_prior_map(self, mapname: str) -> None: + self.prior_map = mapname - def get_outer_window(self): - grid = self.get_outer_grid() - outer_window = grid.get_parent() - return outer_window + def get_prior_map(self) -> str: + return self.prior_map - def _on_keyword_enter(self, keyword_entry): - win = self.get_outer_window() - win.set_keep_below(False) - keyword = keyword_entry.get_text() - old_keyword = keyword_filter[0].split(delimiter)[1] - if keyword == old_keyword: + def get_selected_map(self) -> str: + return self.selected_map + + def get_keyword_filter(self) -> str: + return self.keyword_filter + + def _on_keyword_enter(self, entry: Gtk.Entry) -> None: + App.window.set_keep_below(False) + keyword = entry.get_text().lower() + if keyword == self.keyword_filter: return - logger.info("User filtered by keyword '%s'" %(keyword)) - keyword_filter.clear() - keyword_filter.append("Keyword␞" + keyword) - transient_parent = self.get_outer_window() - grid = self.get_outer_grid() - treeview = grid.scrollable_treelist.treeview - context = grid.scrollable_treelist.treeview.get_first_col() - filter_servers(transient_parent, self, treeview, context) + if keyword.isspace(): + return + logger.info(f"User filtered by keyword '{keyword}'") + self.keyword_filter = keyword + App.treeview.filter(FilterMode.KEYWORD, keyword) - def _on_button_release(self, window, button): + def _on_button_release(self, window, button) -> Literal[True]: return True - def set_active_combo(self): - self.maps_combo.set_active(0) + def get_active_combo(self) -> int: + return self.maps_combo.get_active() - def toggle_check(self, button): - if button.get_active(): - button.set_active(False) - else: - button.set_active(True) + def set_active_combo(self, row: int) -> None: + self.maps_combo.set_active(row) - def _on_check_toggle(self, button): - grid = self.get_outer_grid() - treeview = grid.scrollable_treelist.treeview - context = grid.scrollable_treelist.treeview.get_first_col() + def toggle_check(self, digit: int) -> None: + check = self.checks[digit] + state = check.get_active() + check.set_active(not state) + + def _on_check_toggled(self, button: Gtk.CheckButton) -> None: + if not App.treeview.is_server_context(App.treeview.view): + return label = button.get_label() state = button.get_active() - - if context == "Mod": - return - if state is True: - toggled_checks.append(label) + logger.info(f"User toggled button '{label}' to {state}") + if state: + mode = FilterMode.TOGGLE_ON else: - toggled_checks.remove(label) + mode = FilterMode.TOGGLE_OFF - logger.info("User toggled button '%s' to %s" %(label, state)) - transient_parent = self.get_outer_window() - filter_servers(transient_parent, self, treeview, context) - - def _on_map_changed(self, combo): - grid = self.get_outer_grid() - transient_parent = self.get_outer_window() - treeview = grid.scrollable_treelist.treeview - context = grid.scrollable_treelist.treeview.get_first_col() + self.enabled_filters[label] = state + App.treeview.filter(mode, label) + def _on_map_changed(self, combo: Gtk.ComboBox) -> None: + old_sel = self.selected_map + model = combo.get_model() tree_iter = combo.get_active_iter() - if tree_iter is not None: - # take no action if completer query is same as current map sel - old_sel = selected_map[0].split("Map=")[1] - model = combo.get_model() - selection = model[tree_iter][0] - if selection == old_sel: - return - - selected_map.clear() - if selection is not None: - selected_map.append("Map=" + selection) - logger.info("User selected map '%s'" %(selection)) - filter_servers(transient_parent, self, treeview, context) - self.maps_entry.set_text(selection) + if tree_iter is None: + return + selection = model[tree_iter][0] + if selection == old_sel: + return + if not selection: + return + logger.info(f"User selected map '{selection}'") + self.prior_map = self.selected_map + self.selected_map = selection + self.maps_entry.set_text(selection) + App.treeview.filter(FilterMode.MAP) def main(): - def usage(): - text = "UI constructor must be run via DZGUI" + text = "UI helper must be run via DZGUI" logger.critical(text) print(text) sys.exit(1) @@ -2842,8 +3932,11 @@ def main(): usage() logger.info("Spawned UI from DZGUI setup process") + global _VERSION + _VERSION = sys.argv[2] App() -if __name__ == '__main__': +ModelManager = ModelManagerSingleton() +if __name__ == "__main__": main() From 50b4ad8e3cfe0f4b9fa2875778b1650649fb8fd8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:07:48 +0900 Subject: [PATCH 047/221] fix: use urllib on steam deck --- helpers/servers_alt.py | 210 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 helpers/servers_alt.py diff --git a/helpers/servers_alt.py b/helpers/servers_alt.py new file mode 100644 index 0000000..a408342 --- /dev/null +++ b/helpers/servers_alt.py @@ -0,0 +1,210 @@ +import json +import os +import re +import socket +import subprocess +import sys +import typing # noqa +from typing import Union +from urllib import request, parse +from urllib.error import HTTPError +from dataclasses import dataclass + +sys.path.append("a2s") +import a2s # noqa + +params = [ + r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", + r"\map\namalsk\empty\1", + r"\map\namalsk\noplayers\1", + r"\map\chernarusplus\empty\1", + r"\map\chernarusplus\noplayers\1", + r"\map\sakhal\empty\1", + r"\map\sakhal\noplayers\1", + r"\map\enoch\empty\1", + r"\map\enoch\noplayers\1", +] + + +def get_netmask() -> str: + hostname = os.uname()[1] + i = socket.gethostbyname(hostname) + netmask = i.rsplit(".", 1)[0] + return netmask + + +def test_ip(suffix: int, port: int) -> dict | None: + netmask = get_netmask() + hostname = f"{netmask}.{str(suffix)}" + ping = ["ping", "-c1", "-i", "0.1", "-w", "1"] + output = subprocess.run(ping + [hostname], capture_output=True) + if output.returncode == 0: + return query_direct(hostname, port) + return None + + +def sanitize(name: str) -> str: + name = re.sub(r"\r", r"", name) + name = re.sub(r"\n", r"", name) + name = re.sub(r"\x01", r"", name) + name = re.sub(r"\ufeff", r"", name) + name = re.sub(r"(^!\s*)", r"-", name) + name = re.sub(r"(^-\s*)", r"", name) + name = re.sub(r"(^-)", r"", name) + name = re.sub(r"(^\s*)", r"", name) + name = re.sub(r"\t", "", name) + return name + + +def parse_json(json: list) -> list: + """ + Server metadata is underspecified and server operators + tend to insert random garbage in the headers. In case + sanitization failed, discard malformed rows rather than + aborting outright. + """ + rows = [] + for row in json: + try: + name = sanitize(row["name"]) + if name == "": + continue + except KeyError: + continue + + for key in [ + "map", + "gametype", + "players", + "max_players", + "addr", + "gameport", + ]: + try: + row[key] + except KeyError: + continue + + r = row["gametype"].split(",") + if "no3rd" in r: + view = "1PP" + else: + view = "3PP" + + if "external" in r: + provider = "Unoffic." + else: + provider = "Official" + + if "mod" in r: + modded = True + else: + modded = False + + try: + r = row["gametype"].split("lqs") + queue = r[1].split(",")[0] + except IndexError: + queue = 0 + + try: + test_time = re.search(r"[0-9]{2}:[0-9]{2}", row["gametype"]) + if test_time: + time = test_time.group(0) + else: + time = "Unknown" + except AttributeError: + time = "Unknown" + + try: + ip = row["addr"].split(":")[0] + ":" + str(row["gameport"]) + qport = row["addr"].split(":")[1] + except IndexError: + continue + + mapname = row["map"].lower() + players = row["players"] + max_players = row["max_players"] + raw = [ + name, + mapname, + view, + time, + int(players), + int(max_players), + int(queue), + ip, + int(qport), + provider, + modded, + ] + rows.append(raw) + return rows + + +def query_direct(ip: str, qport: int) -> dict | None: + try: + info = a2s.info((ip, qport)) + + name = info.server_name + mapname = info.map_name + address = ip + ":" + str(qport) + gameport = str(info.port) + players = info.player_count + max_players = info.max_players + keywords = info.keywords + + res = {} + res["name"] = name + res["map"] = mapname + res["gametype"] = keywords + res["players"] = players + res["max_players"] = max_players + res["addr"] = address + res["gameport"] = gameport + return res + except TimeoutError: + return None + except KeyError: + return None + + +@dataclass +class Res: + status: int + parsed: bool + json: str + + +def query_api(key: str, param: str) -> "HTTPResponse": + LIMIT = 10000 + url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" + + payload: dict[str, Union[int, str]] = { + "filter": r"\appid\221100" + param, + "limit": LIMIT, + "key": key, + } + par = parse.urlencode(payload) + url = f"{url}{par}" + + status = 200 + parsed = True + data = None + + try: + with request.urlopen(url) as response: + if response.status != 200: + status = response.status + try: + parsed = True + data = json.load(response) + except json.decoder.JSONDecodeError: + parsed = False + data = None + except HTTPError: + status = 403 + parsed = False + data = None + finally: + return Res(status, parsed, data) From 8ae6d67cca1bf6c4cb98e0b33d6a82b615e33ed9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:10:55 +0900 Subject: [PATCH 048/221] fix: support alternate response format --- helpers/ui.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index d5254de..d2d876c 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2029,7 +2029,7 @@ class TreeView(Gtk.TreeView): GLib.idle_add(_load) def _dump_api(self): - key = query_config("steam_api") + key = query_config("steam_api")[0] job = Servers.query_api params = Servers.params with ThreadPoolExecutor() as executor: @@ -2037,16 +2037,15 @@ class TreeView(Gtk.TreeView): wait(futures) serv = [] for future in futures: - if future.result().status_code != 200: + res = future.result() + if res.status != 200 or not res.parsed: ModelManager.set_store(None) ModelManager.set_success(False) GLib.idle_add(self._filter_cleanup) return - j = future.result().json() + j = res.json serv += j["response"]["servers"] - with open("banana", "w") as f: - f.write(json.dumps(serv)) - parsed = Servers.parse(serv) + parsed = Servers.parse_json(serv) return parsed def _dump_lan(self, port: int) -> list | None: @@ -2067,7 +2066,7 @@ class TreeView(Gtk.TreeView): ModelManager.set_success(False) GLib.idle_add(self._filter_cleanup) return None - parsed = Servers.parse(servers) + parsed = Servers.parse_json(servers) return parsed def _dump_servers(self, ips: list) -> list | None: @@ -2094,7 +2093,7 @@ class TreeView(Gtk.TreeView): ModelManager.set_success(False) GLib.idle_add(self._filter_cleanup) return None - parsed = Servers.parse(serv) + parsed = Servers.parse_json(serv) return parsed def _query_servers(self, mode: RowType, port: int = 27016) -> None: @@ -2543,6 +2542,7 @@ class TreeView(Gtk.TreeView): tree_iter: Gtk.TreePath, col: Gtk.TreeViewColumn, ) -> None: + context = self.page chosen_row = self.get_value_at_index(0) @@ -2578,6 +2578,16 @@ class TreeView(Gtk.TreeView): spawn_dialog(cooldown.stdout, Popup.NOTIFY) self.set_view(WindowContext.MAIN_MENU) return + try: + key = query_config("steam_api")[0] + except IndexError: + spawn_dialog("No Steam API key is set.", Popup.NOTIFY) + self.set_view(WindowContext.MAIN_MENU) + return + if len(key) < 1: + spawn_dialog("No Steam API key is set.", Popup.NOTIFY) + self.set_view(WindowContext.MAIN_MENU) + return App.grid.right_panel.filters_vbox.reinit_filters() else: # local server lists need not be restricted From 235f4bca3762275f4df9fdaadf0f74c5efb4132c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:45:23 +0900 Subject: [PATCH 049/221] fix: add version file check --- dzgui.sh | 1 + helpers/servers.py | 41 +++++++- helpers/servers_alt.py | 210 ----------------------------------------- 3 files changed, 37 insertions(+), 215 deletions(-) delete mode 100644 helpers/servers_alt.py diff --git a/dzgui.sh b/dzgui.sh index 7d743b7..7b8d1ed 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1005,6 +1005,7 @@ legacy_cols(){ mv $cols_file.new $cols_file } stale_mod_signatures(){ + [[ ! -f "$versions_file" ]] && return local workshop_dir="$steam_path/steamapps/workshop/content/$aid" if [[ -d $workshop_dir ]]; then readarray -t old_mod_ids < <(awk -F, '{print $1}' $versions_file) diff --git a/helpers/servers.py b/helpers/servers.py index 5793639..a408342 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -1,11 +1,14 @@ +import json import os import re -import requests import socket import subprocess import sys import typing # noqa from typing import Union +from urllib import request, parse +from urllib.error import HTTPError +from dataclasses import dataclass sys.path.append("a2s") import a2s # noqa @@ -53,7 +56,7 @@ def sanitize(name: str) -> str: return name -def parse(json: list) -> list: +def parse_json(json: list) -> list: """ Server metadata is underspecified and server operators tend to insert random garbage in the headers. In case @@ -166,7 +169,14 @@ def query_direct(ip: str, qport: int) -> dict | None: return None -def query_api(key: str, param: str) -> requests.models.Response: +@dataclass +class Res: + status: int + parsed: bool + json: str + + +def query_api(key: str, param: str) -> "HTTPResponse": LIMIT = 10000 url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" @@ -175,5 +185,26 @@ def query_api(key: str, param: str) -> requests.models.Response: "limit": LIMIT, "key": key, } - r = requests.get(url, params=payload) - return r + par = parse.urlencode(payload) + url = f"{url}{par}" + + status = 200 + parsed = True + data = None + + try: + with request.urlopen(url) as response: + if response.status != 200: + status = response.status + try: + parsed = True + data = json.load(response) + except json.decoder.JSONDecodeError: + parsed = False + data = None + except HTTPError: + status = 403 + parsed = False + data = None + finally: + return Res(status, parsed, data) diff --git a/helpers/servers_alt.py b/helpers/servers_alt.py deleted file mode 100644 index a408342..0000000 --- a/helpers/servers_alt.py +++ /dev/null @@ -1,210 +0,0 @@ -import json -import os -import re -import socket -import subprocess -import sys -import typing # noqa -from typing import Union -from urllib import request, parse -from urllib.error import HTTPError -from dataclasses import dataclass - -sys.path.append("a2s") -import a2s # noqa - -params = [ - r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", - r"\map\namalsk\empty\1", - r"\map\namalsk\noplayers\1", - r"\map\chernarusplus\empty\1", - r"\map\chernarusplus\noplayers\1", - r"\map\sakhal\empty\1", - r"\map\sakhal\noplayers\1", - r"\map\enoch\empty\1", - r"\map\enoch\noplayers\1", -] - - -def get_netmask() -> str: - hostname = os.uname()[1] - i = socket.gethostbyname(hostname) - netmask = i.rsplit(".", 1)[0] - return netmask - - -def test_ip(suffix: int, port: int) -> dict | None: - netmask = get_netmask() - hostname = f"{netmask}.{str(suffix)}" - ping = ["ping", "-c1", "-i", "0.1", "-w", "1"] - output = subprocess.run(ping + [hostname], capture_output=True) - if output.returncode == 0: - return query_direct(hostname, port) - return None - - -def sanitize(name: str) -> str: - name = re.sub(r"\r", r"", name) - name = re.sub(r"\n", r"", name) - name = re.sub(r"\x01", r"", name) - name = re.sub(r"\ufeff", r"", name) - name = re.sub(r"(^!\s*)", r"-", name) - name = re.sub(r"(^-\s*)", r"", name) - name = re.sub(r"(^-)", r"", name) - name = re.sub(r"(^\s*)", r"", name) - name = re.sub(r"\t", "", name) - return name - - -def parse_json(json: list) -> list: - """ - Server metadata is underspecified and server operators - tend to insert random garbage in the headers. In case - sanitization failed, discard malformed rows rather than - aborting outright. - """ - rows = [] - for row in json: - try: - name = sanitize(row["name"]) - if name == "": - continue - except KeyError: - continue - - for key in [ - "map", - "gametype", - "players", - "max_players", - "addr", - "gameport", - ]: - try: - row[key] - except KeyError: - continue - - r = row["gametype"].split(",") - if "no3rd" in r: - view = "1PP" - else: - view = "3PP" - - if "external" in r: - provider = "Unoffic." - else: - provider = "Official" - - if "mod" in r: - modded = True - else: - modded = False - - try: - r = row["gametype"].split("lqs") - queue = r[1].split(",")[0] - except IndexError: - queue = 0 - - try: - test_time = re.search(r"[0-9]{2}:[0-9]{2}", row["gametype"]) - if test_time: - time = test_time.group(0) - else: - time = "Unknown" - except AttributeError: - time = "Unknown" - - try: - ip = row["addr"].split(":")[0] + ":" + str(row["gameport"]) - qport = row["addr"].split(":")[1] - except IndexError: - continue - - mapname = row["map"].lower() - players = row["players"] - max_players = row["max_players"] - raw = [ - name, - mapname, - view, - time, - int(players), - int(max_players), - int(queue), - ip, - int(qport), - provider, - modded, - ] - rows.append(raw) - return rows - - -def query_direct(ip: str, qport: int) -> dict | None: - try: - info = a2s.info((ip, qport)) - - name = info.server_name - mapname = info.map_name - address = ip + ":" + str(qport) - gameport = str(info.port) - players = info.player_count - max_players = info.max_players - keywords = info.keywords - - res = {} - res["name"] = name - res["map"] = mapname - res["gametype"] = keywords - res["players"] = players - res["max_players"] = max_players - res["addr"] = address - res["gameport"] = gameport - return res - except TimeoutError: - return None - except KeyError: - return None - - -@dataclass -class Res: - status: int - parsed: bool - json: str - - -def query_api(key: str, param: str) -> "HTTPResponse": - LIMIT = 10000 - url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" - - payload: dict[str, Union[int, str]] = { - "filter": r"\appid\221100" + param, - "limit": LIMIT, - "key": key, - } - par = parse.urlencode(payload) - url = f"{url}{par}" - - status = 200 - parsed = True - data = None - - try: - with request.urlopen(url) as response: - if response.status != 200: - status = response.status - try: - parsed = True - data = json.load(response) - except json.decoder.JSONDecodeError: - parsed = False - data = None - except HTTPError: - status = 403 - parsed = False - data = None - finally: - return Res(status, parsed, data) From ae67124c1057dc3dc9a2f15f1c03e2ea9e5b908a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:45:51 +0900 Subject: [PATCH 050/221] fix: change return type --- helpers/servers.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/helpers/servers.py b/helpers/servers.py index a408342..cb5cb9b 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -5,10 +5,11 @@ import socket import subprocess import sys import typing # noqa -from typing import Union + +from dataclasses import dataclass from urllib import request, parse from urllib.error import HTTPError -from dataclasses import dataclass +from typing import Union sys.path.append("a2s") import a2s # noqa @@ -173,10 +174,10 @@ def query_direct(ip: str, qport: int) -> dict | None: class Res: status: int parsed: bool - json: str + json: Union[str, None] -def query_api(key: str, param: str) -> "HTTPResponse": +def query_api(key: str, param: str) -> Res: LIMIT = 10000 url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" From 760634d3d839eb953f49d40d00bbe9b855c5faa3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:46:11 +0900 Subject: [PATCH 051/221] change: normalize steam deck headers --- helpers/ui.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index d2d876c..c215f7a 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1516,8 +1516,7 @@ class TreeView(Gtk.TreeView): column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.append_column(column) - if not IS_STEAM_DECK: - self.set_headers_visible(False) + self.set_headers_visible(False) self.selected_row = self.get_selection() self.selected_row.connect("changed", self._on_tree_selection_changed) @@ -2440,8 +2439,7 @@ class TreeView(Gtk.TreeView): column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.append_column(column) - if not IS_STEAM_DECK: - self.set_headers_visible(False) + self.set_headers_visible(False) self.set_model(row_store) self._populate(button_context.dict["opens"]) self.grab_focus() @@ -2640,6 +2638,7 @@ class GenericDialog(Gtk.MessageDialog): button_type = Gtk.ButtonsType.OK header_text = "Modlist" + # steam deck prints <2> if dialog title is duplicated Gtk.MessageDialog.__init__( self, transient_for=App.window, @@ -2647,7 +2646,7 @@ class GenericDialog(Gtk.MessageDialog): text=header_text, secondary_text=textwrap.fill(text, 50), buttons=button_type, - title=f"{app_name}", + title=f"{app_name} - Dialog", modal=True, ) From 99e13be3e8646b23f43e282ebb7ab41059505a0a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:47:15 +0900 Subject: [PATCH 052/221] chore: update checksums --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 7b8d1ed..b80ca0c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,11 +585,11 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="a68319e007172b36f7b4e4eaf0b03aab" + ["ui.py"]="c05cb7eaf40347b49cdd71030ca9cc39" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="5d244114c501754a630988354306e470" - ["servers.py"]="e77531286b215c6e94cf1f7d28ee640c" + ["servers.py"]="e5eae96d11cb1e551aaae74a469c4f5f" ) local author="aclist" local repo="dztui" From b4ae6a9e8b9157147db852fa159b48c7ee3c24c5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 29 Jul 2025 03:01:37 +0900 Subject: [PATCH 053/221] feat: ping column --- CHANGELOG.md | 17 +++---- dzgui.sh | 4 +- helpers/servers.py | 52 +++++++++++++++++++++- helpers/ui.py | 108 ++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 157 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4804309..4d2c86e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,20 @@ # Changelog -## [6.0.0-beta.1] 2025-07-25 +## [6.0.0-beta.1] 2025-07-28 ## Added -- Additional validation on entry dialogs to prevent submitting empty text -- Added "Return to main menu" button to dialog windows when failing to load server table -- Speed up load time of server tables -- More robust threading and cache system when filtering servers +- Ping column to server browsing contexts - Filter by modded servers -- Refresh server ping context menu and hotkey -- Disable "show mods" context menu if server has no mods - Breadcrumbs showing current menu context to top of window -- 0, minus, and backslash keybindings for filter toggles +- Speed up load time and navigation of server tables - Dedicated changelog page - Dedicated keybindings page - Vim-style navigation keybindings +- Additional validation on entry dialogs to prevent submitting empty text +- Added "Return to main menu" button to dialog windows when failing to load server table +- More robust threading and cache system when filtering servers +- Refresh server ping: context menu and hotkey +- Disable "show mods" context menu if server has no mods +- 0, minus, and backslash keybindings for filter toggles ## Fixed - Entry dialog sensitivity when validating API keys diff --git a/dzgui.sh b/dzgui.sh index b80ca0c..ea2e75d 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,11 +585,11 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="c05cb7eaf40347b49cdd71030ca9cc39" + ["ui.py"]="168865d5a0e7936e0f72da59dde6b6f4" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="5d244114c501754a630988354306e470" - ["servers.py"]="e5eae96d11cb1e551aaae74a469c4f5f" + ["servers.py"]="dc23a9f15e5014be171054792cf3fc16" ) local author="aclist" local repo="dztui" diff --git a/helpers/servers.py b/helpers/servers.py index cb5cb9b..c07c0ac 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -1,4 +1,5 @@ import json +import math import os import re import socket @@ -123,6 +124,11 @@ def parse_json(json: list) -> list: except IndexError: continue + try: + ping = row["ping"] + except KeyError: + ping = 9999 + mapname = row["map"].lower() players = row["players"] max_players = row["max_players"] @@ -136,6 +142,7 @@ def parse_json(json: list) -> list: int(queue), ip, int(qport), + ping, provider, modded, ] @@ -143,9 +150,9 @@ def parse_json(json: list) -> list: return rows -def query_direct(ip: str, qport: int) -> dict | None: +def query_direct(ip: str, qport: int, TIMEOUT=3.0) -> dict | None: try: - info = a2s.info((ip, qport)) + info = a2s.info((ip, qport), TIMEOUT) name = info.server_name mapname = info.map_name @@ -155,6 +162,12 @@ def query_direct(ip: str, qport: int) -> dict | None: max_players = info.max_players keywords = info.keywords + try: + ping = info.ping + ping = math.floor(info.ping * 1000) + except AttributeError: + ping = 9999 + res = {} res["name"] = name res["map"] = mapname @@ -163,6 +176,7 @@ def query_direct(ip: str, qport: int) -> dict | None: res["max_players"] = max_players res["addr"] = address res["gameport"] = gameport + res["ping"] = ping return res except TimeoutError: return None @@ -177,6 +191,40 @@ class Res: json: Union[str, None] +@dataclass +class Ping: + addr: str + iteration: int + ping: int + + +def ping(iteration: int, row: list) -> Ping: + addr = row[7] + qport = row[8] + + res = None + + if row[9] != 9999: + return Ping(addr, iteration, row[9]) + + try: + ip = addr.split(":")[0] + except IndexError: + ping = 9999 + + try: + res = query_direct(ip, qport, 0.5) + except Exception as e: + pass + + if res is None: + ping = 9999 + else: + ping = res["ping"] + + return Ping(addr, iteration, ping) + + def query_api(key: str, param: str) -> Res: LIMIT = 10000 url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" diff --git a/helpers/ui.py b/helpers/ui.py index c215f7a..3294845 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -16,11 +16,12 @@ import warnings from enum import Enum from concurrent.futures import wait from concurrent.futures import ThreadPoolExecutor + from collections.abc import Callable from typing import Literal, Self, Any sys.path.append("servers") -import servers as Servers +import servers as Servers # noqa E402 locale.setlocale(locale.LC_ALL, "") @@ -1013,6 +1014,7 @@ class OuterWindow(Gtk.Window): self.show_all() self.grid.right_panel.filters_vbox.set_visible(False) + self.grid.right_panel.enable_ping_button(False) self.grid.sel_panel.set_visible(False) # convenience to avoid deep calls @@ -1085,16 +1087,30 @@ class RightPanel(Gtk.Box): self.pack_start(self.button_vbox, False, False, 0) self.pack_start(self.filters_vbox, False, False, 0) - tooltip = ( + debug_tooltip = ( "Used to perform a dry run without\n" "actually connecting to a server" ) + ping_tooltip = ( + "Refresh the ping for visible servers.\n" + "Available once per unique filter context" + ) + + self.ping = Gtk.Button( + label="Ping servers", + margin_top=10, + margin_start=80, + margin_end=80, + tooltip_text=ping_tooltip, + ) + self.ping.connect("clicked", self._on_ping_clicked) + self.debug_toggle = Gtk.ToggleButton( label="Debug mode", margin_top=10, margin_start=80, margin_end=80, - tooltip_text=tooltip, + tooltip_text=debug_tooltip, ) if query_config("debug")[0] == "1": @@ -1110,9 +1126,13 @@ class RightPanel(Gtk.Box): ) self.question.connect("clicked", self._on_question_clicked) + self.pack_start(self.ping, False, True, 0) self.pack_start(self.debug_toggle, False, True, 0) self.pack_start(self.question, False, True, 0) + def enable_ping_button(self, state: bool) -> None: + self.ping.set_visible(state) + def reinit_maps(self, rows: list) -> None: map_store.clear() map_store.append(["All maps"]) @@ -1129,6 +1149,37 @@ class RightPanel(Gtk.Box): grid.statusbar.refresh() App.grid.notebook.focus_current() + def _on_ping_clicked(self, button: Gtk.Button) -> None: + block_signals() + + def _update_pings(): + rows = ModelManager.get_filtered() + with ThreadPoolExecutor(100) as executor: + futures = [ + executor.submit(Servers.ping, i, row) + for i, row in enumerate(rows) + ] + wait(futures) + for future in futures: + res = future.result() + path = Gtk.TreePath.new_from_indices([res.iteration]) + temp_model[path][9] = res.ping + ModelManager.ping_cache[res.addr] = res.ping + App.treeview.set_model(temp_model) + App.treeview.wait_dialog.destroy() + App.treeview.enable_ping_column(True) + App.treeview.grab_focus() + App.right_panel.ping.set_sensitive(False) + + unblock_signals() + + temp_model = App.treeview.get_model() + App.treeview.set_model(None) + App.treeview.wait_dialog = GenericDialog("Pinging servers", Popup.WAIT) + App.treeview.wait_dialog.show_all() + thread = threading.Thread(target=_update_pings, args=()) + thread.start() + def _on_question_clicked(self, button: Gtk.Button) -> None: App.grid.notebook.toggle_keybindings() @@ -1250,6 +1301,7 @@ class ModelManagerSingleton: def __init__(self): # packed ListStores self.filter_cache = {} + self.ping_cache = {} # stringwise (list) representation of the model self.control_model = None self.filtered = None @@ -1285,9 +1337,11 @@ class ModelManagerSingleton: if prior_map == "All maps": rows = self.filter_map(filters) else: + App.right_panel.ping.set_sensitive(True) rows = self.filter_toggle_on(filters, *args) case FilterMode.KEYWORD: + App.right_panel.ping.set_sensitive(True) rows = self.filter_toggle_on(filters, *args) case FilterMode.TOGGLE_OFF: @@ -1296,8 +1350,14 @@ class ModelManagerSingleton: rows = self.filtered case FilterMode.TOGGLE_ON: + App.right_panel.ping.set_sensitive(True) rows = self.filter_toggle_on(filters, *args) + if mode is not FilterMode.INITIAL: + for row in rows: + if row[7] in self.ping_cache: + row[9] = self.ping_cache[row[7]] + if len(rows) > 0: clone = ModelManager.new_model() rows = self.sort_rows(rows) @@ -1370,9 +1430,9 @@ class ModelManagerSingleton: case "1PP": rows = [row for row in rows if row[2] != "1PP"] case "Official": - rows = [row for row in rows if row[9] != "Official"] + rows = [row for row in rows if row[10] != "Official"] case "Unoffic.": - rows = [row for row in rows if row[9] != "Unoffic."] + rows = [row for row in rows if row[10] != "Unoffic."] case "Empty": rows = [row for row in rows if row[4] != 0] case "Full": @@ -1397,7 +1457,7 @@ class ModelManagerSingleton: case "Low pop": rows = [row for row in rows if (row[4] / row[5] * 100) > 30] case "Modded": - rows = [row for row in rows if not row[10]] + rows = [row for row in rows if not row[11]] return rows def filter_toggle_on(self, filters: tuple, *args: str) -> list: @@ -1417,7 +1477,7 @@ class ModelManagerSingleton: def new_model(self) -> Gtk.ListStore: return Gtk.ListStore( - str, str, str, str, int, int, int, str, int, str, bool + str, str, str, str, int, int, int, str, int, int, str, bool ) def resync_model(self, addr: str, qport: int) -> None: @@ -1433,6 +1493,8 @@ class ModelManagerSingleton: filters = App.right_panel.filters_vbox.get_filters() refiltered = self.filter_toggle_on(filters) self.set_filtered(refiltered) + self.set_success(True) + GLib.idle_add(App.treeview._filter_cleanup) def convert_model_to_list(self, model: Gtk.ListStore) -> list: return [[el for el in row] for row in model] @@ -1442,6 +1504,9 @@ class ModelManagerSingleton: rows = [] self.filtered = rows + def get_filtered(self) -> list: + return self.filtered + def set_store(self, model: Gtk.ListStore | None) -> None: self.store = model @@ -1461,6 +1526,7 @@ class ModelManagerSingleton: self.success = True self.filtered = None self.filter_cache = {} + self.ping_cache = {} if full: self.control_model = None @@ -1610,9 +1676,12 @@ class TreeView(Gtk.TreeView): addr = model.get_value(it, 7) qport = model.get_value(it, 8) model.remove(it) - print(addr) - ModelManager.resync_model(addr, qport) + block_signals() + thread = threading.Thread( + target=ModelManager.resync_model, args=(addr, qport) + ) + thread.start() def remove_from_history(self) -> None: record = self.get_record_string() @@ -1660,7 +1729,7 @@ class TreeView(Gtk.TreeView): (model, pathlist) = sels path = pathlist[0] tree_iter = model.get_iter(path) - mods = model.get_value(tree_iter, 10) + mods = model.get_value(tree_iter, 11) return mods def is_in_favs(self) -> bool: @@ -1973,7 +2042,7 @@ class TreeView(Gtk.TreeView): path = pathlist[0] model = self.get_model() if not model: - return + return None addr = model[path][7] qport = model[path][8] ip = addr.split(":")[0] @@ -1994,6 +2063,12 @@ class TreeView(Gtk.TreeView): path = self.get_mpath() model[path][6] = players + def enable_ping_column(self, state: bool) -> None: + columns = self.get_columns() + for column in columns: + if column.get_title() == "Ping": + column.set_visible(state) + def select_first_row(self): sel = self.get_selection() self._on_tree_selection_changed(sel) @@ -2102,8 +2177,11 @@ class TreeView(Gtk.TreeView): case RowType.SCAN_LAN: parsed = self._dump_lan(port) case RowType.SERVER_BROWSER: + App.treeview.enable_ping_column(False) + App.right_panel.enable_ping_button(True) parsed = self._dump_api() case RowType.SAVED_SERVERS: + App.treeview.enable_ping_column(True) favs = query_favorites() if not favs: ModelManager.set_success(False) @@ -2112,6 +2190,7 @@ class TreeView(Gtk.TreeView): return parsed = self._dump_servers(favs) case RowType.RECENT_SERVERS: + App.treeview.enable_ping_column(True) history = query_history() if not history: ModelManager.set_success(False) @@ -2309,6 +2388,7 @@ class TreeView(Gtk.TreeView): "Queue", "IP", "Qport", + "Ping", ] for i, column_title in enumerate(browser_cols): renderer = Gtk.CellRendererText() @@ -2318,7 +2398,10 @@ class TreeView(Gtk.TreeView): column.set_sort_column_id(i) if valid_json: - saved_size = data["cols"][column_title] + try: + saved_size = data["cols"][column_title] + except KeyError: + saved_size = 100 column.set_fixed_width(saved_size) column.set_expand(True) else: @@ -2428,6 +2511,7 @@ class TreeView(Gtk.TreeView): model.clear() ModelManager.wipe_cache(full=True) + App.right_panel.enable_ping_button(False) App.right_panel.filters_vbox.reinit_panel() self.set_selection_mode(Gtk.SelectionMode.SINGLE) From 495e7c14be88355f40a606154fc9fd786535263d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:44:01 +0900 Subject: [PATCH 054/221] chore: drop ping from statusbar --- helpers/ui.py | 44 ++++++++++---------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 3294845..b4ada1b 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -38,7 +38,7 @@ app_name_lower = app_name.lower() app_name_abbr = "dzg" delimiter = "␞" -cache: dict[str, tuple[int, int]] = {} +cache: dict[str, int] = {} config_vals: list[str] = [] _VERSION: str @@ -1261,7 +1261,6 @@ class CalcDist(multiprocessing.Process): self, widget: Gtk.Widget, addr: str, - qport: int, result_queue: multiprocessing.Queue, cache: dict, ): @@ -1270,21 +1269,16 @@ class CalcDist(multiprocessing.Process): self.widget = widget self.result_queue = result_queue self.addr = addr - self.qport = str(qport) self.ip = addr.split(":")[0] def run(self) -> None: if self.addr in cache: logger.info(f"Address '{self.addr}' already in cache") - self.result_queue.put( - [self.addr, cache[self.addr][0], cache[self.addr][1]] - ) + self.result_queue.put([self.addr, cache[self.addr]]) return proc = call_out("get_dist", self.ip) - proc2 = call_out("test_ping", self.ip, self.qport) km = proc.stdout - ping = proc2.stdout - self.result_queue.put([self.addr, km, ping]) + self.result_queue.put([self.addr, km]) class ModelManagerSingleton: @@ -1832,18 +1826,6 @@ class TreeView(Gtk.TreeView): self.menu.popup_at_pointer(event) self.menu.select_first(False) - def refresh_ping(self) -> None: - if not self.is_server_context(self.view): - return - record = App.treeview.get_record_dict() - try: - ip = record["ip"] - cache.pop(ip) - except KeyError: - pass - sel = App.treeview.get_selection() - App.treeview._on_tree_selection_changed(sel) - def refresh_player_count(self) -> None: if not self.is_server_context(self.view): return @@ -1886,14 +1868,12 @@ class TreeView(Gtk.TreeView): grid.statusbar.update_server_meta() return ip = record["ip"] - qport = record["qport"] if ip in cache: - km = cache[ip][0] - ping = cache[ip][1] - grid.statusbar.append_distance(km, ping) + km = cache[ip] + grid.statusbar.append_distance(km) return self.emit("on_distcalc_started") - self.current_proc = CalcDist(self, ip, qport, self.queue, cache) + self.current_proc = CalcDist(self, ip, self.queue, cache) self.current_proc.start() else: grid.statusbar.refresh() @@ -1941,8 +1921,6 @@ class TreeView(Gtk.TreeView): match event.keyval: case Gdk.KEY_l: self._on_button_release(self, event) - case Gdk.KEY_p: - self.refresh_ping() case Gdk.KEY_r: self.refresh_player_count() case Gdk.KEY_f: @@ -3444,14 +3422,13 @@ class Statusbar(Gtk.Statusbar): if len(formatted) > 0: self.set_text(formatted) - def append_distance(self, dist: str, ping: str) -> None: + def append_distance(self, dist: str) -> None: if dist == "Unknown": dist = f"| Distance: {dist}" else: d = int(dist) dist = f"| Distance: {d:n} km" - ping = f" | Ping: {ping}" - self.set_text(self.players + dist + ping) + self.set_text(self.players + dist) def update_server_meta(self) -> None: model = App.treeview.get_model() @@ -3558,9 +3535,8 @@ class Grid(Gtk.Grid): if latest_result: addr = latest_result[0] km = latest_result[1] - ping = latest_result[2] - cache[addr] = km, ping - self.statusbar.append_distance(km, ping) + cache[addr] = km + self.statusbar.append_distance(km) return True From e8c51cbadfcf7125e2788d647f0cd8cf1eb1b6f9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:44:46 +0900 Subject: [PATCH 055/221] feat: details dialog --- helpers/ui.py | 117 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 112 insertions(+), 5 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index b4ada1b..75edd9a 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -100,6 +100,7 @@ class Popup(Enum): ENTRY = 4 RETURN = 5 MODLIST = 6 + DETAILS = 7 class NotebookPage(Enum): @@ -388,7 +389,7 @@ class ContextMenu(EnumWithAttrs): "action": "copy_clipboard", } SHOW_MODS = {"label": "Show server-side mods", "action": "show_mods"} - REFRESH_PING = {"label": "Refresh ping", "action": "refresh_ping"} + SHOW_DETAILS = {"label": "Server details", "action": "show_details"} REFRESH_PLAYERS = { "label": "Refresh player count", "action": "refresh_player_count", @@ -561,6 +562,9 @@ def load_css() -> None: .left-label { font-size: 1.3rem; } + .details-heading { + font-size: 1.2rem + } """ prov = Gtk.CssProvider() prov.load_from_data(css.encode("ascii")) @@ -1682,6 +1686,13 @@ class TreeView(Gtk.TreeView): call_out("Remove from history", record) self.resync_with_manager() + def show_details(self) -> None: + model = self.get_model() + it = self.get_current_iter() + name = model.get_value(it, 0) + record = self.get_record_dict() + DetailsDialog(name, record["ip"], record["qport"]) + def show_mods(self) -> None: record = self.get_record_string() ModDialog(record) @@ -1766,23 +1777,23 @@ class TreeView(Gtk.TreeView): ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, ContextMenu.SHOW_MODS, + ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, - ContextMenu.REFRESH_PING, ], RowType.SCAN_LAN: [ ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, ContextMenu.SHOW_MODS, + ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, - ContextMenu.REFRESH_PING, ], RowType.SAVED_SERVERS: [ ContextMenu.REMOVE_SERVER, ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, ContextMenu.SHOW_MODS, + ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, - ContextMenu.REFRESH_PING, ], RowType.RECENT_SERVERS: [ ContextMenu.ADD_SERVER, @@ -1790,8 +1801,8 @@ class TreeView(Gtk.TreeView): ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, ContextMenu.SHOW_MODS, + ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, - ContextMenu.REFRESH_PING, ], } @@ -2699,6 +2710,10 @@ class GenericDialog(Gtk.MessageDialog): dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.OK header_text = "Modlist" + case Popup.DETAILS: + dialog_type = Gtk.MessageType.INFO + button_type = Gtk.ButtonsType.OK + header_text = "Server details" # steam deck prints <2> if dialog title is duplicated Gtk.MessageDialog.__init__( @@ -2908,6 +2923,98 @@ class LanDialog(Gtk.MessageDialog): self.ok.set_sensitive(False) +class DetailsDialog(GenericDialog): + def __init__(self, server_name: str, ip: str, qport: str): + super().__init__(server_name, Popup.DETAILS) + + dialog_box = self.get_content_area() + self.set_default_response(Gtk.ResponseType.OK) + self.set_size_request(800, 700) + + self.ip = ip.split(":")[0] + self.qport = int(qport) + self.store = Gtk.ListStore(str, str, Pango.Weight) + + self.view = Gtk.TreeView( + enable_search=False, + search_column=-1, + headers_visible=False, + ) + self.view.connect("row-activated", self._on_row_activated) + + for i, column_title in enumerate(["Item", "Details"]): + renderer = Gtk.CellRendererText(xalign=0) + if i == 0: + column = Gtk.TreeViewColumn( + column_title, renderer, text=i, weight=2 + ) + else: + column = Gtk.TreeViewColumn(column_title, renderer, text=i) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + if i != 2: + self.view.append_column(column) + column.set_sort_column_id(i) + + scrollable_tree = Gtk.ScrolledWindow() + scrollable_tree.add(self.view) + + scrollable_message = Gtk.ScrolledWindow() + desc = Gtk.Label(label="Server message", valign=Gtk.Align.START) + add_class(desc, "details-heading") + box = Gtk.Box( + orientation=Gtk.Orientation.VERTICAL, halign=Gtk.Align.CENTER + ) + self.description = Gtk.Label(justify=Gtk.Justification.CENTER) + sep = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL) + sep.set_margin_bottom(10) + for el in desc, sep, self.description: + box.add(el) + scrollable_message.add(box) + + dialog_box.pack_start(scrollable_tree, True, True, 0) + dialog_box.pack_start(scrollable_message, True, True, 0) + + self.wait_dialog = GenericDialog("Fetching details", Popup.WAIT) + self.wait_dialog.show_all() + thread = threading.Thread( + target=self._background, args=(self.wait_dialog, ip, qport) + ) + thread.start() + + def _on_row_activated( + self, + treeview: Gtk.TreeView, + tree_iter: Gtk.TreeIter, + col: Gtk.TreeViewColumn, + ) -> None: + self.destroy() + + def _load(self) -> None: + if self.wait_dialog: + self.wait_dialog.destroy() + if self.success is False: + msg = """Error while contacting server, possibly timed out. + Please wait and try again. + """ + spawn_dialog(msg, Popup.NOTIFY) + return + self.show_all() + self.run() + self.destroy() + + def _background( + self, dialog: "GenericDialog", ip: str, qport: int + ) -> None: + response = Servers.details(self.ip, self.qport) + if response.success: + for row in response.data: + self.store.append(row + [Pango.Weight.BOLD]) + self.view.set_model(self.store) + self.description.set_text(response.description) + self.success = response.success + GLib.idle_add(self._load) + + class ModDialog(GenericDialog): def __init__(self, record: str): msg = "Enter/double click a row to open in Steam Workshop." From 4e5f988ef78265ddc7e9baea9500c91078b0a210 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:45:22 +0900 Subject: [PATCH 056/221] feat: parse description field --- helpers/servers.py | 75 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/helpers/servers.py b/helpers/servers.py index c07c0ac..12f65ce 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -14,6 +14,7 @@ from typing import Union sys.path.append("a2s") import a2s # noqa +from a2s import dayzquery params = [ r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", @@ -198,6 +199,80 @@ class Ping: ping: int +@dataclass +class Details: + data: Union[list, None] + description: str + success: bool + + +def details(ip: str, qport: int) -> Details: + default_str = "None provided" + + try: + info = a2s.info((ip, qport)) + except TimeoutError: + return Details(None, default_str, False) + try: + rules = dayzquery.dayz_rules((ip, int(qport))) + except TimeoutError: + return Details(None, default_str, False) + + try: + keywords = info.keywords.split(",") + except AttributeError: + return Details(None, default_str, False) + + battleeye = "Disabled" + if "battleye" in keywords: + battleye = "Enabled" + + day_accel = 0.0 + night_accel = 0.0 + for keyword in keywords: + if "etm" in keyword: + day_accel = float(keyword.lstrip("etm")) + day_accel = f"{day_accel:g}" + if "entm" in keywords: + night_accel = float(keyword.lstrip("entm")) + night_accel = f"{night_accel:g}" + + try: + dlc = rules.dlc_flags + if dlc == 0: + dlc = "None" + if dlc == 2: + dlc = "Frostline" + except AttributeError: + dlc = "not specified" + + try: + platform = rules.platform + if platform == "win": + platform = "Windows" + if platform == "?": + platform = "Linux" + except AttributeError: + platform = "not specified" + + try: + description = rules.description.strip() + if description == "": + description = default_str + except AttributeError: + description = default_str + + rows = [ + ["DLC", dlc], + ["Battleye", battleye], + ["Daytime acceleration", f"{day_accel}x"], + ["Night-time acceleration", f"{night_accel}x"], + ["Platform", platform], + ] + + return Details(rows, description, True) + + def ping(iteration: int, row: list) -> Ping: addr = row[7] qport = row[8] From c57af3086c7907e87823c3b57a7d5b14a10cac4e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:46:32 +0900 Subject: [PATCH 057/221] chore: update checksums --- dzgui.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index ea2e75d..cf6e88e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -542,13 +542,13 @@ fetch_a2s(){ logger INFO "Updated A2S helper to sha '$sha'" } fetch_dzq(){ - local sum="9caed1445c45832f4af87736ba3f9637" + local sum="0a334e1e144e76e560419d155435c91e" local file="$helpers_path/a2s/dayzquery.py" if [[ -f $file ]] && [[ $(get_hash "$file") == $sum ]]; then logger INFO "DZQ is current" return 0 fi - local sha=3088bbfb147b77bc7b6a9425581b439889ff3f7f + local sha=a22a9f428cbe075d7dda62f78000296955eea92a local author="yepoleb" local repo="dayzquery" local url="https://raw.githubusercontent.com/$author/$repo/$sha/dayzquery.py" @@ -585,11 +585,11 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="168865d5a0e7936e0f72da59dde6b6f4" + ["ui.py"]="ca457a16e9ac403f2d10e867fae60c7b" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="5d244114c501754a630988354306e470" - ["servers.py"]="dc23a9f15e5014be171054792cf3fc16" + ["servers.py"]="51839211af7f65bdc04bab5557bf9466" ) local author="aclist" local repo="dztui" From 09fdbf3a6f7cb9785e1ef32f7f75a4ee6a597958 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:52:04 +0900 Subject: [PATCH 058/221] chore: update changelog --- CHANGELOG.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d2c86e..4ce52ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,20 @@ # Changelog -## [6.0.0-beta.1] 2025-07-28 +## [6.0.0-beta.1] 2025-07-29 ## Added - Ping column to server browsing contexts +- Server details dialog to server browsing contexts - Filter by modded servers - Breadcrumbs showing current menu context to top of window - Speed up load time and navigation of server tables +- More robust threading and cache system when filtering servers - Dedicated changelog page - Dedicated keybindings page - Vim-style navigation keybindings - Additional validation on entry dialogs to prevent submitting empty text - Added "Return to main menu" button to dialog windows when failing to load server table -- More robust threading and cache system when filtering servers -- Refresh server ping: context menu and hotkey -- Disable "show mods" context menu if server has no mods -- 0, minus, and backslash keybindings for filter toggles +- Dynamic context menus for modded servers +- Additional keybindings for filter toggles ## Fixed - Entry dialog sensitivity when validating API keys @@ -24,17 +24,19 @@ - Centered filter checkboxes within panel - Do not pop unhighlight/select stale buttons if no stale mods exist - Improved keybinding interaction with side panels +- Key stickiness when quickly navigating through entries in tables +- Suppress typeahead search in mod dialogs +- Do not trigger global API cooldown if no LAN/favorite servers are found ## Changed - Reduced global API cooldown from 60s to 30s - Clarify dialog messages when DayZ path could not be found - Auto-focus first item when opening context menus -- Removed low opacity setting on side buttons when in a different context +- Opacity setting on side buttons when in a different context - Refactored BM API key validation to account for new key format -- Do not trigger global API cooldown if no LAN/favorite servers are found -- Suppress typeahead search in mod dialogs ## Dropped +- Ping readout in statusbar ## [5.8.0-beta.2] 2025-07-06 ## Added From f9ba99014269b874026a91dfee56bed38990526a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:57:42 +0900 Subject: [PATCH 059/221] fix: set expand properties of columns --- helpers/ui.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 75edd9a..a643b32 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2939,6 +2939,7 @@ class DetailsDialog(GenericDialog): enable_search=False, search_column=-1, headers_visible=False, + fixed_height_mode=True ) self.view.connect("row-activated", self._on_row_activated) @@ -2954,6 +2955,7 @@ class DetailsDialog(GenericDialog): if i != 2: self.view.append_column(column) column.set_sort_column_id(i) + column.set_expand(True) scrollable_tree = Gtk.ScrolledWindow() scrollable_tree.add(self.view) @@ -3025,18 +3027,25 @@ class ModDialog(GenericDialog): self.set_size_request(800, 500) self.scrollable = Gtk.ScrolledWindow() - self.view = Gtk.TreeView(enable_search=False, search_column=-1) + self.view = Gtk.TreeView( + enable_search=False, + search_column=-1, + fixed_height_mode=True + ) self.scrollable.add(self.view) set_surrounding_margins(self.scrollable, 20) self.view.connect("row-activated", self._on_row_activated) for i, column_title in enumerate(["Mod", "ID", "Installed"]): - renderer = Gtk.CellRendererText() + renderer = Gtk.CellRendererText( + ellipsize=Pango.EllipsizeMode.END + ) column = Gtk.TreeViewColumn(column_title, renderer, text=i) column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.view.append_column(column) column.set_sort_column_id(i) + column.set_fixed_width(350) dialogBox.pack_end(self.scrollable, True, True, 0) wait_dialog = GenericDialog("Fetching modlist", Popup.WAIT) From 51a5f4b8efad1a70eca920ac8fde39417f95c421 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:58:16 +0900 Subject: [PATCH 060/221] chore: update checksums --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index cf6e88e..1b08a96 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,7 +585,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="ca457a16e9ac403f2d10e867fae60c7b" + ["ui.py"]="d6db191dca9e50bec32458a04eaac3a6" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["funcs"]="5d244114c501754a630988354306e470" From f7af8ff35abc8e7e38ebcc37bae3b90f67507111 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:58:48 +0900 Subject: [PATCH 061/221] chore: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ce52ca..7657310 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - Key stickiness when quickly navigating through entries in tables - Suppress typeahead search in mod dialogs - Do not trigger global API cooldown if no LAN/favorite servers are found +- Fix table column expansion in server mod dialogs ## Changed - Reduced global API cooldown from 60s to 30s From 6081e6d2a75b91cc1ab66c70e64309a263a288ee Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:59:49 +0900 Subject: [PATCH 062/221] chore: update funcs version --- dzgui.sh | 2 +- helpers/funcs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 1b08a96..0fa394e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["ui.py"]="d6db191dca9e50bec32458a04eaac3a6" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="5d244114c501754a630988354306e470" + ["funcs"]="1cef1a9fab4b6428fdba5572ad002614" ["servers.py"]="51839211af7f65bdc04bab5557bf9466" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 6fa0d3a..46ec683 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="5.8.0" +version="6.0.0-beta.1" #CONSTANTS aid=221100 From 43f32638f82ced123959bf58ad843bf8d71cb4b6 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 30 Jul 2025 02:25:29 +0900 Subject: [PATCH 063/221] chore: bump version --- CHANGELOG.md | 4 ++++ dzgui.sh | 4 ++-- helpers/funcs | 2 +- helpers/ui.py | 9 ++++++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7657310..a698357 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.2] 2025-07-29 +## Fixed +- Missing parameters when closing application via window decorations + ## [6.0.0-beta.1] 2025-07-29 ## Added - Ping column to server browsing contexts diff --git a/dzgui.sh b/dzgui.sh index 0fa394e..b090543 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="d6db191dca9e50bec32458a04eaac3a6" + ["ui.py"]="52183c5d29d10ebd0bf91693e41f197b" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="1cef1a9fab4b6428fdba5572ad002614" + ["funcs"]="19440a79345b66154a49882b25cfa7c5" ["servers.py"]="51839211af7f65bdc04bab5557bf9466" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index 46ec683..f9d0686 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.1" +version="6.0.0-beta.2" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index a643b32..4c441e0 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1007,7 +1007,7 @@ class OuterWindow(Gtk.Window): if not IS_STEAM_DECK: self.set_titlebar(self.hb) - self.connect("delete-event", self.halt_proc_and_quit) + self.connect("delete-event", self._on_delete_event) self.connect("key-press-event", self._on_keypress) self.set_border_width(10) @@ -1068,6 +1068,13 @@ class OuterWindow(Gtk.Window): logger.info(f"Restoring window size to {w},{h}") self.set_default_size(w, h) + def _on_delete_event( + self, + window: "OuterWindow", + event: Gdk.EventKey + ) -> None: + self.halt_proc_and_quit() + def halt_proc_and_quit(self) -> None: App.grid.terminate_treeview_process() save_res_and_quit() From eaedde7ee5543da1768cbf855a215a0da940dce9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:39:52 +0900 Subject: [PATCH 064/221] fix: clarify wording --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index b090543..a726ba5 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -513,7 +513,7 @@ lock(){ ps -p $pid -o pid= >/dev/null 2>&1 res=$? if [[ $res -eq 0 ]]; then - local msg="DZGUI already running ($pid)" + local msg="DZGUI is already running ($pid)" raise_error_and_quit "$msg" elif [[ $pid == $$ ]]; then : From acc356d3a0871a6a4339617684dad0d34720c5ce Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:40:38 +0900 Subject: [PATCH 065/221] chore: resolve QA errors --- helpers/servers.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/helpers/servers.py b/helpers/servers.py index 12f65ce..dc0de57 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -14,10 +14,10 @@ from typing import Union sys.path.append("a2s") import a2s # noqa -from a2s import dayzquery +from a2s import dayzquery # noqa params = [ - r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", + r"\nor\1\map\chernarusplus\nor\1\map\sakhal\nor\1\map\enoch\empty\1\nor\1\map\namalsk", # noqa r"\map\namalsk\empty\1", r"\map\namalsk\noplayers\1", r"\map\chernarusplus\empty\1", @@ -223,7 +223,7 @@ def details(ip: str, qport: int) -> Details: except AttributeError: return Details(None, default_str, False) - battleeye = "Disabled" + battleye = "Disabled" if "battleye" in keywords: battleye = "Enabled" @@ -289,7 +289,7 @@ def ping(iteration: int, row: list) -> Ping: try: res = query_direct(ip, qport, 0.5) - except Exception as e: + except Exception: pass if res is None: From 51308e788ec76c15076892c54c68460859961dd8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:41:38 +0900 Subject: [PATCH 066/221] feat: parse server details --- helpers/servers.py | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/helpers/servers.py b/helpers/servers.py index dc0de57..5565b28 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -206,6 +206,19 @@ class Details: success: bool +def is_passworded(ip: str, qport: int) -> bool: + try: + info = a2s.info((ip, qport)) + except TimeoutError: + return False + + try: + password = info.password_protected + except AttributeError: + return False + return password + + def details(ip: str, qport: int) -> Details: default_str = "None provided" @@ -237,6 +250,29 @@ def details(ip: str, qport: int) -> Details: night_accel = float(keyword.lstrip("entm")) night_accel = f"{night_accel:g}" + try: + password = info.password_protected + if password is False: + password = "Disabled" + else: + password = "Enabled" + except AttributeError: + password = "-" + + try: + vac = info.vac_enabled + if vac is False: + vac = "Disabled" + else: + vac = "Enabled" + except AttributeError: + vac = "-" + + try: + version = info.version + except AttributeError: + version = "-" + try: dlc = rules.dlc_flags if dlc == 0: @@ -263,11 +299,14 @@ def details(ip: str, qport: int) -> Details: description = default_str rows = [ - ["DLC", dlc], ["Battleye", battleye], ["Daytime acceleration", f"{day_accel}x"], + ["DLC", dlc], ["Night-time acceleration", f"{night_accel}x"], + ["Password", password], ["Platform", platform], + ["Valve Anti-Cheat", vac], + ["Version", version], ] return Details(rows, description, True) From 562f6453dc7b1432bcee67d5d402cc84167422ae Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:46:58 +0900 Subject: [PATCH 067/221] fix: use correct path --- helpers/ui.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 4c441e0..985bc1d 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -63,8 +63,8 @@ funcs = f"{helpers_path}/funcs" mods_temp_file = f"{cache_path}/{app_name_abbr}.mods_temp" stale_mods_temp_file = f"{cache_path}/{app_name_abbr}.stale_mods_temp" servers_path = f"{cache_path}/{app_name_abbr}.servers" -config_path = f"{user_path}/.config" -config_file = f"{user_path}/.config/dztuirc" +config_path = f"{user_path}/.config/dztui" +config_file = f"{config_path}/dztuirc" history_file = f"{state_path}/{app_name_abbr}.history" logger = logging.getLogger(__name__) From ee0fd7b78cd38e98e74f2cf2fed627c37225c9f0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:47:37 +0900 Subject: [PATCH 068/221] fix: handle unspecified args --- helpers/ui.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 985bc1d..da4b476 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -611,7 +611,7 @@ def block_signals(state: bool = True) -> None: ) -def save_res_and_quit() -> None: +def save_res_and_quit(*args) -> None: if App.window.props.is_maximized: Gtk.main_quit() return @@ -622,7 +622,7 @@ def save_res_and_quit() -> None: j = json.dumps(data, indent=2) with open(res_path, "w") as outfile: outfile.write(j) - logger.info(f"Wrote initial window size to '{res_path}'") + logger.info(f"Wrote window size to '{res_path}'") if os.path.isfile(res_path): with open(res_path, "r") as infile: From 437ea2a2188443b709f224aadde506164932e898 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:48:26 +0900 Subject: [PATCH 069/221] fix: breadcrums not updating correctly --- helpers/ui.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index da4b476..8dfdac4 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3507,12 +3507,7 @@ class Notebook(Gtk.Notebook): def _on_page_changed( self, notebook: "Notebook", page: Gtk.Widget, page_num: int ) -> None: - pass - if page.type is None: - App.treeview.subpage = self.prior_subpage - else: - self.prior_subpage = App.treeview.subpage - App.treeview.subpage = page.type + App.treeview.subpage = page.type class Statusbar(Gtk.Statusbar): From 6c192741ec1c2541ea8ae9c5af773a0f794a0d23 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:48:55 +0900 Subject: [PATCH 070/221] chore: consolidate vars --- helpers/ui.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 8dfdac4..301291f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3420,8 +3420,7 @@ class Notebook(Gtk.Notebook): def __init__(self): super().__init__(show_tabs=False, show_border=False) - clog = Changelog() - self.clog = ScrollableNote(clog) + self.clog = ScrollableNote(Changelog()) self.clog.type = RowType.CHANGELOG self.clog.show_all() self.append_page(self.clog) From 63beb61878b2c06f585e4c33171444cb5c7b4d64 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:50:37 +0900 Subject: [PATCH 071/221] feat: make back button optional --- helpers/ui.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 301291f..82a307e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3224,7 +3224,7 @@ class EntryDialog(GenericDialog): class ScrollableNote(Gtk.Box): - def __init__(self, content_box: Gtk.Box): + def __init__(self, content_box: Gtk.Box, back_button=True): super().__init__(orientation=Gtk.Orientation.VERTICAL) self.scrollable = Gtk.ScrolledWindow() @@ -3233,12 +3233,13 @@ class ScrollableNote(Gtk.Box): self.back_button = Gtk.Button( label="Back", hexpand=True, halign=Gtk.Align.CENTER ) - self.back_button.connect("clicked", self._on_back_clicked) self.gutter = Gtk.Box( orientation=Gtk.Orientation.HORIZONTAL, valign=Gtk.Align.END ) - self.gutter.add(self.back_button) + if back_button: + self.gutter.add(self.back_button) + self.back_button.connect("clicked", self._on_back_clicked) self.scrollable.add(content_box) self.add(self.scrollable) From ff0c5caf30c4eea06505458e14684c9d914d0480 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:51:29 +0900 Subject: [PATCH 072/221] feat: add quit dialog --- helpers/ui.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 82a307e..9837192 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -101,6 +101,7 @@ class Popup(Enum): RETURN = 5 MODLIST = 6 DETAILS = 7 + QUIT = 8 class NotebookPage(Enum): @@ -860,8 +861,7 @@ def process_shell_return_code( process_tree_option(RowType.HANDSHAKE) case 255: # dzgui version update msg = "Update complete. Please close DZGUI and restart." - spawn_dialog(msg, Popup.NOTIFY) - save_res_and_quit() + spawn_dialog(msg, Popup.QUIT) def call_on_thread( @@ -2697,11 +2697,7 @@ class GenericDialog(Gtk.MessageDialog): dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.NONE header_text = "Please wait" - case Popup.NOTIFY: - dialog_type = Gtk.MessageType.INFO - button_type = Gtk.ButtonsType.OK - header_text = "Notice" - case Popup.RETURN: + case Popup.NOTIFY | Popup.RETURN | Popup.QUIT: dialog_type = Gtk.MessageType.INFO button_type = Gtk.ButtonsType.OK header_text = "Notice" @@ -2748,6 +2744,13 @@ class GenericDialog(Gtk.MessageDialog): ok.connect("clicked", self._return_to_main_menu) self.connect("delete-event", self._return_to_main_menu) + if mode == Popup.QUIT: + button_label = "Exit" + ok = self.action_area.get_children()[0] + ok.set_label(button_label) + ok.connect("clicked", save_res_and_quit) + self.connect("delete-event", save_res_and_quit) + self.set_default_response(Gtk.ResponseType.OK) self.set_size_request(500, 0) self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT) From 12d971a5cf4b86392f8dde4c2932d37fe25598a4 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:54:32 +0900 Subject: [PATCH 073/221] fix: no statusbar in special pages --- helpers/ui.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 9837192..187f0b4 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -665,6 +665,10 @@ def pluralize(plural: str, count: int) -> str: def format_metadata(row_sel: str) -> str: + """ + Currently only being used for legacy + favorite server tooltip, cf Statusbar.update_app_meta() + """ row = None for i in RowType: if i.dict["label"] == row_sel: @@ -956,7 +960,6 @@ def process_toggle(command: RowType) -> None: case RowType.TGL_INSTALL: if query_config("auto_install")[0] == "1": proc = call_out("toggle", cmd_string) - App.grid.statusbar.refresh() return # manual -> auto mode proc = call_out("find_id", "") @@ -969,7 +972,6 @@ def process_toggle(command: RowType) -> None: LinkDialog(manual_sub_msg, link, command, user_id) case _: proc = call_out("toggle", cmd_string) - App.grid.statusbar.refresh() def process_user_input(enum: RowType) -> None: @@ -3537,7 +3539,15 @@ class Statusbar(Gtk.Statusbar): self.push(meta, string) def refresh(self) -> None: - self.update_app_meta() + unsupported_contexts = [ + RowType.KEYBINDINGS, + RowType.SHOW_LOG, + RowType.CHANGELOG, + RowType.OPTIONS, + ] + if App.treeview.subpage in unsupported_contexts: + self.set_text("") + return command = App.treeview.get_value_at_index(0) formatted = format_metadata(command) if len(formatted) > 0: @@ -3578,14 +3588,7 @@ class Statusbar(Gtk.Statusbar): config_vals.clear() for i in query_config(): config_vals.append(i) - _branch = config_vals[0] - _branch = _branch.upper() - _debug = config_vals[1] - if _debug == "": - _debug = "NORMAL" - else: - _debug = "DEBUG" - concat_label = f"{_branch} | {_debug} | {_VERSION}" + concat_label = f"{_VERSION}" self.status_right_label.set_text(concat_label) From 4795aeb3f94558e1a334c951715d42075c945663 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:55:40 +0900 Subject: [PATCH 074/221] chore: rename function --- helpers/ui.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 187f0b4..926494c 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -931,7 +931,7 @@ def process_tree_option(choice: RowType) -> None: return if command == RowType.CHANGELOG: - App.grid.notebook.set_page_enum(NotebookPage.CHANGELOG) + App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) return match command.dict["type"]: @@ -1032,7 +1032,7 @@ class OuterWindow(Gtk.Window): load_css() App.ready = True - App.grid.notebook.set_page_enum(NotebookPage.MAIN) + App.grid.notebook.set_page_by_enum(NotebookPage.MAIN) App.treeview.grab_focus() def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None: @@ -2494,7 +2494,7 @@ class TreeView(Gtk.TreeView): row = (label,) row_store.append(row) App.grid.statusbar.refresh() - App.grid.notebook.set_page_enum(NotebookPage.MAIN) + App.grid.notebook.set_page_by_enum(NotebookPage.MAIN) self.grab_focus() @signal_emission @@ -3487,7 +3487,7 @@ class Notebook(Gtk.Notebook): self.set_current_page(self.prior_page) else: self.prior_page = self.get_current_page() - self.set_page_enum(NotebookPage.KEYS) + self.set_page_by_enum(NotebookPage.KEYS) def focus_current(self) -> None: widget = self.get_page() @@ -3502,7 +3502,7 @@ class Notebook(Gtk.Notebook): return None return widget - def set_page_enum(self, enum: NotebookPage) -> None: + def set_page_by_enum(self, enum: NotebookPage) -> None: self.prior_page = self.get_current_page() self.set_current_page(enum.value) self.focus_current() From 9d94b4ff0977a8d2a10349239d49a7339297a9af Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:57:43 +0900 Subject: [PATCH 075/221] chore: clear linting errors --- helpers/ui.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 926494c..96ddd42 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1071,9 +1071,7 @@ class OuterWindow(Gtk.Window): self.set_default_size(w, h) def _on_delete_event( - self, - window: "OuterWindow", - event: Gdk.EventKey + self, window: "OuterWindow", event: Gdk.EventKey ) -> None: self.halt_proc_and_quit() @@ -2951,7 +2949,7 @@ class DetailsDialog(GenericDialog): enable_search=False, search_column=-1, headers_visible=False, - fixed_height_mode=True + fixed_height_mode=True, ) self.view.connect("row-activated", self._on_row_activated) @@ -3040,19 +3038,15 @@ class ModDialog(GenericDialog): self.scrollable = Gtk.ScrolledWindow() self.view = Gtk.TreeView( - enable_search=False, - search_column=-1, - fixed_height_mode=True - ) + enable_search=False, search_column=-1, fixed_height_mode=True + ) self.scrollable.add(self.view) set_surrounding_margins(self.scrollable, 20) self.view.connect("row-activated", self._on_row_activated) for i, column_title in enumerate(["Mod", "ID", "Installed"]): - renderer = Gtk.CellRendererText( - ellipsize=Pango.EllipsizeMode.END - ) + renderer = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.END) column = Gtk.TreeViewColumn(column_title, renderer, text=i) column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.view.append_column(column) From 8c7ae8aceeab7aab131eb2020e08bb48471d806e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:58:33 +0900 Subject: [PATCH 076/221] fix: wrap description text --- helpers/ui.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 96ddd42..cf03aa0 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2969,6 +2969,7 @@ class DetailsDialog(GenericDialog): scrollable_tree = Gtk.ScrolledWindow() scrollable_tree.add(self.view) + scrollable_tree.set_size_request(700, 200) scrollable_message = Gtk.ScrolledWindow() desc = Gtk.Label(label="Server message", valign=Gtk.Align.START) @@ -2976,7 +2977,9 @@ class DetailsDialog(GenericDialog): box = Gtk.Box( orientation=Gtk.Orientation.VERTICAL, halign=Gtk.Align.CENTER ) - self.description = Gtk.Label(justify=Gtk.Justification.CENTER) + self.description = Gtk.Label( + justify=Gtk.Justification.CENTER, wrap=True + ) sep = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL) sep.set_margin_bottom(10) for el in desc, sep, self.description: From 8f3238e4de8a11f3e655aee2a0eb9a600bfb2170 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 17:59:10 +0900 Subject: [PATCH 077/221] feat: prompt on locked servers --- helpers/ui.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index cf03aa0..47de1c6 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2677,6 +2677,17 @@ class TreeView(Gtk.TreeView): case WindowContext.TABLE_MODS | WindowContext.TABLE_LOG: self.update_quad_column(cr) case WindowContext.TABLE_SERVER | WindowContext.TABLE_API: + record = self.get_record_dict() + if record is None: + return + if Servers.is_passworded(record["ip"], int(record["qport"])): + msg = ( + "This server is password-protected and you will be " + "prompted when connecting. Do you want to proceed?" + ) + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return self._attempt_connection() case _: # any other non-server option from the main menu process_tree_option(output) From 9c6847ba39dbcebcfb9e86e345d07616e0a70527 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:00:33 +0900 Subject: [PATCH 078/221] feat: toast notification --- helpers/ui.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 47de1c6..7b2d903 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -551,6 +551,9 @@ def load_css() -> None: .frame { border: 0px; } + .toast-label { + padding: 10px; + } .frame > border { border-radius: 5px; padding: 5px; @@ -1016,8 +1019,14 @@ class OuterWindow(Gtk.Window): self._set_resolution() self.grid = Grid() - self.add(self.grid) + self.toast = Toast() + self.overlay = Gtk.Overlay() + self.overlay.add_overlay(self.grid) + self.overlay.add_overlay(self.toast) + self.add(self.overlay) + self.show_all() + self.toast.set_visible(False) self.grid.right_panel.filters_vbox.set_visible(False) self.grid.right_panel.enable_ping_button(False) @@ -1080,6 +1089,47 @@ class OuterWindow(Gtk.Window): save_res_and_quit() +class Toast(Gtk.EventBox): + def __init__(self): + super().__init__() + + self.label = Gtk.Label() + self.box = Gtk.Box( + orientation=Gtk.Orientation.HORIZONTAL, + halign=Gtk.Align.CENTER, + valign=Gtk.Align.CENTER, + ) + self.box.add(self.label) + self.add(self.box) + self.box.set_size_request(200, 100) + + add_class(self.box, "toast-label") + + def set_text(self, text: str) -> None: + self.label.set_text(text) + + def set_text_and_fade(self, text: str) -> None: + self.set_text(text) + self.pop() + self._defer_fade() + + def fade_out(self) -> bool: + if self.get_opacity() == 0: + self.set_visible(False) + self.set_opacity(1) + return False + self.set_opacity(self.get_opacity() - 0.03) + return True + + def pop(self) -> None: + self.set_visible(True) + + def _defer_fade(self) -> Literal[False]: + """Defers fade out of toast""" + GLib.timeout_add(30, self.fade_out) + return False + + class ScrollableTree(Gtk.ScrolledWindow): def __init__(self): super().__init__() From 5b9309a6bde1e92b98b39a2d596beb2b848934df Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:01:05 +0900 Subject: [PATCH 079/221] fix: discard key input in entry field --- helpers/ui.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index 7b2d903..eabd05f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1201,6 +1201,8 @@ class RightPanel(Gtk.Box): self.filters_vbox.set_unique_maps(rows) def toggle_debug(self) -> None: + if type(App.window.get_focus()) is Gtk.Entry: + return state = self.debug_toggle.get_active() self.debug_toggle.set_active(not state) From 6f5f9ecb7bccf74703afe8fda7d99b3acb16c04b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:01:37 +0900 Subject: [PATCH 080/221] fix: resolution not updating when returning from fullscreen --- helpers/ui.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index eabd05f..c73866f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1059,8 +1059,7 @@ class OuterWindow(Gtk.Window): return elif query_config("fullscreen")[0] == "true": logger.info("User preference for 'fullscreen' is 'true'") - self.maximize() - return + self.fullscreen() try: with open(res_path, "r") as infile: From 5dd0cd416b417799d6b00b055f3f3ab75c46f966 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:02:02 +0900 Subject: [PATCH 081/221] chore: reword comment --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index c73866f..bfc5857 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2719,7 +2719,7 @@ class TreeView(Gtk.TreeView): return App.grid.right_panel.filters_vbox.reinit_filters() else: - # local server lists need not be restricted + # local server lists need not be filter-restricted App.right_panel.filters_vbox.enable_all_filters() self._update_multi_column(cr) return From 5dfa51dc1554fdd1044e0c9c1549791aea0c73e0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:04:17 +0900 Subject: [PATCH 082/221] feat: options page --- helpers/ui.py | 504 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 491 insertions(+), 13 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index bfc5857..ef1b6f8 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -88,6 +88,15 @@ If this issue persists, your API key may be defunct. """ +class Preferences(Enum): + STEAM = 1 + BM = 2 + WINDOW = 3 + CLIENT = 4 + NAME = 5 + INSTALL = 6 + + class Port(Enum): DEFAULT = 1 CUSTOM = 2 @@ -105,10 +114,11 @@ class Popup(Enum): class NotebookPage(Enum): + # enums correspond to the page in linear order MAIN = 0 CHANGELOG = 1 KEYS = 2 - SETTINGS = 3 + OPTIONS = 3 class Command(Enum): @@ -206,6 +216,7 @@ class RowType(EnumWithAttrs): "label": "View changelog", "tooltip": "Opens the DZGUI changelog in a dialog window", } + OPTIONS = {"label": "Options", "tooltip": None} KEYBINDINGS = {"label": "Keybindings", "tooltip": None} SHOW_LOG = { "label": "Show debug log", @@ -435,13 +446,17 @@ class WindowContext(EnumWithAttrs): } MANAGE = { "label": "Manage", - "rows": [RowType.ADD_BY_IP, RowType.ADD_BY_ID, RowType.CHNG_FAV], + "rows": [ + RowType.ADD_BY_IP, + RowType.ADD_BY_ID, + RowType.CHNG_FAV, + RowType.LIST_MODS, + ], "called_by": [], } OPTIONS = { - "label": "Options", + "label": "OPTIONS", "rows": [ - RowType.LIST_MODS, RowType.TGL_BRANCH, RowType.TGL_INSTALL, RowType.TGL_STEAM, @@ -450,7 +465,6 @@ class WindowContext(EnumWithAttrs): RowType.CHNG_STEAM_API, RowType.CHNG_BM_API, RowType.FORCE_UPDATE, - RowType.DUMP_LOG, ], "called_by": [], } @@ -459,6 +473,7 @@ class WindowContext(EnumWithAttrs): "rows": [ RowType.CHANGELOG, RowType.SHOW_LOG, + RowType.DUMP_LOG, RowType.DOCS, RowType.DOCS_FALLBACK, RowType.BUGS, @@ -563,6 +578,10 @@ def load_css() -> None: font-weight: 800; margin-bottom: 0.5rem; } + .settings-subheading { + font-size: 1.2rem; + font-weight: 700; + } .left-label { font-size: 1.3rem; } @@ -843,6 +862,20 @@ def process_shell_return_code( process_tree_option(RowType.CHNG_STEAM_API) case 6: # return silently pass + case 78: # failed settings update + spawn_dialog("Invalid Steam API key, reverting", Popup.NOTIFY) + App.notebook.settings.revert(Preferences.STEAM) + case 79: # failed settings update + spawn_dialog( + "Invalid Battlemetrics API key, reverting", Popup.NOTIFY + ) + App.notebook.settings.revert(Preferences.BM) + case 80: # pop toast after successful settings change + config_vals.clear() + for i in query_config(): + config_vals.append(i) + App.window.toast.set_text_and_fade("Settings updated!") + App.notebook.settings.populate_settings() case 90: # used to update configs and metadata in-place config_vals.clear() for i in query_config(): @@ -991,9 +1024,6 @@ def process_user_input(enum: RowType) -> None: logger.info(f"User entered: '{response}'") show_wait_dialog = True - # this is the only instantaneous toggle, no wait dialog necessary - if enum == RowType.CHNG_PLAYER: - show_wait_dialog = False wait_msg = "Working" call_on_thread( show_wait_dialog, cmd_string, wait_msg, response, choice=enum @@ -1285,6 +1315,11 @@ class ButtonBox(Gtk.Box): save_res_and_quit() return + if context == ButtonType.OPTIONS: + App.notebook.settings.populate_settings() + App.notebook.set_page_by_enum(NotebookPage.OPTIONS) + return + cols = App.treeview.get_columns() if len(cols) > 1: # restores tree from multi column view to main menu @@ -3311,10 +3346,436 @@ class ScrollableNote(Gtk.Box): @update_window_labels def _on_back_clicked(self, button: Gtk.Button) -> None: - if App.notebook.get_page() == NotebookPage.KEYS.value: - App.notebook.toggle_keybindings() + App.notebook.return_prior() + + +class InfoEventBox(Gtk.EventBox): + def __init__(self, text: str): + super().__init__(margin_start=10) + + self.text = text + + self.icon = Gtk.Image.new_from_icon_name( + "help-about-symbolic", Gtk.IconSize.LARGE_TOOLBAR + ) + self.icon.set_opacity(0.8) + box = Gtk.Box() + box.add(self.icon) + + self.connect("enter-notify-event", self._on_enter_tooltip) + self.connect("leave-notify-event", self._on_leave_tooltip) + self.add(box) + + def _on_enter_tooltip( + self, eventbox: Gtk.EventBox, eventcrossing: Gdk.EventCrossing + ) -> None: + self.icon.set_opacity(1) + App.grid.statusbar.set_text(self.text) + + def _on_leave_tooltip( + self, eventbox: Gtk.EventBox, eventcrossing: Gdk.EventCrossing + ) -> None: + self.icon.set_opacity(0.8) + App.grid.statusbar.set_text("") + + +class LeftLabel(Gtk.Label): + def __init__(self, text: str, tooltip: str = ""): + super().__init__( + label=text, + halign=Gtk.Align.START, + ) + self.set_tooltip_text(tooltip) + pass + + +class Options(Gtk.Box): + def __init__(self): + super().__init__( + orientation=Gtk.Orientation.VERTICAL, + margin_start=10, + margin_end=10, + ) + + self.DEFAULT_WIDTH = 1 + self.DEFAULT_HEIGHT = 1 + + label = Gtk.Label(label="Options") + label.set_halign(Gtk.Align.CENTER) + add_class(label, "page-heading") + self.add(label) + + self.steam_entry = None + self.bm_entry = None + + self.steam_box = self._make_submit_field( + "Enter your Steam API key", Preferences.STEAM, True + ) + self.bm_box = self._make_submit_field( + "Enter your Battlemetrics API key", Preferences.BM, True + ) + api_rows = [ + [LeftLabel("Steam API key"), self.steam_box], + [LeftLabel("Battlemetrics API key"), self.bm_box], + ] + + self.player_box = self._make_submit_field( + "Identifies you to other players in-game", Preferences.NAME + ) + self.fullscreen_toggle = self.make_binary_radio( + "Last used dimensions", + "Always fullscreen", + Preferences.WINDOW, + ) + self.steam_toggle = self.make_binary_radio( + "Steam", "Flatpak (experimental)", Preferences.CLIENT + ) + + pref_rows = [ + [LeftLabel("Steam client"), self.steam_toggle], + [LeftLabel("Window size at boot"), self.fullscreen_toggle], + [LeftLabel("Player name"), self.player_box], + ] + + self.mod_install_toggle = self.make_binary_radio( + "Manual", "Auto", Preferences.INSTALL + ) + self.force_button = Gtk.Button(label="Update") + self.force_button.connect("clicked", self._on_force_update_clicked) + # sensitivity state is set after config file is loaded + self.force_button.set_sensitive(False) + + msg = ( + "Manual: prompt to subscribe to mods in Steam. " + "Auto: unmanned downloads." + ) + eb = InfoEventBox(msg) + + msg = "Synchronize all local mods. Automatic mode must be enabled." + eb2 = InfoEventBox(msg) + + mod_rows = [ + [LeftLabel("Mod install mode"), self.mod_install_toggle, eb], + [LeftLabel("Force update local mods"), self.force_button, eb2], + ] + + self.branch_combo = Gtk.ComboBoxText() + self.branch_combo.append_text("Stable") + self.branch_combo.append_text("Testing") + self.branch_combo.set_active(0) + self.branch_combo.connect("changed", self._on_branch_changed) + + msg = ( + "Stable: only contains stable features. " + "Testing: pre-release beta, contains new features." + ) + eb = InfoEventBox(msg) + + version_rows = [[LeftLabel("Branch"), self.branch_combo, eb]] + + api_grid = self._make_grid(api_rows) + prefs_grid = self._make_grid(pref_rows) + mods_grid = self._make_grid(mod_rows) + version_grid = self._make_grid(version_rows) + + col = 1 + row = 1 + grid = Gtk.Grid( + orientation=Gtk.Orientation.VERTICAL, + row_spacing=30, + hexpand=True, + ) + + for frame in [ + self.make_frame(api_grid, "API Keys"), + self.make_frame(prefs_grid, "Preferences"), + self.make_frame(mods_grid, "Mods"), + self.make_frame(version_grid, "Version"), + ]: + grid.attach( + frame, col, row, self.DEFAULT_WIDTH, self.DEFAULT_HEIGHT + ) + row += 1 + + self.scrollable = Gtk.ScrolledWindow(vexpand=True) + self.scrollable.add(grid) + self.add(self.scrollable) + + def _make_submit_field( + self, + placeholder: str, + context: Preferences, + private: bool = False, + ) -> Gtk.Box: + + entry = Gtk.Entry(placeholder_text=placeholder, hexpand=True) + button = Gtk.Button(label="Save") + + entry.sibling = button + entry.get_property("buffer").sibling = button + + button.connect("clicked", self._on_save_clicked, entry, context) + entry.connect("insert-text", self._on_text_typed, context) + entry.connect("activate", self._on_field_activated, context) + entry.get_property("buffer").connect( + "deleted-text", self._on_text_deleted, context + ) + + if private: + entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, "view-reveal-symbolic" + ) + entry.set_icon_activatable(Gtk.EntryIconPosition.SECONDARY, True) + entry.connect("icon-release", self._on_icon_release) + entry.set_visibility(False) + + if context == Preferences.STEAM: + self.steam_entry = entry + else: + self.bm_entry = entry + + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=10) + box.add(entry) + box.add(button) + + return box + + def _on_field_activated( + self, entry: Gtk.Entry, context: Preferences + ) -> None: + text = entry.get_text() + if not self._is_valid_text(text, context): return - App.notebook.set_page_enum(NotebookPage.MAIN) + self._on_save_clicked(None, entry, context) + + def _make_grid(self, rows: list) -> Gtk.Grid: + grid = Gtk.Grid( + orientation=Gtk.Orientation.VERTICAL, + column_spacing=10, + row_spacing=5, + margin_start=5, + margin_end=5, + margin_top=10, + margin_bottom=10, + ) + row = 1 + for record in rows: + col = 1 + for el in record: + grid.attach( + el, col, row, self.DEFAULT_WIDTH, self.DEFAULT_HEIGHT + ) + col += 1 + row += 1 + return grid + + def _on_save_clicked( + self, button: Gtk.Button | None, entry: Gtk.Entry, context: Preferences + ) -> None: + show_wait_dialog = True + wait_msg = "Working" + button.set_sensitive(False) + match context: + case Preferences.NAME: + toggle = RowType.CHNG_PLAYER + show_wait_dialog = False + text = entry.get_text().strip() + case Preferences.STEAM: + toggle = RowType.CHNG_STEAM_API + text = "".join(entry.get_text().split()) + case Preferences.BM: + toggle = RowType.CHNG_BM_API + text = "".join(entry.get_text().split()) + cmd_string = toggle.dict["label"] + call_on_thread(show_wait_dialog, cmd_string, wait_msg, text) + + def revert(self, mode: Preferences) -> None: + if mode == Preferences.STEAM: + self.steam_entry.set_text(self.old_steam) + else: + self.bm_entry.set_text(self.old_bm) + pass + + def _on_force_update_clicked(self, button: Gtk.Button) -> None: + wait_msg = "Updating mods" + cmd = "Force update local mods" + show_wait_dialog = True + call_on_thread(show_wait_dialog, cmd, wait_msg, "") + + def _on_branch_changed(self, combo: Gtk.ComboBoxText) -> None: + # prevent triggering on initial init + if App.treeview.subpage is None: + return + # TODO: process_toggle(RowType.TGL_BRANCH) + + def _on_radio_toggled( + self, button: Gtk.RadioButton, context: Preferences + ) -> None: + if App.treeview.subpage is None: + return + match context: + case Preferences.CLIENT: + toggle = RowType.TGL_STEAM + case Preferences.INSTALL: + toggle = RowType.TGL_INSTALL + state = button.get_group()[0].get_active() + self.force_button.set_sensitive(state) + case Preferences.WINDOW: + toggle = RowType.TGL_FULLSCREEN + process_toggle(toggle) + + def _is_valid_text(self, text: str, context: Preferences) -> bool: + if text.isspace(): + return False + if len(text) == 0: + return False + + match context: + case Preferences.NAME: + old = self.old_name + case Preferences.STEAM: + old = self.old_steam + case Preferences.BM: + old = self.old_bm + if text == old: + return False + return True + + def _on_text_deleted( + self, + buffer: Gtk.EntryBuffer, + position: int, + chars: int, + context: Preferences, + ) -> None: + + text = buffer.get_text() + state = self._is_valid_text(text, context) + buffer.sibling.set_sensitive(state) + + def _on_text_typed( + self, + entry: Gtk.Entry, + text: str, + length: int, + pos: int, + context: Preferences, + ) -> None: + + buffer = entry.get_property("buffer") + text = buffer.get_text() + text + state = self._is_valid_text(text, context) + entry.sibling.set_sensitive(state) + + def make_binary_radio( + self, + first_option: str, + second_option: str, + context: Preferences, + ) -> Gtk.Box: + + hbox = Gtk.Box(spacing=5, halign=Gtk.Align.START) + radio1 = Gtk.RadioButton.new_with_label(None, first_option) + radio2 = Gtk.RadioButton.new_from_widget(radio1) + radio2.set_label(second_option) + radio1.connect("toggled", self._on_radio_toggled, context) + hbox.pack_start(radio1, False, False, 0) + hbox.pack_start(radio2, False, False, 0) + + return hbox + + def make_frame(self, widget: Gtk.Widget, text: str) -> Gtk.Box: + label = Gtk.Label(label=text) + label.set_halign(Gtk.Align.START) + add_class(label, "settings-subheading") + + frame = Gtk.Frame(hexpand=True) + frame.add(widget) + + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + box.add(label) + box.add(frame) + + return box + + def populate_settings(self) -> None: + if not os.path.isfile(config_file): + msg = ( + "DZGUI configuration file not found. " + "Please exit and restart to regenerate it." + ) + spawn_dialog(msg, Popup.QUIT) + config_vals.clear() + for i in query_config(): + config_vals.append(i) + + branch = config_vals[0] + install = config_vals[2] + name = config_vals[3] + client = config_vals[5] + fullscreen = config_vals[6] + + try: + steam = query_config("steam_api")[0] + bm = query_config("api_key")[0] + except IndexError: + return + + self.old_steam = steam + self.old_bm = bm + self.old_name = name + + self.steam_entry.set_text(steam) + self.bm_entry.set_text(bm) + self.player_box.get_children()[0].set_text(name) + + if install == "1": + radio = 1 + self.force_button.set_sensitive(True) + else: + radio = 0 + self.mod_install_toggle.get_children()[radio].set_active(True) + + if client == "flatpak": + radio = 1 + else: + radio = 0 + self.steam_toggle.get_children()[radio].set_active(True) + + if fullscreen == "true": + radio = 1 + else: + radio = 0 + self.fullscreen_toggle.get_children()[radio].set_active(True) + + for field in ( + [name, self.player_box], + [steam, self.steam_box], + [bm, self.bm_box], + ): + if field[0] == "": + field[1].get_children()[1].set_sensitive(False) + + if branch == "testing": + self.branch_combo.set_active(1) + else: + self.branch_combo.set_active(0) + + def _on_icon_release( + self, + widget: Gtk.Entry, + icon_pos: Gtk.EntryIconPosition, + event: Gdk.Event, + ) -> None: + visible = widget.get_visibility() + if visible: + icon = "view-reveal-symbolic" + state = False + else: + icon = "view-conceal-symbolic" + state = True + widget.set_icon_from_icon_name(Gtk.EntryIconPosition.SECONDARY, icon) + widget.set_visibility(state) class KeybindingsDialog(Gtk.Box): @@ -3490,13 +3951,17 @@ class Notebook(Gtk.Notebook): self.clog.show_all() self.append_page(self.clog) self.prior_page: int - self.prior_subpage = None self.keys = ScrollableNote(KeybindingsDialog()) self.keys.type = RowType.KEYBINDINGS self.keys.show_all() self.append_page(self.keys) + self.settings = Options() + self.settings.type = RowType.OPTIONS + self.settings.show_all() + self.append_page(self.settings) + self.connect("switch-page", self._on_page_changed) self.connect("key-press-event", self._on_keypress) @@ -3541,9 +4006,22 @@ class Notebook(Gtk.Notebook): case Gdk.KEY_G: self._set_adjustment(VAdjustment.BOTTOM) + def return_prior(self) -> None: + page = self.get_nth_page(self.prior_page) + if hasattr(page, "steam_entry"): + # Gtk.Notebook focuses the first input field when changing pages + entries = page.steam_entry, page.bm_entry + for entry in entries: + entry.set_position(-1) + entry.set_can_focus(False) + self.set_current_page(self.prior_page) + for entry in entries: + entry.set_can_focus(True) + self.set_current_page(self.prior_page) + def toggle_keybindings(self) -> None: if self.get_current_page() == NotebookPage.KEYS.value: - self.set_current_page(self.prior_page) + self.return_prior() else: self.prior_page = self.get_current_page() self.set_page_by_enum(NotebookPage.KEYS) From 2bb575cd9774cf9d8f8c17332c647a10a784b748 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:04:32 +0900 Subject: [PATCH 083/221] chore: update return codes --- helpers/funcs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helpers/funcs b/helpers/funcs index f9d0686..689cec8 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1128,14 +1128,14 @@ update_config_val(){ key="steam_api" if [[ ${#value} -lt 32 ]] || [[ $(test_steam_api "$value") -eq 1 ]]; then printf "Invalid API key" - return 2 + return 78 fi ;; "Change Battlemetrics API key") key="api_key" if [[ $(test_bm_api "$value") -eq 1 ]]; then printf "Invalid API key" - return 2 + return 79 fi ;; esac @@ -1143,7 +1143,7 @@ update_config_val(){ nr="$value" update_config echo "Updated the key '$key' to '$value'" - return 90 + return 80 } show_log(){ < "$debug_log" sed 's/Keyword␞/Keyword/' From 3ace15d78af61860d6d2ba8636edd2141dc4dd0d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:04:49 +0900 Subject: [PATCH 084/221] chore: bump version --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index a726ba5..f7421b2 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-1 +version=6.0.0.beta-3 #CONSTANTS aid=221100 From 9508bfd416854c113f3097ee67fc43207469384f Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:09:53 +0900 Subject: [PATCH 085/221] chore: update changelog --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a698357..30817c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [6.0.0-beta.3] 2025-08-08 +## Added +- Additional server metadata to details dialog +- Prompt user when connecting if a server is locked +- Dedicated settings page ("Options") + +## Fixed +- Statusbar contents not updating on certain pages +- Breadcrumbs not updating when returning from keybindings page +- Wrap long descriptions in server details +- Prevent debug button from activating when in certain input fields +- Window size not updating correctly when unmaximizing window after changing "fullscreen at boot" setting + ## [6.0.0-beta.2] 2025-07-29 ## Fixed - Missing parameters when closing application via window decorations From 94cabc9d7095c5448f6ee5d4ba1e1f6c4bff05a7 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:11:26 +0900 Subject: [PATCH 086/221] chore: update checksums --- dzgui.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index f7421b2..5d33af8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,11 +585,11 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["ui.py"]="52183c5d29d10ebd0bf91693e41f197b" + ["funcs"]="b3a45a42bc748dbcbebcd1a7748609cd" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" + ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" + ["ui.py"]="3dfddc8260449d59f4ca71bc4b8d2989" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["funcs"]="19440a79345b66154a49882b25cfa7c5" - ["servers.py"]="51839211af7f65bdc04bab5557bf9466" ) local author="aclist" local repo="dztui" From 5d8741edfae99fcfa4f054fb54cd1b3daa36d72d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:15:28 +0900 Subject: [PATCH 087/221] chore: drop unnecessary comment --- helpers/ui.py | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index ef1b6f8..c559fd5 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1154,7 +1154,6 @@ class Toast(Gtk.EventBox): self.set_visible(True) def _defer_fade(self) -> Literal[False]: - """Defers fade out of toast""" GLib.timeout_add(30, self.fade_out) return False From 4f3f17450c81e5fd2e188188158e85ffb397ca28 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 8 Aug 2025 18:22:51 +0900 Subject: [PATCH 088/221] chore: comments and clerical changes --- helpers/ui.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index c559fd5..a6e7a7d 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -455,7 +455,7 @@ class WindowContext(EnumWithAttrs): "called_by": [], } OPTIONS = { - "label": "OPTIONS", + "label": "Options", "rows": [ RowType.TGL_BRANCH, RowType.TGL_INSTALL, @@ -862,10 +862,10 @@ def process_shell_return_code( process_tree_option(RowType.CHNG_STEAM_API) case 6: # return silently pass - case 78: # failed settings update + case 78: # failed settings update (steam) spawn_dialog("Invalid Steam API key, reverting", Popup.NOTIFY) App.notebook.settings.revert(Preferences.STEAM) - case 79: # failed settings update + case 79: # failed settings update (bm) spawn_dialog( "Invalid Battlemetrics API key, reverting", Popup.NOTIFY ) @@ -4008,7 +4008,12 @@ class Notebook(Gtk.Notebook): def return_prior(self) -> None: page = self.get_nth_page(self.prior_page) if hasattr(page, "steam_entry"): - # Gtk.Notebook focuses the first input field when changing pages + """ + Gtk.Notebook focuses the first input field when changing pages; + this workaround unhighlights the selected region and makes entry fields + unfocusable prior to the page 'switch-page' signal, + then makes them focusable again + """ entries = page.steam_entry, page.bm_entry for entry in entries: entry.set_position(-1) From cff4a2e1e77daf29c5c4caa8b618751a246da124 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 9 Aug 2025 11:32:43 +0900 Subject: [PATCH 089/221] chore: update checksums --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 5d33af8..11db2f9 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="b3a45a42bc748dbcbebcd1a7748609cd" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" - ["ui.py"]="3dfddc8260449d59f4ca71bc4b8d2989" + ["ui.py"]="4bddab2e4672cb2fadb80575576ce5b2" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ) local author="aclist" From 3d91e07d25e38322c8de14f848424c70f335ca77 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 9 Aug 2025 15:47:22 +0900 Subject: [PATCH 090/221] chore: uncomment todo --- dzgui.sh | 2 +- helpers/ui.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 11db2f9..9773334 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="b3a45a42bc748dbcbebcd1a7748609cd" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" - ["ui.py"]="4bddab2e4672cb2fadb80575576ce5b2" + ["ui.py"]="5335d86ef1dae543894cd8bdff67b018" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ) local author="aclist" diff --git a/helpers/ui.py b/helpers/ui.py index a6e7a7d..19a9770 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3605,7 +3605,7 @@ class Options(Gtk.Box): # prevent triggering on initial init if App.treeview.subpage is None: return - # TODO: process_toggle(RowType.TGL_BRANCH) + process_toggle(RowType.TGL_BRANCH) def _on_radio_toggled( self, button: Gtk.RadioButton, context: Preferences From f4f3e61b83c3cedefae061fecdcd983b450b779c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 9 Aug 2025 16:01:00 +0900 Subject: [PATCH 091/221] fix: pass correct button to submit method --- dzgui.sh | 6 +++--- helpers/ui.py | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 9773334..a4e05d8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="b3a45a42bc748dbcbebcd1a7748609cd" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" - ["ui.py"]="5335d86ef1dae543894cd8bdff67b018" + ["ui.py"]="294a7daf544a96e2a108d252df5e0676" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ) local author="aclist" @@ -1029,13 +1029,13 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") +# fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols - check_version +# check_version check_map_count steam_deps migrate_files diff --git a/helpers/ui.py b/helpers/ui.py index 19a9770..42e326e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3543,9 +3543,10 @@ class Options(Gtk.Box): self, entry: Gtk.Entry, context: Preferences ) -> None: text = entry.get_text() + button = entry.sibling if not self._is_valid_text(text, context): return - self._on_save_clicked(None, entry, context) + self._on_save_clicked(button, entry, context) def _make_grid(self, rows: list) -> Gtk.Grid: grid = Gtk.Grid( @@ -3569,7 +3570,7 @@ class Options(Gtk.Box): return grid def _on_save_clicked( - self, button: Gtk.Button | None, entry: Gtk.Entry, context: Preferences + self, button: Gtk.Button, entry: Gtk.Entry, context: Preferences ) -> None: show_wait_dialog = True wait_msg = "Working" From da5a5999f0913c6ddef2ba28cc571d1162635850 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 9 Aug 2025 16:01:30 +0900 Subject: [PATCH 092/221] chore: uncomment --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index a4e05d8..5f33f40 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1029,13 +1029,13 @@ initial_setup(){ watcher_deps check_architecture test_connection -# fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols -# check_version + check_version check_map_count steam_deps migrate_files From a5be4d9d316d03ad7dc395c41420e68a2c6d68e1 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 9 Aug 2025 16:06:07 +0900 Subject: [PATCH 093/221] chore: bump version --- dzgui.sh | 2 +- helpers/funcs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 5f33f40..3c4de36 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,7 +585,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="b3a45a42bc748dbcbebcd1a7748609cd" + ["funcs"]="c2aec0a2fc153a2535e6493b3751ca81" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" ["ui.py"]="294a7daf544a96e2a108d252df5e0676" diff --git a/helpers/funcs b/helpers/funcs index 689cec8..b4a6d03 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.2" +version="6.0.0-beta.3" #CONSTANTS aid=221100 From 6a554b4e88cbe287eede873d2a75be73198a8bb1 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:40:55 +0900 Subject: [PATCH 094/221] fix: toggle branch signal propagation --- CHANGELOG.md | 7 +++++++ dzgui.sh | 4 ++-- helpers/funcs | 2 +- helpers/ui.py | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30817c7..2b48229 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.4] 2025-08-13 +## Fixed +- Branch toggle signal being emitted when entering Settings menu from other contexts + ## [6.0.0-beta.3] 2025-08-08 ## Added - Additional server metadata to details dialog @@ -13,6 +17,9 @@ - Prevent debug button from activating when in certain input fields - Window size not updating correctly when unmaximizing window after changing "fullscreen at boot" setting +## Dropped +- Extraneous information from right statusbar + ## [6.0.0-beta.2] 2025-07-29 ## Fixed - Missing parameters when closing application via window decorations diff --git a/dzgui.sh b/dzgui.sh index 3c4de36..48a09b1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="c2aec0a2fc153a2535e6493b3751ca81" + ["funcs"]="2becf640f9c9645fd6562ac04e5599b2" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" - ["ui.py"]="294a7daf544a96e2a108d252df5e0676" + ["ui.py"]="38b589e4b4fd9a9d3e049e7dcbdc8593" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ) local author="aclist" diff --git a/helpers/funcs b/helpers/funcs index b4a6d03..6fc1c4d 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.3" +version="6.0.0-beta.4" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 42e326e..0a21890 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3604,7 +3604,7 @@ class Options(Gtk.Box): def _on_branch_changed(self, combo: Gtk.ComboBoxText) -> None: # prevent triggering on initial init - if App.treeview.subpage is None: + if App.treeview.subpage is not RowType.OPTIONS: return process_toggle(RowType.TGL_BRANCH) From 8e492095d917d8d3a7f91105580a1042998ab347 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:44:48 +0900 Subject: [PATCH 095/221] chore: bump version --- dzgui.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 48a09b1..a5fd15b 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-3 +version=6.0.0.beta-4 #CONSTANTS aid=221100 @@ -1029,13 +1029,13 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") +# fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols - check_version +# check_version check_map_count steam_deps migrate_files From 0d3a3debf9a1e8858f22938994f02ec81d129b0a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:45:32 +0900 Subject: [PATCH 096/221] chore: uncomment lines --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index a5fd15b..39342fd 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1029,13 +1029,13 @@ initial_setup(){ watcher_deps check_architecture test_connection -# fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols -# check_version + check_version check_map_count steam_deps migrate_files From c7bd8d3809c36db844c61a133f5c449e05a0595a Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:46:24 +0900 Subject: [PATCH 097/221] chore: reword changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b48229..8ce7c48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## [6.0.0-beta.4] 2025-08-13 ## Fixed -- Branch toggle signal being emitted when entering Settings menu from other contexts +- Branch toggle signal being emitted when entering Options menu from other contexts ## [6.0.0-beta.3] 2025-08-08 ## Added From 0b433af23029c2fe961aeceb99b8e77aca981a04 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:58:09 +0900 Subject: [PATCH 098/221] fix: discard malformed server data --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/servers.py | 6 +++++- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ce7c48..a1f115d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.5] 2025-08-20 +## Fixed +- Servers returning malformed A2S_INFO blocking server browser from loading + ## [6.0.0-beta.4] 2025-08-13 ## Fixed - Branch toggle signal being emitted when entering Options menu from other contexts diff --git a/dzgui.sh b/dzgui.sh index 39342fd..46cec62 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-4 +version=6.0.0.beta-5 #CONSTANTS aid=221100 @@ -585,9 +585,9 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="2becf640f9c9645fd6562ac04e5599b2" + ["funcs"]="01d45663b7517eae866010df0eba746a" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="4c5013aaf694806cfecd4f1c905bdc9a" + ["servers.py"]="ea5648df7121bb9dfeead9874bfcafcf" ["ui.py"]="38b589e4b4fd9a9d3e049e7dcbdc8593" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ) diff --git a/helpers/funcs b/helpers/funcs index 6fc1c4d..47cc655 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.4" +version="6.0.0-beta.5" #CONSTANTS aid=221100 diff --git a/helpers/servers.py b/helpers/servers.py index 5565b28..2d6b1c0 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -88,7 +88,11 @@ def parse_json(json: list) -> list: except KeyError: continue - r = row["gametype"].split(",") + try: + r = row["gametype"].split(",") + except KeyError: + continue + if "no3rd" in r: view = "1PP" else: From 62b00507e53d5feee4eed748d41fb9407d62ba48 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:28:33 +0900 Subject: [PATCH 099/221] fix: unblock signals during continuous keypress --- helpers/ui.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 0a21890..5ff0fb4 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -669,11 +669,12 @@ def suppress_signal( ) -> None: func = getattr(owner, func_name) if state: - logger.debug(f"Unblocking {func_name} for {widget}") + logger.debug(f"Blocking {func_name} for {widget}") widget.handler_block_by_func(func) else: - logger.debug(f"Blocking {func_name} for {widget}") + logger.debug(f"Unblocking {func_name} for {widget}") widget.handler_unblock_by_func(func) + App.treeview.sel_blocked = state def pluralize(plural: str, count: int) -> str: @@ -1650,6 +1651,7 @@ class TreeView(Gtk.TreeView): self.view = WindowContext.MAIN_MENU self.page = WindowContext.MAIN_MENU self.subpage = None + self.sel_blocked = False self.set_fixed_height_mode(True) @@ -2038,12 +2040,13 @@ class TreeView(Gtk.TreeView): return False else: if is_navkey(event.keyval): - suppress_signal( - App.treeview, - App.treeview.selected_row, - "_on_tree_selection_changed", - True, - ) + if self.sel_blocked is False: + suppress_signal( + App.treeview, + App.treeview.selected_row, + "_on_tree_selection_changed", + True, + ) if keyname.isnumeric() and int(keyname) > 0: digit = int(keyname) - 1 grid.right_panel.filters_vbox.toggle_check(digit) @@ -2078,12 +2081,13 @@ class TreeView(Gtk.TreeView): Suppresses spamming on keydown """ if is_navkey(event.keyval): - suppress_signal( - App.treeview, - App.treeview.selected_row, - "_on_tree_selection_changed", - False, - ) + if self.sel_blocked is True: + suppress_signal( + App.treeview, + App.treeview.selected_row, + "_on_tree_selection_changed", + False, + ) selection = self.get_selection() self._on_tree_selection_changed(selection) From 5a33591d6ad5c1f1fc7ca9e4a0f4d8887015ced4 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:29:03 +0900 Subject: [PATCH 100/221] chore: drop extraneous path expansion --- helpers/ui.py | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 5ff0fb4..733608e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -20,7 +20,6 @@ from concurrent.futures import ThreadPoolExecutor from collections.abc import Callable from typing import Literal, Self, Any -sys.path.append("servers") import servers as Servers # noqa E402 locale.setlocale(locale.LC_ALL, "") From c5b13ff0f3b6fab347cb2015e6c48efbf5c54bfd Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:29:22 +0900 Subject: [PATCH 101/221] fix: strip newlines in history file --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 733608e..335f9d8 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -780,7 +780,7 @@ def set_surrounding_margins(widget: Gtk.Widget, margin: int) -> None: def query_history() -> list | None: try: with open(history_file, "r") as f: - rows = [row for row in f] + rows = [row.rstrip("\n") for row in f] except OSError: rows = None finally: From 6b31bb3ab3f40b8e64d56d5cf24bdd2718716995 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:30:02 +0900 Subject: [PATCH 102/221] fix: resolution shrinking by default --- helpers/ui.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index 335f9d8..a6afa08 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1107,6 +1107,8 @@ class OuterWindow(Gtk.Window): w, h = res["width"], res["height"] logger.info(f"Restoring window size to {w},{h}") self.set_default_size(w, h) + else: + self.set_default_size(1400, 800) def _on_delete_event( self, window: "OuterWindow", event: Gdk.EventKey From 1bfb054be2dc2d9675334e95229d25a51b6715f9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:31:54 +0900 Subject: [PATCH 103/221] fix: ease padding on mod table --- helpers/ui.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index a6afa08..0eb88ad 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3155,7 +3155,13 @@ class ModDialog(GenericDialog): column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.view.append_column(column) column.set_sort_column_id(i) - column.set_fixed_width(350) + match column_title: + case "Mod": + column.set_fixed_width(350) + case "ID": + column.set_fixed_width(200) + case _: + pass dialogBox.pack_end(self.scrollable, True, True, 0) wait_dialog = GenericDialog("Fetching modlist", Popup.WAIT) From 95a775cd74446abc7d0c0ab1430c5df89275749b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:32:14 +0900 Subject: [PATCH 104/221] fix: newline in tooltip --- helpers/ui.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 0eb88ad..a9d2349 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -4276,9 +4276,8 @@ class ModSelectionPanel(Gtk.Box): }, { "label": "Highlight stale", - "tooltip": """Shows locally-installed mods - which are not used by any server - in your Saved Servers""", + "tooltip": "Shows locally-installed mods which are not\n" + "used by any server in your Saved Servers", }, ] From 479be05452ee1f4c1db0ef85dd056398e2cdec51 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:32:33 +0900 Subject: [PATCH 105/221] chore: clarify comments --- helpers/ui.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index a9d2349..a5e06d1 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -907,6 +907,9 @@ def process_shell_return_code( def call_on_thread( state: bool, subproc: str, msg: str, args: str, choice: RowType = None ) -> None: + """ + Exclusively used for threaded subprocesses + """ def _background(subproc: str, args: str, dialog): def _load() -> None: wait_dialog.destroy() @@ -4022,8 +4025,8 @@ class Notebook(Gtk.Notebook): if hasattr(page, "steam_entry"): """ Gtk.Notebook focuses the first input field when changing pages; - this workaround unhighlights the selected region and makes entry fields - unfocusable prior to the page 'switch-page' signal, + this workaround unhighlights the selected region and makes entry + fields unfocusable prior to the page 'switch-page' signal, then makes them focusable again """ entries = page.steam_entry, page.bm_entry From 6d428ebb0da3382d2831977023515f03f3666058 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:34:05 +0900 Subject: [PATCH 106/221] fix: ease padding on mod table --- helpers/ui.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index a5e06d1..c81452f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2562,6 +2562,10 @@ class TreeView(Gtk.TreeView): column.set_cell_data_func( renderer, self._format_float, func_data=None ) + if column_title == "Mod": + column.set_fixed_width(500) + else: + column.set_fixed_width(150) else: # WindowContext.TABLE_LOG uses undecorated columns column = Gtk.TreeViewColumn(column_title, renderer, text=i) From c0b5c5bd89607f3713bb61439c73edca5507fe19 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:34:58 +0900 Subject: [PATCH 107/221] feat: parse hyperlinks --- helpers/ui.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index c81452f..02022a6 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3133,11 +3133,22 @@ class DetailsDialog(GenericDialog): for row in response.data: self.store.append(row + [Pango.Weight.BOLD]) self.view.set_model(self.store) - self.description.set_text(response.description) + + text = response.description + reg = r"\s(www\.*?)" + text = re.sub(reg, " http://" + r"\1", text) + reg2 = r"(http.*?)([ ,\r\n]|$)" + text = re.sub(reg2, comp(r"\1")+r"\2", text) + + self.description.set_markup(text) self.success = response.success GLib.idle_add(self._load) +def comp(string): + return f'{string}' + + class ModDialog(GenericDialog): def __init__(self, record: str): msg = "Enter/double click a row to open in Steam Workshop." From 5fa8498c56a29665784ddad6bdeb272c03bff7eb Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:36:42 +0900 Subject: [PATCH 108/221] fix: clear linting errors --- helpers/servers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/servers.py b/helpers/servers.py index 2d6b1c0..5636710 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -249,10 +249,10 @@ def details(ip: str, qport: int) -> Details: for keyword in keywords: if "etm" in keyword: day_accel = float(keyword.lstrip("etm")) - day_accel = f"{day_accel:g}" + day_accel = float(f"{day_accel:g}") if "entm" in keywords: night_accel = float(keyword.lstrip("entm")) - night_accel = f"{night_accel:g}" + night_accel = float(f"{night_accel:g}") try: password = info.password_protected From ffe3dac3a8a93a11f16f9ba9c43e9c89a45650b8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:38:06 +0900 Subject: [PATCH 109/221] fix: mods downloading too fast --- helpers/funcs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helpers/funcs b/helpers/funcs index 47cc655..ea846a5 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1626,6 +1626,9 @@ concat_mods(){ local encoded_id local link for i in "${concat_arr[@]}"; do + until [[ -f $workshop_dir/$i/meta.cpp ]]; do + sleep 0.1s + done id=$(awk -F"= " '/publishedid/ {print $2}' "$workshop_dir"/$i/meta.cpp | awk -F\; '{print $1}') encoded_id=$(encode $id) link="@$encoded_id;" From 6f3b272bfe46bfc4f2a85e8cdfa650b6902f4d37 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:38:47 +0900 Subject: [PATCH 110/221] fix: floating point syntax with printf --- helpers/funcs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index ea846a5..b9c208f 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -453,7 +453,7 @@ get_dist(){ else logger INFO "Resolved remote server geolocation to '$remote_lat, $remote_lon'" local dist=$($km_helper "$local_lat" "$local_lon" "$remote_lat" "$remote_lon") - LC_NUMERIC=C printf "%d" "$dist" + LC_NUMERIC=C printf "%.0f" "$dist" logger INFO "Distance: $dist km" fi } From c40d767dcc8ef5f5b6ba3c9bddce62e60f9a4013 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:39:25 +0900 Subject: [PATCH 111/221] chore: drop extraneous logging --- helpers/funcs | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index b9c208f..bf6fe5b 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1705,7 +1705,6 @@ manual_mod_install(){ _watcher(){ for((i=0;i<${#stage_mods[@]};i++)); do [[ -f $ex ]] && return 1 - log ${stage_mods[$i]} if [[ $mode == "auto" ]] || [[ $mode == "force" ]]; then $steam_cmd "steam://url/CommunityFilePage/${stage_mods[$i]}+workshop_download_item $aid ${stage_mods[$i]}" From da6cc9c5c3d6dc68c8b30861a47048ebd70cf68c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:39:43 +0900 Subject: [PATCH 112/221] chore: reword log message --- helpers/funcs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index bf6fe5b..b654040 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1778,7 +1778,7 @@ foreground(){ } main(){ local params="$(printf '"%s", ' "$@")" - logger INFO "Received request from UI constructor with params [${params::-2}]" + logger INFO "Received request from UI with params [${params::-2}]" func=${funcs["$1"]} [[ -z $func ]] && return 1 if [[ -z $2 ]]; then From 90409774477006be9f7dd28f70e62acf4a3ff209 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:42:09 +0900 Subject: [PATCH 113/221] chore: drop defunct methods --- helpers/funcs | 355 -------------------------------------------------- 1 file changed, 355 deletions(-) diff --git a/helpers/funcs b/helpers/funcs index b654040..ccfba46 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -82,7 +82,6 @@ forum_url="https://old.reddit.com/r/dzgui" sponsor_url="$gh_prefix/sponsors/$author" battlemetrics_server_url="https://www.battlemetrics.com/servers/dayz" steam_api_url="https://steamcommunity.com/dev/apikey" -#TODO: update link in docs battlemetrics_api_url="https://www.battlemetrics.com/developers" bm_api="https://api.battlemetrics.com/servers" @@ -94,7 +93,6 @@ fi declare -A funcs=( ["Highlight stale"]="find_stale_mods" -["My servers"]="dump_servers" ["Change player name"]="update_config_val" ["Change Steam API key"]="update_config_val" ["Change Battlemetrics API key"]="update_config_val" @@ -108,9 +106,6 @@ declare -A funcs=( ["find_id"]="find_id" ["toggle"]="toggle" ["Open link"]="open_link" -["filter"]="dump_servers" -["dump_servers"]="dump_servers" -["get_unique_maps"]="get_unique_maps" ["get_dist"]="get_dist" ["test_cooldown"]="test_cooldown" ["query_config"]="query_config" @@ -133,20 +128,9 @@ declare -A funcs=( ["Resolve IP"]="resolve_ip" ["Handshake"]="final_handshake" ["get_player_count"]="get_player_count" -["lan_scan"]="lan_scan" ["update_symlinks"]="update_symlinks" ) -lan_scan(){ - local port="$1" - local res - res=$("$lan_helper" "$port") - if [[ -z $res ]]; then - printf "\n" - else - printf "%s\n" "$res" - fi -} query_favorites(){ if [[ -z "${ip_list[@]}" ]]; then return 1 @@ -329,13 +313,6 @@ start_cooldown(){ logger WARN "API response empty. Started 60s cooldown at $(date +%s)" date +%s > $_cache_cooldown } -initialize_remote_servers(){ - local file="$_cache_servers" - [[ -f $file ]] && rm "$file" - local res - res=$(get_remote_servers) - parse_server_json "$res" >> "$file" -} is_dlc(){ local dlc local ip="$1" @@ -457,56 +434,6 @@ get_dist(){ logger INFO "Distance: $dist km" fi } -get_remote_servers(){ - params=( - "\\nor\1\map\chernarusplus\\nor\1\map\sakhal\\nor\1\map\enoch\empty\1\\nor\1\map\namalsk" - "\map\namalsk\empty\1" - "\map\namalsk\noplayers\1" - "\map\chernarusplus\empty\1" - "\map\chernarusplus\noplayers\1" - "\map\\sakhal\empty\1" - "\map\\sakhal\noplayers\1" - "\map\\enoch\empty\1" - "\map\\enoch\noplayers\1" - ) - local limit=10000 - local url="https://api.steampowered.com/IGameServersService/GetServerList/v1/?" - - _fetch(){ - local param="$1" - curl -LsG "$url" \ - -d filter="\appid\221100${param}" \ - -d limit=$limit \ - -d key=$steam_api \ - | jq -M -r '.response.servers' - - } - - for ((i=0; i <${#params[@]}; i++ )); do - _fetch "${params[$i]}" > $_cache_temp.${i} - done - - # ubuntu variants do not support jq 1.7 chained operators - # https://github.com/jqlang/jq/releases/tag/jq-1.7 - jq -n '[ [inputs]|add ][]' $_cache_temp.* && rm $_cache_temp.* -} -get_unique_maps(){ - shift - local context="$1" - local filter_file - case "$context" in - "My saved servers") - filter_file="$_cache_my_servers" - ;; - "Server browser") - filter_file="$_cache_servers" - ;; - "Recent servers") - filter_file="$_cache_history" - esac - logger INFO "Map filter context is: '$context', using cached file at '$filter_file'" - < "$filter_file" awk -F$separator '{print $2}' | sort -u -} query_config(){ [[ -n $2 ]] && local key=$2 keys=( @@ -531,154 +458,6 @@ query_config(){ echo "${!i}" done } -filter_servers(){ - local filtered="$(< "$1")" - shift - readarray -t filters < <(printf "%s\n" "$@") - - for ((i=0; i< ${#filters[@]}; ++i)); do - if [[ ${filters[$i]} =~ Keyword ]]; then - keyword=$(<<< ${filters[$i]} awk -F␞ '{print $2}') - elif [[ ${filters[$i]} =~ Map ]]; then - map=$(<<< ${filters[$i]} awk -F= '{print $2}') - fi - done - - filter_ascii(){ - if [[ ${filters[*]} =~ Non ]]; then - echo -n "$filtered" - else - <<< "$filtered" sed 's/␞/@@DZGUI_PLACEHOLDER@@/g' | grep -v -P '[^[:ascii:]]' | sed 's/@@DZGUI_PLACEHOLDER@@/␞/g' - fi - } - filter_time(){ - if [[ ${filters[*]} =~ Day ]] && [[ ${filters[*]} =~ Night ]]; then - echo -n "$filtered" - elif [[ ${filters[*]} =~ Day ]]; then - <<< "$filtered" awk -F$separator '$4~/^([0][6-9]:|[1][0-6])/' - elif [[ ${filters[*]} =~ Night ]]; then - <<< "$filtered" awk -F$separator '$4~/^([1][7-9]:|[2][0-3]:|[0][0-5])/' - else - echo -n "" - fi - } - filter_perspective(){ - if [[ ${filters[*]} =~ 1PP ]] && [[ ${filters[*]} =~ 3PP ]]; then - echo -n "$filtered" - elif [[ ${filters[*]} =~ 1PP ]]; then - <<< "$filtered" awk '!/3PP/' - elif [[ ${filters[*]} =~ 3PP ]]; then - <<< "$filtered" awk '!/1PP/' - else - echo -n "" - fi - } - filter_lowpop(){ - if [[ ${filters[*]} =~ Low ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '{if (($5 > 0) && ($5/$6)*100 >=30){print $0}}' - fi - } - filter_full(){ - if [[ ${filters[*]} =~ Full ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '$5 != $6' - fi - } - filter_empty(){ - if [[ ${filters[*]} =~ Empty ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '$5 != "0"' - fi - } - filter_map(){ - if [[ $map == "All maps" ]]; then - echo "$filtered" - else - <<< "$filtered" awk -v var="$map" -F$separator '$2 == var' - fi - } - filter_keyword(){ - keyword=$(sanitize "$keyword") - <<< "$filtered" awk -F$separator -v keyword="$keyword" 'tolower($0) ~ tolower(keyword)' - } - filter_duplicates(){ - if [[ ${filters[*]} =~ Duplicate ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '!seen[$1]++' - fi - } - filter_official(){ - if [[ ${filters[*]} =~ Official ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '$10 == "Community"' - fi - } - filter_community(){ - if [[ ${filters[*]} =~ Unoffic ]]; then - echo -n "$filtered" - else - <<< "$filtered" awk -F$separator '$10 == "Official"' - fi - } - - filtered=$(filter_perspective) - filtered=$(filter_full) - filtered=$(filter_empty) - filtered=$(filter_time) - filtered=$(filter_map) - filtered=$(filter_lowpop) - filtered=$(filter_ascii) - filtered=$(filter_duplicates) - filtered=$(filter_keyword) - filtered=$(filter_official) - filtered=$(filter_community) - - if [[ -z "$filtered" ]]; then - logger WARN "Filter result is empty" - echo -n "" - return - fi - - logger INFO "Returning sorted server list back to UI" - printf "%s\n" "$filtered" | sort -k1 -} -sanitize(){ - echo "$1" | sed \ - -e 's/\//\\\//g' \ - -e 's/\$/\\$/g' \ - -e 's/\[/\\[/g' \ - -e 's/\]/\\]/g' \ - -e 's/\#/\\#/g' \ - -e 's/\./\\./g' \ - -e 's/\^/\\^/g' \ - -e 's/\=/\\=/g' \ - -e 's/|/\\|/g' \ - -e 's/\+/\\+/g' \ - -e 's/(/\\(/g' \ - -e 's/)/\\)/g' -} -parse_server_json(){ - local response="$1" - # some servers pad SOH in name - <<< "$response" sed 's/\\u0001//g' | jq -r ' - .[]|"\(.name)␞" + - "\(.map|if type == "string" then ascii_downcase else "null" end)␞" + - "\(if .gametype == null then "null" else (.gametype|split(",")|if any(. == "no3rd") then "1PP" else "3PP" end) end)␞" + - "\(if .gametype == null then "null" else (.gametype as $time|$time|test("[0-9]{2}:[0-9]{2}$") as $match|(if $match == true then ($time|scan("[0-9]{2}:[0-9]{2}$")) else "XXXX" end)) end)␞" + - "\(.players)␞" + - "\(.max_players)␞" + - "\(if .gametype == null then "0" elif .gametype|split("lqs")[1] == null then "0" else .gametype|split("lqs")[1]|split(",")[0] end)␞" + - "\(.addr|split(":")[0]):\(if .gameport == null then "XXXX" else .gameport end)␞" + - "\(.addr|split(":")[1])␞" + - "\(if .gametype == null then "null" else (.gametype|split(",")|if any(. == "external") then "Community" else "Official" end) end)" - ' | sort -k1 -} align_versions_file(){ shift local mod="$1" @@ -737,62 +516,6 @@ test_cooldown(){ exit 1 fi } -dump_servers(){ - local context="$1" - local subcontext="$2" - local ip - local qport - local res - _iterate(){ - local file="$1" - shift - for server in "$@"; do - ip=$(<<< $server awk -F: '{print $1}') - qport=$(<<< $server awk -F: '{print $3}') - res=$(a2s "$ip" "$qport" info) - if [[ ! $? -eq 0 ]]; then - continue - fi - parse_server_json "$res" >> "$file" - done - } - case "$subcontext" in - *Server[[:space:]]browser*) - local file="$_cache_servers" - if [[ ! $context =~ filter ]]; then - initialize_remote_servers - fi - ;; - *My[[:space:]]saved[[:space:]]servers*) - local file="$_cache_my_servers" - if [[ ! $context =~ filter ]]; then - [[ -f $file ]] && rm $file - _iterate "$file" "${ip_list[@]}" - fi - ;; - *Recent[[:space:]]servers*) - local file="$_cache_history" - if [[ ! $context =~ filter ]]; then - [[ -f $file ]] && rm $file - readarray -t iters < <(cat $history_file) - _iterate "$file" "${iters[@]}" - fi - ;; - *Scan[[:space:]]LAN[[:space:]]servers*) - local port=$(<<< "$subcontext" awk -F: '{print $2}') - local file="$_cache_lan" - if [[ ! $context =~ filter ]]; then - [[ -f $file ]] && rm $file - local lan=$(lan_scan $port) - readarray -t iters <<< "$lan" - _iterate "$file" "${iters[@]}" - fi - ;; - esac - shift - logger INFO "Server context is '$subcontext', reading from file '$file'" - filter_servers "$file" "$@" -} redact(){ sed 's@\(/home/\)[^/]*@\1REDACTED@g' } @@ -1214,11 +937,6 @@ connect_from_table(){ local record="$1" try_connect "$record" } -pretty_print(){ - while read -r line; do - printf "\t%s\n" "$line" - done < "$@" -} generate_log(){ source $config_file cat <<-DOC > $system_log @@ -1451,68 +1169,6 @@ check_architecture(){ echo 0 fi } -focus_beta_client(){ - _wid(){ - wmctrl -ilx |\ - awk 'tolower($3) == "steamwebhelper.steam"' |\ - awk '$5 ~ /^Steam|Steam Games List/' |\ - awk '{print $1}' - } - $steam_cmd steam://open/library 2>/dev/null 1>&2 && - $steam_cmd steam://open/console 2>/dev/null 1>&2 && - sleep 1s - until [[ -n $(_wid) ]]; do - sleep 0.1s - done - wmctrl -ia $(_wid) - sleep 0.1s - - local wid=$(xdotool getactivewindow) - local geo=$(xdotool getwindowgeometry $wid) - local pos=$(<<< "$geo" awk 'NR==2 {print $2}' | sed 's/,/ /') - local dim=$(<<< "$geo" awk 'NR==3 {print $2}' | sed 's/x/ /') - local pos1=$(<<< "$pos" awk '{print $1}') - local pos2=$(<<< "$pos" awk '{print $2}') - local dim1=$(<<< "$dim" awk '{print $1}') - local dim2=$(<<< "$dim" awk '{print $2}') - local dim1=$(((dim1/2)+pos1)) - local dim2=$(((dim2/2)+pos2)) - - xdotool mousemove $dim1 $dim2 - xdotool click 1 - $steam_cmd steam://open/library 2>/dev/null 1>&2 && - $steam_cmd steam://open/console 2>/dev/null 1>&2 -} -auto_mod_install(){ - # currently unused, merged with manual method - local ip="$1" - local gameport="$2" - local diff="$3" - local sanitized_mods="$4" - - console_dl "$diff" && - $steam_cmd steam://open/downloads - - local total=$(<<< "$diff" wc -l) - until [[ -z $(compare "$diff") ]]; do - local missing=$(compare "$diff" | wc -l) - echo "# Downloaded $(($total-missing)) of $total mods. ESC cancels" - done | $steamsafe_zenity --pulsate --progress --title="DZG Watcher" --auto-close --no-cancel --width=500 2>/dev/null - if [[ ! $? -eq 0 ]]; then - echo "User aborted connect process. Steam may have mods pending for download." - exit 1 - fi - - local diff=$(compare "$sanitized_mods") - - if [[ -z $diff ]]; then - #wipe old version file and replace with latest stamps - rm "$versions_file" - check_timestamps - logger INFO "Local modlist matches remote, initiating launch request" - launch "$ip" "$gameport" "$sanitized_mods" - fi -} force_update(){ if [[ ! $auto_install -eq 1 ]]; then printf "Only available when mod auto-install is ON" @@ -1524,17 +1180,6 @@ force_update(){ echo "Finished requesting mod updates." return 0 } -console_dl(){ - readarray -t modids <<< "$@" - focus_beta_client - sleep 1.5s - for i in "${modids[@]}"; do - xdotool type --delay 0 "workshop_download_item $aid $i" - sleep 0.5s - xdotool key Return - sleep 0.5s - done -} get_local_stamps(){ readarray -t modlist < <(printf "%s\n" "$@") local max="${#modlist[@]}" From 8ffb1c7ea6fe3582ab84b9be2d29aee961a35bfe Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:43:14 +0900 Subject: [PATCH 114/221] fix: version file not available yet --- helpers/funcs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/helpers/funcs b/helpers/funcs index ccfba46..8c20d94 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1218,8 +1218,6 @@ check_timestamps(){ local aligned=$(<<< "$local_stamps" jq -r '.response.publishedfiledetails[]|"\(.publishedfileid),\(.time_updated)"') readarray -t remote_ids < <(<<< "$aligned" awk -F, '{print $1}') readarray -t remote_times < <(<<< "$aligned" awk -F, '{print $2}') - readarray -t old_ids < <(< $versions_file awk -F, '{print $1}') - readarray -t old_times < <(< $versions_file awk -F, '{print $2}') if [[ ! -f $versions_file ]]; then logger INFO "No prior versions file found, creating" @@ -1229,6 +1227,9 @@ check_timestamps(){ return 0 fi + readarray -t old_ids < <(< $versions_file awk -F, '{print $1}') + readarray -t old_times < <(< $versions_file awk -F, '{print $2}') + declare -A remote_version declare -A local_version From ee73c2cfa35348dbe98ddccc6ba6b3e7208cb585 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:45:49 +0900 Subject: [PATCH 115/221] feat: parse pefile --- helpers/funcs | 123 ++++------- helpers/pefile.py | 499 +++++++++++++++++++++++++++++++++++++++++++++ helpers/servers.py | 107 +++++++++- helpers/ui.py | 347 ++++++++++++++++++++++++++----- 4 files changed, 935 insertions(+), 141 deletions(-) create mode 100644 helpers/pefile.py diff --git a/helpers/funcs b/helpers/funcs index 8c20d94..2a41ece 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -4,6 +4,7 @@ version="6.0.0-beta.5" #CONSTANTS aid=221100 +exp=1024020 game="dayz" app_name="dzgui" app_name_upper="DZGUI" @@ -46,6 +47,7 @@ _cache_my_servers="$cache_dir/$prefix.my_servers" _cache_history="$cache_dir/$prefix.history" _cache_launch="$cache_dir/$prefix.launch_mods" _cache_address="$cache_dir/$prefix.launch_address" +_cache_binary="$cache_dir/$prefix.binary" _cache_coords="$cache_path/$prefix.coords" _cache_cooldown="$cache_path/$prefix.cooldown" _cache_lan="$cache_path/$prefix.lan" @@ -97,12 +99,9 @@ declare -A funcs=( ["Change Steam API key"]="update_config_val" ["Change Battlemetrics API key"]="update_config_val" ["Change favorite server"]="add_record" -["Quick-connect to favorite server"]="quick_connect" ["Add server by IP"]="add_record" ["Add server by ID"]="add_record" -["Connect by IP"]="validate_and_connect" -["Connect by ID"]="validate_and_connect" -["Connect from table"]="connect_from_table" +["try_connect"]="try_connect" ["find_id"]="find_id" ["toggle"]="toggle" ["Open link"]="open_link" @@ -126,11 +125,26 @@ declare -A funcs=( ["Remove from history"]="remove_from_history" ["Force update local mods"]="force_update" ["Resolve IP"]="resolve_ip" -["Handshake"]="final_handshake" +["Handshake"]="handshake" +["Handshake_EXP"]="handshake_exp" ["get_player_count"]="get_player_count" ["update_symlinks"]="update_symlinks" ) +clone_symlinks(){ + local path="$(< $_cache_binary)" + path=$(dirname "$path") + for dir in $(find $game_dir -type l); do + local link=$(basename $dir) + ln -sf "${dir}" "${path}/${link}" + done +} +handshake(){ + final_handshake "$aid" +} +handshake_exp(){ + final_handshake "$exp" +} query_favorites(){ if [[ -z "${ip_list[@]}" ]]; then return 1 @@ -191,44 +205,6 @@ get_player_count(){ printf "%s\n%s" "$players" "$queue" } -validate_and_connect(){ - local context="$1" - local addr="$2" - - local record - case "$context" in - "Connect by ID") - if [[ -z "$api_key" ]]; then - printf "No Battlemetrics API key set" - return 4 - fi - record=$(map_id_to_ip "$addr") - if [[ $? -eq 1 ]]; then - logger WARN "Not a valid record: '$addr'" - printf "Not a valid ID" - return 2 - fi - logger INFO "Battlemetrics ID resolved to IP $record" - ;; - "Connect by IP") - if [[ $(validate_ip "$addr") -eq 1 ]]; then - printf "Not a valid IP format. Supply IP:Queryport" - return 2 - fi - local ip=$(<<< $addr awk -F: '{print $1}') - local qport=$(<<< $addr awk -F: '{print $2}') - local res - res=$(a2s $ip $qport info) - if [[ ! $? -eq 0 ]]; then - printf "Timed out when querying the server. Is this a valid server?" - return 2 - fi - local gameport="$(<<< $res jq -r '.[].gameport')" - record="${ip}:${gameport}:${qport}" - logger INFO "Record resolved to $record" - esac - try_connect "$record" -} map_id_to_ip(){ local id="$1" local res=$(curl -s "$bm_api" -H "Authorization: Bearer "$api_key"" \ @@ -294,21 +270,6 @@ add_record(){ ;; esac } -connect_by_id(){ - if [[ $(validate_ip "$addr") -eq 1 ]]; then - printf "Not a valid IP format. Supply IP:Queryport" - return 2 - fi - local ip=$(<<< $addr awk -F: '{print $1}') - local qport=$(<<< $addr awk -F: '{print $2}') - local res - res=$(a2s $ip $qport info) - if [[ ! $? -eq 0 ]]; then - printf "Timed out when querying the server. Is this a valid server?" - return 2 - fi - #res contains modlist -} start_cooldown(){ logger WARN "API response empty. Started 60s cooldown at $(date +%s)" date +%s > $_cache_cooldown @@ -444,6 +405,7 @@ query_config(){ "fav_label" "preferred_client" "fullscreen" + "default_steam_path" ) if [[ -n $key ]]; then if [[ -n ${!key} ]]; then @@ -924,19 +886,6 @@ open_link(){ xdg-open "$url" fi } - -quick_connect(){ - if [[ -z $fav_server ]]; then - printf "No favorite server currently set" - return 1 - fi - try_connect "$fav_server" -} -connect_from_table(){ - shift - local record="$1" - try_connect "$record" -} generate_log(){ source $config_file cat <<-DOC > $system_log @@ -1126,10 +1075,17 @@ try_fallback(){ esac } try_connect(){ + shift local record="$1" + local appid="$2" + local binary="$3" + local ip=$(<<< $record awk -F: '{print $1}') local gameport=$(<<< $record awk -F: '{print $2}') local qport=$(<<< $record awk -F: '{print $3}') + + echo "$binary" > $_cache_binary + local remote_mods remote_mods=$(a2s $ip $qport rules) if [[ $? -eq 1 ]]; then @@ -1154,11 +1110,11 @@ try_connect(){ return 1 fi case $auto_install in - "") manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods";; - 1|2) manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "auto" ;; + "") manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "$appid";; + 1|2) manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "auto" "$appid" ;; esac else - launch "$ip" "$gameport" "$sanitized_mods" + launch "$ip" "$gameport" "$sanitized_mods" "$appid" fi } check_architecture(){ @@ -1176,7 +1132,7 @@ force_update(){ fi rm "$versions_file" local update=$(check_timestamps) - manual_mod_install "null" "null" "$update" "null" "force" + manual_mod_install "null" "null" "$update" "null" "force" "null" echo "Finished requesting mod updates." return 0 } @@ -1293,6 +1249,8 @@ launch(){ local ip="$1" local gameport="$2" local mods="$3" + local appid="$4" + local concat if [[ -n $mods ]]; then concat=$(concat_mods "$mods") @@ -1301,18 +1259,22 @@ launch(){ fi update_symlinks + [[ $appid -eq $exp ]] && clone_symlinks + if [[ $debug -eq 1 ]]; then - local launch_options="$steam_cmd -applaunch $aid -connect=$ip:$gameport -nolauncher -nosplash -name=$name -skipintro -mod=$concat" + local launch_options="$steam_cmd -applaunch $appid -connect=$ip:$gameport -nolauncher -nosplash -name=$name -skipintro -mod=$concat" printf "Debug mode: these options would have been used to launch the game: $launch_options" return 0 fi echo "$concat" > "$_cache_launch" echo "$ip:$gameport" > "$_cache_address" logger INFO "Saved launch params: '$concat'" - printf "Launch conditions satisfied. DayZ will now launch after you confirm this dialog." - return 100 + printf "Launch conditions satisfied. DayZ will launch after you confirm this dialog." + [[ $appid == "$aid" ]] && return 100 + [[ $appid == "$exp" ]] && return 101 } final_handshake(){ + local appid="$1" local saved_mods=$(< "$_cache_launch") local saved_address=$(< "$_cache_address") local res=$(is_dayz_running) @@ -1329,7 +1291,7 @@ final_handshake(){ params+=("-skipintro") params+=("-name=$name") params+=("-mod=$saved_mods") - $steam_cmd -applaunch $aid "${params[@]}" & + $steam_cmd -applaunch $appid "${params[@]}" & until [[ $(is_dayz_running) -eq 1 ]]; do sleep 0.1s done @@ -1343,6 +1305,7 @@ manual_mod_install(){ local diff="$3" local sanitized_mods="$4" local mode="$5" + local appid="$6" local ex="$state_path/dzg.watcher" readarray -t stage_mods <<< "$diff" @@ -1400,7 +1363,7 @@ manual_mod_install(){ rm "$versions_file" check_timestamps fi - launch "$ip" "$gameport" "$sanitized_mods" + launch "$ip" "$gameport" "$sanitized_mods" "$appid" else printf "User aborted download process, or some mods may have failed to download. Try connecting again to resync." exit 1 diff --git a/helpers/pefile.py b/helpers/pefile.py new file mode 100644 index 0000000..0b026d0 --- /dev/null +++ b/helpers/pefile.py @@ -0,0 +1,499 @@ +import json +import struct +import typing # noqa + +from dataclasses import dataclass +from enum import Enum +from packaging.version import Version +from pathlib import Path +from shlex import shlex +from typing import BinaryIO, Union + +# https://learn.microsoft.com/en-us/windows/win32/debug/pe-format +endian = "<" +IMAGE_DIRECTORY_ENTRY = 2 +VERSION_RESOURCE = 16 +RESOURCE_NODE = ".rsrc" +PE32_x86 = "0x10b" +PE32_x64 = "0x20b" +VS_VERSION_INFO_MAGIC = "0xfeef04bd0000" +VS_VERSION_INFO_ID = "VS_VERSION_INFO" + + +class VersionMatch(Enum): + LOCAL_OLDER = 1 + LOCAL_NEWER = 2 + SAME_VERSION = 3 + FAIL = 4 + + +class u8: + fmt = "B" + + +class u16: + fmt = "H" + + +class u32: + fmt = "L" + + +class u64: + fmt = "Q" + + +class i8: + fmt = "b" + + +class i16: + fmt = "h" + + +class i32: + fmt = "l" + + +class i64: + fmt = "q" + + +class PackedData: + @classmethod + def unpack(cls, data: BinaryIO): + r = [] + for key, value in cls.__annotations__.items(): + if value == str: + f = data.read(8).rstrip(b"\x00\x00").decode() + else: + fmt = endian + (value.fmt) + size = struct.calcsize(fmt) + f = struct.unpack(fmt, data.read(size))[0] + r.append(f) + return cls(*r) + + +@dataclass(slots=True, frozen=True) +class COFF_FILE_HDR(PackedData): + machine_type: u16 + number_of_sections: u16 + timestamp: u32 + pointer_to_symbol_table: u32 + number_of_symbols: u32 + size_of_optional_header: u16 + characteristics: u16 + + +@dataclass(slots=True, frozen=True) +class OPTIONAL_HDR_X86(PackedData): + magic: u16 + major_linker_ver: u8 + minor_linker_ver: u8 + size_of_code: u32 + size_of_initialized_data: u32 + size_of_uninitialized_data: u32 + address_of_entry_point: u32 + base_of_code: u32 + base_of_data: u32 + + +@dataclass(slots=True, frozen=True) +class OPTIONAL_HDR_X64(PackedData): + magic: u16 + major_linker_ver: u8 + minor_linker_ver: u8 + size_of_code: u32 + size_of_initialized_data: u32 + size_of_uninitialized_data: u32 + address_of_entry_point: u32 + base_of_code: u32 + + +@dataclass(slots=True, frozen=True) +class OPTIONAL_HDR_WIN_X86(PackedData): + image_base: u32 + section_alignment: u32 + file_alignment: u32 + major_operating_system_version: u16 + minor_operating_system_version: u16 + major_image_version: u16 + minor_image_version: u16 + major_subsystem_version: u16 + minor_subsystem_version: u16 + win32_version_value: u32 + size_of_image: u32 + size_of_headers: u32 + checksum: u32 + subsystem: u16 + dll_characteristics: u16 + size_of_stack_reserve: u32 + size_of_stack_commit: u32 + size_of_heap_reserve: u32 + size_of_heap_commit: u32 + loader_flags: u32 + number_of_rva_and_sizes: u32 + + +@dataclass(slots=True, frozen=True) +class OPTIONAL_HDR_WIN_X64(PackedData): + image_base: u64 + section_alignment: u32 + file_alignment: u32 + major_operating_system_version: u16 + minor_operating_system_version: u16 + major_image_version: u16 + minor_image_version: u16 + major_subsystem_version: u16 + minor_subsystem_version: u16 + win32_version_value: u32 + size_of_image: u32 + size_of_headers: u32 + checksum: u32 + subsystem: u16 + dll_characteristics: u16 + size_of_stack_reserve: u64 + size_of_stack_commit: u64 + size_of_heap_reserve: u64 + size_of_heap_commit: u64 + loader_flags: u32 + number_of_rva_and_sizes: u32 + + +@dataclass(slots=True, frozen=True) +class DATA_DIR(PackedData): + virtual_address: u32 + size: u32 + + +@dataclass(slots=True, frozen=True) +class SECTION_HDR(PackedData): + name: str + virtual_size: u32 + virtual_address: u32 + size_of_raw_data: u32 + pointer_to_raw_data: u32 + pointer_to_relocations: u32 + pointer_to_line_numbers: u32 + number_of_relocations: u16 + number_of_line_numbers: u16 + characteristics: u32 + + +@dataclass(slots=True, frozen=True) +class RESOURCE_DIRECTORY_TABLE(PackedData): + characteristics: u32 + timestamp: u32 + major_version: u16 + minor_version: u16 + number_of_name_entries: u16 + number_of_id_entries: u16 + + +@dataclass(slots=True, frozen=True) +class RESOURCE_DIRECTORY_ENTRY(PackedData): + """ + This field is either a string identifying a data leaf + (if the high bit is set) or an ID to another nested directory + (if the high bit is clear). The outermost level is always a + directory. If it is a name, the lower 31 bits are the offset from the + beginning of the resource section's raw data to the name + (the name consists of 16 bits length and trailing wide characters, + in Unicode, not 0-terminated). + """ + name_or_id: u32 + data_or_subdir: u32 + + +@dataclass(slots=True, frozen=True) +class RESOURCE_DATA_ENTRY(PackedData): + data_rva: u32 + size: u32 + codepage: u32 + reserved: u32 + + +@dataclass(slots=True, frozen=True) +class VS_VERSION_INFO_HDR(PackedData): + size: u16 + value_length: u16 + value_type: u16 + + +@dataclass(slots=True, frozen=True) +class DayZVersion: + major: int + minor: int + patch: int + + +@dataclass(slots=True, frozen=True) +class FileVersion: + major: int + minor: int + build: int + revision: int + + +@dataclass(slots=True, frozen=True) +class Result: + local: Union[str, None] + remote: str + build: str + path: Union[Path, None] + match: VersionMatch + error: Union[Exception, None] + + +class PeFileError(Exception): + """Expected contents missing from headers or resource nodes""" + pass + + +class AppNotInstalledError(Exception): + """App not present in user's libraryfolders""" + pass + + +class AppMovedError(Exception): + """VDF points to a nonexistent location on disk""" + pass + + +class VDFLoadError(Exception): + """Malformed VDF or JSON conversion""" + pass + + +def parse_version_number(data: BinaryIO): + # https://learn.microsoft.com/en-us/windows/win32/api/verrsrc/ns-verrsrc-vs_fixedfileinfo + minor = struct.unpack("> 16 & 0xffff + major = struct.unpack("> 0 & 0xffff + build = struct.unpack("> 0 & 0xffff + revision = struct.unpack("> 16 & 0xffff + return FileVersion(major, minor, build, revision) + + +def seek_to_hex(address: str, data: BinaryIO) -> None: + data.seek(int(address, base=16)) + + +def seek_to_pe_stub(data: BinaryIO) -> None: + MAGIC = "0x3c" + seek_to_hex(MAGIC, data) + e_lfanew = hex(struct.unpack(" DayZVersion: + version = get_version(file) + patch = str(version.build) + str(version.revision) + dz_vers = DayZVersion(version.major, version.minor, int(patch)) + return dz_vers + + +def get_dayz_version_str(file: Path) -> str: + v = get_dayz_version(file) + concat = ".".join(str(el) for el in [v.major, v.minor, v.patch]) + return concat + + +def get_version(file): + with open(file, "rb") as f: + seek_to_pe_stub(f) + COFF = COFF_FILE_HDR.unpack(f) + + pos = f.tell() + blob = f.read() + magic = hex(struct.unpack(" VERSION_RESOURCE: + raise PeFileError("no version info node found") + seek_to_hex(hex(offset + entry.data_or_subdir), f) + + data = RESOURCE_DATA_ENTRY.unpack(f) + # https://stackoverflow.com/questions/2170843/va-virtual-address-rva-relative-virtual-address + offset = data.data_rva - hdr.virtual_address + hdr.pointer_to_raw_data + seek_to_hex(hex(offset), f) + + hdr = VS_VERSION_INFO_HDR.unpack(f) + # https://learn.microsoft.com/en-us/windows/win32/menurc/vs-versioninfo + byte_len = len(VS_VERSION_INFO_ID.encode("utf-16le")) + label = f.read(byte_len).decode("utf-16le") + if label != VS_VERSION_INFO_ID: + raise PeFileError(f"header identifier != '{VS_VERSION_INFO_ID}'") + f.read(32 - byte_len) + + identifier = hex(struct.unpack(" bool: + return Version(local) < Version(remote) + + +def is_newer_version(local: str, remote: str) -> bool: + return Version(local) > Version(remote) + + +def get_pefile_path(path: str, appid: int) -> Path: + binary = "DayZ_x64.exe" + identifier = {221100: "DayZ", 1024020: "DayZ Exp"} + name = identifier[appid] + + pe_path = None + path = path + "/steamapps/libraryfolders.vdf" + + with open(path, "r") as f: + try: + j = json.loads(vdf_to_json(f)) + except Exception: + raise VDFLoadError("Failed to parse libraryfolders") + + for obj in j["libraryfolders"]: + if str(appid) in j["libraryfolders"][obj]["apps"]: + pe_path = j["libraryfolders"][obj]["path"] + pe_path += f"/steamapps/common/{name}/{binary}" + break + + if pe_path is None: + raise AppNotInstalledError( + f"Failed to find a libraryfolder for the appid '{appid}'" + ) + + pe_path = Path(pe_path) + if pe_path.exists() is False: + raise AppMovedError( + f"Path '{pe_path}' specified in libraryfolders does not exist" + ) + + return pe_path + + +def compare_versions(remote: str, appid: int, path: str): + if appid == 221100: + build = "DayZ" + else: + build = "DayZ Experimental" + + local = None + pe_filepath = None + error = None + + try: + pe_filepath = get_pefile_path(path, appid) + except Exception as e: + return Result( + local, remote, build, pe_filepath, VersionMatch.FAIL, e + ) + + try: + local = get_dayz_version_str(pe_filepath) + except PeFileError: + return Result( + local, remote, build, pe_filepath, VersionMatch.FAIL, error + ) + + if is_older_version(local, remote): + res = VersionMatch.LOCAL_OLDER + elif is_newer_version(local, remote): + res = VersionMatch.LOCAL_NEWER + else: + res = VersionMatch.SAME_VERSION + + return Result(local, remote, build, pe_filepath, res, error) + + +def vdf_to_json(stream): + def _istr(indent, string): + return (indent * ' ') + string + + jbuf = '{\n' + lex = shlex(stream) + indent = 1 + + while True: + tok = lex.get_token() + if not tok: + return jbuf + '}\n' + if tok == '}': + indent -= 1 + jbuf += _istr(indent, '}') + ntok = lex.get_token() + lex.push_token(ntok) + if ntok and ntok != '}': + jbuf += ',' + jbuf += '\n' + else: + ntok = lex.get_token() + if ntok == '{': + jbuf += _istr(indent, tok + ': {\n') + indent += 1 + else: + jbuf += _istr(indent, tok + ': ' + ntok) + ntok = lex.get_token() + lex.push_token(ntok) + if ntok != '}': + jbuf += ',' + jbuf += '\n' diff --git a/helpers/servers.py b/helpers/servers.py index 5636710..565ad0a 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -29,6 +29,18 @@ params = [ ] +class BmAPIError(Exception): + pass + + +class BmIdError(Exception): + pass + + +class InvalidIpError(Exception): + pass + + def get_netmask() -> str: hostname = os.uname()[1] i = socket.gethostbyname(hostname) @@ -196,7 +208,7 @@ class Res: json: Union[str, None] -@dataclass +@dataclass(slots=True, frozen=True) class Ping: addr: str iteration: int @@ -210,17 +222,33 @@ class Details: success: bool -def is_passworded(ip: str, qport: int) -> bool: +@dataclass +class Prereqs: + password: bool + gameport: int + appid: Union[int, None] + version: Union[str, None] + + +@dataclass(slots=True) +class Record: + ip: str + gameport: int + qport: int + + +def get_prereqs(ip: str, qport: int) -> Prereqs: try: info = a2s.info((ip, qport)) except TimeoutError: - return False + return Prereqs(False, 0, None, None) - try: - password = info.password_protected - except AttributeError: - return False - return password + gameport = getattr(info, "port", 0) + is_password = getattr(info, "password_protected", False) + appid = getattr(info, "game_id", None) + version = getattr(info, "version", None) + + return Prereqs(is_password, gameport, appid, version) def details(ip: str, qport: int) -> Details: @@ -343,12 +371,12 @@ def ping(iteration: int, row: list) -> Ping: return Ping(addr, iteration, ping) -def query_api(key: str, param: str) -> Res: +def query_api(key: str, appid: int, param: str) -> Res: LIMIT = 10000 url = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?" payload: dict[str, Union[int, str]] = { - "filter": r"\appid\221100" + param, + "filter": r"\appid" + fr"\{appid}" + param, "limit": LIMIT, "key": key, } @@ -375,3 +403,62 @@ def query_api(key: str, param: str) -> Res: data = None finally: return Res(status, parsed, data) + + +def query_bm_api(api_key: str, bm_id: str) -> Record: + if bm_id.isnumeric() is False: + raise BmIdError("ID must be numeric only") + + payload: dict[str, Union[int, str]] = { + "sort": "-players", + "filter[game]": "dayz", + "filter[ids][whitelist]": bm_id, + } + + url = "https://api.battlemetrics.com/servers?" + par = parse.urlencode(payload) + url = f"{url}{par}" + + hdr = {"Authorization": "Bearer " + api_key} + r = request.Request(url, headers=hdr) + + try: + with request.urlopen(r) as response: + try: + j = json.load(response) + except json.decoder.JSONDecodeError: + raise BmAPIError("Malformed response from Battlemetrics") + + if len(j["data"]) < 1: + raise BmAPIError("Not a valid Battlemetrics ID") + j = j["data"][0]["attributes"] + return Record(j["ip"], j["port"], j["portQuery"]) + except HTTPError: + raise BmAPIError("Failed to query Battlemetrics") + + +def validate_ip(addr: str): + fields = addr.split(":") + if len(fields) != 2: + raise InvalidIpError("Address must be formatted as IP:Queryport") + + ip = fields[0] + port = fields[1] + + try: + int(port) + except ValueError: + raise InvalidIpError(f"'{port}' is not a valid port") + + if int(port) > 65535 or int(port) < 0: + raise InvalidIpError(f"'{port}' is not a valid port") + + try: + socket.inet_aton(ip) + except OSError: + raise InvalidIpError(f"'{ip}' is not a valid IP") + + ip = addr.split(":")[0] + qport = int(addr.split(":")[1]) + record = Record(ip, 0, qport) + return record diff --git a/helpers/ui.py b/helpers/ui.py index 02022a6..0c3f33b 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -13,21 +13,24 @@ import threading import typing # noqa import warnings +from dataclasses import dataclass from enum import Enum +from collections.abc import Callable from concurrent.futures import wait from concurrent.futures import ThreadPoolExecutor - -from collections.abc import Callable from typing import Literal, Self, Any import servers as Servers # noqa E402 +import pefile as PeFile # noqa E402 + +from pefile import VDFLoadError, AppNotInstalledError, AppMovedError, PeFileError +from pefile import VersionMatch locale.setlocale(locale.LC_ALL, "") import gi # noqa E402 - gi.require_version("Gtk", "3.0") -from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa: E402 +from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa E402 # https://bugzilla.gnome.org/show_bug.cgi?id=708676 warnings.filterwarnings("ignore", ".*g_value_get_int", Warning) @@ -37,6 +40,9 @@ app_name_lower = app_name.lower() app_name_abbr = "dzg" delimiter = "␞" +APPID_DAYZ = 221100 +APPID_DAYZ_EXP = 1024020 + cache: dict[str, int] = {} config_vals: list[str] = [] @@ -87,6 +93,13 @@ If this issue persists, your API key may be defunct. """ +@dataclass +class Record: + ip: str + gameport: int + qport: int + + class Preferences(Enum): STEAM = 1 BM = 2 @@ -349,6 +362,12 @@ class RowType(EnumWithAttrs): "wait_msg": "Waiting for DayZ", "type": Command.ONESHOT, } + HANDSHAKE_EXP = { + "label": "Handshake_EXP", + "tooltip": None, + "wait_msg": "Waiting for DayZ", + "type": Command.ONESHOT, + } DELETE_SELECTED = { "label": "Delete selected mods", "tooltip": None, @@ -666,6 +685,7 @@ def save_res_and_quit(*args) -> None: def suppress_signal( owner: Gtk.Widget, widget: Gtk.Widget, func_name: str, state: bool ) -> None: + func = getattr(owner, func_name) if state: logger.debug(f"Blocking {func_name} for {widget}") @@ -705,6 +725,7 @@ def format_metadata(row_sel: str) -> str: "fav_label": config_vals[4], "preferred_client": config_vals[5], "fullscreen": config_vals[6], + "default_steam_path": config_vals[7] } if row is None: return "" @@ -899,6 +920,11 @@ def process_shell_return_code( if final_conf == 1 or final_conf is None: return process_tree_option(RowType.HANDSHAKE) + case 101: # final handshake, exp + final_conf = spawn_dialog(msg, Popup.CONFIRM) + if final_conf == 1 or final_conf is None: + return + process_tree_option(RowType.HANDSHAKE_EXP) case 255: # dzgui version update msg = "Update complete. Please close DZGUI and restart." spawn_dialog(msg, Popup.QUIT) @@ -973,6 +999,22 @@ def process_tree_option(choice: RowType) -> None: App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) return + if command == RowType.QUICK_CONNECT: + record = query_config("fav_server")[0] + if record == "": + spawn_dialog("No favorite server currently set", Popup.NOTIFY) + return + + record = str_to_record(record) + thread_new_with_dialog( + App.treeview.prepare_connection, + parse_shell_output, + "Querying server", + command, + [record] + ) + return + match command.dict["type"]: case Command.HELP: call_bash_func("Open link", cmd_string) @@ -989,6 +1031,61 @@ def process_tree_option(choice: RowType) -> None: return +def parse_shell_output(proc: subprocess.CompletedProcess, row: RowType): + out = proc.stdout.splitlines() + try: + msg = out[-1] + except IndexError: + msg = "" + process_shell_return_code(msg, proc.returncode, row) + + +def thread_new_with_dialog( + func: Callable, + callback: Callable | None, + msg: str, + row: RowType | None, + args: list +) -> None: + + """ + Pop a GenericDialog transient to App.treeview and + call a function on a thread, with optional callback. + Chiefly used for connection-related subprocesses. + + After completion, the dialog is destroyed in the main event loop + and additional exception handling occurs. + + This is intended as a bridge between legacy shell methods and the UI. + A more abstracted version of call_on_thread() for when extra threaded + processing occurs before calls to shell subprocesses. + """ + + def background(*args): + def cleanup(): + App.treeview.dialog_hide() + if exception is not None: + spawn_dialog(str(exception), Popup.NOTIFY) + process_user_input(row) + return + if callback is not None and proc is not None: + callback(proc, row) + + exception = None + proc = None + try: + proc = func(*args) + except Exception as e: + exception = e + GLib.idle_add(cleanup) + return + GLib.idle_add(cleanup) + + App.treeview.dialog_show(msg) + thread = threading.Thread(target=background, args=(args)) + thread.start() + + def process_toggle(command: RowType) -> None: cmd_string = command.dict["label"] match command: @@ -1013,11 +1110,60 @@ def process_toggle(command: RowType) -> None: proc = call_out("toggle", cmd_string) +def str_to_record(record: str) -> Record | None: + r = record.split(":") + if len(r) != 3: + return None + return Record(r[0], int(r[1]), int(r[2])) + + +def record_to_str(record: Record) -> str: + return f"{record.ip}:{record.gameport}:{record.qport}" + + +def connect_by_ip(enum: RowType, response: str) -> None: + def _prep(response: str) -> None: + record = Servers.validate_ip(response) + proc = App.treeview.prepare_connection(record) + return proc + + thread_new_with_dialog( + _prep, + parse_shell_output, + "Querying IP", + enum, + [response] + ) + return + + +def connect_by_id(enum: RowType, response: str, key: str) -> None: + def _prep(key: str, response: str) -> None: + record = Servers.query_bm_api(key, response) + proc = App.treeview.prepare_connection(record) + return proc + + thread_new_with_dialog( + _prep, + parse_shell_output, + "Querying API", + enum, + [key, response] + ) + return + + def process_user_input(enum: RowType) -> None: prompt = enum.dict["prompt"] link_label = enum.dict["link_label"] cmd_string = enum.dict["label"] + if enum == RowType.CONN_BY_ID: + key = query_config("api_key")[0] + if len(key) == 0: + spawn_dialog("No Battlemetrics API key is set; see Options", Popup.NOTIFY) + return + user_entry = EntryDialog(prompt, Popup.ENTRY, link_label) response = user_entry.get_input() @@ -1026,6 +1172,14 @@ def process_user_input(enum: RowType) -> None: return logger.info(f"User entered: '{response}'") + if enum == RowType.CONN_BY_IP: + connect_by_ip(enum, response) + return + + if enum == RowType.CONN_BY_ID: + connect_by_id(enum, response, key) + return + show_wait_dialog = True wait_msg = "Working" call_on_thread( @@ -1789,7 +1943,7 @@ class TreeView(Gtk.TreeView): it = self.get_current_iter() name = model.get_value(it, 0) record = self.get_record_dict() - DetailsDialog(name, record["ip"], record["qport"]) + DetailsDialog(name, record.ip, record.qport) def show_mods(self) -> None: record = self.get_record_string() @@ -1976,7 +2130,7 @@ class TreeView(Gtk.TreeView): if not record: grid.statusbar.update_server_meta() return - ip = record["ip"] + ip = record.ip if ip in cache: km = cache[ip] grid.statusbar.append_distance(km) @@ -2135,8 +2289,8 @@ class TreeView(Gtk.TreeView): addr = model[path][7] qport = model[path][8] ip = addr.split(":")[0] - qport = str(qport) - return {"ip": ip, "qport": qport} + gameport = int(addr.split(":")[1]) + return Record(ip, gameport, qport) def update_players(self, players: int) -> None: model = self.get_model() @@ -2183,9 +2337,7 @@ class TreeView(Gtk.TreeView): record = self.get_record_dict() if not record: return - ip = record["ip"] - qport = record["qport"] - data = call_out("get_player_count", ip, qport) + data = call_out("get_player_count", record.ip, str(record.qport)) if data.returncode == 1: wait_dialog.destroy() return @@ -2195,10 +2347,10 @@ class TreeView(Gtk.TreeView): key = query_config("steam_api")[0] job = Servers.query_api params = Servers.params + serv = [] with ThreadPoolExecutor() as executor: - futures = [executor.submit(job, key, param) for param in params] + futures = [executor.submit(job, key, APPID_DAYZ, param) for param in params] wait(futures) - serv = [] for future in futures: res = future.result() if res.status != 200 or not res.parsed: @@ -2208,7 +2360,13 @@ class TreeView(Gtk.TreeView): return j = res.json serv += j["response"]["servers"] - parsed = Servers.parse_json(serv) + + res = Servers.query_api(key, APPID_DAYZ_EXP, "") + if res.status == 200 and res.parsed is True: + j = res.json + serv += j["response"]["servers"] + + parsed = Servers.parse_json(serv) return parsed def _dump_lan(self, port: int) -> list | None: @@ -2649,27 +2807,15 @@ class TreeView(Gtk.TreeView): ) thread.start() - def _background_connection( - self, dialog: "GenericDialog", record: str - ) -> None: - def load(): - dialog.destroy() - out = proc.stdout.splitlines() - msg = out[-1] - process_shell_return_code(msg, proc.returncode, record) + def dialog_hide(self) -> None: + if hasattr(self, "wait_dialog"): + self.wait_dialog.destroy() - proc = call_out("Connect from table", record) - GLib.idle_add(load) - - def _attempt_connection(self) -> None: - record = self.get_record_string() - msg = "Querying server and aligning mods" - wait_dialog = GenericDialog(msg, Popup.WAIT) - wait_dialog.show_all() - thread = threading.Thread( - target=self._background_connection, args=(wait_dialog, record) - ) - thread.start() + def dialog_show(self, msg: str) -> None: + if hasattr(self, "wait_dialog"): + self.wait_dialog.destroy() + self.wait_dialog = GenericDialog(msg, Popup.WAIT) + self.wait_dialog.show_all() def is_row_to_server_context(self, view: RowType) -> bool: """Row activation that jumps into a server table""" @@ -2709,6 +2855,86 @@ class TreeView(Gtk.TreeView): def get_view(self): return self.view + def prepare_connection(self, record: Record) -> subprocess.CompletedProcess | None: + """ + Always called on a thread with a dialog on the transient parent window + """ + prereqs = Servers.get_prereqs(record.ip, record.qport) + if prereqs.appid is None: + msg = "Timed out when querying server, check IP or try again later" + spawn_dialog(msg, Popup.NOTIFY) + return None + + if prereqs.version is not None: + path = query_config("default_steam_path")[0] + result = PeFile.compare_versions(prereqs.version, prereqs.appid, path) + + if result.error is not None: + logger.warning(result.error) + + if result.match == VersionMatch.FAIL: + if isinstance(result.error, VDFLoadError) or isinstance(result.error, PeFileError): + # permissive; file exists, but could not determine version + pass + if isinstance(result.error, AppNotInstalledError): + if prereqs.appid == 1024020: + msg = ( + "This server is running DayZ Experimental, a beta build. " + "You can install DayZ Experimental by searching for it in " + "your Steam library." + ) + spawn_dialog(msg, Popup.NOTIFY) + return None + if isinstance(result.error, AppMovedError): + msg = ( + f"Steam is reporting that {result.build} is installed at a non-existent location. " + f"If you recently installed {result.build} or moved it to a different drive, " + "restart Steam to allow these changes to synchronize, then try again." + ) + spawn_dialog(msg, Popup.NOTIFY) + return None + + if result.match == VersionMatch.LOCAL_OLDER: + msg = ( + f"This server is running a newer build ({result.remote}) of {result.build} than " + f"your local version ({result.local}). You may be unable to connect. Proceed anyway?" + ) + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return None + + if result.match == VersionMatch.LOCAL_NEWER: + msg = ( + f"This server is running an out-of-date build ({result.remote}) of {result.build}. " + "You may be unable to connect. Proceed anyway?" + ) + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return None + + if prereqs.password is True: + msg = ( + "This server is password-protected and you will be " + "prompted when connecting. Do you want to proceed?" + ) + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return None + + """ + When using RowType.CONN_BY_IP, the gameport needs to be interpolated + """ + + record.gameport = prereqs.gameport + addr = record_to_str(record) + proc = call_out( + "try_connect", + addr, + str(prereqs.appid), + str(result.path) + ) + return proc + @signal_emission @update_window_labels def _on_row_activated( @@ -2777,15 +3003,13 @@ class TreeView(Gtk.TreeView): record = self.get_record_dict() if record is None: return - if Servers.is_passworded(record["ip"], int(record["qport"])): - msg = ( - "This server is password-protected and you will be " - "prompted when connecting. Do you want to proceed?" - ) - res = spawn_dialog(msg, Popup.CONFIRM) - if res is True: - return - self._attempt_connection() + thread_new_with_dialog( + self.prepare_connection, + parse_shell_output, + "Querying server", + None, + [record] + ) case _: # any other non-server option from the main menu process_tree_option(output) @@ -3042,7 +3266,7 @@ class LanDialog(Gtk.MessageDialog): class DetailsDialog(GenericDialog): - def __init__(self, server_name: str, ip: str, qport: str): + def __init__(self, server_name: str, ip: str, qport: int): super().__init__(server_name, Popup.DETAILS) dialog_box = self.get_content_area() @@ -3050,7 +3274,7 @@ class DetailsDialog(GenericDialog): self.set_size_request(800, 700) self.ip = ip.split(":")[0] - self.qport = int(qport) + self.qport = qport self.store = Gtk.ListStore(str, str, Pango.Weight) self.view = Gtk.TreeView( @@ -3203,12 +3427,10 @@ class ModDialog(GenericDialog): self.run() self.destroy() - addr = App.treeview.get_record_dict() - if not addr: + record = App.treeview.get_record_dict() + if not record: return - ip = addr["ip"] - qport = addr["qport"] - data = call_out("show_server_modlist", ip, qport) + data = call_out("show_server_modlist", record.ip, str(record.qport)) mod_count = self._parse_modlist_rows(data) self.view.set_model(modlist_store) GLib.idle_add(_load) @@ -3487,6 +3709,9 @@ class Options(Gtk.Box): [LeftLabel("Force update local mods"), self.force_button, eb2], ] + self.dayz_version_label = Gtk.Label(label="-") + self.dayz_exp_version_label = Gtk.Label(label="-") + self.branch_combo = Gtk.ComboBoxText() self.branch_combo.append_text("Stable") self.branch_combo.append_text("Testing") @@ -3499,7 +3724,11 @@ class Options(Gtk.Box): ) eb = InfoEventBox(msg) - version_rows = [[LeftLabel("Branch"), self.branch_combo, eb]] + version_rows = [ + [LeftLabel("DayZ"), self.dayz_version_label], + [LeftLabel("DayZ Experimental"), self.dayz_exp_version_label], + [LeftLabel("DZGUI branch"), self.branch_combo, eb] + ] api_grid = self._make_grid(api_rows) prefs_grid = self._make_grid(pref_rows) @@ -3743,6 +3972,7 @@ class Options(Gtk.Box): name = config_vals[3] client = config_vals[5] fullscreen = config_vals[6] + default_steam_path = config_vals[7] try: steam = query_config("steam_api")[0] @@ -3785,6 +4015,21 @@ class Options(Gtk.Box): if field[0] == "": field[1].get_children()[1].set_sensitive(False) + try: + pe_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ) + dayz_version = PeFile.get_dayz_version_str(pe_file_path) + except Exception: + dayz_version = "-" + + try: + exp_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ_EXP) + dayz_exp_version = PeFile.get_dayz_version_str(exp_file_path) + except Exception: + dayz_exp_version = "-" + + self.dayz_version_label.set_text(dayz_version) + self.dayz_exp_version_label.set_text(dayz_exp_version) + if branch == "testing": self.branch_combo.set_active(1) else: From b92e337016d00dd8313dd3ac333581f378d06ce9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Sep 2025 16:57:36 +0900 Subject: [PATCH 116/221] chore: bump version --- dzgui.sh | 9 +++++---- helpers/funcs | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 46cec62..a0d14d1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-5 +version=6.0.0.beta-6 #CONSTANTS aid=221100 @@ -585,11 +585,12 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="01d45663b7517eae866010df0eba746a" + ["funcs"]="f1db0e8b1068defdf834e9c9510bf315" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="ea5648df7121bb9dfeead9874bfcafcf" - ["ui.py"]="38b589e4b4fd9a9d3e049e7dcbdc8593" + ["servers.py"]="3610debc3f2931d2aa7c002ae912db88" + ["ui.py"]="567b39cefb08f66f63f77cae5fa0c94f" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" + ["pefile.py"]="cc23ff2725fedb1c64908f77477360b6" ) local author="aclist" local repo="dztui" diff --git a/helpers/funcs b/helpers/funcs index 2a41ece..8033d09 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.5" +version="6.0.0-beta.6" #CONSTANTS aid=221100 From 0d52c83ed93f45bad2ed78de77f9a16d3fb8dbf9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 16:58:58 +0900 Subject: [PATCH 117/221] chore: refactor pefile methods --- helpers/pefile.py | 81 +++++++++++++----------------- helpers/ui.py | 122 ++++++++++++++++++++++++++++------------------ 2 files changed, 110 insertions(+), 93 deletions(-) diff --git a/helpers/pefile.py b/helpers/pefile.py index 0b026d0..507a355 100644 --- a/helpers/pefile.py +++ b/helpers/pefile.py @@ -24,7 +24,6 @@ class VersionMatch(Enum): LOCAL_OLDER = 1 LOCAL_NEWER = 2 SAME_VERSION = 3 - FAIL = 4 class u8: @@ -288,17 +287,24 @@ def seek_to_pe_stub(data: BinaryIO) -> None: raise PeFileError("missing PE header data") -def get_dayz_version(file: Path) -> DayZVersion: - version = get_version(file) +def get_dayz_version(file: Path) -> DayZVersion | Exception: + try: + version = get_version(file) + except Exception as e: + return e patch = str(version.build) + str(version.revision) dz_vers = DayZVersion(version.major, version.minor, int(patch)) return dz_vers -def get_dayz_version_str(file: Path) -> str: - v = get_dayz_version(file) - concat = ".".join(str(el) for el in [v.major, v.minor, v.patch]) - return concat +def dayz_version_to_str(v: DayZVersion) -> str: + return ".".join(str(el) for el in [v.major, v.minor, v.patch]) + + +def dayz_version_from_str(v: str) -> DayZVersion: + vers = v.split(".") + assert len(vers) == 3 + return DayZVersion(*[int(el) for el in vers]) def get_version(file): @@ -389,14 +395,6 @@ def get_version(file): return version -def is_older_version(local: str, remote: str) -> bool: - return Version(local) < Version(remote) - - -def is_newer_version(local: str, remote: str) -> bool: - return Version(local) > Version(remote) - - def get_pefile_path(path: str, appid: int) -> Path: binary = "DayZ_x64.exe" identifier = {221100: "DayZ", 1024020: "DayZ Exp"} @@ -431,38 +429,29 @@ def get_pefile_path(path: str, appid: int) -> Path: return pe_path -def compare_versions(remote: str, appid: int, path: str): - if appid == 221100: - build = "DayZ" - else: - build = "DayZ Experimental" +def compare_versions(local: DayZVersion, remote: DayZVersion): + """ + packaging.version module is not available OOTB on some distributions + """ + if dayz_version_to_str(local) == dayz_version_to_str(remote): + return VersionMatch.SAME_VERSION - local = None - pe_filepath = None - error = None - - try: - pe_filepath = get_pefile_path(path, appid) - except Exception as e: - return Result( - local, remote, build, pe_filepath, VersionMatch.FAIL, e - ) - - try: - local = get_dayz_version_str(pe_filepath) - except PeFileError: - return Result( - local, remote, build, pe_filepath, VersionMatch.FAIL, error - ) - - if is_older_version(local, remote): - res = VersionMatch.LOCAL_OLDER - elif is_newer_version(local, remote): - res = VersionMatch.LOCAL_NEWER - else: - res = VersionMatch.SAME_VERSION - - return Result(local, remote, build, pe_filepath, res, error) + if local.major < remote.major: + return VersionMatch.LOCAL_OLDER + if local.major > remote.major: + return VersionMatch.LOCAL_NEWER + if local.major == remote.major: + if local.minor < remote.minor: + return VersionMatch.LOCAL_OLDER + if local.minor > remote.minor: + return VersionMatch.LOCAL_NEWER + if local.minor == remote.minor: + if local.patch < remote.patch: + return VersionMatch.LOCAL_OLDER + if local.patch > remote.patch: + return VersionMatch.LOCAL_NEWER + if local.patch == remote.patch: + return VersionMatch.SAME_VERSION def vdf_to_json(stream): diff --git a/helpers/ui.py b/helpers/ui.py index 0c3f33b..413b159 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -24,7 +24,7 @@ import servers as Servers # noqa E402 import pefile as PeFile # noqa E402 from pefile import VDFLoadError, AppNotInstalledError, AppMovedError, PeFileError -from pefile import VersionMatch +from pefile import VersionMatch, DayZVersion locale.setlocale(locale.LC_ALL, "") @@ -2861,56 +2861,83 @@ class TreeView(Gtk.TreeView): """ prereqs = Servers.get_prereqs(record.ip, record.qport) if prereqs.appid is None: + logger.warning(f"Query to '{record.ip}:{record.qport}' timed out") msg = "Timed out when querying server, check IP or try again later" spawn_dialog(msg, Popup.NOTIFY) return None - if prereqs.version is not None: - path = query_config("default_steam_path")[0] - result = PeFile.compare_versions(prereqs.version, prereqs.appid, path) + build = "DayZ" if prereqs.appid == APPID_DAYZ else "DayZ Experimental" + steam_path = query_config("default_steam_path")[0] - if result.error is not None: - logger.warning(result.error) + if len(steam_path) < 1: + logger.critical("Config file has no value set for 'default_steam_path'") + msg = f"Local Steam installation is not set, possibly malformed config file." + spawn_dialog(msg, Popup.NOTIFY) + return None - if result.match == VersionMatch.FAIL: - if isinstance(result.error, VDFLoadError) or isinstance(result.error, PeFileError): - # permissive; file exists, but could not determine version - pass - if isinstance(result.error, AppNotInstalledError): - if prereqs.appid == 1024020: - msg = ( - "This server is running DayZ Experimental, a beta build. " - "You can install DayZ Experimental by searching for it in " - "your Steam library." - ) - spawn_dialog(msg, Popup.NOTIFY) - return None - if isinstance(result.error, AppMovedError): + try: + pefile_path = PeFile.get_pefile_path(steam_path, prereqs.appid) + except AppNotInstalledError: + logger.critical(f"'{prereqs.appid}' not found in user's libraryfolders") + msg = ( + f"This server is running {build}. " + f"You can install {build} by searching for it in " + "your Steam library." + ) + spawn_dialog(msg, Popup.NOTIFY) + return None + except AppMovedError: + logger.critical(f"Library folder synch error for '{prereqs.appid}'") + msg = ( + f"Steam is reporting that {build} is installed at a non-existent location. " + f"If you recently installed {build} or moved it to a different drive, " + "restart Steam to allow these changes to synchronize, then try again." + ) + spawn_dialog(msg, Popup.NOTIFY) + return None + except (VDFLoadError, PeFileError, Exception) as e: + logger.critical(e) + msg = "Steam settings or DayZ installation may be corrupted. Try restarting Steam." + spawn_dialog(msg, Popup.NOTIFY) + return None + + try: + local_vers = PeFile.get_dayz_version(pefile_path) + except (PeFileError, Exception) as e: + """ + Currently permissive; file exists, but was unparseable. + """ + logger.warning(f"Failed to parse PE file: {e}") + local_vers = None + + try: + remote_vers = PeFile.dayz_version_from_str(prereqs.version) + except Exception: + remote_vers = None + + if (local_vers is not None and + remote_vers is not None): + match = PeFile.compare_versions(local_vers, remote_vers) + + match match: + case VersionMatch.LOCAL_OLDER: msg = ( - f"Steam is reporting that {result.build} is installed at a non-existent location. " - f"If you recently installed {result.build} or moved it to a different drive, " - "restart Steam to allow these changes to synchronize, then try again." + f"This server is running a newer build ({prereqs.version}) of {build} than " + f"your local version. You may be unable to connect. Proceed anyway?" ) - spawn_dialog(msg, Popup.NOTIFY) - return None - - if result.match == VersionMatch.LOCAL_OLDER: - msg = ( - f"This server is running a newer build ({result.remote}) of {result.build} than " - f"your local version ({result.local}). You may be unable to connect. Proceed anyway?" - ) - res = spawn_dialog(msg, Popup.CONFIRM) - if res is True: - return None - - if result.match == VersionMatch.LOCAL_NEWER: - msg = ( - f"This server is running an out-of-date build ({result.remote}) of {result.build}. " - "You may be unable to connect. Proceed anyway?" - ) - res = spawn_dialog(msg, Popup.CONFIRM) - if res is True: - return None + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return None + case VersionMatch.LOCAL_NEWER: + msg = ( + f"This server is running an out-of-date build ({prereqs.version}) of {build}. " + "You may be unable to connect. Proceed anyway?" + ) + res = spawn_dialog(msg, Popup.CONFIRM) + if res is True: + return None + case VersionMatch.SAME_VERSION: + pass if prereqs.password is True: msg = ( @@ -2924,14 +2951,13 @@ class TreeView(Gtk.TreeView): """ When using RowType.CONN_BY_IP, the gameport needs to be interpolated """ - record.gameport = prereqs.gameport addr = record_to_str(record) proc = call_out( "try_connect", addr, str(prereqs.appid), - str(result.path) + str(pefile_path) ) return proc @@ -4017,13 +4043,15 @@ class Options(Gtk.Box): try: pe_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ) - dayz_version = PeFile.get_dayz_version_str(pe_file_path) + vers = PeFile.get_dayz_version(pe_file_path) + dayz_version = PeFile.dayz_version_to_str(vers) except Exception: dayz_version = "-" try: exp_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ_EXP) - dayz_exp_version = PeFile.get_dayz_version_str(exp_file_path) + vers = PeFile.get_dayz_version(exp_file_path) + dayz_exp_version = PeFile.dayz_version_to_str(vers) except Exception: dayz_exp_version = "-" From 5482f296a54e3bcef8ca8185e64d788adccb7d4b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:01:57 +0900 Subject: [PATCH 118/221] chore: formatting --- helpers/pefile.py | 47 ++++++++++++++++------------- helpers/ui.py | 77 +++++++++++++++++++++++++++-------------------- 2 files changed, 70 insertions(+), 54 deletions(-) diff --git a/helpers/pefile.py b/helpers/pefile.py index 507a355..b76181d 100644 --- a/helpers/pefile.py +++ b/helpers/pefile.py @@ -200,6 +200,7 @@ class RESOURCE_DIRECTORY_ENTRY(PackedData): (the name consists of 16 bits length and trailing wide characters, in Unicode, not 0-terminated). """ + name_or_id: u32 data_or_subdir: u32 @@ -246,30 +247,34 @@ class Result: class PeFileError(Exception): """Expected contents missing from headers or resource nodes""" + pass class AppNotInstalledError(Exception): """App not present in user's libraryfolders""" + pass class AppMovedError(Exception): """VDF points to a nonexistent location on disk""" + pass class VDFLoadError(Exception): """Malformed VDF or JSON conversion""" + pass def parse_version_number(data: BinaryIO): # https://learn.microsoft.com/en-us/windows/win32/api/verrsrc/ns-verrsrc-vs_fixedfileinfo - minor = struct.unpack("> 16 & 0xffff - major = struct.unpack("> 0 & 0xffff - build = struct.unpack("> 0 & 0xffff - revision = struct.unpack("> 16 & 0xffff + minor = struct.unpack("> 16 & 0xFFFF + major = struct.unpack("> 0 & 0xFFFF + build = struct.unpack("> 0 & 0xFFFF + revision = struct.unpack("> 16 & 0xFFFF return FileVersion(major, minor, build, revision) @@ -358,9 +363,9 @@ def get_version(file): seek_to_hex(hex(offset + shift), f) table = RESOURCE_DIRECTORY_TABLE.unpack(f) total = ( - table.number_of_name_entries + - table.number_of_id_entries - ) + table.number_of_name_entries + + table.number_of_id_entries + ) for entry in range(total): entry = RESOURCE_DIRECTORY_ENTRY.unpack(f) break @@ -456,33 +461,33 @@ def compare_versions(local: DayZVersion, remote: DayZVersion): def vdf_to_json(stream): def _istr(indent, string): - return (indent * ' ') + string + return (indent * " ") + string - jbuf = '{\n' + jbuf = "{\n" lex = shlex(stream) indent = 1 while True: tok = lex.get_token() if not tok: - return jbuf + '}\n' - if tok == '}': + return jbuf + "}\n" + if tok == "}": indent -= 1 - jbuf += _istr(indent, '}') + jbuf += _istr(indent, "}") ntok = lex.get_token() lex.push_token(ntok) - if ntok and ntok != '}': - jbuf += ',' - jbuf += '\n' + if ntok and ntok != "}": + jbuf += "," + jbuf += "\n" else: ntok = lex.get_token() - if ntok == '{': - jbuf += _istr(indent, tok + ': {\n') + if ntok == "{": + jbuf += _istr(indent, tok + ": {\n") indent += 1 else: - jbuf += _istr(indent, tok + ': ' + ntok) + jbuf += _istr(indent, tok + ": " + ntok) ntok = lex.get_token() lex.push_token(ntok) - if ntok != '}': - jbuf += ',' - jbuf += '\n' + if ntok != "}": + jbuf += "," + jbuf += "\n" diff --git a/helpers/ui.py b/helpers/ui.py index 413b159..c16296c 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -23,12 +23,18 @@ from typing import Literal, Self, Any import servers as Servers # noqa E402 import pefile as PeFile # noqa E402 -from pefile import VDFLoadError, AppNotInstalledError, AppMovedError, PeFileError +from pefile import ( + VDFLoadError, + AppNotInstalledError, + AppMovedError, + PeFileError, +) from pefile import VersionMatch, DayZVersion locale.setlocale(locale.LC_ALL, "") import gi # noqa E402 + gi.require_version("Gtk", "3.0") from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa E402 @@ -725,7 +731,7 @@ def format_metadata(row_sel: str) -> str: "fav_label": config_vals[4], "preferred_client": config_vals[5], "fullscreen": config_vals[6], - "default_steam_path": config_vals[7] + "default_steam_path": config_vals[7], } if row is None: return "" @@ -936,6 +942,7 @@ def call_on_thread( """ Exclusively used for threaded subprocesses """ + def _background(subproc: str, args: str, dialog): def _load() -> None: wait_dialog.destroy() @@ -1011,7 +1018,7 @@ def process_tree_option(choice: RowType) -> None: parse_shell_output, "Querying server", command, - [record] + [record], ) return @@ -1045,9 +1052,8 @@ def thread_new_with_dialog( callback: Callable | None, msg: str, row: RowType | None, - args: list + args: list, ) -> None: - """ Pop a GenericDialog transient to App.treeview and call a function on a thread, with optional callback. @@ -1128,11 +1134,7 @@ def connect_by_ip(enum: RowType, response: str) -> None: return proc thread_new_with_dialog( - _prep, - parse_shell_output, - "Querying IP", - enum, - [response] + _prep, parse_shell_output, "Querying IP", enum, [response] ) return @@ -1144,11 +1146,7 @@ def connect_by_id(enum: RowType, response: str, key: str) -> None: return proc thread_new_with_dialog( - _prep, - parse_shell_output, - "Querying API", - enum, - [key, response] + _prep, parse_shell_output, "Querying API", enum, [key, response] ) return @@ -1161,7 +1159,9 @@ def process_user_input(enum: RowType) -> None: if enum == RowType.CONN_BY_ID: key = query_config("api_key")[0] if len(key) == 0: - spawn_dialog("No Battlemetrics API key is set; see Options", Popup.NOTIFY) + spawn_dialog( + "No Battlemetrics API key is set; see Options", Popup.NOTIFY + ) return user_entry = EntryDialog(prompt, Popup.ENTRY, link_label) @@ -2349,7 +2349,10 @@ class TreeView(Gtk.TreeView): params = Servers.params serv = [] with ThreadPoolExecutor() as executor: - futures = [executor.submit(job, key, APPID_DAYZ, param) for param in params] + futures = [ + executor.submit(job, key, APPID_DAYZ, param) + for param in params + ] wait(futures) for future in futures: res = future.result() @@ -2855,7 +2858,9 @@ class TreeView(Gtk.TreeView): def get_view(self): return self.view - def prepare_connection(self, record: Record) -> subprocess.CompletedProcess | None: + def prepare_connection( + self, record: Record + ) -> subprocess.CompletedProcess | None: """ Always called on a thread with a dialog on the transient parent window """ @@ -2870,7 +2875,9 @@ class TreeView(Gtk.TreeView): steam_path = query_config("default_steam_path")[0] if len(steam_path) < 1: - logger.critical("Config file has no value set for 'default_steam_path'") + logger.critical( + "Config file has no value set for 'default_steam_path'" + ) msg = f"Local Steam installation is not set, possibly malformed config file." spawn_dialog(msg, Popup.NOTIFY) return None @@ -2878,7 +2885,9 @@ class TreeView(Gtk.TreeView): try: pefile_path = PeFile.get_pefile_path(steam_path, prereqs.appid) except AppNotInstalledError: - logger.critical(f"'{prereqs.appid}' not found in user's libraryfolders") + logger.critical( + f"'{prereqs.appid}' not found in user's libraryfolders" + ) msg = ( f"This server is running {build}. " f"You can install {build} by searching for it in " @@ -2887,7 +2896,9 @@ class TreeView(Gtk.TreeView): spawn_dialog(msg, Popup.NOTIFY) return None except AppMovedError: - logger.critical(f"Library folder synch error for '{prereqs.appid}'") + logger.critical( + f"Library folder synch error for '{prereqs.appid}'" + ) msg = ( f"Steam is reporting that {build} is installed at a non-existent location. " f"If you recently installed {build} or moved it to a different drive, " @@ -2915,8 +2926,7 @@ class TreeView(Gtk.TreeView): except Exception: remote_vers = None - if (local_vers is not None and - remote_vers is not None): + if local_vers is not None and remote_vers is not None: match = PeFile.compare_versions(local_vers, remote_vers) match match: @@ -2954,10 +2964,7 @@ class TreeView(Gtk.TreeView): record.gameport = prereqs.gameport addr = record_to_str(record) proc = call_out( - "try_connect", - addr, - str(prereqs.appid), - str(pefile_path) + "try_connect", addr, str(prereqs.appid), str(pefile_path) ) return proc @@ -3034,7 +3041,7 @@ class TreeView(Gtk.TreeView): parse_shell_output, "Querying server", None, - [record] + [record], ) case _: # any other non-server option from the main menu process_tree_option(output) @@ -3388,7 +3395,7 @@ class DetailsDialog(GenericDialog): reg = r"\s(www\.*?)" text = re.sub(reg, " http://" + r"\1", text) reg2 = r"(http.*?)([ ,\r\n]|$)" - text = re.sub(reg2, comp(r"\1")+r"\2", text) + text = re.sub(reg2, comp(r"\1") + r"\2", text) self.description.set_markup(text) self.success = response.success @@ -3753,7 +3760,7 @@ class Options(Gtk.Box): version_rows = [ [LeftLabel("DayZ"), self.dayz_version_label], [LeftLabel("DayZ Experimental"), self.dayz_exp_version_label], - [LeftLabel("DZGUI branch"), self.branch_combo, eb] + [LeftLabel("DZGUI branch"), self.branch_combo, eb], ] api_grid = self._make_grid(api_rows) @@ -4042,14 +4049,18 @@ class Options(Gtk.Box): field[1].get_children()[1].set_sensitive(False) try: - pe_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ) + pe_file_path = PeFile.get_pefile_path( + default_steam_path, APPID_DAYZ + ) vers = PeFile.get_dayz_version(pe_file_path) dayz_version = PeFile.dayz_version_to_str(vers) except Exception: dayz_version = "-" try: - exp_file_path = PeFile.get_pefile_path(default_steam_path, APPID_DAYZ_EXP) + exp_file_path = PeFile.get_pefile_path( + default_steam_path, APPID_DAYZ_EXP + ) vers = PeFile.get_dayz_version(exp_file_path) dayz_exp_version = PeFile.dayz_version_to_str(vers) except Exception: @@ -4568,7 +4579,7 @@ class ModSelectionPanel(Gtk.Box): { "label": "Highlight stale", "tooltip": "Shows locally-installed mods which are not\n" - "used by any server in your Saved Servers", + "used by any server in your Saved Servers", }, ] From 364f0b3482d467a47077f44091e1455cbe342cf6 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:06:39 +0900 Subject: [PATCH 119/221] chore: update dataclass params --- helpers/servers.py | 9 ++++++--- helpers/ui.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/helpers/servers.py b/helpers/servers.py index 565ad0a..f86dae7 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -201,7 +201,7 @@ def query_direct(ip: str, qport: int, TIMEOUT=3.0) -> dict | None: return None -@dataclass +@dataclass(slots=True, frozen=True) class Res: status: int parsed: bool @@ -215,14 +215,14 @@ class Ping: ping: int -@dataclass +@dataclass(slots=True, frozen=True) class Details: data: Union[list, None] description: str success: bool -@dataclass +@dataclass(slots=True, frozen=True) class Prereqs: password: bool gameport: int @@ -231,6 +231,9 @@ class Prereqs: @dataclass(slots=True) +""" +The gameport field is manipulated by the RowType.CONN_BY_IP method +""" class Record: ip: str gameport: int diff --git a/helpers/ui.py b/helpers/ui.py index c16296c..3a1a9de 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -99,7 +99,7 @@ If this issue persists, your API key may be defunct. """ -@dataclass +@dataclass(slots=True) class Record: ip: str gameport: int From 4ddb33cabb2eb0c6dd52204acc68dfbd84f0274f Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:08:06 +0900 Subject: [PATCH 120/221] chore: update checksums --- dzgui.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index a0d14d1..3bf4e0c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,10 +587,10 @@ fetch_helpers_by_sum(){ sums=( ["funcs"]="f1db0e8b1068defdf834e9c9510bf315" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="3610debc3f2931d2aa7c002ae912db88" - ["ui.py"]="567b39cefb08f66f63f77cae5fa0c94f" + ["servers.py"]="f830383f1da7bc424e4e9f882395e357" + ["ui.py"]="3258d5c85ef22517277c213ee2fc9b1d" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["pefile.py"]="cc23ff2725fedb1c64908f77477360b6" + ["pefile.py"]="894450c3d3480f3292ce1ff765c56719" ) local author="aclist" local repo="dztui" From 7b6722288588992f8af5fe4a71692c46cd874536 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:09:28 +0900 Subject: [PATCH 121/221] fix: move docstring --- helpers/servers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helpers/servers.py b/helpers/servers.py index f86dae7..ef26b32 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -231,10 +231,10 @@ class Prereqs: @dataclass(slots=True) -""" -The gameport field is manipulated by the RowType.CONN_BY_IP method -""" class Record: + """ + The gameport field is manipulated by the RowType.CONN_BY_IP method + """ ip: str gameport: int qport: int From 2edb81247bf340f1fc34126ec40faa0e6bb26ec0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:09:59 +0900 Subject: [PATCH 122/221] chore: update checksums --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 3bf4e0c..5d079a1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ sums=( ["funcs"]="f1db0e8b1068defdf834e9c9510bf315" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="f830383f1da7bc424e4e9f882395e357" + ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" ["ui.py"]="3258d5c85ef22517277c213ee2fc9b1d" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="894450c3d3480f3292ce1ff765c56719" @@ -1030,7 +1030,7 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock From 60ce184d8f4e6a3c41bc4b8115615e8a5339dafa Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:10:16 +0900 Subject: [PATCH 123/221] fix: whitespace --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 5d079a1..97ae8d7 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1030,7 +1030,7 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock From b500806815646281c1035d9b7848920c719e4954 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:45:58 +0900 Subject: [PATCH 124/221] chore: drop dependency --- helpers/pefile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/pefile.py b/helpers/pefile.py index b76181d..ab63490 100644 --- a/helpers/pefile.py +++ b/helpers/pefile.py @@ -4,7 +4,6 @@ import typing # noqa from dataclasses import dataclass from enum import Enum -from packaging.version import Version from pathlib import Path from shlex import shlex from typing import BinaryIO, Union From 81c2d19a0963692c8b13b9e2ee9119f759d63c99 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:46:32 +0900 Subject: [PATCH 125/221] chore: update checksums --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 97ae8d7..cb41d17 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -590,7 +590,7 @@ fetch_helpers_by_sum(){ ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" ["ui.py"]="3258d5c85ef22517277c213ee2fc9b1d" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" - ["pefile.py"]="894450c3d3480f3292ce1ff765c56719" + ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) local author="aclist" local repo="dztui" From 47f76226061ac10664df922f758b6b69604b5c43 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:33:59 +0900 Subject: [PATCH 126/221] fix: return codes in manual mode --- helpers/funcs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/funcs b/helpers/funcs index 8033d09..bfde35f 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1084,7 +1084,7 @@ try_connect(){ local gameport=$(<<< $record awk -F: '{print $2}') local qport=$(<<< $record awk -F: '{print $3}') - echo "$binary" > $_cache_binary + [[ $appid -eq $exp ]] && echo "$binary" > $_cache_binary local remote_mods remote_mods=$(a2s $ip $qport rules) @@ -1110,7 +1110,7 @@ try_connect(){ return 1 fi case $auto_install in - "") manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "$appid";; + "") manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "" "$appid";; 1|2) manual_mod_install "$ip" "$gameport" "$diff" "$sanitized_mods" "auto" "$appid" ;; esac else From ad64ba75c9ba5acf784cafbeb5d71011de9ad82e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:34:12 +0900 Subject: [PATCH 127/221] chore: reword failure message --- helpers/ui.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 3a1a9de..ba6f4ea 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2889,9 +2889,10 @@ class TreeView(Gtk.TreeView): f"'{prereqs.appid}' not found in user's libraryfolders" ) msg = ( - f"This server is running {build}. " - f"You can install {build} by searching for it in " - "your Steam library." + f"This server is running {build}. You can install " + f"{build} by searching for it in your Steam library. " + f"If you recently installed {build} or moved it to a different drive, " + "restart Steam to allow these changes to synchronize, then try again." ) spawn_dialog(msg, Popup.NOTIFY) return None From 6425f3d8e3d7d131d19130aa276e9c0a3baae1d6 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:35:12 +0900 Subject: [PATCH 128/221] chore: update checksums --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index cb41d17..18e47f7 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="f1db0e8b1068defdf834e9c9510bf315" + ["funcs"]="a286cc402bfccd39493fe32c53148a95" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="3258d5c85ef22517277c213ee2fc9b1d" + ["ui.py"]="cd9f4b3bc9b1922bb10cbc0c579cf2c0" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) From 9d8bbec03aefe90e3488cde50f425d19538af918 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 12 Sep 2025 18:03:38 +0900 Subject: [PATCH 129/221] chore: update changelog --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1f115d..f7a4ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [6.0.0-beta.5] 2025-09-12 +## Added +- Support DayZ Experimental +- Show additional client information in Options menu +- Warn user of client version mismatches +- Support clickable hyperlinks + +## Fixed +- Mods rarely not appearing in local mod list if download completed too quickly +- Statusbar not updating when clicking a row after spamming keyboard input +- Extraneous logs being generated when subscribing to mods +- Narrow width of columns in modlist dialogs occluding text +- Newline terminators in history file +- Floating point number calculation +- Window resizing too small if no prior resolution was set + ## [6.0.0-beta.5] 2025-08-20 ## Fixed - Servers returning malformed A2S_INFO blocking server browser from loading From 304300597760d48736b31e6dbb1ca9699582420f Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:58:49 +0900 Subject: [PATCH 130/221] chore: drop unused import --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index ba6f4ea..55b3d2e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -29,7 +29,7 @@ from pefile import ( AppMovedError, PeFileError, ) -from pefile import VersionMatch, DayZVersion +from pefile import VersionMatch locale.setlocale(locale.LC_ALL, "") From 054486dfefe2853b3ae17836e8462d4c75c186d1 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:59:28 +0900 Subject: [PATCH 131/221] chore: rename var --- helpers/ui.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 55b3d2e..1b63dfe 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3549,12 +3549,12 @@ class EntryDialog(GenericDialog): self.dialog.set_default_response(Gtk.ResponseType.OK) self.dialog.set_size_request(500, 0) - self.userEntry = Gtk.Entry() - set_surrounding_margins(self.userEntry, 20) - self.userEntry.set_margin_top(0) - self.userEntry.set_size_request(250, 0) - self.userEntry.set_activates_default(True) - self.dialogBox.pack_start(self.userEntry, False, False, 0) + self.user_entry = Gtk.Entry() + set_surrounding_margins(self.user_entry, 20) + self.user_entry.set_margin_top(0) + self.user_entry.set_size_request(250, 0) + self.user_entry.set_activates_default(True) + self.dialogBox.pack_start(self.user_entry, False, False, 0) if link: button = Gtk.Button(label=link) @@ -3565,8 +3565,8 @@ class EntryDialog(GenericDialog): self.ok = self.dialog.action_area.get_children()[1] self.ok.set_sensitive(False) - self.userEntry.connect("insert-text", self._on_text_typed) - self.userEntry.get_property("buffer").connect( + self.user_entry.connect("insert-text", self._on_text_typed) + self.user_entry.get_property("buffer").connect( "deleted-text", self._on_text_deleted ) @@ -3598,7 +3598,7 @@ class EntryDialog(GenericDialog): self.dialog.show_all() response = self.dialog.run() - text = self.userEntry.get_text() + text = self.user_entry.get_text() self.dialog.destroy() if (response == Gtk.ResponseType.OK) and (text != ""): return text From a03971ce7021983611b2db623fdb3d940cf300b9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:59:51 +0900 Subject: [PATCH 132/221] feat: add get_entry() to EntryDialog --- helpers/ui.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index 1b63dfe..3f9879b 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3594,6 +3594,9 @@ class EntryDialog(GenericDialog): label = button.get_label() call_bash_func("Open link", label) + def get_entry(self) -> Gtk.Entry: + return self.user_entry + def get_input(self) -> str | None: self.dialog.show_all() From 8acd359028796e91d24a24437ac67b5288d1ef66 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:00:15 +0900 Subject: [PATCH 133/221] chore: update comments --- helpers/ui.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 3f9879b..dc1f64f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3541,7 +3541,9 @@ class EntryDialog(GenericDialog): super().__init__(text, mode) """ - Returns user input as a string or None + Wraps Gtk.Entry in a dialog and provides basic response handling. + Returns user input as a string or None. + The Entry widget itself can be manipulated via the get_entry() method. """ self.dialog = GenericDialog(text, mode) From adc617730b0104979fe4c7349df5e06f6a09d7fd Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:00:42 +0900 Subject: [PATCH 134/221] fix: change f-string --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index dc1f64f..10ab6b6 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2878,7 +2878,7 @@ class TreeView(Gtk.TreeView): logger.critical( "Config file has no value set for 'default_steam_path'" ) - msg = f"Local Steam installation is not set, possibly malformed config file." + msg = "Local Steam installation is not set, possibly malformed config file." spawn_dialog(msg, Popup.NOTIFY) return None From 17229c1cba17fa4b67925c2202acca2dbd609737 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:01:51 +0900 Subject: [PATCH 135/221] chore: rename get_record_dict() to get_record() --- helpers/ui.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 10ab6b6..80fabc7 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1942,7 +1942,7 @@ class TreeView(Gtk.TreeView): model = self.get_model() it = self.get_current_iter() name = model.get_value(it, 0) - record = self.get_record_dict() + record = self.get_record() DetailsDialog(name, record.ip, record.qport) def show_mods(self) -> None: @@ -2126,7 +2126,7 @@ class TreeView(Gtk.TreeView): self.view == WindowContext.TABLE_API or self.view == WindowContext.TABLE_SERVER ): - record = self.get_record_dict() + record = self.get_record() if not record: grid.statusbar.update_server_meta() return @@ -2276,7 +2276,7 @@ class TreeView(Gtk.TreeView): qport = self.get_value_at_index(8) return f"{addr}:{qport}" - def get_record_dict(self) -> dict | None: + def get_record(self) -> dict | None: select = self.get_selection() sels = select.get_selected_rows() (model, pathlist) = sels @@ -2334,7 +2334,7 @@ class TreeView(Gtk.TreeView): wait_dialog = GenericDialog("Refreshing player count", Popup.WAIT) wait_dialog.show_all() - record = self.get_record_dict() + record = self.get_record() if not record: return data = call_out("get_player_count", record.ip, str(record.qport)) @@ -3034,7 +3034,7 @@ class TreeView(Gtk.TreeView): case WindowContext.TABLE_MODS | WindowContext.TABLE_LOG: self.update_quad_column(cr) case WindowContext.TABLE_SERVER | WindowContext.TABLE_API: - record = self.get_record_dict() + record = self.get_record() if record is None: return thread_new_with_dialog( @@ -3461,7 +3461,7 @@ class ModDialog(GenericDialog): self.run() self.destroy() - record = App.treeview.get_record_dict() + record = App.treeview.get_record() if not record: return data = call_out("show_server_modlist", record.ip, str(record.qport)) From 01c8a5276bc070ef2a6f8cd041d831bfffc69d40 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:02:12 +0900 Subject: [PATCH 136/221] chore: abstract default size params --- helpers/ui.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 80fabc7..1874e7f 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1265,7 +1265,10 @@ class OuterWindow(Gtk.Window): logger.info(f"Restoring window size to {w},{h}") self.set_default_size(w, h) else: - self.set_default_size(1400, 800) + w = 1400 + h = 800 + logger.info(f"Using default window size {w},{h}") + self.set_default_size(w, h) def _on_delete_event( self, window: "OuterWindow", event: Gdk.EventKey From 38203a9530e473b33409b47217ffa22cd6328b48 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:03:35 +0900 Subject: [PATCH 137/221] feat: add read_json(), write_json() --- helpers/ui.py | 106 ++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 56 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 1874e7f..1c8833b 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -658,32 +658,42 @@ def block_signals(state: bool = True) -> None: ) +def read_json(path: str) -> str: + try: + with open(path, "r") as infile: + try: + data = json.load(infile) + except json.decoder.JSONDecodeError as e: + raise e + except OSError as e: + raise e + return data + + +def write_json(data: str, path: str) -> None: + try: + j = json.dumps(data, indent=2) + except Exception as e: + raise e + + try: + with open(path, "w") as outfile: + outfile.write(j) + except OSError as e: + raise e + + def save_res_and_quit(*args) -> None: if App.window.props.is_maximized: Gtk.main_quit() return rect = App.window.get_size() - def write_json(rect): - data = {"res": {"width": rect.width, "height": rect.height}} - j = json.dumps(data, indent=2) - with open(res_path, "w") as outfile: - outfile.write(j) - logger.info(f"Wrote window size to '{res_path}'") - - if os.path.isfile(res_path): - with open(res_path, "r") as infile: - try: - data = json.load(infile) - data["res"]["width"] = rect.width - data["res"]["height"] = rect.height - with open(res_path, "w") as outfile: - outfile.write(json.dumps(data, indent=2)) - except json.decoder.JSONDecodeError: - logger.critical(f"JSON decode error in '{res_path}'") - write_json(rect) - else: - write_json(rect) + data = {"res": {"width": rect.width, "height": rect.height}} + try: + write_json(data, res_path) + except Exception as e: + logger.critical(e) Gtk.main_quit() @@ -1249,15 +1259,11 @@ class OuterWindow(Gtk.Window): self.fullscreen() try: - with open(res_path, "r") as infile: - try: - data = json.load(infile) - valid_json = True - except json.decoder.JSONDecodeError: - logger.critical(f"JSON decode error in '{res_path}'") - valid_json = False - except OSError: + data = read_json(res_path) + valid_json = True + except Exception as e: valid_json = False + logger.critical(e) if valid_json: res = data["res"] @@ -2596,39 +2602,27 @@ class TreeView(Gtk.TreeView): def _on_col_width_changed( self, col: Gtk.TreeViewColumn, width: GObject.ParamSpecInt ) -> None: - def write_json(title, size): - data = {"cols": {title: size}} - j = json.dumps(data, indent=2) - with open(geometry_path, "w") as outfile: - outfile.write(j) - logger.info(f"Wrote initial column widths to '{geometry_path}'") - title = col.get_title() size = col.get_width() - if os.path.isfile(geometry_path): - with open(geometry_path, "r") as infile: - try: - data = json.load(infile) - data["cols"][title] = size - with open(geometry_path, "w") as outfile: - outfile.write(json.dumps(data, indent=2)) - except json.decoder.JSONDecodeError: - logger.critical(f"JSON decode error in '{geometry_path}'") - write_json(title, size) - else: - write_json(title, size) + try: + data = read_json(geometry_path) + data["cols"][title] = size + except Exception as e: + logger.critical(e) + data = {"cols": {title: size}} + + try: + write_json(data, geometry_path) + except Exception as e: + logger.critical(e) def initialize_columns(self) -> None: - if os.path.isfile(geometry_path): - with open(geometry_path, "r") as infile: - try: - data = json.load(infile) - valid_json = True - except json.decoder.JSONDecodeError: - logger.critical(f"JSON decode error in '{geometry_path}'") - valid_json = False - else: + try: + data = read_json(geometry_path) + valid_json = True + except Exception as e: + logger.critical(e) valid_json = False browser_cols = [ From cff7b1c2e9ed874d6b131a249acd916225da9a7c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:04:44 +0900 Subject: [PATCH 138/221] feat: add note saving --- helpers/ui.py | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index 1c8833b..e8c4906 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -51,6 +51,7 @@ APPID_DAYZ_EXP = 1024020 cache: dict[str, int] = {} config_vals: list[str] = [] +notes_cache: dict[str, str] = {} _VERSION: str IS_GAME_MODE: bool @@ -77,6 +78,7 @@ servers_path = f"{cache_path}/{app_name_abbr}.servers" config_path = f"{user_path}/.config/dztui" config_file = f"{config_path}/dztuirc" history_file = f"{state_path}/{app_name_abbr}.history" +notes_file = f"{state_path}/{app_name_abbr}.notes.json" logger = logging.getLogger(__name__) log_file = f"{log_path}/{app_name}_DEBUG.log" @@ -424,6 +426,7 @@ class ContextMenu(EnumWithAttrs): "label": "Copy IP to clipboard", "action": "copy_clipboard", } + ADD_NOTE = {"label": "Add note", "action": "add_note"} SHOW_MODS = {"label": "Show server-side mods", "action": "show_mods"} SHOW_DETAILS = {"label": "Server details", "action": "show_details"} REFRESH_PLAYERS = { @@ -1229,6 +1232,12 @@ class OuterWindow(Gtk.Window): self.grid.right_panel.enable_ping_button(False) self.grid.sel_panel.set_visible(False) + global notes_cache + try: + notes_cache = read_json(notes_file) + except Exception as e: + logger.warning(e) + # convenience to avoid deep calls App.window = self App.grid = self.grid @@ -1821,6 +1830,8 @@ class TreeView(Gtk.TreeView): self.sel_blocked = False self.set_fixed_height_mode(True) + self.set_has_tooltip(True) + self.connect("query-tooltip", self._on_tooltip) self.queue = multiprocessing.Queue() self.current_proc = None @@ -1851,6 +1862,32 @@ class TreeView(Gtk.TreeView): self.connect("key-press-event", self._on_keypress) self.connect("key-release-event", self._on_key_release) + def _on_tooltip( + self, + widget: Gtk.Widget, + x: int, + y: int, + keyboard_mode: bool, + tooltip: Gtk.Tooltip, + ) -> bool: + if self.is_server_context(self.view) is False: + return + coords = widget.convert_widget_to_bin_window_coords(x, y) + path = self.get_path_at_pos(coords.bx, coords.by) + if path is None: + return False + + model = self.get_model() + tree_iter = model.get_iter(path[0]) + ip = model.get_value(tree_iter, 7) + qport = model.get_value(tree_iter, 8) + addr = ip + ":" + str(qport) + if addr not in notes_cache: + return False + tooltip.set_text(notes_cache[addr]) + self.set_tooltip_row(tooltip, path[0]) + return True + def _update_mod_store(self) -> None: (model, pathlist) = self.get_selection().get_selected_rows() for p in reversed(pathlist): @@ -1880,6 +1917,43 @@ class TreeView(Gtk.TreeView): if self.current_proc and self.current_proc.is_alive(): self.current_proc.terminate() + def _delete_note( + self, button: Gtk.Button, user_entry: Gtk.Box, addr: str + ) -> None: + box = button.get_parent() + dialog = box.get_parent() + try: + write_json(notes_cache, notes_file) + del notes_cache[addr] + except Exception as e: + logger.critical(e) + dialog.destroy() + + def add_note(self) -> None: + user_entry = EntryDialog( + "Add a short note/reminder. Limit: 30 chars", Popup.ENTRY, "" + ) + entry = user_entry.get_entry() + entry.set_max_length(30) + + addr = self.get_record_string() + if addr in notes_cache: + entry.set_text(notes_cache[addr]) + button = Gtk.Button(label="Delete note") + button.connect("clicked", self._delete_note, user_entry, addr) + button.set_margin_start(50) + button.set_margin_end(50) + user_entry.dialogBox.pack_end(button, False, False, 0) + + response = user_entry.get_input() + if response is None: + return + notes_cache[addr] = response + try: + write_json(notes_cache, notes_file) + except Exception as e: + logger.critical(e) + def copy_name(self) -> None: self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) record = self.get_name() @@ -2037,6 +2111,7 @@ class TreeView(Gtk.TreeView): ContextMenu.ADD_SERVER, ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, + ContextMenu.ADD_NOTE, ContextMenu.SHOW_MODS, ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, @@ -2044,6 +2119,7 @@ class TreeView(Gtk.TreeView): RowType.SCAN_LAN: [ ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, + ContextMenu.ADD_NOTE, ContextMenu.SHOW_MODS, ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, @@ -2052,6 +2128,7 @@ class TreeView(Gtk.TreeView): ContextMenu.REMOVE_SERVER, ContextMenu.COPY_NAME, ContextMenu.COPY_CLIPBOARD, + ContextMenu.ADD_NOTE, ContextMenu.SHOW_MODS, ContextMenu.SHOW_DETAILS, ContextMenu.REFRESH_PLAYERS, @@ -2060,6 +2137,7 @@ class TreeView(Gtk.TreeView): ContextMenu.ADD_SERVER, ContextMenu.REMOVE_HISTORY, ContextMenu.COPY_NAME, + ContextMenu.ADD_NOTE, ContextMenu.COPY_CLIPBOARD, ContextMenu.SHOW_MODS, ContextMenu.SHOW_DETAILS, @@ -2086,6 +2164,10 @@ class TreeView(Gtk.TreeView): if row == ContextMenu.SHOW_MODS: if not self.has_mods(): item.set_sensitive(False) + if row == ContextMenu.ADD_NOTE: + if self.get_record_string() in notes_cache: + item.set_label("Edit note") + self.menu.show_all() if event.type is Gdk.EventType.KEY_PRESS and event.keyval is Gdk.KEY_l: From 155306b1abdf37b91a674070f3fd52dbe4bd41bf Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:08:36 +0900 Subject: [PATCH 139/221] fix: incorrect version number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7a4ecf..1444e4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [6.0.0-beta.5] 2025-09-12 +## [6.0.0-beta.6] 2025-09-12 ## Added - Support DayZ Experimental - Show additional client information in Options menu From 5bcc4ec76d32b90c16494d910bea561877d25a5b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:37:35 +0900 Subject: [PATCH 140/221] chore: bump version --- CHANGELOG.md | 7 +++++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1444e4d..9adc32f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [6.0.0-beta.7] 2025-09-18 +## Added +- Users can save text notes to describe servers + +## Changed +- State file serialization methods + ## [6.0.0-beta.6] 2025-09-12 ## Added - Support DayZ Experimental diff --git a/dzgui.sh b/dzgui.sh index 18e47f7..33fb0d1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-6 +version=6.0.0.beta-7 #CONSTANTS aid=221100 @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="a286cc402bfccd39493fe32c53148a95" + ["funcs"]="c27a81577c818b4f4d786ada52ad5042" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="cd9f4b3bc9b1922bb10cbc0c579cf2c0" + ["ui.py"]="8d6e52b3e9032acbb84ba6cf137f455a" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index bfde35f..e8f35ef 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.6" +version="6.0.0-beta.7" #CONSTANTS aid=221100 From 936dfe8d02b352db8ec1d6ba120b3a1c161d6705 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 20 Sep 2025 18:16:50 +0900 Subject: [PATCH 141/221] fix: correct date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9adc32f..edff876 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [6.0.0-beta.7] 2025-09-18 +## [6.0.0-beta.7] 2025-09-20 ## Added - Users can save text notes to describe servers From fe40a5e54f69c5121af428bae40f047f865f2a2e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 23 Sep 2025 20:46:12 +0900 Subject: [PATCH 142/221] feat: self_update flag --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/ui.py | 19 +++++++++++++------ 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index edff876..94e5bd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.8] 2025-09-23 +## Added +- Flag to disable branch toggle for distro-packaged releases + ## [6.0.0-beta.7] 2025-09-20 ## Added - Users can save text notes to describe servers diff --git a/dzgui.sh b/dzgui.sh index 33fb0d1..658421f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-7 +version=6.0.0.beta-8 #CONSTANTS aid=221100 @@ -585,10 +585,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="c27a81577c818b4f4d786ada52ad5042" + ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="8d6e52b3e9032acbb84ba6cf137f455a" + ["ui.py"]="aac7ef0f75876da82fba8be2740e22b9" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/ui.py b/helpers/ui.py index e8c4906..3df3aeb 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3758,7 +3758,7 @@ class LeftLabel(Gtk.Label): class Options(Gtk.Box): - def __init__(self): + def __init__(self, self_update=True): super().__init__( orientation=Gtk.Orientation.VERTICAL, margin_start=10, @@ -3835,11 +3835,18 @@ class Options(Gtk.Box): self.branch_combo.append_text("Testing") self.branch_combo.set_active(0) self.branch_combo.connect("changed", self._on_branch_changed) + self.branch_combo.set_sensitive(self_update) - msg = ( - "Stable: only contains stable features. " - "Testing: pre-release beta, contains new features." - ) + if self_update is True: + msg = ( + "Stable: only contains stable features. " + "Testing: pre-release beta, contains new features." + ) + else: + msg = ( + "In-app updates are disabled when installing " + "DZGUI via the system package manager." + ) eb = InfoEventBox(msg) version_rows = [ @@ -4355,7 +4362,7 @@ class Notebook(Gtk.Notebook): self.keys.show_all() self.append_page(self.keys) - self.settings = Options() + self.settings = Options(self_update=True) self.settings.type = RowType.OPTIONS self.settings.show_all() self.append_page(self.settings) From 35f1f180d2b2faba61788331842fa865df433e92 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 23 Sep 2025 20:56:00 +0900 Subject: [PATCH 143/221] chore: bump version --- helpers/funcs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index e8f35ef..dbb6ab2 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.7" +version="6.0.0-beta.8" #CONSTANTS aid=221100 From 796dcd5588a15ed1f65ad03f60e7b7a359486a1c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:07:42 +0900 Subject: [PATCH 144/221] fix: missing param --- helpers/ui.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index 3df3aeb..c4f2d19 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1872,6 +1872,7 @@ class TreeView(Gtk.TreeView): ) -> bool: if self.is_server_context(self.view) is False: return + coords = widget.convert_widget_to_bin_window_coords(x, y) path = self.get_path_at_pos(coords.bx, coords.by) if path is None: @@ -3207,8 +3208,11 @@ class GenericDialog(Gtk.MessageDialog): self.outer.set_margin_end(30) def _on_dialog_delete( - self, response_id: Gtk.ResponseType + self, response_id: Gtk.ResponseType, event: Gdk.Event ) -> Literal[True]: + """ + Prevent manual dialog destruction + """ return True def _return_to_main_menu(self, widget: Gtk.Widget) -> None: From 54e2d2feaa1165b00664dfaa9f737426e8d90599 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:08:04 +0900 Subject: [PATCH 145/221] fix: block tooltips on main menu --- helpers/ui.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers/ui.py b/helpers/ui.py index c4f2d19..df896fe 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1872,6 +1872,8 @@ class TreeView(Gtk.TreeView): ) -> bool: if self.is_server_context(self.view) is False: return + if self.subpage is None: + return coords = widget.convert_widget_to_bin_window_coords(x, y) path = self.get_path_at_pos(coords.bx, coords.by) From 239f806f7e9e0e262ad7f25e45e2aac25eef6635 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:09:39 +0900 Subject: [PATCH 146/221] chore: update changelog --- CHANGELOG.md | 4 ++++ dzgui.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94e5bd3..ac59081 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ## Added - Flag to disable branch toggle for distro-packaged releases +## Fixed +- ESC key destroying wait dialogs while thread is pending +- Tooltip signals being processed on main menu + ## [6.0.0-beta.7] 2025-09-20 ## Added - Users can save text notes to describe servers diff --git a/dzgui.sh b/dzgui.sh index 658421f..e9e671f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="aac7ef0f75876da82fba8be2740e22b9" + ["ui.py"]="840f6f97a27d94606c15b8925bf8dd87" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) From 9a37cebe4780c5ba2f355d2910a6d732724205ad Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 3 Oct 2025 01:20:40 +0900 Subject: [PATCH 147/221] fix: f-string in dialog title --- helpers/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/ui.py b/helpers/ui.py index df896fe..a6a6b42 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3238,7 +3238,7 @@ class LanDialog(Gtk.MessageDialog): buttons=Gtk.ButtonsType.OK_CANCEL, text="Scan LAN servers", secondary_text="Select the query port", - title="{appname}", + title=f"{app_name} - Dialog", modal=True, ) From 9d1ee7e130376233f23809f032e039d4f2c18b98 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 3 Oct 2025 01:22:02 +0900 Subject: [PATCH 148/221] chore: update checksums --- CHANGELOG.md | 3 ++- dzgui.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac59081..4ccd93d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,13 @@ # Changelog -## [6.0.0-beta.8] 2025-09-23 +## [6.0.0-beta.8] XXXX-XX-XX ## Added - Flag to disable branch toggle for distro-packaged releases ## Fixed - ESC key destroying wait dialogs while thread is pending - Tooltip signals being processed on main menu +- Leaky variable name in dialog title ## [6.0.0-beta.7] 2025-09-20 ## Added diff --git a/dzgui.sh b/dzgui.sh index e9e671f..c47cb14 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="840f6f97a27d94606c15b8925bf8dd87" + ["ui.py"]="4fa719725febbeea31473d929a40393b" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) From 89f37ab70d89f417b0d09081396e0eaeda70dc05 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:52:55 +0900 Subject: [PATCH 149/221] fix: use fixed-width property --- CHANGELOG.md | 1 + dzgui.sh | 2 +- helpers/ui.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ccd93d..d0c64a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - ESC key destroying wait dialogs while thread is pending - Tooltip signals being processed on main menu - Leaky variable name in dialog title +- Prevent extraneous signals from propagating when column width is adjusted ## [6.0.0-beta.7] 2025-09-20 ## Added diff --git a/dzgui.sh b/dzgui.sh index c47cb14..2935f8d 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -588,7 +588,7 @@ fetch_helpers_by_sum(){ ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" - ["ui.py"]="4fa719725febbeea31473d929a40393b" + ["ui.py"]="f03879f088ad074f2ce3c92607c30202" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/ui.py b/helpers/ui.py index a6a6b42..8a39862 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -2576,7 +2576,7 @@ class TreeView(Gtk.TreeView): App.right_panel.filters_vbox.set_active_combo(0) App.grid.right_panel.filters_vbox.set_visible(True) for column in self.get_columns(): - column.connect("notify::width", self._on_col_width_changed) + column.connect("notify::fixed-width", self._on_col_width_changed) App.grid.statusbar.update_server_meta() From eeca71fc252ae334469c29b02c08f8a65d541aeb Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:20:10 +0900 Subject: [PATCH 150/221] drop: tutorial images --- images/tutorial/01.png | Bin 34154 -> 0 bytes images/tutorial/02.png | Bin 32750 -> 0 bytes images/tutorial/03.png | Bin 41721 -> 0 bytes images/tutorial/04.png | Bin 623147 -> 0 bytes images/tutorial/05.png | Bin 582334 -> 0 bytes images/tutorial/06.png | Bin 427406 -> 0 bytes images/tutorial/07.png | Bin 228379 -> 0 bytes images/tutorial/08.png | Bin 12071 -> 0 bytes images/tutorial/09.png | Bin 31823 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/tutorial/01.png delete mode 100644 images/tutorial/02.png delete mode 100644 images/tutorial/03.png delete mode 100644 images/tutorial/04.png delete mode 100644 images/tutorial/05.png delete mode 100644 images/tutorial/06.png delete mode 100644 images/tutorial/07.png delete mode 100644 images/tutorial/08.png delete mode 100644 images/tutorial/09.png diff --git a/images/tutorial/01.png b/images/tutorial/01.png deleted file mode 100644 index a8bb742ae1548c2456e4e18c97200154f85a5c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34154 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 diff --git a/images/tutorial/02.png b/images/tutorial/02.png deleted file mode 100644 index 0aaf7954cc1d9b3a8427c9d5273ba2c7e5e2a2c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32750 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
  • 92VKL3-YKxXCyRU?tdv&hP{9DXK3tgG;u)~_ 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

    #W_uC611(-5H(vN&(SKV%II0{tERxbDIN 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

    vkH|F-)M-;YwFRD(hq!8mbX7eUZ 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 diff --git a/images/tutorial/04.png b/images/tutorial/04.png deleted file mode 100644 index 3f257294a1f42d8fcf852e3b527af0368a0dceaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623147 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%0DZVC>n`ER>vOqIfUP4Jj&m;FJ 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ⅈ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 z

    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%0A*`0J!~5+CTj0R)}u3&e8Z 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%0A@(XI}K{orpi-kns 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

    v#7h!XG;22tyUYuPE6{nL?M(<>j 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

    vkyPsmA6{hEE{@Dd&7lm=C_Pf*x2R3+Vp)y*cws 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

    *&=h={ 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�QWOteSOBt=Mi{(>u@g#$ZnT0 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 z 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 SY9~zE%E7D( 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%0DDZuQBh#QH0>4&-oJm}p541! zul?+~bAR)<-}(MSKRbWnV)YqejaR8-7CZGqENcNE37@%f5mk4LX3Qr}o;!E`!rI#G z(7}B(--c#{SnLnn+Muo!BHF!k{oww+7cOp`JbiXPFEH?{?j6B5O$V*wK3^&W=pw2d zA9avvOa4HWrdDA1g-1Cw2_9t`Aj6}5{)F7pMn)jnO*o<7e(h0@9RPhz#xx3alB04h zK1eTIQ|t!ZMq6|)W1a|9vw(56_;E)zV6{?^M%0D+Pb4})fvPuL8eW`+DRb`tC0dv3 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

    L(qj2IlNL z6mI_tT>Tak#ohS$TdU;2f>1O~iQ`S5IzHjFV&ZvA$v%g@WajG258uf(LUgBUmrTJm z0#VR34@J32ZkiBIZ(=C=iN^XwH7C#Pt zW+lqS{vZiDcrk(y>tUgH;UgJsbNTf=D+JTevYOCoF;I2GS6V0hP{P7zYmV4A1@yM| zny8p%`;F@-Vt%m^N9TKhxK1Lw)8Im+ByV-`igu(Zj)FSozRp{rZA%r72gho${1iE1 zxjRH7pAiP+nFjp|7Q$Xb#l)W}wKy%)XO2DX9zE8gd%<<{jCfJ;w{^3m(Eg!lVs~GH zOF>ql3uUNV_d(c8c?$B^o`%1Lnh-X!Kf&W9xx;GMy`UF)s@NGD!nWl}HV4Pr&Zr7t zkO_j!C3fvdTRo~@9bs6)%~68RCnrXs*C%*9U@QD|B~J}`2@l4HQ1UjMboN98!Cw%$ zc&}>2WLF0Sy*zBZA*PsiTkSH-2H&~E({hqBv#jEcUTjHr%7r23*sXt@M7cK{XEK+* zfMHK~jl9JFrldHIkvHcL567NB2zXx{}Nb*@K0R24SD6(iwX!p?(KLe z`c3?o&>1_{O3?MmM<0icj;}9YH~XDjA?kUWJ-zOJ)@b$TWYzi=>G?dy*70+Fc!o#& z(QHP|4iwqH0i@+ZJpr#Hte@w*#(AQ76FCA)B!Ts6oyO|D?>79dD`L-P~#%=CC z=G~=R>YE13DQBk1PcnXSksb(<&GZxs{EpSz7aG~wIt{tzZN}ti8F}*cjOxf|g+dJzq<5VxA&f=Fb(pd0IxEa~Z* z1t&pb1fs4Q6tua#M)@Jf6=cPaowV(Ss>Lb=9*kI{3*`#GMrdFySX!eede?wJ(B1%U6OVRmoN@YE~0kpOJWRvbU)8g#!#YogDtip zzFMb)>B{-L<GwWJ|HSI61AtYqw zWPco_X=SxiM((!0cxd|M?r;pn_mf6L(Zm%UUk^#0YrS;%8{{H)!-%2)o08Bd@#l0# z{m4Hg$69KwpfAt&(3{^|=wD}kUKRT~KWixG8W#PQi-u}-`@(^qFYt&-#K$+yX!`x) z%LSdsZgebV0rvY5v#;;jdp=+|TB(N-@J_kG_#?3X5AWxw568IhH0$8oOG%;F3)R!I zAnQO(3J819o+WedCL+s&moNwqKFGs$t>7+ojswr@d8i|*1=xq40}i@XZNJfI<-R=V z@m9^wNHkIZYRY$m#_jzhB55$1H&t zHHuYGxIuRLx1xkwi_ikQ=W5M+pUW!&KViVHPd`Tu)%gtGir!Y1jlP$Hfj|KxUH6vb zeNya&yPJF4)s^LF%PGz9Lk;yvGbXtS8|w0gf$thVb8Doot~KSA4TsC|%lM5vRSdeh zG<_T+#6Mr>-KTS`;I}Y5lV$|?Gq&0X2YaJB(>or?Ax;G{952Bj%6n^iH zLNwK@aTA)|Au$Du1as)?1b>wq*at6Pymb3oLUw0Sz#?II-cGc<$!3HGnAjzv+hqY~ z=lf!pS*A5`c=wbv07_NrS_;wT%<}yw(uJ)j^XPCD9@6N&Am1_!3G+%f38OSqi)=I| zcmG6xPO4HZ!qT;TDOAVe!tfF}If)%5aFToWnMq zmVM?Q`RXwF=%NpGdsU_e;^9-i>3G^%kr5eLw>PE}*|*08DxaN4bgWzI*tgv9`quAF zd?`T-uWT7InNnQYa2Whv;W^WwK&>gu?nq?_9EJvs*trw?RQ8=P9Y zg+v+tt>z?&PwSmXO1cC{^tPAcK1h!Pw)67x@)t)7^=)l_Yn>`BQwzX?_CWy0zz&2SXh(57or41Y>(4`0gbAoU{xw zR0M}&N-*gSb?)q@^NoMR{uAdjhfB>DSP*Ui1>niwa`*}=DqaOQn55t1E&Y zavTx_I6$&r1S9V%gOBI4J&uv#{q9)7+&-rCQ9rZOk*a`rV~G-w@gJsdmX6fuT@ z6Xrwp)y@|$pqHn;+d{gLt79G4fL(l^D&+FCv1TVdDgeEQ1t9>0zXqOrhEi3X%vRxD z^IA^;!(f%5-;3aMbU#4=yn~=N0 z-&M}~lTLE~yymU7@4FH{Zabfiok=yyh3(bp z`)-Kj%$|k^`*E0J(JcQPf7)kt6@A<{F3F-~?!=M*3|Zvo>v{g7I&r%6XezhJ&pC$o zH){VJ{y_c#XM=`fdy6Tv%5U=}s7o>9ru$#>L^c@?>{$hIjQKBwLWB1&lR^Eja^c&L z&~{0>AAX3Wm#uz`?4Tk4Vj679^!}w*mc?J|(y}hildY6QR!Yi3Xzm7f3r^si=0|R49$7#tD+WlPTEj67?v-F z0cX!!O}Fpq{8G$Y`7l8TZ@IdPVlMq<_GSOPZq6PAySl*u-QO>VLymjQ9`|-=VgOrN zD@#jd-)#x0pf}wq4<~vBq;_+UBayVN-hEefGuE;zi;&}RGe_ARts=lg`h>7s+D>S0 z$FD882kb;J*uaKa&1{0tZ%DVCt(SW|<@i{pu0WgPg)e?NthURO9uwtvycp0$H!~tH zpL^Nkt#y_Z!HXT14n9T>(zl&o`#cp80rQA4ZB9wIE@ZIB_Ml77YR}EOXnMTYFE*vd7xnQVMuTg zki?ocSDm4K`q{W1S!sG&3@Q)gi(A^DM4u>ot#>o<1~#xLfsa4kA7o9lLC+s}AY%fo zXEcr%8#nR@g)8%QK^O5bWDNj%=j%POfK&G}P!uWN0juSm%-0>1mF5MbF=_gFiuK@= zV`UIzFgOo43+z2tV_orCLEJq{M~{$2HD7tJF(?!U7q<}i+IMR!4<|xc6^_qSF$Lw- z0usVGa=96 zb0O~ZZQ|1q+Zxm63;jV3bCI8wGIo?LAuuNLjO)TJDta;Wyru0?T>v;PPAzsL!kLSl zovN&V9{SR5RmlU}k9CYA5*)u*%qW!-;;n7|Aa-~oot^vT*}M|dXbYe-;yX0slQn=% zbE(h02_Xy$KC2Rjd2JtJFpw8Y8QNAfw-q6~1EqOcL1mKKl!uV*p+>+ilt;}cLGaA% zTb7ci(>7pvep}h^5Qp)WZo@Ubi~U5yi08^{r2jgk;K~{v>EBy(0B`(}T>V>4+5ZjU zHgA)|N?Yp+4t)Xeo-Wy}@XX=MVzU*0!1EpSVdgeafUN^Ny1f(#x*3Imj1=Ks=}^gK z@aL3$diOo$iu+i5HBl1_Z{5xWfNyWJOctO(fQEsdQ6u~j2KoILCJVqze>LAiIbQJH zOj&9Mw;{HbZLnD$0KsY|?X`w%or}j=qZ=uYgEz;8BWe~RI_7$Nw*k@Quo-l@*V{|M z+>YDl20Vlbr(oDMV7eT5HJ9c%)LpBX2f{}?*DY{MKC@O-*K|&HyF!6I2=$fyWM(tN_qiX_h`Rv z^|-#)2eLjAV=4v!C^{sRvi%IB4}8xK(3+5EFi4v*&M1qB^X?oGslFpF`w53J*- zmlbnHIJ^?vUYQwSI3Xny85EeO-bKqd@+X3;$*RS9^$^azPjCh)# zW(~bA;f51VBRrtHYkjSW5!@i&`J%FTZtg67+`6`7+x2u-Wz+g@shZag7vpo|{7m8BGY}CgM6`C5uaQO!)x5#-G|m#W z8$2NmJ*A?p5|hK99$n08*%{^K`^sxpWv6rvTS~Ao8q?Id^tbql^nHAV$u7ennIXY$OntV)gQw-c*o7+Vpz=fY5_A9jqx<0XQB2qdEq8uhC|v3 zA(MBuzth~}oDh^p3dU;P==i{8=(w$T&&zhwu~!qSt-L?9e{5WnT~d=Ekn>9C}9+KzxpH6;MqmT;YC_5QL6q}a(Z3~@XCpKber72 zrFi5J9FsdI7QQPRIu zjJ_<)!*0YDRqq0q-a9tSB@$se;r|wCgB8H|&I{<-1PGr5Z#nxX&H%YeA|QdNBE1O4 zeJP9pI^{aU9p1l}v&_l?!8$HAW?w*~B7xSS_O{>F3&ffLKWRs6_EiEx0A2m~>EccDE^CwZlwj3G%_e?+sSdOAZ(6FY*XUE7$C>%OJub@AZgB zFa{;R?7tKq8w;e>(R?FmQEu5-42BZORUCjGL91=tmCfjJojl0SWt6Rztu3o}&in7B zxwTF+U#p|Vx;asGGgbj}i2zD&M$N@!U;t(C|5V`k>h$UgXeM;1wk7?{@4<_iv-fBT zZutS*1~N_cY@!cv75@@Sc@d@a!~{6nLFMPE{I06Xx84K9KxwN6|J^^(dru&1xE`Q3 z8`RBdX>1I@EinU84K%NDHHmIW1a8&M*g&>??YXvfc(6UdWonQGnOwTVm&YyF+p;?& zs<@iG(H+#>yj!oz#@w9u4litdKpftH10bK(_t2+BxxBDwHRO9I|9bpVFxGffg@Aho zpDGR=(gOB{JjI|kA+hju{cIIUqv0V4zOzSu8G>EKU$drUT#Yys5#LAk#18Ag@VKPW z7EdqxjW2`JL94mV(#kD_4e$~GoUTr?P=Mg@241pPUvQbU*bKjqzEj?stn-z7Y_GxY zE4PJsxWIIHGhT+)23tVWmqBc(T!QGj|MY&Vw5Pd@X#B6=UxPCZ za3rE}q_PkD+ZHAEsDlq2MzR}`zksI-UtcC+M^cR`Ox4t){^BgpLa8M=X|rbA-w!%h zMT%_(dt!&YxDmgH%&6L z3U|lVe^5b8egXikt?kSjMfv_c$ZeErV-+bZ)75S9o{gp7Rq{2 zX?Tf6Gyz4HMyqdIt3F)4GdA;l;v47<66n|hL-QC6)MN;(K%egzpb*b}PbvP$`f(hUA zfW$2B+qu>)4Tyi`9xcc#OF#}(Z043WnH4KYEyQ^&{*Sk(A%wqcI|J<=xF!*@< zDj0?;PP4(R-HjieO@AzZ7^WHi)Iox?)q=U{x$GTCU);H}J7H`A0HOaTE@usIXQ8}N z(fTTwvj}%Zzdk^PL3dBMy2^gKx%p>9F2y49zuGdfD*f_Ye%WrDloH*3Jwjcp%8kptYdNU#K8QxUsY%0I(7lOW5ueEb zHn%S>)$Z@LvBBH;I(2UH;50w98*=&w571g4t~$96ItNmFz*7NyvaIUSf|%~@p_@7^ zKur12y@~?LxYPdp&}P45kz$}{)OIH>2Y_=Wm$;Iwru+YhC}Udy*xM@{1rE_v{jOQl zcrlBmpf;xqDgHow&kPiIDm{|Z{;@kk&qTBDd6c-9dQ^1VF)-=vi}l-Kwr^pt?F!nn zmuFT-h+>#m2rxAMdamZEfuXCZeJ8uo+lELgx8=?gMzSZL{2A|vejyVzEZH;oZDn*z zT-Q_#!-q*T!VKt|TCo=2ntPGrF!)78{OfZ|e(f){Pd*W;GcquF0PD4w(J1TPmcxtQ zKh_6LFJps7IEi8!50+(v;3w8_C>U<-8Z{m~!!p)z&>1o1-2v7Z5 zXD>i8kS$rDR68FTw@QQYRkA)-&lsm|`T@!<3!^VCQL|^BJ{s6j0p#1zY<&a88Q@p}DxQ{K35Ku+Z);BZurw)$7Tl z(%eAg)QmOz(2!u@>FU}F7E4&gXE8k4J;dQaR}8T8wa^IQVBm((t@RLh+n6VsTrb!B zXbPTxx46{O0*ci6JlJ(s`_&+b5W;}#Pb1(C08$$*W>4YMjz9Nk1*VqST-CsNq~ix^ zNEdYPi}Xx1nSXn}M}yi}SiU-p4?eyA?|pnT>AqcN%T_ z3QK3WsiojnJklZebR^`|?^)T`eH@V<0U?=rFE4dKkb~(8RE?}7AZ(1wj;i>2dBsHw z&L(KQWdXi)XJ<$0W#f5w1-NaaG4FaW-c0fG+yjEbU&{}>_&k9gFiD-%-QwAjc(*-oYmQE*IvgEm_+xhWb*E=YgP&jST+8b@UHpoWb6v8ShSrXg6A(u?2$y;IUIGF}0Iysu z@3f;j2eo{l3Xr|gwkvNCHmY6)dv-&*)lQY8S1LXYgs=yVKrW}{+g~63l3#(KmRsec zbdLu;@CPf`S%l@4%e}m-Q;+K`kOD~gS!iY~gh?Y>nnR?UwF}{o>y>Z6&b?^C9*wqc zaj!sSEUt$nbUNO76m?Mi)*CH1Hn+y_>f>j7dU`4>>(wqhczy3Ho_6WPFJo~*%b2+O z)-z=J_Mk>|Bi!J$7a5r2r6B2+OXLa`b{*P$u}pg{GmZe_ z+`%qhRAH?t=md`t8C5|It$8Z vmgZThR=k)_aWC+HO*PT<(_XU}W`u1A(gQ9x## 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

    x_v^j&k@L%YZa(E-%6y6;?o0Zw6v6I7xdj zBZKQ{P+Az(6dnM26(wyl{yU>Li0|%WUk0a3Sa;-dIJk_rwg`E1c>&FH>{%Fn&Ydh@ zWq4-l^BiM7jykVeTvB&I`2w=h)r)@{tPL1H+4M@DewFm6masC`EBdA^5OY=nas-83 zVM8#N`hwbxy=NRu0ERNU{vB%L=N@^r*?`$Lc{!5nTg!@DC67Jo3RO0Tr|=sYe{(Gy~|3$AosCHctJd03ocFJV^#e z1=;doJDGzbVf!YPKFvI$g1!D*wB_n@ zGy{uMH8QQx6)r5ZP!LozMXMSJ(&eyizNR*Nz>OSToaXt(gKO386}Vpk?$$$ihgU-x zAMfpCg(RQ1k{fe>>#Ma9bW{#V0VTX{u|V_rOt^bpj(d5D3nw+n$}XyPw4TJJ{wp<| z=^sX!YJmp4sYcceJ0c>jL{-!XL-6Qnnl1_dCKRIk?KJ4Raj#GU6e^5*w#_@B^p0V+ zE7YUhR0+#u(veS5E{;=396o}r_lPZG)tO;vA5 zD~%p1_yCGcw4nF?%aFjqzSC0)(99|&^BH`ysR7WBrPq=T&u&1A{^utbLE^qwt7!eZ zy$%MV;A7atA6I7V`ZarTWj&&;?ZIVSa{P`PlG2W@wQp6G=R5CYlp2xn!|w!dDptQwO; zRphqVyHzreWI{8~Aoha#={`(6f=|w|4PVPQB^C*~WopFGjN;aQj4#l(2J|W8ALQ}F zE_0?-)dS%PmDEXrh1g+(E>5&ddQT)ed4)k}H{0G@q26lK+hq7M>LgT-S~EvT(tn7k zdyqYB3d%2d*OljF&ActQJi|_OuDJ%qsNUD`43S$n%s#MMQl34WtzKm z@{v#{gKjB^5NKC`6pWXi*X|@Ycs)V=y=Cw~cpFb~gCz!R9hclOF>;MA-b?=g*)k#y z&p`h7(FA}E273M(ksUczm?K!HmIW_hMeGFf%)r(4K+>@_XgT#OxozmEsr4F8wGt6T zZb7ix&8V8lEmlS_In1G5S*;kecNKan%ibKe?-xq^2GQq2ULz6ZAUpgZ|0Jjrlqy*? zh%zIw!)oP=n!o0l`n^}bKylBzS2B54>misJb4n0)a%`}`mOmrKeFuPO@P$oTiy}hH zg%Q_M3??lrlIw5y0laf$_@q>dMg-%BG#QB%vu_9>il?u#@9Fp{*M4h4 z8YMH@DRV|AB?)Mb@@JY2Fq(w{pFqWR3J??pBnxu>460dlIand{T8cNt*^jCAGeJlq z>)ptFfHiS8K+mhON(J3h77>K(@+G558oU#bJ#1*GRm`99wVC|UT!9@;C)`^Cz#4g>szj_9H$aR9x$7+u22F&sSjR)OESQTjJm zX!+n7B`(qH9b7RrdpbMDxe)>)XPkHb0?wX0P~K{J=9H0a907^KOol4u3YMhOUrczN zs+E@u&7%ieXv5kAmswpwNLnn01&|eksC^gO(ATk2yf}}-o8nnolWllpaN z3iD2DWVGkTQ;83p8WZL_DJ-yZ?H^41zyVn7&d>{N28z6GFC4QZ(OEWkfHtzwrzq^M zPk`rh2-+M_nq$0djJ=S#4w(itDezrmn}wf=!bqG52x95v2-)w*dl|#8TQCLoW#YF9 z6QMA~o3@1dsy8N|AS`g=L2gn34bv+!zXDBTJyPpYDir?qoiZ;_ zaZpPXh7_ZDQfvhG=MBV4{D4TVFd?weD!YbMSj)Z1=fv;@NrXu@5*!s0t4La4;EUp^ z0v`a`WVRI{63Smnt+=~RoCKeOQ?*d4rVIpxHY-T3I3D88NvOx1>qsvI_J#bJ)Xb=m z%U)G3%uzcVn17%hCSX3m$;>Poa=t)&l@JvU-cgp$OavIxX9^BYM#Bo;%@7Sp*$*2! zpjt9~DnM4V#PDF%(d5Ke-nK@E1{3-ajQKPzMRHw0S9wWccXEoM4G3O$n~4LIj4LDh_Yon+_FJ|%5mo`EXBhyfkwP$Z z#j=&mOIMvF6!Wdkg^HsN%CM=1NVyk++Xf+a*lnq{^Jv-qDJ1~xtzd{fLSGp55e~6K z1}#M5D6Zxdb~;UNYFkLJfK(pUV<&}QN7Dl-8(edjtVVg{`=^z=DV-iilRy%z^`Al~H+yDJh;XMjq%(murLf~l1;X^A zQb-FWEc2u$4+IQt79S{>9;(kFV0tVv_#>QrA495H_Uc_N2eD?;(wsNoo}R~d42S^c z1D(voNZ1jB9x(`Fqm>=R(0CZcn7J^T2-ZQ%;!>4kO3PChN!LvZ5LvTj*QvK0h$*H5 z@akYQaLz09=A@*|?hVAUutdBm&D^LL_G1v`=MawIWQ$2CWYF;GTfiBSz(R^Fq?NDo zI7oA)5vT2_b0$&TKNOnJ1SfuuGc@=S+@E10_V~EHcySA!mcy$=dGVF6J2fShX82D$ zgY&I}q;rUW@j8aQ2G0yD-9FhN#Vf5Gw?02}*Nk8d^R5>$UwAQ#^`p2P+YbdkV41qK z?y-cO&nKTY>TsI_WSU4wA$FP7S?)ke8(&ZSm~HdkJYAi3;|_rbk39n&$B_UBzQ+2j z8MIqgAWRrh5w@u!_-z|vAN69sjiiS_=1$?S7nTSgT2>L|NTCQ zwapO<4d;Y9dw3?JE8kowAFfo!Ya`anh;R-_*JtGT8D4o0mI6S+ut277r7wKSGkQ{Z zceOOtRJeF0$nwq#T`A=?7f)r%V?1z$J3JC00D;Udp3`+d$C$+=IR#6dM2~ zkZy=45(?y6i~Yt-iE|Zjz{%I$bs=rgFA>G(V6ET z9)$CZ{}p!NQ(bu6-B~D2jF9K)^H|h34m+SCSk*4$S0qFF;8g>X3V|2{W-_aiS=Un>b9+6hlE$hV*{BL zv}$pjBG=Uf#t$RV)?F()7@y%dR~sC+ng2Rc4EP$AWKnazC|1hvstu}2eps{^IFM(A zXUL5VDzDaeTJyP1Y8W0@+KJ`swla2hd&q}HGBqYOd|A@46Rcdt@oPTl%ipIpMQ@J= z4FMq_qo+Qaa-ntOGLdC7+WL_y%3Ux4Pr=`{4*ea?_+9j!N#)HFW%jWX*Q(EWGd|zgEIs)WkfCGbyeRbN_DvK7#X@$Mwiq zHj%L+mz4xR?6r+JEHbob)KJ4Xhb^PFd~uC}Od1@ax}XNj7Y$*H`dW$f59>K8dPewG zCjnf_Y^`0^1TquYa|v^FO!A{^-7<}PSW8dx(E*gSzEy~I-jOx?=B*yQOtrLHNPM+9 zGe1SdBU2IieXerh*VC4QcOGBbER|Ht)Ri5(;~MgK`=r}5&o?GF9NAF&Gdsw^#FpDQ z$9?x#;K+7g*OSG;?MKw@q9_ML4|umHGzV_Gav-@nj8Lf#$03YQb8nwOdGjQd>oc`_rggVw zFKF?4%+k~@>F?quQz0!ohP6~uV6eOsaR{URE4cugwHqx`CvVKX!M<{Y41=X3=*NjB zLa{MuTe%tKwj;k;fImu-UvwU~jtMo4KbJV#G9hoGWUuUPQ^W{Y11NNXdN}HZ5TH=) zlsgDRM;g!HcD>_u%v=kmQP(LONffR^B{FD*@?HdEx1P-Ed>fHAg`L(ok5-u%3X>DN zZ>ezlaRU>n2Ru&!yk(H@39mfq8JVAv{+W9SWtWIaTxa|P2z4ICSKhD{%&w8lt|1ok z;Bg#tq5Mo)myQKJrVA0Kfh^OxhuRLi%9<7yBEk(p(phA&Lwz;aUnSux(f3lwqt>GT zgaxNlfP!P8(XyFc zo^^vze;!cFLzq|yUA53#0%*Jqt;qim;HWA$y-8S~9Lg|kZBl^gc2ZFU1w2eyKjEq$2W4alB zyNcqQp)W@-D%l~M-)d=Fnr_LyZ3cc&_ap&0k`(X`hyB{MT!cPBX7F#dWp&vx%sI3g zw%G$|nQAv~5vajcU=M>8bJAcTUpR!w3TJ@KxiK=| z%0U_o6jJnQ`iaxLjReQ=MrchRNHHZZ6zWnR*~ndiVvci&m>Dw#QhN#SWeAm4qExn#~bbsC6U z6@5?v8H8p<8^P&+V>Mc#UELClkohyg%skcQc5(FrDc)OPtTAQqbE*v;#GDAn`T#&z~X5p>E&YPO!yRu{j{AS5#4_|RouD=?M78eTDRg)yx8z+ zp#O9U@@v;o%|*e94jL9=7v6wQ;)fYoO!(FFO}@LhPTsrj7{}(^#+`ZS zOh7y%!Viwf?Ti+?NO|KU`hlYm@>z?6M!doX8@|mkbt-&1G>Hn)A{CQgN#%uV-79wV zicl**lBOr_pivh>Au%K4tVHfhkp5sE6H!uB-uK1A?&QisVvOV@(kJk5VN~GWLylA0KY6L=?8AO4*#+xfOIxFbj;# zAV)d_sTMoHJ!eYH_20V!P-?sK`uq&0vmDe=@;b&ZkFIfOKGv1X0;!j-0{A-t;&aKW zYuAZ2VX>fj8V+k`7HB}p*%sU;r-~yRAOag}?R>O$9h&xnM ztVN=b#!^m!XkkLEl4Y#j%>e@6&{+`SOC{yXO?;sfcYsBqtPCU__$cuq4WxpHfWwa8 zJ;hTU&C|i1*6wd)Fwgy-a;n`ZO%8w$A@KVLY&*XJr1#>j3mvf;3yZuw?2{Dy`o32D7B(J$8SldUP*>9S;#wv*8&;KtTjPi0kU{ zp>c#7|7rk1+N$BlDaLNDo$E4sOO-_g&xo|yAd35wZc;PI z!j34ce)|WI`E+`ig+>r6EcUGRZ>}{gy#Zn{=E7?ia6pDt{3a5fj;h6=yZ^Jcp%&^H zCyvkGo|Z3h?e0RZU#FCn5n$8REAQ&Mvh1)LbqT$LdvdA6rw+hDwb-R?yG|i%KGD6R zp3Fm?@*$;nm~s^xIh9~_D+3;`S0h;h^`D0J@Rlg)rIEBLwSzn4rZKQ=f?BUBAIY}K zUJlAjmlaCUbOF0q45VwJTsl_7)MPzDD^u>6Gwi>igSZBGI@&>9< zU?G01g;cfL*{ist9=ZRO)23yr2L{+t@8lVD@>`A4&0{VvC-YKTe2DO{<_!zs@t|4) z@PuOBMMi+wGW?n@^M%5dV<;nJ9}MsvE)v2tHo?0&yPo(xI$uwAcOt-9e&rW49Md|S zOO+WTaPSCDMRHo6X zNi#cIYi#IMv-Xz;^03fmJJw(aCazwnw>t!5esa?LGS@TT+uRb_pD_}ugYnf7)O$UBqwD@6ps*xDS6!{6 zYUXZE7W7_GPZ#Q<5sDMFYB1_nW|!lgw>d89gpzDnhzo|@gwWFZLeIBe{Z*+dym!dq zgaKek)Sq<8Rw2=jmM0x6T`}rymvytQciscRz3o(SlcwL#?m|?TN~o0-D!94(3Av<4 zO`Tqo1FJ}d6hpJti;tf7adfX+%aaG;;y?ZPASX(A|e zbZH{najsZnA{(@YKysf36~7$`RBBVW{TXLOcH(4`L%>Czou+F}j6oXE-)LKx3)jVN zAFz-V7TTq=5`4k%qI;?g!UBM{fPvO<%6Ulhvv}^!Uae;VMWU%cL;Wf-gn*R^)%ZwjfUP9@}e%fHz+gj+bHaA+k+1vSYW@zK}(Ql_-w zDXVW7e%Q!We}RHdN)b=;b0dn0@_F!a-Ly7_;GkCNuf%QLLlE!pAAE0+_-#-v!yFUf zs;4*jK$8BMYc6$Xf{y7}{(R|}+>&pKdlMy%Xl_ps_&_kFY>wp3dS#&b%mG%$1^`YS zf!cgV>nlP=OXtEsjWBFb`}B%x`PP}E6lR6Iv#pR1dz&KyqpVZmF`V@x))}GHLISC`{;x zATZA)RY5e<{OqOB8zoyEe{40N3?4fZ2w0j8te8x%uz{5l?p-BED)dO(!!$+TbnK5x z*dqW)`v^(OS@0~t37l1>l2fnZ{#zKJ)ItEp)Fov~jZrO)$2ez(&&dx!XvxfZUVGY~ zhI`F(W~$Ca-5cx&u$Z{6UZemk*I6)|+2}3oCPGdOra_U--qKGE4nD72yr4_82YNR7 zg@v5*7PilF_sH1k;_$$jGA8ms`RHKD=GpEEn1l=L7=+urv%b|AoPp$j8Bte6H4O~q z^_XPSb;mHMT(ULpg1IGgz3)MdwKb)EV3gc0|fwuN@;u z^|vR((XwgR6xx_Dkm?D@d8C5~-NvZ>#ZY*~d~0C^5viLa)8A?aT70qwj25^FWH@gOcjb4%R3O)mc?GX0DqfuWaCdn|&QJuJarc8aq z4`j`gg`lvo8Qgk|Js7p_y=i`>RV2lsL>Y?U2oDb?1?f*iYWD52f4#u8H~3`1_h74zer$EO8R$xpf7PBfi~)rp zsSHm~5LjhLrpC#VHc}99Uz3?3$q;7Va+1@RFt~N3keumq9o|>++Y%YHZ9BUtGFu!T zFogb-pHg0D|0tq52a)aP{QtaM1 zE*w5n+RQ<|&6VApZOyA{zoyIhI;Q_!=fIQ? zPwQLzdG*YKbo)6QeFfdv%{H5A4!b@~4#FG{jR-2BXj~9Q5%Z4SEyX~}g!UvM;P|Vl zh9tYS*m&x_Eym9#IT~#%>KMU3Cr}AB>yIS7POC8O-)fGZbE7U2c8;tlm^Y7VRHWpt zg^$+@!w+FU$qAM*JV~?HT06K^!InpZ-Pw-WyG$?;Jai9|pu~fnlAaXNp9+h;j9G5r z&-4pN$;pcDWf2wzkup^JsOr^VEZ+1V;%p2n+^mZyZqYXA1Xr@rALbWP*tBNN_qv zls=i;7X$*Zs&`kj_paPfKTIdX!nZ^xDOw0sQw-1%d@46gHAw~NUTH47Dhv?(VpOxB z00S3FoNc1WLa5<^2TDde{53WoVNGI0G8v#)b&0>|@^L_+JBfkhdWghHtiS-JI2f_Mmx;=gph6@{aQC7a_|S%?8Aj)%cOkE-w)d~oubcs2q%b>7TmAbEvaBrzp3M0v)cWYmj8 z^qJId+#DVg0dLR*o*Az|ArRaP&qCw#D>)=N35{0)G%my?c;i;=DNPggrcom)!rMP0 zW{2I^lj8HJb-44?13v`DvPwMUD+82T;DPd+dNV7#`Cw}@86aFLjBLiVvw*3xdo*X0T#s>P{#(cJ2=`4w0fym%^H0O) ziIvR2!Mj{{XGBKNU?f4iMsgC_qwl1O3xuD-6-GLWFkb)B{Jd2>J2VpA=;{&3JCIee?_<+Gv^|1-Oe2Y5i9yihnR7BpPVhFNkzoIVY> z0?)h}tmVWTdS9Gs@L?T1xE6H=f;P-Q)OBV3agO2ixVzb z#v|qhH%ru``>s>$!|E~_@O|VuPstdoo|hrq3%;+=VcBQ)E9UFT-Dm;#L7n(KChlWT z4szCU)9}7(5o;F(wU^h{J-N8oxLtpM>GrZt^H}N=THH3jJvl;Tm=&{Y6u~@EmAI{ex5A1Mc&j5xK5HY^ ztnqgJILB79ZO(f!P`1T?!3F4+dQ?bhqCs%&USZHx^Io`~uG;?gu4mx32Cz$(PCJA$ zH~CC{ThQ4m14o$tJSjPGWdkuzeVvw?8b;4_*;dGk22G_rcB_TJ@Vs4Tf5bp=#;99a zqgx&xjDerYF-)o;7Z?*cGz*MEvewcv7UhA%=W}LqhmUxWRSKLdiWD;vCFh(I8_RYb zPV0{kZK@0{%@Cu)YGJfICI7@;)wLnZjwEG}rDB}P;a0U!up;)h;ofQC!NQuU!w(0a zz8o|i?taX56JJ5wAdi+&?KD#Sh!DerDFkaGZY9IhC`$xA3ni-{3z4=66A!&bg4b*- zv5_jnmKF)LimDdUWvYyhwlTBHWSo1mJ6kyx%}JGk$a^^JXc2+qst>i3EwpVno35@x z1oREwRoMI9tB|N9*t8k^J){;X5ARsKt+xE8)q(GUG@sT(#LONaJxiyf-vo?oE*US^ z@J*=rU}=$gQ(Y0-A?)@rNN?kD2RzvQY~4{JDQj8amC;J zm8bn+R?NtI!MuXZ2@Wr=%X{(mv?2+aK`k?P`3+HV(^{zs8Ks4@Or+$!=v0_|SCU4m zW%fe#+w={+OR!oSi{M)3w%YGG&kNWA3!|a(3f5Cz$);^?TDzus2$HX0NDF*Jkt(%4 zF)vL@OtGLDPTrJ`A8IIkc23xVOjb;+HeU2JG)VMvxR4B=;()(rlt~K_r)c^b>#oop z_Ucy>P2F{EW`ib>wLpn940MXzgf4Lzpd7#P%;LA?Vo1DMUrKtRKSR0~6mlX$P}jUy zHQ2YR{g`S5Jd`j-sWRzv)}Lg`+zbIjhB1i1v@xR2flL}WLalx&bFT(}g3MB?j6nX3 zMaP2eH9(_TG@8Rt7V6*@Sqfz_i29*z+N%mGWn`qN(|dr$3tk_s#u?vYa5KdL1XlOvr8ec z;9kCoY@+6WO~iKW?Wg}m_M42)ervWl^X^HOn-}i6aog_T3{5cH(oOvH{vrPQhcE`= zKW~ANM~79!ytlTy!JB%as)=nnw2w)AFmua1_J_Ik-D$oJ#VTU5xeng;KD*-DRK=W7 zCMLQ^LB{9(cS0p@-Oz@3gWVOe&1Yj1**h=sir6M%<12{~ZSIpHF|D!> zVgH;VlYQbMnl57=MaNF5VX)oMW+CWwH*fiY3In=@ZY#GUsPiU7j+oo{t9o{!kJ@c& zAe(6y=_)>rk?9OVxvL_8kCnj&7M5>g{TXvx;ahdDO-o^UMdnv7G_7*dTU8n$jvCbu z5-OrP9Wh~vL(8O;DJye5fo=v_8o5M`;FnC9VO`Kwf z)7`Nr6S9wyI4$!)J%<5vcVn7yNC`w&^DaEyc645;bQ%egGPdu!#0A@?5xq*YHZ7#{3V zZG2W-Zhs?NUBUrLe_LphkrhLl_R(Z-nd@ZsSeVV|V%3aZllj8VVEE(`S4ZkTH?R;| z6M>Cwz%9f=5=T}53xT#^1z=z_1@>j+8Ic}0gh|?k?!~u%`WJEFu7IwBT6{Itna`5C zX3ba&cm~5-ZuYHjfBV(z_sll$K$xYNIp|!L$6ZcSi^dV7BPy-yGI$0Y!(0UV<;5%c z>-hPucju~}xi$8HIFXY6&RYS`feh^^4A$xVfQ%DBiJ5HM1EMx|c$l~Wtn0ap&9(N@Y zk*c;B_-IGC+TWJ> zj^W*UvgK0S>q344S;&@!g-@+&eTVW!h4VA>D;T4kjLB|xmrbAab{f|;7MtmIk^U|2 zY3EwOb&p{$TRs;f;$GlzW_WcC1Msc~wQ$?;E_C{km?$KDe3UV6Rk zDR>(2YIh#4*NUrd?Nq09`lGYDp4qn%^LvE6_)h+}F;bW|)3)4C*s+GGlYd2{PyS2s z*!RDbHlvmA@40lvU~%}*f`xz+*_sdw*_wq|kk_;<=F$oa#fD~w!AX;xGZlGwDoQJp z@1&8)Mi_3*UiT)@k@QY!r2FO2Io7hl-P;J<$BNZRj?Xm~=@j zncKP;hkgRtpNywV^u72Y0!~Z&eCflz%LN3xr2=u0u83McXbWL%sP^{T$&xYx2wy*> zD=7ndUlRDrx~29?A3a@f3KdF9cB%qP6=*q%7z#B&-5VjUp<+DMM<(0MHDDvHlrO+% zG@giFgwMXc>uRx&)WVXj1m}yv;`j*jh)%sLHnbbyDbv+nchk}|hUWafw%d(d8El5H zyfDIASx!s$QFW7!GR3)LPm0xg7-;R`C!3z}V4H6>$e>uZ5(~DB>|qhQZ93{fAE2Q2 zdDKL`Qf;St4smLk^!TtuKXJ>Fa?C>OYvv$q+0|O+dMQrI(14IUGbR$#7=%R6b>_vs zHla0ymj3qa>IF~;ra7k5q7As^Q&|9kYvZ?6LtP8=74Abg?pAjZivuuU%DIK5 zpP6o&r(#2`na8GU}b5#nY!?U28EbSG)2~+Wy)ulV=cXVSL9|7e{mU*u|PAm31F67p+`F ze;pl88k<^v+T0(3iPNT^)$*00-SOSiNByp9y<+peUdvItv+4py5T1KABhr(muQ^5U z=sMx2Cq{mC5`?b$cQML~s_UIJ^c?*+z4LCT_`J3so$V{A{YkyOc0D|GVPc9L1ndi^ zVZ-BoMmUs$sG1eESH8VSg4s61Fwf|j3B;B6l0JT%+t(({TEP1Cb%`tR_aa1o{<{d! z%cWXfv+HoFP{{i0s`(rMlxYpoECGob|F(d0vK*)?838>%*F9_!`Lmx z*JFG$7Q4V4;J2$ptL|R=hdI>Twb2FwGrkT1Je^_#!V3spJxr)MN>~FCZD3;MiX2@O zFs7DmYPpHcjD2{KwvN99KKD*N+%k`!{qX}Lb$vggR1;rZx7~7o(;LXbkFV!wv_g=3 znXi)1XXPXD(&wr2P4)iK;EB z@40ZbW18z_41Q5~c(rUL#EGiStqV?mYgw4VY23S6*1P0t7gwETLh0OHSg8;GI1sf} z8{;;UA0#z=r&1`$I@OH?2W!I9sMNj7)2i#jVi~gYiX$2wiu{=)E<3pDfM<%!T!rE^ zLT@Lz7S+hk2sXnZJo(}!7Bt`s7D5F$V({xRbGoT5WcI=oq79`AV8wu|Ro|RC2ntg* zNBEULjK*_w>VUTUhcQ1pn9~7~$9vh^=-5VkA1Af}NH;wYYc37HnZd!|^H-a!k!WdX zPLi3QFCPxBCnu5Li`rv!^KUINg=;HwJy=^ArtcITCHv{@f#dN(Z-AsCTHP1;rV~B| zTc@fIYa1g6x%kek%7~%O%(6-IGp&}G<@d-U* zG|JraA`-W|5*g2A=QE?7PeYTv2a1xl-=eN7KZ6Q;<02z2*Y!+t+Zk-ofge+>6X!oM zEBrULS^JBp!<7nnH~j{<@jkrRoEN^?YU3$nfJpt}Az-)t15;`z`<%w=+jZujFLg!* zNC0-u;=@7mDBLdhcY_oR}36`h`;+x~f8Tf|k2B zZPSSASwQi(-0D0cIT%qz|ELd%)Pl26_Ol+(BThZ?138p~h0;`)#46;^5He+^g%czJ z77*KG*h1Zsg5Z=RQ}@k7EPxsGL75d0WR#!TaiNe~%0g8s&b}hKb&s@=c~=aSh)+YR zxDfZY2r2 zq$I=G1((s59-o!My)fGG4mbhET$l4%4YPv*2Z`t>hkM_s^df*V%K!zm490OIqI)^mA8XViOAy0x#EG2G+Lve)6LT^L)rlttr4^DnmkBnlP zdxI?FZyfT4zm^9UGW5h4ZKSg0Go-bL?u1b)SRj7`e+E^-AdN#I#MKAvHcOr24J&Gf z974#tqd)g0R5c6TFbXJ|(ce)2G3$d46A9ep}(Y9UDdlKn}5DkpwMqq1aceI95W8aNe*(B4k3y{z+vNcwwE^c;pKVW zGLA%xOlXJTR0!WfTlpiMD)9>Za%a9W>;=8Dr@GcxYSY>@ZKV*#0v-YsN{)K`oe8xh zCeR-yB>+86S>kC9Vc^uKy9!JKEF{iCHB>I{9J*ovajo3Df90=6#DJwBH?UgbIYqHT zV#@j#SP@gkXJuhW)lxlC8nu&ngdo;h$lzEoXgkO2@s1Gpq5vb-o?CKRk%F4_NDC3Y z!Zrh3ig6bqH+F{EHTTU&G&`A4ofQkXgp3trPe^*z z^YQJBEiWSMa3nmmlTl~PhDTIg4m*GHbr9ZO)sKCMnYuVwd=cAStVK|RVCM|InnIbp zHY=0m&y>Q=tnd8p=1G9`nCAVcK?z?_RQ%9IaW^HgqmVk+DImG0*y+GgU_o5{G{ zEKBg))xRBRn(h$=i^CMhXw^2e;h?Go&9|`tXh4_0syX1QAE>z3xosk*w(U`h5$WDG z6TBUN$4QCf#o=0y$=Zjq`4IMBKijsUE4-g#qMLWdHnY9yz31`4cEhGlsJ&3kf{Z3i zu|l`e=j>kIO1vWbi1ug9_FK_y=MvFv+ehRktXqg{VvXYdkV`z{Y4JyeEE_m9J43_Y z9ZC-T>hDVwMqdu1>FB{m(;n3x-nCH8bae^O+y@gCcF-0SztjFO4?n5 z09dFL-+^Dn@>ekEb7#{~m_DAArZbSAqsEB40HM~z6nX|Gh5V~7Dqn8#;Q!#3q~2ol z-wc=p7_zJdN$NT%&M5*ZfOtZlAer#4SZb}Izs7u@gi#Shrm28eJP9$2-6KU5jsfZ zN=>_OC4|CfMU#D}jzl|p-Z;+WK(Wk{>Btq zNRF>dI-m!-P1WTpQdd7rO5(()Wtf!Mvra7@R~wOrh%GS%Dox5)0s0T}ZSDp7`?)tI z06)Q$yPb#AR2)a@?xx>83H3E@&M~-~k-js#Z!i#>h^gLE4l+MZ3OFN8T67++LxJ|~ zP}Myn_O`t%X@M-&Kkeqt zLlMz({!KbbijPO{#$WFd<^M>?tm8QWgqlObbzwn+NV8hP=c-)?$#fb2olRFnVsO+` zh&=!kFbnd#PTcDpjm)Fm;K{xL`Gst5w_8H*;K4)$U7&}8j?p)r5D(DvIQfNE16Phc4gtuKE;kGf2 zA=Kj{$Gv3sBe`Mm(+M7rIuDUbubzekri4^x=OOm|TZD>q$}=Ke9HbG7uzh=Pji@(k zp~f4e9@)&99;cw`opdj!=ec7Xarana6;}K4H*dLTEJqCs>C8fy(Ujc6+*`OT1MqcI z0c^$a+i4;Tfu*uX{FTUeLf=~B*p159 zPyp+d>-m9WG0OPkLrBmViqOLGB=l_oUIKnP~k!B*612zpk#bk(48 z$tTfZ-a#FeS)tXZjLYzdIDOJxilq54;%mMUeo4t`H)z!iEk+X zdgT5jbcSM5?iW%9a-FeEgkTm5B4Z&w?*o0#inPeZVk{G<_G8&WofPVwPIN<*ZtkZs@2)`%O(j1R(|C1yR>NDq zR)Q2W5&ym)LD?765iSCpu2=^s3sf>SEaCe(auK|VG<&8ad|pU78& zu(7#&3_pV9&qyYIL8^Trx(DW0?N-Pu(uIU6`g;*lleNYsX2fg^m+!g?cE{nAA0M58 zZ|Tqc?rEb>=&kxSediHSlT(J7D-J>*bhR6AeHeV5R06|4kG3?Wa?DzKst^Kkt8TuD zM*z5lD~}P+E>@J*xCG4h!U(+N@~AJirHfx3eHTyI{Ddkmw@D>zr9+^nDA7>ai0kI% z<6JJ3;`c}F&%;89L10y3C!g{}7mKH4tfHEX6=jqt*V!p_I@reJ#6iqa$hIMSm$$Ir zH1!X#eyE1qy;b1hfYS;N&Yj^|1TXzcqX@qgEsD$fQdekxW@O z5n%YbZPXbIR^f9Vxe#9oigTgN^<*I=Ekq$m;?<_zM}zocc_l^-DK~q?usT7+6elL8 z7=;{B>~J}c9IIn~2vK99NJer-#B3`~R+PDrxwm8Zc!rh;K*}XzD6rI%#6$r^R?MJg zGOBBoCJogw3fkg9yGd4f9A2XEJJyjZE1d$$OT3MQjE#lGBKk z3BC%C8u4CP!AmylScp4|#$aw+D1SzPXNu_)d_!QZdo%+pHWn&N10Dl?CoP*>=Ex729{isrI74wCm{WTdX>8Kl0hdjbaL$(Jfnb83ay<<3C+ z=~XZ~4kXGCQdX{Xz--O?7wuvV#-%}gh#DYCT_SL&#EutT`ucC!LFg4TL4FWuv zzA$s+SPpOm-5UNJRPKQ z)+!dL01V;?_7J8#2l5b#2FROlH3;yC&QKuoSY*}&u!m~$R5mB;SmenraTevHQXzyJzPT& z4m;XwK}a$r4xN+KX7KAj0~|PNOkTFYmjE<*)bKY)UHdnoMg+bd4dLXPlJWcRQm?Eo$~|?!O?+5_#-;chyMhJXSQ_ON2xIpu}^TU41zOLV0WK<}KOa2#YaUY$RKvNJ(t2ix;eRfYdByKN9Dts6*JSPlcvSSV&4 zdo8aBr4x!asE{ANSnX+}SlcSr{;pcQx01T1T&vq>DP;WaJ{X4FmQF=bqxx2=GY2&V zs0+yCjN3Fhkwq7O!PxM@Pplvkp=J+;Y6!>61c5K4si}ZeKmbNvHP0cO7@8Lbs7*tX z&@DReNJ3Cwj4H+uC@2N`!Y~MtPLEdWA{YH za6-6ps=}%31cDTzPzY09%i&)PaDvt)v(%mmSeJ%1{7FD^!Jin%RgE>FjHbKR%|c>k z1@?&83Wr)yLNU%=3WM{jR^-A~+gy3&pzsOxlviK~IY11+J1HumXlcSXlmq?CNtAvt zA_w5%nN&WYg>veVNsyNq=u}v%2qm0FgK6RD4_xfLG{SH55>V;TR%` zA%WT_qX5BY%XgGw?Z6PTlT-YnK&Ge)T$PNW(w2tCLzAxM!it)G78Qu zg@v8inKM|rdeJgD`NYr%EQF!wa5Fu?2i%fN(B|qIV?e7G3Ktbv&)t7!BYa>~utWCu1QGx5W@g*t+wcC$uYUOP zkNL43qwP>H|H@T^b?)O7&Yet4* zl~&xXmpu6qyzh>I?3}AOq?4f_fe-$DsnME3w8>C)u0Bth!OakAw@V*Oc^di*Aw_5j zjL!vP91Q_m&LB;!yyFsl-L_a#9qo{q&+4FdwL5h#)IWz*r$Wub;E`cF)ijPIqX4jY zp|Ar?A@*tfWqsx%b^e!qEd-}o&Z;j?r&UT$ip7+?(A}iMaQgI< zO2JApu@#OP+@!pXNRX}AuI*Ys3j`+~E)Td=nSNW0+SK^rLVYrGt+V;P3QPX(rNFcPK%YPqbZv$o+Hj~ehH zy_MJ|1h)Wq4gVMxI$hF&KdIs?EXf}{q~Ls3?MFxj)~-!;LK5BfHsjn;2(+=R+8Q}- zZUr=#M7XE)sGoCLJhW&kY?LpfdpHZ0#AEdWm$990HZ^p*Q!Qa03)pH z`H*=uSke7SRZ)Ya7Yb9>Ok!`8;yTl4kG}o4^IB}*@F$CSWuhhoI2|V?xt>Yyl)8>)W#uv~ z8H@l|+0q^UEv_-D3MEg{hOVppazHAD-ZE-u)tg@TV$6|YOVqTBvNq2g^@NfpZ!@5r z(BvguZ}r1HP{)12y)=>~j>EeU|1Fs|mpkkWlaf*8iI}QSgV)B_*$^&WnK|&(>-xK6 zn^*co0hCV=ZIjN_P{I74oT9*dd+c@2?I3}R_^oJ{k+2D{N+fF8qV4G6{v`j?t}w?H zZ5wtAI|i+6QG?EPT6-u?+t$UZIX1Dli!wS)O9cz@KOLzpIxDdy&6ig*-v&bW@~l;bArUl&0U= zsI9Gm!UYAhU5#v%r|PMx^G)T<>Q0MHhd-8!-!LpLPf?`{^VJXvLF>9FFzCgo*S%?K zEx%aQ)zJ)kvKy6@Y(MagBC|%777f$Xdq->`x;*t{s`bKko&OKGuBqsJNY;*_dFCoj zpnI3vKA}V-v$eMk!8=|&?(zvgG!nf(Qjx=L9`>a20`rr_GQ6-^J0R+P{OqO=Z zhhQd~)ss>#Ld*n&ndx4$$y-wH#{UB4@4JqXdhN-bUctM{eaH0r`SWNfpcKMPe+WIp z^XB&d5<2Wh)MI-aKTG5&);qTUY7!ANdYVVw7qFIkrix+2zkTga*W1VXQdIf+FvdbH zXHK@N#;rKh)bNe$D%3_6x0)Z>MJ|w3W(z8iHnSv3&PrKQvc+(b65B=yKH{knZxjf! zMy^Zj2#WBM2)#B#+cLB3h{Z zHZYz;#ghQ|C%2=wl~L(4PJFkj|0qmjdH9xQ~HMJ}QB$ z+=o_jN=cB6wxQq;#<~C?SR2!jdpM8-fYq43$KbnM24)jqJc-$JfS`T>KEQd?a_QlN zcP~EtPO$qyw-dg{I#OLX8MBDH}c{nY|jyZPX5iq&W`(vy&rHC2)B_nfSmP7Kev0 zc9F(*+sy2uBNRg4QX!my=;Lfu1de>ZmF~6(R(?yH><$Y_M)0w9Vg0s2%bFjRC3ahO9TL&}U`{>@Y~*eXpZ#K>JRs-; zY8Ez=;1MFYSCuUeWU_(U4{#QFfZlm8jUnWlfqzHg0rzTPhSdLgMr5Yp@kScV;Psa2 zz%G!{=!n5cr0|s|w*U*lxmyLMi=bY`pFabac-jNayi2ZZ^*EvdDgp+Y1BJu>;D+V`)}8eY{*GBOv*R51f`Aa1U&b1w0n16j zTWdpI<2X*#LLy@`1F*-$LdIBBtZ*F?qi}D3g5*jl@|i?q61TJOnzxP2g0mVh5%z45 zDsV@^+C#l~;)yx%{Mo5PHL7Bm60i=V(4Yxp4K+KKTGn9{hx-C5J%@m9QQD0FA+S_S zo<@0eaKH)omUE5aj7S-_kAF^BJl|d2NyRgTs*FO2L}FltqcrdnqPICzvCeTf z@qOZce$W^vt@$E$4}ewI2a@hSjJ_LJBks;h^Ye4=iV|7K=1F;oE1^D5=<`Q_s=vO? ztbK-0iP1>?Qkr6mf0+pEUsPJrHh%VS zWLub;*k*gq#hz_p(6M3s%D+)Kvc)QP7nN=ISaO&ew?U3g)Ks=i_t-n8=Eug_=&hNl z>G-f)J0x9fni;n)4W+k1aKS=NJsY@y&RpXepP*9wo%w-Hg-D)LnW+Wo7J{wLjwm>d zGzDr+Ud&#oW8ENP8|EWQJ`PYNoM5v{+4!nh7yp(5MWxVzly2LgFa_XuYsn5wRE**C zIhsy_GYM~eYQCL|&JxYnuW0uQPyRBRe)@{`O64Q~FKyHBX4D6yUKipzm`^JoD~VID zz5oRaG9rvx47d)FNN^ntr5L4*GWaX3&6PzXWDf~Goug_~;ROCU0B;GoJeU^;NoAH% z#2_-3vG|duRyDzVkSdN_SlRTD>NMztcOGhlL1zGdJd#6*jh=0eJE1akivsh&0} zI)cnaJurt0d7LMTT%bIzH^Z*pXN#=M2(cFr$Qy|6jT z2b^^)=|zv^B?%z6!gZB}w6-0AX(@TFYB->VA2OF_@PndLrzvY`cBSbgBCez&*hf(j zyUozctet)5j3Kn>Jo$l_&Pry~DHnqrFidvzdnmQd1+3u6RpNL-htdBQ!6$P?rr|tl zm2R#Z%DfY#ejSUiDDeDiRc)+qj@xPg_QL4cK6~r{z+;jxAWTA-Po3F+TXv4(4K|55 zP}UI&F+D+N#XaA{Q542MT+SV}O-{-pD;L`Z>?{POhXM1=tm$nyLUo5b-b6ZMw8m9c zuyOFc6+dVw#MmXOuCI$O$cO?`ikdFC*pGL~5#Zm}$x30wHRv(~CzPq#zK|Zi62yYa ztW0vFwa`o~Rj@l+Gyxos6z0THEiUOqOtdLXyBl8puAJ!9@V$Nv%?80ed_E?#MAM7h z^@Z)XOYW_O7hYko)>;Z$h6=X3@(LH$S5E7JAsor3VdSUJ4$d6YXJQI(SGRXmoyd!=RJ)+Xmrsc;}&Zl!qW=(}3rOh`g=@LApF=uqCy z+`^`!+{Su*4#j-;5pfXmgP$uMAbsyGoTbs{xR*|%XPr(oGKtCM;~+y9`ykCdV^eHS zAjud9E=3d6GHS;*b2N1c)cO>GL$*l97%OoouE0mNM^_Q`*LXqFJuj5e8Kw%AQ=Ze~QRoMoUq+6vq8O z107W7Qzk9h7RprE%|(61&g!|+^f6=oC<#|5m!>{=BjJIkg{vn{!$5jcGAmv-6h#dc zpZ?-JPSwoy?PURFb!g%70nkw%%xaJW1hLM&Mw1$7`p zZgGZ;;2}9V^!U5?7TxqQLRb@v4;g~W)nrPPU#v&hA;k6oTNKA{K8i(^NX@q7nHN519rm%7|-z>GN;~G265MiMg-LP$}o|JvnSw3RFF}#*9X7An*E(Nuqwl7N+n6I zbAKAe6P8z`WqvuZjpbH2e!LN%eq5r`GyvI(hz zgT1QQxF*3Z>0ej~C=4tFz!LOo?)r#z%lusn?@p)93hyS9Ap5GTT>jPY*qll>G^|^Q zjUfm52MgCwL#)EiI%ANBkHnJ@M@l6Xvll<{)8CcTD{Q>xGSBGryoVqY?_7|?$C>k* zUZ|OU{H<@jeEm9Ahf^HXjZQt9O7_3E+x!eZtSUDs&)B^08~Q5=a;;WiGcWdXM$MJ$ zx=Ro%n^Y*qsG@Pe#676v>gz|7^tqs(nNV-H?d{vg&p-QYSNf`=GJbA%$iWS=Mbn&X zs8@89Bbl;VZ@MkPgV3Z96bTkWUNWfHs5&dPLhxX<`N_YkzJ9S}6djQmZ8^&d^x_0` zWX*DO6oun5KybGTBe&aQ?dgrU88D!w_ZfDqE@!2ilqOO^-CK-i3_2}GTL@r1bh`=C zlFkGSLqhoy$(fBKR9L+o?P@v>zMUowzRa})__nSr%nXkN=R&X)1kd{IliV!wzB3Ld7@^4jYih0GcU-4$SRjN~Z!&e!&G& z*M!>f+yT8sNT-l+rBF;(X&&=5)Ai7vi4`GLW?vd5fjgT39wH5?-(1ld99EtuN8g>5YNX!VyuM6-UjXm;Z>S%q8NS4 zBTXPO5t1S`F?40vA{G@NB4{8I=Rbx6Z5dn<-+}7eWU+AUo!viVZzDr=48g-}f-OTA z;>^Q+zvh0sxk1@XY~MkvVj}y7-K`w;C<=YULW2)^9Hh7++wHCip6a-7f7m~WXIP2Y zxZO;}WHa$wK>;`Z%OcLR17|z3LW}^U$(Gv#*uEhQ8Z6<8EB7~p{g6<70xw!)PLS(l z?B5Vbf2^aN1hESMx7N7}v4U{|B#rUug8r~j5$O0%-x39Mqk!a7DjdY6LR`Nc0W6`y z+O%+Q!{_8e;{mEt$0E91oK+-LPdz6!sOwf?wKG@)@NkYH$+hm93XYY`$f!gi2jC+} zsn!jsnC5AGJ}DtM8Gw%vpO6Af^zWiV%VPU5Qz?RWbo3Kr$)s>xi}O)K03I}NI=!>V1inq84(4|M#<$9JqOIB3|wD*ncJBo{v|wMF+M8{~MnGJ&Q80wx7B?jD;PU5=z@ z=CoNcCmk!QbD%OS=Awb05ozk4RqU;Al!wRKmD@=cqQ)b;#Mhm~>6R?SU>$wVh`1xe zmvz64i8w###2%fzrV-7yBeikxWH5=#TE{_t43q#=M!z)qVaUEX!IOA#TL6khGv^U^ zhAHXgxDN#jcILVum^)cWsT;slX10C&t#7@2^IaCDq-$5!@d`NHs09Imyt@ zN#}sJ_i|;KmYF^tY^1=s^H9dQC5d9<7*MHDK<_6`@p90+29s zWq_8itlaOOPs|aY9#!0eIn1sML@d2I)BfPwC^>)T+O;3S6m=w4!9(xf+6Z zxui$)h&dRzSG54&h`SdKKADzt-<5?nvJrUD%7ZTQh;jGewszH2ka=5r$9>X!AzU5z zUeR>HiY|Y}6w*0AJ7qGhu|`PFSsqF-ssc37(y{!Dz6txKQ&M98V+GeQt!?|Pd$d}C zdu_=<$pAr2WRKBno3+p}KNM@`jPY8YCJzsn*d6mHuCciaN@N!U^uL4SjaVO)R7PJM z(F942-q_1GT>e*|4i#2bGa?TqiAxBn2$Xwf(_fl6Y@};hb8DRIC-W_6PW%iwWTn{1 z$z&`#John?i_BGX6lZ*p5HS-`@2J*QBnFp6v+K z(Zu7~X;nZDoO|&NO_tuL2MhOA6_`hGBG|#|t?{Z*>of7#L1BJCry`~hqmt9OmZO$R zsF<52*F6CrT)j9i4%7U`$~QzDO)yeE-Zl)e2Rjr%pW{2|2o1c<%B&2oRRizG?D^5| z106+@#u&2?Vz0$@=JO{5m?U^9gTj-*O^iUkWD*D~^7G3%Pr-8-~s+r8BzHD3%V2;E(ypn z_sd_fBMyS$(RhJ_4#`(21dMSpRc5>$C{E(13IoY`y~XmcJVI*15g{hP9HMEohTaqz4=eXHs3~X|>QFf&D}6p}&M3 zGW;eWNClBr|HJ&DXjM{#MKp~d)!K;96f>!s!GMQz342Ex-qAQTO+1l?Xeit}5ou0o zjB%D}$3TQob-vc@hjR?(QxF0K%^B1IrZHy|*t=}mJ%=u#04Yjh*v}&~Vzz#!=m(t( zyDgX{NdSIHWG{@=lx)OGzG->Ib1Gug;)n|7Bw6U>86HqPL$6q=R{LtTHl6k3d4;+f zwQ#*OYJVsp4HhovXvQcf3?Q9m#>A?4CJdPlu8Z~hA#;sNAxjNN?PLU1vx03WGA6hv zGCKsP3=`rPt>BP+%76ylsi`!;Mp?|an3fhYVv{D#reR#!c^nYLf#SVnam0NB0ft`f z&z6EbRZje~G$*7Lr-_{HBiA~td)XYxnt)g_Aac#_xWGd2w}w^rmx|iQRGApPfl6^- zmf9+NRijXjubERbk!_e*XBj{cn8hIt2gPBaV}OZ~(P%P1lvJ6;%u&QWkKX|QAh!c& zSjqRH!mUDE=3f3RKh_uQnAyT@($KPg7PH$dExlE?y)!$+q^PFkja`gMh=@hhC^!Pm zcYf6&te=T4Jq^1*;jIB(24Nht@AQJ~6{|Tfl2X-eLjdmxy%ERM#>M&8_}_#|j8&YP z+0CV8EL7!=oDq3mzI2h`~@YMAh?N;S&F}TTkSV=$HPJ_ve6Tz zTU4FpHcb_`mE9l67ezQdcIflwzkSHh5U67BjK($EQ<;=6nOIy-_P-S{MF1V!8gm;F z58vn&L3d21lrRIC0D>#C>Xw>LU5G9s36C`h2L2aB!MP7IHFHnu+QgGJCCpExYzEo( zZ^I4=-VW1+&j>#Q3~w+q@r=yR@PPViwN!iM8EJ-)GeF(TS16-4Pm{pza@+l+)Y}<| zA6*Aope5T%BJ^5*e0PA_;9i##+=c<^G-o3y(!^)ISJ9J|PuAwocr%eIL$zk&vUx5< z|Ldwl=6wa2htS-z+AkSe5aLlR>Fb7=Y-)3IPVM@5lx(8n#sis5-H;UQ<9 z_%n14STu#_fTaSIWFZs(8^k?hA%oi-14F_Yf(H+e{2)Y|lHe2a$NJ-IF5sVzQ!@i6 zj0B82;~lXYU@Q{3KPs4v4tEaIKOGatL7*~oCQ>%1iePs&lIkS(2H{V6Llzw+|0Kib zZd5X&*gx*i28qtx+nsN#b}L!%CvyYTpn0@`K4svXuM4Ihb$;$_$7(-n)DCb5);L^N z{U7f>0Eot(Tf1R3eZ_pDK98NT{ziok7M&hsb2A_#in8CTn;`?M5NVX~+et(J z@!5_e=tIs4GFUKtBZKqVZ3cy4NMPfQdt&=bn24!(G|;?@)UDhwHjvTl$~>3^4N~OO zVqtQ)7uHt{z7bC`os*Q=iUwoic2Z$8$2TtJTyqlD9#~ygQ=(?90Pk*(a8_2<{uKzxs4b~ zDUBc~vs@a=ObzxiKq_2{i0h0$pxPn(nC8;Y=!Cths_H*gqVYE-Ak`HpVPGMhS%_6= zPMR?bF-!-)G;arXhwOZ7`2k2$pk-kaFqgp|81Il|4-baGUezE>dT4O|W_sG@ax{Yk z@YqYt&1G)hoLZcfL4{puC~$LT`;=Wt8Tc@4y!t_4(mwvNZ@ql=9@%mSgQ`Jwwqe~I zlpSExll*Zs<1DBG2lT9``D?fi!Y$1b>et*E3Ww`B7(`;?$}M$_jSb`Dt%|qvX@WXsKp6$gz7}d>giEI7V$`bixx2 zog3;mDeviuf;R%F%8(Z|`BOAM2$`H@W=&;ovMA(li`rk*bN-6f&c@*j@3LtDuA5(h zcYHr2L86(MlaIcVZ1}bnt-g@aMimKQGu*(Mpq74tRaNr@$#KwAw^!8*i5azOcvKgt zJy3?#b(6{zYfpGrL^hpgP!ziY)KGwyvc_jbt|g=)?oo%xZ4-CcBv}Z@Cyo}95X~8p zke%v#S&VKrCOF4H>NPWt~OZt4b%6dea<$FJ44L_Z7>R#%{toM{?tXb-}IiEq$~x^+GkvW_hpyd{;x8&ppD`xZ#_S>rqWCD8dp8+d_I}c1Z zTWSn@K?e(FF6cuixu!?L+K`vTJd`RW5ODcbCO(_Ibg{kN3CCZynJ1|BStt3RLv{LV zc}8T;QH{7aIqo)1HaQxwDm6)k0k5;pJk4>>?uE6_p9a%Ch7locbPiFI7ZC3()bQ_; zTSj3yEdtXtqJCZ!8AmFaM5Gr(+G$K{9%I8EMTbLgLkR~z#PCtC3UH9W>imFC-5^CC z-_Y?x(h2#&f{HcAeg6x-UK-lK9^`8lIwZ6^a(-d%=&edR2=s%V;yK7%3o5rVI~Z(; zHX*UXC0{EMe+1W+oSCNu+V4X77;86(i3?~s%XNSWvV(IRznyE?hj5if03I3;k8HL}77{u6qyO?J^njP?4YT6?x z6&LyzO0PUtwMSEw zjbb1R*L;odtm%Ze%~RdZ3ecKO9nmO(u!QI5s8Id+mcF&5{tEbM)LVHad3k%^{Dn^wL z^4l!DW;4I98fV(Tw*~HJNGJ!?E=UGp0(Xe8P}&Us>g|d(N%vyKRr$K%s#8BPAEOQI zKuGQ(KZuAl$3Z%<*MwjtRmM}Dl9Yj8Am~0mG#WNL+bapO#=EPU=ZZR0fDv85Qv+_` zxuEWZiGRzDoEF2zHF0RDMo!?;w5xtBZEtSqe9td*}`T?PW|3s40)MNf+dK`5kr z5KmUL4A{iltLL`*$)RP*dqqEp<|~#G?dO*oy_j4VX%97P1V0NZ->g8DtLv(13U`hi zYYkI9S|=s~Ksbh(m8ah2-zU6+&lCo8N0DXVbkvfgmMDa0xVyM75GQ4>ch?AIfvNKL zJGl~*L+H+rph-qD)LZ^JI~zS)2~NF=zFH}+3xi$hKXE;esWKyfCO=yR!A~GJwjFRG z6gy}gvz|fWgLTyzD-#1ex~OJt8H^vAx$YYM%Y;pRRtuF|Qe`|QS6glb@|104LCvYR zvBZTq({N7G7?&j)Z}{FbBAF^=g@7^8U6HYL9_=lLH&lr`8`lzhxH~st5G;@?6SuAf zTpiG<3r;wsX5Ee2pXPxqYMzji6E*%@GMtCX-faIVM%Xh68(ZV!5}%-IUm? z^w)-I3tM^{0v}?uF-a!ydEb_rDRDj`ZyI-r`DE@p+{OrCPgU4}u?@@T(I+|nGunh? zn2}i3Znup(oSgXGZVF3KN4(JT1B4lTRoZ-^2!D2Tf5bDtGjj&=Ud)3;2+ouXy$ewo z7%;La#8tYOkX6b;*Z=Vg*gX3(li?vHOgVohx=^r@_bVIE zQSY}2P7tqxQbA4S{Y`DA`5}~s>tOuNDfqF~v4PdS5nc_$jZ6l;Ny#hAs-PaR?drim zCY22#t*RGNWh4{@BymTYyQrsnP24*)70V+i?OCvi>jHbLp-RcKHFIu|KJL^x3n6Nc zW8HDDs!3rXXqmye3*-dQ3D%lNfPg(ngo7bLarr4dm?~rJ={b|6Jo;Q@@5(hcNTyI5vmJ@1ssyo4l^DT_f_}_ZJLl!B8Ra1 z%7uK^UZk@wUptBCYUfHo*YCIU?2Z4rXt~H0Kt||!MAR)%PQmN=UOu(wuFu{Dytad~ z&ECBE>Z`B5`u?B&={{?!s(MqsiONlHJ2ZH8-XNCdr$wCy^UH_sJEVlWG2YHCXFt*y9=ukUU@M;g5Dy$WMOgyZsAvKL=XpP zS39=Z>Xb!qm->e%l8mwF4baoU)USA`%X^VkH64S?G1I-fXTGLt51v6%;D^d|PicDs zRsEY^UZgfP3WAWSA2inc*2jI8Z#ABBAo8T`2}< zMF~i-*IH&mA{5~d;ij25-cBKggo*MNVH+s)+a+|{JC-L~S-4;xkRFk+2(j;B@34CN zEFt@#WK$PLvvGnL9wk;{lzeOBha~q?%QjL?duVPmkCdoGf%=;@dCFdpE4tbEtT~Ka zPTb<#niJ1KhgfM1HiM0i5o#^fk)?}76sK0QX{a~+}ajBsoHHeys5 zO;>)UhQ^om7}ay>mHV2OuAUrqbU-AzMSRz0O0?n>nNqz*g%*W0k2$$C^~An??52cE zr)x^ywJ3Bp4h~PqMLRp|GE~N@0?JcIP~x~Rlgt*!z5ijgvYbd7(D$lh{$vStMZ`UJ zkXty<8JbmWxKV)KwsPC)F}R1kYZ5^hA&=tS%}1)Vp_oa>@d1}`peL?7rDE`kNUm|6 zjkr0tO|u~zR46vZdKTJQ*jyFl0l36M$jq=lfOB5-b8S2ifpF<3e((huo-6EZV$q=h z!7t@sx}Nj+XHjbT0dDbx_yFF{4-sqk!kGF>n2fupw+V~kp63hmfxAAUa5@fB(ZAF% zqAtVrI7nPR8vVgwtZDHF^ej5H%aKAX)IB{P0o<@_xR@sb))HaI z004jhNkl4M%IL zrb{bwR85&kk?f9*T+Ob>#?7s52x4+ejn3>ZfE&VjT#&buY!>NZus=|=@7Fm$xOq6> z2UMZq?m`SgNEpJ(j}MO7@mxqo%#*0$=2Qh3=CL|e%MEE-S%7V5(0(dAA=i9aI11TY z%e>po%3%%|H9@<&0>j6x3RhmgFZ{?)CZiOlIRr7TMhz=O6h5cQ;94P)x5w^|&-3Bf zV^YV66vfY0imh$Mo5)QA=_u11+h!7-uy8|bR}9~cd>iv|MzBG|Z~10y!F5#Y z$|^oIRkSVZY2yO%jQ!~i`qKV|Dj<7bAexYEXYVB+b$OFWLxis9hE(JS3_@Ug(&(BD zyTC97tKG}WcC|uSCg%R7!G}F`Ws&aA3csxnd$XDpNZd`Xq9h(DY+vC*OxUUQU?Egk zo0hKW!0|XIT!>uM^IxS2P`G@RWS2TA^_}EB0X+oBAlYWlmAKDb9!+Ed0q{0Po1Xm| z@V#XM@9g2)@I`4qGesbp4)DFu zq)flH)y>cg0oiW!?#vik)Ln}qUNB-GJyo&yeapvIsd)#LD>-Hp}sZN~})J~rfH>Z0rGiKzp@4sv+$bJ?oHK|9KUc}tGB8@!DIjl&mR3iTrB%i4=GB%}3I41$f%~#dN z#?_HBFc$nh`9wkIL`F&mBEpL>o~FRKBa6sQoC&t*^z;myQ53!1zshe%ZW8WUu$`%6MRwhqTj^0MYR3NDr5uNQ2#Wz zBseOch&_&hp=6PUk^WrhUI}vryGYslx{|LV1`l)6$Zkk#8Zj6ZT#wdpj4aJZE`{UL zFs_eBJwX|TdH^nTO{XiyTQA5Hx;kn@LnchjX74Oc6{)U{Eyap}wmzpXAjytoN;yX<5E>)&%o1S@5 z1C=FZW)`Z`20y2oQlB}W(G)FaWsXB&=-xn*T*Kd(lhQpnmXs3QN3J05Ro$(A*}Lr2 zYdi<;U4x$%sWO>(DUgs71Yf7hfSpBEK&hL-igl7ARi;D&Smg4TUB_gLFDB9w2CF<$ zL)lNig*1w9eDj+xU%f7rb+8{M5GPE<-5*@DnxFSr!uSeS{R(MNAdY5to@}g=@@0E3 z{LD9pVb)L)fkmw~SXY(S+A?L9W~cTbfi*e|{8}wHNEY8BCO$BC#7!)a9HXLGQV6#2 z5`(hDWZUER_VMwn&wscxooCBv=FNBj5)(Q*VpFI|L-8DN3i>Bb#MkOMKmkQ9%g z?7SC%6+m!WrZo&f;Nn=F+>L@ML)A=zObG}QI=vB$ znmLdS6Z%lDzxIMz3FAS6vy(lGWDrRP3(J~IItt*iX2sOPs4ru*Cz4Y5*b72GtGJ`W19tx*dM7VHnMXokIZ&*AUwPcO#H@b3J!pwWHy#HJ?y}&j*5=*aVghd zJp{#SAT?tALJ;Q92%gi6j_5?L5Y9R_ZW|3}NtLNMQxlp_08K!$zgiK!!6o;i?gf2> z!U43Di8YDskQbLMG}GIl(3MdB=v9c-h-_GySL_0jDWjv7xPGSKzMV0n)W`*Z2obf5G&rNVFid{5t<#;t0V{1B zk|R6hz=$#Y!y#j-b>9?p&7aL!6wKS*fG52M^P?8G&7c9Sv}_N~*9RRv9?_w84UE2z zdVBQ91dn+HUiaU&tW>vcq|U_X_JI1Bg6+}9aq?r{H`<39J@MHe&s6OZ?nq3WjIe$B zC!2`Kw(Tt?bJH`^eBp*spdjse1u2NoqwQbuM$-`t58jHfyl|9W%x}#iH_3go2)2;T3^Gi2!F!H3nH1XQcTR znO=zy`xHI3TBy{Y(lL~^;x-?SI={6frp&~2nBqQES)Vg1jEeHFl&Md%3(MWWOXRmP zb}pKFrJ2%LAj9(ki+)CAdbJ6P|OU@im#H2l$9=k&)loJhb|+b zdEEK$s)lm{P$t6g#d}C1=6Q=!+YZmlLd?M>^XWDoR;YBCw*Kq?m(;5DUM! zS9QN3^-);}P+8>`1r}0g9vxd$#Xk&`h%A&_5gbV)^Fl}@RJu{Gh&`}-xuH36W&=Jk z;vUDB8~CM=^$wdos{E9z>;4;LSh?H|dYyWcJedu6pM^}%Jk3aJZ-~HgDk2gOKGH5zBnu_u+F?vQk zTB1ZF#lILvpI@)vEuF0#*c3>hCxfAE&v7jS)W;gd7or7y|H@W=P!2%Ap2J*v|D zm{G!^;dEEp) z_|#{P@ytUVAnUF~~gkT)jXv=P5OlYD36$ya%-Vccbd{8l?L9g#DYxV(ChP{p`|*Hl2}$G zCv-(V9O+Xz^snY>1#6550`SQZ9ez3%ikaY3Y*7fxpHw8}odcx%bx|xSW3kwh3swdQ za9-59e|GAy?|7RDgIbB8eDyr7pQGou9bx7r95^9_aBsn@JgcV2Wo4GKWAurmU%X#E zjXL(bnRg{5*E%^td2oc$tADq0Yx}%1*GS04U!?#8JDL z$-aV+R@q%il~_fMfzj+w98lJ&tx@$zwh&UQ3T6R(1#~g(>ql^$1@q)L3NgksBEniT zDakoZ^NUY_-ECaD$QJ}xs#(w9Z?{03seW>pl(N#2YUWATx*m^#oj?2gp0Eyr2H31soS5g27MN_};cmk%I`Uw~Rl_c;4nTY!M*% z0anZ262&nE7S<4UgByzm-aAmmq!znK7xx;~1wz7Il8)Ut?p~?YK$$3!B4u_;hK2!j zoB7xQ0L@YIaw^v>;YC)jJ z6V>8V$P3t;7$FFlc%au+p4-Z}FgB|<}- zW7)lDTv^8o|=LgneUSowgg7)q60%i^rEy>rlkvdO>@3x0$h1m=)^K8 zo)fd2i%4t14r0xYp#j4~(hSqhA$LUmcv{uQ@8(ARmamT6*!?hC8vWd#iI}2UtZDc! z{RW(Za1Bcvg(aFWT6wUcWO8^+J|raMtzFlQE66`?SNCUzFrUDMd8OEwd8(cP1*4I3 zwwfC(d`?3$`2V`24t`ZO@Xlh6VtdZcEj1dg+(zz*Yc>Oc(g4^WGwgeGCm~hY;)DTB ze@a+s#?oX!c-X3Hu2_uXH6=nb$N0kaQNZ!dOTHs&hQe)OrOf}|UNOf7@ZqQp!=FIR zW|ONlCKG~$7-i>JX_G%gw>s53rO!Vb1xypK;;fE2RGtd#`7_p^^&VO8*V@Dw?uwny zs_E#KOKtEYQ@F$7B#?WFY97|cnquPI(AU4#Nm?30eD)-3tEZ*2)`FJWvE5ZBDW)&R zsqiaTp=~patzCaEwbM$)VLxYRT9#fj+)lRmuF3By&KWs%)I5THMho}=BPEe4b1AV$ z$1lN;b|R5qB9R||D%FB0tK%SdN{L6bVm$&N0kmz&SizmDf-^Q+p%SKFV>@ z24vo%>#!HrH|HYsFMik9dAILxjCyU*$+Fg{!8bzeqZ{M{+@J70(SE)hx3O|2rn14H zlO=-|`xe=49HA)tDT>>cNWHa9-YU+PSZ%xcL9Vz)^Tq=8E%z64CLD?7@xFy`Z z#cc{6e0yLm1w51hld*MXeDI!xOH30AAii{`vK$C&|Bq0+@AFKq@$8Z4Kz#81b25Gv zb?lT-0fI}&7C53QOyWFDE2#$E^?;2l$?+_0wfD_o!+_+ig{|MxP)k4~zq7Gt8F!@Z zqXq*Rg~K6DjX(UXlQS6w3@vZv9Q$<J(94qN30g9a$%bHu*LaPtYGxRv1HOjF6JUB zvss??!W^K%s9~?FYV17E2LniWWJ*nJVKTKK>?SR6gb2kAVfM4z%6yL-slM?+GAP z#H*Amm=G7-csGc6TWzTGCvdOj7S%fSCcqEQ-}$BIn6cRvI44v}kj1z!c^srG3{J<} zy=m7t8XbdJl7!Iu?4sSR5Hze-Qo+o=@o_y4GN`7(u}oQtU8~$Q%Sy&7X1eFLQ3k)Y z!qZESo?ornxO48B%-z8lBvv2KwBA?LznKlZ?$P%3Wvk-AyolNdq=L}o5UL@`I`Am6 zdAd)-*%b$*-jY$}{-*CsPNiY#3W%z08~SnMmF@BIt1rHYgCO@w8K23h`Ts-NVSj4E zsiYL7x|sGsN|9+Pd1>fOJ48{fCZDQNcoSQ88MFL=!7fR&S()SBtM#EVgaZSkF~pPF zy-e!Sgzqo+tlfdM+h$8SibP>m6JNE<-Vrwhxx$knjsZSVy-hY|=*+r}R5Uf9Y21Y( zmAo6zs0Mcq$KBu=;F1Oue!qRpEopQX6xh8<$VOVf4sQr}d!e&;)JXlCbGZd2*@N>;V{ZaabTk1U3 z-&GB6am~d)r<$WK8?AeeWRWI$#QjK>AI1~lF&3{Kp4#Qy(CK-Yn}yvoO8*iJ$&%IhRTU4d`(CG5u|PH5R}NoAiNzRSHqjxxr!)UH2}EnpmX*r1hCqeg3~!?(g2C`behS8LXdj^|4X8az`*3WgtztijiFo${Sgy2O&=$BQic=O9WZw3I#TUkmRq%wD&r5cwNoY(VuV!ZR?sa4 z=+5R1S6)RxUk~UUKnGO1TX7lBg15yQK3xe?q=7SB_l^Qr^cMA&6CMy*N>`Y-pqS`3 z3k6!{i7JH%8Y&Q=m7NY=TzsW#x^U2hK>%~K11vwkJrQbhgs>3K0}(Q`j&ao|fX-6P zLWEeRG-?A|983ps_e71r*u{Y_EZ&h#Jb09&CW{}j&kTW;E2w)#z5iIBMwx>) z;LO2$zA+uu_2^Kb%EAvQB-9Kts!ujW_njY%oC@HFpzT<43B@OX+7rYJurKV`1q4Q_Y3cT_zk4iASK|j5=Wo(8i!d+P+{6r zoX?o)4OPiiV#8 zSC7LbNC<~!30n}M*lM`$0-@c>WC<%+IK~1~kVP{krc=X}2G5(lgXy?3N0;XDdDX6Z z`wp(AZC6t@10K_1GObtdoWEa~(D9vT zc|m*$!0|ILAVU~{1LbzE|4NSga?}syi?O0Ia*ZHKE?tXkusBCiHW`os-w($xn{CPf zeP!PSH?q4oi)jh{r? zrFe9d$-f=J=rJ5ccY|G!K-QMK1xz~H`owr{iQ}W=gjof9CuO45Bxc(pdxGd~I{LJ>>RT71L;~p6F zZf3+~Zzc0A+#uvRh7j1=AB7;$mFpPh&fnf`K>fKU#rn>|D-D&N8(W)q1Mcw!>R)FM za~_4}k*=n9?gyYnY0kh3uEVc2box7UTxurLa4|C(-k+m+D%d^qXPVw1c9^MshV=?I zK*!iZUi|l87j!H({W8hIOF;C~vT;}Y0^m(}iu&n9U*P!io=zP&;g%x;qr!nkcC6}2 zQ_1nM^u)ux%AR-d1Hy;0-~(t_J-1hP!P$ATq|MwfEkF!Qwi_{hcmcBdI9rR$7;MrkNm%U44>qRz$V_n3eD=wB?IaJOQgs zs|H`e9tdN^-2bgr8DQBNGW!FZFr!|Zg|jAXZgy+U8~2<6R77Mm*|v6YhnMG97&SMh zFgP(c(GE&&+xQ{V2(%|^&#Zlj(8pFwe}z^|eDbhNhdaVRWVGZfU()#r2V0Z>`uex( zn)QQJ2fmyK56*6Ui@W-=klOLDA}hv{Ghqk6D{lXfWlwy2S?+@H-H@X_t9Hc%*LlH4 zmTj7l6KO8ntk={BkMOcseZ-s=&(y2{w(7VyD=ZOZfKZ|56s6);ENrWtnilR)^tKs7 z8Fd#JDnNVMH zHd<>9161Rwaef!(OEjqwnE2;O3o&DXC6hlm2^;1t1&6;GlyDhxVN>)lMo2Gqe@aai zOKF;ffG8EnB*);~n{A74NfbZhqrlh{0w=gSn_0%`>hCJ}zF`_+s50UEO<#>*JMs+oh zpM$I+W`K$9;CpI2emNDjnO7UitWJHTPKj#|k-8c{Kc_0LJzo68Pyb?g)4bS_q*#75tOTG*NF%eObn zKm}$llXoth(T>6KNNu#JL`>zD20J#MCVCx>QSU@U)sCt#i<57OJ;Fzoc!qpEYNF%5%W&hU|=VzDbV0jtHC+ z5w_I2n8*tv!=n!C>6{IFRT1dGF9by_k8(yh?!KgM{u9w;90ckgzl1 zB0EfyM1}?uwSl+$ta2U-d2xeDfZ)@wgT+xK#aAU-PLMGFQYKT8ihfFzZw0{~?O4q{ zGbVYkkHpyTV96Cf1WQf~RQ(R=@M;{(1H`;5Rc66@uBNQNf31*>FR1x*Ytq!xK z5N^96Le0eSeSyid#6mxiD&`P^x%xoID7J;c-a5;kEC>htAaOc5H=TjwPO?Z5i*K(7 zVn_5EJ^KhRU#tY8eP!FIR~8W130KCwx(&9;c!N^A1<{(Nj|h-Dmo=t_5QC4`HW-dS zVYbP1!Lc!LWTVMuF_Y%LoJ7zjRC|E$@l{aL=oLTyFMFCV#xlZR$KC(>0$@?Ua2C=@ zFYY2!qHg#~tV@cB4h0=?Ne_sMX$Y9dBZqq2L{St&UytJ@P1s2_sI6flGCEUumb$15Cqdp=@MCf2y^U-`d_>}e? zP9fFG{>kqpwv(~m+};OgrMrk^fKT#pj}XS_g0WEI8Ig%==37B25to<30sVzo;!*Q_xa_ye#T=y=+F)uicqfO;@a!75ecOE+q41oLq zcr^zd=PfF7LY-@f1=EbrQx6Q_`5F*wcWo9^pNnMdeWwFCrry_rcG19K0sqjo?5Q%t zJxYP}nfJEUvu|(-ESDu+0)5p?gxVHKcLzwq6Hv4WE?<{@rKv$l+MYWWn{5LJM3M{OdPMCrRUx+q ziD#ipLOly8b?9T*@B9{wlohv40JWHj+J{@0g;sh;J1#1ToV^Q%2zfgzFzp|SR` z(3$EEqYPDvb`EW`L#)u@J3uktUlUkx{^6JrhK>9Re?5Cs4jd?f#35q@(=9(M6snA$ zsP!PKxxK@}piCA5YB3K$nlM(tZyn!JVfaAVv|VeO3!7JPfKEOybe=FMbgEj=5Di%+ zI08)*Oo9rSNVzm&E^}WpB})vxieS2b(4b|)0;yX>%@>0pdy|s1S``U#+zzk;(1`VqZb@j}gtxNx(b}moCj52?Uyg`KTf0fTvlp zxDLs-1Ni2~gR)oEu#@48mAvBM8Dt($YWGy1k~oJDFkOP0%w`tK4H(OL$l1PNvt$zP zd%8CuM!trrI;=kPL-0U#VBCWN22>tjMeXeAg+|Ap21Ab#Bksh#=9n9H1NT6Yz+bc2 z5@7}Yr3LrDGbk_grOT+I-|mVT7X)$v)>sN2oL+(5gX=Qd?`b^X0l_LI3xDyRi*nfL z4*aB|N6d+dY9vx$h^%O&C*a1BgBk9_lS2mSi2CsTa62s2sQ5BFG+=?;HUzIXw9ESr zU|W5V_pdf1ak7T)ZY##ciFhJb83=~7i81quFF8|K7*T*2XI&x?QMJvJ2aLYiU+PkU zA`IV=^RKUeTdy>Jfz`_Q&fD}QEbqFsXP^R~jI`N3m@%|Q+F}onIhG>@?J;>3>Huc< zCQK|rs#bAO0Hw3Ec33E&(L7SlsDkrEy)BBf}2{A`(p|MdCFu;*R)4the~7i_J~UnhMAnUqtg@iNT61ReYU#(pxSO zg)rJpeKSWkfID7kaqb*O`;r}fnW$_;Xv--gFbC|X7wit9{qQygVCC)^1;#8j1ZN;L zM2Np_5$?@}$*4-=u+0J*|CN`hrPY_T~-h3qr7qEA8~gPKJDM;?NJxinsK+`fTjca zF7tfppOxP3uWce(P0scV>>h~9+|dqJ@mygK$zXjdv?_XGxFVcQa6Ze@ z=6B|VkdFf2W-H-foH6y(u?uq6J#$CX2h4pXt94N^Fp{3V5eP<}SIt&G#)oGQc0Tl3%g5us-o1)05m9^i=<(IJ9`)sRyUCvLn;U$59ah-cp?*YYC1<0eJ!>VC4JaeYik7E z7C|8l5MP*TctQ&TXzX`4htZs{n&+e^kjw?mxAvz@Tm4MYVjU~GHHktW4^U|87{Wyn z$>Sh%NFD_8{JRKP8f{CB{DeFXGK>~0R%CGyvH}|*ogK5x%in{`6QtqcJ>@?kX7;Hy z?9GHsO$X4Or&SOEPc=`@fsD@WA2y4BRJT7ybTfz7@vpRq2)?o*bl&KB2%0;#Ga^Dy zE-xQBsnNQPS@r&d_HcjW;e+kHZ@+zb{djxf83!>)lSqo%_q>E789WAgd+FY>BKPg& z%$>xBuu(|>p@QxZ-1twDX3$&zn`z7R<9)n{fr@0orEtW5`uapG*o8+O}|=~y(Mzf5OPv{6IiB!3MP{%@^s{TYB=_i zVw7wpB8tCOv7@IKVy|TTrr7(DZ=D<>BC<(1|4vVcbL2)t9pVeC$$PJSp_cq8$Ype< zhAoou0h}NPz>dokrW@aCWMl^EJZca;HnIy6*`#&PeR%$i7vi_*FYqfKugE0@!$Ri? zD9j2C^BgcScW*3vE0!Hg=RXHnMjgD$gn~U;*)JAQVD?}?oHCrp3c2c8pH!G2(wW?e zS#dBI=BW}XzLa|FPm=;cK_l&ipU_;Ey{cobB6HpA3m?&g*XE)@8)Lq;NnjS|1GIFXp?!Wb@Hc=Z z_dc{EMP~?7VjSP=9@uxUWZP84-hLUAFbMs^UVZEBiw_<#BT7;00L~hQDDu>bI(PmE z;i)@OGTd0SK>^TO3w)G$x~Qat6@wD#bYY1*9RxdWC3QPL;#dc{QFZRGt$LiyrB)V> z28@B_Gam&HD4ZSYFBy;6x!w$cY0`kr7(y3u=OIy&VzD|kO(etMlV4tzwctoQ$Y{#+ zpcf)0x35&TY6fSOc>aFF6VK7TjN=fdD4D`fI!n3?-`OCNI z6TshKjI#R>oCx+Qkl`}!ULLZP0_Tr1q@zpuQz&f|B)o;RX2MUsyw)Ble~7=AD2_AF z>`-8$|5cAEG$C!$q9~H#j#u$Cb3V+}ZS=Jay1A46)Q6v3)oQ%KTbF^P z;ITVH!lZEG03QcATr>wr>DGtHVXPeqEO0CipdjYW@vxQQ?=@_Y+A+e;XW+QR4Uv^|8aD})hhawJ1eX1OTKaRggaD$ zZvrv73ycS%Mcvg9WM43zYVAYeH=1idk(9I4P>wH~h&!mH8Koy#1cbYwcFUds%1LHJ z-HJSjJqgDnV;+X`8pb2BX7X}E4W!#-Jfajl83RgPinx0)0O*f8F)eYi=vnI+0192r z57H@=PT*R^UW?r#jsiSkn*!JG-Pq%L>K<<>-|@kMfG)g4_A^mrY^C+SHaf5zEtk@S zTm{5Q<`3#b?3r1{>KS}RhwN~yK}~VCrWvx`l~>R*C*yUmV4*IX=4U7efJdE7k|$9D zv~;kXv@KD2)~0xlr0|fE?Zi-&l+AGFYeCGiKS7e5+l;$ABcMkHAypISO#l=$1gN#S zioF}_1BUDY%E}Z06Zr6a@I$t2+;}V+7^@&?t@P5oa985-7x*mqsXGh^xQVzk-S7Ei zSm&$KwhssxECks?W`l*WaPPInfPl*e&p4FFt+eiGm?-lZ=V;|t`_RVOF|b>c)8Fs| zb&vT$Blu#`TeskYAA~h_Ouc4DWNulZ+3X%=AB6a%4jq3JuR5AdPYUBTz7!Mv(W&-> zsm~_!I7m-QDN`Ta%Og{hmzg_a+qzrKJOC#g7`chW+5uz&0sm5LPKR8fs72DA5O0D% z2+Tyen}s_>L}c5x6`qy}G-FDPI8b-vy1?I_lVg}hlT%~IEye^y*88fFd6d~WtE!N3 zo1X93X9ni|6=^j2i|t5o^ALHNAt=a23oBpmB;N#3yCjNtq5;@1ZHTJghv`i57ElB8f^Xu}q2TmJvb&;eM5+&9(<6rWV#^+& zv*fDQfAawrcARH|m}NlA1pzq3T|ECM=SV=<#UUZwh3Y3BVoxJ9ZJCmZA0`CY@Ixk| zq;W*1V?#g+97#?SsU&RU&B9TWTbdx&mxe@OZ8cI-p(FKbr#`uDml0|krykjXtch7N zub1btwgeAoXo-P*ZV3o9xX{fkW}hU}%VAj^?9qj)3{q3j0g8#oATLFoxv>%nF0tXR zcWH4CuDJ%Yar!%c1<6&>w@4;2N=QY5^ z`3)yb8!dPODQ3idKNZdgc0UoWKG1MTGonyN{;VpoqIoFYoG1yxgw&%lL}OV#?6Of; zre1gIHe+zRl?WYy<~=KI>#D&v<)>|W+PXry(7+Q451L-}c3EpqZhXeYssJQRt7SND z>Pmm9)LB7(D68l;H&O>7fV*G=5cDTeJBBwJBHe%C`kPk-X=Qk+NwJ# zU9?%AIO`;kUzK?bdX@_jiG~FtB6nRe_0S0#H#_dJ6wAbb;iYCk4Tiw%=8467ginrA zW!w~T++lc}kt&mVCx4V~8X?C%@UrfTl;siHl}r=?+zbI;{{_$gAA5iLwApp!2V$A` zd8*!eYu{IFRfU}dL4sR1n z;cSn8(q)37w36j`B5U3SZsJ-6(x#*qujM!RoU;qpMRJm&PB(1?K) zy%I$G-foGKr_nW1+G1aI{=*(3%Rnl3)m9Wr45+>D$yU(nL!cj`PcH=Vkn$w!h#FF5 zG;Pkc7!#LVh!Dv#qPZ)T(p+;qET+oDj68qFWY<`-SgK6oXh21r84MnLOqB^;AWE*k zmXiPhwpVZ-@PSfgIF*yS5QD<@roQ2eQ?1~X1{1qrv`v8?rO7Zoj7h6C@rIMq0dR5A zKu6IF10iSJYn&1%^}~vf@h&VAY`ua2wUwnK<5@b!L6m2uiKWx{ z(p5{RVWdBdlS~>FK&?usq9$fh7NdzDTMavPxY_kJ5>$pl2)7q$RX*xNDi1{IGco1q zb{glL{28;D;Ua`BajmN6XF=doa~QO0CsmcQJR)c|c@;-a_@Qs;m`H=xKmN+LC%sA_ z2x?H=fsGh55*MK`)&#VNptQiOf=Npy9%1RE@8Lrd(kE2tQmTv+p^++MGe|+Xi6)~W zaswa>3J~WLwLRpiGPb7zq{>LrR0O9mAi)7leJHF?IcAadKz?Yo7^d}8U*Hr|WyFR9 zL$8rJc^uTKGT_2V5ddYYvA$aUE;b{gsWP|#1`Tmam0@yPm(mST#bhLjn#!m7pj-i7 zv;qgo6AA;NMWK`)Qz2*!*y9x$DFi9cxvB?-?<2R|Me#-feui#mKd<0oQK%d=l#gnO z-PBX0l_Chm4G8E3>oehsRP%u(p5zneJ*)vDLz+|H_n0N)px#6%&SuE~b{!@TPNdp4 z8QfFhq&7(`J0&z0(%@{w5-Ytbuq-iErdm`AvShirsGPwPm_2}0nW#}f-?>Es0OIAw zR2i}9wy2rVLZzUu(HmPbu!Fs|U=2Z*v|*?yQEwvMQWppf187XARMiE6E<{WaCf3aU ziIExrP}HIYSxYc5Zo^U+0>VSk)02z7kpoeK(4watJPRyh!O45iGD-wT=7Q zL)a$eMpyiX@fkks>Ps{Vg%|iBYv7~mDrb6PeQB5KJ87L*mYcJOIyl_X4m`VgP1+yXbmZf(s2kn`Z;_v)V_Gc{i7^Sg%EPaAFgVl z+#GQqS)8gKwP{cCAL^h(OFqQn)Uk*=uH}k(eP$RyV+LIoyP!0&CtBUq7bP!F1q$OJ z^N2e>pq9IEz;1aF;~y3W#TwMWUl1 z;$Ad2W(|XYax6Ct3-^KDVrmdvJ%45W&@G8F;!IZ;Jv#7+j>NZvM85<^7YJLl(+QKr zMXz(VgOt>55n0~1Z@ObAHK@DKyp^|uT-y|7w0Ss125q-C4uZ*XT?+d%cZ$- zF&LC5@wbD_Q;Ea}m@%TSYdMT)vlfOL2S3m=+&ZOL^@k|-Lp(!Dpb<-^ZK)k}kB=G9 zS)gttw=zAgSdFJ)avU5Oi@WP6rfLu)?vnZ;0FeagKy6Fi&?YXw_=02H0DKV*CmoNc zI4YF6(h0 zB=GzzaWK?QFkQ!)*N#a5QIvOvh`S9TPt@^Y-U?=bPn0N&tl&|B=RjN~u^O8lT95^*dLN4)iu=L_fnR;dgQ0~xYF3LkSNil>WVZ@~+~ zi=?(ejpMbYyrT2%12!U5wFDL^sTDyBsx}@eW;Nx>Kna}Q7*RQ5^>{de$Y~NaWWsH+ znPM6w@lBddL4U>t7+c!z0#kj{;&36yy@lEnm`EgP5ZhokiW3|3@$F)y795Au=HF5Y zx>F!vH54(wr|8b4N8ORqXpJ^sEEYqa(E-q2#J9OXaI7(%Fh|eTm}$c6nr9KxqFVxC z&GyCNbq30fzCz(5Q&k|vhSjJb9mzx`Qs8fhvRirP|J#6P9}p&QiKYpJq{B`!wc%~0O3m5)X2n)fB;|zaUWBXcaYa>NYfqR4QA|x1fct$T3K?oj4iVwue4RjGH zT@@@e#TV^C_j+L+iT;~%-^Q_faB?cgg~KyWK*f>n)8U&^z2rTb=S|Mx6GMpFdeC?# zgmm;38@XcB?)nC&a`2UMfitV@6%JKbq^kCvOucSj3|@U>-kk$;1jS_z^{8$iJOW8m z$*@LZW@n$H+T!5jlLAGU95Bx#l-*91$z4k4snd7S8Zg@} ziA1P7z=8GY&Cq*G_RvRLt*v_9=mVB24Yt%F*~GGhcVI3b+Y?Xm_0+?$%E%ZQBtB5D zA-qBjZJ~xnpP6drjp{7?8ln!QILl<~P_at_?L(Cs^-mlea3+{@Ca`E=;7!+cMoPxC z2XBwjElUQ%Sq7Arz0xAa=7&;#a_%u_mY`;Z)b?BN8E%8T?=I{wjD>02ExCLE=8Bh{?2-?YKJW*p6l_^6AiA8^v zakEX(M$uje>_?8EMrP0|f(uVepHkc;V3DYooiG@8YsgO_UJ?cseX{tDrm-3|Fvmj) zAxKJprc`ce<*ip(hZbCWP zL_1YEqIK()GwGSQ_7l}0ao!P07xNow=8gGGLpdbU;le4D9$*`HOeKxm zGvTPJCDm1X4r5154QdptWeO3OmeW8DUuHq`D$vGzc)z)UfW+rXryLwbF!S&Y)PW_v z42$o44@!^aTW&62;*WWY|+!oJyuo zf`6{|#rG2s_3;pM118hRK}uRN2HFH<*c*q)zJH?sL+zvt}cLr7js|*4hZ=(c=xR4S?FJ z4#+y14b>;$0Ee{ZMhqqMXfBkGZogqQaQ@wXn@x$9q&!0=QRcuHeNt=d=G9{)dxIbz zPCbgWjj%EG+Qh^DEsTpq@Iet)FvDp>9s)6Ayk>6mOi)d?#-K~XPhNo6wHKEZxau3P z&1}bruiX?Ot2&H=s(Duai1vsV(-3e%TlZZRxHgNDIVSMlYp6PVm8J@&UL3&)w=ldT zW7}8X7QGGzG;K5K*>hwDsG7tf2e`p89^fes_(W)b5vDdU4owOo=Y+sb=aSLA1+k^q znZ;N&x10p%QM!UY@b*xC(+nw}0`ErSCEN_1wA7{KNn7e3$yBs6 z`ta?Ddvx>xH_VH;N48Uf@-RCsGZA1&;qGCc9RV_x`{b}n+iTI}2 zn^|hISbJ1AV#)5q<4j;LiGpusr0Y~y3JZH!B82l1W07W_Se%c6k`NEbwyqVQ_Mo-E zM#6&8bT>}+!(!nM8q7lx3KwAyJ~ge37l%%>yTN3hL%0Z47f*u}^6Hi*=qz0VaZ>LKE7Kp1wW{$Vm|cxrs4WI}I5>V8wY!>R8w-U7 zA?{soWt$I|Wr($#fdhr?(m;X^zNWCq2@UC38uFmA>yRs*07iOZCh1 zVEFtZVyAMwa0?|;wlA#hRLp6bz!0%Kf4ysAbTMfrO@9#$x7%~Wv%L%oz^-ZF#??i1 zUJLRT(RqJ{-NcR`I{6>|&Hr@Q&gDP<{-6Hvjqgd{Gj~OcvHEW&T^?N?l!i~U4g~rB z%in$X^1CFmW4hzyvD1&9e)IroK$gGE$%p>ofBZk6N&nye`5#QWsjGQrk5X?FaW6HW zKK#(LPd>Y`xxq~5A9?)oM;^a&^O9~h%0#p^+xq@bzxSnAzWk-qcZu_GwG-Cu=*JpyPmm8*=z7E*>y8n3 z41Sb?Z5qT{o4O#X`mNYG5qGcKoG3Ck5gc@K^AuX5#@`Q!)2dDlVK!2X;1OTvjWx}p zrx582NiPE+VRsrz?>Z78xBJR{qcAvNWFfuKd{>MCh6Y3HlL|H-$L3qi5yI$EK;-@i z!gP14weC2b>(BuJQ;f>1w-W;Sv9%~vVe3+iR27<795HmTik`Y^MC<0-%1;%rdc>W8 zW#oLci4+>)N}3B&-lnzS7#$<;rb?hP1wAw{-=2qs8&zR&JrFZnXaLlxZM=EWeg!_N zFakni2415Ut!*4!bOMFA0N0bpQ#AQZG`BvDFXKwYzqHHhEE$_ob&i&~4C ztk(#wN4O26W5nH+c|<8qUK6Krz)8+R7(OVsz$2Fq*A~9=SO<8R`ktzj;%<|>4epql zJ*2T5_qYsy4AC-CufNz9bP3`+f4euo-^n_LZi_VJSbL6PlgDYuyy~Gcuni4|p&uq6 zL(c(KFMyKcEAUncKg@X&PrZXgl=~>@`P6y)*UGZXVsA;}1wJE2o_|yxZ`od!moqPK6XMgyU7yp|-{r_INeqrZiXN8yaooXl{6@KuO z@Bfp(_=8zL6OozBUU=e5|C@jCzdQTzxqt8LfA?R0@1L!$uQgZ}l~g9DE4S|KnR8D( z`s6zoe!jM`_Vl@DzW$|eeEa2Z^|MVZ?Y-;o{_F4k`T0lBKlkKwUw-blE`Rg#=4_LQ zHfNjv!Qc3MpL+aLYwK(O_)q@u_T5|4$y9JKMdX-{*f5C?fmHY?4#60wcuTzJAKYk; zq+$`>j+NT#Ld^ukF-@9)7Lx4GN2|c;U+)g53*@K~468NFEI$&G!($p}uuH)V0g8_B zPQ4ew)}}5Yva~3k=p=it%E4&Gpa@VXbYXyZ5y+)pyBYC|jys1!A+`kN#87Aq+?K!< zg`RlT5M`(c?()nAFHlmN(+&|2Qtj8(s~#z`-iio5U6dNi!zNnPKngqO%t>?JlSc`a zFt(@2m(R}>(%7UyDItbd&1}>oC(a2Jz%|1XA%qPTtkFj37YQku>wV+yyl`EEJx%r~RN4(c* zD!>i91nS|~Ph-T6ZU9-u*(>(03}LaMUa2$jpZFsHgLwx>m@b}Hp(HL}@^Qk!Eh(T* z@h(>nD2ViD65pZN=4?pw-GWN{fP^G|!fElt5wPKGXm;I_)GvZpTBWy7N-2F`zHd6z z-WvnRS+3w4E7xTSfa@_PFBp+0BI(Qbm_n3-CC(>W($aL-?j3u6^7fDZ{QG~__x-^GhaNk1u9v<| zzJzG)9~c3)LckcY|kN?e||L~jBZbFu4(il(M=@chOp@|E*5xnY>#5W@` z*)V3}TW(hZ5?t$wMoX;=4ZC8E6Sjf;zKA(@kiZClLiYks|(>(<2$ScsVyJi0_)^*tJfK|BQB6AK-~JxxeUu4m)s+U zMY$4rCL^Usfi6sOc`#0Rj}q~`63??Ow>gj+lWC0Ob;};?z-TKO!-O;$woLVx3N;Xv z(jLZ0QOVE(t!)j1GQXuGdhjt6*Sj)E5>i8-k@~P2@}wJ%O&;$-U9S?!#lTW!wrO5H z;#?FzJnQRmWLT4ml(A__&5w(o>O$O0>Z3`X#tY@QhTE-wrIDU0L%O83kP+U9m4po6&i%(@K1=0*dWh| zF&V|`^#Xatkrp+dX}()y2Ya#~dCT~M2pf-n&RYu{&6xd1DX>Y69z*3qwz<7xkN{6( zGaTsU_`17N_O{mKmGRM0!@vJu{FncW|Le17pPx>5 zs+c13^l~s&Cc_yfBARrQOV=)nNXNWqc@Oy@@~4?RX9m>^qY@N4vj6CppZ~3!cW(aZ zwU_?t5zJOA{Xe{}Ww)zin%{QlSf?u5Ioe(OK_#@~PR z%%ivN-1>um{s&vLtwGI%nKiU(DY)h1m0}m%GFTUMQ0v4RbSXSTnxK-(0m_I5YdAN> zk|i|d2`E*w6}n)w4P1z+GS+yQ8}w&Yb(Rh=wk=L!OC*<;5f-PiX|s?9Q2siMuTRZ5 znD(wLPPwYnwPc!|HEU$J$gx(#{)6Brd1Vk$gOHx(Wdl&DT84>rbKn|b4nz3?aakS0 zc2T27=3F5nvG9t|j3Z_8MJPvq#A0*Rz9gpPz)R>t>Yx!CmIpA<1bJN%Q!nEDC!wch z`DVev&>0(b8*w5#Rb!r|&$pP!sg?Rb zK%$gM3;SY{EoMoX&sC-AYRv|uME@dNT3pgMMB*I~Me+4lF7O~i9w$b@NTVrfAe9Hx zIMx%@;0EAI>PFF%wYo5MCAydaSl^HbOFLBc!vZ+mnT&X@7Kkv7Ru~}Gvx?Vdetk&^ ztUoD95IPD#6$CY|qL}nKqHF}Tt_y4wsMHPmN(T&(A5wvQt%az-n`CA#gDRkk*Kq(y z;JBT_B5!k6eWn1#0pvpTYaIdtj|-7I6BEodeV^`;2?;|iNhzDc{ZEfynB;8v@v;R-cONeG<@~gv=PCGHNoFC6wt6)F1?1 z;+oNn6lA=JX@1GHb<~B~-lc@x1wo#u=NF%`E--5j7C^edU(3!c6J%kimzx4|;`W9t z0)a6wvSpFrYGO3RvOBa5wq6q)ULh{2e_>2AG=|J-YUye(%im}^3wn3g1 zZA4;nqAegBL;o&@mV83ER+VjBIO}2b;TSN?9W0glm8A9?%q|znb&v-L03jf*mr%$BF)?5OmXmCG=VqEHK5fa>I zrp~I>zZChFw6V*BqtPI~jwMwRIQGEtDo6rk#D&GF5Nhz~7^~w~+6n-XqI^&oT*!Jy zzTi%_ck0s)ci&I0G#6bY4NL01C3k+S*rl)5@ z#GMmRv*Ac3X27K+=cW%|=1{e1Mr%sg<3__#`X-9M|2s^oXqJo!C}Y($FrQ?RvjAAl zKtcwH+Dk}D4g)rFKbkd<=y)Fi8{=-9jx0+z%~6zAG(9jnhsJ{kHb2B}UBQch8L&%> zRXq}wH>=d>HAGJ%p%O8ZUxY`AMC4QT5Im&js0CIlLx~o4#lWDgi&iszKA+T4zdG#wB*nC0OT# ziP7HCY(iTiWcn6?W~fPp1SKJ{p29`+kbP9du@(U|xc~r#i!v$xj5RN8DPtUGjI{?) zi{mk|-ff$X6k@`tvrl|*i&Sj?g{MeJ-X-xoKSNeH%e)wn6O5oT5tVmj4hU>V;U# zpBpR>$P7lo;*opPkDcyyYRVd6b$N=N3(-?@+&>Vwgy)%UlNf{PwVD>q{->flz&jP` zd)*P%z51{c-1eCRtQ4*O$T8_ApL*iC!v~K1^yfdkeC@K*I*e@(l?oBjnUiOJ=ee(o z$aFG2cId?CpZol|N6z0}x%2EDkM)l{KWZ39$(*B|I_dN z$&Sg+j=ERhdF8z;7tTI(_8Xu7-EY41rxWS0Va$Bv_Vqvb@Bi!n)qnQC{?cc@d~fC6 z#^%Pq`pZ9g_u4PqfmV6;Z3;YaAMk_SWNWZrc8LOvLNI5Cyn2A`AoZCLz%vzYc+?{9 zanTQFZ9piS2GkH6xC4VI)5KBrnwmBSgs5dOM{(k`MYNKSp(6^QC4w`to-=Nr9PyoN zI4Q(1)rj_zOMi$vfi{3`){zx$82SP@oowUD=AVZHl6lAV)36n)65yRdfTy`MLa7s2A(Bc~8K8`sYn>`FOr%CsRV1Tp zhoc59b2TK)#bt7a668pLEoL{sh6ae-xSQ~zvQbNK$WmoDBN83jFdTeHg%CTm77TQW z9*D&hTzoO^ZViJ*65#USVWFA=Wbfn~lPh&tJYiG!EAw%!Gcb9Mu3{06Pi?LB#3m86 z*D9H&3dBUpbXoGj2JHs{`1W>?W#|Lzy?K!cf%O0ZwHu#%k z>?zFpN?i$=nNWzraa=kFAWT8Z1Y~_P|Ek_L+6HX_QUGS!!BgZoIKe(FAnVK)+K63a z7YDVxnBZjUXcz@*3x*%lq2oaWb^JndLnf77<3?XN%5!yaCGtvVgWwHf!8$O<)iUUz^QDN0h%Uc>>Dw><<-L`A8qwxl zPCS11xBuo>KL1q`>L%TRy$6?eE?vBO;hW$2vw!}bKb~|Gs4ToY&--H9+}iwifBW~Q z)9I!6FaGfLA9UOi(bjD1&%gI)Pd@hK`A5#5J9X~8tM4(RED&?|XW#!-jALbQHT&({%Iz97(wjzWOVzdxn{bxXTg!-JsfC(&Zp}h--hlo! zWNr9xf{BG-`*W>}QiPk5P`%Arq*_A(JvSzgqzujT&HCES_z!4=C_;uYu#{!-CYsEvu3;OD{_tnfT?@ zG>_m5Y%s0{;UyD}#y;-ekkKxJgkg?KYr{uq{8aRhQ7linPnYN;8iH_-hymV*5COuw56B3EpVVK{y>0 zp@lZ{hq}ey8ionu6uUPAp*5B0K8I%ngGnlJK9d{ZeC$LZq+|LLr z4}*S)14l<*>@^eW$uwr0;vrEUtY*W_KwIbmB*TPCRm?C|2KERCc_7d?IMM2?m#CC1 z`GkCojIrJj3+pNwsM<%p3z8`c=yhT}v=6C?t#=MY5y~USh#AE!;oh)kyif|KriQhc z8wPC@_%OJDM=lPw^OBA0;OqjgXquHS66)qPGSB0c&bEu2d0mEE&(ukPJ}|Me6wE5R=c?XDFh#ZET1@i6_U8 zz%XbaOmiVdIP%)tul&^nE^URMbu^{exI3+&!W|LR-+@;g8JRxf?u&(=29 z?yTHi-&}(+Su5*eebq0qm?RCMy6oh5#)e2wk`zpZ@K0Vlq!?r z2cB%FiZ59LRsGnNW~z*JA!L=ifI`h7qfAY@#Jc0+gn6klFh~WEnelogRVD*(Q6u4q zD&X}_(E#`v!X5i?hm>#58 zqDV>VL0+Sx@{m~X$+}Knl%SPx=Oa-o|@w1SBQ&Qa~6gTsWL{rg;HgbWR9lFRN^22LAVkJB5;H>RR-)9 zIwF-5Y^Pd;MmHM~_v}How4L#W6cviDknQ{8wgN3}rCBe%trvvx57ex4U3wdiCdk6v zHCfWkQ6ZGPkJG!?q0jsW?@8iY2YN!9-6I$szeEJ z0dz2k5QoVQVhSY3$bA%;L6zwbr?Cx?^okdriWN+S1_m`8Oe@Bwjz@bfGR(a2{AX-r zRZ;oMxPi0HX%rh?$K9g1Nz7a>y1@iv(^oG9TkLMO0j50F#v#^dHaGM-(O;dMIvCz& z0&db0D4dl;rS7DzB)7KM(vb zx+|ZjI(0niB2^wq9mc^hf=Fv5J^#857BjbVo=l~|?1T_ehw*-95$RM{li6cDVi3!^ zgCBJYlAu3q32cDxA_?(pfZHS17!pwL!He&0mIK`nsjK(r0#;AOm1q0%ocI)iExa2v zG|s*WMo(=HsfxJYzI*G9ci#Aa|C9gwtMB{_f&hicwg`x*wgj;^l)?wNUtZo0GS5Y5 zz_cLR8 zW8^D+7mv6bKh;_Qmra)?!%VIX7m2tpv^cdg*BVZM#i@#~A0*-uAxPp35|(h)X29Qei4Jl2vJy53&Y^EzdA;me%m||3bP<6 z3Fg}aY9F9-*bb7xu(r%0ZU?CXKweor*7n&(R`<5pPbOMV`8q}1EeAMod zV_+NU&P9G9?hb`CUz`u(tyM8hF6^7tIP!x!qk4JJL+Ksx z_eePqMaRd-{v>#6zXxt>U&?1wQJP5`B%wInq!R(MB@r?CaP?arcw@G)M09`k?xpuH zZEbG-^S}J#fBvmMTHjpnxC4PRP++ztN8H<##2&hY2Fx;EoxLIRC`SL#Hl%a1rlj33D}* zBknP#O>i2zP!(sAY!UZ?-WItJh@%;CPY=Z`TL%G6YFda~%OM-K;J|R|f-3!JWk(|J z(3onU4K=wiCWbx$0w12Y1{0um;DtfAQc!R*h**ri!!U5=StQb?x-C%E3N*xRiE;H- zf{CQ97mHj1EYMT;GCV~@D+!vjhM$eYvvT25_UocP3WHiH2YIgH74t&s>1XvIA()AR}do%b_ZZOkS}G8!)c;u>|`Doc-aH+HDL%E9|;UjvrB}{$^(># zQVozR-IDL^q17tn3suL{`e@l^q<@aWqPnAPYtB9_Oo(wULOKd6X)#Y*iD`%pBLzt% z!tiuvGjyc25 zgR>->eQxeVC_Nayw!l~5QwRh;Nn#ZWcXeH&R7Di?6ziD4*T6PuQVXu5ZKF8M-Cs2SHksZi=FsCe(i_<^}qZ_ckbUldf@ouk3GJ;Yxkdj@0-`|Tt>Pa)YDA17Hr zTs-Vk^&x^^0}X5;+Y*Z}_|KEy-6+K-QJ7H_inyn4DI{ZoINxUGrXXW;P@wITZ<67%9TYYBvQPrg{|8yk562HJ%7&Wu!-$mON6fAc3}P zi*sg7oyb^8{tjxkMNtO{Vuaf*T=C z>q*&unAhcS)$0X#y-=^GHc{ffIHt-pJsK~pzE5y{F1f}1$6@!9@}Qx1r@A7`bW}fh*SQJM3{O}kKeoe?vrPq`qWdO{=w@nu5PSSZbI~SVHP!{;&I(x8olI~3H@7))_7_MdCx~; zgejN-Fe=4FDrMoRG9wzJnJSYyBR~opz>Ro}OCy!k_KF_hn=FzlQ@T-;H$=9E5oRHg zB4Y;SEo@>^=<&3HH>NaD5QZnZ7GJ7UrkcDVv`o!Mny~Z%k2&Sac6D>SxZo>NRlPtP z@rR_E8EfVkh*LShpqMM$2X9=}O_c&Ph`HQ(y-Xmgnf2Z%)mu1^-VIWKgnl?_v7cc9 z29b^N5M|#svX6a_v|T_*T0$3Wu?U6a6DR3|2x2P+<5>^5W~1uC2=;EOqp>9HM)S7O zDRo-;_I+y(;6^5oW&~-XFN~ZICGd;9Q=V?*pXq zwM-E-Gh*1TgrkO5Q3U9oZ67o0((jaJ*M#`N`KSu1Ei1ObN|5w!%biHr9hDcznL+E| zR|udFssuKK#w|iJM9y_o+W*Z40rJ=Mn(`T`@+H*ad$211`k3bY4RzVaYi0Oomcn=@ z+P`xGz>!5{x?6TXyhapO&zT`jwxe2ngZU6q0je-quz;C%Oqb4{IDc^O;ny#`a`XNN z(NN_zD8zL9;Hk%spB)>M@87=q?)&e|`mO!Tht8jVyz9Ex-+T4W+8xZEGN3t~>^OJg z{Na5^E?j@_;s+OcT~<6aVb_l3&z}3->c;BNum1e@%B?U|!N*G@w6eX9-i%f)Q*07K z$vOh9-CGMOp3QQaS`*8ua`b6|?I7oM0oL`TE+p}=x6zov^TRtV3EEWHeR4&39Tp>s z5cBohYd(!PEII5*mtCQf=`@*zT_>o3TB@aM0Lwru=}p4ak#UxpW73Wli|LMdS_FnL z6)h4H_p4R_VaAo55q2?fB;~!daTsK7z{*bC#?CilLpN{!>O*X#6<@VBOBGmdUyN(n zjBzOiv^L3eNA@kX_yBs)D*=${vZ#kmEIJnr_V$lf!Hs=Ym;z( z^7*f;epkkU(}f1Lva(3NWPGXA=|2$2^#g2I_+Eg!K~grmhe4x=*E`rLQk6!===K{| zNZ>PLiR?)J^i0ZNOK(w)+SN`Ew>swDOz-x2^zHEcaP(1(B3?&Ektcg#ic5L8Fo*`{ z%8SsAl-%~^u#!|W0*TzG!zGQ03f0aYE;l3Sl&YY+h%N8n!7p`L?dFgO>Nt%g6f5YuJNLSV+BOcT?6e&ef8Z%xG$d$U z9q?eUp9CuJ;VUs6V`!=rcOWEd6fCI_Hs7j1Cjt7jW|ZHga|R>QBvr9^ixq8?;)Z^# ztk5qRyNK1b-z8WPTkc8U%*k8LrQVJwhd8Pp!eUx3Ubf<+u zICRyuxlg(YgQ50qs%}zRcwS!DQn-1{sNS$ zx)88s@Roxg4vSNj)Uj@qa@G!j$}m7+5n>f2F?1~U7j!Dd%WXu|b_v@;5f&?b2ZjtP zbx;Am_X`n3(*?^@O-w|gCB;LGyEjl;<48q`tHWa#k!#JYN+YlH-FG4(j)TR=U6gpA zn}t9%W^G~gni+n-D4|%lGYC;|mxQ>Q4i!iX@fvE; zh5_rv1)GwZ;vhoSAxCn$X9&1)o+nmJa|9o{TZKDI1{b~2xc7x|1sZA2A&k&qo0A-o zk4uTY9`LXtc--rQmEPV+E2gU1g``65?86>)g-z2%)b6u1R&H3aq{`Ik;%L0+Rb2)NwB@a~coP=@9noE?kE)Lcd~ zB$VZo@Juf76vk}C>512(o8)MF3a=+ePd%o^5{w++qy2T!11W572bo7L<<9sI5s@9c zmM7C4)>gMmRAk#SWS|W7idrh84!zeuEV@6^%0{ex-tF-cu*NpyZMqK8zq$=W3FbTy zTpv9!kiIQ5B%XzLiwh&6T(@Mw;mIv9XNj0;*L0#`#nSz52kkhpRZiUT9A}3q%dDF% zL4j0aTn^{NgHy>Iel}WyRyC9c?-eBtJbugl=x`kHb0xk{K-*jJ{XtnLbi`9T@43jo) zQGm!GPJkN2#dh8Clw0kgR(s;x)NEbuL39Z9)VYDiu1$z$J4|uKs$+u?y3xFHp;*^> z6fWkBd@m+ib8VR8@Zd1`L+#B+wjZ)c?_dg*n6^bA;gX(GVVG2-Me3T#pC@rgl_Z9vepX*C?)D zjiFEAHAtPz89AA{bCf^>PqlfiSlO&9;9gU=A1=o|Rs(_skwox2BCm(HQEHWsxb-I) zwCGCmP{o{-5z-o?&2ek&tH_=X#0nn3Eq5gT9*a7sC~pjh2&-@{2YJx*sp=8mDezip+{TQ_qiG182H44r^EPJnAnh3JCtoQK>REm+j~9L zVMzx$17d+`i(l*G!Abe+eCVbw`H(qhKtWlQnii-eRA5;aF_e)soMhXo%YpLy$#CgU zv4CE=P|(_F*K%m3J!-i6En~M0bK`pD`c1Ev=UwDhE!D-)2dsK-7sij|cjQACw!_|7 z7CtbaWKP+M6pANuj6kR3L>^5@F3fo3CR+Yvlw??)RsCQhl>m>*6pl(q07Fa)s@9&KY<6w-K5 zQ0h9e{2o{`fk|deVai5db}6gUc}XWz#;D3byD}tNsV|yq(bvc}KUP6u!V7hpxGN6{ zg)GFAR#QI=V*$zsXg*T@oWJI#%t!5mB3h`Y5O=qvsgggVSVbVL9{OdyP(~Q1MFWE| zsfOJD9dYg<-C|CvOkrkFQ+aZ*@;4VqmC5Zd@1=NHGgW3DFREApdp$W-CK_IDm!_pa zIk6s$pi!D~)Y73t3>M7*;MCn#C+5bbxPxZ2Q zvC(*fR2h^vt{xPqQ=_y-NeL4@im^4B%U+B)!q%n^mjYb$TY3p%MTJRJ;dj_N>CyfLyCiU<1N_-73)u}QB$<3Nv z138MYF;`9(j9zQf6Uu9o1W41tq2f&mBgf?wJPPe?+!Q}1%m8zNy_GdA&12&==1!5@ z36NgJY}pq82@(`|B`GW|4XHAgryW1b6Xh#NR(L2FIC17?44~S>$gf+-!&Fb_8B#d!KYLiP#4xu6QO8U{X&&rs2xkbUFwip zmmyWAn@ml<)8bCdFrn51_++|*@74a3+jSW&Hor1Ie`bLP9_Wz1|0u6(=fqM3qAC@N z6dTs3RxI=y$sfd?#`hvp)rL5(hQ>A(N+f6N12KHFUGjze*3vC4z2GfN^ATTm# zajFvmuW_?#0MKl1ZLkh;aq8I41_l-x3uru2r^>V`BV#Rg3WY>@(e^n_*n1H>6tE#Q zzOgv9)yqheTrhUw!4{`tu41g4ffH>%Lybhqd~p9tO=j2#l8HpR`^{9DEe&n>+Edjg zc!5f)3Y!V+im`GlVE=b#%HFh(wCg2G1Aq<@O9M@y0mmdQCy+^ z)|C4E^ob~DxDajRAr>018C#%H|iJAThbjOwH(GH629oub;NSV_ zF^P~VVW#nbhUS}h$Bvv{(wr#xxDPfaJ>XI0vXnMrX?@>&%1{fn7u>Fw?6M*BA@PPH zwZ;7fF|TakJ-Wm!!c2ex$qX|U@o~Js;?&@6m~O?f|I1jMT17w_i&JfF!pFNf)qPGCMeW5PE-pys zNLaUBCkChuZiMo}iibNEjKs8 zXE+SvmiCFB4#*a{oOc+n#$RA-B#9VQHp8Qnc-oU>6O66qH3P4em_MNcD@+UU7L_5s$9f$Ty0G2eYoX3qS^ zV7;7Dfa34+7fpLzj>p2|i{l4+H;URFTUdMgzE7l!#21mCdKip=%5lN!P(a^Hc?Ki$ z!xoYn)^|&0NK}EgSfs@@iYg}c8C=;F(Nw+QNeM-<+Xd9Wq~j#PauHK2M2$#!V7j(H zmZtihbo{e9w_&Cp7=aBz8e6#{lq2OJ2C-OEk;Y{5%WAycg(9#?04_k`YQus~1QiKg zh)EfU1eucM=pIickz~qZQlN`AqmL|t4|2}-EEUqnTR>aL727M@ABt@9%lvq`87y{ZM zh9L|HRWC{zcOEH5uvf-9goNDwU}8pk1wzkc8660uv1(|fHXBDVcFngn&wL!rdtp zYykLxhPe_nO{7Dq@%dgQsf&9rR7KoLjLT**p%T-XC|0Hw8{?WFy5#y5;U)wE#JOyXQ^AW+2a<@v zY?*OE0it{wxLlMk__wxAlKVyGp_3{=mAb%dY4LhW5YKb$UM1IAD~%sfI5XDCT&>Y2 zGvLC3rho~eqhk-`6bN`AXVl=sPKW9-sJDbm%co8luh-qG@UC~?+@APwp_sMD6+k7M zSWPBc!uQH5{WNOfk|kH@vN^?MFd!QKhUh|Aos6)@tVfPq$=CR@B5WeojD36816eLY z1Kgi+Hx-q@xZGM5jJbpA`j-)+k9y$6+*`ZA=G_MHnH4x(OVB=g+c7Sf6o>^3&}7bW z(FM8|ZbEpYk?NDf2}Gk~4;^X2fPsaw5}M$uK%x9l-r0cT$W9c7S;(kry$dPgPDm52 zN@Hv`flbn=+XK=j;K*v2&T+~Z;w;Y~YA2$;=%_$mj>J+?%j_+-B7#33t>jb3=w<2| zW3gJInLrZ;*Jj)4>(&wRMC2kQqCnM6rEeAy9l4nOk$@M*P|^1buTXx))SFZS1Fba= zoElF>DI4i}JtVbb7zKA94ik&>mjEaZi25|tYIYaFn#6|9Ey(Uc5Bwp_^vKP_al`%s zRE>GKi>9#TW(Crky9K*>u+k94gM)cAnW5bKnvvU4s^&FRjnD{!#90T{RknFDkJn&- z60ch_1UFraCQ-zgMNN@LEy1>t7oQj~PRtf9GiVge{;MaGbE!P1s+Oe+5)pwVzQ7HY zVv8usd`0?ZNF?Kf9f)c;iLW#`&p{kw_dL0!L;C;#fB;EEK~ytPNV@SVKV(xEJm!!1 z6hUuZPe00UOVMBw8ou@905l@e(JYq~wr@U}8jRblXmGKLEdu1#Wu4Ysf5`5FxY&^G z$=(tfzGbStCSN}4ZLnwa4)is9MI)31uLH%znpb`dW%fubd($t9w8dVwc(&G!Hzz&) z00Q|D*A@JRAKd);D|v9;1#UewcAM9UW{q;u5!MSyK)LbwNJ(>#O777T&Uxv9Dj6f* zM}FmFwjmEzTz>jPN^_-ye>r{OkG;l)o4^n7?8n{|{;RHP@t*yakDFgU#FCNUAJZ|X z_^}j*U&is*SMy)p(Up8M-Gs`0kvP99!3=V|FdlBFQOISp|N2w|kuwI=@x@q9?<+Xn zL&5;1ln*DB=NFNogx#^~+6_Q-%R%GX1H3 zuuLQN4&+ps5TB_;HD2T9Lq;fu2?u{r11Mw(k@+L-SeuhWl6h8EmEuB7!UoG|M4^)D zGD7F1%J?9bP_)sO@ko#XiqeNO+=c|3DtnC`rl-4l1NdBOQmqTfanG( zgZ@=)K)n^ZgyR-toRY+6qLb^CN~7<`qP9kpXHs!QLAf$)t|Eu9I+AjjL< zYu9%V6i}%;?OPRbu{f5rgCgXyX&hvYigT}9>>PhXdkt0l;#8j;(A9lOWYCFUfDE=8 z5d@^k>q>^WEeJVP24~E?d8yI0x^S|^fxQ4R>tPfnC^iqG+QK;3I5KkDN0U-j!#JN} z;2Q;O;5dZaw^5)AusSv`&oBb=Xo2JvKs0St40H?Oy9SpBtl!L;sblRWxUEUy%{G&y@-@!gmokSe@C57Qbb*Jd0eYl^ zh@|hOmy%~>*N5i^|77^&>}=Ney(NKHO^(#=dnw5_5#8h0T}xS-Jdi{FWG(SK0L-c{ zrxI`7@3!tws3)el3W;phgsBnDf?!LbQ)}c)RuShE8FT%c29f!ozof;f;U9`769zds zx>;axYVFC+c_@snw{%rYNQyV8trK4-;}CWWB&?W5FV4if893ElwQ- zOU-UroT{9jw>VWp5AHA!LN_vA|8*};g&hM8xHT82DmXSDg8;>a#i>dJV6JnSU0A^XhWxg~Tv6Q_xvaE| zi&MRMVgEPJHFZk|pw_eyrBNDu@+R7btv^fiG@KN9U4lY{4cm5cYUNP+Gh!0%p(4 z#QAmEK(82o$g}UYumbOy=;;1EC_n?nyRIXW$+ArL&ZfJ1nl!R}(>bEu=#aDhU&TR% zJ|LXMu$e)4tesbmN`^iHEyiH zy7XOPT03CBW9LiPe@}WH>J3hKE|~KWBxGg zN8#OPbyRWyI;~OxPX|!?{EO!4;9U^TR@K;@bPE|*eh{6{eKE#JqtJaRHvn)eR&;aHS7N^3f(60>O zKoWOwDNGJB!32$444yl1%trK;q*eqDF=>5U6kTIjrCk)w_GDX=ZQHKNm~7j2O|HqV z$>wC+_GH_A@Atc>bI)_{-e<41&e?kr1?mL*j~-TeT)kme#aHUd)<{Yt&0rc#>kg!z z7=~D#d%~wIq9`;Kl0|^RL2J(Xv@bkm66;r}X-=fjUgPg}qR<5-0^ zLLkqOnaAd@y-6=$=xURaUP@oioFmEdud!NN72)^Y%NxFbcc*CCtx{)|Ev+; z(GuosU&iMPrhKqjhKDT$%aU~L@Qh)ZzulRIUwpyIqx>Ud|8l(#W^ZjiYF#I%#kmb8 z2D6HS79kzjJlGp!=eXEurPOEn38IS7F-1WcK=g;a8Pj(P^<9+G3`doI%=*H0{QIf?vWoqRLPz!MK4d@$u&=*{_%Lg>MVsE47#%4d33-?`rq z<9+!dYb1iu>PbcAPx(T#8ru6ZJNyy#88?0$I(k3qlzxhb^o8-E#qch={+yvYQ}v&Z z3tNV3ncHc?Tj&$~hlw4F5GGDw_^9+{B&IigXSm?gkVB9hozNRd_^-sDEqVt~bNnt2$dls%q?&$(Od0i(2Vx zMu^dOBT9-A(Cb4}K@0XkbV@wobx?n5UTI`di6yp;SVyC&RYuZ1i0c*<$U^D(N5OR} zDM6B?1REptH5T5r?;s=DB(T}7WJDLgmL#D25@N898mD+x5n8ruK}K@No$V&?vh|!` zyP!DchCA#GVB2LA;E<1Igy6RAV8(a0PC>*X{WfQ5f_mFULv>uPb%)yfeycVu?NJIV zWeu?y@DK$b9S4RF3!O6rM(?~}NA>rwvdEv%itkM{$StqGtOO1MzKbmuwrDJTkq~Hq z4L*h<4f6Ki6?^p@c!}SwSIKv+;BGoC>)%vMlcr%9?~fQpZv|O>3x9YxeXBYBsd@%O zGljw9E=N>jog619eDOCB+PVU6(LtDT>656ukpia)ebEPf~D2qcC=0y2;|+R}vc2t$lQ+W@rd5_{Ti7 zS7c^E+IbsRmj@$q!ej7^ljNE8NLILwzxOibE*B?O>Bq}%x_vZTS?R|IFu&8UC$sDJ z@}F1c^?Uf6q|xTO?Z%bVlc3?)h5PK+$w)AX;3dVyt{lVe+>@u$m{vvc))jSMl6Kj# z*Uz3QEB9Ni?e(Ox@cJ;XONQpF+7*GapJr}R+$rNh`dVL{>5a_{W zr+L8ljGf<0-hG|C%GBDVl=nBEkO*8uw4idCNi870)%{#m@N{6^Vd3RQ4EeXbLhl2L z`exiiF8*J?@KL!Kx=Ow>86<^lL@izYFj5Hkw1x}ed@QYOM$F2)Kvu$%F(bT3CES-j z$#cWVz?4HTYt;bGgfP<1CUt8Ms|%W_T%3oLuw6bGY^)rSg^GpH#wHq9%^d7C&LC&6 zQ1(@6rV&H~7~^FG(9~3HJTjkI^_Vy`CQ@tiD0sn`^r#fkJGKkZZ+YzeAl*M^VOqZN z=;JnXcEB5PV?bV!h$Ns)Ig|fPqCyEWeJsZa8Z3W}lyBThjVH5OG_eX%WDbYLN+`EV zpvF)x?%+dE;5@!=UA z9i;|KMZI2Z^>)^oQvvtbhN2oRK5?nht(gW!)wzz* zP~lVwyi*)*Al8j??>Hp6`CbB)zP zZ|Ct5$rza68vb}4Or*nMM zm?g`%-vDcsJ>u%J>LLDci!E(fvFG0n$Iq3wjO#X0Gq{+e7h+fO&HcCA48Q4vEy z8Xn`eaU<%D6U-XAtbi6tPW7DVLEwWyCdg9|M+XXR?Ni%(mI)!R&#Q&WRpp^)K98+4 zxml08DVLHjQ6YD4P}F+{L#SF2^An1#v!HKd=TBcVU-CjzNl&>6LYzgOSvKwbq3iFu z#5_ZkJr0!tUy}N9w_Vu2KA9Qel1f!e3sz}hQ28L@PX%#(Q3r{UmSDCQaMV|>=3pD< zC8(--4f0u$cfmmB(-mcZvP)BP{Qf5B>WUAY!_i^egys! zK7c3o7#STnBE;OHF7pqCgjrBMG=%xlvJi0qPWi1liT?k*ALeV3m+5xxhBr2Ak6EZB zC+!@s#x*wVbAMuKRU{uha@h`ObcnH)Zgy+VoQ%n(e%0)OKngDFcAM6jtu@7xwPfm+Gh*k!s6&;#r5q8a{uDk;Fjd`HL z594zr4>Yp8=y3_{ehmdS4-;xP&^V%^oTOR9^N(II*CB0@k|xZ;t5}QtTxLz*Y30N= z5}L_HEcGABv6;ZeXi$81b%(hLh6$9=#lRQ`+JR%bbgd#R1~iYzDeHJzs3UbfULr0q zIpZByYu=GQ+WjVtO_4fv^yVglqP%A~xJk)vq&dm1ey)NMT^S^Bwwk@B5Qd;5SX~7$ zWFs*shJCk$W3=EN$%$;}fMCTE6l>`CuG@R!ft=r>u$A^Ln@IJUe<3jg2~};wFozE& z2~1dGwY6fl&`^>he>xp3n4Fr{b8igQ@IhKCm)@@L!ze|&nGyN`lS;*Y);CsWDP+MY ziG^KrPvkSj!5z*0c8J@uX%Zu1*39>ka|tkHiDdMM6_5C;fB?bTjWq4+$L?1y6a@=tx~Q-)bB9jyWu}MT=BqZ80Jq;aBzQBn4G!^C*hiGkzK8EnHK>ft-{!|oON=2{=_-)5+*?l7 zzO!Vt)(f5p>bfJcQ!ALLwu!^Co>izX|Cpeg$hP{~;)b7Mf@_pIIN>SgMF&$Lz%&`4 zM2ONU`r^bsw3crr(_HI1%Q1R`Xl{esg^?UZBEo_w3EJM;zQSPgf;68c?+x^Q% z1WMDtB1LX8x^$L!Frh|OHwz0}sjlufN$@77b-$1H<^*R?P=!`U#K0hkYd~rUzo<3` zR5@X~pAsbm-K~mW?|dEEk*A0Gv@pRrjaDcyTA^o!vZlQEjLL$39X)^A1{|x#YxGtJ zWhBaRB5-<2m3g8_?{Q1iChx+90^&CdLVfB@vm6}u>MLff(868TagAHc%g^Y9@eN~) z(2|*M7QnzD+riyRW!^Xa*r7&OEULWA$&1sc`d%Q88TaDxr5>r17mdGZO(Bxh zUy*_CP@cSn;i-WzG69mq83YONHdLPH^!qE)c$zQS64P4W*> z>ae91#-128hyUu1U&-E3T*Qt8hkLdTEKnkM)`&;)LVJvi5KUo*N*cI#JY0n^9B3}@9Pgz2b`=GL-7Z`^>pmU-W*coTPGk^kBJyB zKkf$X7xOb`Yc1@i4stC~nnB%@F^b)qa3uWNX6%Oxgig9xp}ii`%T!Me+%XbIdUXNq zKt@(Ee_NZd$K9)p{~d{q>bGwn2|qPTFgx3bnz`kMNhfrRVKr-C6O`S z!jWJ!QwB0wiF)O$Un%qz>Iq|mJnd@Q_??;^X^PpMa9w^6lc=QeHm9!ro9IwW`R+X2 z#+F4@b*NnF$t6$`*q9wODjz47uIQFSbydc;p3)*36&wAdo<)0C*HyLpkO-T0uP#kF z%kl2VaZ~Ij%?S$)Sj{wF&p`{4qVP`&NYA3pZcJOec5Ls_AI*-|Ox~&1IA|wqOL2<7 zBxf3ZNJNXz>nP&apT#1LUP*Y6XTjVt!%^PBCgh+GT*AIfr49{7<)pMak2<@b_BNEu zY1o65B7tS?(P&rf;Pn0hDNjQwE*Kb$r4aMv5F7RcH`zUeqNzl?@3O&DYV=LdGzy;&t&%H}+ol)7kVY}kR2QPc7MS?g|vmHiZye$t>6 z*sWfh8L(GN$Zl1+A4!Qms9B|B$siJ=8j^q#o0-ljh07f4Ov4m;DSm)J(sKXr1D~Eq zF{L-GJUfyJgfJ>v)$xSztQ{Jg1u@^cPJhxO#!81Luz}rQR$KP2(^ziePwC2saW7-m^G`}kOnw4^$qJJaBK16vsLlep{x8^YEZgt#|! zq(b^*A5jFNoaH%88`RX!=nUKjy8PdIMR|`t2B*`DYy%-ewxy6WRSa}G&LtL&^D>RG#yL48nEbtJfWC!b=?mk(QV789uvk zZHjT*F=S;yR{fH{|5|OkI*WuPl6+&0MM^K#{~T0Gxm;GlcUNuEo@NU0F`-6_XwSgJ zwQ2oVRlnb#a6v^l0{g06S>c1#xY9fc6WCYw4Fr8l{9Vjq%Yj#F=@{8=&`_KD@ELTq zZ}2+CT}c+kC|Su>H<{hRBoE74ZLYp-)Q5^f90ndY-^!RaX@K$x2R)9AJCi#%M}I0l0| zb~hJYRkgPJ!!2RNwCaavRnfnmwkQ=dHo4;!|8#QPw8DkSbtD$yMX89;mS8$Zu{e;m zn+BOGJ1i44LYBOhlt>D1?6ee|OPXhqpGWm+2VlJwr*Po3hp*+M&Ckz%3BUvI0%Q(L z<7evvA`kfrez`RJ27;pY&~^fHI@y%QKG2C_i*u3_9%%B|3u5_r4A=brY_ghFPx+y< z(OK1a%Q|83)Nq>wgb*VP0c1*PQE(2)DtCFw8Z^6l=SV75ytQV2SpxUvGa=!Kp;lH? zc}p?(sAlwuIYX?_vzc*9PS~|XLpc(^ zA|lE--;q)&r%Qh=|+HTlFr@?QGz==9}+iOOshHFj&y@cjeP*93^ z=tPw#CisAK#@Rai9ahFV-mJ!>iOn&dRJCqIMJxUqs82yCjH z0LvU6CZqDzjfM4Q!}+^g0qrpYtqE>p5ybmapyFLt?}pJC98Gv%r%8TIEotN&LGXu@ zgRop_zYX=5QrO_5#Ks#K#{sjo?jVRHZJe&~@4dvfM!!0m0S)}pzm)P-7sN(91e)Z= zfB1K{o|R_3aAmQdXoD<<2r?0NIyecRm6$nmUWa5V$_{Oy+diz0pm$tN z)CTjzoG>s;S>8VR>Y2P*omDpr*M$p+TZhX#q0;Su7d=od!3!($zk|phdeO&<2^eIX z?$G*LS9^cEQNl6v7Z7OHXtTLRI0S<$*+Cp=iw}u1b#K6*?59p#_(z6VJae4#t;jBv zk?IfdJ>Fyf-qZ0z{T}ykekObiOzoOjm@$TqtSY?Si^h|sPXcxLF7=Z%>dJJacDSN! z#f^&G@IEA=aW8;uLa|E8dr9waAix0(l6F3FKyYa z^n?HvqTpR){Us4fb+;zEM(7E*3Y|GF9B{PvC>*(5hxDEIdvPs6(Jd}aPIK^mc^dhy zmh2W18s$=Ln(`@($hk(s;3mLMh88cHgV{c?DWrPR6oBqBUFtDUcvh+<$?H*wIyavZ z({FSG`cX}-9S$ojd-V2 zhMB0Mjbb5Gr=(mAjR&n+AA`^W5@aTjXx|l~Sg&n;6!s}Zmvf>Mfl#>SD~sLBK_J1C zFro<_viD1W_O{m&{x`cR+d+obI!H=ePc-LJuq(*UPLdOa453b+=~>Q;hax1YO*9#$ z&jA?Sr37|D49>lAw>ZeH6b$yLOxlIhMtBErnp=*5b7qG9cBkvzVbxr()Sa1+*->1! zqQJ)iS-e1dU7hFK(#6a5Q@$kO=fquZo9Er(Sxu)vhJwWjaNLD&0w>6;Ai-D`&ZHmR#Ps6yeCzjq^$F(* z4$})ws7jXTH9fhLtqqqE#P=2k((9%=du5w+b&Nta2s{!H1H%mWUY_(yyMtCvozi8! zey$JS=pNyxx>rki)Ox?L!(HffI3g1K)C7F=WUXv5{FY#dlJr(>eTlyLOBim3xGp=7 zk=a-ar023ZM{9O?zbx<*JF)MJBw1nPU1Z5Y(Q*(SOXvuyH`=yQ%^Vlq_Bw@Pl;ou( zYh*i3(KvD6@AiT)Ne8CYHeeG}C;32cA zNBPHc(2BLtle#Y;GCA-HBOpza&7CmAzEhUh3L=Brj>#57CQAsTl1ng_+G9>&5Q$S9 zxNpg~qy5dUTa0fIJ3bcl8X63g2I1)SGdTTdXCR(mR2;!Y{y5KO^Pee)z%!mDis*SN zqPi1HY=1{>e<4_$QeNifMk3~Va(Nqbb4M|MiPmr9MM#SEm_C%rM$IH*nh=J+#gt+e znQg(3)#A7qnX=RwE>U2KK0C==4>zUhqC_O@?_=6r&pb>uuOnpfo!5g{=`VfWSbo61g2LSuV3fDK66SY-^IB*YF5g9TZ3f~ctS_&JhK`;$B+dHMEuCFR3rtxf z$uV(YC)@@e&9vZ>!n31wtDZB_H?`BIRo0)EirJXwx47M{)!Y6PCmF#fy3lH{0l$|q zCUd?1y`B=Iksf6rh0Z)NuHKK{jm4sk@X`wa87qPNHE@!0BWkc%{$MuHIvZ#lvl2tX z{AV2DtO`bviama$0C;0GD()N=M=sA0+={PaI+WgbOirZ!c!A4QY7tj$D@zSjQExQS zO={9fwN!{SBW9|Iez0&7GhJhA50|xU9L79-Dk{)BN4&TFFPpUg?(V) z>n&${zi%x2Jy|0QzK#rQk+CvfXs>m+*T8JH`5w6mT-w;$exP|h1%z+>{aasGS6AO& zU)QY95Q)$0cJAK&$O}ZlJ)_ZLAhcA0<~egat$ImDVkm%zqiEpaR1h`jLG$s`B8+Hb z3C+j*yYt!0rOlaKnh`-IOz6~y9)8+Lw{uachp}0iCTg(g6v7wvs0ejOX&GwSQu!UF ztoXGeLzXgymX+ENEnY8{wOKja8}}g;je+0~ifOx!^^lE(z)48<79N46z}XsztI8hRtbwwlU#wMZQ3b}yEu4~G$TOydY{30)PYubk;}|Qw zwH2Ea%986Lg5A5HZ6Ov+LmM{5uqbZl`%`NU5IZ~Ier8jF< zpA2$EUaz%mB>XqJ9@8CmoV39BbpI<|iLU?$qf+P9dY330Z-myVKDR@&Qa-~lKD($M zidChGAW5t|MX{?#V6Su1$LbgO# zQTmjM%@RztfV}izPR$uH&YukxM?$1|^s`Vz+7mYjMCc8k6@RCZ9oeIzok3s13KA``!MsM_G0$2d;ehfRj$|L=*QdBHW0Hl?Vx3D z{f%VUFMP|e<0|ySL%uEq@(BAQHA!KnVW(r^vY{cCD<{feZpwEwVtO<~LBurF#pNvI za~QsxCx+DJEa_RlR7|n&n>2F}Ry);j$e^;SNxpVrhq1REK?vN6u_p)*rY*1+8S5dH z=x``INds`3uCB6b|1&4!ocqY6b`m8G4*Fvl$1XElj>Flr%aHer$*%>V+j*bB#n*OK`Fh z>{Yg(272^CWmn&lg$Bd0B-IfgJb90;KKQQT9gJ^WA@ zT5TmyN7ts2p8~nR5d5H_fvlWm^bVnK6VpR@s+<}L7`~HLL_6OP#>|z}68!s@B8uSv z!P}^E(%zaCSh#@cXJEhS`GbelEBf*Eg(4h-0&s&e|I1=z;SA~WWjFZ}EhSIr||S4Q$(Lr{gG_7 ziqPE*q;=7)){dCU^AzV{Qm+wsptAu}6&nV(_oeQ#E0OMBzn8gxAJC7vJkGC^oZIdG zR{|^x`l}7@(_6mY?w1?fXK#xsi<6V`M7K9u+S+UWhTBuc*>auT-F`=pBGh*~z2F^B z=Ua7+NfB-g^aMOk5g8hnHPtn|75e)6TOIb(O1DEpLqL#eYG@oyKkPA|y)`v8`Ej&w zIJ0D*Z#I}e)&Y!q!fBH78+Wh;JAt>4gb~2UC%fZQUMFZMV zz5f3{ba|J|m*3YnH@iJ;b;Uj)`b1|S6Y|xzHMw40cKNSZL6lo_fS5!VVMiBXcId zk|X3;A@I)VrPBxnT}<}EYf*4R3MzfYwlmzppI? zI_Zk`H7{*YxOq^QTD8gpoSN;&UEeO-Wys2kTcI)vTGXFOl#n33iwH^Y%$y_iLrU+qKm&zWrTl_gGurYBmRk*|KYbjj5}qfgvn0~2Ir%l-&*D2QNtV; z22si#6QdCS(9Y1@dln_BcGF%BKGbAdOI~j6KDx;<===;LOPFH`1HFVtSM51j*r{=) z%io>a0H@>^vf-Gu39SNIZbZl$n#$Hh`Pe>sW>%;5&~rh2ow0KW(-eo!EEbCIec`ai zAYqU$@1fn9rO-NSSgA;2@VW(&5Q6dIGsJ~E&x8nX344KiMLs=hS)8>+zJP1!C(g_N9^D?nq>0(1(oITXjSVFS1<5Ym6H}x|=dkm$MK! z5~0TiW)`p|VtDMla<8D9V2BZ;P28X)!!EB}wR8boFM?c^7@QTrKE!d497$ z48%!5kMFTI=LwvD~Hoz10DN1*qT1sQj-hg;a{!=Wm}6ng;$Ki_00FEE#-WkBQ+# ze$OkBCO`lg?WLroST9%Wd0h2P1Li0;))GV)hKHiz$oy`Pb>FBI@p)Vl>}hw@+S|5rrt6EzuP^4K-A5;U3T~4 z{qJvwUWaBrsd9Yw7EV;(kj`@zD6OrniFChqvUC65O|4(q*r40zpS8~;XZyWJ4lDlV zs_XRrA+@BjWVh9NbJybkIW@h#y0JluJxh2fhw7e-gJ^^!Q_?qpY!Cq zLS20RO~d;lT&n@fl0^4nR~iNc{=}d!!7bv8 zV<$UoXcYX~D*U|>B9RV#%}+ccYtTy;1XGCY0^L5$4zucK{y0?rgg@Ze3+oHgO&G>@ zV&R`DsmJnR?PxgBj>>DRf?vSaJM~K2^)vJPc^v9fx+y?ugKu#i!yQ_-9+fHbX#_x6 zErZn?Y#?I#B+?0~bdu2?mm%4m8G7z%&nbG(VYEn&n{Kp8YZh(iX^w06CBHok&`Ay+AJB zkNx}38X*lhv#qQS>p%Cw1CXW5`DkkJ3@gN9dW&C?|3htaIjK~k`#KaWE|;qtC@~LX zi&a%sdL3@r{O)e3@s(HR4Sq}3cV-P4HOz*7k8S3;euo*G9clKPot`&CkZ5Z_wJ40| z_u3nX1nNN7{hsXoY~1M2Ti_FOKJFWUr>xv&m5$kb#1q1N*=(UX~1e-X5#g z&+za_on9wSfa5~1&1W&_lGN#aAaUMYL9zW(lJO%V!;SvRYd1QV*ZUHm)!?t2udi>_ z86`9lp~vk>X&fQ%<88d(`%;#@yPl+2(#gR{T_LbIzsK>+R+qP(k3->=x%=f7Ndb_v zMBGk4ZEbDm0UfSm zq-W0L^zrVCEHBlWDh(>wc8ZWGeOX{8g)MVYG=&rz1n|W0TTbT9$-)Lny&ZXIy|6jX z3yEZV7sUwa8nW{s`s55(uQl$VFxhpESN*gecQwz&5QpwCEfzT-etRq0|3&-6m!MKn${Z z{Xc=#z4k__E;qVAhR*DflsrC_=aQA~f%3|crPt+Dd}W@-sNd~*2C#~yx$0sd$q(jp zU+!HSlV%7kB zD@pKI`slw{PC&cYZ8*HoCR?_>fs)z%9tzZL|Lb08M!%;wkw$QT%h%{H)UM2qng+8c3`(ZoKe5?Ir!>pC-{sA zW;SQDBR-qU?do##q3L&jl0*Tr5b##4ua}MJ!ku}3nrxdoH}8_hf>hzl>~8N_b=mGf z4JTWDu@b>!*-S70bPjTn*m!xbcA^wzOLY@1R#omivIMjvpp`cHl->xQ5z-p$20o0_ z_xyXqt&N|0Q$+#-zr-9>0Lii34jBpgs#HqdF`1bPY8cvniD2LZoW%-wU4okmG}PoT z6WyqHvvVaOC+6~$8J~{6@M9BV%ApIGAJZlX7TS+eJHQB7+H0`guixstLteyYlhy~; z;$4}`3|&*NGukz{4KBEyB~i<xRhsLW zc}Un|znKFZ`L?#GcSEnQvB-7^LO$&#uQO!GK=M8TilP4J?D*4ViY;kPRn>Nvv;9?f z7c&3*%CxTL10O54~kuJG(Cbhtmt479f|Lc4h(r(OVw{5q$qiSf0Q7SquD zzq+?HwMmQV=;(0TZ`8-(b2;oxh#~_=OXquGT8+MEZU(^FR#rTK?*w2`ZkIQA!|_Ca zA3t5qw(3lv-F?2cx_Dcz5Nfvn`hR_{KV_+-#pq&@%jv82p&=c;l(UrB&)hX~lgA-~ z(3itSg21?pg5!Obo7ke@XJ^sQm#?83U3N;tCN40?8Ta^loYLtq?L=TU&6A)Emh_=2 zCb1JZN1VFg7Mi9&1-D7zGBx(msLSiK2SJbOIXs5VLz%Kn#h0@|nqr(T=sbM;I&=j3KXo9O{27MoRXg>a@HaLS5AaU;ar{8`%rRxuuLWxX0`_+c;*Vy9jgHDUxcB`YP)Ks=$_=%i3p@66ukOSR5H*jF}Rg+b#Ht;%5 z&m;N3g~{ggPViGr=eForYJ^tY1BYZpV`>thNnC9Ijn4p%^sbZ?3?Cm~-;XNJE%E|> z??+&Wy9FLxG`^tU`^z-{*D98P^%wus>JbuwfY#*`OWq^sGt1rU>(JpLCF<1*Gr^LY z!QaQ;s;m~uq)~t>g%5mmr?DdE>Th-Ve0_dIU+JMFnheKXuK%^SwY}Ih=uBIx-RgFI z+jQUFY;!)^C6jbJU$I;UGMYiJz0%FvScWQT^z`)g0cgj&+-MVx2Ph-}Fa4IT z1RV@{vZu@%0PtsTXD4ubOg8OvngI^|bhXjepkP#gUlfQwg_)HS#cgTf>oDDS=tN1I+?kwi#2#ri^{AIeK4Mte@J7g>!wKu=vSaa}8*F(2 zmm%UTNMoOqxG7|mK-;F;xS=u-LbQPZF>mr+Qmx-s?jbYQjC`7if`1a%&VNpg`V!_z z2nj}9k}_Adk!D6J$TbIW*`Qkd#+7T(*_go<67;hAfvW(S>m^P;`61Qw#Uu1&AyhAJu53Z|$UOCyF6{1!t4GU65W$Ng8Z z^^q}S;_@lXdih}lGCU^HPu>xsw6R5t+suGvE>L4*_`dHvTrfsnT?FJb!}1FRL#PgI zJ>cV2;fIMKf2VYj8WDsV*e3cxYWeak(rf3ix+oVjge3Rblehnk(Rwq14Zk?Q4Ad}#V1b1bH;*(zci`E zHu8B`VVfKKtcv`o=jQGMl&w8%*r4HcA<>6NYXC!3&-vhCYdplkS*#t(y8 zg!baR!A+!cD{@zxQ?~(NcEr#2Hti4vQrV7Fg&dwbXUn6?n$G6tZj#fL_xGw6#awRR zcxMj&1Y6e9}$;P;x!@qp8h@he5+v%Icmmbe(eMAF9MBP4Of>S*+{%sU5YD8uwW-iI*^^y-oyGiqb&kq;G+pf-%+N-f!ym-(}s9R zg$((_3^T85cOf=cRA_^2&hNPexoSSnZw^eu6?(F+ge6WLur9J-16Ky*`9So?3U*7ese)tM+d3EL*6E2X#4 za~(CE7KP|n=mViOBg~}8Ie4IhI}P)%I6G*Z4`cGMo6K)DupR_rsJ}~CxT-v*CID9$ za$=MzQ`78bF<%|%M3fF>P!E%82yL+0#PMn~Ltd%67y|GabTiEnt8dQ)os4M)Ah{5_ zZk$w8yVz+&z~7mOKvx=D@$osg33`K2x(Uc%M^)NMgz*bXZQC_lf{WaG`eA}~ezm=F z979^FKf)9RE%sDD+jEm(uxLriSxBLFsMZ|QFuw%-Cb{>maw~_4i#9-fjo;;?Y;lgv zUP|wg#o+O_V1r)v-{q-+n!HX~!x0KWH72N-_lA$`7YiS{lhzY8RjBl#*hg6)k`XnM zc+n{Seo8^DS*w>iKiU)IlXiSC`t9wBh`3<1$ouq!>LO#*g;ZqzB+fZLx5McLPLXng z@1SJ5x%rUSL^L@w;&oMITSf2vxLum_#H``RHfPj@_-pr3Tq(SbuJglbiv8C=_c_2# zC-L~_?KK&);LXA}0Gg2%03t#h?+5ef?fswD-j)e{&l3T$JDcDC^8H&pU{Lar+xea(i^YKGml!@Y?7VSP&`+rD z_5%ckfJ^S4T^^Llur2wIbl`~wgGmvGS?sR&%9Mih#^NQ5mb|!n7~O;X{2Tf!$~v6@ zA^+79ik1|Lx!@rFQ$n#V`eJkf2N{R}GjzzzKjn{P1Cn6`Y&>ahU?_QyRk}}%E40jF z416i3FcUJU^9JHzMYiqCdOlwmJz5f7xcc@DT~N<(GT3i9NX_QfreXwg9%p*tL-vef z>g&F~4A@cWN{S27$bc|B;z?$FD2KA!zP5(V!ab+*@Q9(#seV~)rxcx394 zXhU9-3{09Du~8SEw%I*==WXl4B6r4c2>H}JV2z-oi@Y=Ft?6Y3PnqD(^vhfat>54} zQNJ&49E%1oBf%t1Jn!Wngo_O55&RuOd1$F5^>bR0){r`VGPEdPMx5 zL>+1+$U9GFKXJAJOh;`}KKF|$Y~8}C{i)=sjZW_t!ZLZpQlRRnZDPSxn=}K+#?gl) zY-dgLhvN*toOvluB%M&$tMdZUZpxzh51mgfuEJF56(qi6)ss-c&kFX@@X<}pyKVyX z_3?6DRt(?)YG}Vl<7mERb9ow1cX#ze?c$wTkB@f%g`WPnOign8Nwj1bxK<#-A}5He z0zl1V)ybBnv*%e{HZNt8wBQ*Q{GIc%>tvnN!Eqv1_j6yhUI*ZEbpN^d1b_+3Bs)vX zlRD>k0$xA-+)n?i&&BVWfI#i>xY5?K@HDO-Aade@{* zt<;P(H+s}r8;ESwtBtbuC!RePfx<$LT6d}jX^B#WGLQb0 z8BGocxEyA(@Jg~b1WEimhi-geB%K*1XN#0fp(qBs^{y?`-x(??rgpCtLHC3L^1%Ku zU*bkaczl{1G=(bh^234QOsK+CRu0bDj=|TB&h{0Vyu3tP8H7#+)G>*gEL%ds?~`~` z9bPGQo^ltC1ebPCaRs4TnwvpfQoXw~+i2VNN)4f8nO#Wd2h94il~qg#AgRvm3r;nX z$AplTuyLY`dk>=Ro{K{W)1{XJiC;{TopJbDoWzdK0!C}}!wx|awIVw3Q)_?JmW`-G zi?EDo@rn|!%kpxiW;1k0}w=)$# zYqs39prfDX)8+qK5b(?KWXRcVw);MhB#MS3U2L?m`lzwfmUUlgYHD(Dav~FPcX~hF z0$Pn|G#0yPtcj_qE5I*VGVu9aj)50QD^O+vetRCvu31@lfb#iITten7U9LR|xN-n! zTA%lo?;B%xS9?3pvx%=Dug7r@a2pYX?y|WK7#n`x+)2h0@w=TL&lXCy+c~}5{$u}8 zm}=&+YatvDw|2-B!fi<$w7)q0C#-~{1~s4N@X(e6q+_w$>UVi zYDn}4Yb}aJ-_Fmi_ z;J775&>(sUB6p(Wvq?A9nYlhVofhtx+2nNrjKM2s!SvT_1Udt%JSoUM76hD)u!URs zpSfcX+1dMb1Bt#{>S*`5=4w6>aH;L^*Va?BTjvy$8Q2t$8A?Q5tQwcIh|)L~Ux5=j zx~$JY1+B9KCc5NcZn=@X^_yvBW5Pv4jU{W?UpWpN$pIVFI}(hUjRe>2RpSGt8Rc}% z=>2Krq#u8X;#4}g!AEp&qf@6Z=n_eVJ`1LTq<@gpnn}HO(?Q5nSPQ@`s58cHURn&5 zibJe-?%;#DVIG%98^a?a8b{9~v4;piIUD`+|8)$rqrbyRBKt>VoSxw~VwUJGy|Wq; z0k_NfbKTq1<=@9sYd|&=|GM&K?0(+F@_!Cat2XH925ztbAsjLA?rFg4oze;EveH)N1)AFc>=3{Yt?s zHp70S)$wEP0TA;CR2Ba}&W2*~t_-@&0Q=*uzkYx=bK(Ms=+o!gTc(TvP(I9`H=p|b zLr<^E=j3(;iUppX%kAN|c>E0S3?Qk%T?6{C2~YOrR>S(C5M@#%y%aqjL{+t|?PM53 z$8&E>{751^14YcWdhsl!v&lhCB5iO@x(d~MVsBlQ%U$>ix`mI)O!@D3w^m*V3aGG@ zdS74QiR)weU$%W42iA-s5G99~EOnTdT2GQBaE&=OgxgrMS`P#9;r1al##cSr;;@eE zP~s|a#9&QZ3+{6p%5wOF7zcR*>D@oe5h|pVCwpp9o|GY2tdH-% z181&WzvLbRj~zGE1l4qmSUr8_CmRVg`&V?cmX(%t48f)FgIMmJxDI;BWT46^NTT;@ zDKgv4xT43qBp6ZxEREg{@N@?m9Y>bRc9IG1sicNlsMeMmHq?#y-B7NxXGbbt;nRzd zxQp*5FPRAe+MAX69{_AYlfKtB08If({&Fg;<90sUUsJ3ui%DsYYe_t{i};39Gtfjc z-ul6`TSiwXr*qYSwHV0sBpmorDpif(xg}yeux+)VAIby9E6MO%?IubO8ZU>wH_0;p zEvwz!Fe2)u3>4`hv0EZv0LTw&+jqq;P$15EkzxV>2Sd#+-~tAfnG|Dr^ujkt3Mp|r zckDQE;>6O@($y_71A zbI%?+e0UK$_q}Xw%{u12d-onWdU$DR>E?}FtE;Q8zxu|pW5%DjHUf=fz4;_5$++!bHyH3pe_U(P@nWvAR zI3Xg-%gcNA?zw&Iw)OX|H{UvW>g3t;XD5@%>#x3c^TtgpZFP0^tvBD=f8fBGht7QE zt6zEbXRqA9zcQIjPM<#Yspme`b=|f1ul@Y3pEq+_wmmjBHc9Bffdhw+9GXt18yg!p zZ{E6pf8~{*z4H8LpMT=1CuXy)_kQu-*47qtx4e7T+4JX)9Y6Nci!WV#@8WbiefGI$ zj~_q&+N-bKy>mx;*|lrwsb`)#bokJ%Tes|sxnZ%2NhK9kg}Lv37jd~{#0*9hBJQ=m z7F|MGN@XjK(fAe6ZE1`hv@`7FjkOSHNBfJdWn#BQqAOqB_~B}-qP~5KvH>lzwWI?( z%W)pY6+oD$ZtXZ#{r(8vF#)9M-R_nfNDe&7xpR=H3z`AtBb+%3{9XIr}r3%}qa zsi>(CmnX&%h>*uA3}gcsiZ)&~E&5={qT-fNSe&Z1zBM5bd?!T%>aW3+yW&NF7v3;4 zCWw3~{D_CQ7IBXnPu!}79JQn23n6xC)SRWR!2y(T80F9qgQkuh-HXs&m2qnn8;?4W zkwrlZiH&aSgyUdLO(!+$b7jruN5mB(Bj|H$@aTx8@S?PzN2nj>rT17`9HO8XI`aFK6HJQly?P=%9fW*wf?uC73 zu7aM3Jzg~Z-$`BO6eO1z!}ryTpk5tInZu3ZfSSTQQKIENyU#rQ@N71_dE>_2yLVZs zZ9{g*pjca5KXCBCsnaK~zkh9gef^~uU)s5I$DzZAKlk|;KJ(en4#Irv=B>+@FP}Vh z5{2Z)Kl;h8<>k|7PCx#{+^S}AlcV2((&6_uFzVw5aKKH_B4<0)7H@^NihV`A(>2zyr>(v}rFryyfBDko_piQx^w`m_e(kGwZr@?1y?giGzkmN1@BHG_=~E9s^6>86%m4j9 z`xllee(A!c`}bE49XfdT&fQCwE)P95Nqg&!w|4Jde&VSo&pdSI;YS|c*xa0S-DEP^ zSl_sO>GF5K^F91V>8KCtoUxL-Ywurso;!P6!Z5YKsWxTi;SWPZhX#`QJBINbdLBwjH(I(+TQ_V4}seb zoqXGMK~+u|s;m(SRm(*wDQbsmaLJeVx=Rxa5z1Hk1ObGHR1u-#0#>rVAz;eTA$*<& zu$o}_+#_D3^VF~otWj*EYHw{YQZ+7jL}-~sF?a-o;)V#pDU=#S2xLYLqAkJ9%?ow= zYSh3Ek2Z%l2-+NEF|J1Ss$EhA=h!J)e5SEp=Oh&dkOdc=GI1WvgEcO7fx>gDZqCKShYuFBd@uHv0ya$D7Rj>QtwzjALN;n6c~VEVe|A2)cP(cA#cZ( zNrqt~Qs;a#wG$$>6q-laJd;+~dL$^kTIw=rL)i%)g8TI2Fj z4r!dr=tCBb%V=82Wnq4G9z)RtnS#+J7FYrKx*#dub=T4UJ-cgiInYZ^F%dH_FYh{j z;`sGz*WP~X?R)p`Hx@RD^!;oy>4@aUjhi=a-0b^)<^IZ*%U76b*3Z`0*YDrIf93L( zmwxcl^=sF6Os7{aU%7kd?oh(k*4Bj!7iU|W%(T9~vAVi?7>N{`0V?65no}}-XuUxtE)*Eltc`sKkU%h$rCK1iHW*ZwDYpbg_Z{B?K zjW=KX{)?6kPedJeL%{p;rOPWTtJslUyLRo|x#Q05+ZQfev<>EO-@3hXX$Og{udm;| zbLZ-nt2aKl+4ud{*6hlqE2}Fj%q-G(+|9PO?%uic?mNHu!S`Q!|LQd&+S=T@apQy8 z)>hxoW?NfZTeFq>D<53{;AbxnAIwtUW0=FKywMUat!#{oSrfHW(Vb~kOM3VI>V^iw zSbhBB_z!x&L~;hqJ}8oc(>oVAZ8T)51N|hm>!ceT%soS0mRcaKL!*&@; zA0tH-fo@7@RQn@=nN&o;&T4z+UmW#;Myj6M+87ly!|JG=yiN{glXdgN5@L_(?7TqZ zJfouB6i=3jIqr#~#`Q%0a+Xm$xH>jf9=`JxXa*L)RDqN1Dndq}ivA-qLLlA9jhNO| za@=)dgIgd5hF!CsB)&~bu|{EY0c-@aSi9&*78p(D^F#rt$3Xi)3~ppJ&}6uYq}>D6 z1?YVdfOTViXdbtkSC1{{IJ$8vS*}+{Aq`Mp#Vl?IX&TJqn>ok5E$}14)zA+n(MH-t z{)F0#D2fWWgZP}|PKzI{VcwYhgiT1j`{Ep}y2lcEJ;)6|`Pr|#1&~H3WrW?4h;?My zBEK-jP?A?l0=D%1fW3HWH%+F74b=vEfYpXQlF83RFW_`Yo3>+Ee3-dlkKvJT9W-ji zTP2T)+t@23z6vx9Pn<$AquGBK^Ku5E5^1`!=UhQ%9Q7kX4zO+?Gf%R6@N*x1-uU0JnUvgwX# z{dJ_FOlBVI)G#!ccI{f)xwG&4m6g@LpVbZ6+S+3MDt=* z#>OV5-1L1vnM{_Km!~_Xv)OEQWo>hFBa|#O>-*_+vb=kFGMQ{`ZLO@VO5dkeiHhG? zzqm&Bbu!GhcOfM9{*8ORn2}Ni4ZkvQC$dwAH2Oc)bBgKh0-G`i#g&0ODeg~*kCLT| zv2w8F4`Q2IN7L9gVK>b^9YgBd47Kq*L-@sh#$BQ-08VfBGvB4R5)hd^N8_XBY6 zdx-{V2upP~zlQlM<$g6VxwGlz2AGb}pSa?8h!aFlU_o9rofwDy50b48>?Z^twIcJ$ zK~S$^Df~kjCFMn*_rC?4+d=~~T|)RR*j{fAE`Zo-RZ<5)%F&aUGay7%fIEVZw8?Ao zP18jbO_aG-N>x3>^?=m=RXb{F`&By@TEbCvb1a7eAJ3^WDI;qF5PPl0Cq;^7x$BOC=Q<`}%;gx2VPNmp~g96kr0URjQ1V)Kg`k@z^{dCL{@fgfEsVlV_sZsWMKPh8@Cz zGm`9D=iJ7O_C-@=qBvOxNR{zMhNPVldBBZjB8$-CR3A4$>+F*0@+oPm$Hy#z z_107wC>Qe30JSG#eyCI#BUrNJqs0=-p}o)-(r^5Xq5vHwS&Z*ybx5_ZY8wh)2b8@C`PZ!CrH0tbY>77+0uQDk!85 zmd}_1RTTs4d<3_oG+vpag5e+rDWs@f`4|OH(>aDNVQTLnTN;Cd)@tZQeTtAOGtfjz zdxk#f4~fFq41OKurHcn)caQ@5q57YA0lUB@n}B zI#uli2IRP;GuMAWs!WKo4KO9A%4j8G0C7qf$!r2&W4(OAL4P8k> z(>M~cERxb&BRM^Wy$Ic`0Be9RBK}|1RE;yS=cq+31L3%4 zaGIH-Qmk7^YPrlbYP`tJk|lj2Ks1x;Fwx6H^rWUjz~C@+p+p1-aH0ON;I5xy9fIRC zcrXJBhuKN!R# zF@-F+h$Mi$Xgn03{VQ=H!4fmZia4x@$55zGT~2gD4Udsq@_aJ02Hfxp8K29_s=n0Q1HVmDSc3b-B=5MpQ8 z9I!&Dd3cg-s^*qUN38|3P1uXGRJ25pcWbTQ)RE(?*Ec-nA*@&xJOwrq;6;z_<5YmH zHC4~kL2=$Hr}D+;Z3j7|B&$nI5cc*-!6;wmqNjl^)ezK%MU5<#zyrr|)DM@D%XxKW zAZ9*Hq~htq+dSOTIeO|b(eVf)MKI9Q;D%i zNC7WXL?%<|CR7wm_U0LKWJpbvwKkMoWleAqJG65Ft2#e8mSaY@#U)9iQ5`th*St$Q z*xZM2PCmAMfB^0rRdBluaq01KQ-^8otcOx%=`E5DQrtT z!uD3T3fEfmK1j*B_X2l+BjWDANe8mk5>dhv20lXE3SN()8~5z>F04qipp>hdmDLSB zvvfM9a6yZLWnz8_>(Ws%3=J3vHc}W$w>Eq1n2IKGwFU?a^fTLdGSsN8#Q;32aExtH z8mo()()dMM?Ba*3x&qW3EgAG$lwZM+X~?ksaisv$tJ55Na|{v;ts|1La$6)pScW{0 z%TiMoV#AsPxp?HE=CZ-jgIlL@Q5kNA&FCgUh<%Q-pU?Z6OY=ksy$_RrkHW?+W#;jE zJ~4uOqs;_8^GVp%hV zYihC~3nhf2t?*Xtee4JUY5>ilL~BxfGv~%Av<}^jwT(3b^J<_8@fmH2{U-#0bgMy} zr0MnC1Y}7HpF0WaplM-+%tP%X6Ig9L_sQ{VbVxN`(77M}#sTJUl3uUl@jeWbZRWNq zY&8r|;0I2`lgC{2w#28a;bz4U35SLy&8saJp9{s@7lF8%$E{@4h+^HLpDki+H{d?{ zVpy+QTGe4Bj$)6jo7PTIJGb$xcQLdfR_LJAZ&C|^ciVO$S%Q7MD3(R%3*zKoJKxik87E!xKTlJHdFxH z_5opdj71~RN3jK7KmkY&bCR=GEgr*mJZ-0#Jd=HA#^M;IF6L-CX?T>FEz$}+${>oc z{#esv*qx;?9-Ex@tvYlDhX5g4T&@#Oo{2nC{7QjX|ojD&;x&UKV z%{6?$SeH<$iik*hP3P)EQN4otUf)f$A{=YjW+$!GVxG$bNfRtcZx>fV$%Qm& zG&O-~Pn4nj*hfD;f#shZaC{hX_|UE$4))4Mjy@Nm`U8xC^eDb;(c#9kO!I452qVrT z-!|=Ryzp@i+U;G02RZnGZ#-b>+jjeb=prBDoyD89h=2Omr+a@H(HOu_AL7;RQRo7} zdiuyTZoEFno%yJ$V7tox8t1(~7LqRdCXb$cQ8_EEI-` zaS@Gy_YV+{(RNtSeLfo23^rXYPJgYQOo9=-G+B@lu!4J<(L@;{tLAdg#W6D%LbrV4zIqsH9ahKglYu?OD3c?Nn@!p_IA{Df@Q`$^itlu zRtlhiJU{L_H%~r~mYY;DUZhGLE2uAFB@NL*xYysQQf1}`F{O2}qRhv0)CF>jNpmg| zkQ%L>PK%ed2j$ci=eDKNhzO;ZG>IOUjzQ>KMhHGftn^LTLk73;Cfi@E!N#~VjYn5S zMKnZS$Gf=j;jPX4xO=KGQNSJ;{~1T>W4xzEYg;13m4u5%f?KiLyWMf>K69OZl&a3LqW zti#6LD(Rzc2N`)CdtJ|M0t6Zp1o+;lmfzXZgg9nk_NvsSnc}|6l~60;+IAzDSZE)` zkcT-UQwr8!&rS(R)f%@A!Cjjr@^qNShRv!Mdf%PK8Uj|>9&S{m9kC^`_HeHo*c61@ zi}W(AUbUcjS&0L)`DMlmNU9gCvzYmg@ovUcAc406tw@UySiIYZt__zIFgQ_g%bJ3% zu{z6xVV!o;EL~6FspzSjTBu@%{9{r#rTndCFA76(g$J?)R<+jo5}zzi{dGO!B8{la zaTyRSCB(Zr#pbGz@h-eFc;@I;2Jyy1;U;Q)n?S518zJi&9AdIZ#FiytWnq&LYYApH zy1Q$Av3(wVwPm$9)l8||RNv-;Y|2xxntB>Az^5>$SM?I_HZNL%UU+>mApn8a<{tS* zfhr#Qw-8DwB25X1k%+C*Ixp+C|jHVmtz^TQw|JXIV#SOH3@#)v?CQ#-;vLEf2njf zX9GOp0j@+tD?+uvD_W3{e^0hJ)$+EnJs$64kYj@iCCG zlLD~Q)t{t*3pOKivN>v$m@1PNB9jT2F#}njeOHTy2zn7@OlKVhxUNQ}ET=`Gy48#5 zX@!xa87TzN)VYDlR}>-c0MMA7qy*{s6cs5|2XY)Vm&Z)RQ_h^%h2tiKg~cWUV&cGo z*JO)RX>2>lp>zQ!m^8_Te3Pl*^oNZC)G>ff7t{U&o)iP3AIE$z6lDUnLqhh$Fq@xY zlC(^(_MeFQ(q1pY@OP*v7R5xJ=1GlV!|a;`=EBJss`^s^;`p|vtL z3G>PED}DH?|N0ZB8qu`vAfmVLyLlJ__SfOAnOPH8!{>G6M_XX_o6A+(^DTf{-*hR0 zW3XCf{|JYYPIME=pZ(nU&RxG}QByOlz5hZ3vOS~BGHZSH{ znim@@YuUO`qNmPQ`>HtwQuq%`%+16^Y2iq4N3pOAO+g3bXjHea;lO$?5%9E`OOq?* z4u&u_`Xd?#vxUe*^Be)#yr>y>3;hG0(8#g}O4uVN66Fqe0ISBP4^nGw8ndkW*|viO zbfxp9YMtC-+G&ahndQ{y};bCfa^_VHCI$kc>WY+^GP7p$uk72QSvGuA^aP zfX>=ll>}cqtGJw`#d=4{qCv(2xLEh1aZw86$lQhyi*{aX>_7#8;9}N8`c( zlO?LZu7?0R&k6=Mg5>y)gsFC*JNyC^+ zdqfUhK*N=3g4WD{j@eGb8D-#v;GzRUd&VcqAUvsq*3~i_ZDUlP!js`{RZha?)hpvw zr{Ma4TbLX%Yb25^aHS^NLALU--s-XP7a~^k5PRvi@BBy};)9(Z-4P1%AQd|Sa=~f% z2#Ycd_5_py7TKz@0KEA=Mi`YkwpJC43;0qT69HA zeRJO(uX0!MF%J}m@mPtFvIwB0PskVs_1I@oFDs=Jvdwp85&>kBU_EjqLO*Gh2jyTR5N!UZ3U zp>k&=hBlP&m{#n9WVOKTO4ymya-WB~OlM~1#vh>?XT8f=_JJYduI-5)vASC>bt>={ zaTk(0$32f6!7;Bg6bBN+Kq_OV(Xrf5FfNr)2n$<8%#39Gglert5TYqA&0CMK`PtT5 zm{kCWiD3T4w_Dc8geiL9T5`D%f0r^Fc~izgYdi{Bt7q2C(g+{1!*AiCG*z4kUfZtD zfSZ|U!0v$)rh-caif_z#i9QpnsG)l%BM>WLBYQn#_lhVS1V7x>K2h*`KRJFaj^vU_ z>n_0{FNcTyRK=lv3}LnqL!fygR4emTb)4^Q%9~yNC5-wFWIs8abT~h&P z{)}#-Osf9Ue(DyVc0A{Xwv-$8kt`%?g~s8T5E_r=v|sUUFXvT_dpp`JLDUQ|S#O{S zcnvI?xBnwZOJs*L1=DX7;lsCP5KxDRdqapJ?hdCovn_F=TYNHHdxSIZDs;$djJOv^ zz;K4a%~nig&M;8IsP2UTU&wLSyp#;80BJ$ZKFY-ZQj1GYuh1|YrsE=HfD+MX7LTZQ zf}${Wp;R!i4C0%xr1?$&@1s0Gh}|R;bKD8{nNe*<8i3d4xl0hnEDSED#Cmf$?|VZASK@GN@VZ@1 zR8^`@wP85N!XOSo%#hc(%O{&o=}L*%6wA5!{6V`E5qNJ+)cnlS%UH5K!ms^_L6vqHCBc?U|eIx9bPEeok6t*B7bP z7sqU&FYr68Ysc_|gdg^ssLU(%q{zzo<3xf6tr?92v<_%(A?y+?fwfQxiuKZ{u2TovD5F7POa9Yv1N%P}`GWOGpUte1*4tcf2BK@f3OWc&IXxj{Yc~da@1sX=xl`p?0 zA2_&n)+)gja@GOtiG)#5qO;^7D4)po;HWNi13iZ8=fWBiT+ip$Iz1z!&sg*kTEaxU zP}SiXNW*|ks@Od7UdIpCaO7f(n4TyRd8yEv=ENlL3gL7o6Cq{ww27m ze1+!af#WIIvEoEbj&={^Ag zR#MmKbuI91UXQ2Bz`&09$Wvv|eaVYcE8iz{zp^T<)*?Rc(mb5@s@zGx3qjZhICTZi zL+-j}r@6N)Vo;cgdYeEWVzjtMfrvWp?04X(Z@p65HY{{y9@0(`LkzA-r4)yCp1JB!Le;C5_ zu=>;E5y?gOHLt}W+AE|mEvC5Ww6X_=1Zx?oy0q4lVX#MT_ET;QtVTsb1soQo$m2_p z3lVc;Nb>=5E(C?9K$+_u$Gpi~O$>98zV3Tu|enutaTpZ@W|( z&f-x>kF7;{Q1NJ{%AluBBk2?)7B^yL2!#9D$h(1V1p1EZm0(viJ+wjp>Zgu;PO~YT{S^DzM-2ViD0DShCI2~ zj)MW{Yg`9>u=Y+79#W;~c!bawP8vivkkm@5ZDy)_?3c-GtQ(f*!-Y)c&f+NJS z3kWoWbJ7a2=M3gRw9M-i(&mVtU^_@kxVM4TY7dLlei7+vSNChpxPk8!qp(qWk>EbN zWqt@%d@F=@B;l*h+T!5?5E>Q|OJF<(c`#v2QP?u-eT}gLRz!^+h2=_^;ho|Q0wQ;2 zxb}#nsbn{#>5HHWVhDn%8U;`ZupXL+Q%uHz))YcLr(|M=5qDG6f%V97*S*yN9H(R{ zbeO}^pd|2=6oaU~54`r~#mM;N$jQe7K31pPcA3KYTN_uAXABN5J6Tf{2#0(^X_KjN z*CdO^XanKOkc9D#V&wcZn@L0Xs@$^Xm|AAHlr~Jwmf+pMJOqR>3Jd^QALXv|*DM^a zB}29hS-n_rFa7X9-&=~l?{V%kD=_oOM15~VHi8)3fOGi2a;%}CMH(y=_YU!31l z5p_%l_wDfxfz?9BfdmC=8aMOg6j)z2(X7R2u50wk@hf*Ur!wu9xw9#(X?NX!)~n@S zi5bUH5OwizePwN;k;=5IX{VkC-K}Ff=!W<*A}g z-OQ@BF3boVfc2VqYoN+&u7WDnMKli5VsCCdx86XA0DQCjlPtZaTT&8Qn;<+=w*#gq z9vFpf$)Y)sVQ>NKQ^ehPZl*tw4U8y=Vq!gtizTABm!;N&OIZ(|zfL|dEK6;(J`c!- zX9V$w2J4%%E2ftb#6qmy8YL^%DXhP>*D1Cj95HQX z$jNc{P89X}S6az@DlQd@wLEkLA|n2k1mjb$G4diV8ZSo?*T^*Nb#4Crlsag3_%RVJ+AEo?lS4B}{b~V*D`p={1t;6N`+RcEIRe zc*o02Ka!y($|}7bLUULw@Qj*PRE9(pc5YEpTShpU7H0B`1nD=r9hT3Pajr!|)m3Y^ zNqWH!az%thz0sf(7HpQ%V;HJK=Tn?UORt2$J7GJAP=hHIm!XFOjD)|Cf^SzPcJMEV)Zkme?gV+*q+p{ZR}1mYn-{9VDUSAFi$!y2 zG7vMMc5I$(-@HIJc1a*eYL^A58l^6ljh-V&LY)}H+Yh#n#Cm(7okZ@f3Mo<_LGnj^ zbk_{vB~j4pP2EfGzX`=`na+FOz+0n)Sb)Cs*=>%j;zURusZ44@{Z)JHKY`4*5;Q3b z4lpHy3~);i?GE_Ts&JJBmtp%(ru+467aR>$WVoas8Q-R zqBc_OC#d~5>KMyjGY1!*%ra9yGg8n(?U;Wz8!Q=lH{rjzr88B{Yq`pXec|eZjS?i( zwr_IdSL}P$5_qMxjWmz5c(iJ6J_bgh8DC7kUoLndsx^8o3p~^4c6_k?j?62yQ82f< zJ?{l2*LaT>m!*kF$ zffl{jW_&{w8J}os>1{jPYE}gpMta@m9wMA^srYap!l!AQ8n6bt3lus0(+%zqGl}H} zQE`bZ0LuCbYyYFkNv;!*D?4v|8c2g9E-hJuJz=V1A>)}0N5+6RK41e6Q?Crq_m09V z&Wmn^h`m%!d(Lb;NCDnF=rKl^bBUaSyGm(Im8rx^XkMz!SWd+!$FJ(K?Yad` z8yiccVGvh`fErL|jkkpw2ibGQ;;yPVyt9~V$8Ik6_>^orXXnpnnMd`IyFw;^AM?*dbx==AbB*{;GG3DOJ^D0d=%S zp$pMhNs%!MGy!5Jt}sLkMZ;jFZqDV>NK=}qMXW}mNSQJt5t86@(B0*9cp=44gJrg; zqi?{XEl?$#22N9egCpct$z!fztuVK0uJE+fDm+tD0=JQ+^=R-PmRqlFFl#$7(AQBg zthH;3&?rHIWR)Lbu`*0LAicAc6&>Quhmk@t++LnEc}T>pz$c{2ln}TUkEt@-fysJ2 zk~e_k7B_4;JYoq#iS_K|&Qa^bUk<}P4YsxjS*i?V7OT)QQ{0dziE&G$wq?E3Cafz^ z86p^An24U<7Z~8BG%3s#cQ`tgshAZC*z3A}qzEBg z7qBs=DM-;+q8r}DY%BWY_?10$n$;N^*1ebj*ov2y7e|nYX;=Myz_@-FHp{bNljc7$ z6dJ)O9IVPLZTL_pq`NVMbmTIl?F}*TL6D#V8^X9t%swQ|EolH>dqu`B!dgAJsL!x} z9H(eAe8o3lp|s`|5HsUNqwRRrT(>zQiQK_(QT0qBRD+nN@8af_#*{c2UpZr8Qyc*S z5EqOVICEmcCJFrl{t^*4Qa=nK4KSUZ3uS&AHo+8!bPcIXBBWzY?6j)877yJU zilOc9GK#+u_6rKT0YWCUxk+SMxUBNvuuFnG3>whIr8FTnjN5K$v3?PAmacN9q5LAZ4VrYp9Kxvp5bQylA zi2*OiWW<^7thYU*;zDGRvN)B>f{gNNSd$C72<=E-5a90o;2eP7Y5-d3wn*PidUc50 ztm0cXC+i|5T9w(&@^3cS@NNQd9Bvir*!s>;jtLJe`=!=V68d0_+4W{1-`kyT8m`C= zCB`7-DSRyRPFy`}Pu>WpEh^!!ahf z+l)EhO-oeWy{(X3BC1E_KRJFikGO!o+GiKULt5j>?&e!2ig1_XT?h#g`QlU>tWZ}r zW9qmFqAfHU&JdjF(o`?j^Uk5$x~4=u z7>l*rQGy~8YY*aEKOX$~2rgr`N&9fnA4pf+5hN?3<0=%bSswZ|RbxT%fI=1saCT1Y z)?)V7QEjn;Wcbgoh@@M7MZ(?Tm0r{AhokH^9f&zXKfTgJl-g*WIjg-8J(XCH&-m!M z6HM?%lmbY4aSz_&n&2|C7NF}$)VBnNFgP%I;uQhC&A@yTcmLHqP+T!aVz(_c&K$yH z<$#EqUn4SMvq)G_;c4bde>vuc5Q5$`)0wa`g=bR2A;)GVo8|Et1e!JgqV6rRH%T*B zR-0W!8yM_I-o84HHMH+3E)f>pqX=(_i_*r$9|7q#@zCTkT!+do7@B|t1Pa*9M(UtwfNVw_V%>to81cwPWWDGQ8wIe5QydL6b_50O z9LK5Jz-ya!Fl|jCl?K+JBWhQ*P}Evi?y*TT2g=xBa|%nOzlH}G`)F{Fp=&sp=6N?Y zR(D|I|1a2v)6(ocrbyo-JsF|Ox2=r%;1B1|*fid9wkaa3x zZ4shj4eSt$mtKHAz4{2$s1Z?)(!C;h9`J#5_#|L=iiVcR9cL3>M;n|xU4;XDYx-@h*9s$0a(}){=Wd`7e`P#iq8N&8@d8 z9f83!8MGAJ4Eqm207c)?i=mj*YaGm6H%G^8YO-BK^q*d-B1}{>rLJX>szYm=T?oBa zQlNj8R8#TgiXMV|<=`TO7T`tWT*chv=~TE5* zFs4H^V;Mk%rp64LyaDb3TH3a6kew2mlR`!8xYwIdOK)@JpoXv5VVZ%VwTa-q?VIAx z1*DFuf#dKu%+Gk;#i4>?Ng`m4+d;Yj#BXO3ta(r}1CjH@7iHl81U+sV^7k72Kkc9Cu{>AXk_gz%UBhz6y;UK1jg@VsEV* z7mbW3*NMQX0A81_sgA<+EkxXzdoU1Rpe0aq&ng6-JYYSK21WRUmd84AEzpJOPn#~tPe9}(POF4rT&?{XA)X%tx6D{vn* zL#J^{v1v7%TnMQ$9?Vy_SY@j?1UmNvrK?-kiY&!hu;EU_=L)i2rd^@{xUVQ8x|R}Z zf{=N(=*?KWhMfzdFFt@M`W-jnCA%Hq{*cbnJ6M+RansbiMuEnyKmmJ8JhWa707JRp z4gujf%(4v+#bGtHAE{X$$rOZgdlY*VId4&c;J|BE>SdP&H;%x?sWJSC_Q9WlV(ss? z1pnmtxAQ>e7MY1zwp6jcVXYulCWgDrldV!^Fx-xM2Lhccg!&sIpdo`9ylYY`*%U+= zh7v@aENlk)SEAKWO|6SZFuTJ-FP3aTvfY5E<2o}1iOSpsge_qe3hC~~o+?Aq z9#zUg{GJZV6a*!e;x5IWF9BhDCg7@IjM9^^6&z!tw*APFW)w568wO5etc83Di87N^ z0S`Di3o@l~GC1JwgKO%{%c_ z8PIiJ3DidHtd}_06nw@`!y|@fOYCJ4v1HMSt@uhnBQwRHB|;R z%77g8$1p_v<52#W?8oHD$w#$)OfZjNeW+4p!hDOsMO0jM2gA8fln9CRJh5dgPB^v! zA`y5Q*TbZU2hD8J0PA&pEPg;ctQt-c**3y+Mm7>{y@#H|%4Hd~h)CBpzRc3Rt|d3B zfEBdi%UMOlVLqJ;J=($MMnK#O(RODp7A;^X9>upYT`(M7$A|V;i&G;64_b2Mu0#lq zEJ0q>&vYH{*|U4^zPE$I`By`}gge?wD?DY|tmizXb=f75A8^pP5dlGUk~< zs*J=peKxZWo<*QGKi z!T6=2qUXb(jum1lbQ4$m0HYMP`Yf%5Xo9n(3KT44LhajKgeE#h+wPUIs+|gOH>}eP z+{9FG>#N&R&~>>f@i+Ks$@0a8r`hhpgt#ZLGMJ1;&Fr^~fzG`Q1OVxJk1zt6Y)b2D z99(4>Sr_ahskoP-ri-VvBdobfm8qPbM97*L9E;*yEONexwtufzQ4yrdnB3#(2tmf` zj{Y8uwU|ATdI0b#1i5h280L{wnLs-ZJqaj{QHCVSkfi=7SZuHaz#gtJL7&HopnF4+ z{TLlhnanl4ta5Ye!aqr(nyE61Y!TvC`8?YkEk91V8&{8zx3;wqSv5Mch*1bl_rkK& zu%%%~27-MdFctR=*W@Z-qvE#Vc93MQkNZIFUIRdEYKZD+%(NAFDRvEvnc%JPFs5yp z+fXNJL&fPg`&n@}hhThIBpTCUNaN2IhiFx#WyXeBjD(1W$hRf$42eT-)^#F62oid@ zw9q~kWnHmUmJaEO<0#NX6LSVtr1aJQB$9TVk1+lyD)lg;F*^`)&W5{_$z=cjeFqNg zUs_s1LW%l0o(B}kxU_56m%s8`fA2r~duPv|>q^4eXrrHg_L<-Rdw=&EfAbr&t=aY+ z`{ej#9WMQqZ$BLS_U-%hXFhf6^hq~1L3{XTj2Z97Kz`Ot5HoXIgWHNk`$)QizXZVG zPPDs2F%~oPC~Qy!wx|xnNKKgTr?}jyL>CRo>CQQ@*FoC!Q1dZ0a#k9l7ju{mRC?F~ zUmNQ?Q4+k;EGNCf+rA=LwL=gMK>EZ2b`YkQabaNj;np`16S}0hr(%k>FT~W#X-Hlt zg})v>9ioW=tu#Zb7U0uZd)&&;Bkl}-t|+vZ_n zy+&~`&(73^_SV-)%O1Y=s8cjDyn&%W?EX1;jg!q0y4%I4;#vrN7G@ z)~@T8mzOuUHaFHkiOv6&AGix-y@-ODpLptt=Rf!SjSp^o@4Mf<_}(S=1BpmoJDr&- z?_^D{cWo3{P%32E#jIkEe+wXhrDMtNQl9-R@1!jPhtkW?X8%B24q2heFQ85TlKl`L z|HT=w1P^v(X{Mezz|E#PXA9O4*=aWUaUm?{uudumUy*HIkz6dhY2T(tiYRJAi2yoI z#5DASQb!b+0xV-imT-#p(Tp*vTawa>d^M^*VQ+OY&TWdV#D6Edo7}ZP@0x?^L#rGa5Ql>NfSv*p91gu6SiZZ0lv%koCKg}C< zq0fW4J!DBK1*_QLB2%uFBvyT}(LgqW5SKN#Aqp-DI*=Ok!L%+%Y%%q#9oh?*LfxXX zD>&uS`ig?`+H^_fqTBvaxRrbK{DxrGpA3VIeqrrxr2ueG=wIYfh-xJSs(de=98yS{?=E2`=N&)`Xq1umvb;k zOE^S`Xmw@f-rc*0j~xEOm%e!Bq0{bqiAPu^y=%%hM%r*hmj@$4rWh4qg~07*`@f+8 z5O^Gk3&>KktIby>K1ndf0{Rr!@&W+9KtaDDNONHX5;vu;Nm|uE(8Uk;iX|*7{S2*m zYwKdrnTjwVIYM|^U))vz|l1%u~wbfkHHzqr;i0BH?JmRNAfEYGCeMg~$n*t|BL zP7Wa}Pqb=^ELOcY17}BXGHHTmGWCg%=X>y6kM$qmFBx*xTR)-^NPZoi>28WgQRImi8J&>p3 zj}>bH{~4CW%S2U!HPBw;X1h&LY8)lL0ym*i?=`6>V(&|7x@GW;V@-RYWc}dP{9tg` zLkV+IXzGAExL7J-x!mRDJ<1(pjhOidRn;=~@qp}IyOth* z{QScYKeTWEzK_it_~d9E7!j$hGZ7JU-}kS*^4gDH`qACHcaI!7^2Oi!(utGD6Yr%& zgL3KiH)V|5gkuJeQfn^31~EP(cv0fDq_QQK$?>AaiLvcJGs0~@I7|WX zh)5Qzr>8s7)yZ%;q`_eLnZW?J+v)L~MN9~;yD?g&*8{_xwF-wDdC{Xxb5kBl{lT3e z^SZ5Xo+ASK(X@AeiDl29olW#NyXlaxT;_;H4smIDR~d75nG?H-V|S1|73%|0oYqxM zoJ6=znb*Q#*)0(UG2%i5g=GW)s_t>Oe8xUN#Lk+s*8u4JC#9IgFAX7bm2ndRqc&s% zn&wu=x7;|#tmN&tmTqLO0OF*jaWb)ci=6|e9FfbFC^<&4$fdODHF1wYc7t3w6seD* z29T%}9#-e7Bu5tFl_g2)R{MnABiOInmk?7%!Saey3sKXwTRegG@8w3qfrz^VF7$Z97Jq1ie|IXY&IH=%+cX&D2k%5uWxX8sA^=< zC{pj5s^mr}xp8)X{A&mCXtyrZ;Q1C2+hzH~_jkVh?2FxB?UHO1YGZjP{7NFUu{0b33xX;|o_Rh#{2t=jn~pbFluy+)HpvP2x_ zC>&`c$ruHjni^fj&jAxC&r53Lq`~SH@)C^-Q-VHe7i0G4SKpY(3&L@#MW4ADmk3E6 zFX>D0I|`Mm+at-mu~&tpH3MWm=168R&=SLOd;)yKD+I%X$V|sNhVg~4t}^6LV$?~P z3~B_{48$2ooFP)KW9);rbOUOApOZUe7%Qs*H={AS);m`jo)i%e>Gl-oNt6@!*ECOw zU|nU@0m%#_b7Eq2h$mN4PlDa!<|PaUU?c%rSDDajd+&{PDM-A7y9Kn(3sgmc$Oz&p zV+}f9Zdq5Eh_+q;CbOU^tPSi2WH0F8M|GRAexc^jPUPR_KFJG+L?sJUa-FCN6b31` z&5#h4)ZovHk9R8vHgD^GlbX)~5yDL)9kCVhc~Gu2Z&FtFJta`n1)Nzg(tGlln1{(J z0J0=d{KK_VHzABZWh7Rtb3_+%SZ*f)CC+!qnhF$12!pW~jm}YaVMfnq1>%*fSE!`N z40uZ-0x9;7!+t=6Ed882G*MIlxp`pR4$w?r(aPh+AX&jFFhSoPbsv zb`a176fCAtBEyC*nj>FU7NB@60O`u1W)*=`06NWlBno{hGYN^t62O_fl|zx}A`LO! zk*`i!dDUtYu1g4mL8kX5uGD(#9db4vIjhYHAym`$U7kyp%R(pn)uchI1AE)d;!t9%=|c#!nDSn7Cq*3@O8-u#oj~uA6}IoHaR=qq2u&oKwD>gN;am z-R7goBmPbjYnjAKMKI#g+$j|CLkEJJjWkv5%;|8Ye;syrR|4`NFxMFdGyD#eOo|Tt zpoB8R6%W0sJ7P1SWUe_OR25z#OE=S6(>%wD6p4#!7@CF!?Yxo`s|K};{-#G%jrB+l zK_iJ`ge(H>DSfpwC|T;E3_4zkmg?+wi!92vSZg5=$xBJqsw?mi0+%I%%p2cg<3t%$ z6tGNSL3Zb${AijHZ|#@_!kdVg8WioerZ2&}8-eRJm+B{*q$IX&`zb}@R^!d0s$3e2 zyS2NMX#)k9ICtQki002NOiWI++O7Nd@9%8y?(FO=EiWyfUtW8)Rw-S=A+vKczxdTJ z=NIQsj!#;xR)JWh)Tzi+8W|b+to@pfKp|p z^@8z-G`4m&sX7C^+Em^7PMZY*z`o69VSA#vEsnjAZPi`MAzL-Ckfyc31}BkD)|kbl zNNECKAET3|LVADj6w_NEP_5|>8;ObCR6@#EsC=a!KL(M6T?kpJk&hw>?ukAGsX8a+ zM4LNlYUiC!K=1&CeQ0^v@fLTd7Yk|!YhssG13V8Y=P>CL2yI<50t5`L4VZ;hV#Y?n zq|Hi~MQI`qtlhm1m#Abgb#wOs(0nOVwUcPBDM#^8n+st?$&X<=q>o_07_rDOEW~bp zjMYe9GY`pjqM$M17GZ)EwKG3}o^vp#lbL(1AwY~}jtJZysYlpD>Woo45501BaQ9FX zyIznjCK01~`k}YiBH0P!Y@oTJ59Oktoz`X(NS(;7ind~6*N-!ZiUBh8%nxRFMP*Yn zP{gSSI@qEZ@uW3coh}XPsGy3Gxo1XrK(CYmh+hgl81J$HHxVbUh-|?0N&VXpqk7F6 z9FA-&7Eg?$VX_+~LiXKwI(zK`eq6}*+kg+d*O)iudXGyFdd%)yV#s8D1AQ5eFz9MF z(<#^S#MI>vvs-VO$YfHMSFT=ZG@ENLU%gs=)h^3duU^f~&tFmOn7VXghadLh}`1GZwZ6N zU5hoRoEXYS7T-kN>E3KK^CdC@Cg_)QFg6xlJuyWj#-#1DFjjUMqbwOKATjk60T{!f zSTRmpbzQGLoJy$&&N8Y5M~gNnTI@V_mzu>Ct?PxexGPLo780N%iNxYwAs)4<8|$JQ zM~Srj5t)E;>u6*qa~4+FPB(*+Slk`6K!hB;=40K%%p+ylR~95~v^C13X>Fxcu;tH! zGrNbNbiqj1Nr>g@rnqi2kDfEh9@~g=D4(iRyM^hA#XaIEx%Y{A#x&ZSwEe_!RtIMU zj5cJ*OcZ^z+^g5@##yS;oxQW*_}rv-UmPA+xa)@4&dBkGo*`p$m9R*ba;V zzLI8U#|e#j#%=qV)(XNmvmm-sM&*7}XMjPXvgYW!pv&eay3v8;*%V4(xJ!{cxpuJr zO~M(>NP$Kc*u@PF3n1E}E$g8!d>KJ3IgGO4#RP{^HohU@uFzWDZQ-^#kP%IZIQTsT ztV@5t~j40Qj zY7s`Ldnqk75=5sUFLS(p$4)U-#`@CL!qj^Yt@QS8B&oI0SOtA#k|oAFwRJl=g%X*m z+8O40sT#e+O5fJB4&%pY&B3&5=$pcWYFiMOD~3b6&_;TPDtsYLe6Ct?j;@?j zVwz;RC2|TiRw`L4Lfz6*T^@#^8ag*pm^mNH7_&>+t&xdk~x zsl+U3teiQ#$7Xn2ylB81bu2Clnd ztl@{KT<8+=KJH0@?vS*qE~0z+krD%Z+?>uK@!$&0BYh=9Z!uP;*D4+;!$7Gm6lDXI z_u4T00N!Wf#Y+won#)Ne7_X{dq#vXR*Tv@;O1CWlM3L}Y7_oMIn!v|1DfdEyapWLD zx*;!x>m8#ZN7Sq3C{wTg7mZ$;gcuzw0O%#w9}Cp^D64Vj>5PjV)cG$>pn{ z2Z_k0sNyj9tUS!19N*wvKr`#)2jn8DV`SZ1{Yz?SQf%iVt9m1o>uXm{H5~;1yBpu- zqAW`w%WCZ>BL#Nc=}Jp7Em9xlgg;zT)}!PGx=cS`GsNZ_U^`{74_5oq>Xk#*&`%7} zD(YazdSWij@?y8#GN#5^n*Hv@drD4B+T)&?GJ2(uswP}g#kzIe3z?B26+0plgazE; zRHkb}muv@Yb*?2`8}>%wq!K2xDn)wGvl3QBfI%O^Q%}7tT@a6yd$J?Fhreb>D)1VK0n9*e#ky{WDDVx?yk_hvWE8XxKtyF#o`vv|%HCZ7 zKnnD0m@6c)Yr6iR7y&3w34_7{T2%{HHMo3k1p^%j*e0?Y#R^1>=WTpSF6#6sa~phj zECX87RX85axZAglMq}yx^5Ed$lgCdE_7AI9Wm!IW@UUIB=NA?xCdOskeSBh~EX$3J zjaI8=spvNjs3?lTp~1eszKxB|gM&lYc*Gwwn+J!61_lRPt=7iIM!W4kyh=nbUc4yF zvahdibZq2xYxrvnk?U0S3V5drjY)E8dFeO*@V8S_Q~P^+fB5|$@BDD5)oPK-x{z6& zVPs{n2QbV>h1AfO&Ur)LbSTms* zKFsCh{*u{XfbkCZ;J4JlZ()m(EgPvCxsAjmQkUK6Os@6J?f4j3hT?-(QPlu-U5NT( zfRdw(eMBLYzZHi`tp^0dpn%!F*NYJmWI)aO$WmPGuxKJ#Zpz|Y)y%%UzDwegB?W<9 zC6ObU-)klpSZ&0(l&Foy9o>^O!KE1Zhk6yG=@&DpxFZ|R7uwbjB%=$Nf8j6c4|Q4Q z$MmGNJ9ujRIKO#hAQ0aqJ!atf!66KVG`=%l^AJy}Fs($#@%#|E z%2aF+yt$&G=XJz-`!GZLp--#PfWB_NU{r>jc;RqPJHjI}^uVZC8O!>QiENJ!GMO)@ zDrw~4iw*!cPrdP2ehO*8C^7zUD)TgZap@nSQ21g{hGs@0#wJVBr-pu_KJg$8ii~Es=R=B z?I)S=NpHDFD#-GIvVC(4t6b*5e^o%B9*3V_n46fKD2n3M>dWDgA)ukEw6#~S+U<5< zf8Wa0E1&=Ivj!p%4Gs80`;7Kus>PhdbyWk@bs_2t z7o(Jk2*o%oL(KHxsk=j_D#m{Cl##BDG^?lO2enm$f2&B4=1-^!p`Lj`LN%gwJC zwHQp}u07!+fIJDzX;cuXrjLpho70JDh4hnrl@%&=c)3pF-RR-x;s^>l9H=Ff48O!PsF`ZBV06IEM;?c%##( zekaXiJ;!!7QifhYi<4$*!C_vu^3M!CL_=?(94mEJ-Lls~8g;~+M$KNY!yN&kSCYkF z2dVaIAqXOnJF9A`qM%v4(&d5!WhkvKB{k1abYh_f&{Iky8F+7EiLyoPSegqcxNY1r zqo~N>dF3T^uT=R0X7E%kiH=sp!bBmQ@$w#03?1PU#vQ_l=_aoxPi|4=o@~d{cjff{FCxe57{r&wi z0O@9JrHEH}z1eJH(d*sqy@YnFUA9||Vz|f^+h`PxMx!j-C&wpmu+qQOK<2Kb%=sZN zl|&9KFE9Q4SHGB=p4!{p`_JG0$GyAvovp=b(R!RnO-dHuN7u%IF^f1T!6L}5IOg&` z|0rq5iBKSdBGgC#MLa14f+!GhHxGhc^0Dx}wwK|m+Rt4OQI@~-uu7xK3E3=e)$}mT zUxWv7Bq<8wNS8&-iCwEsFTt$qg57#XAw`Z*hPG%RU<%XYlcw(MCPWt_hLuHDNhZHq z3RPqDV91{04ZN5{8Yn5Gu9;T)$P6C?o$O_KI@T#xbJ!q34)&%$Wjhy{<00h-J8{^I zsLU)U$lYTNvNXf$xgpX+{qjME;89bY6sl!-%gpS01l`yygQ>tAc@)GA2@APVu|m@A zgV&r!jo}s`Es36#C4FOWCTV$I3h_K>S&spG}P7}I9`1f zq&Bgf3=I#>&dv4p_3do$?CnWI)zp-GXf)7t=4Rc6^lDN{9B+CU;hU(M#;(>uU3vwGNVl@(KLb?(d!ry z!%GfkHl8TLW)Qr_V>Yv*fK^%ME8BV^!$OAbg7HADil%*ar%@vlyAFp~+|Bj{U(ZUs zEymm`kBZ-vpfRY3M3dOs(KIZB+QA@F?;(PMW{tfgzEVbh7z<`*(lFaab?Y56#(Mk)>=b_JLA=e4>zy?&+v^~;IZe;EY>^Ee)+>s@>zNA3u`aI1fHpb%rNwEgoeg8X z1&drW7tZ9!Z>{Fm>Y(enjkG(A&d!&s#OelYT>!QzS<&PfLDvjE@~bV>{*WXIO%>hO z(aowQfq`nr!J6Mxw?RlDtGalmvo5{OTodR{cp4e24DUbgVfSNx5V_ zM)scN#|A5e2oxE2FIYwhJTP3F@Vmfi8NMHkTu7$Z$B7%z^ zj!EHJQfn1h-)PNarCHCU&dq|92TqHKQYp3P2u6VsGbn` zk&`8%gy{P@BBJ3DAlJQ=+POaGTiXl-Ak{_ewt~0+hbbIkWwUXn&4{)+K&ruTB_tx) zRkdul%T_yTWsKnwvc1OK8mjxG*4_j)WXn>~3U=|CO36u{>hPB6CZr^{_^rtFa9%B zLRk_b^!N8S8pXiC!13`(tJS)H_x{4-;@ragumAQ}pMUoG+N*T{n3|gU_>+$o78VW; zkG}uz`?A%ROKHwR=a4tIi|$=nnGg~2;>x9&*_rLF?aw~_?CuZu%CaPLo-cKki8eQx z6J1^8g@LKwMH$^wO)J5aBHplt-F#Ds}kP(HleXNaFds3t_!7%n~nN5Ik^^Q$}{` zBnmRW^&U9Uf?DGm!DCG^o8??(oFA0xN8azwI)v~zc5{`9eNl|FPsFIv3T$i$$ z?{&;V#`+-5@dn=4b(PUljhBvR_@uSQBP4N^0rJxvz~Rgs&qQv4(3Kw&SDBa}3@hfG zds9EmWailYuEbRaFrsjGR~c5`wCY+{nTSsOCnm3j^HwiGSs|mU_~q#Wc5Fr0%qfmf!F^UikLt=| zd5tIkJJOX*q7=c4)|D;O7wuCjy7wj{`wy#`00ht&XoBgzD1`tjT*Ca8rV$Me4lSKu zCW4KPjjgS1K13x3R&2M+Cy$@J{oXqhlauF`7dJOIcXxNc`234s{`!~GGc$kpkAMG* zqhmnm>+5T`+FP63lT#DYo1>%SufP0yYZA% z*D*e6o$T%I0l~E!*OxDxZ!{Wz_|HGwzxUwDKU}_Wer{p@_~?iT`UeIE z2KrkkCtrPe^YNo6XQ;i`VDNPGMout`ciQdmZuj*ypFDnY_s+etEWxi*sjG}0JY_&% zF`-#%Qedh1?E+`Ky>#tzzPmyAvO*|ZN6DdoVBzf}#ZAFUiz3K_?xnH4DPio}#AuN9($Qf}r7d-ctcb|A8DDjL%|JG?T7UpBzRd%o zM^IAx`@g|D!x*m^uEV*TGE!CcV4G-QH+EYEU5hIQ3pNq2<>WS1?Ot)-&Seiym>V`K z^$!hJL#|p6L@}GOaVD5w5}iWzN@k&CKJgC&MiYjJ9o*S9!Xglb#g(q?prqg)(1FW{ z6yvL@jG5Fe2NXQ|F@P0J|3LbO4!U_(#GGmk2oAv61I@(v!b2_)iRI*ud*o%emW4b- z15|FY8nWsDm5E(kWlX6-V*zQApXLcaSi+$WeJp(`Lw?~0Wek6jOAS9H^TzQ*n!xdc zy2`M85B5g^HsD-kjM1HCFHb;ql>s?pX|TI|NZ1WbQzosMy?h5*qQS6o5FH4xCTVgy zncM0y-(do2Bp?8^kD74U?9UJr-f%$AAC!v(-q?)re#Y*Wui+t&!s5dC_;_Dmf2(!!;O_n7qoemfe1CdoW?*oDh<0~(zxv{4v)TCIqYtYq8mp?; z*4F;l|LVK<#%NmlwKh{{~F-aqaI<<4xnzSX7O-

    p)R}P zB-V7IUaDpy_zU$q_qrmdJ!u**WQlQ6Ky6~y)JJKMuB3(&%sQ*qbjBQ!H8*q6&>%3h zf;qEJ)EqoTMBk%K8h|KEhhEnp2fms*v+SyYTEUR|&4Z<$=(mvzfNvf_G_Nc3QvPsi z4WY<9XSYEN5X)NJ&GBoWLkZR84jE;|%1~+PPZ+U7<;`sbmjL`4*5n1ch6oW0)pJW| zUL;7xCM%j=)LJmp6ud_3*(08hwH>lh-ZjsP#~Mr<^Fy=_ITgVVWQU2vHgJ>A&k}|&b5+fuitC>c`2R4bSYaox04qB~a zPVFqX-byCY$%R?~Uc-y^_U(icwob9{XlYnXkPo+*KA(7daYV?ZTA4cO*`Lt0KftvryuM1RXb!{rM$(W7#$lK z85un}KH1pZEE%uclwxWc92y)O8v}stt?k3ZLwS|e%cC$bFfcwb4glNR+eb%7&UT16 zG(0pqI*N$9ySoSb2WOD|HA2=;CQZ}fMTFg}_&8zo*6i!Y35ZtLcgiv_9|UgE<9yZ1 z#C{{lZ>!uz^~8oOP6MF1P&m7)nRVMxG#l*@2%uo&O;~>*lGfVn0wWvh! z_{N+1X>h8VU$?b+C?E5~o1RCc{GcZGJiVa1BoH6@UfWp#cR!KTD+e6|fbc`k$K9WW zRO43omqJ=%;0{D(1?5X3qOt@aqLNCo@V?SpbIWZn==r}e)U0Pc!v0=Egq*W=^HNa3 zms+t&uDIwInKTZrQpb#irAy;yq~GLC?3xf2Pqy&5uFMuw zoUGR|=$QA%l>FBlob9cXk9%xQPs{1BusZvbolEhqe^hY>xQ78Q!oCr|(6<$K4w#$c z1E3DrULzU6SFSW%F^X|toJWvQWiQ%Q!CW;6z!gjP)S506-`E6Q1eX&d`-~sFS=4te3C{(vg`ni>@R8bu0P2L6hSh#s#0#Et=Vav~ur;Tep7u z$izLR)0E0nCNUg}t=CtQxJEnA-R_lh)yDFb>ygU=M$h7C3(Gi}*_MHM$27L`Kv*Fj1SEmrm`A_{l21bKuKi&8W6F+YeF6LFmu>V4d8H-kivXsfK~3Ti?c z>U+e<3%lmQ+7finG&qfsh%J8aR~3JNOVx``WXIZvUc#F*B4Lklr){lSTmgW$&muyz z<}ExDPEk~O(Gt}6l|Xq>%vIGt_WsSPNF%?3`N}dG+R{38FS|zh=j7OSe(qJm1u~Mi z13iBPud9B$@nS%JY+=SUvw|!*KsJ*WKnz|h1b&Y+U z-kU-(EvZ|PJq#qKKgmbcs|IzCJyxAU?i$pS5o!RiP~&fQ;JjWd#st#$fhaG8}ivZ$?fB*$;W7LiE3!t zpf^@V+K5$OG#M5ErPxp6UJw$JBaNswE?F&HJC)Quy@-B2h!ziFZ|gdQlWB3bNQl)* z{}@>t4ckruv>WV}t|TUM<_Y4)`RO_=Jb<}Gxz#D`kyvlDa$E3r+=*=a;&l}^|z2Z;a*2VfE-u-oev z!R%|JXqNhR$PX`h$rk2omO3fPqC%VB*1DC0&r;{F0v)qJZ0YY@wT+~jE`T|B8r#rn zZ18L+11AupF`_O7*+tZhoHO8&DfbNrM`5`ngn-a`s|S-uoilMdfx4+wS$k@49jqay z^MXK%xlZRSfv@#6l+D#m#{6I78j-Ii0bR8o?dGQTF2u^SZ)O|EXXxJBsO*>o*5TgV zPwg;cT3Z*e?WJ2yzZI|4nA^!7I$%C$3=&^lO{be>DL=5GlpxCwS$8UvL{7u=J?@IZ zGOf+FsBkUAVEkrKRQV?W=s5%a7K4b)fX7iAPar@rpnuy7=@^DhM7k;p;NRx4;9?5NidcaDKwEF_zmVPku$5O` zh|&}$vOq*A3cw=#l^>Z$3^8E;hEB;3)6J;Af%I`C2-$dOim+{u6{U+p>8(z^TB&`7 zexxgwaI@1-K3&Jm0oLfP&T`DVzlXVHzPk}kLF>Y9Zc;i6|Mfuz#kn)Z3Oo-PBKajp z^+SG(R#zmF?Dnl#^Y(sm!fCWkZ zf;|GuUirvhj8excwp*)nrki@PxIk04^avxJESM+FoyA706TnK~ddZJrXt;l>J4F+R zi$QXN0l~~`GxwQ6Nu-A!<0Zpad<{s(M*oWKAlw%O zkeC~U>p~;Jv^muV&EZsOzg5(#32Cl_v|5F+oY>!Xp(SBjb$<>{>;Obm0sv7No+=M` z^>7!x-uqIsM#Iw;_1hM10>pZ0#I;7EIE~(0N9ye}ko^AB1@5aMN_{f>99vGDZY_*k z-Lh|PA!Xgw7%9WL&qH5LKeuF56;h+wymawGHDfH3X^Rt!d;B&Dn9CTasefBF#(4gm zg+H^Ex%BE=j_>VoDu^BnirI^x4~slk|9A+BwEhl1j3%mB zq54tS#n_l%j3-=(EQ-Wt%(fp$h|u9Nm6>@#>fSm#Pkp2{NB5YeL-X?XUdTmS$97!- zJh?0}bEJuG^QbEqENj&?@C}4y6GL_{g^`i17UlvFX;!YW9X;x!6%jg)K&N)6>zFvk ziy0LFtVtEsQCqE*ornH4>Smx>)2*avPmvDS8CAK(0AJJE4%j1}*tQ)#k-etu#0y^$ z7wB)QVT?{S=ljqhPabC)@XuCgYohAH5+j?`u3)YLMO%>kRb9wN{?x%%LmEfPOP2<1auDqXg!hb?BPw*vsNmds z#=rnO77{Y%3+*gi8Z;I@Ygf~i zIysS+-#c~}>X}IGwKfM58BW0p*x_QtG>ri$6n!5m|E(E|+T$#ptG1WEbxOllv830X zP`h4*oF#a|X7-W%ID&6VjE*DJQgh#fwk~%#n9;cf>l8juTbnN5sa-Qg1-6_T z?MYcGLTMyB6$xQvkX#p{qqOGED4xg^EiMt=>@*jvpB=}jZfy|e2Tr>{Hb-*xYJBrx zavh{xi|)A>YBnQ^%3jsoB7K%ijsoBrKSl71vU=(D-ie6aS zPItP@)JX=v@lG|$l4IAr(6mFJpE$kn10?)FwqeQ8dtzoR?zU@AruYTJG$a{&PXUU5 z21_l8#Won))f7)`7jSo#1bfSm4|e1sQCK5Yu$S_92Fh(OcWZ|;*xuRdHQAOi6P2 zLmgvvD=w>UbuqEm6$e?)teY06>vmE~q<#xHPPK^Fp!@4mGn%|c*sB|l|3t%&;E0;Z zPt=Lt81PU>K|tW{sqCSV2B4<5%CNp*EccbUQ&cfU;*nh`=PD!QQ}R~pii!w^P1rQtSg~HnK5zYpJsxIQ%WDcN!d$NHDikuk1c4iHelx1Qd5Ix(}UWeJu><(k4Y@Cxw zBDt(h+F-MBrt&j({ttpq?;J7B?1BeUhq^ue^Wnu4AuS8@bAWuwrPG zbCt=s(`cU(vwh@UV+yZ+of+N#+(PZ@)ch9YSSFd--nTimxG#T}61n9kV zCC}24O~s{j&JSY7Q$^P!ChK`@j-Xk2W(_|Q9Sg_tF?N*^$n7=<-2O&1NUE_S0Fk{8GKikgLxXGp3}8}saEv;rg4G_L<;4c{ zF<5E~LO#5WK!8|4=v&~oNS7qBKSd0I@iUmOs>wr~q7&+ls*%Vy8GK9f2WqPyg>MeZ ziZA>tT|}EGJ7MI}VcGZv5JFK_-(Y7sNY#k~A}D|evHDR$Vf9koogzUcXeDtXNvkhn z$C#V^c1{Jkq+dGEz1Nd5=L6SkTqHH4)S~5_g+H5+V)yLOQ?yp_Utx@R8nZi#?))WY zAK@A2DiZ?=H=kR^L zyHFv>`l#hPtB6L%fs!97x5SSQwSW^`1m3LXz17jg#=$m9B)PrJuxEDB#&+swbV-TSQ1B^Q zgt>u=cl%Wyns($`m#JG=6XUuo`y=pQ!@ZU}2<-J%z%Va4jfzHbtV9o`gXC8RJ$?Iu8o1PB*g0wO?xP;g8EU@xf*(!`lU1(6$+CM@V?t%?Ky zhIif+nt7|ZoMQPQj>!rT-=rhNS?D=LL*oyXMrk^2k`OO8j313Zm}e5R>S0tua-J2e ziU=b3gEcl7(JGnM_61?Jlie*Nkr{lrC5L~cCQQLk zU?jZuAvJ|+q(?ZS>|_=;XP#EcAb81FO}VPUS1o;!byoXg?$)%V5XxwS6twwk9Ie$2 znEnbsnPiaxB^uniyB#A7TFlxMrD2#-J-JhZ)#53bCRlUT=mugGv`w~9$%@_->Ig_+ zlMX*Jv@~;9&?9>IBsf#8x%RI;ph;{1viCoN8D5#@R*UxR8k18Z!Y3P8cJ$!n)Jg&cR)*@(TBZJC|B46NSNWFPfR71IZ8&6^tfa7l|F6Ty|+De_LfW z7AV?a%I_Xp`kKM95DGO#-8JU$>~)YVE*yJ!lQx2340k;!Fq7y+jEw6ElbFMMYPU!% z+J+yD;RD6(koneawusvT^8@JJqi*Qg(;?=EV4c7uJwdPWKNf29q!6LYL3J$Ueo(X zQ*%B`8X4c6__|fcT}TalPAACL9aYBokW#+DI%fGPLVC#~@O%MwEntxzK33>9ikz&= zMRw{yc15KcQoyN;fq>mH;i2?ambx+Mc`$NFAyLUX^{*zO|6yG+;x8^m4HA~jkT#l? zoo2-;*slgGnKs*v1;2-rpIoON`|e}qcN5b{i%6X=opMV;@19$08H22$JU8^FD~S-& zo5~^252u)aP3RuP%)sge**LRllUoJ2nc;pc))yeCZ(y#+sVWl=3Uy}=l1BcdMm15) zYniHURnjW5!4H2^>r})^g*Dt=Iw!HDWPg3&dt$KY%Wjb==2Hs3YeYj7QQGltUo#)oGg5gPfFm z&%&Q3bOK&sQ3246W=XJ7vXZgg!FY!-;oP1(ddeGPl8AkPI8u5jk=icrXx^b5O3QhzssWNN zL>vW%6j)PtrhQpfrCj7s6x?F39L`={W-}bnqxO{FBTtxa9jGHNcoO#zI*yUqNh9_# z(2quenaA0RdmfCO;t?xsITlJwCs(3{>Cw%P=`}czme&=v2fj6l9HX8h)aYKSX#k3F zV^40`9(kRSuM;ty@~hVDVJG7VR5Ls`#cV?XonlH-ZKTLsSw6t^K&j_kt5Oa!v^8Lz z^8A|{FjH=`Ljp&;%ov;|kS&O@J6MQV;qfAD++fn{2zf?7Ak!jLrbpe*s@7PxPIRCW z7(ziZYj_7H8kD4r+JZU{QIsbprYyBWTBqt58<7$KKo=oo0Ib^xB--(#w72AZ~nyoeBy6jOVAW&^FbQ<}VF*zcq z2W-#6pDtK=3_2)4%65#eh?lZx_IAc6kQ;*`j}Zp`YTx}h{BNqPyf#@s{AX=Cd%cPh4P)jbw#+eO(#Sob1+m9=zs zBh8OFSK~MOr6aGe8=l5i`{SzaWTEj1du#3~`Wz><=Fj|SWeV?s<9nz&E+|*(sYWwd zUTaF}jq6^Ek-9Q`uFxK9!fd8G-s@qE#2u=>u~Lx5%lQU%tn+o6mn%FT$qaChbwOQI z&9ScNJ0QlAg}Ld;CVBKeGi)ud08<5wW!IQYPUvBT9gH>94;2)Cwd;vBb9#a7D*)?` z2GL`ug6zug)u#&Gfka~NHp&(jax>jwur!I@#eOKyHO=PWkw1)nfB$>gj z5i(h47->m-9lL(VusVll?uQ{y1H;9cO1m58FvC|)PS+42T4&6s2%H0g7}WJNst`de zNn!Dfq(qM0vlNdT#7t+8T$q0Ovxsr&378^YR*l_DZbOc`fa&&)HH`64MOEkAx4_vu z(t(UeF}eH-Oq(Ghb!FucKXU1Cs=)Syl{3_=1BEh5gs8KX2#1~94lhFVO^ISW5&pxjvJ%`Li_WbY0)m#&4Vk4I0}v+t{}4q_J(AO=H`(ZKtuD##jX}&pfl|^E`-k4z~(2+qv*hii-U^;$XDwwt@{roqW$QAZ)W#w$9bpU93-D zGpaDW;#Bth$zPw0c?w}kfKH2}{R=)6owOU#k90vI8RlFSD}C7OGhQ-Z{VvUzfn(shouUF}z1ah)3N08}HJ` zo?;(*8VBn*$vknh@wti-M6OL7!mPSb$b&`=7L<)EZe~JJSlEdX3QqAT4QqTdYu7gB z;`PtLU(XEB;zvT*{_dbkxZlRamlx*UGc+3+w4sI$dT6i$>?6PF5ezy}r{=?P+RFM% zdub3J8cXyNq3AB3zdK3{80BbN$rb!cQ86$lj$^ioiJZN+w=~lbVS{DWDv+TNZujQW zyZ2ONTP!$i)EOZ#|A|ZfgJ?aQVe?Q%3}s9;%eljAj;6cHfjph$Vor;*^H5QT{q&L< zEQWVpQC;qLJ0+?6kb$X)Bh#&Y{|Qz3m^yhV^zLqd^sc9!8Yh~A+?4~k3wn6f4V8zJ zn#VN0I(`@8i01Uwi=WGpfifm@7JKl6xolW8b|{;yT(8Kg`m)tdt zPG91y8GdLNSRvi574VPjNPP3riHL@0Jm?jZN&T~YkrLk?^3W7H*$3V+H1v|Oi>qd8 zTynLH->IWa_h_`acUd=kS5ewTD0!}Dl5l1iA3z6VhO`BOF0@WGZVzED5H2JxL`zZ4(;5HBL;Qh zaUl#TK_W8P6s}MOgMdAm{YBGg?_93{F3Jcxjd0xht&9_Mqyz@yEh#(u@r#}>%KjYI zGEUP}x^SQ3g2t^4>wX4YA zCIZ%X<6DSXK1?K!62|h~#2gEUK9)V=8ary!>)V$_4~KO z95~v=EVl7)INr5USK>O_s7;k>g}pTMthovXGUe~a*pQreYiR3y4T2@*q;7rII!_Et1GS`qacV13d8tN%!_7$oQMST3T zZ$@LB?ki7u{Y$Q15VKMq7tDlJkV%=TDSTy@>?Z0&ep)Otm zI;Bc^Ck)?qgQ{a))WxFX#a#mT<)S*=JB~!zUPBk37P_<|jS!?0X#Y+SvU-}-a?|I( z-`!q0p>|$buDdc}$+y8b|$I7=Kacp+AVUn4mPBWV|)I zjg6&Xts)nEMd$ZKlZBDpg!5SJ=)i?pd_d|&Pj~w{lf2m`VvE%?apfl;gsK?r*Sbzq zWqIyi9f&h`p!S&FuoBJ{-{+tWL-?3WSEh|A?2bJ|u(}X@=Frd6g5|krA1{fXy~~PZ z&3bgUrZ<3;X9%?bU4Zk21xX~y5$#L68o%bwdJHD{LpGURTSC`Sd-xXw%`r7TL5rRt-$ zG@q2AT$E0l=Mu#Cx>SumhQ$y;oPt&7Lm`nNGT2GaP<7EaQm)Nprj=ZST)}TwE`p3Y zE3_p_%b1D-r(5aUCcX*`N=~Uwv!brkMt%meKX_X>w)^-Ua$)s?AA&|u?3N0s3DvPZ%KV?$9CP?6-RhdP)+%_@H<=*m;l4#g;XaG zI!gH|=D(wj3!F>V6Gi`WuOt_L&d!CO!x<0H#eCvYw`u0eDGo`7L%~%VCws(kNx0OP zCkFRzHTFt*;0tF-#5t?*?yLOidN8=y2B_GPP`L`2kGg*Gs_aTfh{O7#cSx(eV9zM! z3O9-5;P%_5V&fDRL;Yt_flv+RR!ff7*)XK^ctwgl!N#cGPpEMv4^fs383f?RHQS$fUC^l&+wN)cE zI(~n>(hY_%XS}3wi@k|~^TUQpmc%rgYJ8V;jFEvTa1yaD;;u=9WU#90vgxu-Y*@3N zgh>AL`+UrAm!PujRe4^%T(MQgY^5{w#P)Ijz6+yVrX|+vm@z$<3>T7mu6kYw`pxMq zv6uy<>lj0KqJ+IJqj;Z^Ss8(6l+{E$Qb*D=OQYmCg%;1(aAlNhGST>yzSt9P{4x~i zDky;wJ^d4O<44uK$s!BN(h3Bev#|$imbzpWvm38F$YfdRL(st^?l9GRhNn40u z6%#xSrT_QIEA7{P6-d!SLsyDwmZR_z6`qg^nFVEx$_;NnSX~sdfRE9!d(eIWCcQJ_ zU1GkrQ*?0MI=Ya+s_Bgz{>t@)s?M^Oq3Ivh9I__*!ZRGVA=`>;w%NocvBH%b2^bUs zF4<}cGe%hnkirS7DS|qNOR0RZ08EzRMm7;xfRuqQdZ0RvlB#4HRsngW2|_8it8nwxd^9PSn8`ii`PIkcml9$> zZxijQCqnAEg+r1KE6s#YC)CU}5{mi-evLBUq7C&+ymq>Z@;IP6JZ>YlfIMO;AUjl&uA69BJXzBE7aokuSwo1EfTCbl#y9G@!1QnGY0=J@#tjHe z{;WO;b-WN%K@p+I(EjLjOK*4Sg}M8+ic%SQ9FVsVL+TjTuk_A`aNW)dAkY(K2P`d4+U2W($ zuPc>c82=#FQh(l~~h{;|rovuz4`#xuTHa9zhgvZ=U*OAiKaeMZK=;{Y$J2_vM79=x+A6Wk-I(in5s0j zp*A{J9iY9a%E@X(*t_v*UIM`yvRqfd@`4* znu&i6Py4^zpzPqR^1HOj=`{U;OrhcWIQtxSY1r{n4elF>`j| zS3et7rJGtGR5kWHk#*9owsoE4jJiogy7H!5XPtV0eZ_Hw!dn1*#qxsgqW%GD2+xDQ z`i#Q5Bg~#C>8Yg2%710QPmXXP-}kEsZ^e4Z%O8Ymedp0ivNm|chR0QiD^X^Zp3q{7 z2hRD?y=%6jW%T&Uq3Y!=KKfLOj^J)v{jnwdV)P$CyK7C^c`eV?ua+zLLUf5F%$%Rl z7eUn$TB;X1Cl!H!<@aIiazPJmsTX{ow9d#URjoK35S(y%VN*yn}rxc7}wca>V zLAF?vRH|vb?Nk8H18CCw2Ro+wd+i@k|BHqNuWgJmL}PlYW#iAFbK*2fMc}scSknaM zPkgMv>F~1-@>T1$X2aBllIG}ec$BAtAOp0Q7lM^hJezY@+={yE6r$R)0pnXv=mNQNfRCGp;e23-bbj8Eew420k`0R`DH5>Hj{14m$*S_vgUL3}P4Tq?L zdH9&WWYmxX5BB-Sx#|9Y1U8L~w06)&bq18E6PlDuHSFd3J1?!Gqdt@Y4s%7|Jx#acx0w*I!4w`&s*iied+VbO7l94AFxK8Rb< zHuS8Gs`tdz5YIsmaXE~)t!nBp*5b7C%hh!_wcI7NdBO7*3Rh03xI-iTSxQwUC~)$1 zW3%2ea~X;Z3&z`6EC~?_KYNzZ5Ff?WK+7r}>1@$5pA=e-O$g=Ni`I*kwpDrWBRF{p!}e687pi(dyCc&r8J*5canvg~A(LexXcDnk>VU{2*)UV*^!f$@X=K+& z(5vTRmR!tLdP-t6O~bL6@TD1WcBiaqK}q4Ue_KRgI}suf_aF4wcs^s+#W)AtWGlT zE|QVPGCO!&N~?yQWW+w9G`SVNBuxts=?1E_+A?0WHtvkLF!l|}W>a&;GIxaKo*}lm_P6E&YY4tyugfby#$Ig%tf2LXze3X4lJb;YMNqNT_412 zwFf-_@Pg!&z#H?;UnBQ-SIEa}UoP;>TzwZaaI>kQ$zz1>ZEU6~QF_&}`WGXk&@}8+ z9oVr7G@E=L#zvK;1HG(|4O#`nNUD5qxo@@@^jtNm}t^db0#{a2P+6Ua+DV0jRuC` z5ACy$iJe96fN|I;L-efho|Q^W+oNPU9ZKetTo<Ve+t5`$~nNTpdi-x8{FVYMnx0LqtFVfd$8b;j_ZrsUs~;!+v=xQ7d< zw^&sjS==iTA#^nMS+PFGkn<}U!UFiSz560j>WRS|Q2%EzhvF_9N+L7FO) zs%p783A3h>%UFw!SbC?Gvo=jf<>@O`8x6Xtpw%UckC4BR!POzZ#Kwju+UQ3bMGy=k zp@t@VH{}a)+r*zE+5ZSJ4o99-MbGDDH)o3HI%)WnFC{0#?oejfi&ol~ULjf`-OP~~ zYIxZd{7~+PQu=$3%q{lThI0J{`WJ48xqj03&TCdJ+-oWeSK9y z9m|YhYAJ)7XX82F{|=A+(J}~`b2CFfIVtnGtKM^TdAYs5xxTvkgNMgDtMQ`(cac2) zS*7Y5^>i$jt33D4Yws8=to{3NjJ)slSk&Q+->Y5E=H{l$KFGfYYINDCq^)X5)~Q8A zr3iA0h$Wl2{ss>LU9GIqLeC_bwHIpHZ9SKyMa5(=Tq`}fQ z7vZsb;tIimY4MDa_z&DK-M!X(8KrApDv$G4-HcSbGH2cCr3Lme@EvsNIA5k0igL*0 zv6Nxd+s!e|iz2nDca?P^U00#vLt?e97Nzgq8m-z3=bDg6gobW$`Yjglez)X*hX+k1 z+|63CD^ZApP4;TyL5DUM|7l*vXr!_!O32ID5~jE{A6ZLNL9|NtUu3Se#F7FRiN9Zq zUiBACEqb0zafxoJde)4_`y^PD?TLwB4_4?NAac z1!+A4eeXoK>pJ6xAgkH?isA`KCirx0)&w?3Sk5C#Gp~dv0w*u7QpA z6zLFx22+YF&vX#dV-j2^XU<&$nXr<5lP-WJsSqAbdqWWZuEhh^vc@bZI#7T7 z<@IG+zt!Gh->6~{bsI^<8V!-o-pA&AVy5Rm(nS(^bL}lp7}*Dp zA~y*`mOcSMAzfK{O8LC(IlDLm@6GARiPm)QMbNpI3Y#=09mW1*0s$Rmcd#&6gy~^B-Urn)CgwAp`(7Td9H4@!SOUNz zsTM2E)QASaKubF3w|{`r?y!2jWB0vFJ&-5RZWoGBlj?%s;=8bv#mAEPRJ3 z$0*+-?rjOql}hSlyQSt2*MOD%DO;ng^hJY{OAmW6sf&WSRI-yToW*=41~JtAvOP@+&&~l1hf*pl*#6fnXhpSR$^jLh(=3Gs}+vim#i$gbJZ0bLh|one zp3CI0AUCi;Xp%b4)Qs%0(~JH+YEyVJJDR8A;`u&7&q zAt!4Vi>UOha{ZPXJ>RS?$T81ihHd9NjNvv=Yidxi z^Tk4qZF8W21*1@hqiX>jThP`-?X%Y3ZTzyQ3Lz6}$f%l`#)TT(L{<*$wH;|4H?0L8(5lbp8gUQTJO!$lT zw5*gzN?(n?X<77>vE)apBG#&s4+trKUG#jW@93+m9-7wEO1nm6AGcc20@RGr8h^(6+qH5p0Rh0T? z)O}Qy78+X9i1SVA>(K3?zW0ME6WKRV|2{2k&+}^!J^_I*Fh)$k=S}7j0UJJEkLIC( zrm?vQlb`i1$yAewL_ku+6uY@UDxV6Dc`Dgd5+oWRswlus&Z9LH&L&fEJ|&fZ2F{o4+X*z4Je+hrz=B9_Rkks$I|zu3LdXd z=N46z7_X-*V&v#%$ZaZ~0A@0RiSKYN3Ak`iWvLFIp7x?<_#kpm?KU;q9I>Nz0itM& zSBDqL%~_`_!s%+5<8WdEf zN2DsWr-u8|vcHOZoQARdQ?!u2O2{JUC%3Jvt-kBx1dN7`-+qrMUua%QJpyhC6@)u5dXzOyoA{Uhb)?@}=!_fsB-EccrR!W0Kx%@|N-drUmY;`jS z?DIt1Zb7LgMr0+sFEmM9gdtM2G-?f$vQ+SRVHS9v%&iFH&F!2lH2gL`RLpR%#C_w# zkBTVf5mf>S^s0*c;{IxulIYXex%IRw86l^mmGS_T%!@U=4Ee8LK&|I_PZNeN_lu1j zW!%x`XMXzYLEd(a0*v^LO$Jg)JiSU2F2g5}y)|PkBX0$aOf#?S8#`yYB*avyvQ*U~ zPW6o3;bx`)%s)BNIEZn)8s}x_V?dfVrMkz(*xB3K-2CY3s#Z#mXqtXfzuVK)(XxE5 zx2x-29EpIp^)q+V7Jf)9KQjdz^lB%jWkYkdzb2)K2YiKHgneP?@88c>J2p>+^8+cc5UPz_L!C zr=`{1*1^y2a%=OoD%pwa65zvlo0{62|A%$}GDB7Q!-GQx{WhK->;Mkp@!=tx$M@yx zV<0gxk!$zc+|Bd;YTN4Zv4sd8K+}D$@zq0XZEpV9yH5Q0_(+w@+4R@?~h(q11$jFr3?U@JtibINN;oaxl6X{0c;x?TL zHV5Ojz{A&peb0T{JTiKr*~yRV`6a`>L-ajTBCi}%dC=n)Y(-JAPKu^LhitLyT(#Q_ zGh!56WbE=zd?u+dDkmb2XHBz8W@EzzXiEm`j_TD!u+uBoKy^Gl<5{p{th=4DVVO1X zjk~-%=F-wDlF~~snX&9ADbw|`tCpb#`FEmx4J3-Gh_2(+auj4ljG(#PItYhG#k~{} zOf3de@{D_ETrj6|zN!zeiw)_e3P#{H`XHfIw{aO)m?WF06z$_P6#9)uTh2DdBzZ!U zm}~>X@qu+D>j_)72B4SWPmNI{{pbC4!5>^Rqyu}_Ff5n?LRLzous1x%q}(_9t{o@N|v@B zPEKm;?LgN5GbH}_Oi^GA>1Z<0)BC)H$@@Kh#IhCl0B3w0f2-rUrM|v?!JL49ec>%; za!r@Zc>}-i!|p0P2w=l?J^okt0Huu2%U)VjB_lm!*K41bkB<+)wSn{(E4c0xztrz? zwXrv^wRF{N2GZ0X`@e65exD;*S(|6}zsa+-`P|Oenmz)2MKV)U-9HB&!FIMby%@83 z2?+?gKbG#_ySkpA+mb3$!a_skZh4myfZlEBl63y2wB&EuI#4;3@0d zn;$O~H50B1on~gm+n-nOa|sEw%M1WZ`1taYF%qC94iy#E)y*wpR`k5w12mSAj429| z>8TldddANO{m;jSpEG%UBHu=s8vgP$U|z}-Md+9Fn^>FO{q6gEnBxmA0EAs#W9J>x z=iB4w%jerVACiwQec&c`5f$TF`$nj9C7*cml>KOSk+O44)|t?_8WXahqDDjR{a=>b z^m{bs=cjWmr5Wk2dm&pv!vV_LWjlLWYVw#$c|+Xs%hJ3w_F3wlWZAvOPdmuA2-+V*>td{#Fl;J#=95iI5&w#a9mAgM0ou zQask06(^UM8OG?l3Zv_5N&jYFni{8YExA9N}%xz#6Ru zQdD&_)kiW4*>U`c)%h1RiKd8$?|0bqHBU`a5HpvDo>WSZCl{e%q|8UM;qhDaIRTsYwy#r#ZgTk3#p~tASz_G! z`OQPi_WK3D-{bvMjeb>kW_r5T_m=NWY)@xne_T5t{ekBINZy#(Secn=po;Txxjon< zya4SiEbQG)-p$X?KRrD)l*sqI?H(jj$^($jk>Qb&;*yK4wsqSkuw1Ih|0DzL%g&f^ z`5d12lZgzs%Z<&gErOg>00RVkHa1pPw$~Xa9G~Cj_xASw{{8!B1a1T6x(jKGx25s! zZmgk$e}jJFChKv_1Bfo%nBAqS%a5xLes8DSQy>n$eft-6IE{#a03eR&yjB`X)<61u z{ro9w$=H#0tN1TlZCV?s zPg|9x0?l480!;!;&c+@lZ5Ec(PIkuRSf^$DWd$oCbC0b`J_Gm`ccZdz(RxgdovQPwDD_+3}Le}mO3j@xb_r1;4k&mYXd=%rq(GjvhHwMj zVfhd#Drc$9v_N7$!fVk;692&?3QG3GDs9SB8;y^Xp@n%Wg8_H?bw1Rn?sqdG8O z=$?2syORG^b=;R{N2?VYw9${2haPF5YU0TRWEz>pwvlHywk_3z+tOc57vj70C0jD| z%`Q=N#X|Nhp9gFCMh(c6m|4$mE13wY7X`j;lkm^@`{CC z6!X|d`wsoZc;om2JBFLIeTy#&SV*$5;^fp!R*!o?crynl(gPCC)G%r5R3^p;yzJaAb3PCG0jrkjsVP3sCoE8Ma!R#skC@1|@B0+6cPkoZ0V|Ey z<8E)+?=zzUnbAD@8N`^w(c*4ES0)5O`t&#&iX95^=z_sBpzo>x17&Tr{? z0<8O({Ob|^x9f+h^(5(;rKN|hj}QL0Km0(#+2(XO-9S0R5-jfhvbTEslMx6405SjY z@W}W6Ub6UC2!YsaeLZW>Z}o%xoAKOljPz725V22gut~gK9*$C=9mnJaob7kKIo;qV$K^v z)p+BS3{gO;7P8OnE`F{5ze-WY7UF+~U?NsIZh1TB(N|gQf$be{Si(0<;T1^!zpAu^ zr?5nM%Q;N?`}E;aVW~z4P%CKDqD)YN!pU+X8+hwS`>2jB%h;{Vd19GE%UmO+IAa$d z6vt4H1?kjrhMDaYYBwq#ZaXi2Z|^b%?a^KML#nKtBalY3WV!Lb zaS3$(FopgSG1ZEeic~28NhCrWyt32}!#E`t1WVl^z!hajGG)R#dXdQdR|SR%52?3a z0O5*Dve&MDBH2nqnG|nwQ!EL&n6`O6fPRmu4A1qN(qMxlP4CB`@sxN*(9L+&q9|XZ zJfh`>{MO)HEX_9U+Rld{16EWAnVQ*Of_qp`&z^U&CFQSqR=!yGl755`?1TnEO zvhwnnP>=ZbKsEJxX?uBgrsmzz)#T&s3=3k^?|wS~aQA7#LmB=hUR;UNVD<&s`i zm*+hksQ71b@z0-X>gt5N-V2sZ;RCmnGr;Kq)*AwUn8zmpkt?L}f&fxzo_Kw{u(P%f z#UuwXYB<>VHZ5!aaf;u&d;*?;V(P!0;9&URX-}l6E1YU&W98}N;Sqfh#ve#Vf!}~y z{XVw_V315XclJ*zTq|P2g@uJ(`Ugq;OUw2e-2X(m;WF)nCpie7ft{oDUR^0P)O-O| zB`%H4Ik?cN7q?MUGG%n46MT(Irq(HzV}lBR0!4(~32q`VW{Li?R$lQ?y9duNU&(zL zmk6Ub2DiaqrNCY&h%@hk1Dc09WVXjC20dXJ0MUzbY-#a{{Ql<$*#VQ_ zxj`G!d;3JOf{Cz>!W$8l!(VZ0xP5AC1!)9Sl|we=l^V1$Zxu)4(fmxJ*V^LKdiY$o z(bNpWBKLm=6hHiR@q3B-0n4SF49hv!fP*}@iI!Apmr8fBicRF%=%#&wKYXm|H(1); zgI4~>j2LbZk7?&~SN!!<3RV)$Q=!9?IdDcwyn$^4*^5iiW}$Pi21~+$?B8n@$U#-0 z{ZWz0@yzf5D+Bj%P1q#;2nkRk>ITrO3Q@u;4yTx7rn5DglN($385tRCV^dZ?No`NM zH&B+g^?;m-XT(>Tz8{MlsQO*fG@89cOYXjx!?413sthXCaZsxwp#b6q>4n5*s7!TA zK>*>8VvCQKwh`~&v0Cs%3tM&D|rZf*I8=Z z$U@0v(PRv|dYaw#d~`Vf88U_cS91gFM|Pi2FL{5X-#cJv>*C^UqY^4A{I72kz+E?M z@R%Iojr$5f{^Q8fbVM3D8k9F5bel>RxysCJT#6g!sEUgzP_6;A-nlEcP!aCwDYrJj z>PsXg6}GA|@NznRZa7r0(ap-rsG5I7x&tt`|M{Lgp1XB)cmbhfZQZ$Q-Y6#r#3?l5 z9(g`+6c7OpJMLYE0)v2N0dQ~2UqK3}Kxp10-PzgM*jQVO93y>2(&zEx%5=QE9i>jJePJlns}9H2=?{pcg-jqH?a z3M(eRUI-_KRY21uZ?UQx=aPgrVal%I4P#?<$@s;RkX66%`xZyDT?M}f5#n?^Gz$h4 za?b4L-na6D1@{bDDGush&rKzwN=HgxXsg#~Z4}VaKdUB`J0y*5BK4}~SC^zofVy+46Dy)OzcF>y4>rq@211AqJqnvH z4dv>%xFyvAmJ$_WCv6FpU1Y9;5v2fv6E3o&N~_+KntRZ!B(+J~@B1RA@nazf5*P9l zo6=>-wNEYJ_upDG25ymmsE3pel|NsyjHT`KvU$!gf$zEMB)~c2V_~^@TfOD~xImi8 z=EJ-Iq*(@>q20Ej`+u`-WD1d%$K^5M48< z87m;G-%(XY)#h&@Y=-w)!>9~(`Z=NzC3I!C{eVX$yVjBl|IaMMdD{zV<3#+=h1ugy z5$j~a6bdhn3--tuk(%vvn4>kTSe4R$tr*(Of;6kF*X(t-fNhWm7lQ%x?9V1R-fOyDGIBx!aP6W>8U98CA%;B^$K)P%Q z^k)?I0~wTzk#xO2@4*-KJT&kFe>hsWsjj`^3kS+%x)ZG?AOFlH^t_Io6Lj3tU*x?QcAB5hca>a<@krDm z4LU%}a|JB;h-?kM6gQ=7*q2X2c2vK-+o7n%nERNv=Vt&o*|ph~mUdiL zHU{%}*`wowPQ&;G29XThjH?6ikcwTag&Tp_`fs&- zrlSP@$15WLEUgiXd^H7(ty;{Efwbp8u?tvwAp6@}#-8@)`?+fe@IVbq74qNJ7^?S0 z)wRg=3MmUz8#Zccx?vR}P?-3#Uf^`!O;c-%NTWqR=Pix7;341+=4MFQ2{T?T5me_q z%n~Pd?U`PGC{RS@DI?T4B}7hz3y7zsEO;khsJdC6pWfq~6+M|L>`q0PgTYY<&ye^Y zAzG@R88k;(>$PBz39Xcy&}by#fn~m%L%22t|_7KH7bd zByU9Hz392rE>!t;KvD3M97k`Ua<9P};8hNN1({tVs#6Adou1@x5EW72&qNlDXd8m^ z$;lmQOipd6^u1S2>$#z}CapPPPB3Bz*J*sIbB=a*(P6l0tC{mMet`E$4s+e9smp!& zQ0jKnW~(!p#s1aNSGxv2q~e%I9a|r!%pHVfn3~SYoAyVpvmeK0)@qK2_N-0DUtiiA9i#}Cv~$hv%dagx?#$RP-bxie%{RVU%|+)?enuWA)d z9bMX*adzA7UGBEm^ZQA0z7KPN!xz%muN7>7zllf#49x3)CMPJpT+gb(H0w4-G2-d; zJehwTeXYJYIy*1ewt(Fd&aZd#EG%3j+1c4UIJ|?KTi@?_ac<5*%j`iaZ5jT*eRkHiWn_35Cx*hmgRFbb8X+zg z)H`-9>3scm3KdDAE~Xjl}NHF(+-p}`|CN8EX zq}~G;tvU^MeZt(jwMj7^vWSFa@=>sPmBmK*iKpGU3`E)8!cjcjunbZK$=9sV~*qoKRD$o=alb zb)*osA@C=8To<3C6A2QS<5X1W_NRSUuIz33KEFjkZT^KE~?E3d)FJ0e)c$jAEK+{y!uuno&5K=xZy=j`G8!3WLj zE=5Pb(hp(TAa2-mm4YpdH6P$=2m||o&7?eSFU|gL#G1mCHpxJeq%$bZr#dRROq~GB z6VUrcPMh{ldQG}IVr@c!NMSMCRpjp-Q5xM~Z=#Y*UBV&VjrZ9MSIygXS1OHT+;A6- z(}n)@tJpA#R+azB3^i@^M&dwx%v8x;1Q(mYBL)uUH*1{8=+~LIQX~B;Rt?=6J?H^? zAyJv;f8bEs%qU4zejy49qAd5h!MWZEZ?%3d>q+VuyzOB!G9D@wajQ&7SJNWnLKH*( zJ|-h%dW3>Y;=Jx!vT~6mn>5y16&gY8kjQMq2UKbl8gQvgYsWNnh0=MR3jIrr~IBFkt zRNb4Qt9t96P)`>O5;d}t!IZ+R@6}@_)Rq^$?>ma@b*>o>n=p^Gc@OYYJ}9dz*MvOzm7j_tM}hGZM$tO0)klgLH68=aVZc8Xhqt; zh5`M_y1MJQ&x3z}QEolm`nhYtT&Lstc#@TR#0~)B=U(s7;o$RlbN=b})7$6`5VtKj zaI9*UI5;_nTujavD;6;sDN0KI>myrRHv;zyfJdOBV5VU3KV5YN1c12QHPyxqwz!a`rvqE$D2g*@7k8QpLMjgWbt zhF>`bxC8PTt$GasU={IrUd7nc>f!BdUCgxV*l$FfEEzSlxr@w#Vxg;paczX^&>(>6 zR~z{@aaHj9O(|QSNN^i^7Nd{bkwm%u^cc<|`{L6ALyAOJ20=mw9JB0wknNXyz*$#j z>50z2<3`=;XL&4=K*Vu%3$hR=mr*UK?HI#GybGu=%`pize+%CHW|>j*d*DJPo@A{B z5cp#ZCE7R;GE>NP{lU`+U7?(RlMqVMF{aAxL|{t5$GW4ViAV>{e=?xxlBEXx<0${0 zR~?<3IE~0Fei&GwL_V$+@~c z+WKDa|99R3!WcF-zOKGD|M%~}y-vUa3+S^9=YQwn@wWdo)M7<(&V;&7UH}{)w>R7G zw_q;yJA7>%9Ua|%mgqJEJxZW=161h1WdQHTFm9mK2A4-dip%Ep;9zBK@cwuM`t@0a z7aDu*T}`*|RqMtD#wj&AfE$gjwl+7p)elD()Q!4M{967h@&RRLP00ePn~atr;y~vLKr4->g^~Gz zUmj|`$V&&^6%vm4KD$Tq?{^(sN~Mm4$(?YO^SzyiFBMX|rD@Q&#W*5CXOqf7WN|H$ zZ~J38q_`_T_C{!uhQ@Zt2PZn4zW&6Jg1pm$GpUasaG7PPAa`Y3*$iEKfDPe>?Y)C< zg8u;vai5ebH)5oa+ksacQybX$r(Q-fZC7#;>@KZMA1jT_N${;r6b|B2E0qvjs(*bY z_~#-YEv_Y0rAGzcPA?K5Lj}yx)leK!CyD*$n3Z%cS9F^*gPVoL7cYu(`17QHknR<^ zqti9mO24usGZtMTBj;@*P9m#K`0D_YCSf)77D_GJNS?S5UHB1W<(w@MLtZ!j-1k^-owHQj+2nS!>+~sDwYIISsp)pd z&Z6-ER^gYk__vX)gWvx3o zXXctc*UbLxLv8yW{vIYlPQews7T}gvq>-`l{dtzYt-Y-)1-IHP{Q34P^dNAq_Oa*Q z)AO|)1919lb=q`NO#^}31$lg)Zv*ZvL;@ZM_o89E_wRPS%}^7d)8e&g>g7?zg7N6; zG^rGfI}zRgzQUUxA9F4*i;9f5OIe_^d~qkKzZ3X{%Wf_wm4}+RPaZ~>nuP)BnGp@j zAwG3Hp=q@B4Tp7;PLUKe&t{7bmkM@+^7LocRUB!TK+a={Psx9v5rSWAfPQinu@DAqi#wXA3hGx$ zyfrJQI!+-Zrv@A`=S|uDf6%8UpZ{cf7{+*Md@fn$7DriXkLdkImGOxEtQaDj$gP$N zt7xe|&sTO~%n#H0*2kU^|H1?VqMFw(1CtaYfDZZ*#QkMb z89`Aph_tM8;zPb~IC>Fru%~^>$Ow6co~s#;;mSDhYrb8?`-gclFUd|@j?}aI%|kCJ zV%C(zg@u7|jmo293RwKtM~MA|AI)gt2iEki}JGYz(mvoK-I`F9Toj6hKWnJt+?) z1O|TwUtZ?e1SQNR06l>ExjEpr6d;6w9ux2}pdrq*D+u~eR!>GpZ}#@)j)s3vE=x2r zb8{>HFZ1-)aoEt;!NS4kzn@P3{GKJN%ZrN(8{6w!%8UvoCN3s+c25tFKV41qHBS*- z0stH!gG%Nsfbb_w@%rv&6uawF4=#-KnGet$8R$bh&i!Olp3qR{Me^F% zJFwnMHYl=8O(cZ`j3T$LvjmXc!(j$}BgGtlxNL%t7tkmg*Fd^p4HlJord5GgdS`SH zP|N~2!zawQ#PZ&8#h0GQASPE>j8U4JoD&u(su;W7p(e$nBD#jvKxr5&;ds$tugJN( zHjHR+C|Hpyq&hYJvamgqMM-LP z@+KMu;;FdlFD)&@9Ziw&O7TZL33}^kdF6ae+}9kuJXGZXHF)DM91x_1nBOS3;n!wr zKzdP=V(g+qf|Pbj4vN)`)VYndvn#LARL1IOhqf@cZ`1<^Lyy&&m$@4DUp5RARCiqT zkNZxlKtnDNA?p23u*0Q@UrCHhpzeXMsyd3h{hKPiCuSc;cG7fLv4K1r@Mw>yIA|#s z+ywU-KWkSDT6($Qk)tYRx;(yI=^L#$=CY{kMsW9Hwsn;uWSyhHdCd0@Ks?V=XwueN zBr-Jw4HJmMv5{uY41?GgNZNs?|PUN>~&9s4LVv*W#DElxq+~%O!@3)QBP;x z#gIXlFEZ_SGEqk3d2q`Gqv(G)i-m6VjMpBnG9s&LLM;NFh|)IKDiC1ZKl$d_R6@Gk z(ny<&Y9QJ;N*(0UwTJSNalq!axsnV|+YT{1EBoR5P;w9ef=WTyW(Q@wIbTV&)iYYgbs;;5!=;G@7zdaAdJS*|2fz+VY$T?TKs> zC2EmN8Hx;Y%yG&vl4b`czCF>MFy+|+OG^!j1M!Du6ph{08|2K>WX+U@)h=-V18BQy z_9rH_-}oC^hm#sRKX{=9qEwR2JiCZXK3@vuRsUwu&!Q}7UmF=!D8lOCdS8eo{E0-5 zY@OD+7VCGo;`)KXm{uF*Iad1XnNE{+OOP*>g&vJmEiVB19TD7pqD;-dI-0Hk=|nB_ zMkk_R6nVO=GBw`N2vZ^=AVXRL?9R*5kKBneT;Dh$H-biC4*eiBAzzCwQ$CMEHm#ya zFN;mFw(q$`?d46fpk>DsOINmHI>N=68VklsW~$oPO8tm!E@k|YW8&erK_dt==O~{H zQjl?2VD@aOTqZR6qD#5iSW5`0Bu+*+i|8vVVxlWT(9EBaRyFRQas|UWy5F6StU6e% z+xqZ{wNNQpNGZmWu3h5-Kaga$)xZrTNo&`|!83&3?W$#517j~xnrazTb)^}^-BAxU zpo_RGWx-*;WH$L18AxxaQ4=FU=KAX*LY*9VjgVp%W0G%x_Y)GynugC|hNWKRqHKcW z`i@S58Ua~hb!ef9JEfv>np(-7I0X2XQ8%I4CyR!PBjVG1^k}(l8y>z_sK8(AkhR^C zE?_9UORNWpEmW2?E-6dfIQAR9a+5#`qv17Yk_Hg=J$&N{C@;A}L6MXQ6X`l4L|Vv= zc1ri$=%caUFDJYcD9f18wzh0y>pKvowv$byOq(=BvSS@sJj(+`~Z= zG$l0Jhnt3t^;y!>#6DSXZBOJ|z-RDZVht4V87awr|4m%@T7-5{q(OwnLf^7Tcq{Qq z9ZkJ~b}X4(POecwhPx5q#Hp$CbXHc|Dpi3{tHTTWpSl@K*l$94h_{UoE>A*gQe zessE~qR4iIPxjuz$p2C24+~x286|WKAc|aA{3+OwuOS@ukcRJcjoywrkAQFQWY(84 zM!H*?iUux#QAJm_btC9z0h6!#y)Ol?KEA&no59I*SdRA6=68jYZ=5&GX{Pq;PjE5J za|`RBKfd*jBKk^p`RCf!&SIB^2kN0vQZ@eHyR+ucRUa|lF%PsVx8&!a6pWgUw?&6v zTwmp#)=chAOyF_<3X8FO@%u$+=jzi?*;TL-VVk$OfQSaw^cELYMpLKkESI|YJcPkt z`g`_WNeM~fOkG(nf2I5`AH(|&8!X3xrKLca@_hwUgHg38-1PJM6hVWsh;$Uz%=6HRkf(MP@^Q&g{@ZKLwTJY+ue-)rTpqDkkP7MgaB zXqCBlmGM&CQ6QI;tOqr%+({U-pF4yW1N$X#{Hdu9K{#|{a{AK zmA;dr82VStG={mxC_O^s27`QSR`L4je7d$vER|1-9{s6<;Z4D_ZF0}SYSKImE|Lbh z2<`%0nvyyWxTFXFDNGL2rtuCovU3oBZzORI_4Kzq;4H8?GFQiR)MlunVqc6oObw+) zjpI9Q*9ei(-wHByoV&>Gh4)G)n2XfNHUHBs)i7Gt8kTVrvncL6eB`$%u`;jZTiS&7 z(Z#}xebSPgUn+52y)z(m4s5OCQl(>dpD&PsOkv;6s^|F6X_6e<44+2Z`aJMp-9rDC zw{=aA9M#fjkZM>B8WWg1+Js5Va5Gtn%S4B+z7x<3xCv3T$9=DY&7JBEGT9nqaq}tz zGRJ=CGKJhnlJplw#vqo4NfH#UgupynU8#K)#~vT=cw|@5Kc3%en(kJA zDQG5JdtEw-D21>w=AiS(8h_?X6|4Lpj`iO&h1WW>aziv8?iw*ds!V_aLEfn~f@En# z)|72kV&Aa!bfENYONP#MId&g~|5aJ(741WX3X}I|dCB&Cu4#?1hof{)xgJR=@+G}q z2a>rx93n!outa2&N8AoEzrEhkI&XT-LW6#~oDi=uDow6s%)m~xePx6+J=$i7%?DaN z-p5WaIAaB}uHs<4eS8sT^gjBC@RD1KADwaN4PRpdPm%)*|QlN zs@ZF4%^xUMKha;|5MUR^q^q<#eyQ#{b3TKYwX_iuPh&=a49_BDSkH!JDBAeT^Nf>T zGIAp3v4HB2dc5-qiR#Gr*QfR;5o5eTA zE){{^_asB(d>yo=LfN29tL9|-=muh%_Nu}7?_Vc`O5v8au|M)EZl=*#F}>8>gGPD4 z<3$cvCo?nYl<^$D?_GwwB;x0W{O*X*)1?2X7SpRO$0PYwO*pha{gKeoM5)&AeA*`d10DP?Al z`^G+wQR9mVfwf^3f4cEm`ZP7qy84N1n+U}FMPkN$RHs>;c&w8cxjHu^ zv}cgOMCOOPm-jy?+`3Io9XtOB*Vy^gZY4G$oN@JM@1I3 ze*%g3n7S8&Aw^VaR& zGP)}er@%BTI_%hS)kAa)v3MA0QsmYQ8h$38XscBIw(wzwC9Tx1bvfNn`0_0tBeD!= zI;k<8{8Was3N{?i;!>l+rVJlUWo;{d2=9+NQQ!>ne4bd;e3|z&4Ws00oy(B>StCti zjRssDx>vAJyEZ3-irZ|78i5=O$!vathNk znjzbBUHl9ka&DISq9Al4HqgC>JdslP3B`t7Xx%#QAFHL8Dhn&L*xKY4o?&{3T&?B; zF-W75dF^Ag8a{_j-2wSPCUhI2=Tnnp2EwXxf|0w}R!reAt>lc7`et8@dkb{t-`qEB zaL*Rbtmo-RD{f10F)v98jbok!etAoV5{y}@7lC}Yo=f7BShRAkJN#*fX*sR^DGk(k zy2@gRm|rQ%t*Ib4!;=4qm+J@RFsX}6VK;qL;fp2$zK!ELn(@G~(@U`z+!di86?ER|XPzcMe z!H$L%(G`TxJrO4BSk|=)m%V&Pzmo4*BQx`pX@0IlOks98yO{ma(A*5x-J2?S;yJq) zMpccr(W!uG`~ALbz`yZ045{1OQ@zXE2wgXOW_4!ffEu3NW3gvyYTG{cT&S8=^ zUq*J|;?$u#6C=b0QC{f+_#I{xI1Mf+lb$45mNlQ7zOggp6lRynO{OGCo6VXqYJT;L z?*H8;`9A3WW|jzYf?u9-fM^yK*P#tJ#gM3$_axxyhp*oQqqz~){M?S~%D9D9c1y7m z!?}3FfEl_y^1}A!^5f)D>LD+P!F-Pr#!JTc+r z9)x(3dUZ*BHh6(TGw&5rCv)#UuZ@3sJIe0@-1mT%bYaC#YlxLBn<@3Y^D8dIuF=A2 z%LZ_Tqg2CjaW{q=b}>^VO})|;ld8Xn8?WAcVzJA(lE0>CmwiN$H_BL94@SlZCl3k_ z%x5^tVlgxV@ks^3u`$iH%iXkre25h9Cx3)?BD3%ja7AM-4RW`Nrzm=LaDmT!=?0$xQsAE@%LTYEC8`wPKRL8=NbEl3z>etti7FT?Sz?8UR z>OcgRB+6$ut_Av&&+H4Nve6{oh|ISncgbfd6Jzg8%D6Rj(dK6}t7_wqe*tAxo7+uU zu$&LsP%`JOQo0x=O1Y)c*P?%;#0HBut#15+a2HGZB$hu;U=O_F101@RiZHwm6qjpWkT38eAgHi`8(mwMINyKH3Q9{Bo0vw>a`20Rqh0FK4$|g))Im@_{9gYu?R7e9OD_Cr9}qQCgvQ0ePW#GNQ?{H} z*PudB)JoET?#7znY4kgI0;#F}2VvZ5mh-_AaVXVOu-9&CaKs&fL5Qe4A742pfwWf< zN^mfIwDs!gW*NwxBH|vVVIvdWk#|6X>bKRe#L?}5-0b@-K>?HYUbzXr(r=~k-i3Nl z)X_$9+OB++T8xRG40VKGWZkS{)5>p`PTU0%@d32XYE4GC{%Y)*t6_K~ZKWfHhB#77 zFbBhU+)S`fS8zg;s=B3|6ZOHpY=N%5x%csZx;N5s+N(H|c-O`t0DPIPxeM2lzwVNL zJq9jgs)(i!I^@mLQnFmB*g_Oi>6>zKEc%&rNzKhweu4PExtwT486f8`(57vG{G4;< z0yl7Ov}JpGx9qIFvBF=PM1WCs!MbV+dlHO?+J{uPs*tfxrv9mp(BqBu2r>7&u-<4I z3O~;=t19SN`v85u2z8a(H<0)6kxd1*c^2sJ$a5;_iLherk|V{v^1-mbWHB4&!5@;b z&7;MHVM*J9F}l88O_*RgD|fEg>VhXK*>dw3Y071}g3Dp))8>p}*d^$wxa!uwR_N9i z7}ri6g8Jkx5y=0TzW)XPY;D02lgFi4zs3gI*5;hC$v0FRpK1J%FfSPl(nbHvo8X65 zOW6A9nCDmtiL_BxV!bzROum(Zit7VG%BDEalY>?Cb>G6E$g7PBdF9nP{=PxY1mnH%gZ>5iocw%s*$(gCn6L8$*nTN zCRvb-LT^+6Cd14U1z%w^XvMp?_6ZSrP>L^wBLfVAPXX#V7h68Sx z#=XtVq={ns^jp|#6sdql2h?4{kw!~Ae!yj)24`C_1W6(@0}D#OYQ9<)#g6UG_e?}_ zx|tmx4xZwU5ZuS)E;?|NuQ0I9$T(;PRMvD&_>}&SWzXo0;gL<@{t*n~^Xuzyo3e0U zf<(oY2a&n$IhX5`4ckao)-U#uvK8G6!Oqdj*N8jux8u!zDMzD*p9lY1iw{uW@i`EL zI<^Xxt}Dy23wmm$&rVU%h1A|I%PNuh1W6^G!Rj(#(O^3FV3@6o(5XU`Fl9g>ysWr! zt|lfVmJv4MB0iY+*ej;BQXAqjq$oAE+Gz1`=E;Eebj`Q9*-=#PAsyEQM_d%DWa*?Y zdGMzjjg>^bd4s8)gRfb>piO|jH&jgF%c#PO?^g51(0cdvw8QLYksZy5(SISII||kfUrcKk2v&uY4vfodueC-s=52A z!qsX22NxF;*U4ttBCFH_-u&8BwhK#J%MTbOZ_36EmfoQIO zj~X6YzH;?ogY;l!ASamA6c~cHH>kRc9~hVWQMp7l6f?JC^XzRM&6x?Y6nXBp@hL&s zi0RJ6hVlf`I59C^+KToj$zIE^uOe!41Ge+{k@=h;QC3YZs6^3P6KC*cLp=dQXM1GLc4d= zg`hidkyG9ct+}uL%+Yd&L2RF)I{B^w1G-iH`zRTv{~HAUVW2Uu zXkN_AAvRXT2TtvV5XZBM;;kZH6|3lp)tT@XB>T2ne>jw&AvF!K5shFPzTinr|NMSA zq%AD~QQ2)&Fby6YogyM;b900nwJIZ$T=pI&3vmC9bUbhntZmg5sjEd*NEXnxOZ8{@ zOdT7o$qGy}BAR7VwREW|A;!w)%7`F3h1}WR#pztU_!6|yeozOb3QtIZ**RR98dnvn zyv_ejvv&7mAI1)U?qj6B3H!iFd_`p|Ien2QeKaArf7_Xh`R~S$FyPHuiTFs+=LOtx z)9sp}{i0V;@E#p8mChJ;mUziAEnc%?ZCtWh`(C({U4=1&GkOWI{nA9240Q0E1;U%j ze&gqkrQiEansEaYgDyLih$uURWc&gROz5DMBvFF}m*kg#YeXxUjdd%ur{CG(>$1 zMtE3vB~CpHZq)?%Ai9567o>d6f;J+pP^^BLaoMV|fEfJC5b}5D!oZn+t7qk`9eZhA zu0WH%F-t(Jg#O*c2Ol*0V+ff!Ch&ba64FVi;0~gphDBw;7GkBp?TiT=UORfY@aw9A zL~P{#bzd_0Ye+YuB`V-!G%1elUD)8qFHd!x|4seS=<=YmonX;RR2=wA;U^rv>mzpi zcb*G7cs{E=NDx{#Q>2w`(D*Y-Og-;V;jQ^u|5Et-26cW401?Z&@czI0Q3@^JPb@+j zT7jI`4H5Cp(xt9$S~bikRjMY@T_Az($_y@Uoy0oiaKHF*pR7=6hlksl-73)R2L-6z z^ii^F3TPDhFQ)9WLnFl>7lC2$`QR?B?dTM(oeK&ge^gc<$t(sM0Vu9H7VQ-RLm6R=hofqUQKa{uh_iu*>m36-rqc7qom<=0>k*_`X z2$4z7NogSN@s{-|G&V5iu}4 zr~>mbK;MMOzDxJ&cfpm$!4Q;Mrj&H&5o&^dwRU4&bRXCpucFZRep4=>xjX&ocq66z z<6%w@3g#{X7(LBXiaVKo90LYyg8uORx5%r!q}4po!=8`?w5By3CeVa;m1q6xFQek| zULnGy!uy{`NCDd-MH>QVO;I)hX<}w!Jd&YeOTZZF3!AQEk+{72jeSl2SHFY$rxtQ8 z_Q$Z4Qf-K2B6?Neh~-~L+vO`n;4rTtBpRfq#BD*dC5ts&*;uP}pnNW7*F0SLe+!YI zF4GJ0ntVaCJYqupA59PtIm~Wv&gRz2y-gz7lpgsr3QZ|3yfIb#kg2BS?M(u?9P%2p zL9DL(KIL6gh$;QRAPgqe*%O2r_|HMUn5DNlbbLBQOt+0bdhJK3Iz3~XKwmSHYH`>d zI`(0|HCyP4(2>e|w|&tH#--Ax%e$Oqq6UtrztNu(KNGK$G2Yv0tvyEL90ki)Q2E&_ z4lXv(E!=`PCgoMD>^nyqjv ze($yQ=@P}$Yt!D)c1=>(oMrH<0^{(F|0t<9QvYJvk5kGaQ!S@L+sG|PtA$2nm*|`( zr%HC~1eu%;nQ#(Er4>m~B>%eV8)V?0O#ZHoBO)ntSE9P&7;IR^x_PsL9U;2nvK2K> zUh2`TFrM*+cE`OaPl4MzY6Qc=OP!I;tq8K#lE~biLN}d&z4*x|L!DyBZw|-Do9zWG zq?#|MB9{c0_;uQ;=whxkOz!11zUOl9$Z#8j<^|e;AYvulU1R5Ajy2(%sC~^EzWJ>d zGU_$EAvU?Nw@aXHa^HO{lhQQ0??Qiyt;I3t4ErTHr@;8(H^?G?gecf*?73k9p{QMr zYPP4%nncy=E#%U^l|t&q6ynJPL^wy)m`{1kI}_s7*xCBti&{9K1EMVOzo_{Hvd7WDLP#|Zm6 z8o^z(+gAR=N}Gz7)A*DxPku60wM)QDPw&swG<+>?MVS@anoT9E6okEA-S#_9TZL14Xy1_WNBDbsmO~tV*&rE8?CE|WN#8- z-G=Nel`V>hoA|y?FELe2b5*=igYaF!;%sy;gX>8c;KmE1f{Pk^Hi*F&@qO8cWfLUp z-BGO6{kliW(vKC^69>%1S>jI&ELs{^oV=9P=biWP5F%7F<5n-X~R zUiZ;5EY4tKXSF4-BeC%MNn49kj~5h(78|V;(eO3w(n*4ZlVsQpt#JTM0B@XtaI=01 ztBKod#a#0e2F-;<9{?ZNkJLt%m=12Dn08&EHQ{k~&5)x$vm!)xU!u!jS)qzYALI|6 zn`&HMsDY#H-TQTsVA@?J>m-ZxOqhZ}ztb^L4)PQ$MQ*6G#LHE`bqx~p--3%?u)JBL z=w?1~IEeg;h&Ps|NrIeYx5F35r|Z7ImS12}E(kmyrB|m{6PA8_|LCH1qmj z!T5MV9ymX7s7Mh3LC%1W-rMx!k{0rBx5QDW4_Zt=Bl}Cey42g8TJNpOpH8R64id00 z8)yh^RNUg`9^Y7z2_EeP2GVVK%T5`f%4|is4+l?Mro$9yQY7SSCRE=5!qaRRrIyh4 zg~Srq<_H;_{P~=|2+!F3y$B1!mx$?;uD%hfo^aercc``TW_)&oRSl6P`TG33jGnUdh>@V?z- z_(1~*HdvlvXydHtNyX~n;D^t- zic5Oc!C$Q5WUxCg5>;m0w4#pS5w@)wZ_c!x>FMnd@nj&A9uN4&B zC8>W@ZtlrXt9ld9=+a3Z0s{w(b;_`-Y*)+VUp@@wV~kXuPYm4F0W(j%3xl*wnVXrT zk8V;<$lu`Mv;^@^Q@|PbvyC^Lac70ZOf{c^SVhL~;1fPt5OO5fyj#rYNdZbChB(g z;56;K2pd7ZW#jA+XJ~Db4TPsvx&^aMCoW=W>NTXP!(LP?v^n#EMr{thZZRlb*FYS(LaIBGVWO*l$2u&obnByw2xBX!)w{`IoJYugwihy#b@#-@Q znp)yni49IBvX6@LIN=AhD@>scuRKBK)X_&j%Mml zB0>Ju9se#|Ak$C!MDtTA830at-p;?q#Kb^76Q!AEFcrKe^|bPfTn=X%uj-X1KgQhJ zv2tka?Ok#zq9Nu5BZp!<}24!rlS4d>;#4qCtek}VT1#(-&Uh66JAQr)MEmZ z%kpr|nk~t4)5f9e7qL@U$!goLT6?4nu4-{Z=C@>Hc|@;DzX14u7{(|nH7whbn>vR5 zxx_ZFh?SW>Skf2!4d|I&VcS&|+l-O(lJ#`&jTOb!O=Y?>6|m#x;UuaV8ov~?>N+u^ z8ZTTma7WBlb1LB%24DCB@#&DaV^S|i{UIj_W8f)Ai@tODkE?D_BhoaB4P&%7C0y{0 zHpqWfRT#XDT2i^D>W`egT9LKfoL#@OAJPz`7w)|2i4S^ZjVl z_qppEA&UJOo#zSmQ3Ao4@9F&h@NfWJYn-2NgTqS069>nR3f7vYrm1sZyy9P*gjIPy zTpYDV>{Q#CQXMv%6D@f|popl9WnszKM7X+}Th2Ya|KC=CE}JI(KJpA`Gh6-S*TYYA z$+K0m$eJp=U>LIY=u^cE#-iv zx0>olp%fEUV^r(-Dn0xFYP*~F@zp_9McajVPh~|lI}}_xlNS)pp<{x>>3y5hJeURx zN^6)7kJ>RV#=*Z>;}D}32->XzC7$PKuBv(L$V%y$BFr@7Lr_Ynd(`6AGl1N#EHv2N z-3>g|p+o1!`$kteaWS}KOmj1HNWjGh^%hllqIIYFA`AOXNJYTw!Nk_K$bv0(h7n+$ zS+LqieI{!s~xMw>C68(=zg@g@FFN?05_^aC1!vOt*VT^&g`1sn^gT@ zQM*xwf?M$JLY&VthoEh(O6i~|(vs7tQJP9qUZ7J8vtA-S_O<>Mz*L0*KMw|5hpNO5rKV3;B1 zV6p^Pi>gx0>@N1!Sm6|;@zv063V*`~vTkOckICo&S{lDPOyAw?E>^g2Xj4JRrJk3Hbuh8|095&ceBy(;VjTHx2aP(?oDn=8!>b{+6Um6|lQY zMqmnitmctHr`o}fIR^*%!1d~6-c>wS--ptPHKRJL zF2~fpqsIQ(dEWIVfq>RB$5=M68qx(GWaYHGn9Q}+Frf#r@a5IKmIB0pM)yN<0QRmY zNPKlaq5n8RLLp;dON=byG7P+tgde=S*qLkmKJ54DtA6RQ5)XwKMucktCU1wWLb5x( z5Z2zxUj(5ELa;13zl+2BMs%SfYjYHb$ew0Z!|B`JN7%__2HxCfFx_EHH5szCvvt$G z-%g~*r50EhobT_~G=GRqbss%UPQDCk{ObilAt1!Jsj9ZOwb5=ooV}SnIXMBKB!KsB z@L+Iqb8>f=7zMbs-0Aam_wvF;;|9>PjI5k2ETG}|xCOS?H?_Po-1~?Cmq>0#O>$({ z)@PG?ZES4p@86|}NQlpF&mqm?igNNlAd(ipSuIijvts^lF+9<^`I<&+}ZoB1_kfv2bKK0DC-5vkYZT}A}T7C{�P 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

    =!(Jo~>rjlNDkrRBmY3s4~( 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 OvQbI9k(544B^r8bxujQQK1- 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 diff --git a/images/tutorial/07.png b/images/tutorial/07.png deleted file mode 100644 index 121008002647d20fe419b61f1474a8f870417385..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228379 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�jT`YJj5Hgd_TwVK|oVOS- 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 z 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%0AR?Zz1k#nM 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 z z4zgw1VXE5ja^(pCNUp`*Z$eLJw=>3ZROhd?coGy9vaf%98Di2(7+JN>!X%o@puNw) zL(IB!y#{C_WxaN0x)~ywl)m9V)4EV`DI!t#cP7r0e|`S>ok1x{u`&5Gu9%AiqB$vG zBXW&AtLbbuvoXufr*^XT2PKNVIl~N&vY#QkcCdDN3@{+5l{e^sX|LqG<>IV3c+FN2 zUKWGH)pI(+5$r4hmJW8lw98}5>xs?WQ8=QYw5(L~_7&ERdL544k4cx!d*#|U#%r#9 zNk<8_u`QJ4$l_;@eyIoxB%Vpq%skL2R7mf=(!1dd)4r6lljD+?4p*ZrNMm%pG||_9m8Vt?cNoIjWQGZvZ19^>C&M z`cjaX)o`qL1g^4VAfiG&BV`$P%mx!4_P98im&i@1Z0`fpVo5ADU3P#}J7%#(e0CNy zZ=;>O%;lVQKLyUg*5Y(`lOjtvKh-^>siIFT)UVKB8JxVy9BMpJLkPBo+2F1!vbJrJ z2~A1jG96;(oZ@@vzebMz`kT<7{1J|2IlI^o5v}HBN4EqK9j57dLRo*ww&n+Om2U5( zg!odw4IzZ&AfqtiC`!vOBg5LzvHKVoJMe)|nW&}Hl99KfxDs-}+XZeJlBL)CUcZ24 z(hi&TD6%n09;!5ZIcKw6#AaBumnut^u&Yrl2npl-1GV;SPq$vbw*3I?zmuId=8C8+ zv%LBjvE$M|+wGSg7H7qbXU1U6tspj+PkIaFgMVL_)ihhYwotI-VwpfEW3$oS5vBpy z#&AHbpXB_prCy}$c)!y=bU9Oj z#k%voqcX6W`zToVW7a+B*c$oN;07#{$yL2dkha}&kn)rsp;W&qFM2eA9doT=Cv=!7 zIAfwYaFF<;_Mp4)YlNt?xrup(CDf|@q-Mld?Zz2|dSVix1jaT|@V`KX@UT?&>kIpW z>+K&H6ujK?!V6V2R2=sFV~Or2=`@yY z;^6Uf8L$y0EE)DK7Sf1W373^rt^OboDjv6u_3!sLVnLe^D4Hh&N7~C(wjm9NuoH=R z2Db(i1z`(ykSptZE)+U$Ix>?)Jv~k1;K%Nroh_dpvJ;Dy=`Q81GuS};!y>`4i@$>2 z+J4ZDNzx2R-nvVAfcvsci@1R>oV=boU}d`DgZ{m&kHbPl5S66Nv}9)650KQvJdLHu z7iP)G|HgEqGPfD59kctc6pLKX6-b?>VXN>paSV$xqmaQaE?k{}0XzD{YJf)vA)w3! z79i6byoP67&E}o>1^7_INj!<&HpMM%ONSU{68*aH4DWy%EBlc@LOalCEp|?3HX8Oj z=R5^bJWQ0`F?he&2XeG8t4O%L(L6O29*QCSqQH1Vj~#7)C{B-tG|Ye%HWp&vE#Bzj zfJ%lKCYtHkb?xd>6mE7s5AZE#Pys7Xe%?$;&m^Qs;H1-sEY1Pz?hc&}JGxV#(IXF` zJF}}n6s){aOX1qV#WHQR6jG#2hb3A%c6C%KrNArT(L10mETUF-l%m@{=7^G`ubI7-s52IRR%8)6g{MShI|2-B;YN*j9{!b=5 zgEcTk?Z4l%GZjr{zzibmxAGwMzfNE)#v#%h&0Ny-)C~V?68;JoHvYfKi<#TksL){( zGF1IHFHhbN>x^p1h+99};>iD-(@?I0vv_is!0YnIr`_q1Yt}*QKFC#IP%;vV; Date: Thu, 16 Oct 2025 22:38:52 +0900 Subject: [PATCH 151/221] fix: malformed servers --- dzgui.sh | 2 +- helpers/servers.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 2935f8d..9237455 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -587,7 +587,7 @@ fetch_helpers_by_sum(){ sums=( ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" - ["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" + ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="f03879f088ad074f2ce3c92607c30202" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" diff --git a/helpers/servers.py b/helpers/servers.py index ef26b32..00cd129 100644 --- a/helpers/servers.py +++ b/helpers/servers.py @@ -87,6 +87,7 @@ def parse_json(json: list) -> list: except KeyError: continue + malformed = False for key in [ "map", "gametype", @@ -98,7 +99,11 @@ def parse_json(json: list) -> list: try: row[key] except KeyError: - continue + malformed = True + break + + if malformed is True: + continue try: r = row["gametype"].split(",") @@ -167,7 +172,7 @@ def parse_json(json: list) -> list: return rows -def query_direct(ip: str, qport: int, TIMEOUT=3.0) -> dict | None: +def query_direct(ip: str, qport: int, TIMEOUT: float=3.0) -> dict | None: try: info = a2s.info((ip, qport), TIMEOUT) @@ -440,7 +445,7 @@ def query_bm_api(api_key: str, bm_id: str) -> Record: raise BmAPIError("Failed to query Battlemetrics") -def validate_ip(addr: str): +def validate_ip(addr: str) -> Record: fields = addr.split(":") if len(fields) != 2: raise InvalidIpError("Address must be formatted as IP:Queryport") From f0657be289575a17b94c8cdcb9f6e11b923c75f1 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Thu, 16 Oct 2025 20:50:42 +0200 Subject: [PATCH 152/221] Add availability checker for remote services based on ping and timeout --- dzgui.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dzgui.sh b/dzgui.sh index 33fb0d1..8585251 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -493,6 +493,22 @@ stale_symlinks(){ unlink "$l" done } + +check_availability() { + if [[ -z $1 ]]; then + return 1 + fi + local url=$1 + local timeout_sec="3" + if [[ $2 ]]; then + timeout_sec=$2 + fi + if ! ping -w "$timeout_sec" "$url"; then + logger WARN "Failed to reach $url, service may be down." + return 1 + fi +} + local_latlon(){ if [[ -z $(command -v dig) ]]; then local local_ip=$(curl -Ls "https://ipecho.net/plain") From 83552f833cf89c0356dc8c7215ca46a3dfa4c7c3 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Thu, 16 Oct 2025 20:51:46 +0200 Subject: [PATCH 153/221] Add availability checks for local_latlon function --- dzgui.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 8585251..f6666bb 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -511,19 +511,30 @@ check_availability() { local_latlon(){ if [[ -z $(command -v dig) ]]; then - local local_ip=$(curl -Ls "https://ipecho.net/plain") + local url_ipecho="https://ipecho.net/plain" + if ! check_availability "ipecho.net"; then + logger WARN "Failed to get external ip address, ipecho.net service may be down." + return 1 + fi + local local_ip=$(curl -Ls "$url_ipecho") else + # todo : implement checking remote local local_ip=$(dig -4 +short myip.opendns.com @resolver1.opendns.com) fi - local url="http://ip-api.com/json/$local_ip" - local res=$(curl -Ls "$url" | jq -r '"\(.lat)\n\(.lon)"') + local url_ip_api="http://ip-api.com/json/$local_ip" + if ! check_availability "ip-api.com"; then + logger WARN "Failed to get local coordinates, ip-api.com service may be down." + return 1 + fi + local res=$(curl -Ls "$url_ip_api" | jq -r '"\(.lat)\n\(.lon)"') if [[ -z "$res" ]]; then logger WARN "Failed to get local coordinates" return 1 fi echo "$res" > "$coords_file" } -lock(){ + +lock [[ ! -f $lock_file ]] && touch $lock_file local pid=$(cat $lock_file) ps -p $pid -o pid= >/dev/null 2>&1 From d6223e54b0d457b37177a97dc1720d6e76d9728b Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Thu, 16 Oct 2025 20:53:14 +0200 Subject: [PATCH 154/221] Fix unintended deletion --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index f6666bb..bd613cf 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -534,7 +534,7 @@ local_latlon(){ echo "$res" > "$coords_file" } -lock +lock(){ [[ ! -f $lock_file ]] && touch $lock_file local pid=$(cat $lock_file) ps -p $pid -o pid= >/dev/null 2>&1 From 6aa1ec4201762924f91b30a23131ea9fe470039b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 17 Oct 2025 04:20:13 +0900 Subject: [PATCH 155/221] fix: early abort if local coords are missing --- helpers/funcs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/helpers/funcs b/helpers/funcs index e8f35ef..4b65df6 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -369,6 +369,10 @@ local_latlon(){ get_dist(){ shift local given_ip="$1" + if [[ ! -f $_cache_coords ]]; then + printf "Unknown" + return + fi readarray -t coords < "$_cache_coords" readarray -t n < <(<<< "$given_ip" awk 'BEGIN{RS="."}{$1=$1}1') From dfe65aacd4dd11d3679c8566d1b3fe3b1947a36e Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 21:00:00 +0200 Subject: [PATCH 156/221] Rewrite and document latlon tool source - incorrect argument count has been fixed - The code has been split up into smaller units to be more understandable - sources were put in comments to help find resources for the algorithm - output is now in meters --- helpers/latlon.c | 96 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 67 insertions(+), 29 deletions(-) diff --git a/helpers/latlon.c b/helpers/latlon.c index 4c1788a..ea9bc1f 100644 --- a/helpers/latlon.c +++ b/helpers/latlon.c @@ -1,36 +1,74 @@ -#include -#include +// This small program computes the distance between two points on the Earths +// surface. The algorithm used for computing is called haversine formula. +// Source for the algorithm can be found here: +// https://en.wikipedia.org/wiki/Haversine_formula + #include +#include +#include -#define R 6371 -#define TO_RAD (3.1415926536 / 180) -double dist(double th1, double ph1, double th2, double ph2) -{ - double dx, dy, dz; - ph1 -= ph2; - ph1 *= TO_RAD, th1 *= TO_RAD, th2 *= TO_RAD; +// Earths radius in meters +#define RADIUS ((12756L / 2.0L) * 1000L) - dz = sin(th1) - sin(th2); - dx = cos(ph1) * cos(th1) - cos(th2); - dy = sin(ph1) * cos(th1); - return asin(sqrt(dx * dx + dy * dy + dz * dz) / 2) * 2 * R; +// PI natural constant +#define PI 3.1415926536L + +// coordinates struct for storing points +struct Coordinate { + double latitude; + double longitude; +}; + +/** + * @brief Calculates a radian value from an angle + */ +double radian_from(const double angle) { + return (angle * PI) / 180; } -int main(int argc, const char * argv[]) -{ - if(argc < 5 || argc > 5){ - return 1; - } - float coords[4]; - for(int i=1;i<5;i++){ - if(atof(argv[i]) == 0){ - return 1; - } - coords[i] = atof(argv[i]); - } - - double d = dist(coords[1], coords[2], coords[3], coords[4]); - printf("%.1f\n", d); +/** + * @brief Calculate the haversine function from an angle in radian + */ +double haversine(const double angle) { return ((1.0L - cos(angle)) / 2); } - return 0; +/** + * @brief Calculate the distance between two coordinates + */ +double great_circle_distance(const struct Coordinate a, + const struct Coordinate b) { + + // calculate longitude and latitude differences + struct Coordinate diff_coord = { + .longitude = a.longitude - b.longitude, + .latitude = a.latitude - b.latitude, + }; + + // calculate haversine(theta) value, where theta is the angle between the + // two coordinates + double hav_theta = haversine(diff_coord.latitude) + + cos(a.latitude) * cos(b.latitude) * haversine(diff_coord.longitude); + + // calculate distance from radius, and haversine(theta) values + double distance = 2 * RADIUS * asin(sqrt(hav_theta)); + + return distance; +} + +int main(int argc, const char* argv[]) { + if (argc < 5 || argc > 5) { + return 1; + } + + const struct Coordinate a = { + .latitude = radian_from(atof(argv[1])), + .longitude = radian_from(atof(argv[2])), + }; + const struct Coordinate b = { + .latitude = radian_from(atof(argv[3])), + .longitude = radian_from(atof(argv[4])), + }; + + printf("%.1f\n", great_circle_distance(a, b)); + + return 0; } From 67b055905859213c235a750ef3800c9c76af13db Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 21:13:15 +0200 Subject: [PATCH 157/221] Add makefile, and move latlon to a 'tools' directory --- helpers/tools/Makefile | 24 ++++++++++++++++++++++++ helpers/{ => tools}/latlon.c | 0 2 files changed, 24 insertions(+) create mode 100644 helpers/tools/Makefile rename helpers/{ => tools}/latlon.c (100%) diff --git a/helpers/tools/Makefile b/helpers/tools/Makefile new file mode 100644 index 0000000..38914fd --- /dev/null +++ b/helpers/tools/Makefile @@ -0,0 +1,24 @@ +bin := latlon + +CC = gcc + +CFLAGS += -Wall +CFLAGS += -Wextra +CFLAGS += -Wpedantic +CFLAGS += -std=c23 +CFLAGS += -O3 + +LDFLAGS += -lm + +PREFIX ?= $(HOME)/.local/share/dzgui + +all: $(bin) + +install: $(bin) + install -Dm 755 $(bin) $(PREFIX) + +$(bin): latlon.c + $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) + +clean: + rm -f $(bin) diff --git a/helpers/latlon.c b/helpers/tools/latlon.c similarity index 100% rename from helpers/latlon.c rename to helpers/tools/latlon.c From e73617c2f43a836724a3d0126e43f8b20299a2c3 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 21:14:39 +0200 Subject: [PATCH 158/221] Add gitignore for latlon --- helpers/tools/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 helpers/tools/.gitignore diff --git a/helpers/tools/.gitignore b/helpers/tools/.gitignore new file mode 100644 index 0000000..d8b458e --- /dev/null +++ b/helpers/tools/.gitignore @@ -0,0 +1 @@ +latlon From f82df9eacf2b61a4ed52daa5469970a2a682fa77 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 22:51:52 +0200 Subject: [PATCH 159/221] Clean up set_im_module --- dzgui.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 9237455..0b78c20 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -63,17 +63,14 @@ testing_url="$url_prefix/testing" releases_url="https://github.com/$author/$repo/releases/download/browser" km_helper_url="$releases_url/latlon" - set_im_module(){ #TODO: drop pending SteamOS changes - pgrep -a gamescope | grep -q "generate-drm-mode" - if [[ $? -eq 0 ]]; then - GTK_IM_MODULE="" + if pgrep -a gamescope | grep -q "generate-drm-mode"; then + unset GTK_IM_MODULE logger INFO "Detected Steam Deck (Game Mode), unsetting GTK_IM_MODULE" - else - return fi } + redact(){ sed 's@\(/home/\)[^/]*@\1REDACTED@g' } From d34293e2c8d5c2066008713278df25fb0351333e Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 22:52:13 +0200 Subject: [PATCH 160/221] Clean up setup_dirs --- dzgui.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 0b78c20..a2fab92 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -84,13 +84,20 @@ logger(){ printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" \ | redact >> "$debug_log" } + setup_dirs(){ - for dir in "$state_path" "$cache_path" "$share_path" "$helpers_path" "$freedesktop_path" "$config_path" "$log_path"; do - if [[ ! -d $dir ]]; then - mkdir -p "$dir" - fi + directories="$state_path " + directories+="$cache_path " + directories+="$share_path " + directories+="$helpers_path " + directories+="$freedesktop_path " + directories+="$config_path " + directories+="$log_path " + for dir in $directories; do + mkdir -p "$dir" done } + setup_state_files(){ if [[ -f "$debug_log" ]]; then rm "$debug_log" && touch $debug_log From d53476399dfd85351de8df537c9af3236df45c6f Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 22:52:49 +0200 Subject: [PATCH 161/221] Clean up setup_state_files --- dzgui.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index a2fab92..ddd06d8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -108,9 +108,8 @@ setup_state_files(){ logger INFO "Migrating legacy version file" fi # wipe cache files - local path="$cache_path" - if find "$path" -mindepth 1 -maxdepth 1 | read; then - for file in $path/*; do + if [[ $(ls "$cache_path") ]]; then + for file in "$cache_path"/*; do rm "$file" done logger INFO "Wiped cache files" From 6bb59f4060ae4a79e2046bc94c86dffd2ffe20ed Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 22:53:14 +0200 Subject: [PATCH 162/221] Clean up depcheck --- dzgui.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index ddd06d8..fef6d3b 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -224,8 +224,7 @@ END } depcheck(){ for dep in "${!deps[@]}"; do - command -v "$dep" 2>&1>/dev/null - if [[ $? -eq 1 ]]; then + if ! command -v "$dep" &> /dev/null; then local msg="Requires $dep >= ${deps[$dep]}" raise_error_and_quit "$msg" fi From cf087d96c72169664e114f987252d8af7ace6bfc Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 23:12:31 +0200 Subject: [PATCH 163/221] Add check for script sourcing --- dzgui.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index fef6d3b..8038974 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1107,7 +1107,12 @@ main(){ printf "All OK. Kicking off UI...\n" python3 "$ui_helper" "--init-ui" "$version" "$is_steam_deck" + } -main "$@" -#TODO: tech debt: cruddy handling for steam forking -[[ $? -eq 1 ]] && pkill -f dzgui.sh + +if [[ $(basename "$0") == "dzgui.sh" ]]; then + main "$@" + + #TODO: tech debt: cruddy handling for steam forking + [[ $? -eq 1 ]] && pkill -f dzgui.sh +fi From f2124218e4bd7530ef1333bfbb657c3426beb90b Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Sat, 18 Oct 2025 23:12:59 +0200 Subject: [PATCH 164/221] Add handling for multiple argument, version getting option and help --- dzgui.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 8038974..be85a48 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1092,13 +1092,59 @@ uninstall(){ rm "$self" echo "Uninstall routine complete" } + +read -r -d '' helptext <<- EOM +DZGUI - Free and Open Source DayZ launcher + +Usage: + + dzgui.sh [options] + +Description: + + When no option is provided, the script launches DZGUI. + +Options: + + -u, --uninstall: + Uninstalls the software + + -v, --version: + Prints the version + + -h, --help: + Prints this message +EOM + main(){ - local zenv=$(zenity --version 2>/dev/null) + # setup zenity environment + local zenv="" + zenv=$(zenity --version 2>/dev/null) [[ -z $zenv ]] && { echo "Requires zenity >= ${deps[$steamsafe_zenity]}"; exit 1; } - if [[ $1 == "--uninstall" ]] || [[ $1 == "-u" ]]; then - uninstall && - exit 0 - fi + + # parse arguments + while [[ $# -gt 0 ]]; do + case $1 in + "--uninstall" | "-u") + uninstall + exit 0 + # shift + ;; + "--version" | "-v") + echo $version + exit 0 + # shift + ;; + "--help" | "-h") + echo "$helptext" + exit 0 + # shift + ;; + *) + echo "Unrecognized command!" + return 1 + esac + done set_im_module From 1dfe9cd9df2624604e7c1cc8bc9516a91d0fc86f Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Tue, 21 Oct 2025 19:04:38 +0000 Subject: [PATCH 165/221] Fix not checking dotfiles in cache path --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index be85a48..296daa0 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -108,7 +108,7 @@ setup_state_files(){ logger INFO "Migrating legacy version file" fi # wipe cache files - if [[ $(ls "$cache_path") ]]; then + if [[ $(ls -A "$cache_path") ]]; then for file in "$cache_path"/*; do rm "$file" done From 239a82876ea5f56d581a9317b5467d0f38b5dbb7 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Wed, 22 Oct 2025 17:20:56 +0200 Subject: [PATCH 166/221] fix: silence ping while checking remote urls --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index bd613cf..133ae41 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -503,7 +503,7 @@ check_availability() { if [[ $2 ]]; then timeout_sec=$2 fi - if ! ping -w "$timeout_sec" "$url"; then + if ! ping -w "$timeout_sec" "$url" > /dev/null; then logger WARN "Failed to reach $url, service may be down." return 1 fi From cbc131028f2a1058810402ed0cc502be2279be25 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 23 Oct 2025 08:22:20 +0900 Subject: [PATCH 167/221] chore: capitalize TODO for syntax highlighting --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 133ae41..7b080ad 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -518,7 +518,7 @@ local_latlon(){ fi local local_ip=$(curl -Ls "$url_ipecho") else - # todo : implement checking remote + # TODO : implement checking remote local local_ip=$(dig -4 +short myip.opendns.com @resolver1.opendns.com) fi local url_ip_api="http://ip-api.com/json/$local_ip" From 5a54d43601be24092d09654c84b5d159a004488c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:38:56 +0900 Subject: [PATCH 168/221] fix: encapsulate usage command --- dzgui.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 296daa0..c6b8a16 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1093,6 +1093,7 @@ uninstall(){ echo "Uninstall routine complete" } +usage(){ read -r -d '' helptext <<- EOM DZGUI - Free and Open Source DayZ launcher @@ -1115,6 +1116,8 @@ Options: -h, --help: Prints this message EOM +echo "$helptext" +} main(){ # setup zenity environment @@ -1136,7 +1139,7 @@ main(){ # shift ;; "--help" | "-h") - echo "$helptext" + usage exit 0 # shift ;; From d0de2974d8d16c7ba810f92d82ccfd80adf37cc2 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:44:50 +0900 Subject: [PATCH 169/221] fix: emit heredoc directly --- dzgui.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index c6b8a16..53dd4f2 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1094,7 +1094,7 @@ uninstall(){ } usage(){ -read -r -d '' helptext <<- EOM +cat <<- EOM DZGUI - Free and Open Source DayZ launcher Usage: @@ -1116,7 +1116,6 @@ Options: -h, --help: Prints this message EOM -echo "$helptext" } main(){ From ec7daf7f6be4a57b0c29b5eefeed40afe56e6396 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 23 Oct 2025 13:57:19 +0900 Subject: [PATCH 170/221] fix: store filepaths in array I opted to encapsulate these in an array because I was paranoid about needing to separate each directory with a whitespace when storing them on a stringwise basis. This should be safer and ensure the paths don't get concatenated together if the whitespace is omitted. --- dzgui.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 53dd4f2..58975c8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -86,14 +86,15 @@ logger(){ } setup_dirs(){ - directories="$state_path " - directories+="$cache_path " - directories+="$share_path " - directories+="$helpers_path " - directories+="$freedesktop_path " - directories+="$config_path " - directories+="$log_path " - for dir in $directories; do + directories=() + directories+=("$state_path") + directories+=("$cache_path") + directories+=("$share_path") + directories+=("$helpers_path") + directories+=("$freedesktop_path") + directories+=("$config_path") + directories+=("$log_path") + for dir in "${directories[@]}"; do mkdir -p "$dir" done } From cc73f23c1c90c59cafdb1aa43d80d751a64409c6 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Fri, 24 Oct 2025 12:35:56 +0000 Subject: [PATCH 171/221] fix: suppress ping stderr output --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 7b080ad..0e609a0 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -503,7 +503,7 @@ check_availability() { if [[ $2 ]]; then timeout_sec=$2 fi - if ! ping -w "$timeout_sec" "$url" > /dev/null; then + if ! ping -w "$timeout_sec" "$url" > /dev/null 2>&1; then logger WARN "Failed to reach $url, service may be down." return 1 fi From c883fc586c14e10f76a610d632645ad3cf6a337b Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Fri, 24 Oct 2025 13:43:26 +0000 Subject: [PATCH 172/221] doc: add contributing.md --- CONTRIBUTING.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..941e7e5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Introduction + +Thank you for considering contributing to DZGUI! + +This is a guide for contributors containing conventions best practices and rules +of development and aims to ease the beginning of a contribution. + +# How can I help the project? + +There are several ways to help this project. +1. Report bugs that you find +2. Request features that you would like +3. Contribute features and fixes to the codebase +4. Contribute documentation to the project + +## How to report + +Reproduce the bug that you found. Navigate to the issue tracker on github: +(link)[https://github.com/aclist/dzgui-devel/issues] +Create a ticket where you give us the following: +- What version are you using? +- What distribution are you using? +- What is the issue that you found? +- How can we reproduce the issue? +- Possible screenshots, logs, other data that can help us + +## How to request a feature + +Navigate to the projects issue tracker +(link)[https://github.com/aclist/dzgui-devel/issues]. Search for your idea to +see if anyone had posted a simmilar idea. If not, open a ticket where you +describe your feature and its possible benefits. Please note, that this is a +community project, it takes time for us to develop features, having a feature +request doesn't mean that it will be implemented, but we do our best to support +as many cool ideas as possible. + +## How to contribute code or documentation + +If you have an issue of interest in the issue tracker or any other change that +you would like to have implemented you can contribute code to this project. For +this, you may fork this repository and checkout to `testing`. All new features +and fixes will be merged to this branch, so open your branch from here. Name it +according to our convention: +- fix/ - fix branches +- feat/ - feature branches +- doc/ - documentation branches +- infra/ - infrastructure branches + +Now you can implement your changes and test it locally. If they work you may +open a merge request, and then we review your changes. If everything is OK, it +will be merged to `testing` and after a live testing phase, to `master` as well. + +During development, it is recommended to follow (conventional +commits)[https://www.conventionalcommits.org/en/v1.0.0/], it helps the project +maintainers when they review your code. From 16d8f567a462673aacc5983fc1c018a7d2cf37c7 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Fri, 24 Oct 2025 14:00:46 +0000 Subject: [PATCH 173/221] doc: add code of conduct notice --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 941e7e5..da8ad3c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,6 +13,9 @@ There are several ways to help this project. 3. Contribute features and fixes to the codebase 4. Contribute documentation to the project +Before making any contribution, please read the `CODE_OF_CONDUCT.md` and act +accordingly. + ## How to report Reproduce the bug that you found. Navigate to the issue tracker on github: From 957ad47b4ddb324e07f5e6665526483349c2e5a3 Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Fri, 24 Oct 2025 14:01:00 +0000 Subject: [PATCH 174/221] doc: add troubleshooting help to contribute.md --- CONTRIBUTING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da8ad3c..937d187 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,6 +5,13 @@ Thank you for considering contributing to DZGUI! This is a guide for contributors containing conventions best practices and rules of development and aims to ease the beginning of a contribution. +# How can I request help? + +There is an issue tracker on github +(link)[https://github.com/aclist/dzgui-devel/issues] where you can submit +tickets. If you need help troubleshooting a problem, submit a ticket. There is a +category called `troubleshooting` which is exactly what you need. + # How can I help the project? There are several ways to help this project. From dccdffe7617c538230c03c51b19678c6c3879b2a Mon Sep 17 00:00:00 2001 From: Gergely Koloszar Date: Fri, 24 Oct 2025 14:04:37 +0000 Subject: [PATCH 175/221] doc: change branch names to currently used ones --- CONTRIBUTING.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 937d187..25eabbb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,9 +48,9 @@ as many cool ideas as possible. If you have an issue of interest in the issue tracker or any other change that you would like to have implemented you can contribute code to this project. For -this, you may fork this repository and checkout to `testing`. All new features -and fixes will be merged to this branch, so open your branch from here. Name it -according to our convention: +this, you may fork this repository and checkout to +`prerelease/`. All new features and fixes will be merged to this +branch, so open your branch from here. Name it according to our convention: - fix/ - fix branches - feat/ - feature branches - doc/ - documentation branches @@ -58,7 +58,8 @@ according to our convention: Now you can implement your changes and test it locally. If they work you may open a merge request, and then we review your changes. If everything is OK, it -will be merged to `testing` and after a live testing phase, to `master` as well. +will be merged to `prerelease/`, then `testing` and after a live +testing phase, to `stable` as well. During development, it is recommended to follow (conventional commits)[https://www.conventionalcommits.org/en/v1.0.0/], it helps the project From 773d24a00cca05b09b82eb1eb862731c7e9b1748 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 25 Oct 2025 11:33:42 +0900 Subject: [PATCH 176/221] chore: backport patch from testing --- dzgui.sh | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 58975c8..e3db876 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -496,20 +496,47 @@ stale_symlinks(){ unlink "$l" done } + +check_availability() { + if [[ -z $1 ]]; then + return 1 + fi + local url=$1 + local timeout_sec="3" + if [[ $2 ]]; then + timeout_sec=$2 + fi + if ! ping -w "$timeout_sec" "$url" > /dev/null 2>&1; then + logger WARN "Failed to reach $url, service may be down." + return 1 + fi +} + local_latlon(){ if [[ -z $(command -v dig) ]]; then - local local_ip=$(curl -Ls "https://ipecho.net/plain") + local url_ipecho="https://ipecho.net/plain" + if ! check_availability "ipecho.net"; then + logger WARN "Failed to get external ip address, ipecho.net service may be down." + return 1 + fi + local local_ip=$(curl -Ls "$url_ipecho") else + # TODO : implement checking remote local local_ip=$(dig -4 +short myip.opendns.com @resolver1.opendns.com) fi - local url="http://ip-api.com/json/$local_ip" - local res=$(curl -Ls "$url" | jq -r '"\(.lat)\n\(.lon)"') + local url_ip_api="http://ip-api.com/json/$local_ip" + if ! check_availability "ip-api.com"; then + logger WARN "Failed to get local coordinates, ip-api.com service may be down." + return 1 + fi + local res=$(curl -Ls "$url_ip_api" | jq -r '"\(.lat)\n\(.lon)"') if [[ -z "$res" ]]; then logger WARN "Failed to get local coordinates" return 1 fi echo "$res" > "$coords_file" } + lock(){ [[ ! -f $lock_file ]] && touch $lock_file local pid=$(cat $lock_file) From 3729d3c6561cf4391f303ec45df57a7ce5afafde Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 25 Oct 2025 11:35:22 +0900 Subject: [PATCH 177/221] chore: update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0c64a5..86692a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,18 @@ ## [6.0.0-beta.8] XXXX-XX-XX ## Added - Flag to disable branch toggle for distro-packaged releases +- Test whether script was sourced inline +- Commandline usage help text ## Fixed - ESC key destroying wait dialogs while thread is pending - Tooltip signals being processed on main menu - Leaky variable name in dialog title - Prevent extraneous signals from propagating when column width is adjusted +- Script failing to start when remote endpoints are unavailable + +## Changed +- Optimize time cost of setup checks ## [6.0.0-beta.7] 2025-09-20 ## Added From 7e45cb0fa2194b5e7d7d80ff4f6ca7deb7119158 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 25 Oct 2025 11:37:48 +0900 Subject: [PATCH 178/221] chore: backport funcs file changes from testing --- dzgui.sh | 2 +- helpers/funcs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index e3db876..27edcb5 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -615,7 +615,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="65134f86b7c9e14173e05d8e3ebea101" + ["funcs"]="6ae3ead7034dc8e7543472bddee75c63" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="f03879f088ad074f2ce3c92607c30202" diff --git a/helpers/funcs b/helpers/funcs index dbb6ab2..52c5409 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -369,6 +369,10 @@ local_latlon(){ get_dist(){ shift local given_ip="$1" + if [[ ! -f $_cache_coords ]]; then + printf "Unknown" + return + fi readarray -t coords < "$_cache_coords" readarray -t n < <(<<< "$given_ip" awk 'BEGIN{RS="."}{$1=$1}1') From 506c82e86a685c9e0670df69a547ef7bef467991 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 25 Oct 2025 11:51:19 +0900 Subject: [PATCH 179/221] chore: reword CONTRIBUTING.md Corrected some typos and reworded passive voice/some sections for brevity. --- CONTRIBUTING.md | 67 ++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 25eabbb..791f660 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,15 @@ # Introduction -Thank you for considering contributing to DZGUI! +Thank you for your interest in DZGUI! -This is a guide for contributors containing conventions best practices and rules -of development and aims to ease the beginning of a contribution. +This guide goes over development conventions and best practices for contributors. +If you are a developer, you can skip to the end. -# How can I request help? +# Requesting help -There is an issue tracker on github -(link)[https://github.com/aclist/dzgui-devel/issues] where you can submit -tickets. If you need help troubleshooting a problem, submit a ticket. There is a -category called `troubleshooting` which is exactly what you need. +If you encounter a problem with DZGUI, you can submit tickets on the GitHub +(issue tracker)[https://github.com/aclist/dzgui-devel/issues] under the +`troubleshooting` tag. # How can I help the project? @@ -23,44 +22,48 @@ There are several ways to help this project. Before making any contribution, please read the `CODE_OF_CONDUCT.md` and act accordingly. -## How to report +## Submitting a ticket + +Navigate to the GitHub (issue tracker)[https://github.com/aclist/dzgui-devel/issues]. +From there, follow the onscreen prompts. You will be asked questions such as: -Reproduce the bug that you found. Navigate to the issue tracker on github: -(link)[https://github.com/aclist/dzgui-devel/issues] -Create a ticket where you give us the following: - What version are you using? - What distribution are you using? - What is the issue that you found? - How can we reproduce the issue? -- Possible screenshots, logs, other data that can help us -## How to request a feature +You can also attach screenshots, logs, or other data that can help us. -Navigate to the projects issue tracker -(link)[https://github.com/aclist/dzgui-devel/issues]. Search for your idea to -see if anyone had posted a simmilar idea. If not, open a ticket where you -describe your feature and its possible benefits. Please note, that this is a -community project, it takes time for us to develop features, having a feature -request doesn't mean that it will be implemented, but we do our best to support -as many cool ideas as possible. +## Requesting a feature -## How to contribute code or documentation +You can also request features via the same issue tracker. It is good practice to +first search for your idea to see if a similar one has already been posted. +If not, open a ticket where you describe your feature and its possible benefits. -If you have an issue of interest in the issue tracker or any other change that -you would like to have implemented you can contribute code to this project. For -this, you may fork this repository and checkout to -`prerelease/`. All new features and fixes will be merged to this -branch, so open your branch from here. Name it according to our convention: -- fix/ - fix branches +Please note that this is a community project, so it takes time for us to develop +features. Putting in a feature request does not mean that it will be implemented, +but we will do our best to support as many cool ideas as possible. + +## Contributing code or documentation + +If you would like to take ownership or assist with an issue on the issue tracker, or +contribute a new change, please follow the guidelines below. + +Fork this repository and check out the code up to `prerelease/`. +All new features and fixes will be merged to this branch, so open your branch +from here. + +The following naming conventions apply for PRs: +- fix/ - patch/hotfix branches - feat/ - feature branches - doc/ - documentation branches - infra/ - infrastructure branches -Now you can implement your changes and test it locally. If they work you may +Implement your changes and test them locally. If they work you may open a merge request, and then we review your changes. If everything is OK, it will be merged to `prerelease/`, then `testing` and after a live testing phase, to `stable` as well. -During development, it is recommended to follow (conventional -commits)[https://www.conventionalcommits.org/en/v1.0.0/], it helps the project -maintainers when they review your code. +It is recommended to follow +(Conventional Commits)[https://www.conventionalcommits.org/en/v1.0.0/], as this +integrates well with tooling and helps the project review your code. From c8e9f8f1fcf557353356b2709e7de37ee9edd93e Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 26 Oct 2025 21:53:19 +0900 Subject: [PATCH 180/221] chore: move location of notes file in advance of 7.0 release --- CHANGELOG.md | 1 + dzgui.sh | 2 +- helpers/ui.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86692a3..9f6ff27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ ## Changed - Optimize time cost of setup checks +- Location of notes file ## [6.0.0-beta.7] 2025-09-20 ## Added diff --git a/dzgui.sh b/dzgui.sh index 27edcb5..9aefe29 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -618,7 +618,7 @@ fetch_helpers_by_sum(){ ["funcs"]="6ae3ead7034dc8e7543472bddee75c63" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="f03879f088ad074f2ce3c92607c30202" + ["ui.py"]="8d05bbd7b8e15a97fae568e9a3dbf4d6" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/ui.py b/helpers/ui.py index 8a39862..9a53f5e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -78,7 +78,7 @@ servers_path = f"{cache_path}/{app_name_abbr}.servers" config_path = f"{user_path}/.config/dztui" config_file = f"{config_path}/dztuirc" history_file = f"{state_path}/{app_name_abbr}.history" -notes_file = f"{state_path}/{app_name_abbr}.notes.json" +notes_file = f"{config_path}/{app_name_abbr}.notes.json" logger = logging.getLogger(__name__) log_file = f"{log_path}/{app_name}_DEBUG.log" From 0da098afb61f9d9ce9f0c457bc803061e89f11bd Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 30 Oct 2025 11:36:10 +0900 Subject: [PATCH 181/221] chore: mention branch basing conventions --- CONTRIBUTING.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 791f660..4e302b8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,8 +50,10 @@ If you would like to take ownership or assist with an issue on the issue tracker contribute a new change, please follow the guidelines below. Fork this repository and check out the code up to `prerelease/`. -All new features and fixes will be merged to this branch, so open your branch -from here. +If there is no pending prerelease PR, you can base your changes off of +the `testing` branch. You may later be asked to retarget your PR to the prerelease +branch once a new one is made. This is because out-of-band PRs are consolidated into +the next release before merging. The following naming conventions apply for PRs: - fix/ - patch/hotfix branches @@ -61,7 +63,7 @@ The following naming conventions apply for PRs: Implement your changes and test them locally. If they work you may open a merge request, and then we review your changes. If everything is OK, it -will be merged to `prerelease/`, then `testing` and after a live +will be merged to `prerelease/`, then `testing`, and after a live testing phase, to `stable` as well. It is recommended to follow From 21d4601e41c4af2e15bb66b1a8c7a3975216fb19 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 31 Oct 2025 10:01:46 +0900 Subject: [PATCH 182/221] chore: add comments about pretty printing --- helpers/tools/latlon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/tools/latlon.c b/helpers/tools/latlon.c index ea9bc1f..3d9492e 100644 --- a/helpers/tools/latlon.c +++ b/helpers/tools/latlon.c @@ -7,7 +7,8 @@ #include #include -// Earths radius in meters +// Earth's radius in meters. To pretty-print the result for the end-user, it is +// recommended to divide the result by 1,000 and round it. #define RADIUS ((12756L / 2.0L) * 1000L) // PI natural constant From a419aad160102359d804ff47e412703074540b0c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 31 Oct 2025 10:05:21 +0900 Subject: [PATCH 183/221] chore: move comments --- helpers/tools/latlon.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/helpers/tools/latlon.c b/helpers/tools/latlon.c index 3d9492e..a734f31 100644 --- a/helpers/tools/latlon.c +++ b/helpers/tools/latlon.c @@ -7,8 +7,7 @@ #include #include -// Earth's radius in meters. To pretty-print the result for the end-user, it is -// recommended to divide the result by 1,000 and round it. +// Earth's radius in meters. #define RADIUS ((12756L / 2.0L) * 1000L) // PI natural constant @@ -69,6 +68,9 @@ int main(int argc, const char* argv[]) { .longitude = radian_from(atof(argv[4])), }; + // Returns the distance in meters. + // To pretty-print the result in a consumer of this module, it is + // recommended to divide the result by 1,000 and round it. printf("%.1f\n", great_circle_distance(a, b)); return 0; From be02f086c7229091aad2e0c5d3c4903c9d7829ff Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 3 Nov 2025 12:43:08 +0900 Subject: [PATCH 184/221] docs: update changelog --- CHANGELOG.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f6ff27..b6fca6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,20 +2,21 @@ ## [6.0.0-beta.8] XXXX-XX-XX ## Added -- Flag to disable branch toggle for distro-packaged releases -- Test whether script was sourced inline +- Internal flag to allow distribution packaged releases to disable in-app updates +- Pre-boot check to test whether script was invoked directly - Commandline usage help text ## Fixed -- ESC key destroying wait dialogs while thread is pending -- Tooltip signals being processed on main menu -- Leaky variable name in dialog title +- ESC key destroying wait dialogs while a thread is pending +- Tooltip signals being erroneously drawn on main menu +- Leaky variable name in dialog titles - Prevent extraneous signals from propagating when column width is adjusted -- Script failing to start when remote endpoints are unavailable +- Script failing to start when remote endpoints are unavailable (GaryBlackbourne) ## Changed -- Optimize time cost of setup checks -- Location of notes file +- Optimize time complexity of pre-boot checks (GaryBlackbourne) +- Moved location of notes file +- Rewrote distance calculation module (GaryBlackbourne) ## [6.0.0-beta.7] 2025-09-20 ## Added From a08c588df3575fd28bc7026aa60a8c16ade4b9ea Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 4 Nov 2025 16:00:31 +0900 Subject: [PATCH 185/221] chore: update changelog date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6fca6e..2457574 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [6.0.0-beta.8] XXXX-XX-XX +## [6.0.0-beta.8] 2025-11-04 ## Added - Internal flag to allow distribution packaged releases to disable in-app updates - Pre-boot check to test whether script was invoked directly From d7e94eab906da5e6a0c72da0d277af3f2e6ff706 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 5 Nov 2025 14:27:15 +0900 Subject: [PATCH 186/221] fix: UI not starting if changelog was missing --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/ui.py | 34 +++++++++++++++++++--------------- 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2457574..fcabc10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.1] 2025-11-05 +## Fixed +- UI not being constructed correctly if CHANGELOG.md was missing + ## [6.0.0-beta.8] 2025-11-04 ## Added - Internal flag to allow distribution packaged releases to disable in-app updates diff --git a/dzgui.sh b/dzgui.sh index 9aefe29..f1af5bd 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-8 +version=6.0.1.beta-1 #CONSTANTS aid=221100 @@ -615,10 +615,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="6ae3ead7034dc8e7543472bddee75c63" + ["funcs"]="2bac12c1bff5d6ad50161f174d57d029" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="8d05bbd7b8e15a97fae568e9a3dbf4d6" + ["ui.py"]="8a35ac263db8b812f30e04902c4e9603" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 52c5409..2ac286c 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.8" +version="6.0.1-beta.1" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 9a53f5e..81176ee 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -18,6 +18,7 @@ from enum import Enum from collections.abc import Callable from concurrent.futures import wait from concurrent.futures import ThreadPoolExecutor +from pathlib import Path from typing import Literal, Self, Any import servers as Servers # noqa E402 @@ -1016,7 +1017,7 @@ def process_tree_option(choice: RowType) -> None: return if command == RowType.CHANGELOG: - App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) + App.grid.notebook.open_changelog() return if command == RowType.QUICK_CONNECT: @@ -4325,22 +4326,20 @@ class KeybindingsDialog(Gtk.Box): class Changelog(Gtk.Box): def __init__(self): super().__init__() + + self.changelog_label = Gtk.Label() + self.add(self.changelog_label) + + def open_changelog(self, path: Path) -> None: try: - with open(changelog_path, "r") as f: - changelog = f.read() - changelog_label = Gtk.Label() - changelog = self.format_pango(changelog) - changelog_label.set_markup(changelog) - self.add(changelog_label) - except FileNotFoundError: - msg = f"Failed to find CHANGELOG.md at {changelog_path}" - logger.critical(msg) - spawn_dialog(msg, Popup.WARN) - return + changelog = path.read_text() except OSError as e: - spawn_dialog(f"Something went wrong: {e}", Popup.WARN) + spawn_dialog(f"Something went wrong: {e}", Popup.NOTIFY) logger.critical(e) - return + return Exception + formatted = self.format_pango(changelog) + self.changelog_label.set_markup(formatted) + App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) def format_pango(self, text: str) -> str: medium = '' @@ -4357,7 +4356,8 @@ class Notebook(Gtk.Notebook): def __init__(self): super().__init__(show_tabs=False, show_border=False) - self.clog = ScrollableNote(Changelog()) + self.changelog = Changelog() + self.clog = ScrollableNote(self.changelog) self.clog.type = RowType.CHANGELOG self.clog.show_all() self.append_page(self.clog) @@ -4376,6 +4376,10 @@ class Notebook(Gtk.Notebook): self.connect("switch-page", self._on_page_changed) self.connect("key-press-event", self._on_keypress) + def open_changelog(self) -> None: + path = Path(changelog_path) + self.changelog.open_changelog(path) + def _set_adjustment(self, adjustment: VAdjustment) -> None: INCREMENT = 50 page = self.get_page() From a4ce65fe570320aff81ad9575860d66c700541e8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:30:16 +0900 Subject: [PATCH 187/221] feat: use reference branch for beta releases --- dzgui.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dzgui.sh b/dzgui.sh index f1af5bd..91c6ef6 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -2,6 +2,7 @@ set -o pipefail version=6.0.1.beta-1 +reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100 @@ -639,6 +640,10 @@ fetch_helpers_by_sum(){ realbranch="dzgui" fi + if [[ -n $reference_branch ]]; then + realbranch="$reference_branch" + fi + for i in "${!sums[@]}"; do file="$i" sum="${sums[$i]}" From a8ae07931d7204a0f4dc8e14b80ed42e0a45c0a5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:45:04 +0900 Subject: [PATCH 188/221] feat: disable version check on beta branch --- dzgui.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dzgui.sh b/dzgui.sh index 91c6ef6..3be6282 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -318,6 +318,7 @@ check_unmerged(){ fi } check_version(){ + [[ -n $reference_branch ]] && return local version_url=$(format_version_url) local upstream=$(curl -Ls "$version_url" | awk -F= '/^version=/ {print $2}') local res=$(get_response_code "$version_url") From 90d59cec97872b258bea87ddea1a4aa2e269fbd3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:52:35 +0900 Subject: [PATCH 189/221] chore: drop legacy src_path logic --- dzgui.sh | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 3be6282..3013e38 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash set -o pipefail +src_path=$(realpath "$0") + version=6.0.1.beta-1 reference_branch="prerelease/6.0.1-beta.1" @@ -219,9 +221,6 @@ default_steam_path="$default_steam_path" #Preferred Steam launch command (for Flatpak support) preferred_client="$preferred_client" - -#DZGUI source path -src_path="$src_path" END } depcheck(){ @@ -985,10 +984,6 @@ varcheck(){ create_config return 0 fi - if [[ $src_path != $(realpath "$0") ]]; then - src_path=$(realpath "$0") - update_config - fi } is_dzg_downloading(){ if [[ -d $steam_path ]] && [[ -d $steam_path/downloading/$aid ]]; then From a418bcfb90be2847487e3ebb318e940783e52ec2 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Nov 2025 11:42:26 +0900 Subject: [PATCH 190/221] fix: return from finally block --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/ui.py | 3 +-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcabc10..abfc742 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.2] 2025-11-10 +## Fixed +- Python 3.14 error in finally block + ## [6.0.1-beta.1] 2025-11-05 ## Fixed - UI not being constructed correctly if CHANGELOG.md was missing diff --git a/dzgui.sh b/dzgui.sh index 3013e38..206d87a 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-1 +version=6.0.1.beta-2 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -616,10 +616,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="2bac12c1bff5d6ad50161f174d57d029" + ["funcs"]="5d7d92b7b8a9c788b133ce5271a76553" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="8a35ac263db8b812f30e04902c4e9603" + ["ui.py"]="2476397883a4272eaf940403ba5a6575" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 2ac286c..631a76f 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.1" +version="6.0.1-beta.2" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 81176ee..65438fc 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -824,8 +824,7 @@ def query_history() -> list | None: rows = [row.rstrip("\n") for row in f] except OSError: rows = None - finally: - return rows + return rows def query_favorites() -> None | list: From 5bce8709af4adba70dde6a9ad50ed052afa21180 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:07:35 +0900 Subject: [PATCH 191/221] chore: enforce stricter python version --- CHANGELOG.md | 1 + dzgui.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abfc742..87312f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [6.0.1-beta.2] 2025-11-10 ## Fixed - Python 3.14 error in finally block +- Require Python version between 3.11 and 3.12 ## [6.0.1-beta.1] 2025-11-05 ## Fixed diff --git a/dzgui.sh b/dzgui.sh index 206d87a..e6cd70e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -239,8 +239,8 @@ depcheck(){ check_pyver(){ local pyver=$(python3 --version | awk '{print $2}') local minor=$(<<< $pyver awk -F. '{print $2}') - if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 10 ]]; then - local msg="Requires Python >=3.10" + if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 11 ]] || [[ $minor -gt 12 ]]; then + local msg="Requires Python 3.11 or 3.12" raise_error_and_quit "$msg" fi logger INFO "Found Python version: $pyver" From 75f8c841dfb79d9e61c6a3a298ceec89aba9fce0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:50:27 +0900 Subject: [PATCH 192/221] feat: support sandboxed flatpak --- CHANGELOG.md | 10 ++++++++++ dzgui.sh | 22 ++++++---------------- helpers/funcs | 20 ++++++-------------- helpers/ui.py | 39 +++++++++++++++++++++++++++------------ 4 files changed, 49 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87312f5..d6fbed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [6.0.1-beta.3] 2025-11-13 +## Added +- Support sandboxed flatpak + +## Changed +- Preferred client from radio toggle to combobox + +## Fixed +- Config file erroneously getting updated when populating settings menu + ## [6.0.1-beta.2] 2025-11-10 ## Fixed - Python 3.14 error in finally block diff --git a/dzgui.sh b/dzgui.sh index e6cd70e..1c5b633 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-2 +version=6.0.1.beta-3 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -468,18 +468,7 @@ steam_deps(){ local msg="Found neither Steam nor Flatpak Steam" raise_error_and_quit "$msg" exit 1 - elif [[ -n "$steam" ]] && [[ -n "$flatpak" ]]; then - [[ -n $preferred_client ]] && return 0 - if [[ -z $preferred_client ]]; then - preferred_client="steam" - fi - elif [[ -n "$steam" ]]; then - preferred_client="steam" - else - preferred_client="flatpak" fi - update_config - logger INFO "Preferred client set to '$preferred_client'" } migrate_files(){ if [[ ! -f $config_path/dztuirc.oldapi ]]; then @@ -616,10 +605,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="5d7d92b7b8a9c788b133ce5271a76553" + ["funcs"]="c6e5d68e084be16aa58358fa51ec4586" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="2476397883a4272eaf940403ba5a6575" + ["ui.py"]="2276386252bd571b3505cbbc74359732" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) @@ -900,6 +889,7 @@ create_config(){ unset default_steam_path unset steam_path + preferred_client="steam" while true; do local player_input="$($steamsafe_zenity \ --forms \ @@ -1061,13 +1051,13 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") +# fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols - check_version +# check_version check_map_count steam_deps migrate_files diff --git a/helpers/funcs b/helpers/funcs index 631a76f..0e6813c 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.2" +version="6.0.1-beta.3" #CONSTANTS aid=221100 @@ -87,17 +87,14 @@ steam_api_url="https://steamcommunity.com/dev/apikey" battlemetrics_api_url="https://www.battlemetrics.com/developers" bm_api="https://api.battlemetrics.com/servers" -if [[ $preferred_client == "steam" ]]; then - steam_cmd="steam" -else - steam_cmd="flatpak run com.valvesoftware.Steam" -fi +steam_cmd="$preferred_client" declare -A funcs=( ["Highlight stale"]="find_stale_mods" ["Change player name"]="update_config_val" ["Change Steam API key"]="update_config_val" ["Change Battlemetrics API key"]="update_config_val" +["Change client"]="update_config_val" ["Change favorite server"]="add_record" ["Add server by IP"]="add_record" ["Add server by ID"]="add_record" @@ -701,13 +698,6 @@ toggle(){ debug="" fi ;; - Toggle[[:space:]]Steam/Flatpak) - if [[ $preferred_client == "steam" ]]; then - preferred_client="flatpak" - else - preferred_client="steam" - fi - ;; Toggle[[:space:]]DZGUI[[:space:]]fullscreen[[:space:]]boot) if [[ $fullscreen == "true" ]]; then fullscreen="false" @@ -806,6 +796,9 @@ update_config_val(){ local context="$1" local value="$2" case $1 in + "Change client") + key="preferred_client" + ;; "Change player name") key="name" if [[ -z "${value// }" ]]; then @@ -831,7 +824,6 @@ update_config_val(){ declare -n nr=$key nr="$value" update_config - echo "Updated the key '$key' to '$value'" return 80 } show_log(){ diff --git a/helpers/ui.py b/helpers/ui.py index 65438fc..2b88f3e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3801,12 +3801,22 @@ class Options(Gtk.Box): "Always fullscreen", Preferences.WINDOW, ) - self.steam_toggle = self.make_binary_radio( - "Steam", "Flatpak (experimental)", Preferences.CLIENT - ) + + # TODO: gray out options if not available on system + client_store = Gtk.ListStore(str, str) + client_store.append(["steam", "steam"]) + client_store.append(["flatpak", "flatpak run com.valvesoftware.Steam"]) + client_store.append(["flatpak (container)", "flatpak-spawn --host flatpak run com.valvesoftware.Steam"]) + + renderer_text = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.END) + self.client_combo = Gtk.ComboBox.new_with_model(client_store) + self.client_combo.set_halign(Gtk.Align.START) + self.client_combo.pack_start(renderer_text, True) + self.client_combo.connect("changed", self._on_client_changed) + self.client_combo.add_attribute(renderer_text, "text", 0) pref_rows = [ - [LeftLabel("Steam client"), self.steam_toggle], + [LeftLabel("Steam client"), self.client_combo], [LeftLabel("Window size at boot"), self.fullscreen_toggle], [LeftLabel("Player name"), self.player_box], ] @@ -3991,6 +4001,15 @@ class Options(Gtk.Box): show_wait_dialog = True call_on_thread(show_wait_dialog, cmd, wait_msg, "") + def _on_client_changed(self, combo: Gtk.ComboBox) -> None: + # prevent triggering on initial init + if App.treeview.subpage is not RowType.OPTIONS: + return + ind = combo.get_active() + mod = combo.get_model() + client = mod[ind][1] + call_bash_func("Change client", client) + def _on_branch_changed(self, combo: Gtk.ComboBoxText) -> None: # prevent triggering on initial init if App.treeview.subpage is not RowType.OPTIONS: @@ -4000,11 +4019,9 @@ class Options(Gtk.Box): def _on_radio_toggled( self, button: Gtk.RadioButton, context: Preferences ) -> None: - if App.treeview.subpage is None: + if App.treeview.subpage is not RowType.OPTIONS: return match context: - case Preferences.CLIENT: - toggle = RowType.TGL_STEAM case Preferences.INSTALL: toggle = RowType.TGL_INSTALL state = button.get_group()[0].get_active() @@ -4126,11 +4143,9 @@ class Options(Gtk.Box): radio = 0 self.mod_install_toggle.get_children()[radio].set_active(True) - if client == "flatpak": - radio = 1 - else: - radio = 0 - self.steam_toggle.get_children()[radio].set_active(True) + for ind, row in enumerate(self.client_combo.get_model()): + if row[1] == client: + self.client_combo.set_active(ind) if fullscreen == "true": radio = 1 From dabf5d4ef058bd65773874834e96877ed7c92b10 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:53:41 +0900 Subject: [PATCH 193/221] fix: uncomment lines --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 1c5b633..52f9a8c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1051,13 +1051,13 @@ initial_setup(){ watcher_deps check_architecture test_connection -# fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols -# check_version + check_version check_map_count steam_deps migrate_files From 1dba57af4b902e8f565b9ca52035a4e5afd5fc17 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:53:59 +0900 Subject: [PATCH 194/221] chore: update reference branch --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 52f9a8c..3087af8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,7 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-3 -reference_branch="prerelease/6.0.1-beta.1" +reference_branch="prerelease/6.0.1-beta.3" #CONSTANTS aid=221100 From 71651bab6c951ba5d7769bd80303bb8e76fdfb3c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:54:31 +0900 Subject: [PATCH 195/221] chore: update reference branch --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 3087af8..52f9a8c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,7 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-3 -reference_branch="prerelease/6.0.1-beta.3" +reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100 From 376c5294d90c4e0c9edeb978c69b98a3d56e57ee Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:16:14 +0900 Subject: [PATCH 196/221] chore: require python 3.13 --- CHANGELOG.md | 4 ++++ dzgui.sh | 19 ++++++++----------- helpers/funcs | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6fbed4..61597e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.4] 2025-11-14 +## Changed +- Require Python 3.13 + ## [6.0.1-beta.3] 2025-11-13 ## Added - Support sandboxed flatpak diff --git a/dzgui.sh b/dzgui.sh index 52f9a8c..4ef795f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-3 +version=6.0.1.beta-4 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -139,7 +139,7 @@ print_config_vals(){ } test_gobject(){ - python3 -c "import gi" + python3.13 -c "import gi" if [[ ! $? -eq 0 ]]; then logger CRITICAL "Missing PyGObject" fdialog "Requires PyGObject (python-gobject)" @@ -237,13 +237,10 @@ depcheck(){ logger INFO "Initial dependencies satisfied" } check_pyver(){ - local pyver=$(python3 --version | awk '{print $2}') - local minor=$(<<< $pyver awk -F. '{print $2}') - if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 11 ]] || [[ $minor -gt 12 ]]; then - local msg="Requires Python 3.11 or 3.12" + if [[ ! $(command -v python3.13) ]]; then + local msg="Requires Python 3.12" raise_error_and_quit "$msg" fi - logger INFO "Found Python version: $pyver" } watcher_deps(){ if [[ ! $(command -v wmctrl) ]] && [[ ! $(command -v xdotool) ]]; then @@ -605,7 +602,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="c6e5d68e084be16aa58358fa51ec4586" + ["funcs"]="39fa4c302a508f63dcfe5ca3cff9bc01" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="2276386252bd571b3505cbbc74359732" @@ -875,7 +872,7 @@ file_picker(){ } find_library_folder(){ local search_path="$1" - steam_path="$(python3 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ + steam_path="$(python3.13 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ | jq -r '.libraryfolders[]|select(.apps|has("221100")).path')" if [[ ! $? -eq 0 ]] || [[ -z $steam_path ]]; then logger WARN "Failed to parse Steam path using '$search_path'" @@ -1046,7 +1043,7 @@ initial_setup(){ setup_dirs setup_state_files depcheck - check_pyver +# check_pyver test_gobject watcher_deps check_architecture @@ -1173,7 +1170,7 @@ main(){ initial_setup printf "All OK. Kicking off UI...\n" - python3 "$ui_helper" "--init-ui" "$version" "$is_steam_deck" + python3.13 "$ui_helper" "--init-ui" "$version" "$is_steam_deck" } diff --git a/helpers/funcs b/helpers/funcs index 0e6813c..d810635 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.3" +version="6.0.1-beta.4" #CONSTANTS aid=221100 From d866b4992b62bd97241a139ab41b1b7798f32019 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:41:47 +0900 Subject: [PATCH 197/221] fix: update error message string --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 4ef795f..ea3d509 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -238,7 +238,7 @@ depcheck(){ } check_pyver(){ if [[ ! $(command -v python3.13) ]]; then - local msg="Requires Python 3.12" + local msg="Requires Python 3.13" raise_error_and_quit "$msg" fi } From 4a820e3083b59e49a52938ed71cdb32888acc035 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Nov 2025 20:24:01 +0900 Subject: [PATCH 198/221] chore: uncomment line --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index ea3d509..50b97d1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1043,7 +1043,7 @@ initial_setup(){ setup_dirs setup_state_files depcheck -# check_pyver + check_pyver test_gobject watcher_deps check_architecture From e28929bb70fb5ef5d2408f59b44e771e67603151 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 22 Nov 2025 00:47:36 +0900 Subject: [PATCH 199/221] chore: remove reference branch --- dzgui.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 50b97d1..5ef22ef 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,6 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-4 -reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100 From 113e5f885ba9f3f8354812974b2c86a5846ea425 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 22 Nov 2025 01:04:19 +0900 Subject: [PATCH 200/221] fix: normalize beta version --- CHANGELOG.md | 8 ++++---- dzgui.sh | 4 ++-- helpers/funcs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61597e0..2172f5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ # Changelog -## [6.0.1-beta.4] 2025-11-14 +## [6.0.0-beta.12] 2025-11-14 ## Changed - Require Python 3.13 -## [6.0.1-beta.3] 2025-11-13 +## [6.0.0-beta.11] 2025-11-13 ## Added - Support sandboxed flatpak @@ -14,12 +14,12 @@ ## Fixed - Config file erroneously getting updated when populating settings menu -## [6.0.1-beta.2] 2025-11-10 +## [6.0.0-beta.10] 2025-11-10 ## Fixed - Python 3.14 error in finally block - Require Python version between 3.11 and 3.12 -## [6.0.1-beta.1] 2025-11-05 +## [6.0.0-beta.9] 2025-11-05 ## Fixed - UI not being constructed correctly if CHANGELOG.md was missing diff --git a/dzgui.sh b/dzgui.sh index 5ef22ef..0b6f8ef 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-4 +version=6.0.0.beta-12 #CONSTANTS aid=221100 @@ -601,7 +601,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="39fa4c302a508f63dcfe5ca3cff9bc01" + ["funcs"]="bb059b81826babc53a268d0f5afe1110" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="2276386252bd571b3505cbbc74359732" diff --git a/helpers/funcs b/helpers/funcs index d810635..124d4c1 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.4" +version="6.0.0-beta.12" #CONSTANTS aid=221100 From 4edf71aa0aadf797fe0a5c8d555ca419ad8cda46 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 22 Nov 2025 01:04:59 +0900 Subject: [PATCH 201/221] docs: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2172f5c..11d20f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## [6.0.0-beta.12] 2025-11-14 ## Changed - Require Python 3.13 +## Fixed +- Normalize beta version ## [6.0.0-beta.11] 2025-11-13 ## Added From 1495ad386d0bcabf19782b80beaaffd0a6c515e5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 30 Nov 2025 04:43:18 +0900 Subject: [PATCH 202/221] fix: hide filter panel when changing contexts --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/ui.py | 2 ++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11d20f2..fd62db2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.13] 2025-11-29 +## Fixed +- Server filter panel not being hidden when entering other page contexts + ## [6.0.0-beta.12] 2025-11-14 ## Changed - Require Python 3.13 diff --git a/dzgui.sh b/dzgui.sh index 0b6f8ef..348ea30 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-12 +version=6.0.0.beta-13 #CONSTANTS aid=221100 @@ -601,10 +601,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="bb059b81826babc53a268d0f5afe1110" + ["funcs"]="519a13ecb5c8527ae3cbefb5babe2c62" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="2276386252bd571b3505cbbc74359732" + ["ui.py"]="8edf48e6780460bd8ea7b01614592296" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 124d4c1..9372798 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.12" +version="6.0.0-beta.13" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 2b88f3e..594f9be 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1486,6 +1486,8 @@ class ButtonBox(Gtk.Box): context = button.type logger.info(f"User clicked '{context}'") + App.grid.right_panel.filters_vbox.set_visible(False) + if context == ButtonType.EXIT: logger.info("Normal user exit") save_res_and_quit() From ac3e7ee12852574a888a88fcf59181ce3732cbd9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 30 Nov 2025 04:51:43 +0900 Subject: [PATCH 203/221] fix: incorrect changelog path --- dzgui.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 348ea30..895a888 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -377,9 +377,10 @@ prompt_dl(){ dl_changelog(){ local mdbranch local md + source "$config_file" [[ $branch == "stable" ]] && mdbranch="dzgui" [[ $branch == "testing" ]] && mdbranch="testing" - local md="$url_prefix/${mdbranch}/$file" + local changelog="$url_prefix/${mdbranch}/CHANGELOG.md" curl -Ls "$md" > "$state_path/CHANGELOG.md" } test_display_mode(){ From 9c4541fe76f5641318e55b6d10995d3d83c29872 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 30 Nov 2025 04:53:43 +0900 Subject: [PATCH 204/221] chore: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd62db2..2e9067e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [6.0.0-beta.13] 2025-11-29 ## Fixed - Server filter panel not being hidden when entering other page contexts +- Path to remote changelog being constructed incorrectly ## [6.0.0-beta.12] 2025-11-14 ## Changed From a50b11633fcb15b6d167bd42b60f8d5d36b4acb5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 30 Nov 2025 04:54:50 +0900 Subject: [PATCH 205/221] fix: update variable name --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 895a888..772c6b1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -381,7 +381,7 @@ dl_changelog(){ [[ $branch == "stable" ]] && mdbranch="dzgui" [[ $branch == "testing" ]] && mdbranch="testing" local changelog="$url_prefix/${mdbranch}/CHANGELOG.md" - curl -Ls "$md" > "$state_path/CHANGELOG.md" + curl -Ls "$changelog" > "$state_path/CHANGELOG.md" } test_display_mode(){ pgrep -a gamescope | grep -q "generate-drm-mode" From 005288371b553f16ce27959128830cb802981216 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 5 Dec 2025 15:58:28 +0900 Subject: [PATCH 206/221] fix: newlines in tooltips --- CHANGELOG.md | 4 ++++ dzgui.sh | 4 ++-- helpers/funcs | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e9067e..5f25dbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.14] 2025-12-05 +## Fixed +- Tooltips with newlines breaking log table + ## [6.0.0-beta.13] 2025-11-29 ## Fixed - Server filter panel not being hidden when entering other page contexts diff --git a/dzgui.sh b/dzgui.sh index 772c6b1..5b7656c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-13 +version=6.0.0.beta-14 #CONSTANTS aid=221100 @@ -602,7 +602,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="519a13ecb5c8527ae3cbefb5babe2c62" + ["funcs"]="3036da0c8f46452af4822bbeaa1a9454" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="8edf48e6780460bd8ea7b01614592296" diff --git a/helpers/funcs b/helpers/funcs index 9372798..ebd699d 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.13" +version="6.0.0-beta.14" #CONSTANTS aid=221100 From c6034bc6b99642f2f8cc3d184cb4a17dd9c7cdda Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 9 Dec 2025 13:03:52 +0900 Subject: [PATCH 207/221] fix: strip newlines --- helpers/ui.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 594f9be..81aaf3e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -866,13 +866,14 @@ def spawn_dialog(msg: str, mode: Popup) -> bool: dialog = GenericDialog(msg, mode) response = dialog.run() dialog.destroy() + clean_msg = msg.replace("\n", " ") match response: case Gtk.ResponseType.OK: - logger.info(f"User confirmed dialog with message '{msg}'") + logger.info(f"User confirmed dialog with message '{clean_msg}'") return False case Gtk.ResponseType.CANCEL | Gtk.ResponseType.DELETE_EVENT: - logger.info(f"User aborted dialog with message '{msg}'") + logger.info(f"User aborted dialog with message '{clean_msg}'") return True return False From 60aebe5eeb285cc65e49fd05ef7c650ec277d704 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Dec 2025 13:04:54 +0900 Subject: [PATCH 208/221] chore: update date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f25dbc..52bbe39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [6.0.0-beta.14] 2025-12-05 +## [6.0.0-beta.14] 2025-12-09 ## Fixed - Tooltips with newlines breaking log table From 929f497b9fd155a01f3e6bffa4f3fd7cca321348 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Dec 2025 13:05:46 +0900 Subject: [PATCH 209/221] chore: reword changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52bbe39..eb6c87a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## [6.0.0-beta.14] 2025-12-09 ## Fixed -- Tooltips with newlines breaking log table +- Dialogs with newlines breaking output in log table ## [6.0.0-beta.13] 2025-11-29 ## Fixed From af64ebb12aaffb51952a1357ea733eebc50a53a5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 27 Dec 2025 23:56:18 +0900 Subject: [PATCH 210/221] fix: enclose whitespaces during setup --- dzgui.sh | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 5b7656c..3dfec21 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-14 +version=6.0.0.beta-15 #CONSTANTS aid=221100 @@ -478,7 +478,7 @@ migrate_files(){ } stale_symlinks(){ local game_dir="$steam_path/steamapps/common/DayZ" - for l in $(find "$game_dir" -xtype l); do + for l in "$(find "$game_dir" -xtype l)"; do logger DEBUG "Updating stale symlink '$l'" unlink "$l" done @@ -872,12 +872,26 @@ file_picker(){ } find_library_folder(){ local search_path="$1" - steam_path="$(python3.13 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ - | jq -r '.libraryfolders[]|select(.apps|has("221100")).path')" - if [[ ! $? -eq 0 ]] || [[ -z $steam_path ]]; then + readarray -t paths < <(python3 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ + | jq -r '.libraryfolders[]|select(.apps|has("221100")).path') + if [[ ! $? -eq 0 ]]; then logger WARN "Failed to parse Steam path using '$search_path'" return 1 fi + if [[ ${#paths[@]} -eq 0 ]]; then + logger WARN "No valid VDF paths in '$search_path'" + return 1 + fi + if [[ ${#paths[@]} -gt 1 ]]; then + for path in "${paths[@]}"; do + if [[ -d "$path" ]]; then + steam_path="$path" + break + fi + done + else + steam_path="${paths[0]}" + fi logger INFO "Steam path resolved to: $steam_path" } create_config(){ @@ -960,7 +974,7 @@ varcheck(){ source "$config_file" local workshop_dir="$steam_path/steamapps/workshop/content/$aid" local game_dir="$steam_path/steamapps/common/DayZ" - if [[ ! -d $steam_path ]] || [[ ! -d $game_dir ]] || [[ ! $(find $game_dir -type f) ]]; then + if [[ ! -d $steam_path ]] || [[ ! -d $game_dir ]] || [[ ! $(find "$game_dir" -type f) ]]; then logger WARN "DayZ path resolved to '$game_dir'" logger WARN "Workshop path resolved to '$workshop_dir'" qdialog "$msg2" "Yes" "Exit" From d2f3eebd4297effbd6b158356a48115517028916 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 27 Dec 2025 23:57:11 +0900 Subject: [PATCH 211/221] chore: update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb6c87a..639213a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [6.0.0-beta.15] 2025-12-27 +## Fixed +- Path discovery during first-time setup when parsing filepaths with whitespaces +- First-time setup dialog continuously triggering when DayZ install path had whitespaces in it + ## [6.0.0-beta.14] 2025-12-09 ## Fixed - Dialogs with newlines breaking output in log table From 5562c443203f26d4f9e72435c18ea7ba5fe788f3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 4 Jan 2026 21:39:18 +0900 Subject: [PATCH 212/221] fix: regression introduced in previous hotfix --- CHANGELOG.md | 4 ++++ dzgui.sh | 11 ++++++----- helpers/funcs | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 639213a..04533c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.16] 2026-01-04 +## Fixed +- Regression introduced in previous hotfix + ## [6.0.0-beta.15] 2025-12-27 ## Fixed - Path discovery during first-time setup when parsing filepaths with whitespaces diff --git a/dzgui.sh b/dzgui.sh index 3dfec21..7e83105 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-15 +version=6.0.0.beta-16 #CONSTANTS aid=221100 @@ -478,9 +478,10 @@ migrate_files(){ } stale_symlinks(){ local game_dir="$steam_path/steamapps/common/DayZ" - for l in "$(find "$game_dir" -xtype l)"; do - logger DEBUG "Updating stale symlink '$l'" - unlink "$l" + readarray -t links < <(find "$game_dir" -xtype l) + for link in "${links[@]}"; do + logger DEBUG "Updating stale symlink '$link'" + unlink "$link" done } @@ -602,7 +603,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="3036da0c8f46452af4822bbeaa1a9454" + ["funcs"]="56c1701c005413e5d8329ecaecd457de" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="8edf48e6780460bd8ea7b01614592296" diff --git a/helpers/funcs b/helpers/funcs index ebd699d..53daa19 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.14" +version="6.0.0-beta.16" #CONSTANTS aid=221100 From b75e99ffd7612029cd1b207d2e7a8a5222b8afd7 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 9 Jan 2026 10:47:56 +0900 Subject: [PATCH 213/221] feat: add link to help page --- dzgui.sh | 37 +++++++++++++++++++++++++++---------- helpers/funcs | 2 +- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 7e83105..0d5d8bc 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-16 +version=6.0.0.beta-17 #CONSTANTS aid=221100 @@ -141,7 +141,7 @@ test_gobject(){ python3.13 -c "import gi" if [[ ! $? -eq 0 ]]; then logger CRITICAL "Missing PyGObject" - fdialog "Requires PyGObject (python-gobject)" + quit_with_pdialog "Requires PyGObject (python-gobject)" exit 1 fi logger INFO "Found PyGObject in Python env" @@ -226,7 +226,8 @@ depcheck(){ for dep in "${!deps[@]}"; do if ! command -v "$dep" &> /dev/null; then local msg="Requires $dep >= ${deps[$dep]}" - raise_error_and_quit "$msg" + echo "$msg" + exit 1 fi done local jqmsg="jq must be compiled with support for oniguruma" @@ -235,10 +236,30 @@ depcheck(){ [[ $? -ne 0 ]] && raise_error_and_quit "$jqmsg" logger INFO "Initial dependencies satisfied" } +open_url(){ + url="$1" + if [[ -n "$BROWSER" ]]; then + logger INFO "Opening '$url' in '$BROWSER'" + "$BROWSER" "$url" + else + logger INFO "Opening '$url' with xdg-open" + xdg-open "$url" + fi +} +quit_with_pdialog(){ + local sel + msg="$1" + help_button="Open help page" + url="https://aclist.github.io/dzgui/installation.html" + logger CRITICAL "$msg" + sel=$(zenity --info --extra-button="$help_button" --text="$msg") + [[ $sel == "$help_button" ]] && open_url "$url" & + exit 1 +} check_pyver(){ - if [[ ! $(command -v python3.13) ]]; then + if [[ ! $(python3.13 --version) ]]; then local msg="Requires Python 3.13" - raise_error_and_quit "$msg" + quit_with_pdialog "$msg" fi } watcher_deps(){ @@ -603,7 +624,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="56c1701c005413e5d8329ecaecd457de" + ["funcs"]="3c35e4d19b8c69971c564afb6ac22728" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="8edf48e6780460bd8ea7b01614592296" @@ -670,10 +691,6 @@ get_response_code(){ local url="$1" curl -Ls -I -o /dev/null -w "%{http_code}" "$url" } -raise_error_and_quit(){ - echo "$1" - exit 1 -} fetch_ip_db(){ parse_dl_url(){ curl -Ls "$url" \ diff --git a/helpers/funcs b/helpers/funcs index 53daa19..4a5f786 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.16" +version="6.0.0-beta.17" #CONSTANTS aid=221100 From 0daf567111ca7b5efbfc444b8e78dca6deb789d1 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 02:29:00 +0900 Subject: [PATCH 214/221] feat: more descriptive help dialogs --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04533c0..917347e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.0-beta.17] 2026-01-14 +## Added +- More descriptive help dialogs when initial dependencies are missing + ## [6.0.0-beta.16] 2026-01-04 ## Fixed - Regression introduced in previous hotfix From cb45ce7b9af2ff7e076d8b43a3c6d3678738d891 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 02:48:05 +0900 Subject: [PATCH 215/221] chore: prepare 6.0.0 release --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 + .github/ISSUE_TEMPLATE/trouble.yml | 4 + CHANGELOG.md | 501 ++++++++------------------ dzgui.sh | 6 +- helpers/funcs | 2 +- 5 files changed, 169 insertions(+), 348 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0ad8d65..e572b50 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -5,6 +5,10 @@ labels: ["bug"] assignees: - aclist body: + - type: markdown + attributes: + value: | + ### WARNING: When posting log/config data, redact any sensitive information like API keys. - type: checkboxes id: kb attributes: diff --git a/.github/ISSUE_TEMPLATE/trouble.yml b/.github/ISSUE_TEMPLATE/trouble.yml index 1c25e69..e890c62 100644 --- a/.github/ISSUE_TEMPLATE/trouble.yml +++ b/.github/ISSUE_TEMPLATE/trouble.yml @@ -5,6 +5,10 @@ labels: ["troubleshooting"] assignees: - aclist body: + - type: markdown + attributes: + value: | + ### WARNING: When posting log/config data, redact any sensitive information like API keys. - type: dropdown id: device attributes: diff --git a/CHANGELOG.md b/CHANGELOG.md index 917347e..86a1e0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,85 +1,52 @@ # Changelog -## [6.0.0-beta.17] 2026-01-14 -## Added -- More descriptive help dialogs when initial dependencies are missing - -## [6.0.0-beta.16] 2026-01-04 -## Fixed -- Regression introduced in previous hotfix - -## [6.0.0-beta.15] 2025-12-27 -## Fixed -- Path discovery during first-time setup when parsing filepaths with whitespaces -- First-time setup dialog continuously triggering when DayZ install path had whitespaces in it - -## [6.0.0-beta.14] 2025-12-09 -## Fixed -- Dialogs with newlines breaking output in log table - -## [6.0.0-beta.13] 2025-11-29 -## Fixed -- Server filter panel not being hidden when entering other page contexts -- Path to remote changelog being constructed incorrectly - -## [6.0.0-beta.12] 2025-11-14 -## Changed -- Require Python 3.13 -## Fixed -- Normalize beta version - -## [6.0.0-beta.11] 2025-11-13 -## Added -- Support sandboxed flatpak - -## Changed -- Preferred client from radio toggle to combobox - -## Fixed -- Config file erroneously getting updated when populating settings menu - -## [6.0.0-beta.10] 2025-11-10 -## Fixed -- Python 3.14 error in finally block -- Require Python version between 3.11 and 3.12 - -## [6.0.0-beta.9] 2025-11-05 -## Fixed -- UI not being constructed correctly if CHANGELOG.md was missing - -## [6.0.0-beta.8] 2025-11-04 -## Added -- Internal flag to allow distribution packaged releases to disable in-app updates -- Pre-boot check to test whether script was invoked directly -- Commandline usage help text - -## Fixed -- ESC key destroying wait dialogs while a thread is pending -- Tooltip signals being erroneously drawn on main menu -- Leaky variable name in dialog titles -- Prevent extraneous signals from propagating when column width is adjusted -- Script failing to start when remote endpoints are unavailable (GaryBlackbourne) - -## Changed -- Optimize time complexity of pre-boot checks (GaryBlackbourne) -- Moved location of notes file -- Rewrote distance calculation module (GaryBlackbourne) - -## [6.0.0-beta.7] 2025-09-20 -## Added -- Users can save text notes to describe servers - -## Changed -- State file serialization methods - -## [6.0.0-beta.6] 2025-09-12 +## [6.0.0] 2026-01-14 ## Added - Support DayZ Experimental -- Show additional client information in Options menu -- Warn user of client version mismatches -- Support clickable hyperlinks +- Ping display on server tables +- Save descriptive text notes on a per-server basis +- Speed up load time and navigation of server tables +- More robust threading and cache system when filtering servers +- Show additional DayZ client information in Options menu +- Warn user of DayZ client version mismatches +- Support clickable hyperlinks in dialogs +- Rich server metadata details dialog (right-click on server table) +- Filter by modded servers +- Breadcrumbs showing current menu context +- Dedicated changelog page +- Dedicated keybindings page +- Dedicated settings page ("Options") +- Support sandboxed version of Flatpak +- Vim-style navigation keybindings +- Added "Return to main menu" button to dialog windows when failing to load server table +- Dynamic context menus for modded servers +- Additional keybindings for new filter toggles +- If a server is locked, prompt user when connecting +- Internal flag to allow distro-packaged releases to disable in-app updates +- Pre-boot checks to test whether script was invoked directly +- Commandline usage help text (GaryBlackbourne) +- More descriptive help dialogs when initial dependencies are missing ## Fixed +- Script failing to start when remote endpoints are unavailable (GaryBlackbourne) +- Key stickiness when quickly navigating through entries in tables +- Servers returning malformed A2S_INFO blocking server browser from loading +- Normalized buttons in dialogs and restored proper padding +- GTK errors being emitted to stdout when inserting debug table +- Entry dialog sensitivity when validating API keys +- Additional validation on entry dialogs to prevent submitting empty text +- Suppress errors during pre-boot checks when mods are not installed +- Centered filter checkboxes within panel +- Do not pop unhighlight/select stale buttons if no stale mods exist +- Improved keybinding interaction with side panels +- Suppress typeahead search in mod dialogs +- Do not trigger global API cooldown if no LAN/favorite servers are found +- Fix table column expansion in server mod dialogs +- Missing parameters when closing application via window decorations +- Statusbar contents not updating on certain pages +- Prevent debug button from activating when in certain input fields +- Window size not updating correctly when unmaximizing window after changing "fullscreen at boot" setting +- Branch toggle signal being emitted when entering Options menu from other contexts - Mods rarely not appearing in local mod list if download completed too quickly - Statusbar not updating when clicking a row after spamming keyboard input - Extraneous logs being generated when subscribing to mods @@ -87,342 +54,188 @@ - Newline terminators in history file - Floating point number calculation - Window resizing too small if no prior resolution was set - -## [6.0.0-beta.5] 2025-08-20 -## Fixed -- Servers returning malformed A2S_INFO blocking server browser from loading - -## [6.0.0-beta.4] 2025-08-13 -## Fixed -- Branch toggle signal being emitted when entering Options menu from other contexts - -## [6.0.0-beta.3] 2025-08-08 -## Added -- Additional server metadata to details dialog -- Prompt user when connecting if a server is locked -- Dedicated settings page ("Options") - -## Fixed -- Statusbar contents not updating on certain pages -- Breadcrumbs not updating when returning from keybindings page -- Wrap long descriptions in server details -- Prevent debug button from activating when in certain input fields -- Window size not updating correctly when unmaximizing window after changing "fullscreen at boot" setting - -## Dropped -- Extraneous information from right statusbar - -## [6.0.0-beta.2] 2025-07-29 -## Fixed -- Missing parameters when closing application via window decorations - -## [6.0.0-beta.1] 2025-07-29 -## Added -- Ping column to server browsing contexts -- Server details dialog to server browsing contexts -- Filter by modded servers -- Breadcrumbs showing current menu context to top of window -- Speed up load time and navigation of server tables -- More robust threading and cache system when filtering servers -- Dedicated changelog page -- Dedicated keybindings page -- Vim-style navigation keybindings -- Additional validation on entry dialogs to prevent submitting empty text -- Added "Return to main menu" button to dialog windows when failing to load server table -- Dynamic context menus for modded servers -- Additional keybindings for filter toggles - -## Fixed -- Entry dialog sensitivity when validating API keys -- Normalized buttons in dialogs and restored proper padding -- GTK errors being emitted to stdout when inserting debug table -- Suppress errors during pre-boot checks when mods are not installed -- Centered filter checkboxes within panel -- Do not pop unhighlight/select stale buttons if no stale mods exist -- Improved keybinding interaction with side panels -- Key stickiness when quickly navigating through entries in tables -- Suppress typeahead search in mod dialogs -- Do not trigger global API cooldown if no LAN/favorite servers are found -- Fix table column expansion in server mod dialogs +- ESC key destroying wait dialogs while a thread is pending +- Tooltip signals being erroneously emitted on main menu +- UI not being constructed correctly if CHANGELOG.md was missing +- Config file erroneously getting updated when populating settings menu +- Leaky variable name in dialog titles +- Prevent extraneous signals from propagating when column width is adjusted +- Server filter panel not being hidden when entering other page contexts +- Path to remote changelog being constructed incorrectly +- Dialogs with newlines breaking output in log table +- Path discovery during first-time setup when parsing filepaths with whitespaces +- First-time setup dialog continuously triggering when DayZ install path had whitespaces in it ## Changed +- Require Python 3.13 - Reduced global API cooldown from 60s to 30s - Clarify dialog messages when DayZ path could not be found - Auto-focus first item when opening context menus - Opacity setting on side buttons when in a different context - Refactored BM API key validation to account for new key format +- State file serialization methods +- Optimize time complexity of pre-boot checks (GaryBlackbourne) +- Rewrote distance calculation module (GaryBlackbourne) +- Changed preferred client setting from radio toggle to combobox ## Dropped - Ping readout in statusbar +- Extraneous information from right statusbar -## [5.8.0-beta.2] 2025-07-06 +## [5.8.3] 2026-01-04 +## Fixed +- Normalize checksum numbers and dates + +## [5.8.2] 2026-01-04 +## Fixed +- Fix regression in symlink routine introduced by previous hotfix + +## [5.8.1] 2025-12-27 +## Fixed +- Path discovery during first-time setup when parsing filepaths with whitespaces +- First-time setup dialog continuously triggering when DayZ install path had whitespaces in it + +## [5.8.0] 2025-07-06 ## Added - Filter servers by official/unofficial status +- Automatically fetch geolocation records ## Changed - Updated internal versioning of helper files - -## [5.8.0-beta.1] 2025-06-05 -## Added -- Automatically fetch geolocation records ## Fixed - Corrected erroneous 2024 date in prior changelog entries -## [5.7.1-beta.1] 2025-04-17 -## Changed -- Updated geolocation records - -## [5.7.0-beta.13] 2025-04-17 +## [5.7.0] 2025-04-17 +## Added +- Save application dimensions when quitting and restore on subsequent boot ## Fixed -- Updated checksum for UI helper file +- Issues with the window exceeding the bounds of the screen when displaying some table contexts +## Changed +- More direct server ping query method that should return marginally more accurate times -## [5.7.0-beta.12] 2025-04-04 +## [5.6.7] 2025-04-04 ## Dropped - Removed extraneous pre-boot API checks that could cause error messages to be printed if the user had not set up an API key yet -## [5.7.0-beta.11] 2025-03-20 -## Fixed -- Reduce startup time when testing remote APIs - -## [5.7.0-beta.10] 2025-03-15 -## Added -- Restore application size on subsequent startup -## Fixed -- Grid scaling causes table to exceeds bounds of display viewport -- Window exceeds taskbar on Steam Deck -- Reduce possibility of timeouts when pinging servers +## [5.6.6] 2025-03-16 ## Changed -- Packed filter checkbox buttons into a 3x3 grid -- Updated IP database to 2025-03 records +- Update IP database records for 2025-03 -## [5.7.0-beta.9] 2025-03-04 +## [5.6.5] 2025-03-04 ## Fixed - Livonia server results being dropped from batch queries -## [5.7.0-beta.8] 2025-02-10 -## Changed +## [5.6.4] 2025-02-10 +### Changed - Drop launch flag and check for invocation through Steam automatically -## [5.7.0-beta.7] 2025-02-09 -## Changed +## [5.6.3] 2025-02-09 +### Changed - Update IP database records for 2025-02 -## [5.7.0-beta.6] 2025-01-10 -## Fixed -- Resolve regression introduced with IP resolution feature in 13c6813 - -## [5.7.0-beta.5] 2025-01-10 -## Changed -- Stricter redacting of usernames (again) - -## [5.7.0-beta.4] 2025-01-10 -## Fixed -- Clerical hotfix - -## [5.7.0-beta.3] 2025-01-10 -## Changed -- Support legacy jq syntax for Ubuntu variants - -## [5.7.0-beta.2] 2025-01-07 -## Fixed -- Stricter redacting of usernames -- Omit nested directories when traversing symlinks - -## [5.7.0-beta.1] 2025-01-07 -### Changed -- Normalize version number - -## [5.6.0-beta.21] 2025-01-06 -### Added -- Add in-app documentation link to Codeberg mirror -- Hover tooltips to most buttons +## [5.6.2] 2025-01-22 ### Fixed -- Prevent ArrowUp/ArrowDown input when inside keyword field +- Resolve regression introduced with IP resolution feature in 5.6.0 (restores functionality of right-click action: Add to My Servers) + +## [5.6.1] 2025-01-10 +### Fixed +- Add fallback support for jq 1.6 + +## [5.6.0] 2025-01-06 +### Added +- Application header bar and controls +- Menu context subtitle in header bar +- Bulk delete mods (via 'List installed mods' list). Not compatible with Manual Mod install mode +- Highlight stale mods in mods list +- Added --steam launch parameter +- Open Steam workshop subscriptions dialog when switching from Manual to Auto mode +- Hover tooltips to most buttons +- Add in-app documentation link to Codeberg mirror +- Additional logging +### Fixed +- Avoid sudo escalation if system map count is sufficient (jiriks74) +- Duplicate dialog title on Steam Deck +- Resolve remote IP when saving records for game servers with multiple hosts +- More performant symlink traversal when checking for legacy links +- Only iterate on missing symlinks at boot (400% performance uplift) +- Fix for server list truncation causing some servers to not appear in results +- Empty dialog popups if user manually deletes local mods while application is running +- Update statusbar when removing servers from list/repopulating +- Abort DayZ path discovery if Steam files are not synched +- Race condition when checking for installed mods +- Favorite server message not updating correctly +- Improved handling for cases where there are no locally installed mods +- Set up mod symlinks at boot, rather than only on server connect +- Prevent context menus from opening when table is empty +- When reloading table in-place, prevent duplicate panel elements from being added if already present +- Clean up local mod signatures from versions file when deleting mods +- Focus first row when opening mods list ### Changed +- Redact usernames in log files +- Prevent ArrowUp/ArrowDown input when inside keyword field +- Admonish user to restart Steam in error dialog if DayZ path could not be found +- Refactor control flow for more robust contextual parsing +- Stop sending modal dialog hints to outer window +- Clean up signal emission +- Clarify some error messages and normalize text formatting - Update forum URL -- Reword Help section links to include destination - Update README.md - Update IP database to 2025-01 - Reduce IP database size by 50% - Update documentation to 5.6.x standard ### Dropped -- Removed temporary mod ID output in debug logs -- Removed Hall of Fame section from button links, moved inside documentation -- Remove unused imports +- Hall of Fame section from button links, to be moved inside documentation +- Unused imports -## [5.6.0-beta.20] 2024-12-23 -### Added -- Output real and resolved mod ids to logs (temporary) -- Added -steam launch parameter -### Fixed -- Only iterate on missing symlinks -- Move logging up - -## [5.6.0-beta.19] 2024-12-18 -### Added -- Redact usernames in log files -### Fixed -- More performant symlink traversal when checking for legacy links - -## [5.6.0-beta.18] 2024-12-14 -### Added -- Open Steam workshop subscriptions dialog -- Additional logging -### Fixed -- Empty dialog popups if user manually deletes local mods while application is running -- Abort DayZ path discovery if VDF if Steam files are not synched -- Avoid sudo escalation if system map count is sufficient (jiriks74) -### Changed -- Admonish user to restart Steam in error dialog if DayZ path could not be found - -## [5.6.0-beta.17] 2024-12-14 -### Added -- Additional logging - -## [5.6.0-beta.16] 2024-12-13 +## [5.5.3] 2024-12-13 ### Fixed - Add remote resource health checks before downloading updates ### Added - Add fallback repository -## [5.6.0-beta.11] 2024-12-07 +## [5.5.1] 2024-12-03 ### Fixed -- Add missing function definition +- Support localized decimal separators when parsing installed mod sizes -## [5.6.0-beta.10] 2024-12-04 -### Fixed -- Untoggle highlight button when repopulating mod list -- Resolve remote IP when saving records for game servers with multiple hosts -- Update statusbar when removing servers from list/repopulating -### Added: -- "Select stale" button to bulk select mods marked as obsolete - -## [5.6.0-beta.9] 2024-12-03 -### Fixed -- Normalize user locale when parsing floats - -## [5.6.0-beta.8] 2024-11-28 -### Fixed -- Normalize user locale when parsing floats - -## [5.6.0-beta.7] 2024-11-28 -### Changed -- Add additional logging when fetching installed mods - -## [5.6.0-beta.6] 2024-11-28 -### Fixed -- Race condition when checking for installed mods - -## [5.6.0-beta.5] 2024-11-21 -### Added -- Highlight stale mods in mods list -### Fixed -- Duplicate dialog title on Steam Deck - -## [5.6.0-beta.4] 2024-11-20 -### Added -- Application header bar and controls -- Menu context subtitle in header bar -### Changed -- Refactor control flow for more robust contextual parsing -- Stop sending modal dialog hints to outer window -### Fixed -- Favorite server message not updating correctly - -## [5.6.0-beta.3] 2024-11-18 -### Fixed -- Improved handling for cases where there are no locally installed mods -- Set up mod symlinks at boot, rather than only on server connect -- Prevent context menus from opening when table is empty -- When reloading table in-place, prevent duplicate panel elements from being added if already present -- Clean up signal emission - -## [5.6.0-beta.2] 2024-11-15 -### Fixed -- Clean up local mod signatures from versions file when deleting mods - -## [5.6.0-beta.1] 2024-11-12 -### Added -- Bulk delete mods (via 'List installed mods' list). Not compatible with Manual Mod install mode -### Fixed -- Fix for server list truncation causing some servers to not appear in results -- Suppress signal emission when switching menu contexts -- Focus first row when opening mods list -### Changed -- Clarify some error messages and normalize text formatting - -## [5.5.0-beta.5] 2024-11-03 -### Changed -- Use updated A2S_RULES logic -### Fixed -- Servers in saved servers list would populate context menu with same option when right-clicking in server browser - -## [5.5.0-beta.4] 2024-10-31 -### Added -- Expose a toggle setting for whether to launch the application in fullscreen -### Fixed -- Enable adding/removing servers to/from My Saved Servers when in Recent Servers context - -## [5.5.0-beta.3] 2024-10-31 -### Fixed -- Prevent maps combobox from duplicating contents - -## [5.5.0-beta.2] 2024-10-31 -### Fixed -- Restore keyboard input to keyword entry field - -## [5.5.0-beta.1] 2024-10-30 +## [5.5.0] 2024-11-10 ### Added - Support servers running DLC content (fixes Frostline servers) -- Text autocompletion in maps search field -- Add disk space warning to popup dialog +- Expose a toggle setting for whether to launch the application in fullscreen +- Text autocompletion in maps search field (partial search) +- Add disk space warning to popup dialog when downloading mods ### Fixed +- Servers in saved servers list would populate context menu with same option when right-clicking in server browser +- Enable adding/removing servers to/from My Saved Servers when in Recent Servers context +- Prevent maps combobox from duplicating contents +- Restore keyboard input to keyword entry field +### Changed - Abort fallback query method if DLC is required -## [5.4.2-beta.1] 2024-10-05 +## [5.4.2] 2024-10-05 ### Fixed - Sanitize third-party API IDs to remove UGC collisions -## [5.4.1-beta.2] 2024-09-12 -### Fixed -- Use fallback logic for modlist queries when user traverses networks - -## [5.4.1-beta.2] 2024-09-10 -### Fixed -- Fix signal handling control flow for checkbox toggles - -## [5.4.1-beta.1] 2024-09-10 +## [5.4.1] 2024-09-25 ### Added - Pre-boot validation check for users with self-compiled version of jq ### Fixed +- Use fallback logic for modlist queries when user traverses networks +- Fix signal handling control flow for checkbox toggles - When reloading the server browser, the map combobox selection would revert to the last selected map instead of All Maps - Server filter toggle signals were accessible from the main menu when switching between menu contexts - Global cooldown dialog could sometimes block filter toggles after cooldown reset - Normalized minor version number due to a previous clerical error -## [5.4.0-beta.5] 2024-08-27 -### Added -- Freedesktop application icons for system taskbar, tray, and other dialogs -### Fixed -- Errors being printed to the console when Exit button was explicitly clicked - -## [5.4.0-beta.4] 2024-08-21 -### Added -- Emit CPU model name when exporting system debug log -### Fixed -- Detect Steam Deck OLED APU variant during initial setup - -## [5.4.0-beta.3] 2024-08-04 +## [5.4.0] 2024-08-27 ### Added - Scan local area network for DayZ servers - -## [5.4.0-beta.2] 2024-08-03 -### Fixed -- Clerical hotfix for previous player names fix -- Test if DayZ directory is empty at startup, implying that the game was moved to a new library collection - -## [5.4.0-beta.1] 2024-07-16 +- Freedesktop application icons for system taskbar, tray, and other dialogs +- Emit CPU model name when exporting system debug log ### Fixed +- Errors being printed to the console when Exit button was explicitly clicked +- Detect Steam Deck OLED APU variant during initial setup - Encapsulate player names correctly so that names with whitespace in them are supported +- Test if DayZ directory is empty at startup, implying that the game was moved to a new library collection +- Report WM_CLASS name to the window manager ## [5.3.2] 2024-07-02 ### Fixed diff --git a/dzgui.sh b/dzgui.sh index 0d5d8bc..16080d6 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.0.beta-17 +version=6.0.0 #CONSTANTS aid=221100 @@ -624,10 +624,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="3c35e4d19b8c69971c564afb6ac22728" + ["funcs"]="8e281479d7b7e6bab9e81fcdf0205ce9" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="8edf48e6780460bd8ea7b01614592296" + ["ui.py"]="3d67e5e8e85a23dde1fd0e85a9be62a9" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 4a5f786..8bd58d4 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.17" +version="6.0.0" #CONSTANTS aid=221100 From c45d9fb234b5f8fe2d20daddbaa60e09e634c408 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 03:02:24 +0900 Subject: [PATCH 216/221] Update funcs --- helpers/funcs | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/funcs b/helpers/funcs index d7f43a2..86569d0 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,5 @@ #!/usr/bin/env bash set -o pipefail - version="6.0.0" #CONSTANTS From e3155ad7ee4946cf7f3c4724e6d9aa196d933d9d Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 03:08:00 +0900 Subject: [PATCH 217/221] fix: patch changes from testing --- helpers/ui.py | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/helpers/ui.py b/helpers/ui.py index 62ab55d..81aaf3e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -1343,6 +1343,7 @@ class ScrollableTree(Gtk.ScrolledWindow): self.treeview = TreeView() self.add(self.treeview) + class RightPanel(Gtk.Box): def __init__(self): super().__init__(spacing=6, orientation=Gtk.Orientation.VERTICAL) @@ -2744,8 +2745,7 @@ class TreeView(Gtk.TreeView): if column_title == "Map": column.set_fixed_width(300) - if i != 10: - self.append_column(column) + self.append_column(column) @update_window_labels def _update_multi_column(self, mode: RowType, port: int = 27016) -> None: @@ -4657,7 +4657,6 @@ class App(Gtk.Application): self.win = OuterWindow() self.win.set_icon_name("{app_name_lower}") - accel = Gtk.AccelGroup() accel.connect( Gdk.KEY_q, @@ -4685,35 +4684,6 @@ class App(Gtk.Application): self.win.halt_proc_and_quit() -def save_res_and_quit(window): - if window.props.is_maximized: - Gtk.main_quit() - return - rect = window.get_size() - - def write_json(rect): - data = {"res": { "width": rect.width, "height": rect.height } } - j = json.dumps(data, indent=2) - with open(res_path, "w") as outfile: - outfile.write(j) - logger.info("Wrote initial window size to '%s'" %(res_path)) - - if os.path.isfile(res_path): - with open(res_path, "r") as infile: - try: - data = json.load(infile) - data["res"]["width"] = rect.width - data["res"]["height"] = rect.height - with open(res_path, "w") as outfile: - outfile.write(json.dumps(data, indent=2)) - except json.decoder.JSONDecodeError: - logger.critical("JSON decode error in '%s'" %(res_path)) - write_json(rect) - else: - write_json(rect) - - Gtk.main_quit() - class ModSelectionPanel(Gtk.Box): def __init__(self): super().__init__(spacing=6) From 4b47ff1fe0f8a5bcf29a80a0cdc065d2faa74a56 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 03:41:38 +0900 Subject: [PATCH 218/221] fix: remove duplicate line --- dzgui.sh | 2 +- helpers/funcs | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 84b1816..ab6b1c5 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -624,7 +624,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="8e281479d7b7e6bab9e81fcdf0205ce9" + ["funcs"]="7844ba7d7a1bc8bd6e638317aab694d7" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="3d67e5e8e85a23dde1fd0e85a9be62a9" diff --git a/helpers/funcs b/helpers/funcs index 86569d0..127346f 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -484,9 +484,6 @@ test_cooldown(){ redact(){ sed 's@\(/home/\)[^/]*@\1REDACTED@g' } -redact(){ - sed 's@\(/home/\)[^/]*@\1REDACTED@g' -} logger(){ local date="$(date "+%F %T,%3N")" local tag="$1" From ebc62b0b1bbdae5bd90784f30c28df81480e703b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 04:30:44 +0900 Subject: [PATCH 219/221] fix: steam deck compatible source path expansion --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index ab6b1c5..49787c8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -src_path=$(realpath "$0") +src_path="$(readlink -e "$0")" version=6.0.0 From 1034a5ac0466924a81f82ac70d90f81ddc8627f9 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 05:04:10 +0900 Subject: [PATCH 220/221] fix: store source path --- dzgui.sh | 5 +++-- helpers/funcs | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 49787c8..1e19010 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -2,7 +2,6 @@ set -o pipefail src_path="$(readlink -e "$0")" - version=6.0.0 #CONSTANTS @@ -41,6 +40,8 @@ cols_file="$state_path/$prefix.cols.json" #CACHE FILES coords_file="$cache_path/$prefix.coords" +src_path_file="$cache_path/$prefix.src" +echo "$src_path" > "$src_path_file" #legacy paths hist_file="$config_path/history" @@ -624,7 +625,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="7844ba7d7a1bc8bd6e638317aab694d7" + ["funcs"]="2ac0ccc6c697208a1b097508d55ad886" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="3d67e5e8e85a23dde1fd0e85a9be62a9" diff --git a/helpers/funcs b/helpers/funcs index 127346f..d298a59 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -51,6 +51,7 @@ _cache_binary="$cache_dir/$prefix.binary" _cache_coords="$cache_path/$prefix.coords" _cache_cooldown="$cache_path/$prefix.cooldown" _cache_lan="$cache_path/$prefix.lan" +_cache_src_path="$cache_path/$prefix.src" #XDG freedesktop_path="$HOME/.local/share/applications" @@ -588,9 +589,6 @@ default_steam_path="$default_steam_path" #Preferred Steam launch command (for Flatpak support) preferred_client="$preferred_client" - -#DZGUI source path -src_path="$src_path" END } format_version_url(){ @@ -644,6 +642,7 @@ download_new_version(){ return 1 fi local version_url="$(format_version_url)" + local src_path="$(< "$_cache_src_path")" mv "$src_path" "$src_path.old" curl -Ls "$version_url" > "$src_path" rc=$? From b630cf40801d8553b0b6c50470aa051a4f8d1d66 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 15 Jan 2026 05:13:35 +0900 Subject: [PATCH 221/221] fix: write file after wiping cache --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 1e19010..6f4772c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -41,7 +41,6 @@ cols_file="$state_path/$prefix.cols.json" #CACHE FILES coords_file="$cache_path/$prefix.coords" src_path_file="$cache_path/$prefix.src" -echo "$src_path" > "$src_path_file" #legacy paths hist_file="$config_path/history" @@ -118,6 +117,7 @@ setup_state_files(){ done logger INFO "Wiped cache files" fi + echo "$src_path" > "$src_path_file" } print_config_vals(){ local keys=(

    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