From a1c7540880988131a6debb772b2a9a7154abf0a4 Mon Sep 17 00:00:00 2001 From: Felis Date: Thu, 13 Aug 2026 20:43:17 -0700 Subject: [PATCH] remove other plugins --- 9router-control/LICENSE | 21 - 9router-control/README.md | 84 - 9router-control/panel.luau | 901 ----- 9router-control/plugin.toml | 68 - 9router-control/service.luau | 553 --- 9router-control/thumbnail.webp | Bin 86942 -> 0 bytes 9router-control/translations/en.json | 120 - 9router-control/translations/vi.json | 120 - 9router-control/widget.luau | 165 - anilist/README.md | 80 - anilist/panel.luau | 740 ---- anilist/plugin.toml | 67 - anilist/scripts/oauth_login.py | 260 -- anilist/service.luau | 1483 -------- anilist/thumbnail.webp | Bin 48314 -> 0 bytes anilist/translations/de.json | 12 - anilist/translations/en.json | 97 - anilist/translations/fr.json | 97 - anilist/translations/tr.json | 29 - anilist/widget.luau | 126 - arch-updater/README.md | 146 - arch-updater/launcher.luau | 103 - arch-updater/panel.luau | 619 --- arch-updater/plugin.toml | 176 - arch-updater/service.luau | 850 ----- arch-updater/thumbnail.webp | Bin 51044 -> 0 bytes arch-updater/translations/de.json | 176 - arch-updater/translations/en.json | 179 - arch-updater/translations/fr.json | 38 - arch-updater/translations/tr.json | 118 - arch-updater/widget.luau | 152 - audio-switcher/README.md | 123 - audio-switcher/panel.luau | 627 --- audio-switcher/plugin.toml | 55 - audio-switcher/screenshots/panel.webp | Bin 20580 -> 0 bytes audio-switcher/service.luau | 1478 -------- audio-switcher/tests/input_ports_test.lua | 36 - audio-switcher/tests/mute_state_test.lua | 158 - audio-switcher/tests/output_group_test.lua | 200 - audio-switcher/thumbnail.webp | Bin 41486 -> 0 bytes audio-switcher/translations/en.json | 149 - audio-switcher/widget.luau | 74 - battery-graph/README.md | 39 - battery-graph/battery-desktop.luau | 79 - battery-graph/battery-graph.luau | 8 - battery-graph/battery-panel.luau | 82 - battery-graph/plugin.toml | 44 - battery-graph/thumbnail.webp | Bin 36802 -> 0 bytes battery-graph/translations/en.json | 19 - battery-threshold/README.md | 63 - battery-threshold/panel.luau | 172 - battery-threshold/plugin.toml | 43 - battery-threshold/service.luau | 222 -- battery-threshold/setup_rules.sh | 99 - battery-threshold/thumbnail.webp | Bin 54706 -> 0 bytes battery-threshold/translations/en.json | 26 - battery-threshold/widget.luau | 35 - battery-widget/README.md | 39 - battery-widget/plugin.toml | 112 - battery-widget/thumbnail.webp | Bin 46442 -> 0 bytes battery-widget/translations/en.json | 63 - battery-widget/translations/fr.json | 53 - battery-widget/widget.luau | 277 -- bookmarks/README.md | 206 - bookmarks/assets/preview-1.png | Bin 22094 -> 0 bytes bookmarks/assets/preview-2.png | Bin 22409 -> 0 bytes bookmarks/assets/preview-3.png | Bin 36657 -> 0 bytes bookmarks/assets/preview-4.png | Bin 36769 -> 0 bytes bookmarks/bar.luau | 30 - bookmarks/bk_provider.luau | 292 -- bookmarks/panel.luau | 1447 ------- bookmarks/plugin.toml | 91 - bookmarks/thumbnail.webp | Bin 52612 -> 0 bytes bookmarks/translations/en.json | 122 - bookmarks/translations/tr.json | 122 - calculator/README.md | 99 - calculator/bar.luau | 94 - calculator/panel.luau | 863 ----- calculator/plugin.toml | 59 - calculator/thumbnail.webp | Bin 77058 -> 0 bytes calculator/translations/de.json | 38 - calculator/translations/en.json | 38 - calculator/translations/tr.json | 38 - cat/README.md | 46 - cat/cat.luau | 176 - cat/cat_panel.luau | 44 - cat/fonts/catwalk2.otf | Bin 2268 -> 0 bytes cat/plugin.toml | 87 - cat/thumbnail.webp | Bin 23794 -> 0 bytes cat/translations/en.json | 35 - claude-companion/.gitignore | 3 - claude-companion/LICENSE | 21 - claude-companion/PROTOCOL.md | 174 - claude-companion/README.md | 137 - claude-companion/answer.luau | 90 - claude-companion/assets/pulse.gif | Bin 1505048 -> 0 bytes claude-companion/assets/question.gif | Bin 2091322 -> 0 bytes claude-companion/barpulse.luau | 89 - claude-companion/claude.luau | 332 -- claude-companion/config.example.toml | 14 - claude-companion/hooks/pulse-emit | 43 - claude-companion/hooks/pulse.py | 149 - claude-companion/hooks/settings.snippet.json | 26 - claude-companion/orb.luau | 148 - claude-companion/plugin.toml | 120 - claude-companion/pulse-svc.luau | 170 - claude-companion/pulse.luau | 291 -- claude-companion/sessions.luau | 171 - claude-companion/shim/noctalia-mcp.py | 559 --- claude-companion/tests/manifest_spec.py | 135 - claude-companion/tests/shim_spec.py | 213 -- claude-companion/thumbnail.webp | Bin 39780 -> 0 bytes claude-companion/translations/en.json | 80 - codexbar-meter/README.md | 88 - codexbar-meter/bar_widget.luau | 493 --- codexbar-meter/panel.luau | 448 --- codexbar-meter/plugin.toml | 69 - codexbar-meter/thumbnail.webp | Bin 92096 -> 0 bytes codexbar-meter/translations/en.json | 17 - color_picker/README.md | 68 - color_picker/panel.luau | 431 --- color_picker/plugin.toml | 103 - color_picker/service.luau | 296 -- color_picker/thumbnail.webp | Bin 81160 -> 0 bytes color_picker/translations/en.json | 48 - color_picker/translations/pt-BR.json | 48 - color_picker/widget.luau | 26 - config-swap/README.md | 130 - config-swap/config-swap-panel.luau | 655 ---- config-swap/config-swap-service.luau | 1 - config-swap/config-swap-widget.luau | 7 - config-swap/plugin.toml | 24 - config-swap/thumbnail.webp | Bin 57732 -> 0 bytes config-swap/translations/en.json | 47 - daily-wallpaper/README.md | 34 - daily-wallpaper/daily_wallpaper.luau | 278 -- daily-wallpaper/plugin.toml | 31 - daily-wallpaper/thumbnail.webp | Bin 42680 -> 0 bytes daily-wallpaper/translations/en.json | 19 - deepseek_usage/README.md | 43 - deepseek_usage/deepseek_usage.luau | 213 -- deepseek_usage/panel.luau | 235 -- deepseek_usage/plugin.toml | 47 - deepseek_usage/thumbnail.webp | Bin 56056 -> 0 bytes deepseek_usage/translations/en.json | 53 - dns-switcher/README.md | 130 - dns-switcher/dns-switcher.luau | 79 - dns-switcher/panel.luau | 345 -- dns-switcher/plugin.toml | 127 - dns-switcher/service.luau | 499 --- dns-switcher/thumbnail.webp | Bin 81014 -> 0 bytes dns-switcher/translations/en.json | 75 - drive-health/.luaurc | 7 - drive-health/Makefile | 40 - drive-health/README.md | 153 - drive-health/collector.luau | 1318 ------- drive-health/history.luau | 141 - .../packaging/install-system-collector.sh | 93 - drive-health/packaging/manage-collector.sh | 28 - .../noctalia-drive-health.service.in | 39 - .../packaging/noctalia-drive-health.timer | 11 - .../packaging/set-collector-interval.sh | 31 - drive-health/packaging/smart-action.sh | 35 - .../packaging/uninstall-system-collector.sh | 25 - drive-health/panel.luau | 1624 -------- drive-health/plugin.toml | 157 - drive-health/scripts/collect_raw.sh | 118 - drive-health/service.luau | 582 --- drive-health/tests/alert_harness.lua | 504 --- drive-health/tests/collector_harness.lua | 682 ---- drive-health/tests/fixtures/bin/lsblk | 19 - drive-health/tests/fixtures/bin/smartctl | 27 - drive-health/tests/history_harness.lua | 69 - drive-health/tests/panel_harness.lua | 464 --- drive-health/tests/test_collect_raw.sh | 47 - drive-health/tests/test_packaging.sh | 69 - drive-health/tests/widget_harness.lua | 109 - drive-health/thumbnail.webp | Bin 63032 -> 0 bytes drive-health/translations/en.json | 293 -- drive-health/widget.luau | 106 - dropwall/LICENSE | 21 - dropwall/README.md | 110 - dropwall/dropwall_copy.py | 196 - dropwall/dropwall_helper.py | 305 -- dropwall/dropwall_supervisor.py | 83 - dropwall/plugin.toml | 61 - dropwall/service.luau | 282 -- dropwall/thumbnail.webp | Bin 42012 -> 0 bytes dropwall/translations/en.json | 41 - ds4-color/README.md | 87 - ds4-color/panel.luau | 143 - ds4-color/plugin.toml | 33 - ds4-color/service.luau | 286 -- ds4-color/thumbnail.webp | Bin 43682 -> 0 bytes ds4-color/translations/en.json | 17 - ds4-color/widget.luau | 21 - eyecare/README.md | 56 - eyecare/plugin.toml | 51 - eyecare/service.luau | 311 -- eyecare/thumbnail.webp | Bin 63194 -> 0 bytes eyecare/translations/en.json | 28 - eyecare/translations/fr.json | 10 - eyecare/widget.luau | 100 - file-search/README.md | 258 -- file-search/file-search.luau | 70 - file-search/launcher.luau | 722 ---- file-search/panel.luau | 1390 ------- file-search/plugin.toml | 81 - file-search/thumbnail.webp | Bin 57884 -> 0 bytes file-search/translations/en.json | 74 - game-launcher/.gitignore | 1 - game-launcher/README.md | 73 - game-launcher/gamelauncher.c | 1199 ------ game-launcher/panel.luau | 510 --- game-launcher/plugin.toml | 62 - game-launcher/search.luau | 111 - game-launcher/sqlite_reader.c | 308 -- game-launcher/sqlite_reader.h | 40 - game-launcher/thumbnail.webp | Bin 53700 -> 0 bytes game-launcher/translations/en.json | 19 - game-launcher/widget.luau | 11 - gamer-mode/README.md | 500 --- gamer-mode/logo-dark.svg | 15 - gamer-mode/logo-light.svg | 15 - gamer-mode/monitor.luau | 701 ---- gamer-mode/monitor.webp | Bin 16010 -> 0 bytes gamer-mode/panel.luau | 761 ---- gamer-mode/panel.webp | Bin 28670 -> 0 bytes gamer-mode/plugin.toml | 227 -- gamer-mode/service.luau | 1828 --------- gamer-mode/thumbnail.webp | Bin 46380 -> 0 bytes gamer-mode/translations/en.json | 198 - gamer-mode/widget.luau | 145 - gocryptfs/README.md | 105 - gocryptfs/panel.luau | 878 ----- gocryptfs/plugin.toml | 106 - gocryptfs/service.luau | 1659 -------- gocryptfs/thumbnail.webp | Bin 50042 -> 0 bytes gocryptfs/translations/en.json | 140 - gocryptfs/widget.luau | 93 - godot-provider/README.md | 43 - godot-provider/godot_provider.luau | 170 - godot-provider/plugin.toml | 43 - godot-provider/thumbnail.webp | Bin 60322 -> 0 bytes godot-provider/translations/en.json | 20 - godot-provider/translations/pt-BR.json | 20 - gslapper/README.md | 118 - gslapper/panel.luau | 1002 ----- gslapper/plugin.toml | 111 - gslapper/service.luau | 1699 --------- gslapper/thumbnail.webp | Bin 41686 -> 0 bytes gslapper/translations/en.json | 102 - gslapper/widget.luau | 18 - hassio/README.md | 77 - hassio/panel.luau | 821 ---- hassio/plugin.toml | 95 - hassio/service_sse.luau | 564 --- hassio/shortcut.luau | 155 - hassio/shortcut_2.luau | 155 - hassio/shortcut_3.luau | 155 - hassio/shortcut_4.luau | 155 - hassio/shortcut_panel.luau | 10 - hassio/thumbnail.webp | Bin 48548 -> 0 bytes hassio/translations/en.json | 75 - hassio/translations/pt-BR.json | 75 - hassio/widget.luau | 104 - hotspot/README.md | 65 - hotspot/panel.luau | 208 - hotspot/plugin.toml | 67 - hotspot/service.luau | 502 --- hotspot/shortcut.luau | 35 - hotspot/thumbnail.webp | Bin 57032 -> 0 bytes hotspot/translations/en.json | 79 - hotspot/widget.luau | 75 - hypr-layout-switcher/plugin.toml | 4 +- hypr-screen-mirror/README.md | 35 - hypr-screen-mirror/panel.luau | 88 - hypr-screen-mirror/plugin.toml | 33 - hypr-screen-mirror/service.luau | 201 - hypr-screen-mirror/thumbnail.webp | Bin 47364 -> 0 bytes hypr-screen-mirror/translations/en.json | 27 - hypr-screen-mirror/widget.luau | 14 - hypr-submap/README.md | 38 - hypr-submap/plugin.toml | 37 - hypr-submap/submap.luau | 58 - hypr-submap/thumbnail.webp | Bin 43338 -> 0 bytes hypr-submap/translations/en.json | 16 - hypr-submap/translations/tr.json | 16 - ideapad-conservation-mode/README.md | 38 - .../conservation_mode.luau | 144 - ideapad-conservation-mode/plugin.toml | 14 - .../scripts/setup-permissions.sh | 51 - ideapad-conservation-mode/thumbnail.webp | Bin 53566 -> 0 bytes .../translations/de.json | 18 - .../translations/en.json | 18 - iio_lock/README.md | 48 - iio_lock/cc-toggle.luau | 32 - iio_lock/iio-lock.luau | 38 - iio_lock/iio-panel.luau | 30 - iio_lock/iio-service.luau | 39 - iio_lock/panel.luau | 136 - iio_lock/plugin.toml | 95 - iio_lock/thumbnail.webp | Bin 36076 -> 0 bytes iio_lock/translations/en.json | 45 - imagemagick-clock/README.md | 53 - imagemagick-clock/plugin.toml | 39 - imagemagick-clock/thumbnail.webp | Bin 44064 -> 0 bytes imagemagick-clock/translations/en.json | 16 - imagemagick-clock/translations/zh-Hans.json | 16 - imagemagick-clock/widget.luau | 91 - ip-monitor/README.md | 120 - ip-monitor/desktop.luau | 157 - ip-monitor/plugin.toml | 298 -- ip-monitor/thumbnail.webp | Bin 55574 -> 0 bytes ip-monitor/translations/en.json | 110 - ip-monitor/utils.luau | 262 -- ip-monitor/widget.luau | 176 - jetbrains-provider/README.md | 48 - jetbrains-provider/jb_provider.luau | 219 -- jetbrains-provider/plugin.toml | 48 - jetbrains-provider/scan_projects.sh | 236 -- jetbrains-provider/thumbnail.webp | Bin 68154 -> 0 bytes jetbrains-provider/translations/en.json | 25 - jetbrains-provider/translations/fr.json | 25 - k8s-status/README.md | 69 - k8s-status/launcher.luau | 791 ---- k8s-status/panel.luau | 732 ---- k8s-status/plugin.toml | 120 - k8s-status/service.luau | 962 ----- k8s-status/thumbnail.webp | Bin 60436 -> 0 bytes k8s-status/translations/en.json | 173 - k8s-status/widget.luau | 107 - keybind-cheatsheet/README.md | 170 - keybind-cheatsheet/panel.luau | 869 ----- keybind-cheatsheet/plugin.toml | 111 - keybind-cheatsheet/service.luau | 1395 ------- keybind-cheatsheet/tests/expected.json | 18 - .../tests/fixtures/hypr/binds.json | 6 - .../tests/fixtures/hypr/hyprland.conf | 9 - .../tests/fixtures/hypr/hyprland.lua | 9 - .../tests/fixtures/hypr/parts/media.lua | 2 - .../tests/fixtures/hypr/parts/workspaces.conf | 3 - .../tests/fixtures/mango/main.conf | 14 - .../tests/fixtures/mango/nested.conf | 3 - .../fixtures/mango/parts/workspaces.conf | 2 - .../tests/fixtures/niri/config.kdl | 12 - .../tests/fixtures/niri/parts/workspaces.kdl | 5 - keybind-cheatsheet/tests/host_mock.luau | 220 -- keybind-cheatsheet/thumbnail.webp | Bin 39316 -> 0 bytes keybind-cheatsheet/translations/en.json | 88 - keybind-cheatsheet/widget.luau | 26 - keymap/CHANGELOG.md | 45 - keymap/README.md | 365 -- keymap/command_library.json | 2915 -------------- keymap/examples/hyprland.lua | 56 - keymap/examples/mangowc.conf | 56 - keymap/examples/niri.kdl | 57 - keymap/mangowc_service.luau | 962 ----- keymap/niri_service.luau | 985 ----- keymap/panel.luau | 3370 ----------------- keymap/plugin.toml | 229 -- keymap/screenshots/command-library.webp | Bin 47838 -> 0 bytes keymap/screenshots/creator.webp | Bin 65496 -> 0 bytes keymap/screenshots/editor.webp | Bin 70100 -> 0 bytes keymap/screenshots/keyboard-100.webp | Bin 33634 -> 0 bytes keymap/screenshots/mangowc-list.webp | Bin 61526 -> 0 bytes keymap/screenshots/niri-list.webp | Bin 56584 -> 0 bytes keymap/screenshots/settings.webp | Bin 73950 -> 0 bytes keymap/service.luau | 1154 ------ keymap/tests/category_marker_parser_test.lua | 121 - keymap/tests/command_library_test.py | 71 - keymap/tests/example_configs_test.lua | 166 - keymap/tests/hidden_sentinel_parser_test.lua | 115 - keymap/tests/hypr_command_parser_test.lua | 67 - keymap/tests/hypr_cpu_budget_test.lua | 135 - keymap/tests/hypr_scale_test.lua | 79 - keymap/tests/i18n_test.py | 41 - keymap/tests/keyboard_layouts_test.lua | 118 - keymap/tests/mangowc_scale_test.lua | 89 - keymap/tests/niri_cpu_budget_test.lua | 104 - keymap/tests/niri_scale_test.lua | 87 - keymap/tests/writer_create_test.lua | 550 --- keymap/tests/writer_update_test.lua | 1012 ----- keymap/thumbnail.webp | Bin 48214 -> 0 bytes keymap/translations/en.json | 463 --- keymap/widget.luau | 32 - keymap/writer_service.luau | 2158 ----------- kineticwe-layouts/README.md | 68 - kineticwe-layouts/panel.luau | 79 - kineticwe-layouts/plugin.toml | 38 - kineticwe-layouts/service.luau | 149 - kineticwe-layouts/thumbnail.webp | Bin 12658 -> 0 bytes kineticwe-layouts/translations/en.json | 8 - kineticwe-layouts/widget.luau | 64 - lid-guard/README.md | 60 - lid-guard/plugin.toml | 22 - lid-guard/service.luau | 127 - lid-guard/shortcut.luau | 34 - lid-guard/thumbnail.webp | Bin 49490 -> 0 bytes lid-guard/translations/en.json | 28 - lid-guard/widget.luau | 59 - link-ip-monitor/README.md | 64 - link-ip-monitor/panel.luau | 359 -- link-ip-monitor/plugin.toml | 76 - link-ip-monitor/service.luau | 307 -- link-ip-monitor/thumbnail.webp | Bin 76752 -> 0 bytes link-ip-monitor/translations/en.json | 49 - link-ip-monitor/translations/pt-BR.json | 49 - link-ip-monitor/widget.luau | 87 - llamanager/LICENSE | 21 - llamanager/README.md | 93 - llamanager/assets/launcher.gif | Bin 724978 -> 0 bytes llamanager/assets/panel.gif | Bin 911491 -> 0 bytes llamanager/llamanager.luau | 79 - llamanager/panel.luau | 342 -- llamanager/plugin.toml | 47 - llamanager/registry.luau | 352 -- llamanager/thumbnail.webp | Bin 43908 -> 0 bytes llamanager/translations/en.json | 12 - llamanager/widget.luau | 6 - lrc/README.md | 39 - lrc/plugin.toml | 29 - lrc/thumbnail.webp | Bin 143520 -> 0 bytes lrc/translations/en.json | 12 - lrc/widget.luau | 62 - lyrics/README.md | 199 - lyrics/krc_decode.py | 91 - lyrics/lrclib_lyric.py | 81 - lyrics/lyric_sources.py | 983 ----- lyrics/lyrics.luau | 690 ---- lyrics/lyrics_selector.luau | 146 - lyrics/lyrics_service.luau | 1055 ------ lyrics/lyrics_shortcut.luau | 5 - lyrics/plugin.toml | 568 --- .../bar widget settings - 1.4.0.png | Bin 217635 -> 0 bytes lyrics/screenshots/settings - 1.4.0.png | Bin 174890 -> 0 bytes lyrics/screenshots/settings.webp | Bin 47850 -> 0 bytes lyrics/screenshots/widget - 1.4.0.png | Bin 17673 -> 0 bytes lyrics/screenshots/widget.webp | Bin 8910 -> 0 bytes lyrics/scripts/setup-deps.sh | 149 - lyrics/test_lyric_sources.py | 210 - lyrics/thumbnail.webp | Bin 41594 -> 0 bytes lyrics/translations/en.json | 316 -- lyrics/translations/tr.json | 75 - lyrics/translations/zh-Hans.json | 316 -- mango_layouts/README.md | 56 - mango_layouts/panel.luau | 174 - mango_layouts/plugin.toml | 134 - mango_layouts/thumbnail.webp | Bin 38154 -> 0 bytes mango_layouts/translations/en.json | 35 - mango_layouts/widget.luau | 68 - mangowm-keymode/README.md | 29 - mangowm-keymode/keymode.luau | 36 - mangowm-keymode/plugin.toml | 33 - mangowm-keymode/thumbnail.webp | Bin 47890 -> 0 bytes mangowm-keymode/translations/en.json | 13 - mawaqit/OFL.txt | 93 - mawaqit/README.md | 119 - mawaqit/ReemKufi.ttf | Bin 127152 -> 0 bytes mawaqit/bar_widget.luau | 289 -- mawaqit/panel.luau | 319 -- mawaqit/plugin.toml | 247 -- mawaqit/service.luau | 408 -- mawaqit/thumbnail.webp | Bin 52022 -> 0 bytes mawaqit/translations/en.json | 135 - mihomo-control/README.md | 95 - mihomo-control/icon-connecting.png | Bin 25303 -> 0 bytes mihomo-control/icon-offline.png | Bin 23950 -> 0 bytes mihomo-control/icon-online.png | Bin 24491 -> 0 bytes mihomo-control/icon.png | Bin 14428 -> 0 bytes mihomo-control/panel.luau | 482 --- mihomo-control/plugin.toml | 94 - mihomo-control/service.luau | 613 --- mihomo-control/shortcut.luau | 33 - mihomo-control/thumbnail.webp | Bin 55744 -> 0 bytes mihomo-control/translations/en.json | 92 - mihomo-control/translations/zh-Hans.json | 92 - mihomo-control/widget.luau | 100 - mimir/README.md | 74 - mimir/panel.luau | 340 -- mimir/plugin.toml | 93 - mimir/service.luau | 726 ---- mimir/thumbnail.webp | Bin 105802 -> 0 bytes mimir/translations/en.json | 65 - mimir/webparse.py | 66 - mimir/widget.luau | 35 - mini-docker/README.md | 55 - mini-docker/panel.luau | 539 --- mini-docker/plugin.toml | 100 - mini-docker/service.luau | 466 --- mini-docker/thumbnail.webp | Bin 48494 -> 0 bytes mini-docker/translations/en.json | 116 - mini-docker/widget.luau | 83 - nextboot-selector/README.md | 36 - nextboot-selector/nextboot_selector.luau | 9 - nextboot-selector/panel.luau | 148 - nextboot-selector/plugin.toml | 58 - nextboot-selector/thumbnail.webp | Bin 52522 -> 0 bytes nextboot-selector/translations/de.json | 32 - nextboot-selector/translations/en.json | 32 - niri-active-workspace/README.md | 75 - niri-active-workspace/plugin.toml | 42 - niri-active-workspace/thumbnail.webp | Bin 98902 -> 0 bytes niri-active-workspace/translations/en.json | 22 - niri-active-workspace/widget.luau | 221 -- niri-animations/README.md | 105 - niri-animations/panel.luau | 203 - niri-animations/plugin.toml | 75 - niri-animations/shortcut.luau | 36 - niri-animations/thumbnail.webp | Bin 48072 -> 0 bytes niri-animations/translations/en.json | 34 - niri-animations/translations/es.json | 34 - nix-monitor/README.md | 72 - nix-monitor/nix_monitor.luau | 52 - nix-monitor/nix_monitor_service.luau | 318 -- nix-monitor/panel.luau | 295 -- nix-monitor/plugin.toml | 255 -- nix-monitor/thumbnail.webp | Bin 55702 -> 0 bytes nix-monitor/translations/en.json | 170 - noctwhspr/README.md | 72 - noctwhspr/plugin.toml | 21 - noctwhspr/thumbnail.webp | Bin 35624 -> 0 bytes noctwhspr/translations/de.json | 9 - noctwhspr/translations/en.json | 9 - noctwhspr/widget.luau | 125 - obs-integration/README.md | 99 - obs-integration/panel.luau | 1606 -------- obs-integration/plugin.toml | 36 - obs-integration/thumbnail.webp | Bin 46738 -> 0 bytes obs-integration/translations/en.json | 85 - obs-integration/widget.luau | 46 - obsidian/README.md | 90 - obsidian/assets/obsidian-green.png | Bin 2553 -> 0 bytes obsidian/assets/obsidian-green.svg | 1 - obsidian/assets/obsidian-grey.png | Bin 2480 -> 0 bytes obsidian/assets/obsidian-grey.svg | 1 - obsidian/assets/obsidian-purple.png | Bin 2550 -> 0 bytes obsidian/assets/obsidian-purple.svg | 1 - obsidian/assets/obsidian.svg | 1 - obsidian/launcher.luau | 191 - obsidian/panel.luau | 568 --- obsidian/plugin.toml | 97 - obsidian/service.luau | 1010 ----- obsidian/thumbnail.webp | Bin 52438 -> 0 bytes obsidian/translations/en.json | 120 - obsidian/widget.luau | 103 - opencode-companion/README.md | 256 -- opencode-companion/panel.luau | 1268 ------- opencode-companion/plugin.toml | 164 - opencode-companion/service.luau | 1525 -------- opencode-companion/thumbnail.webp | Bin 67190 -> 0 bytes opencode-companion/translations/en.json | 166 - opencode-companion/translations/vi.json | 165 - opencode-companion/widget.luau | 198 - opnsense/README.md | 64 - opnsense/assets/opnsense-full.svg | 31 - opnsense/assets/opnsense-green.png | Bin 431 -> 0 bytes opnsense/assets/opnsense-green.svg | 1 - opnsense/assets/opnsense-grey.png | Bin 426 -> 0 bytes opnsense/assets/opnsense-grey.svg | 1 - opnsense/assets/opnsense-orange.png | Bin 438 -> 0 bytes opnsense/assets/opnsense-orange.svg | 1 - opnsense/assets/opnsense-red.png | Bin 433 -> 0 bytes opnsense/assets/opnsense-red.svg | 1 - opnsense/assets/opnsense.svg | 1 - opnsense/launcher.luau | 292 -- opnsense/panel.luau | 732 ---- opnsense/plugin.toml | 120 - opnsense/service.luau | 1113 ------ opnsense/thumbnail.webp | Bin 50202 -> 0 bytes opnsense/translations/en.json | 158 - opnsense/widget.luau | 127 - pass/README.md | 47 - pass/launcher.luau | 95 - pass/plugin.toml | 30 - pass/service.luau | 102 - pass/thumbnail.webp | Bin 49548 -> 0 bytes pass/translations/en.json | 14 - pass/translations/tr.json | 14 - phone-connect/README.md | 75 - phone-connect/panel.luau | 389 -- phone-connect/plugin.toml | 145 - phone-connect/service.luau | 775 ---- phone-connect/thumbnail.webp | Bin 58674 -> 0 bytes phone-connect/tile.luau | 89 - phone-connect/translations/en.json | 120 - phone-connect/translations/zh-Hans.json | 101 - phone-connect/widget.luau | 133 - pomodoro/JetBrainsMono-Regular.ttf | Bin 114904 -> 0 bytes pomodoro/LICENCE.txt | 21 - pomodoro/README.md | 53 - pomodoro/THIRD_PARTY_LICENCES/OFL.txt | 93 - pomodoro/panel.luau | 178 - pomodoro/plugin.toml | 90 - pomodoro/pomodoro.luau | 83 - pomodoro/thumbnail.webp | Bin 40664 -> 0 bytes pomodoro/translations/en.json | 59 - pomodoro/widget.luau | 62 - portctl/README.md | 59 - portctl/panel.luau | 315 -- portctl/plugin.toml | 71 - portctl/service.luau | 240 -- portctl/thumbnail.webp | Bin 43576 -> 0 bytes portctl/translations/de.json | 54 - portctl/translations/en.json | 54 - portctl/widget.luau | 40 - prismlauncher-instances/README.md | 34 - prismlauncher-instances/plugin.toml | 33 - .../prismlauncher-instances.luau | 184 - prismlauncher-instances/thumbnail.webp | Bin 48764 -> 0 bytes prismlauncher-instances/translations/de.json | 16 - prismlauncher-instances/translations/en.json | 16 - prismlauncher-instances/translations/fr.json | 16 - procmon/README.md | 64 - procmon/panel.luau | 685 ---- procmon/plugin.toml | 78 - procmon/service.luau | 261 -- procmon/thumbnail.webp | Bin 67326 -> 0 bytes procmon/translations/en.json | 60 - procmon/widget.luau | 71 - proton-pass/README.md | 31 - proton-pass/launcher.luau | 211 -- proton-pass/plugin.toml | 17 - proton-pass/thumbnail.webp | Bin 44016 -> 0 bytes proton-pass/translations/de.json | 7 - proton-pass/translations/en.json | 7 - pulsar-mouse/README.md | 106 - pulsar-mouse/bar.luau | 210 - pulsar-mouse/desktop.luau | 190 - pulsar-mouse/panel.luau | 739 ---- pulsar-mouse/plugin.toml | 154 - pulsar-mouse/thumbnail.webp | Bin 20620 -> 0 bytes pulsar-mouse/translations/en.json | 60 - qrcode/README.md | 42 - qrcode/panel.luau | 250 -- qrcode/plugin.toml | 103 - qrcode/thumbnail.webp | Bin 54546 -> 0 bytes qrcode/translations/en.json | 66 - qrcode/widget.luau | 9 - rss-notifier/README.md | 53 - rss-notifier/panel.luau | 153 - rss-notifier/plugin.toml | 84 - rss-notifier/service.luau | 599 --- rss-notifier/thumbnail.webp | Bin 76704 -> 0 bytes rss-notifier/translations/en.json | 24 - rss-notifier/translations/pt-BR.json | 24 - rss-notifier/widget.luau | 66 - ruh-vpn/README.md | 94 - ruh-vpn/backend/__init__.py | 0 ruh-vpn/backend/app.py | 202 - ruh-vpn/backend/config/__init__.py | 0 ruh-vpn/backend/config/settings.py | 37 - ruh-vpn/backend/core/__init__.py | 0 ruh-vpn/backend/core/state.py | 55 - ruh-vpn/backend/geoip.py | 82 - ruh-vpn/backend/http/__init__.py | 0 ruh-vpn/backend/http/control.py | 224 -- ruh-vpn/backend/identity.py | 6 - ruh-vpn/backend/models/__init__.py | 0 ruh-vpn/backend/models/server.py | 192 - ruh-vpn/backend/monitoring/__init__.py | 0 ruh-vpn/backend/monitoring/health.py | 331 -- ruh-vpn/backend/monitoring/log_streamer.py | 145 - ruh-vpn/backend/monitoring/traffic.py | 95 - ruh-vpn/backend/paths.py | 25 - ruh-vpn/backend/routing/__init__.py | 0 ruh-vpn/backend/routing/rules.py | 227 -- ruh-vpn/backend/service/__init__.py | 0 ruh-vpn/backend/service/kill_switch.py | 151 - ruh-vpn/backend/service/tun_binary.py | 48 - ruh-vpn/backend/service/vpn_service.py | 1016 ----- ruh-vpn/backend/singbox/__init__.py | 0 ruh-vpn/backend/singbox/config_builder.py | 329 -- ruh-vpn/backend/singbox/process_manager.py | 309 -- ruh-vpn/backend/singbox/transport.py | 147 - ruh-vpn/backend/storage/__init__.py | 0 ruh-vpn/backend/storage/persistence.py | 74 - ruh-vpn/backend/storage/subscriptions.py | 37 - ruh-vpn/backend/subscription/__init__.py | 0 ruh-vpn/backend/subscription/manager.py | 157 - ruh-vpn/backend/subscription/parsers.py | 311 -- ruh-vpn/panel.luau | 913 ----- ruh-vpn/plugin.toml | 78 - ruh-vpn/pyproject.toml | 21 - ruh-vpn/service.luau | 310 -- ruh-vpn/shortcut.luau | 33 - ruh-vpn/tests/conftest.py | 17 - ruh-vpn/tests/test_auth.py | 45 - ruh-vpn/tests/test_config_builder.py | 44 - ruh-vpn/tests/test_kill_switch.py | 64 - ruh-vpn/tests/test_models.py | 39 - ruh-vpn/tests/test_parsers.py | 41 - ruh-vpn/tests/test_persistence.py | 27 - ruh-vpn/tests/test_rules.py | 45 - ruh-vpn/thumbnail.webp | Bin 43146 -> 0 bytes ruh-vpn/translations/en.json | 107 - ruh-vpn/widget.luau | 47 - screen-toolkit/README.md | 284 -- screen-toolkit/panel.luau | 516 --- screen-toolkit/plugin.toml | 237 -- screen-toolkit/result.luau | 527 --- screen-toolkit/scripts/capture.sh | 99 - screen-toolkit/scripts/color-picker.sh | 63 - screen-toolkit/scripts/lens-upload.sh | 37 - screen-toolkit/scripts/ocr.sh | 99 - screen-toolkit/scripts/record.sh | 113 - screen-toolkit/scripts/share-upload.sh | 81 - screen-toolkit/service.luau | 999 ----- screen-toolkit/shortcut.luau | 29 - screen-toolkit/thumbnail.webp | Bin 68084 -> 0 bytes screen-toolkit/translations/en.json | 212 -- screen-toolkit/widget.luau | 68 - sharednd/README.md | 59 - sharednd/plugin.toml | 41 - sharednd/service.luau | 188 - sharednd/thumbnail.webp | Bin 35166 -> 0 bytes sharednd/translations/de.json | 17 - sharednd/translations/en.json | 17 - shell-command/README.md | 123 - shell-command/plugin.toml | 32 - shell-command/shell_provider.luau | 482 --- shell-command/thumbnail.webp | Bin 67174 -> 0 bytes shell-command/translations/en.json | 25 - shell-command/translations/vi.json | 25 - shelly/README.md | 44 - shelly/plugin.toml | 99 - shelly/poller.luau | 64 - shelly/thumbnail.webp | Bin 43236 -> 0 bytes shelly/translations/de.json | 84 - shelly/translations/en.json | 84 - shelly/widget.luau | 119 - special-workspaces/README.md | 52 - special-workspaces/plugin.toml | 78 - special-workspaces/service.luau | 194 - special-workspaces/thumbnail.webp | Bin 62400 -> 0 bytes special-workspaces/translations/en.json | 36 - special-workspaces/widget.luau | 106 - spotify-lyrics/README.md | 80 - spotify-lyrics/bar.luau | 61 - spotify-lyrics/panel.luau | 223 -- spotify-lyrics/plugin.toml | 27 - spotify-lyrics/spotify_lyrics_daemon.py | 256 -- spotify-lyrics/thumbnail.webp | Bin 17412 -> 0 bytes spotify-lyrics/translations/en.json | 5 - spotify-lyrics/widget.luau | 253 -- ssh-launcher/README.md | 40 - ssh-launcher/launcher.luau | 201 - ssh-launcher/plugin.toml | 49 - ssh-launcher/thumbnail.webp | Bin 51036 -> 0 bytes ssh-launcher/translations/en.json | 29 - ssh-launcher/translations/fr.json | 29 - tailscale/README.md | 68 - tailscale/assets/tailscale-green.png | Bin 937 -> 0 bytes tailscale/assets/tailscale-green.svg | 1 - tailscale/assets/tailscale-grey.png | Bin 918 -> 0 bytes tailscale/assets/tailscale-grey.svg | 1 - tailscale/assets/tailscale-white.png | Bin 753 -> 0 bytes tailscale/assets/tailscale-white.svg | 1 - tailscale/assets/tailscale.svg | 1 - tailscale/launcher.luau | 415 -- tailscale/panel.luau | 789 ---- tailscale/plugin.toml | 86 - tailscale/service.luau | 857 ----- tailscale/thumbnail.webp | Bin 49530 -> 0 bytes tailscale/translations/en.json | 165 - tailscale/widget.luau | 111 - thinkpad-led/README.md | 27 - thinkpad-led/plugin.toml | 14 - thinkpad-led/thumbnail.webp | Bin 45976 -> 0 bytes thinkpad-led/translations/en.json | 1 - thinkpad-led/widget.luau | 101 - tmux-provider/README.md | 59 - tmux-provider/assets/preview-1.png | Bin 232409 -> 0 bytes tmux-provider/assets/preview-2.png | Bin 221831 -> 0 bytes tmux-provider/plugin.toml | 25 - tmux-provider/thumbnail.webp | Bin 57202 -> 0 bytes tmux-provider/tmux_provider.luau | 237 -- tmux-provider/translations/en.json | 15 - tmux-provider/translations/fr.json | 4 - todo/README.md | 133 - todo/panel.luau | 697 ---- todo/plugin.toml | 45 - todo/thumbnail.webp | Bin 57206 -> 0 bytes todo/todo.luau | 73 - todo/translations/de.json | 37 - todo/translations/en.json | 37 - todo/translations/fr.json | 10 - topgrade-wrapper/README.md | 237 -- topgrade-wrapper/panel.luau | 465 --- topgrade-wrapper/plugin.toml | 142 - topgrade-wrapper/service.luau | 707 ---- topgrade-wrapper/thumbnail.webp | Bin 63856 -> 0 bytes topgrade-wrapper/topgrade-wrapper.luau | 143 - topgrade-wrapper/translations/en.json | 116 - udiskie/Makefile | 18 - udiskie/README.md | 98 - udiskie/panel.luau | 307 -- udiskie/plugin.toml | 70 - udiskie/service.luau | 263 -- udiskie/status.luau | 79 - udiskie/tests/check_translations.py | 82 - udiskie/thumbnail.webp | Bin 56792 -> 0 bytes udiskie/translations/en.json | 69 - udiskie/translations/es.json | 69 - um5606_fan_state/README.md | 39 - um5606_fan_state/fan_state_bar.luau | 69 - um5606_fan_state/fan_state_service.luau | 129 - um5606_fan_state/plugin.toml | 38 - um5606_fan_state/shortcut.luau | 42 - um5606_fan_state/thumbnail.webp | Bin 78716 -> 0 bytes um5606_fan_state/translations/de.json | 12 - um5606_fan_state/translations/en.json | 12 - upbeat/README.md | 30 - upbeat/plugin.toml | 36 - upbeat/thumbnail.webp | Bin 39414 -> 0 bytes upbeat/translations/de.json | 16 - upbeat/translations/en.json | 16 - upbeat/upbeat.luau | 45 - voxtype/README.md | 81 - voxtype/plugin.toml | 126 - voxtype/thumbnail.webp | Bin 45050 -> 0 bytes voxtype/translations/en.json | 72 - voxtype/widget.luau | 113 - w-engine/README.md | 136 - w-engine/plugin.toml | 47 - w-engine/start.luau | 812 ---- w-engine/thumbnail.webp | Bin 57662 -> 0 bytes w-engine/translations/en.json | 69 - w-engine/w-engine-panel.luau | 1434 ------- w-engine/w-engine.luau | 38 - web-launcher/README.md | 40 - web-launcher/launcher.luau | 136 - web-launcher/plugin.toml | 59 - web-launcher/thumbnail.webp | Bin 50488 -> 0 bytes web-launcher/translations/de.json | 27 - web-launcher/translations/en.json | 27 - web-launcher/translations/fr.json | 27 - wl-screen-mirror/README.md | 36 - wl-screen-mirror/panel.luau | 360 -- wl-screen-mirror/plugin.toml | 27 - wl-screen-mirror/service.luau | 309 -- wl-screen-mirror/thumbnail.webp | Bin 52372 -> 0 bytes wl-screen-mirror/translations/en.json | 57 - wl-screen-mirror/widget.luau | 64 - zed-provider/README.md | 38 - zed-provider/plugin.toml | 34 - zed-provider/thumbnail.webp | Bin 33728 -> 0 bytes zed-provider/translations/de.json | 17 - zed-provider/translations/en.json | 17 - zed-provider/translations/fr.json | 17 - zed-provider/zed_provider.luau | 124 - 851 files changed, 2 insertions(+), 136962 deletions(-) delete mode 100644 9router-control/LICENSE delete mode 100644 9router-control/README.md delete mode 100644 9router-control/panel.luau delete mode 100644 9router-control/plugin.toml delete mode 100644 9router-control/service.luau delete mode 100644 9router-control/thumbnail.webp delete mode 100644 9router-control/translations/en.json delete mode 100644 9router-control/translations/vi.json delete mode 100644 9router-control/widget.luau delete mode 100644 anilist/README.md delete mode 100644 anilist/panel.luau delete mode 100644 anilist/plugin.toml delete mode 100755 anilist/scripts/oauth_login.py delete mode 100644 anilist/service.luau delete mode 100644 anilist/thumbnail.webp delete mode 100644 anilist/translations/de.json delete mode 100644 anilist/translations/en.json delete mode 100644 anilist/translations/fr.json delete mode 100644 anilist/translations/tr.json delete mode 100644 anilist/widget.luau delete mode 100644 arch-updater/README.md delete mode 100644 arch-updater/launcher.luau delete mode 100644 arch-updater/panel.luau delete mode 100644 arch-updater/plugin.toml delete mode 100644 arch-updater/service.luau delete mode 100644 arch-updater/thumbnail.webp delete mode 100644 arch-updater/translations/de.json delete mode 100644 arch-updater/translations/en.json delete mode 100644 arch-updater/translations/fr.json delete mode 100644 arch-updater/translations/tr.json delete mode 100644 arch-updater/widget.luau delete mode 100644 audio-switcher/README.md delete mode 100644 audio-switcher/panel.luau delete mode 100644 audio-switcher/plugin.toml delete mode 100644 audio-switcher/screenshots/panel.webp delete mode 100644 audio-switcher/service.luau delete mode 100644 audio-switcher/tests/input_ports_test.lua delete mode 100644 audio-switcher/tests/mute_state_test.lua delete mode 100644 audio-switcher/tests/output_group_test.lua delete mode 100644 audio-switcher/thumbnail.webp delete mode 100644 audio-switcher/translations/en.json delete mode 100644 audio-switcher/widget.luau delete mode 100644 battery-graph/README.md delete mode 100644 battery-graph/battery-desktop.luau delete mode 100644 battery-graph/battery-graph.luau delete mode 100644 battery-graph/battery-panel.luau delete mode 100644 battery-graph/plugin.toml delete mode 100644 battery-graph/thumbnail.webp delete mode 100644 battery-graph/translations/en.json delete mode 100644 battery-threshold/README.md delete mode 100644 battery-threshold/panel.luau delete mode 100644 battery-threshold/plugin.toml delete mode 100644 battery-threshold/service.luau delete mode 100755 battery-threshold/setup_rules.sh delete mode 100644 battery-threshold/thumbnail.webp delete mode 100644 battery-threshold/translations/en.json delete mode 100644 battery-threshold/widget.luau delete mode 100644 battery-widget/README.md delete mode 100644 battery-widget/plugin.toml delete mode 100644 battery-widget/thumbnail.webp delete mode 100644 battery-widget/translations/en.json delete mode 100644 battery-widget/translations/fr.json delete mode 100644 battery-widget/widget.luau delete mode 100644 bookmarks/README.md delete mode 100644 bookmarks/assets/preview-1.png delete mode 100644 bookmarks/assets/preview-2.png delete mode 100644 bookmarks/assets/preview-3.png delete mode 100644 bookmarks/assets/preview-4.png delete mode 100644 bookmarks/bar.luau delete mode 100644 bookmarks/bk_provider.luau delete mode 100644 bookmarks/panel.luau delete mode 100644 bookmarks/plugin.toml delete mode 100644 bookmarks/thumbnail.webp delete mode 100644 bookmarks/translations/en.json delete mode 100644 bookmarks/translations/tr.json delete mode 100644 calculator/README.md delete mode 100644 calculator/bar.luau delete mode 100644 calculator/panel.luau delete mode 100644 calculator/plugin.toml delete mode 100644 calculator/thumbnail.webp delete mode 100644 calculator/translations/de.json delete mode 100644 calculator/translations/en.json delete mode 100644 calculator/translations/tr.json delete mode 100644 cat/README.md delete mode 100644 cat/cat.luau delete mode 100644 cat/cat_panel.luau delete mode 100644 cat/fonts/catwalk2.otf delete mode 100644 cat/plugin.toml delete mode 100644 cat/thumbnail.webp delete mode 100644 cat/translations/en.json delete mode 100644 claude-companion/.gitignore delete mode 100644 claude-companion/LICENSE delete mode 100644 claude-companion/PROTOCOL.md delete mode 100644 claude-companion/README.md delete mode 100644 claude-companion/answer.luau delete mode 100644 claude-companion/assets/pulse.gif delete mode 100644 claude-companion/assets/question.gif delete mode 100644 claude-companion/barpulse.luau delete mode 100644 claude-companion/claude.luau delete mode 100644 claude-companion/config.example.toml delete mode 100755 claude-companion/hooks/pulse-emit delete mode 100755 claude-companion/hooks/pulse.py delete mode 100644 claude-companion/hooks/settings.snippet.json delete mode 100644 claude-companion/orb.luau delete mode 100644 claude-companion/plugin.toml delete mode 100644 claude-companion/pulse-svc.luau delete mode 100644 claude-companion/pulse.luau delete mode 100644 claude-companion/sessions.luau delete mode 100644 claude-companion/shim/noctalia-mcp.py delete mode 100644 claude-companion/tests/manifest_spec.py delete mode 100644 claude-companion/tests/shim_spec.py delete mode 100644 claude-companion/thumbnail.webp delete mode 100644 claude-companion/translations/en.json delete mode 100644 codexbar-meter/README.md delete mode 100644 codexbar-meter/bar_widget.luau delete mode 100644 codexbar-meter/panel.luau delete mode 100644 codexbar-meter/plugin.toml delete mode 100644 codexbar-meter/thumbnail.webp delete mode 100644 codexbar-meter/translations/en.json delete mode 100644 color_picker/README.md delete mode 100644 color_picker/panel.luau delete mode 100644 color_picker/plugin.toml delete mode 100644 color_picker/service.luau delete mode 100644 color_picker/thumbnail.webp delete mode 100644 color_picker/translations/en.json delete mode 100644 color_picker/translations/pt-BR.json delete mode 100644 color_picker/widget.luau delete mode 100644 config-swap/README.md delete mode 100644 config-swap/config-swap-panel.luau delete mode 100644 config-swap/config-swap-service.luau delete mode 100644 config-swap/config-swap-widget.luau delete mode 100644 config-swap/plugin.toml delete mode 100644 config-swap/thumbnail.webp delete mode 100644 config-swap/translations/en.json delete mode 100644 daily-wallpaper/README.md delete mode 100644 daily-wallpaper/daily_wallpaper.luau delete mode 100644 daily-wallpaper/plugin.toml delete mode 100644 daily-wallpaper/thumbnail.webp delete mode 100644 daily-wallpaper/translations/en.json delete mode 100644 deepseek_usage/README.md delete mode 100644 deepseek_usage/deepseek_usage.luau delete mode 100644 deepseek_usage/panel.luau delete mode 100644 deepseek_usage/plugin.toml delete mode 100644 deepseek_usage/thumbnail.webp delete mode 100644 deepseek_usage/translations/en.json delete mode 100644 dns-switcher/README.md delete mode 100644 dns-switcher/dns-switcher.luau delete mode 100644 dns-switcher/panel.luau delete mode 100644 dns-switcher/plugin.toml delete mode 100644 dns-switcher/service.luau delete mode 100644 dns-switcher/thumbnail.webp delete mode 100644 dns-switcher/translations/en.json delete mode 100644 drive-health/.luaurc delete mode 100644 drive-health/Makefile delete mode 100644 drive-health/README.md delete mode 100644 drive-health/collector.luau delete mode 100644 drive-health/history.luau delete mode 100755 drive-health/packaging/install-system-collector.sh delete mode 100755 drive-health/packaging/manage-collector.sh delete mode 100644 drive-health/packaging/noctalia-drive-health.service.in delete mode 100644 drive-health/packaging/noctalia-drive-health.timer delete mode 100755 drive-health/packaging/set-collector-interval.sh delete mode 100755 drive-health/packaging/smart-action.sh delete mode 100755 drive-health/packaging/uninstall-system-collector.sh delete mode 100644 drive-health/panel.luau delete mode 100644 drive-health/plugin.toml delete mode 100755 drive-health/scripts/collect_raw.sh delete mode 100644 drive-health/service.luau delete mode 100644 drive-health/tests/alert_harness.lua delete mode 100644 drive-health/tests/collector_harness.lua delete mode 100755 drive-health/tests/fixtures/bin/lsblk delete mode 100755 drive-health/tests/fixtures/bin/smartctl delete mode 100644 drive-health/tests/history_harness.lua delete mode 100644 drive-health/tests/panel_harness.lua delete mode 100755 drive-health/tests/test_collect_raw.sh delete mode 100644 drive-health/tests/test_packaging.sh delete mode 100644 drive-health/tests/widget_harness.lua delete mode 100644 drive-health/thumbnail.webp delete mode 100644 drive-health/translations/en.json delete mode 100644 drive-health/widget.luau delete mode 100644 dropwall/LICENSE delete mode 100644 dropwall/README.md delete mode 100644 dropwall/dropwall_copy.py delete mode 100644 dropwall/dropwall_helper.py delete mode 100644 dropwall/dropwall_supervisor.py delete mode 100644 dropwall/plugin.toml delete mode 100644 dropwall/service.luau delete mode 100644 dropwall/thumbnail.webp delete mode 100644 dropwall/translations/en.json delete mode 100644 ds4-color/README.md delete mode 100644 ds4-color/panel.luau delete mode 100644 ds4-color/plugin.toml delete mode 100644 ds4-color/service.luau delete mode 100644 ds4-color/thumbnail.webp delete mode 100644 ds4-color/translations/en.json delete mode 100644 ds4-color/widget.luau delete mode 100644 eyecare/README.md delete mode 100644 eyecare/plugin.toml delete mode 100644 eyecare/service.luau delete mode 100644 eyecare/thumbnail.webp delete mode 100644 eyecare/translations/en.json delete mode 100644 eyecare/translations/fr.json delete mode 100644 eyecare/widget.luau delete mode 100644 file-search/README.md delete mode 100644 file-search/file-search.luau delete mode 100644 file-search/launcher.luau delete mode 100644 file-search/panel.luau delete mode 100644 file-search/plugin.toml delete mode 100644 file-search/thumbnail.webp delete mode 100644 file-search/translations/en.json delete mode 100644 game-launcher/.gitignore delete mode 100644 game-launcher/README.md delete mode 100755 game-launcher/gamelauncher.c delete mode 100644 game-launcher/panel.luau delete mode 100644 game-launcher/plugin.toml delete mode 100644 game-launcher/search.luau delete mode 100644 game-launcher/sqlite_reader.c delete mode 100644 game-launcher/sqlite_reader.h delete mode 100644 game-launcher/thumbnail.webp delete mode 100644 game-launcher/translations/en.json delete mode 100644 game-launcher/widget.luau delete mode 100644 gamer-mode/README.md delete mode 100644 gamer-mode/logo-dark.svg delete mode 100644 gamer-mode/logo-light.svg delete mode 100644 gamer-mode/monitor.luau delete mode 100644 gamer-mode/monitor.webp delete mode 100644 gamer-mode/panel.luau delete mode 100644 gamer-mode/panel.webp delete mode 100644 gamer-mode/plugin.toml delete mode 100644 gamer-mode/service.luau delete mode 100644 gamer-mode/thumbnail.webp delete mode 100644 gamer-mode/translations/en.json delete mode 100644 gamer-mode/widget.luau delete mode 100644 gocryptfs/README.md delete mode 100644 gocryptfs/panel.luau delete mode 100644 gocryptfs/plugin.toml delete mode 100644 gocryptfs/service.luau delete mode 100644 gocryptfs/thumbnail.webp delete mode 100644 gocryptfs/translations/en.json delete mode 100644 gocryptfs/widget.luau delete mode 100644 godot-provider/README.md delete mode 100644 godot-provider/godot_provider.luau delete mode 100644 godot-provider/plugin.toml delete mode 100644 godot-provider/thumbnail.webp delete mode 100644 godot-provider/translations/en.json delete mode 100644 godot-provider/translations/pt-BR.json delete mode 100644 gslapper/README.md delete mode 100644 gslapper/panel.luau delete mode 100644 gslapper/plugin.toml delete mode 100644 gslapper/service.luau delete mode 100644 gslapper/thumbnail.webp delete mode 100644 gslapper/translations/en.json delete mode 100644 gslapper/widget.luau delete mode 100644 hassio/README.md delete mode 100644 hassio/panel.luau delete mode 100644 hassio/plugin.toml delete mode 100644 hassio/service_sse.luau delete mode 100644 hassio/shortcut.luau delete mode 100644 hassio/shortcut_2.luau delete mode 100644 hassio/shortcut_3.luau delete mode 100644 hassio/shortcut_4.luau delete mode 100644 hassio/shortcut_panel.luau delete mode 100644 hassio/thumbnail.webp delete mode 100644 hassio/translations/en.json delete mode 100644 hassio/translations/pt-BR.json delete mode 100644 hassio/widget.luau delete mode 100644 hotspot/README.md delete mode 100644 hotspot/panel.luau delete mode 100644 hotspot/plugin.toml delete mode 100644 hotspot/service.luau delete mode 100644 hotspot/shortcut.luau delete mode 100644 hotspot/thumbnail.webp delete mode 100644 hotspot/translations/en.json delete mode 100644 hotspot/widget.luau delete mode 100644 hypr-screen-mirror/README.md delete mode 100644 hypr-screen-mirror/panel.luau delete mode 100644 hypr-screen-mirror/plugin.toml delete mode 100644 hypr-screen-mirror/service.luau delete mode 100644 hypr-screen-mirror/thumbnail.webp delete mode 100644 hypr-screen-mirror/translations/en.json delete mode 100644 hypr-screen-mirror/widget.luau delete mode 100644 hypr-submap/README.md delete mode 100644 hypr-submap/plugin.toml delete mode 100644 hypr-submap/submap.luau delete mode 100644 hypr-submap/thumbnail.webp delete mode 100644 hypr-submap/translations/en.json delete mode 100644 hypr-submap/translations/tr.json delete mode 100644 ideapad-conservation-mode/README.md delete mode 100644 ideapad-conservation-mode/conservation_mode.luau delete mode 100644 ideapad-conservation-mode/plugin.toml delete mode 100755 ideapad-conservation-mode/scripts/setup-permissions.sh delete mode 100644 ideapad-conservation-mode/thumbnail.webp delete mode 100644 ideapad-conservation-mode/translations/de.json delete mode 100644 ideapad-conservation-mode/translations/en.json delete mode 100644 iio_lock/README.md delete mode 100644 iio_lock/cc-toggle.luau delete mode 100644 iio_lock/iio-lock.luau delete mode 100644 iio_lock/iio-panel.luau delete mode 100644 iio_lock/iio-service.luau delete mode 100644 iio_lock/panel.luau delete mode 100644 iio_lock/plugin.toml delete mode 100644 iio_lock/thumbnail.webp delete mode 100644 iio_lock/translations/en.json delete mode 100644 imagemagick-clock/README.md delete mode 100644 imagemagick-clock/plugin.toml delete mode 100644 imagemagick-clock/thumbnail.webp delete mode 100644 imagemagick-clock/translations/en.json delete mode 100644 imagemagick-clock/translations/zh-Hans.json delete mode 100644 imagemagick-clock/widget.luau delete mode 100644 ip-monitor/README.md delete mode 100644 ip-monitor/desktop.luau delete mode 100644 ip-monitor/plugin.toml delete mode 100644 ip-monitor/thumbnail.webp delete mode 100644 ip-monitor/translations/en.json delete mode 100644 ip-monitor/utils.luau delete mode 100644 ip-monitor/widget.luau delete mode 100644 jetbrains-provider/README.md delete mode 100644 jetbrains-provider/jb_provider.luau delete mode 100644 jetbrains-provider/plugin.toml delete mode 100755 jetbrains-provider/scan_projects.sh delete mode 100644 jetbrains-provider/thumbnail.webp delete mode 100644 jetbrains-provider/translations/en.json delete mode 100644 jetbrains-provider/translations/fr.json delete mode 100644 k8s-status/README.md delete mode 100644 k8s-status/launcher.luau delete mode 100644 k8s-status/panel.luau delete mode 100644 k8s-status/plugin.toml delete mode 100644 k8s-status/service.luau delete mode 100644 k8s-status/thumbnail.webp delete mode 100644 k8s-status/translations/en.json delete mode 100644 k8s-status/widget.luau delete mode 100644 keybind-cheatsheet/README.md delete mode 100644 keybind-cheatsheet/panel.luau delete mode 100644 keybind-cheatsheet/plugin.toml delete mode 100644 keybind-cheatsheet/service.luau delete mode 100644 keybind-cheatsheet/tests/expected.json delete mode 100644 keybind-cheatsheet/tests/fixtures/hypr/binds.json delete mode 100644 keybind-cheatsheet/tests/fixtures/hypr/hyprland.conf delete mode 100644 keybind-cheatsheet/tests/fixtures/hypr/hyprland.lua delete mode 100644 keybind-cheatsheet/tests/fixtures/hypr/parts/media.lua delete mode 100644 keybind-cheatsheet/tests/fixtures/hypr/parts/workspaces.conf delete mode 100644 keybind-cheatsheet/tests/fixtures/mango/main.conf delete mode 100644 keybind-cheatsheet/tests/fixtures/mango/nested.conf delete mode 100644 keybind-cheatsheet/tests/fixtures/mango/parts/workspaces.conf delete mode 100644 keybind-cheatsheet/tests/fixtures/niri/config.kdl delete mode 100644 keybind-cheatsheet/tests/fixtures/niri/parts/workspaces.kdl delete mode 100644 keybind-cheatsheet/tests/host_mock.luau delete mode 100644 keybind-cheatsheet/thumbnail.webp delete mode 100644 keybind-cheatsheet/translations/en.json delete mode 100644 keybind-cheatsheet/widget.luau delete mode 100644 keymap/CHANGELOG.md delete mode 100644 keymap/README.md delete mode 100644 keymap/command_library.json delete mode 100644 keymap/examples/hyprland.lua delete mode 100644 keymap/examples/mangowc.conf delete mode 100644 keymap/examples/niri.kdl delete mode 100644 keymap/mangowc_service.luau delete mode 100644 keymap/niri_service.luau delete mode 100644 keymap/panel.luau delete mode 100644 keymap/plugin.toml delete mode 100644 keymap/screenshots/command-library.webp delete mode 100644 keymap/screenshots/creator.webp delete mode 100644 keymap/screenshots/editor.webp delete mode 100644 keymap/screenshots/keyboard-100.webp delete mode 100644 keymap/screenshots/mangowc-list.webp delete mode 100644 keymap/screenshots/niri-list.webp delete mode 100644 keymap/screenshots/settings.webp delete mode 100644 keymap/service.luau delete mode 100644 keymap/tests/category_marker_parser_test.lua delete mode 100644 keymap/tests/command_library_test.py delete mode 100644 keymap/tests/example_configs_test.lua delete mode 100644 keymap/tests/hidden_sentinel_parser_test.lua delete mode 100644 keymap/tests/hypr_command_parser_test.lua delete mode 100644 keymap/tests/hypr_cpu_budget_test.lua delete mode 100644 keymap/tests/hypr_scale_test.lua delete mode 100644 keymap/tests/i18n_test.py delete mode 100644 keymap/tests/keyboard_layouts_test.lua delete mode 100644 keymap/tests/mangowc_scale_test.lua delete mode 100644 keymap/tests/niri_cpu_budget_test.lua delete mode 100644 keymap/tests/niri_scale_test.lua delete mode 100644 keymap/tests/writer_create_test.lua delete mode 100644 keymap/tests/writer_update_test.lua delete mode 100644 keymap/thumbnail.webp delete mode 100644 keymap/translations/en.json delete mode 100644 keymap/widget.luau delete mode 100644 keymap/writer_service.luau delete mode 100644 kineticwe-layouts/README.md delete mode 100644 kineticwe-layouts/panel.luau delete mode 100644 kineticwe-layouts/plugin.toml delete mode 100644 kineticwe-layouts/service.luau delete mode 100644 kineticwe-layouts/thumbnail.webp delete mode 100644 kineticwe-layouts/translations/en.json delete mode 100644 kineticwe-layouts/widget.luau delete mode 100644 lid-guard/README.md delete mode 100644 lid-guard/plugin.toml delete mode 100644 lid-guard/service.luau delete mode 100644 lid-guard/shortcut.luau delete mode 100644 lid-guard/thumbnail.webp delete mode 100644 lid-guard/translations/en.json delete mode 100644 lid-guard/widget.luau delete mode 100644 link-ip-monitor/README.md delete mode 100644 link-ip-monitor/panel.luau delete mode 100644 link-ip-monitor/plugin.toml delete mode 100644 link-ip-monitor/service.luau delete mode 100644 link-ip-monitor/thumbnail.webp delete mode 100644 link-ip-monitor/translations/en.json delete mode 100644 link-ip-monitor/translations/pt-BR.json delete mode 100644 link-ip-monitor/widget.luau delete mode 100644 llamanager/LICENSE delete mode 100644 llamanager/README.md delete mode 100644 llamanager/assets/launcher.gif delete mode 100644 llamanager/assets/panel.gif delete mode 100644 llamanager/llamanager.luau delete mode 100644 llamanager/panel.luau delete mode 100644 llamanager/plugin.toml delete mode 100644 llamanager/registry.luau delete mode 100644 llamanager/thumbnail.webp delete mode 100644 llamanager/translations/en.json delete mode 100644 llamanager/widget.luau delete mode 100644 lrc/README.md delete mode 100644 lrc/plugin.toml delete mode 100644 lrc/thumbnail.webp delete mode 100644 lrc/translations/en.json delete mode 100644 lrc/widget.luau delete mode 100644 lyrics/README.md delete mode 100644 lyrics/krc_decode.py delete mode 100644 lyrics/lrclib_lyric.py delete mode 100644 lyrics/lyric_sources.py delete mode 100644 lyrics/lyrics.luau delete mode 100644 lyrics/lyrics_selector.luau delete mode 100644 lyrics/lyrics_service.luau delete mode 100644 lyrics/lyrics_shortcut.luau delete mode 100644 lyrics/plugin.toml delete mode 100644 lyrics/screenshots/bar widget settings - 1.4.0.png delete mode 100644 lyrics/screenshots/settings - 1.4.0.png delete mode 100644 lyrics/screenshots/settings.webp delete mode 100644 lyrics/screenshots/widget - 1.4.0.png delete mode 100644 lyrics/screenshots/widget.webp delete mode 100755 lyrics/scripts/setup-deps.sh delete mode 100644 lyrics/test_lyric_sources.py delete mode 100644 lyrics/thumbnail.webp delete mode 100644 lyrics/translations/en.json delete mode 100644 lyrics/translations/tr.json delete mode 100644 lyrics/translations/zh-Hans.json delete mode 100644 mango_layouts/README.md delete mode 100644 mango_layouts/panel.luau delete mode 100644 mango_layouts/plugin.toml delete mode 100644 mango_layouts/thumbnail.webp delete mode 100644 mango_layouts/translations/en.json delete mode 100644 mango_layouts/widget.luau delete mode 100644 mangowm-keymode/README.md delete mode 100644 mangowm-keymode/keymode.luau delete mode 100644 mangowm-keymode/plugin.toml delete mode 100644 mangowm-keymode/thumbnail.webp delete mode 100644 mangowm-keymode/translations/en.json delete mode 100644 mawaqit/OFL.txt delete mode 100644 mawaqit/README.md delete mode 100644 mawaqit/ReemKufi.ttf delete mode 100644 mawaqit/bar_widget.luau delete mode 100644 mawaqit/panel.luau delete mode 100644 mawaqit/plugin.toml delete mode 100644 mawaqit/service.luau delete mode 100644 mawaqit/thumbnail.webp delete mode 100644 mawaqit/translations/en.json delete mode 100644 mihomo-control/README.md delete mode 100644 mihomo-control/icon-connecting.png delete mode 100644 mihomo-control/icon-offline.png delete mode 100644 mihomo-control/icon-online.png delete mode 100644 mihomo-control/icon.png delete mode 100644 mihomo-control/panel.luau delete mode 100644 mihomo-control/plugin.toml delete mode 100644 mihomo-control/service.luau delete mode 100644 mihomo-control/shortcut.luau delete mode 100644 mihomo-control/thumbnail.webp delete mode 100644 mihomo-control/translations/en.json delete mode 100644 mihomo-control/translations/zh-Hans.json delete mode 100644 mihomo-control/widget.luau delete mode 100644 mimir/README.md delete mode 100644 mimir/panel.luau delete mode 100644 mimir/plugin.toml delete mode 100644 mimir/service.luau delete mode 100644 mimir/thumbnail.webp delete mode 100644 mimir/translations/en.json delete mode 100644 mimir/webparse.py delete mode 100644 mimir/widget.luau delete mode 100644 mini-docker/README.md delete mode 100644 mini-docker/panel.luau delete mode 100644 mini-docker/plugin.toml delete mode 100644 mini-docker/service.luau delete mode 100644 mini-docker/thumbnail.webp delete mode 100644 mini-docker/translations/en.json delete mode 100644 mini-docker/widget.luau delete mode 100644 nextboot-selector/README.md delete mode 100644 nextboot-selector/nextboot_selector.luau delete mode 100644 nextboot-selector/panel.luau delete mode 100644 nextboot-selector/plugin.toml delete mode 100644 nextboot-selector/thumbnail.webp delete mode 100644 nextboot-selector/translations/de.json delete mode 100644 nextboot-selector/translations/en.json delete mode 100644 niri-active-workspace/README.md delete mode 100644 niri-active-workspace/plugin.toml delete mode 100644 niri-active-workspace/thumbnail.webp delete mode 100644 niri-active-workspace/translations/en.json delete mode 100644 niri-active-workspace/widget.luau delete mode 100644 niri-animations/README.md delete mode 100644 niri-animations/panel.luau delete mode 100644 niri-animations/plugin.toml delete mode 100644 niri-animations/shortcut.luau delete mode 100644 niri-animations/thumbnail.webp delete mode 100644 niri-animations/translations/en.json delete mode 100644 niri-animations/translations/es.json delete mode 100644 nix-monitor/README.md delete mode 100644 nix-monitor/nix_monitor.luau delete mode 100644 nix-monitor/nix_monitor_service.luau delete mode 100644 nix-monitor/panel.luau delete mode 100644 nix-monitor/plugin.toml delete mode 100644 nix-monitor/thumbnail.webp delete mode 100644 nix-monitor/translations/en.json delete mode 100644 noctwhspr/README.md delete mode 100644 noctwhspr/plugin.toml delete mode 100644 noctwhspr/thumbnail.webp delete mode 100644 noctwhspr/translations/de.json delete mode 100644 noctwhspr/translations/en.json delete mode 100644 noctwhspr/widget.luau delete mode 100644 obs-integration/README.md delete mode 100644 obs-integration/panel.luau delete mode 100644 obs-integration/plugin.toml delete mode 100644 obs-integration/thumbnail.webp delete mode 100644 obs-integration/translations/en.json delete mode 100644 obs-integration/widget.luau delete mode 100644 obsidian/README.md delete mode 100644 obsidian/assets/obsidian-green.png delete mode 100644 obsidian/assets/obsidian-green.svg delete mode 100644 obsidian/assets/obsidian-grey.png delete mode 100644 obsidian/assets/obsidian-grey.svg delete mode 100644 obsidian/assets/obsidian-purple.png delete mode 100644 obsidian/assets/obsidian-purple.svg delete mode 100644 obsidian/assets/obsidian.svg delete mode 100644 obsidian/launcher.luau delete mode 100644 obsidian/panel.luau delete mode 100644 obsidian/plugin.toml delete mode 100644 obsidian/service.luau delete mode 100644 obsidian/thumbnail.webp delete mode 100644 obsidian/translations/en.json delete mode 100644 obsidian/widget.luau delete mode 100644 opencode-companion/README.md delete mode 100644 opencode-companion/panel.luau delete mode 100644 opencode-companion/plugin.toml delete mode 100644 opencode-companion/service.luau delete mode 100644 opencode-companion/thumbnail.webp delete mode 100644 opencode-companion/translations/en.json delete mode 100644 opencode-companion/translations/vi.json delete mode 100644 opencode-companion/widget.luau delete mode 100644 opnsense/README.md delete mode 100644 opnsense/assets/opnsense-full.svg delete mode 100644 opnsense/assets/opnsense-green.png delete mode 100644 opnsense/assets/opnsense-green.svg delete mode 100644 opnsense/assets/opnsense-grey.png delete mode 100644 opnsense/assets/opnsense-grey.svg delete mode 100644 opnsense/assets/opnsense-orange.png delete mode 100644 opnsense/assets/opnsense-orange.svg delete mode 100644 opnsense/assets/opnsense-red.png delete mode 100644 opnsense/assets/opnsense-red.svg delete mode 100644 opnsense/assets/opnsense.svg delete mode 100644 opnsense/launcher.luau delete mode 100644 opnsense/panel.luau delete mode 100644 opnsense/plugin.toml delete mode 100644 opnsense/service.luau delete mode 100644 opnsense/thumbnail.webp delete mode 100644 opnsense/translations/en.json delete mode 100644 opnsense/widget.luau delete mode 100644 pass/README.md delete mode 100644 pass/launcher.luau delete mode 100644 pass/plugin.toml delete mode 100644 pass/service.luau delete mode 100644 pass/thumbnail.webp delete mode 100644 pass/translations/en.json delete mode 100644 pass/translations/tr.json delete mode 100644 phone-connect/README.md delete mode 100644 phone-connect/panel.luau delete mode 100644 phone-connect/plugin.toml delete mode 100644 phone-connect/service.luau delete mode 100644 phone-connect/thumbnail.webp delete mode 100644 phone-connect/tile.luau delete mode 100644 phone-connect/translations/en.json delete mode 100644 phone-connect/translations/zh-Hans.json delete mode 100644 phone-connect/widget.luau delete mode 100644 pomodoro/JetBrainsMono-Regular.ttf delete mode 100644 pomodoro/LICENCE.txt delete mode 100644 pomodoro/README.md delete mode 100644 pomodoro/THIRD_PARTY_LICENCES/OFL.txt delete mode 100644 pomodoro/panel.luau delete mode 100644 pomodoro/plugin.toml delete mode 100644 pomodoro/pomodoro.luau delete mode 100644 pomodoro/thumbnail.webp delete mode 100644 pomodoro/translations/en.json delete mode 100644 pomodoro/widget.luau delete mode 100644 portctl/README.md delete mode 100644 portctl/panel.luau delete mode 100644 portctl/plugin.toml delete mode 100644 portctl/service.luau delete mode 100644 portctl/thumbnail.webp delete mode 100644 portctl/translations/de.json delete mode 100644 portctl/translations/en.json delete mode 100644 portctl/widget.luau delete mode 100644 prismlauncher-instances/README.md delete mode 100644 prismlauncher-instances/plugin.toml delete mode 100644 prismlauncher-instances/prismlauncher-instances.luau delete mode 100644 prismlauncher-instances/thumbnail.webp delete mode 100644 prismlauncher-instances/translations/de.json delete mode 100644 prismlauncher-instances/translations/en.json delete mode 100644 prismlauncher-instances/translations/fr.json delete mode 100644 procmon/README.md delete mode 100644 procmon/panel.luau delete mode 100644 procmon/plugin.toml delete mode 100644 procmon/service.luau delete mode 100644 procmon/thumbnail.webp delete mode 100644 procmon/translations/en.json delete mode 100644 procmon/widget.luau delete mode 100644 proton-pass/README.md delete mode 100644 proton-pass/launcher.luau delete mode 100644 proton-pass/plugin.toml delete mode 100644 proton-pass/thumbnail.webp delete mode 100644 proton-pass/translations/de.json delete mode 100644 proton-pass/translations/en.json delete mode 100644 pulsar-mouse/README.md delete mode 100644 pulsar-mouse/bar.luau delete mode 100644 pulsar-mouse/desktop.luau delete mode 100644 pulsar-mouse/panel.luau delete mode 100644 pulsar-mouse/plugin.toml delete mode 100644 pulsar-mouse/thumbnail.webp delete mode 100644 pulsar-mouse/translations/en.json delete mode 100644 qrcode/README.md delete mode 100644 qrcode/panel.luau delete mode 100644 qrcode/plugin.toml delete mode 100644 qrcode/thumbnail.webp delete mode 100644 qrcode/translations/en.json delete mode 100644 qrcode/widget.luau delete mode 100644 rss-notifier/README.md delete mode 100644 rss-notifier/panel.luau delete mode 100644 rss-notifier/plugin.toml delete mode 100644 rss-notifier/service.luau delete mode 100644 rss-notifier/thumbnail.webp delete mode 100644 rss-notifier/translations/en.json delete mode 100644 rss-notifier/translations/pt-BR.json delete mode 100644 rss-notifier/widget.luau delete mode 100644 ruh-vpn/README.md delete mode 100644 ruh-vpn/backend/__init__.py delete mode 100644 ruh-vpn/backend/app.py delete mode 100644 ruh-vpn/backend/config/__init__.py delete mode 100644 ruh-vpn/backend/config/settings.py delete mode 100644 ruh-vpn/backend/core/__init__.py delete mode 100644 ruh-vpn/backend/core/state.py delete mode 100644 ruh-vpn/backend/geoip.py delete mode 100644 ruh-vpn/backend/http/__init__.py delete mode 100644 ruh-vpn/backend/http/control.py delete mode 100644 ruh-vpn/backend/identity.py delete mode 100644 ruh-vpn/backend/models/__init__.py delete mode 100644 ruh-vpn/backend/models/server.py delete mode 100644 ruh-vpn/backend/monitoring/__init__.py delete mode 100644 ruh-vpn/backend/monitoring/health.py delete mode 100644 ruh-vpn/backend/monitoring/log_streamer.py delete mode 100644 ruh-vpn/backend/monitoring/traffic.py delete mode 100644 ruh-vpn/backend/paths.py delete mode 100644 ruh-vpn/backend/routing/__init__.py delete mode 100644 ruh-vpn/backend/routing/rules.py delete mode 100644 ruh-vpn/backend/service/__init__.py delete mode 100644 ruh-vpn/backend/service/kill_switch.py delete mode 100644 ruh-vpn/backend/service/tun_binary.py delete mode 100644 ruh-vpn/backend/service/vpn_service.py delete mode 100644 ruh-vpn/backend/singbox/__init__.py delete mode 100644 ruh-vpn/backend/singbox/config_builder.py delete mode 100644 ruh-vpn/backend/singbox/process_manager.py delete mode 100644 ruh-vpn/backend/singbox/transport.py delete mode 100644 ruh-vpn/backend/storage/__init__.py delete mode 100644 ruh-vpn/backend/storage/persistence.py delete mode 100644 ruh-vpn/backend/storage/subscriptions.py delete mode 100644 ruh-vpn/backend/subscription/__init__.py delete mode 100644 ruh-vpn/backend/subscription/manager.py delete mode 100644 ruh-vpn/backend/subscription/parsers.py delete mode 100644 ruh-vpn/panel.luau delete mode 100644 ruh-vpn/plugin.toml delete mode 100644 ruh-vpn/pyproject.toml delete mode 100644 ruh-vpn/service.luau delete mode 100644 ruh-vpn/shortcut.luau delete mode 100644 ruh-vpn/tests/conftest.py delete mode 100644 ruh-vpn/tests/test_auth.py delete mode 100644 ruh-vpn/tests/test_config_builder.py delete mode 100644 ruh-vpn/tests/test_kill_switch.py delete mode 100644 ruh-vpn/tests/test_models.py delete mode 100644 ruh-vpn/tests/test_parsers.py delete mode 100644 ruh-vpn/tests/test_persistence.py delete mode 100644 ruh-vpn/tests/test_rules.py delete mode 100644 ruh-vpn/thumbnail.webp delete mode 100644 ruh-vpn/translations/en.json delete mode 100644 ruh-vpn/widget.luau delete mode 100644 screen-toolkit/README.md delete mode 100644 screen-toolkit/panel.luau delete mode 100644 screen-toolkit/plugin.toml delete mode 100644 screen-toolkit/result.luau delete mode 100755 screen-toolkit/scripts/capture.sh delete mode 100755 screen-toolkit/scripts/color-picker.sh delete mode 100755 screen-toolkit/scripts/lens-upload.sh delete mode 100755 screen-toolkit/scripts/ocr.sh delete mode 100755 screen-toolkit/scripts/record.sh delete mode 100755 screen-toolkit/scripts/share-upload.sh delete mode 100644 screen-toolkit/service.luau delete mode 100644 screen-toolkit/shortcut.luau delete mode 100644 screen-toolkit/thumbnail.webp delete mode 100644 screen-toolkit/translations/en.json delete mode 100644 screen-toolkit/widget.luau delete mode 100644 sharednd/README.md delete mode 100644 sharednd/plugin.toml delete mode 100644 sharednd/service.luau delete mode 100644 sharednd/thumbnail.webp delete mode 100644 sharednd/translations/de.json delete mode 100644 sharednd/translations/en.json delete mode 100644 shell-command/README.md delete mode 100644 shell-command/plugin.toml delete mode 100644 shell-command/shell_provider.luau delete mode 100644 shell-command/thumbnail.webp delete mode 100644 shell-command/translations/en.json delete mode 100644 shell-command/translations/vi.json delete mode 100644 shelly/README.md delete mode 100644 shelly/plugin.toml delete mode 100644 shelly/poller.luau delete mode 100644 shelly/thumbnail.webp delete mode 100644 shelly/translations/de.json delete mode 100644 shelly/translations/en.json delete mode 100644 shelly/widget.luau delete mode 100644 special-workspaces/README.md delete mode 100644 special-workspaces/plugin.toml delete mode 100644 special-workspaces/service.luau delete mode 100644 special-workspaces/thumbnail.webp delete mode 100644 special-workspaces/translations/en.json delete mode 100644 special-workspaces/widget.luau delete mode 100644 spotify-lyrics/README.md delete mode 100644 spotify-lyrics/bar.luau delete mode 100644 spotify-lyrics/panel.luau delete mode 100644 spotify-lyrics/plugin.toml delete mode 100644 spotify-lyrics/spotify_lyrics_daemon.py delete mode 100644 spotify-lyrics/thumbnail.webp delete mode 100644 spotify-lyrics/translations/en.json delete mode 100644 spotify-lyrics/widget.luau delete mode 100644 ssh-launcher/README.md delete mode 100644 ssh-launcher/launcher.luau delete mode 100644 ssh-launcher/plugin.toml delete mode 100644 ssh-launcher/thumbnail.webp delete mode 100644 ssh-launcher/translations/en.json delete mode 100644 ssh-launcher/translations/fr.json delete mode 100644 tailscale/README.md delete mode 100644 tailscale/assets/tailscale-green.png delete mode 100644 tailscale/assets/tailscale-green.svg delete mode 100644 tailscale/assets/tailscale-grey.png delete mode 100644 tailscale/assets/tailscale-grey.svg delete mode 100644 tailscale/assets/tailscale-white.png delete mode 100644 tailscale/assets/tailscale-white.svg delete mode 100644 tailscale/assets/tailscale.svg delete mode 100644 tailscale/launcher.luau delete mode 100644 tailscale/panel.luau delete mode 100644 tailscale/plugin.toml delete mode 100644 tailscale/service.luau delete mode 100644 tailscale/thumbnail.webp delete mode 100644 tailscale/translations/en.json delete mode 100644 tailscale/widget.luau delete mode 100644 thinkpad-led/README.md delete mode 100644 thinkpad-led/plugin.toml delete mode 100644 thinkpad-led/thumbnail.webp delete mode 100644 thinkpad-led/translations/en.json delete mode 100644 thinkpad-led/widget.luau delete mode 100644 tmux-provider/README.md delete mode 100644 tmux-provider/assets/preview-1.png delete mode 100644 tmux-provider/assets/preview-2.png delete mode 100644 tmux-provider/plugin.toml delete mode 100644 tmux-provider/thumbnail.webp delete mode 100644 tmux-provider/tmux_provider.luau delete mode 100644 tmux-provider/translations/en.json delete mode 100644 tmux-provider/translations/fr.json delete mode 100644 todo/README.md delete mode 100644 todo/panel.luau delete mode 100644 todo/plugin.toml delete mode 100644 todo/thumbnail.webp delete mode 100644 todo/todo.luau delete mode 100644 todo/translations/de.json delete mode 100644 todo/translations/en.json delete mode 100644 todo/translations/fr.json delete mode 100644 topgrade-wrapper/README.md delete mode 100644 topgrade-wrapper/panel.luau delete mode 100644 topgrade-wrapper/plugin.toml delete mode 100644 topgrade-wrapper/service.luau delete mode 100644 topgrade-wrapper/thumbnail.webp delete mode 100644 topgrade-wrapper/topgrade-wrapper.luau delete mode 100644 topgrade-wrapper/translations/en.json delete mode 100644 udiskie/Makefile delete mode 100644 udiskie/README.md delete mode 100644 udiskie/panel.luau delete mode 100644 udiskie/plugin.toml delete mode 100644 udiskie/service.luau delete mode 100644 udiskie/status.luau delete mode 100755 udiskie/tests/check_translations.py delete mode 100644 udiskie/thumbnail.webp delete mode 100644 udiskie/translations/en.json delete mode 100644 udiskie/translations/es.json delete mode 100644 um5606_fan_state/README.md delete mode 100644 um5606_fan_state/fan_state_bar.luau delete mode 100644 um5606_fan_state/fan_state_service.luau delete mode 100644 um5606_fan_state/plugin.toml delete mode 100644 um5606_fan_state/shortcut.luau delete mode 100644 um5606_fan_state/thumbnail.webp delete mode 100644 um5606_fan_state/translations/de.json delete mode 100644 um5606_fan_state/translations/en.json delete mode 100644 upbeat/README.md delete mode 100644 upbeat/plugin.toml delete mode 100644 upbeat/thumbnail.webp delete mode 100644 upbeat/translations/de.json delete mode 100644 upbeat/translations/en.json delete mode 100644 upbeat/upbeat.luau delete mode 100644 voxtype/README.md delete mode 100644 voxtype/plugin.toml delete mode 100644 voxtype/thumbnail.webp delete mode 100644 voxtype/translations/en.json delete mode 100644 voxtype/widget.luau delete mode 100644 w-engine/README.md delete mode 100644 w-engine/plugin.toml delete mode 100644 w-engine/start.luau delete mode 100644 w-engine/thumbnail.webp delete mode 100644 w-engine/translations/en.json delete mode 100644 w-engine/w-engine-panel.luau delete mode 100644 w-engine/w-engine.luau delete mode 100644 web-launcher/README.md delete mode 100644 web-launcher/launcher.luau delete mode 100644 web-launcher/plugin.toml delete mode 100644 web-launcher/thumbnail.webp delete mode 100644 web-launcher/translations/de.json delete mode 100644 web-launcher/translations/en.json delete mode 100644 web-launcher/translations/fr.json delete mode 100644 wl-screen-mirror/README.md delete mode 100644 wl-screen-mirror/panel.luau delete mode 100644 wl-screen-mirror/plugin.toml delete mode 100644 wl-screen-mirror/service.luau delete mode 100644 wl-screen-mirror/thumbnail.webp delete mode 100644 wl-screen-mirror/translations/en.json delete mode 100644 wl-screen-mirror/widget.luau delete mode 100644 zed-provider/README.md delete mode 100644 zed-provider/plugin.toml delete mode 100644 zed-provider/thumbnail.webp delete mode 100644 zed-provider/translations/de.json delete mode 100644 zed-provider/translations/en.json delete mode 100644 zed-provider/translations/fr.json delete mode 100644 zed-provider/zed_provider.luau diff --git a/9router-control/LICENSE b/9router-control/LICENSE deleted file mode 100644 index 5a0c344..0000000 --- a/9router-control/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 weinguyen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/9router-control/README.md b/9router-control/README.md deleted file mode 100644 index d6a757b..0000000 --- a/9router-control/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# 9Router Control - -Manage your [9Router](https://github.com/decolua/9router) combos right from the -Noctalia bar — no web dashboard needed. - -- **List combos** — see every combo with its model chain and routing kind. -- **Reorder models** — open a combo and move models up/down to change fallback - order. -- **Create / rename / delete combos** — full CRUD from the panel. -- **Change routing kind** — fallback, round-robin, or fusion. -- **Search** — filter combos by name or model chain. - -## Plugin - -| Field | Value | -| ------- | --------------------------- | -| ID | `weinguyen/9router-control` | -| Widget | `widget` (bar) | -| Panel | `panel` | -| Service | `service` | - -Toggle the panel from the bar widget, or with: - -```sh -noctalia msg panel-toggle weinguyen/9router-control:panel -``` - -## Requirements - -- Noctalia v5.0.0 or higher. -- A running 9Router instance (dashboard) whose REST API the plugin talks to via - `server_host:server_port`. -- The following external commands, used by the service backend: - - `curl` — password login posts to `/api/auth/login` and reads the `Set-Cookie` - header (Noctalia's HTTP binding does not expose response headers). - - `sha256sum`, `cat`, `cut`, `printf` — compute the CLI authentication token - from the `machine-id` and `auth/cli-secret` files when the dashboard has - login enabled. - - `sleep` — back-off polling while a CLI token computation is in flight. - - Ordinary (login-disabled) usage needs only `curl`; the remaining commands are - required when dashboard login is enabled. - -## Usage - -Click the 9Router widget on the bar to open the panel. - -- The **combo list** shows every combo; the search box filters by name or model - chain. -- Select a combo to **reorder** its models (move up/down) and change its routing - kind. -- Use **create / rename / delete** to manage combos without touching the web - dashboard. - -If the dashboard has login enabled and no CLI token is available, the panel -shows a login screen where you enter the dashboard password; the plugin then -reuses the session cookie for subsequent requests. - -## Settings - -| Setting | Default | Description | -| -------------- | ------------ | ----------------------------------------------------------------------- | -| Server Host | `127.0.0.1` | Hostname of the 9Router dashboard. | -| Server Port | `20128` | Port of the 9Router dashboard. | -| Data Directory | `~/.9router` | 9Router data dir, used to compute the CLI token when login is required. | -| Language | `auto` | UI language (auto / English / Tiếng Việt). | -| Debug Logging | off | Print debug messages to the Noctalia log. | - -## Notes - -- The plugin talks to the local 9Router REST API (`/api/combos`). By default the - dashboard login is disabled, so plain requests work. -- When login is enabled, the plugin first tries the 9Router CLI token (computed - from the `machine-id` and `auth/cli-secret` files, sent as an `x-9r-cli-token` - header). If that isn't available, it falls back to a password login and reuses - the session cookie. -- Reordering writes the new `models` array via `PUT /api/combos/:id`. - -## Development - -- `widget.luau` — bar widget entry. -- `panel.luau` — chat-style panel surface. -- `service.luau` — headless API / state backend. -- `translations/` — user-facing strings. diff --git a/9router-control/panel.luau b/9router-control/panel.luau deleted file mode 100644 index 5df9ce6..0000000 --- a/9router-control/panel.luau +++ /dev/null @@ -1,901 +0,0 @@ --- 9Router Control — the combo management surface. --- --- Three views: --- • List — all combos with search + "new combo" button --- • Detail — a single combo's model chain with reorder/edit/delete --- • Create — a form to build a new combo --- --- Pure subscriber of 9router.* state. User actions are dispatched as IPC --- events to the service. - -local STATE = { - connection = "9router.connection", - combos = "9router.combos", - models = "9router.models", - selected = "9router.selected_combo", - last_error = "9router.last_error", -} - -local PAD = 12 -local WRAP = 480 - --- Confirmation / form state -local pending_delete = nil -local rename_id = nil -local rename_value = "" -local creating = false -local create_name = "" -local create_models = "" -local create_kind = "none" -local search_query = "" -local login_password = "" -local adding_model = false -local model_search = "" -local create_error = "" -local rename_error = "" - -local KIND_OPTIONS = { - { value = "none", label_key = "kind.none" }, - { value = "fallback", label_key = "kind.fallback" }, - { value = "round-robin", label_key = "kind.round_robin" }, - { value = "fusion", label_key = "kind.fusion" }, -} - --- ── i18n ───────────────────────────────────────────────────────────────────── - -local i18n_cache = { lang = nil, table = nil } - -local function load_lang_table(lang) - if i18n_cache.lang == lang and i18n_cache.table then - return i18n_cache.table - end - local merged = {} - local function merge_file(path) - local ok, content = pcall(noctalia.readFile, path) - if not ok or type(content) ~= "string" or content == "" then return end - local ok2, data = pcall(noctalia.json.decode, content) - if not ok2 or type(data) ~= "table" then return end - local function deep(dst, src) - for k, v in pairs(src) do - if type(v) == "table" and type(dst[k]) == "table" then - deep(dst[k], v) - else - dst[k] = v - end - end - end - deep(merged, data) - end - merge_file("translations/en.json") - if lang ~= "en" then - merge_file("translations/" .. lang .. ".json") - end - i18n_cache.lang = lang - i18n_cache.table = merged - return merged -end - -local function tr(key, args) - local lang = noctalia.getConfig and noctalia.getConfig("language") - if type(lang) ~= "string" or lang == "" or lang == "auto" then - return noctalia.tr(key, args) - end - local node = load_lang_table(lang) - for part in string.gmatch(key, "[^%.]+") do - if type(node) ~= "table" then node = nil break end - node = node[part] - end - if type(node) ~= "string" then - return noctalia.tr(key, args) - end - if type(args) == "table" then - node = string.gsub(node, "{(%w+)}", function(name) - local v = args[name] - if v == nil then return "{" .. name .. "}" end - return tostring(v) - end) - end - return node -end - -local function kind_label(value) - for _, o in ipairs(KIND_OPTIONS) do - if o.value == value then return tr(o.label_key) end - end - return value or tr("kind.none") -end - --- ── helpers ───────────────────────────────────────────────────────────────── - -local function dispatch_ipc(event, payload) - local cmd = "noctalia msg plugin 'weinguyen/9router-control:service' all " .. event - if payload ~= nil then - -- Shell-escape the payload (single-quote wrap + escape embedded quotes). - payload = tostring(payload):gsub("'", "'\\''") - cmd = cmd .. " '" .. payload .. "'" - end - noctalia.runAsync(cmd) -end - -local function find_combo(combos, id) - if type(combos) ~= "table" then return nil end - for _, c in ipairs(combos) do - if type(c) == "table" and c.id == id then return c end - end - return nil -end - -local function model_chain_text(models) - if type(models) ~= "table" then return "" end - local parts = {} - for _, m in ipairs(models) do - if type(m) == "string" and m ~= "" then parts[#parts + 1] = m end - end - return table.concat(parts, " → ") -end - --- 9Router combo name rule: only a-z, A-Z, 0-9, -, _ and . -local NAME_RE = "^[%w%.%-]+$" -local function valid_name(name) - return type(name) == "string" and name ~= "" and string.match(name, NAME_RE) ~= nil -end - --- Compact fingerprint of the combo list (names + model chains + kinds) so a --- reorder/edit that keeps the count the same still triggers a re-render. -local function combos_fingerprint(combos) - if type(combos) ~= "table" then return "0" end - local parts = {} - for _, c in ipairs(combos) do - if type(c) == "table" then - parts[#parts + 1] = tostring(c.id or "") .. "|" .. tostring(c.name or "") .. "|" .. tostring(c.kind or "") .. "|" .. model_chain_text(c.models) - end - end - return table.concat(parts, "\1") -end - --- ── list view ─────────────────────────────────────────────────────────────── - -local function render_list(combos, conn) - local rows = {} - - -- Header - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "route", color = "primary", size = 24 }), - ui.label({ text = tr("list.title"), fontSize = 18, fontWeight = "bold", color = "on_surface" }), - }), - ui.row({ gap = 8 }, { - ui.button({ glyph = "refresh", onClick = function() - dispatch_ipc("refresh") - end, tooltip = tr("list.refresh") }), - }), - }) - - rows[#rows + 1] = ui.separator({}) - - -- Error banner (if any) - local err = noctalia.state.get(STATE.last_error) - if type(err) == "table" and err.message then - rows[#rows + 1] = ui.row({ gap = 8, align = "center", padding = 8, radius = 8, fill = "error/0.15", border = "error", borderWidth = 1 }, { - ui.glyph({ name = "alert-circle", color = "error", size = 16 }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = err.message, color = "error", fontSize = 13, fontWeight = "bold", maxWidth = WRAP - 40 }), - ui.label({ text = err.detail or "", fontSize = 11, opacity = 0.75, maxWidth = WRAP - 40 }), - }), - ui.button({ - glyph = "x", - variant = "ghost", - tooltip = tr("error.dismiss"), - onClick = function() - dispatch_ipc("clear_error") - end, - }), - }) - end - - -- New combo button - rows[#rows + 1] = ui.button({ - text = tr("list.new_combo"), - glyph = "plus", - onClick = function() - creating = true - create_name = "" - create_models = "" - create_kind = "none" - render() - end, - }) - - -- Search box - rows[#rows + 1] = ui.input({ - key = "combo_search", - value = search_query, - placeholder = tr("list.search"), - onChange = function(text) - search_query = text or "" - render() - end, - }) - - -- Filter combos by search query - local visible = combos - if type(combos) == "table" and search_query ~= "" then - local needle = string.lower(search_query) - visible = {} - for _, c in ipairs(combos) do - if type(c) == "table" then - local hay = string.lower(tostring(c.name or "") .. " " .. model_chain_text(c.models)) - if string.find(hay, needle, 1, true) then - visible[#visible + 1] = c - end - end - end - end - - -- Combo list - local list_items = {} - if type(visible) ~= "table" or #visible == 0 then - list_items[#list_items + 1] = ui.label({ - text = search_query ~= "" and tr("list.no_match") or tr("list.empty"), - maxWidth = WRAP, - opacity = 0.7, - }) - else - for _, c in ipairs(visible) do - if type(c) == "table" and c.id then - local combo_id = c.id - local name = c.name or c.id - local chain = model_chain_text(c.models) - local kind = kind_label(c.kind) - - local function open_this() - dispatch_ipc("select_combo", combo_id) - end - - local actions - if pending_delete == combo_id then - actions = ui.row({ gap = 6 }, { - ui.button({ - glyph = "check", - variant = "primary", - tooltip = tr("list.delete_confirm"), - onClick = function() - dispatch_ipc("delete_combo", combo_id) - pending_delete = nil - render() - end, - }), - ui.button({ - glyph = "x", - variant = "secondary", - tooltip = tr("list.delete_cancel"), - onClick = function() - pending_delete = nil - render() - end, - }), - }) - else - actions = ui.row({ gap = 6 }, { - ui.button({ - glyph = "trash", - variant = "secondary", - tooltip = tr("list.delete"), - onClick = function() - pending_delete = combo_id - render() - end, - }), - ui.button({ - glyph = "arrow-right", - variant = "primary", - tooltip = tr("list.open"), - onClick = open_this, - }), - }) - end - - list_items[#list_items + 1] = ui.row({ - key = combo_id, - justify = "space_between", - align = "center", - padding = 10, - radius = 10, - fill = "surface", - border = "surface", - borderWidth = 1, - }, { - ui.column({ - gap = 2, flexGrow = 1, - onClick = open_this, - }, { - ui.label({ - text = name, - maxWidth = WRAP - 140, - fontWeight = "bold", - color = "on_surface", - }), - ui.label({ - text = chain, - maxWidth = WRAP - 140, - opacity = 0.6, - fontSize = 12, - }), - ui.label({ - text = tr("list.kind", { kind = kind }), - maxWidth = WRAP - 140, - opacity = 0.5, - fontSize = 11, - }), - }), - actions, - }) - end - end - end - - rows[#rows + 1] = ui.scroll({ flexGrow = 1, gap = 8, align = "stretch", justify = "start" }, list_items) - - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1, align = "stretch", justify = "start" }, rows)) -end - --- ── create view ────────────────────────────────────────────────────────────── - -local function render_create() - local rows = {} - - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.row({ gap = 8, align = "center" }, { - ui.button({ - glyph = "chevron-left", - variant = "ghost", - tooltip = tr("create.back"), - onClick = function() - creating = false - render() - end, - }), - ui.glyph({ name = "plus", color = "primary", size = 20 }), - ui.label({ text = tr("create.title"), fontSize = 18, fontWeight = "bold", color = "on_surface" }), - }), - }) - - rows[#rows + 1] = ui.separator({}) - - rows[#rows + 1] = ui.label({ text = tr("create.name_label"), fontWeight = "bold", fontSize = 13 }) - rows[#rows + 1] = ui.input({ - key = "create_name", - value = create_name, - placeholder = tr("create.name_placeholder"), - onChange = function(text) - create_name = text or "" - create_error = "" - end, - }) - - if create_error ~= "" then - rows[#rows + 1] = ui.label({ text = create_error, color = "error", fontSize = 12, maxWidth = WRAP }) - end - - rows[#rows + 1] = ui.label({ text = tr("create.models_label"), fontWeight = "bold", fontSize = 13 }) - rows[#rows + 1] = ui.label({ text = tr("create.models_hint"), opacity = 0.6, fontSize = 11, maxWidth = WRAP }) - rows[#rows + 1] = ui.input({ - key = "create_models", - value = create_models, - placeholder = tr("create.models_placeholder"), - multiline = true, - flexGrow = 1, - onChange = function(text) - create_models = text or "" - end, - }) - - rows[#rows + 1] = ui.label({ text = tr("create.kind_label"), fontWeight = "bold", fontSize = 13 }) - local kind_labels = {} - local kind_values = {} - local kind_index = nil - for i, o in ipairs(KIND_OPTIONS) do - kind_labels[i] = tr(o.label_key) - kind_values[i] = o.value - if o.value == create_kind then kind_index = i - 1 end - end - local kind_props = { - key = "create_kind", - options = kind_labels, - placeholder = tr("create.kind_label"), - onChange = function(idx) - local n = tonumber(idx) - if n ~= nil then - create_kind = kind_values[math.floor(n) + 1] or "none" - end - end, - } - if kind_index ~= nil then kind_props.selectedIndex = kind_index end - rows[#rows + 1] = ui.select(kind_props) - - rows[#rows + 1] = ui.separator({}) - - rows[#rows + 1] = ui.row({ justify = "end", gap = 8 }, { - ui.button({ - text = tr("create.cancel"), - variant = "secondary", - onClick = function() - creating = false - render() - end, - }), - ui.button({ - text = tr("create.submit"), - glyph = "check", - variant = "primary", - onClick = function() - if not valid_name(create_name) then - create_error = tr("error.invalid_name") - render() - return - end - local models = {} - for line in string.gmatch(create_models, "[^\n]+") do - local m = line:gsub("^%s+", ""):gsub("%s+$", "") - if m ~= "" then models[#models + 1] = m end - end - if #models == 0 then - create_error = tr("error.need_name_models") - render() - return - end - local payload = noctalia.json.encode({ - name = create_name, - models = models, - kind = (create_kind == "none" or create_kind == "") and nil or create_kind, - }) - dispatch_ipc("create_combo", payload) - creating = false - create_error = "" - render() - end, - }), - }) - - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1, align = "stretch", justify = "start" }, rows)) -end - --- ── detail view ───────────────────────────────────────────────────────────── - -local function render_detail(combo) - local rows = {} - - -- Header with back button - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.row({ gap = 8, align = "center", flexGrow = 1 }, { - ui.button({ - glyph = "chevron-left", - variant = "ghost", - tooltip = tr("detail.back"), - onClick = function() - dispatch_ipc("back_to_list") - end, - }), - ui.glyph({ name = "route", color = "primary", size = 20 }), - ui.column({ gap = 0, flexGrow = 1 }, { - ui.label({ text = combo.name or combo.id, fontWeight = "bold", maxWidth = WRAP - 200, fontSize = 14 }), - ui.label({ text = tr("detail.models_count", { count = #(combo.models or {}) }), opacity = 0.6, fontSize = 11 }), - }), - }), - ui.row({ gap = 6 }, { - ui.button({ - glyph = "refresh", - tooltip = tr("detail.refresh"), - onClick = function() - dispatch_ipc("refresh") - end, - }), - ui.button({ - glyph = "trash", - variant = "secondary", - tooltip = tr("detail.delete"), - onClick = function() - pending_delete = combo.id - render() - end, - }), - }), - }) - - rows[#rows + 1] = ui.separator({}) - - -- Inline delete confirmation - if pending_delete == combo.id then - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center", padding = 8, radius = 8, fill = "error/0.15", border = "error", borderWidth = 1 }, { - ui.label({ text = tr("detail.delete_confirm"), color = "error", fontWeight = "bold", maxWidth = WRAP - 120 }), - ui.row({ gap = 6 }, { - ui.button({ - glyph = "check", - variant = "primary", - tooltip = tr("detail.delete_yes"), - onClick = function() - dispatch_ipc("delete_combo", combo.id) - pending_delete = nil - render() - end, - }), - ui.button({ - glyph = "x", - variant = "secondary", - tooltip = tr("detail.delete_no"), - onClick = function() - pending_delete = nil - render() - end, - }), - }), - }) - end - - -- Kind selector - local kind_labels = {} - local kind_values = {} - local kind_index = nil - for i, o in ipairs(KIND_OPTIONS) do - kind_labels[i] = tr(o.label_key) - kind_values[i] = o.value - if o.value == (combo.kind or "none") then kind_index = i - 1 end - end - local kind_props = { - key = "detail_kind", - options = kind_labels, - placeholder = tr("detail.kind_label"), - flexGrow = 1, - onChange = function(idx) - local n = tonumber(idx) - if n ~= nil then - local chosen = kind_values[math.floor(n) + 1] or "none" - dispatch_ipc("set_kind", combo.id .. ":" .. chosen) - end - end, - } - if kind_index ~= nil then kind_props.selectedIndex = kind_index end - rows[#rows + 1] = ui.row({ gap = 8, align = "center" }, { - ui.label({ text = tr("detail.kind_label"), fontWeight = "bold", fontSize = 13 }), - ui.select(kind_props), - }) - - -- Rename - if rename_id == combo.id then - rows[#rows + 1] = ui.row({ gap = 8, align = "center" }, { - ui.input({ - key = "rename_input", - value = rename_value, - placeholder = tr("detail.rename_placeholder"), - flexGrow = 1, - onChange = function(text) - rename_value = text or "" - rename_error = "" - end, - }), - ui.button({ - glyph = "check", - variant = "primary", - tooltip = tr("detail.rename_save"), - onClick = function() - if not valid_name(rename_value) then - rename_error = tr("error.invalid_name") - render() - return - end - dispatch_ipc("rename_combo", combo.id .. ":" .. rename_value) - rename_id = nil - rename_value = "" - rename_error = "" - render() - end, - }), - ui.button({ - glyph = "x", - variant = "secondary", - tooltip = tr("detail.rename_cancel"), - onClick = function() - rename_id = nil - rename_value = "" - rename_error = "" - render() - end, - }), - }) - if rename_error ~= "" then - rows[#rows + 1] = ui.label({ text = rename_error, color = "error", fontSize = 12, maxWidth = WRAP }) - end - else - rows[#rows + 1] = ui.button({ - text = tr("detail.rename"), - glyph = "pencil", - variant = "outline", - onClick = function() - rename_id = combo.id - rename_value = combo.name or "" - render() - end, - }) - end - - rows[#rows + 1] = ui.separator({}) - - -- Model chain (reorderable via drag-and-drop) - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = tr("detail.models_title"), fontWeight = "bold", fontSize = 13 }), - ui.button({ - glyph = "plus", - variant = "secondary", - tooltip = tr("detail.add_model"), - onClick = function() - adding_model = true - model_search = "" - render() - end, - }), - }) - local models = combo.models or {} - local model_items = {} - if #models == 0 then - model_items[#model_items + 1] = ui.label({ text = tr("detail.no_models"), opacity = 0.7, maxWidth = WRAP }) - else - model_items[#model_items + 1] = ui.label({ text = tr("detail.drag_hint"), opacity = 0.6, fontSize = 11, maxWidth = WRAP }) - for i, m in ipairs(models) do - local idx = i - model_items[#model_items + 1] = ui.dropZone({ - key = "drop_" .. tostring(idx), - value = tostring(idx), - accepts = { "model" }, - onDrop = function(payload, target) - dispatch_ipc("move_model", combo.id .. ":" .. tostring(payload) .. ":" .. tostring(target)) - end, - direction = "column", - gap = 6, - padding = 2, - radius = 8, - }, { - ui.dragSource({ - key = "drag_" .. tostring(idx), - dragType = "model", - payload = tostring(idx), - }, { - ui.row({ - justify = "space_between", - align = "center", - padding = 8, - radius = 8, - fill = "surface", - border = "surface", - borderWidth = 1, - }, { - ui.row({ gap = 8, align = "center", flexGrow = 1 }, { - ui.glyph({ name = "grip-vertical", color = "on_surface", size = 16, opacity = 0.5 }), - ui.label({ text = tostring(idx), color = "primary", fontWeight = "bold", fontSize = 12 }), - ui.label({ text = tostring(m), maxWidth = WRAP - 140, fontSize = 13 }), - }), - ui.button({ - glyph = "x", - variant = "ghost", - tooltip = tr("detail.remove_model"), - onClick = function() - dispatch_ipc("remove_model", combo.id .. ":" .. tostring(idx)) - end, - }), - }), - }), - }) - end - end - rows[#rows + 1] = ui.scroll({ flexGrow = 1, gap = 6, align = "stretch", justify = "start" }, model_items) - - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1, align = "stretch", justify = "start" }, rows)) -end - --- ── add model view ─────────────────────────────────────────────────────────────── - -local function render_add_model(combo) - local rows = {} - - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.row({ gap = 8, align = "center", flexGrow = 1 }, { - ui.button({ - glyph = "chevron-left", - variant = "ghost", - tooltip = tr("add_model.back"), - onClick = function() - adding_model = false - model_search = "" - render() - end, - }), - ui.glyph({ name = "plus", color = "primary", size = 20 }), - ui.label({ text = tr("add_model.title"), fontSize = 18, fontWeight = "bold", color = "on_surface" }), - }), - }) - - rows[#rows + 1] = ui.separator({}) - - rows[#rows + 1] = ui.input({ - key = "model_search", - value = model_search, - placeholder = tr("add_model.search"), - onChange = function(text) - model_search = text or "" - render() - end, - }) - - -- Available models from the system, minus ones already in this combo. - local all_models = noctalia.state.get(STATE.models) or {} - local in_combo = {} - for _, m in ipairs(combo.models or {}) do in_combo[m] = true end - local needle = string.lower(model_search) - local items = {} - local count = 0 - for _, m in ipairs(all_models) do - if type(m) == "table" and type(m.fullModel) == "string" then - local full = m.fullModel - if not in_combo[full] then - if needle == "" or string.find(string.lower(full), needle, 1, true) then - count = count + 1 - items[#items + 1] = ui.button({ - key = "add_" .. full, - text = full, - variant = "outline", - contentAlign = "start", - onClick = function() - dispatch_ipc("add_model", combo.id .. ":" .. full) - adding_model = false - model_search = "" - render() - end, - }) - end - end - end - end - - if count == 0 then - items[#items + 1] = ui.label({ - text = needle ~= "" and tr("add_model.no_match") or tr("add_model.empty"), - opacity = 0.7, - maxWidth = WRAP, - }) - end - - rows[#rows + 1] = ui.scroll({ flexGrow = 1, gap = 6, align = "stretch", justify = "start" }, items) - - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1, align = "stretch", justify = "start" }, rows)) -end - --- ── login view ──────────────────────────────────────────────────────────────── - -local function render_login() - local rows = {} - - rows[#rows + 1] = ui.row({ justify = "space_between", align = "center" }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "lock", color = "error", size = 24 }), - ui.label({ text = tr("login.title"), fontSize = 18, fontWeight = "bold", color = "on_surface" }), - }), - }) - - rows[#rows + 1] = ui.separator({}) - - rows[#rows + 1] = ui.label({ text = tr("login.hint"), opacity = 0.7, fontSize = 12, maxWidth = WRAP }) - - rows[#rows + 1] = ui.input({ - key = "login_password", - value = login_password, - placeholder = tr("login.password_placeholder"), - password = true, - onChange = function(text) - login_password = text or "" - end, - }) - - -- Error banner (if any) - local err = noctalia.state.get(STATE.last_error) - if type(err) == "table" and err.message then - rows[#rows + 1] = ui.row({ gap = 8, align = "center", padding = 8, radius = 8, fill = "error/0.15", border = "error", borderWidth = 1 }, { - ui.glyph({ name = "alert-circle", color = "error", size = 16 }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = err.message, color = "error", fontSize = 13, fontWeight = "bold", maxWidth = WRAP - 40 }), - ui.label({ text = err.detail or "", fontSize = 11, opacity = 0.75, maxWidth = WRAP - 40 }), - }), - }) - end - - rows[#rows + 1] = ui.separator({}) - - rows[#rows + 1] = ui.row({ justify = "end", gap = 8 }, { - ui.button({ - text = tr("login.submit"), - glyph = "login", - variant = "primary", - onClick = function() - dispatch_ipc("login", login_password) - login_password = "" - render() - end, - }), - }) - - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1, align = "stretch", justify = "start" }, rows)) -end - --- ── main render ────────────────────────────────────────────────────────────── - -render = function() - local conn = noctalia.state.get(STATE.connection) - local combos = noctalia.state.get(STATE.combos) or {} - local selected_id = noctalia.state.get(STATE.selected) - - -- Login view takes priority when the dashboard requires authentication. - if type(conn) == "table" and conn.status == "auth_required" then - render_login() - return - end - - -- Create view takes priority - if creating then - render_create() - return - end - - -- Detail view when a combo is selected and still exists - local selected = find_combo(combos, selected_id) - if selected then - if adding_model then - render_add_model(selected) - return - end - render_detail(selected) - return - end - - -- Otherwise the list view - render_list(combos, conn) -end - --- ── lifecycle ─────────────────────────────────────────────────────────────── - -local function fingerprint_state() - local conn = noctalia.state.get(STATE.connection) - local combos = noctalia.state.get(STATE.combos) - local selected_id = noctalia.state.get(STATE.selected) - local err = noctalia.state.get(STATE.last_error) - return table.concat({ - (type(conn) == "table" and conn.status or "offline"), - tostring(selected_id or "none"), - (type(err) == "table" and tostring(err.message) or "none"), - combos_fingerprint(combos), - }, "\1") -end - -local snap_cache = { fingerprint = nil } - -function onOpen(_context) - panel.setWantsSecondTicks(true) - for _, key in pairs(STATE) do - noctalia.state.watch(key, function() - local fp = fingerprint_state() - if fp ~= snap_cache.fingerprint then - snap_cache.fingerprint = fp - render() - end - end) - end - render() -end - -function onClose() -end - -function update() - local fp = fingerprint_state() - if fp ~= snap_cache.fingerprint then - snap_cache.fingerprint = fp - render() - end -end diff --git a/9router-control/plugin.toml b/9router-control/plugin.toml deleted file mode 100644 index 252cfb1..0000000 --- a/9router-control/plugin.toml +++ /dev/null @@ -1,68 +0,0 @@ -id = "weinguyen/9router-control" -name = "9Router Control" -version = "0.1.0" -plugin_api = 3 -author = "weinguyen" -license = "MIT" -icon = "route" -description = "Manage 9Router model combos from the Noctalia bar — list, reorder chains, edit routing without the web dashboard." -tags = ["ai", "productivity", "development", "network", "bar", "panel"] -dependencies = ["cat", "curl", "cut", "sha256sum", "sleep"] - -# ── User settings ───────────────────────────────────────────────────────────── -[[setting]] -key = "server_host" -type = "string" -default = "127.0.0.1" -label_key = "settings.server_host.label" -description_key = "settings.server_host.description" - -[[setting]] -key = "server_port" -type = "double" -default = 20128 -label_key = "settings.server_port.label" -description_key = "settings.server_port.description" - -[[setting]] -key = "data_dir" -type = "string" -default = "~/.9router" -label_key = "settings.data_dir.label" -description_key = "settings.data_dir.description" - -[[setting]] -key = "language" -type = "select" -default = "auto" -label_key = "settings.language.label" -description_key = "settings.language.description" -options = [ - { value = "auto", label_key = "settings.language.options.auto" }, - { value = "en", label_key = "settings.language.options.en" }, - { value = "vi", label_key = "settings.language.options.vi" }, -] - -[[setting]] -key = "debug_logging" -type = "bool" -default = false -label_key = "settings.debug_logging.label" -description_key = "settings.debug_logging.description" - -# ── Entries ─────────────────────────────────────────────────────────────────── -[[widget]] -id = "widget" -entry = "widget.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -open_near_click = true -placement = "floating" -width = 520 -height = 680 - -[[service]] -id = "service" -entry = "service.luau" diff --git a/9router-control/service.luau b/9router-control/service.luau deleted file mode 100644 index 6e31198..0000000 --- a/9router-control/service.luau +++ /dev/null @@ -1,553 +0,0 @@ --- 9Router Control service — the headless backend and single source of truth. --- --- Responsibilities: --- • Talk to the 9Router REST API (GET/POST/PUT/DELETE /api/combos) --- • Authenticate: plain requests work when the dashboard has login disabled --- (the default local setup); on a 401 we compute the CLI token from the --- machine-id + cli-secret files and retry with the x-9r-cli-token header. --- • Track connection state, the combo list, and the selected combo --- • Publish shared state for the widget and panel subscribers --- --- The widget and panel are pure subscribers of `9router.*` state keys. - --- ── helpers ───────────────────────────────────────────────────────────────── - --- Translation with an optional per-plugin language override (mirrors panel.luau). -local i18n_cache = { lang = nil, table = nil } - -local function load_lang_table(lang) - if i18n_cache.lang == lang and i18n_cache.table then - return i18n_cache.table - end - local merged = {} - local function merge_file(path) - local ok, content = pcall(noctalia.readFile, path) - if not ok or type(content) ~= "string" or content == "" then return end - local ok2, data = pcall(noctalia.json.decode, content) - if not ok2 or type(data) ~= "table" then return end - local function deep(dst, src) - for k, v in pairs(src) do - if type(v) == "table" and type(dst[k]) == "table" then - deep(dst[k], v) - else - dst[k] = v - end - end - end - deep(merged, data) - end - merge_file("translations/en.json") - if lang ~= "en" then - merge_file("translations/" .. lang .. ".json") - end - i18n_cache.lang = lang - i18n_cache.table = merged - return merged -end - -local function tr(key, args) - local lang = noctalia.getConfig and noctalia.getConfig("language") - if type(lang) ~= "string" or lang == "" or lang == "auto" then - return noctalia.tr(key, args) - end - local node = load_lang_table(lang) - for part in string.gmatch(key, "[^%.]+") do - if type(node) ~= "table" then node = nil break end - node = node[part] - end - if type(node) ~= "string" then - return noctalia.tr(key, args) - end - if type(args) == "table" then - node = string.gsub(node, "{(%w+)}", function(name) - local v = args[name] - if v == nil then return "{" .. name .. "}" end - return tostring(v) - end) - end - return node -end - -local function debug_log(msg) - if noctalia.getConfig and noctalia.getConfig("debug_logging") then - noctalia.log("9router-control: " .. tostring(msg)) - end -end - --- Single-quote a value so it is treated as a literal argument by the shell, --- neutralising any metacharacters in user-provided strings (data_dir, host). -local function shell_quote(value) - return "'" .. tostring(value or ""):gsub("'", "'\\''") .. "'" -end - -local function get_server_host() - local v = noctalia.getConfig and noctalia.getConfig("server_host") - if type(v) == "string" and v ~= "" then return v end - return "127.0.0.1" -end - -local function get_server_port() - local v = noctalia.getConfig and noctalia.getConfig("server_port") - if type(v) == "number" and v > 0 then return v end - return 20128 -end - -local function get_data_dir() - local v = noctalia.getConfig and noctalia.getConfig("data_dir") - if type(v) == "string" and v ~= "" then return v end - return "~/.9router" -end - --- ── state ──────────────────────────────────────────────────────────────────── - -local connection = { status = "offline", error = "" } -local combos = {} -local models = {} -local selected_combo_id = nil -local last_error = nil -local auth_token = nil -- JWT cookie captured from a successful login - -local function publish() - noctalia.state.set("9router.connection", connection) - noctalia.state.set("9router.combos", combos) - noctalia.state.set("9router.models", models) - noctalia.state.set("9router.selected_combo", selected_combo_id) - noctalia.state.set("9router.last_error", last_error) -end - -local function set_connection(status, err) - connection = { status = status, error = err or "" } - publish() -end - -local function set_last_error(message, detail) - last_error = { message = message, detail = detail } - publish() -end - -local function clear_last_error() - last_error = nil - publish() -end - --- ── HTTP ───────────────────────────────────────────────────────────────────── - -local base_url = nil -local cli_token = nil -local token_loading = false - -local function build_base_url() - return "http://" .. get_server_host() .. ":" .. tostring(get_server_port()) -end - --- Compute the 9Router CLI token: sha256(rawMachineId + "9r-cli-auth" + --- cliSecret).substring(0,16). Noctalia has no sha256 binding, so we shell out. --- The command reads the machine-id and cli-secret files from the data dir. -local function compute_cli_token(callback) - if cli_token then - callback(cli_token) - return - end - if token_loading then - -- Wait for the in-flight computation to finish. - local tries = 0 - local function poll() - tries = tries + 1 - if cli_token then - callback(cli_token) - elseif tries > 50 then - callback(nil) - else - noctalia.runAsync("sleep 0.1 && echo done", function() - poll() - end) - end - end - poll() - return - end - token_loading = true - local dir = get_data_dir() - -- Expand a leading "~/" to the user's home directory here (not in the - -- shell) so the path is an absolute path with no shell variable expansion - -- and can be safely single-quoted. - if dir:sub(1, 2) == "~/" then - dir = (noctalia.getenv and noctalia.getenv("HOME") or "") .. dir:sub(2) - end - local cmd = "printf '%s' \"$(cat " .. shell_quote(dir .. "/machine-id") .. " 2>/dev/null)9r-cli-auth$(cat " .. shell_quote(dir .. "/auth/cli-secret") .. " 2>/dev/null)\" | sha256sum | cut -c1-16" - noctalia.runAsync(cmd, function(result) - token_loading = false - local token = "" - if result and result.exitCode == 0 and type(result.stdout) == "string" then - token = noctalia.string and noctalia.string.trim and noctalia.string.trim(result.stdout) or result.stdout - end - if token ~= "" then - cli_token = token - debug_log("computed CLI token") - end - callback(token ~= "" and token or nil) - end) -end - --- Perform a request with auth fallback. `with_token` is true on the retry pass. --- Once a CLI token or login cookie is known it is attached to every request, so --- the retry only fires when a 401 arrives before we have any auth material. -local function request(method, path, body, callback, with_token) - local url = (base_url or build_base_url()) .. path - local headers = { "Accept: application/json" } - local body_str = nil - if body then - body_str = noctalia.json.encode(body) - table.insert(headers, "Content-Type: application/json") - end - -- Attach the CLI token on every request once it is known. - if cli_token then - table.insert(headers, "x-9r-cli-token: " .. cli_token) - end - -- Attach the login cookie on every request once it is known. - if auth_token then - table.insert(headers, "Cookie: auth_token=" .. auth_token) - end - noctalia.http({ - url = url, - method = method, - headers = headers, - body = body_str, - follow_redirects = false, - }, function(response) - if not response then - callback({ ok = false, status = 0, body = "" }) - return - end - local status = response.status or 0 - -- On 401: if we have not tried with auth yet, compute the CLI token (if - -- needed) and retry once. If we already have auth material but still got - -- a 401, the token/cookie is stale — surface it so the UI can re-login. - if status == 401 and not with_token then - if cli_token or auth_token then - request(method, path, body, callback, true) - else - compute_cli_token(function(token) - if token then - request(method, path, body, callback, true) - else - callback({ ok = false, status = status, body = response.body }) - end - end) - end - return - end - callback({ ok = status >= 200 and status < 300, status = status, body = response.body }) - end) -end - -local function decode_body(body) - if type(body) ~= "string" or body == "" then return nil end - local ok, data = pcall(noctalia.json.decode, body) - if not ok or type(data) ~= "table" then return nil end - return data -end - --- ── combo operations ───────────────────────────────────────────────────────── - -local function load_combos() - request("GET", "/api/combos", nil, function(resp) - if not resp.ok then - if resp.status == 0 then - set_connection("offline", tr("error.connection_failed")) - elseif resp.status == 401 then - set_connection("auth_required", tr("error.auth_required")) - else - set_connection("offline", tr("error.http_status", { status = tostring(resp.status) })) - end - return - end - local data = decode_body(resp.body) - if not data or type(data.combos) ~= "table" then - set_connection("offline", tr("error.bad_response")) - return - end - combos = data.combos - set_connection("online", "") - clear_last_error() - publish() - end) -end - -local function refresh_combos() - load_combos() -end - -local function load_models() - request("GET", "/api/models", nil, function(resp) - if not resp.ok then return end - local data = decode_body(resp.body) - if not data or type(data.models) ~= "table" then return end - models = data.models - publish() - end) -end - -local function select_combo(id) - selected_combo_id = id - publish() -end - -local function back_to_list() - selected_combo_id = nil - publish() -end - -local function find_combo(id) - for _, c in ipairs(combos) do - if type(c) == "table" and c.id == id then return c end - end - return nil -end - -local function reorder_model(payload) - -- payload: "combo_id:index:direction" - local id, idx_str, direction = payload:match("^([^:]+):(%d+):(%w+)$") - if not id or not idx_str or not direction then return end - local combo = find_combo(id) - if not combo or type(combo.models) ~= "table" then return end - local idx = tonumber(idx_str) - local models = {} - for _, m in ipairs(combo.models) do models[#models + 1] = m end - local n = #models - if idx < 1 or idx > n then return end - local target = direction == "up" and idx - 1 or idx + 1 - if target < 1 or target > n then return end - models[idx], models[target] = models[target], models[idx] - request("PUT", "/api/combos/" .. id, { models = models }, function(resp) - if resp.ok then - refresh_combos() - else - set_last_error(tr("error.reorder_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - -local function move_model(payload) - -- payload: "combo_id:from_index:to_index" (1-based) - local id, from_str, to_str = payload:match("^([^:]+):(%d+):(%d+)$") - if not id or not from_str or not to_str then return end - local combo = find_combo(id) - if not combo or type(combo.models) ~= "table" then return end - local from = tonumber(from_str) - local to = tonumber(to_str) - local models = {} - for _, m in ipairs(combo.models) do models[#models + 1] = m end - local n = #models - if from < 1 or from > n or to < 1 or to > n or from == to then return end - local moved = table.remove(models, from) - table.insert(models, to, moved) - request("PUT", "/api/combos/" .. id, { models = models }, function(resp) - if resp.ok then - refresh_combos() - else - set_last_error(tr("error.reorder_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - -local function add_model(payload) - -- payload: "combo_id:model_fullModel" (provider/model) - local id, model = payload:match("^([^:]+):(.+)$") - if not id or not model or model == "" then return end - local combo = find_combo(id) - if not combo or type(combo.models) ~= "table" then return end - local models = {} - for _, m in ipairs(combo.models) do models[#models + 1] = m end - for _, m in ipairs(models) do - if m == model then return end -- already present - end - models[#models + 1] = model - request("PUT", "/api/combos/" .. id, { models = models }, function(resp) - if resp.ok then - refresh_combos() - else - set_last_error(tr("error.add_model_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - -local function remove_model(payload) - -- payload: "combo_id:index" (1-based) - local id, idx_str = payload:match("^([^:]+):(%d+)$") - if not id or not idx_str then return end - local combo = find_combo(id) - if not combo or type(combo.models) ~= "table" then return end - local idx = tonumber(idx_str) - local models = {} - for _, m in ipairs(combo.models) do models[#models + 1] = m end - if idx < 1 or idx > #models then return end - table.remove(models, idx) - request("PUT", "/api/combos/" .. id, { models = models }, function(resp) - if resp.ok then - refresh_combos() - else - set_last_error(tr("error.remove_model_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - -local function create_combo(payload) - -- payload: JSON string { name, models, kind } - local ok, data = pcall(noctalia.json.decode, payload) - if not ok or type(data) ~= "table" then return end - local name = type(data.name) == "string" and data.name or "" - local models = type(data.models) == "table" and data.models or {} - local kind = type(data.kind) == "string" and data.kind or nil - if name == "" or #models == 0 then - set_last_error(tr("error.create_failed"), tr("error.need_name_models")) - return - end - request("POST", "/api/combos", { name = name, models = models, kind = kind }, function(resp) - if resp.ok then - refresh_combos() - else - local data2 = decode_body(resp.body) - local detail = (type(data2) == "table" and type(data2.error) == "string" and data2.error) - or tr("error.http_status", { status = tostring(resp.status) }) - set_last_error(tr("error.create_failed"), detail) - end - end) -end - -local function delete_combo(id) - request("DELETE", "/api/combos/" .. id, nil, function(resp) - if resp.ok then - if selected_combo_id == id then selected_combo_id = nil end - refresh_combos() - else - set_last_error(tr("error.delete_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - -local function rename_combo(payload) - -- payload: "combo_id:new_name" - local id, name = payload:match("^([^:]+):(.+)$") - if not id or not name or name == "" then return end - request("PUT", "/api/combos/" .. id, { name = name }, function(resp) - if resp.ok then - refresh_combos() - else - local data = decode_body(resp.body) - local detail = (type(data) == "table" and type(data.error) == "string" and data.error) - or tr("error.http_status", { status = tostring(resp.status) }) - set_last_error(tr("error.rename_failed"), detail) - end - end) -end - -local function set_kind(payload) - -- payload: "combo_id:kind" - local id, kind = payload:match("^([^:]+):(.+)$") - if not id or not kind then return end - local value = (kind == "none" or kind == "") and nil or kind - request("PUT", "/api/combos/" .. id, { kind = value }, function(resp) - if resp.ok then - refresh_combos() - else - set_last_error(tr("error.kind_failed"), tr("error.http_status", { status = tostring(resp.status) })) - end - end) -end - --- ── auth (login / logout) ──────────────────────────────────────────────────── - --- Log in against the dashboard and capture the auth_token cookie. Noctalia's --- http binding does not expose response headers, so we shell out to curl with --- `-i` to read the Set-Cookie header, then reuse the cookie on later requests. -local function login(payload) - if type(payload) ~= "string" or payload == "" then - set_last_error(tr("error.login_failed"), tr("error.need_password")) - return - end - local url = (base_url or build_base_url()) .. "/api/auth/login" - -- Escape the password for the JSON body, then for the shell single-quote. - local json_password = payload:gsub("\\", "\\\\"):gsub('"', '\\"') - local body = '{"password":"' .. json_password .. '"}' - local cmd = "curl -s -i -X POST " .. shell_quote(url) .. " -H 'Content-Type: application/json' -d " .. shell_quote(body) - debug_log("login: posting to /api/auth/login") - noctalia.runAsync(cmd, function(result) - if not result or result.exitCode ~= 0 then - set_last_error(tr("error.login_failed"), tr("error.connection_failed")) - return - end - local stdout = result.stdout or "" - local cookie = stdout:match("auth_token=([^;%s]+)") - if not cookie then - -- No cookie set — likely a bad password. Surface the server error. - local body_part = stdout:match("\r?\n\r?\n(.*)$") or stdout - local ok, data = pcall(noctalia.json.decode, body_part) - local detail = (ok and type(data) == "table" and type(data.error) == "string" and data.error) - or tr("error.login_failed") - set_last_error(tr("error.login_failed"), detail) - return - end - auth_token = cookie - debug_log("login: authenticated") - clear_last_error() - set_connection("online", "") - load_combos() - end) -end - -local function logout() - auth_token = nil - cli_token = nil - set_connection("auth_required", tr("error.auth_required")) -end - --- ── ipc handling ───────────────────────────────────────────────────────────── - -function onIpc(event, payload) - debug_log("IPC: " .. tostring(event)) - if event == "refresh" then - refresh_combos() - elseif event == "select_combo" then - if type(payload) == "string" then select_combo(payload) end - elseif event == "back_to_list" then - back_to_list() - elseif event == "reorder_model" then - if type(payload) == "string" then reorder_model(payload) end - elseif event == "move_model" then - if type(payload) == "string" then move_model(payload) end - elseif event == "add_model" then - if type(payload) == "string" then add_model(payload) end - elseif event == "remove_model" then - if type(payload) == "string" then remove_model(payload) end - elseif event == "create_combo" then - if type(payload) == "string" then create_combo(payload) end - elseif event == "delete_combo" then - if type(payload) == "string" then delete_combo(payload) end - elseif event == "rename_combo" then - if type(payload) == "string" then rename_combo(payload) end - elseif event == "set_kind" then - if type(payload) == "string" then set_kind(payload) end - elseif event == "login" then - if type(payload) == "string" then login(payload) end - elseif event == "logout" then - logout() - elseif event == "clear_error" then - clear_last_error() - end -end - --- ── init ───────────────────────────────────────────────────────────────────── - -function onOpen() - base_url = build_base_url() - publish() - load_combos() - load_models() -end - -function onExit() -end - --- Start on load -onOpen() diff --git a/9router-control/thumbnail.webp b/9router-control/thumbnail.webp deleted file mode 100644 index 2a6de9237b81ccb12e19329e866474c7fce77c29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86942 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 z 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 diff --git a/9router-control/translations/en.json b/9router-control/translations/en.json deleted file mode 100644 index 3868a8e..0000000 --- a/9router-control/translations/en.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "add_model": { - "back": "Back to combo", - "empty": "No models available.", - "no_match": "No models match your search.", - "search": "Search models…", - "title": "Add Model" - }, - "create": { - "back": "Back", - "cancel": "Cancel", - "kind_label": "Kind", - "models_hint": "One model per line, in fallback order (e.g. cc/claude-opus-4-7).", - "models_label": "Models", - "models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1", - "name_label": "Name", - "name_placeholder": "e.g. my-fallback", - "submit": "Create", - "title": "New Combo" - }, - "detail": { - "add_model": "Add model", - "back": "Back to combos", - "delete": "Delete combo", - "delete_confirm": "Delete this combo?", - "delete_no": "Cancel", - "delete_yes": "Yes, delete", - "drag_hint": "Drag a model to reorder", - "kind_label": "Kind", - "models_count": "{count} model(s)", - "models_title": "Model Chain", - "move_down": "Move down", - "move_up": "Move up", - "no_models": "This combo has no models yet.", - "refresh": "Refresh", - "remove_model": "Remove model", - "rename": "Rename", - "rename_cancel": "Cancel", - "rename_placeholder": "New name…", - "rename_save": "Save" - }, - "error": { - "add_model_failed": "Failed to add model", - "auth_required": "Authentication required", - "bad_response": "Unexpected response from 9Router", - "connection_failed": "Could not connect to 9Router", - "create_failed": "Failed to create combo", - "delete_failed": "Failed to delete combo", - "dismiss": "Dismiss", - "http_status": "HTTP {status}", - "invalid_name": "Name can only contain letters, numbers, -, _ and .", - "kind_failed": "Failed to update kind", - "login_failed": "Login failed", - "need_name_models": "A name and at least one model are required.", - "need_password": "Please enter your password.", - "remove_model_failed": "Failed to remove model", - "rename_failed": "Failed to rename combo", - "reorder_failed": "Failed to reorder models" - }, - "kind": { - "fallback": "Fallback", - "fusion": "Fusion", - "none": "None", - "round_robin": "Round-robin" - }, - "list": { - "delete": "Delete combo", - "delete_cancel": "Cancel", - "delete_confirm": "Confirm delete", - "empty": "No combos yet. Create one to get started.", - "kind": "Kind: {kind}", - "new_combo": "New Combo", - "no_match": "No combos match your search.", - "open": "Open combo", - "refresh": "Refresh", - "search": "Search combos…", - "title": "9Router — Combos" - }, - "login": { - "hint": "The dashboard requires authentication. Enter your 9Router password to continue.", - "password_placeholder": "Password…", - "submit": "Log in", - "title": "9Router Login" - }, - "settings": { - "data_dir": { - "description": "9Router data directory (used to compute the CLI token when the dashboard requires login). Default: ~/.9router.", - "label": "Data Directory" - }, - "debug_logging": { - "description": "Print debug messages to the Noctalia log.", - "label": "Debug Logging" - }, - "language": { - "description": "Language for this plugin's UI. 'Auto' follows the Noctalia shell language.", - "label": "Language", - "options": { - "auto": "Auto (follow shell)", - "en": "English", - "vi": "Tiếng Việt" - } - }, - "server_host": { - "description": "Hostname of the 9Router dashboard. Default: 127.0.0.1.", - "label": "Server Host" - }, - "server_port": { - "description": "Port of the 9Router dashboard. Default: 20128.", - "label": "Server Port" - } - }, - "state": { - "combos": "{count} combo(s)", - "tip": { - "auth_required": "9Router: login required", - "offline": "9Router: offline", - "online": "9Router: connected" - } - } -} diff --git a/9router-control/translations/vi.json b/9router-control/translations/vi.json deleted file mode 100644 index c8d3e76..0000000 --- a/9router-control/translations/vi.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "add_model": { - "back": "Quay lại combo", - "empty": "Không có model nào.", - "no_match": "Không có model khớp tìm kiếm.", - "search": "Tìm model…", - "title": "Thêm Model" - }, - "create": { - "back": "Quay lại", - "cancel": "Hủy", - "kind_label": "Loại", - "models_hint": "Mỗi model một dòng, theo thứ tự fallback (vd: cc/claude-opus-4-7).", - "models_label": "Models", - "models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1", - "name_label": "Tên", - "name_placeholder": "vd: my-fallback", - "submit": "Tạo", - "title": "Combo mới" - }, - "detail": { - "add_model": "Thêm model", - "back": "Quay lại danh sách", - "delete": "Xóa combo", - "delete_confirm": "Xóa combo này?", - "delete_no": "Hủy", - "delete_yes": "Có, xóa", - "drag_hint": "Kéo model để sắp xếp lại", - "kind_label": "Loại", - "models_count": "{count} model", - "models_title": "Chuỗi Model", - "move_down": "Di chuyển xuống", - "move_up": "Di chuyển lên", - "no_models": "Combo này chưa có model nào.", - "refresh": "Làm mới", - "remove_model": "Xóa model", - "rename": "Đổi tên", - "rename_cancel": "Hủy", - "rename_placeholder": "Tên mới…", - "rename_save": "Lưu" - }, - "error": { - "add_model_failed": "Không thể thêm model", - "auth_required": "Cần xác thực", - "bad_response": "Phản hồi không mong đợi từ 9Router", - "connection_failed": "Không kết nối được 9Router", - "create_failed": "Không thể tạo combo", - "delete_failed": "Không xóa được combo", - "dismiss": "Đóng", - "http_status": "HTTP {status}", - "invalid_name": "Tên chỉ được chứa chữ, số, -, _ và .", - "kind_failed": "Không cập nhật được loại", - "login_failed": "Đăng nhập thất bại", - "need_name_models": "Cần tên và ít nhất một model.", - "need_password": "Vui lòng nhập mật khẩu.", - "remove_model_failed": "Không thể xóa model", - "rename_failed": "Không đổi tên được combo", - "reorder_failed": "Không thể sắp xếp lại model" - }, - "kind": { - "fallback": "Fallback", - "fusion": "Fusion", - "none": "Không", - "round_robin": "Round-robin" - }, - "list": { - "delete": "Xóa combo", - "delete_cancel": "Hủy", - "delete_confirm": "Xác nhận xóa", - "empty": "Chưa có combo nào. Tạo một combo để bắt đầu.", - "kind": "Loại: {kind}", - "new_combo": "Combo mới", - "no_match": "Không có combo nào khớp tìm kiếm.", - "open": "Mở combo", - "refresh": "Làm mới", - "search": "Tìm combo…", - "title": "9Router — Combos" - }, - "login": { - "hint": "Dashboard yêu cầu xác thực. Nhập mật khẩu 9Router của bạn để tiếp tục.", - "password_placeholder": "Mật khẩu…", - "submit": "Đăng nhập", - "title": "Đăng nhập 9Router" - }, - "settings": { - "data_dir": { - "description": "Thư mục dữ liệu 9Router (dùng để tính CLI token khi dashboard yêu cầu đăng nhập). Mặc định: ~/.9router.", - "label": "Thư mục dữ liệu" - }, - "debug_logging": { - "description": "In thông điệp gỡ lỗi vào log Noctalia.", - "label": "Ghi log gỡ lỗi" - }, - "language": { - "description": "Ngôn ngữ giao diện của plugin. 'Tự động' theo ngôn ngữ shell Noctalia.", - "label": "Ngôn ngữ", - "options": { - "auto": "Tự động (theo shell)", - "en": "English", - "vi": "Tiếng Việt" - } - }, - "server_host": { - "description": "Hostname của dashboard 9Router. Mặc định: 127.0.0.1.", - "label": "Máy chủ" - }, - "server_port": { - "description": "Cổng của dashboard 9Router. Mặc định: 20128.", - "label": "Cổng" - } - }, - "state": { - "combos": "{count} combo", - "tip": { - "auth_required": "9Router: cần đăng nhập", - "offline": "9Router: ngoại tuyến", - "online": "9Router: đã kết nối" - } - } -} diff --git a/9router-control/widget.luau b/9router-control/widget.luau deleted file mode 100644 index e3b54b9..0000000 --- a/9router-control/widget.luau +++ /dev/null @@ -1,165 +0,0 @@ --- 9Router Control bar widget — a pure subscriber of 9router.connection state. --- Shows connection status as an accent-colored glyph with a breathing glow, --- plus the number of combos when connected. Click opens the panel. - -local STATE_KEY = "9router.connection" -local COMBOS_KEY = "9router.combos" - -local GLYPH = { - online = "route", - offline = "route-off", - auth_required = "lock", -} -local COLOR = { - online = "primary", - offline = "error", - auth_required = "error", -} - -local BREATH_PERIOD = 6.0 -local BREATH_FLOOR = 0.45 -local BREATH_CEIL = 1.0 -local TICK_MS = 100 - -local snap = { status = "offline" } -local combo_count = 0 -local phase = BREATH_PERIOD / 2 - --- Translation with an optional per-plugin language override (mirrors panel.luau). -local i18n_cache = { lang = nil, table = nil } - -local function load_lang_table(lang) - if i18n_cache.lang == lang and i18n_cache.table then - return i18n_cache.table - end - local merged = {} - local function merge_file(path) - local ok, content = pcall(noctalia.readFile, path) - if not ok or type(content) ~= "string" or content == "" then return end - local ok2, data = pcall(noctalia.json.decode, content) - if not ok2 or type(data) ~= "table" then return end - local function deep(dst, src) - for k, v in pairs(src) do - if type(v) == "table" and type(dst[k]) == "table" then - deep(dst[k], v) - else - dst[k] = v - end - end - end - deep(merged, data) - end - merge_file("translations/en.json") - if lang ~= "en" then - merge_file("translations/" .. lang .. ".json") - end - i18n_cache.lang = lang - i18n_cache.table = merged - return merged -end - -local function tr(key, args) - local lang = noctalia.getConfig and noctalia.getConfig("language") - if type(lang) ~= "string" or lang == "" or lang == "auto" then - return noctalia.tr(key, args) - end - local node = load_lang_table(lang) - for part in string.gmatch(key, "[^%.]+") do - if type(node) ~= "table" then node = nil break end - node = node[part] - end - if type(node) ~= "string" then - return noctalia.tr(key, args) - end - if type(args) == "table" then - node = string.gsub(node, "{(%w+)}", function(name) - local v = args[name] - if v == nil then return "{" .. name .. "}" end - return tostring(v) - end) - end - return node -end - --- Scale an RRGGBB hex toward black by factor b, returning "#RRGGBB" -local function dim(hex, b) - if type(hex) ~= "string" or #hex ~= 6 then return "#808080" end - local function ch(i) - local x = math.floor((tonumber(hex:sub(i, i + 1), 16) or 0) * b + 0.5) - if x < 0 then x = 0 elseif x > 255 then x = 255 end - return x - end - return string.format("#%02X%02X%02X", ch(1), ch(3), ch(5)) -end - -local ACCENT_RGB = { - primary = "B4FF00", - secondary = "EAFF00", - error = "FF4D1F", -} - -local function level_for(period) - local t = phase % period - local s = 0.5 - 0.5 * math.cos((t / period) * 2 * math.pi) - return BREATH_FLOOR + (BREATH_CEIL - BREATH_FLOOR) * s -end - -local function paint() - local g = GLYPH[snap.status] or GLYPH.offline - local c = COLOR[snap.status] or COLOR.offline - barWidget.setGlyph(g) - barWidget.setGlyphColor(dim(ACCENT_RGB[c] or ACCENT_RGB.secondary, level_for(BREATH_PERIOD))) -end - -local function render() - paint() - local tip = tr("state.tip." .. tostring(snap.status)) or tr("state.tip.offline") - if snap.error and snap.error ~= "" then - tip = tip .. "\n" .. snap.error - end - if snap.status == "online" then - tip = tip .. "\n" .. tr("state.combos", { count = combo_count }) - end - barWidget.setTooltip(tip) -end - -local function apply(s) - if type(s) ~= "table" then return end - local status = type(s.status) == "string" and s.status or "offline" - local changed = (status ~= snap.status) - snap = { status = status, error = s.error } - if changed then - phase = BREATH_PERIOD / 2 - end - render() -end - -local function apply_combos(list) - if type(list) == "table" then - combo_count = #list - end - render() -end - -function onClick() - noctalia.togglePanel("weinguyen/9router-control:panel") -end - -function onRightClick() - noctalia.runAsync("noctalia msg plugin 'weinguyen/9router-control:service' all refresh") -end - -function update() - noctalia.setUpdateInterval(TICK_MS) - phase = phase + TICK_MS / 1000 - if phase > 1e6 then phase = 0 end - paint() -end - -noctalia.state.watch(STATE_KEY, apply) -noctalia.state.watch(COMBOS_KEY, apply_combos) -noctalia.setUpdateInterval(TICK_MS) - -apply(noctalia.state.get(STATE_KEY)) -apply_combos(noctalia.state.get(COMBOS_KEY)) -render() diff --git a/anilist/README.md b/anilist/README.md deleted file mode 100644 index 962c124..0000000 --- a/anilist/README.md +++ /dev/null @@ -1,80 +0,0 @@ -# AniList (UNOFFICIAL) - -Unofficial Noctalia plugin to browse and update your AniList anime and manga lists from the bar. Open the panel to see what you are watching, planning, or have finished, then increment or decrement episode/chapter progress without opening the website. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `cleboost/anilist` | -| Entries | Bar widget: `tracker`; panel: `library`; service: `api` | -| Launcher Prefix | — | - -## Requirements - -1. Create an AniList API application at [anilist.co/settings/developer](https://anilist.co/settings/developer). -2. Set the application **Redirect URL** to `http://127.0.0.1:7823/callback`. -3. Copy the **Client ID** and **Client secret** into the plugin settings. -4. `python3` must be available on `PATH` (used for the temporary localhost login helper). -5. `xdg-open` must be available on `PATH` (used to open AniList media pages from the panel). -6. `zenity` or `kdialog` is required only if you want to download cover images from the panel preview. - -Network access: GraphQL and OAuth on `anilist.co`, plus cover image URLs returned by the API (typically AniList CDN hosts such as `s4.anilist.co`). - -## Usage - -Add the **AniList (UNOFFICIAL)** bar widget (`tracker`) from Settings, then click it to open the library panel. - -```sh -noctalia msg panel-toggle cleboost/anilist:library -``` - -First launch: - -1. Open plugin settings and paste your AniList **client ID** and **client secret**. -2. Open the panel and click **Connect with AniList**. -3. Approve the app in your browser. -4. When the browser shows “Connected to AniList”, return to Noctalia — your lists load automatically. - -Inside the panel: - -- Switch between **Anime** and **Manga** tabs. -- Filter by list status. Anime uses **Watching**, **Planning**, and so on; manga uses **Reading** instead of Watching and **Plan to Read** instead of Planning. -- The **Watching** / **Reading** filter sorts entries by progress (highest first). Other filters sort A–Z. -- Use **Reload list** to refresh the active tab without logging in again. -- Use the settings button to open this plugin's settings. -- Click a cover image to open a larger preview. From there you can download the cover or close the preview. -- Use **−** / **+** to go back or forward one episode/chapter. -- Use the check button to mark an entry completed. -- Use the external-link button to open the entry on AniList. - -Right-click the bar widget to open the AniList website. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `client_id` | `string` | `""` | Your AniList OAuth client ID (required for login). | -| `client_secret` | `string` | `""` | Your AniList OAuth client secret (required for login). | -| `access_token` | `string` | `""` | Optional bearer token. If empty, the token saved after browser login is used. | -| `glyph` | `glyph` | `device-tv` | Bar widget icon. | -| `count_mode` | `select` | `current` | Which count to show in the bar widget: `current` (anime in progress), `completed`, `total`, `in_progress` (anime + manga), or `planning`. | - -## IPC - -```sh -noctalia msg plugin cleboost/anilist:api all refresh -noctalia msg plugin cleboost/anilist:api all logout -noctalia msg plugin cleboost/anilist:api all login "" -``` - -## Notes - -- This is an unofficial third-party plugin and is not affiliated with or endorsed by AniList. -- Login starts a temporary localhost server on port `7823` only for the duration of the OAuth flow. The helper also opens your default browser for authorization. -- OAuth login briefly writes temporary credential/result files in the plugin data directory; they are removed when login finishes. -- Access tokens are stored in the plugin data directory (`token.json`) after a successful login. -- Cover images are cached under the plugin data directory (`covers/v2/`). -- Downloading a cover from the preview writes the image to a path you choose (for example `~/Downloads/`). -- AniList tokens last about one year; connect again when they expire. -- Incrementing progress on a **Planning** / **Plan to Read** entry moves it to **Watching** / **Reading**. Reaching the last episode/chapter marks it **Completed**. diff --git a/anilist/panel.luau b/anilist/panel.luau deleted file mode 100644 index ac71a85..0000000 --- a/anilist/panel.luau +++ /dev/null @@ -1,740 +0,0 @@ ---!nonstrict --- AniList (UNOFFICIAL) library panel: login, filters, scrollable list, episode/chapter controls. - -local COVER_WIDTH = 44 -local COVER_HEIGHT = 62 -local PREVIEW_WIDTH = 280 -local PREVIEW_HEIGHT = math.floor(PREVIEW_WIDTH * COVER_HEIGHT / COVER_WIDTH) -local INITIAL_VISIBLE_ROWS = 12 -local ROW_BATCH_SIZE = 10 -local MAX_VISIBLE_ROWS = 200 -local LIST_LOAD_INTERVAL_MS = 80 -local LIST_IDLE_INTERVAL_MS = 1000 -local lastCoverPriorityKey = "" -local visibleRowLimit = INITIAL_VISIBLE_ROWS - -local snapshot = noctalia.state.get("anilist_snapshot") or { - revision = 0, - oauthLoading = false, - loading = false, - refreshing = false, - busy = false, - error = "", - viewer = nil, - anime = {}, - manga = {}, - loadProgress = nil, -} - -local mediaTab = "ANIME" -local statusFilter = "CURRENT" -local dirty = true -local render -local coverPreview = nil -local coverDownloadBusy = false - -local function coverLoadingSet() - local set = {} - for _, id in ipairs(noctalia.state.get("anilist_cover_loading") or {}) do - local mediaId = tonumber(id) - if mediaId then - set[mediaId] = true - end - end - return set -end - - -local function tr(key, subst) - return noctalia.tr("panel." .. key, subst) -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function sendCommand(action, values) - local command = { action = action } - if type(values) == "table" then - for k, v in pairs(values) do - command[k] = v - end - end - noctalia.state.set("anilist_command", command) -end - -local function resetListView() - visibleRowLimit = INITIAL_VISIBLE_ROWS - lastCoverPriorityKey = "" -end - -local function listRowCap(rows) - return math.min(#rows, MAX_VISIBLE_ROWS) -end - -local function syncListLoadInterval(rows) - if visibleRowLimit < listRowCap(rows) then - noctalia.setUpdateInterval(LIST_LOAD_INTERVAL_MS) - else - noctalia.setUpdateInterval(LIST_IDLE_INTERVAL_MS) - end -end - -local function growVisibleRows(rows) - local cap = listRowCap(rows) - if visibleRowLimit >= cap then - return false - end - visibleRowLimit = math.min(visibleRowLimit + ROW_BATCH_SIZE, cap) - return true -end - -local function titleCompare(a, b) - return (a.title or ""):lower() < (b.title or ""):lower() -end - -local function sortEntries(entries, filter) - local sorted = {} - for _, entry in ipairs(entries) do - table.insert(sorted, entry) - end - - if filter == "CURRENT" then - table.sort(sorted, function(a, b) - local progressA = a.progress or 0 - local progressB = b.progress or 0 - if progressA ~= progressB then - return progressA > progressB - end - return titleCompare(a, b) - end) - else - table.sort(sorted, titleCompare) - end - - return sorted -end - -local function entriesForView() - local source = if mediaTab == "MANGA" then snapshot.manga else snapshot.anime - if statusFilter == "ALL" then - return sortEntries(source, statusFilter) - end - - local filtered = {} - for _, entry in ipairs(source) do - if entry.status == statusFilter then - table.insert(filtered, entry) - end - end - return sortEntries(filtered, statusFilter) -end - -local function progressLabel(entry) - local current = entry.progress or 0 - local total = entry.total - if entry.mediaType == "MANGA" then - if total then - return tr("progress_manga", { current = current, total = total }) - end - return tr("progress_manga_unknown", { current = current }) - end - if total then - return tr("progress_anime", { current = current, total = total }) - end - return tr("progress_anime_unknown", { current = current }) -end - -local STAR_GLYPH_SIZE = 15 - -local function renderScoreStars(score) - local value = tonumber(score) - if not value or value <= 0 then - return nil - end - local filled = math.max(1, math.min(5, math.floor(value / 20 + 0.5))) - local stars = {} - for index = 1, 5 do - table.insert(stars, ui.glyph({ - name = if index <= filled then "star-filled" else "star", - size = STAR_GLYPH_SIZE, - color = "on_surface_variant", - })) - end - return ui.row({ gap = 1, align = "center" }, stars) -end - -local function subtitleTextFor(entry) - local parts = { progressLabel(entry) } - if entry.nextEpisode and entry.mediaType == "ANIME" then - table.insert(parts, tr("next_episode", { episode = entry.nextEpisode })) - end - return table.concat(parts, " · ") -end - -local function renderTitle(entry) - return ui.label({ - text = entry.title or "?", - fontWeight = "medium", - maxLines = 2, - }) -end - -local function renderSubtitle(entry) - return ui.label({ - text = subtitleTextFor(entry), - fontSize = 12, - color = "on_surface_variant", - maxLines = 2, - }) -end - -local function syncVisibleCoverPriority(rows) - local ids = {} - local cap = math.min(listRowCap(rows), visibleRowLimit) - for index = 1, cap do - local entry = rows[index] - if entry and entry.mediaId then - table.insert(ids, entry.mediaId) - end - end - - local key = table.concat(ids, ",") - if key == lastCoverPriorityKey then - return - end - lastCoverPriorityKey = key - sendCommand("prioritize_covers", { mediaIds = ids }) -end - -local function filterButton(key, label, filter) - local active = statusFilter == filter - return ui.button({ - key = "filter-" .. key, - text = label, - variant = if active then "primary" else "ghost", - onClick = function() - statusFilter = filter - resetListView() - dirty = true - render() - end, - }) -end - -local function settingsButton() - return ui.button({ - glyph = "settings", - variant = "ghost", - tooltip = tr("settings"), - onClick = noctalia.openSettings, - }) -end - -local function loadProgressText() - local progress = snapshot.loadProgress - if type(progress) ~= "table" then - return tr("loading") - end - return tr("loading_progress", { - anime = progress.animeLoaded or 0, - manga = progress.mangaLoaded or 0, - }) -end - -local function renderLogin() - local children = { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("login_title"), fontSize = 18, fontWeight = "bold", flexGrow = 1 }), - settingsButton(), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("close"), onClick = "onClosePanel" }), - }), - ui.label({ text = tr("login_help"), fontSize = 12, color = "on_surface_variant", maxLines = 8 }), - } - - if snapshot.oauthLoading then - table.insert(children, ui.label({ text = tr("login_waiting"), color = "primary", fontSize = 13 })) - elseif snapshot.loading then - table.insert(children, ui.label({ text = loadProgressText(), color = "primary", fontSize = 13 })) - else - table.insert(children, ui.button({ - text = tr("connect"), - variant = "primary", - onClick = "onConnect", - flexGrow = 1, - })) - end - - if snapshot.error ~= "" then - table.insert(children, ui.label({ text = tr("error", { message = snapshot.error }), color = "error", fontSize = 12 })) - end - - panel.render(ui.column({ gap = 12, padding = 16 }, children)) -end - -local function coverFilename(title) - local name = (title or "cover"):gsub("[^%w%-%._ ]", ""):gsub("%s+", " ") - name = noctalia.string.trim(name) - if name == "" then - name = "cover" - end - if not name:lower():match("%.jpe?g$") then - name = name .. ".jpg" - end - return name -end - -local function ensureJpegExtension(path) - path = noctalia.string.trim(path or "") - if path == "" then - return path - end - if not path:lower():match("%.jpe?g$") then - return path .. ".jpg" - end - return path -end - -local function pickCoverSavePath(defaultName, callback) - local suggested = noctalia.expandPath("~/Downloads/" .. defaultName) - local cmd - if noctalia.commandExists("zenity") then - cmd = "zenity --file-selection --save --confirm-overwrite --filename=" - .. shellQuote(suggested) - elseif noctalia.commandExists("kdialog") then - cmd = "kdialog --getsavefilename " .. shellQuote(suggested) .. " 'Images (*.jpg)'" - else - callback(nil, tr("download_cover_unavailable")) - return - end - - noctalia.runAsync(cmd, function(result) - local path = (result.stdout or ""):gsub("^%s+", ""):gsub("%s+$", "") - if result.exitCode ~= 0 or path == "" then - callback(nil, nil) - return - end - callback(ensureJpegExtension(path), nil) - end) -end - -local function writeCoverToPath(coverPath, coverUrl, destPath, callback) - if coverPath and noctalia.fileExists(coverPath) then - local data = noctalia.readFile(coverPath) - if type(data) == "string" and data ~= "" then - local ok = noctalia.writeFile(destPath, data) - callback(ok, ok and nil or tr("download_cover_failed")) - return - end - end - - if type(coverUrl) == "string" and coverUrl ~= "" then - local started = noctalia.download(coverUrl, destPath, function(ok) - callback(ok == true, ok and nil or tr("download_cover_failed")) - end) - if not started then - callback(false, tr("download_cover_failed")) - end - return - end - - callback(false, tr("download_cover_failed")) -end - -local function startCoverDownload(preview) - if coverDownloadBusy or type(preview) ~= "table" then - return - end - - coverDownloadBusy = true - dirty = true - render() - - pickCoverSavePath(coverFilename(preview.title), function(destPath, pickError) - if pickError then - coverDownloadBusy = false - noctalia.notifyError(tr("title"), pickError) - dirty = true - render() - return - end - if not destPath then - coverDownloadBusy = false - dirty = true - render() - return - end - - writeCoverToPath(preview.coverPath, preview.coverUrl, destPath, function(ok, saveError) - coverDownloadBusy = false - if ok then - noctalia.notify(tr("title"), tr("download_cover_success", { path = destPath })) - elseif saveError then - noctalia.notifyError(tr("title"), saveError) - end - dirty = true - render() - end) - end) -end - -local function openCoverPreview(entry) - if not entry.coverPath then - return - end - coverPreview = { - mediaId = entry.mediaId, - title = entry.title or "?", - coverPath = entry.coverPath, - coverUrl = entry.coverUrl, - } - dirty = true - render() -end - -local function renderCoverPreview() - return ui.column({ gap = 12, padding = 16, flexGrow = 1 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ - text = coverPreview.title or "?", - fontSize = 16, - fontWeight = "bold", - flexGrow = 1, - maxLines = 2, - }), - ui.row({ gap = 4, align = "center" }, { - ui.button({ - glyph = "download", - variant = "ghost", - tooltip = tr("download_cover"), - disabled = coverDownloadBusy, - onClick = coverDownloadBusy and "onNoop" or "onDownloadCoverPreview", - }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("close_preview"), onClick = "onCloseCoverPreview" }), - }), - }), - ui.column({ flexGrow = 1, align = "center", justify = "center" }, { - ui.image({ - path = coverPreview.coverPath, - width = PREVIEW_WIDTH, - height = PREVIEW_HEIGHT, - radius = 10, - fit = "cover", - }), - }), - }) -end - -local function renderCover(entry, loadingSet) - local mediaId = entry.mediaId - local coverPath = entry.coverPath - - if coverPath then - return ui.image({ - key = "cover-" .. tostring(mediaId), - path = coverPath, - width = COVER_WIDTH, - height = COVER_HEIGHT, - radius = 6, - fit = "cover", - tooltip = tr("cover_preview"), - onClick = function() - openCoverPreview(entry) - end, - }) - end - - local children = {} - if loadingSet[entry.mediaId] then - table.insert(children, ui.glyph({ - name = "loader", - size = 18, - color = "on_surface", - })) - end - - return ui.column({ - width = COVER_WIDTH, - height = COVER_HEIGHT, - radius = 6, - fill = entry.coverColor or "#334155", - align = "center", - justify = "center", - }, children) -end - -local function renderEntryRow(entry, index, loadingSet) - if index > visibleRowLimit then - return nil - end - - local mediaId = entry.mediaId - local canDecrement = (entry.progress or 0) > 0 and not snapshot.busy - local canIncrement = not snapshot.busy - local isComplete = entry.status == "COMPLETED" - - local textChildren = { - renderTitle(entry), - renderSubtitle(entry), - } - local stars = renderScoreStars(entry.score) - local mainChildren = { - ui.column({ gap = 2, flexGrow = 1, justify = "center" }, textChildren), - } - if stars then - table.insert(mainChildren, stars) - end - - local rowChildren = { - renderCover(entry, loadingSet), - ui.row({ - height = COVER_HEIGHT, - gap = 8, - flexGrow = 1, - align = "center", - }, mainChildren), - } - - table.insert(rowChildren, ui.button({ - glyph = "minus", - variant = "ghost", - tooltip = tr("decrement"), - onClick = canDecrement and function() - sendCommand("decrement", { mediaId = mediaId }) - end or "onNoop", - })) - table.insert(rowChildren, ui.button({ - glyph = "plus", - variant = "ghost", - tooltip = tr("increment"), - onClick = canIncrement and function() - sendCommand("increment", { mediaId = mediaId }) - end or "onNoop", - })) - table.insert(rowChildren, ui.button({ - glyph = if isComplete then "check" else "circle-check", - variant = if isComplete then "primary" else "ghost", - tooltip = tr("mark_complete"), - onClick = snapshot.busy and "onNoop" or function() - sendCommand("complete", { mediaId = mediaId }) - end, - })) - table.insert(rowChildren, ui.button({ - glyph = "external-link", - variant = "ghost", - tooltip = tr("open_anilist"), - onClick = function() - sendCommand("open_media", { mediaId = mediaId, mediaType = entry.mediaType }) - end, - })) - - return ui.row({ - key = "entry-" .. tostring(mediaId), - gap = 10, - align = "center", - padding = { top = 8, bottom = 8 }, - }, rowChildren) -end - -local function renderLibrary() - local rows = entriesForView() - local loadingSet = coverLoadingSet() - local children = {} - - local headerChildren = { - ui.label({ text = tr("title"), fontSize = 18, fontWeight = "bold" }), - } - if snapshot.viewer and snapshot.viewer.name then - table.insert(headerChildren, ui.label({ - text = tr("logged_in_as", { name = snapshot.viewer.name }), - fontSize = 12, - color = "on_surface_variant", - })) - end - - table.insert(children, ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.column({ gap = 2, flexGrow = 1 }, headerChildren), - settingsButton(), - ui.button({ glyph = "refresh", variant = "ghost", tooltip = tr("refresh"), onClick = "onRefresh" }), - ui.button({ glyph = "logout", variant = "ghost", tooltip = tr("logout"), onClick = "onLogout" }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("close"), onClick = "onClosePanel" }), - })) - - table.insert(children, ui.row({ gap = 6 }, { - ui.button({ - text = tr("tab_anime"), - variant = if mediaTab == "ANIME" then "primary" else "ghost", - onClick = "onTabAnime", - }), - ui.button({ - text = tr("tab_manga"), - variant = if mediaTab == "MANGA" then "primary" else "ghost", - onClick = "onTabManga", - }), - })) - - table.insert(children, ui.scroll({ horizontal = true }, { - ui.row({ gap = 6 }, { - filterButton( - "current", - if mediaTab == "MANGA" then tr("filter_reading") else tr("filter_current"), - "CURRENT" - ), - filterButton( - "planning", - if mediaTab == "MANGA" then tr("filter_planning_manga") else tr("filter_planning"), - "PLANNING" - ), - filterButton("completed", tr("filter_completed"), "COMPLETED"), - filterButton("paused", tr("filter_paused"), "PAUSED"), - filterButton("dropped", tr("filter_dropped"), "DROPPED"), - filterButton("repeating", tr("filter_repeating"), "REPEATING"), - filterButton("all", tr("filter_all"), "ALL"), - }), - })) - - if snapshot.loading then - table.insert(children, ui.label({ text = loadProgressText(), color = "on_surface_variant", padding = { top = 12 } })) - elseif snapshot.error ~= "" then - table.insert(children, ui.label({ text = tr("error", { message = snapshot.error }), color = "error", padding = { top = 12 } })) - elseif snapshot.refreshing and #rows == 0 then - table.insert(children, ui.label({ text = tr("refreshing"), color = "on_surface_variant", padding = { top = 8 } })) - elseif snapshot.busy then - table.insert(children, ui.label({ text = tr("updating"), color = "on_surface_variant", padding = { top = 8 } })) - end - - if not snapshot.loading and #rows == 0 then - table.insert(children, ui.label({ text = tr("empty"), color = "on_surface_variant", padding = { top = 12 } })) - else - local listChildren = {} - local rowCap = listRowCap(rows) - for index = 1, rowCap do - local entry = rows[index] - local row = renderEntryRow(entry, index, loadingSet) - if row then - table.insert(listChildren, row) - end - end - if visibleRowLimit < rowCap then - table.insert(listChildren, ui.row({ gap = 8, align = "center", justify = "center", padding = { top = 4, bottom = 4 } }, { - ui.glyph({ name = "loader", size = 16, color = "on_surface_variant" }), - ui.label({ text = tr("loading_more"), fontSize = 12, color = "on_surface_variant" }), - })) - end - table.insert(children, ui.scroll({ flexGrow = 1, gap = 8 }, listChildren)) - syncVisibleCoverPriority(rows) - syncListLoadInterval(rows) - end - - panel.render(ui.column({ gap = 10, padding = 16, flexGrow = 1 }, children)) -end - -render = function() - if coverPreview then - panel.render(renderCoverPreview()) - dirty = false - return - end - if snapshot.viewer and snapshot.viewer.id then - renderLibrary() - else - renderLogin() - end - dirty = false -end - -noctalia.state.watch("anilist_snapshot", function(value) - if type(value) == "table" then - snapshot = value - dirty = true - render() - end -end) - -noctalia.state.watch("anilist_cover_loading", function() - dirty = true - render() -end) - -panel.setWantsSecondTicks(true) - -function onOpen(_context) - noctalia.state.set("anilist_open", true) - resetListView() - if snapshot.viewer and snapshot.viewer.id then - sendCommand("refresh", { mediaType = mediaTab, silent = true }) - end - dirty = true - render() -end - -function onClose() - coverPreview = nil - noctalia.state.set("anilist_open", false) - if not snapshot.oauthLoading then - noctalia.setUpdateInterval(LIST_IDLE_INTERVAL_MS) - end -end - -function update() - if snapshot.viewer and snapshot.viewer.id then - local rows = entriesForView() - if growVisibleRows(rows) then - dirty = true - end - syncListLoadInterval(rows) - end - if dirty then - render() - end -end - -function onClosePanel() - coverPreview = nil - panel.close() -end - -function onCloseCoverPreview() - coverPreview = nil - coverDownloadBusy = false - dirty = true - render() -end - -function onDownloadCoverPreview() - if coverPreview then - startCoverDownload(coverPreview) - end -end - -function onNoop() end - -function onConnect() - sendCommand("start_oauth") - dirty = true - render() -end - -function onLogout() - sendCommand("logout") -end - -function onRefresh() - sendCommand("refresh", { mediaType = mediaTab }) -end - -function onTabAnime() - mediaTab = "ANIME" - resetListView() - dirty = true - render() -end - -function onTabManga() - mediaTab = "MANGA" - resetListView() - dirty = true - render() -end - -render() diff --git a/anilist/plugin.toml b/anilist/plugin.toml deleted file mode 100644 index f6f1af2..0000000 --- a/anilist/plugin.toml +++ /dev/null @@ -1,67 +0,0 @@ -id = "cleboost/anilist" -name = "AniList (UNOFFICIAL)" -version = "1.1.2" -plugin_api = 15 -author = "Cleboost" -license = "MIT" -icon = "device-tv" -description = "Browse and update your AniList anime and manga lists from a quick panel without opening the site." -tags = ["media", "bar", "panel", "service", "network", "productivity"] -dependencies = ["python3", "xdg-open"] - -[[setting]] -key = "client_id" -type = "string" -label_key = "settings.client_id.label" -description_key = "settings.client_id.description" -default = "" - -[[setting]] -key = "client_secret" -type = "string" -label_key = "settings.client_secret.label" -description_key = "settings.client_secret.description" -default = "" - -[[setting]] -key = "access_token" -type = "string" -label_key = "settings.access_token.label" -description_key = "settings.access_token.description" -default = "" - -[[widget]] -id = "tracker" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - default = "device-tv" - - [[widget.setting]] - key = "count_mode" - type = "select" - label_key = "settings.count_mode.label" - description_key = "settings.count_mode.description" - default = "current" - options = [ - { value = "current", label_key = "settings.count_mode.options.current" }, - { value = "completed", label_key = "settings.count_mode.options.completed" }, - { value = "total", label_key = "settings.count_mode.options.total" }, - { value = "in_progress", label_key = "settings.count_mode.options.in_progress" }, - { value = "planning", label_key = "settings.count_mode.options.planning" } - ] - -[[panel]] -id = "library" -entry = "panel.luau" -width = 720 -height = 640 -placement = "floating" -position = "center" - -[[service]] -id = "api" -entry = "service.luau" diff --git a/anilist/scripts/oauth_login.py b/anilist/scripts/oauth_login.py deleted file mode 100755 index 488a3f0..0000000 --- a/anilist/scripts/oauth_login.py +++ /dev/null @@ -1,260 +0,0 @@ -#!/usr/bin/env python3 -"""Temporary localhost OAuth callback server for AniList login.""" - -from __future__ import annotations - -import base64 -import json -import socket -import sys -import threading -import urllib.error -import urllib.parse -import urllib.request -import webbrowser -from http.server import BaseHTTPRequestHandler, HTTPServer - -HOST = "127.0.0.1" -PORT = 7823 -REDIRECT_URI = f"http://{HOST}:{PORT}/callback" -AUTH_URL = "https://anilist.co/api/v2/oauth/authorize" -TOKEN_URL = "https://anilist.co/api/v2/oauth/token" -TIMEOUT_SECONDS = 180 - - -def emit(payload: dict, result_path: str | None = None) -> None: - encoded = json.dumps(payload) - print(encoded, flush=True) - if result_path: - with open(result_path, "w", encoding="utf-8") as handle: - handle.write(encoded) - - -def load_credentials(path: str) -> tuple[str, str]: - with open(path, encoding="utf-8") as handle: - data = json.load(handle) - client_id = str(data.get("client_id", "")).strip() - client_secret = str(data.get("client_secret", "")).strip() - if not client_id or not client_secret: - raise ValueError("missing client_id or client_secret") - return client_id, client_secret - - -def exchange_code(client_id: str, client_secret: str, code: str) -> str: - body = urllib.parse.urlencode( - { - "grant_type": "authorization_code", - "code": code, - "redirect_uri": REDIRECT_URI, - } - ).encode("utf-8") - credentials = base64.b64encode(f"{client_id}:{client_secret}".encode("utf-8")).decode("ascii") - request = urllib.request.Request( - TOKEN_URL, - data=body, - headers={ - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "application/json", - "Authorization": f"Basic {credentials}", - "User-Agent": "noctalia-anilist-plugin", - }, - method="POST", - ) - with urllib.request.urlopen(request, timeout=30) as response: - payload = json.loads(response.read().decode("utf-8")) - token = payload.get("access_token") - if not token: - message = payload.get("error_description") or payload.get("message") or payload.get("error") - raise RuntimeError(message or "token response missing access_token") - return str(token) - - -def format_http_error(exc: urllib.error.HTTPError) -> str: - try: - detail = json.loads(exc.read().decode("utf-8")) - message = detail.get("error_description") or detail.get("message") or detail.get("error") - if message: - return str(message) - except Exception: # noqa: BLE001 - pass - return exc.reason or "token exchange failed" - - -def port_available(port: int) -> bool: - with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - try: - sock.bind((HOST, port)) - except OSError: - return False - return True - - -def main() -> int: - if len(sys.argv) not in (2, 3): - emit({"ok": False, "error": "usage: oauth_login.py [result.json]"}, None) - return 1 - - result_path = sys.argv[2] if len(sys.argv) == 3 else None - - if not port_available(PORT): - emit( - { - "ok": False, - "error": f"port {PORT} is already in use; close the other login attempt first", - }, - result_path, - ) - return 1 - - try: - client_id, client_secret = load_credentials(sys.argv[1]) - except Exception as exc: # noqa: BLE001 - emit({"ok": False, "error": str(exc)}, result_path) - return 1 - - result: dict[str, str | bool] = {"status": "pending"} - emitted = False - done = threading.Event() - - def report(payload: dict) -> None: - nonlocal emitted - emit(payload, result_path) - emitted = True - - class CallbackHandler(BaseHTTPRequestHandler): - def do_GET(self) -> None: # noqa: N802 - if done.is_set(): - self.send_error(404) - return - - parsed = urllib.parse.urlparse(self.path) - if parsed.path != "/callback": - self.send_error(404) - return - - params = urllib.parse.parse_qs(parsed.query) - error = params.get("error", [None])[0] - if error: - result["status"] = "error" - result["error"] = str(error) - report({"ok": False, "error": str(error)}) - self._success_page("Login failed", "Return to Noctalia and try again.") - done.set() - return - - code = params.get("code", [None])[0] - if not code: - result["status"] = "error" - result["error"] = "missing authorization code" - report({"ok": False, "error": "missing authorization code"}) - self._success_page("Login failed", "No authorization code was received.") - done.set() - return - - try: - token = exchange_code(client_id, client_secret, code) - except urllib.error.HTTPError as exc: - message = format_http_error(exc) - result["status"] = "error" - result["error"] = message - report({"ok": False, "error": message}) - self._success_page("Login failed", "Could not finish login. Return to Noctalia and try again.") - done.set() - return - except Exception as exc: # noqa: BLE001 - result["status"] = "error" - result["error"] = str(exc) - report({"ok": False, "error": str(exc)}) - self._success_page("Login failed", "Could not finish login. Return to Noctalia and try again.") - done.set() - return - - result["status"] = "ok" - result["access_token"] = token - report({"ok": True, "access_token": token}) - self._success_page( - "Connected to AniList", - "You can close this tab and return to Noctalia.", - ) - done.set() - - def log_message(self, format: str, *args) -> None: # noqa: A003 - return - - def _success_page(self, title: str, message: str) -> None: - html = f""" - - - - {title} - - - -

-

{title}

-

{message}

-
- -""" - encoded = html.encode("utf-8") - self.send_response(200) - self.send_header("Content-Type", "text/html; charset=utf-8") - self.send_header("Content-Length", str(len(encoded))) - self.end_headers() - self.wfile.write(encoded) - - server = HTTPServer((HOST, PORT), CallbackHandler) - server.timeout = 1 - - authorize = ( - f"{AUTH_URL}?client_id={urllib.parse.quote(client_id)}" - f"&redirect_uri={urllib.parse.quote(REDIRECT_URI)}" - "&response_type=code" - ) - webbrowser.open(authorize) - - def serve_until_done() -> None: - while not done.is_set(): - server.handle_request() - - worker = threading.Thread(target=serve_until_done, daemon=True) - worker.start() - if not done.wait(TIMEOUT_SECONDS): - result["status"] = "error" - result["error"] = "login timed out" - - server.server_close() - - if emitted: - return 0 if result.get("status") == "ok" else 1 - - if result.get("status") == "ok" and result.get("access_token"): - emit({"ok": True, "access_token": result["access_token"]}, result_path) - return 0 - - emit({"ok": False, "error": result.get("error") or "login cancelled"}, result_path) - return 1 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/anilist/service.luau b/anilist/service.luau deleted file mode 100644 index 87a656a..0000000 --- a/anilist/service.luau +++ /dev/null @@ -1,1483 +0,0 @@ ---!nonstrict --- AniList (UNOFFICIAL) background service: OAuth token storage, GraphQL queries, and list mutations. --- The panel and widget only talk through noctalia.state; they never hit the network. - -local GRAPHQL_URL = "https://graphql.anilist.co" -local TOKEN_FILE = "token.json" -local OAUTH_CREDS_FILE = "oauth_credentials.json" -local OAUTH_RESULT_FILE = "oauth_result.json" - -local CHUNK_SIZE = 50 -local BACKGROUND_COVER_BATCH = 12 -local FINALIZE_SORT_BATCH = 100 -local FETCH_UPDATE_MS = 300 -local COVER_UPDATE_MS = 120 -local MAX_CONCURRENT_COVERS = 6 - -local accessToken = "" -local viewer = nil -local snapshot = { - revision = 0, - oauthLoading = false, - loading = false, - refreshing = false, - busy = false, - error = "", - viewer = nil, - anime = {}, - manga = {}, - loadProgress = nil, -} -local oauthRunning = false -local oauthCredPath = "" -local oauthResultPath = "" -local oauthStartedAt = 0 - -local libraryFetch = nil -local finalizeQueue = nil -local flushCoverSnapshot -local legacyCachePurged = false -local pendingLegacyPurge = false - -local coverDownloadsInFlight = {} -local coverLoadingIds = {} -local lastCoverPriority = {} -local activeCoverDownloads = 0 -local pendingCoverSnapshot = false -local pendingPriorityCovers = {} -local backgroundCoverCursor = { listKey = "anime", index = 1 } -local backgroundCoversActive = false - -local function tr(key, subst) - return noctalia.tr("service." .. key, subst) -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function tokenPath() - local dir = noctalia.pluginDataDir() - if not dir then - return nil - end - return dir .. "/" .. TOKEN_FILE -end - -local function trim(value) - return noctalia.string.trim(tostring(value or "")) -end - -local function readStoredToken() - local path = tokenPath() - if not path then - return "" - end - local raw = noctalia.readFile(path) - if not raw or raw == "" then - return "" - end - local ok, parsed = pcall(noctalia.json.decode, raw) - if not ok or type(parsed) ~= "table" or type(parsed.access_token) ~= "string" then - noctalia.removeFile(path) - return "" - end - return trim(parsed.access_token) -end - -local function writeStoredToken(token) - local path = tokenPath() - if not path then - return false - end - local payload = noctalia.json.encode({ - access_token = token, - saved_at = os.time(), - }) - return noctalia.writeFile(path, payload) -end - -local function clearStoredToken() - local path = tokenPath() - if path then - noctalia.removeFile(path) - end -end - -local function resolveToken() - local fromSetting = noctalia.getConfig("access_token") - local token = trim(fromSetting) - if token ~= "" then - return token - end - return readStoredToken() -end - -local function publishSnapshot() - snapshot.revision += 1 - noctalia.state.set("anilist_snapshot", snapshot) -end - -local function clearLoadProgress() - snapshot.loadProgress = nil -end - -local function setLoadProgress(animeLoaded, mangaLoaded) - snapshot.loadProgress = { - animeLoaded = animeLoaded or 0, - mangaLoaded = mangaLoaded or 0, - } -end - -local function setError(message) - snapshot.error = message or "" - snapshot.oauthLoading = false - snapshot.loading = false - snapshot.refreshing = false - clearLoadProgress() - libraryFetch = nil - finalizeQueue = nil - publishSnapshot() -end - -local function mediaTotal(media) - if type(media) ~= "table" then - return nil - end - if media.type == "MANGA" then - local chapters = tonumber(media.chapters) - if chapters and chapters > 0 then - return chapters - end - return nil - end - local episodes = tonumber(media.episodes) - if episodes and episodes > 0 then - return episodes - end - return nil -end - -local function normalizeEntry(entry, mediaType) - local media = entry.media or {} - local title = media.title and media.title.userPreferred or ("#" .. tostring(entry.mediaId or media.id or "?")) - local cover = media.coverImage or {} - local nextAiring = media.nextAiringEpisode - - return { - listEntryId = entry.id, - mediaId = entry.mediaId or media.id, - status = entry.status or "CURRENT", - progress = tonumber(entry.progress) or 0, - progressVolumes = tonumber(entry.progressVolumes) or 0, - score = entry.score, - total = mediaTotal(media), - volumes = tonumber(media.volumes), - title = title, - coverColor = cover.color or "#334155", - coverUrl = cover.extraLarge or cover.large or cover.medium or nil, - coverPath = nil, - mediaType = mediaType, - nextEpisode = nextAiring and nextAiring.episode or nil, - nextAiringAt = nextAiring and nextAiring.airingAt or nil, - updatedAt = tonumber(entry.updatedAt) or 0, - } -end - -local function mergeEntries(target, entries, mediaType) - for _, entry in ipairs(entries) do - if type(entry) == "table" and entry.media then - local normalized = normalizeEntry(entry, mediaType) - local mediaId = normalized.mediaId - if mediaId then - local existing = target[mediaId] - if not existing or (normalized.updatedAt or 0) >= (existing.updatedAt or 0) then - target[mediaId] = normalized - end - end - end - end -end - -local function mergeListsInto(byMediaId, lists, mediaType) - if type(lists) ~= "table" then - return - end - for _, list in ipairs(lists) do - if type(list) == "table" and type(list.entries) == "table" then - mergeEntries(byMediaId, list.entries, mediaType) - end - end -end - -local function sortedKeysFor(byMediaId) - local keys = {} - for mediaId, row in pairs(byMediaId) do - table.insert(keys, { mediaId = mediaId, title = (row.title or ""):lower() }) - end - table.sort(keys, function(a, b) - return a.title < b.title - end) - return keys -end - -local function appendSortedRows(target, byMediaId, keys, startIndex, batchSize) - local limit = math.min(#keys, startIndex + batchSize - 1) - for index = startIndex, limit do - local mediaId = keys[index].mediaId - local row = byMediaId[mediaId] - if row then - table.insert(target, row) - end - end - return limit + 1 -end - -local COVER_DIR_NAME = "covers" -local COVER_CACHE_VERSION = 2 -local MAX_PRIORITY_COVERS = 48 - -local function hasPendingCoverWork() - if next(pendingPriorityCovers) ~= nil then - return true - end - return backgroundCoversActive -end - -local OAUTH_POLL_MS = 500 - -local function syncUpdateInterval() - if oauthRunning then - noctalia.setUpdateInterval(OAUTH_POLL_MS) - return - end - if libraryFetch ~= nil or finalizeQueue ~= nil or snapshot.loading or snapshot.refreshing then - noctalia.setUpdateInterval(FETCH_UPDATE_MS) - elseif activeCoverDownloads > 0 or hasPendingCoverWork() then - noctalia.setUpdateInterval(COVER_UPDATE_MS) - else - noctalia.setUpdateInterval(30000) - flushCoverSnapshot() - end -end - -local function coversDir() - local dataDir = noctalia.pluginDataDir() - if not dataDir then - return nil - end - return dataDir .. "/" .. COVER_DIR_NAME -end - -local function coverCacheDir() - local dir = coversDir() - if not dir then - return nil - end - return dir .. "/v" .. tostring(COVER_CACHE_VERSION) -end - -local function coverCachePath(mediaId) - local dir = coverCacheDir() - if not dir or not mediaId then - return nil - end - return dir .. "/" .. tostring(mediaId) .. ".jpg" -end - -local function coverMetaPath(mediaId) - local path = coverCachePath(mediaId) - if not path then - return nil - end - return path .. ".meta.json" -end - -local function isCoverCacheValid(mediaId, url) - local path = coverCachePath(mediaId) - local metaPath = coverMetaPath(mediaId) - if not path or not metaPath or not noctalia.fileExists(path) then - return false - end - - local raw = noctalia.readFile(metaPath) - if not raw or raw == "" then - return false - end - - local ok, parsed = pcall(noctalia.json.decode, raw) - if not ok or type(parsed) ~= "table" then - return false - end - - return parsed.url == url and parsed.version == COVER_CACHE_VERSION -end - -local function writeCoverMeta(mediaId, url) - local metaPath = coverMetaPath(mediaId) - if not metaPath then - return - end - local payload = noctalia.json.encode({ - url = url, - version = COVER_CACHE_VERSION, - }) - noctalia.writeFile(metaPath, payload) -end - -local function removeCoverCache(mediaId) - local path = coverCachePath(mediaId) - local metaPath = coverMetaPath(mediaId) - if path then - noctalia.removeFile(path) - end - if metaPath then - noctalia.removeFile(metaPath) - end -end - -local function purgeLegacyCoverCache() - local dir = coversDir() - if not dir then - return - end - - local entries = noctalia.listDir(dir) or {} - for _, name in ipairs(entries) do - local path = dir .. "/" .. name - if name:match("%.jpg$") or name:match("_xl%.jpg$") or name:match("%.meta%.json$") then - noctalia.removeFile(path) - elseif name:match("^v%d+$") and name ~= ("v" .. tostring(COVER_CACHE_VERSION)) then - local files = noctalia.listDir(path) or {} - for _, file in ipairs(files) do - noctalia.removeFile(path .. "/" .. file) - end - end - end - - local cacheDir = coverCacheDir() - if cacheDir then - noctalia.mkdirAll(cacheDir) - end - legacyCachePurged = true -end - -local function attachCoverPathForEntry(row) - if type(row) ~= "table" then - return - end - local url = row.coverUrl - if isCoverCacheValid(row.mediaId, url) then - row.coverPath = coverCachePath(row.mediaId) - return - end - row.coverPath = nil - if row.mediaId and url then - removeCoverCache(row.mediaId) - end -end - -local function publishCoverLoadingState() - local ids = {} - for mediaId in pairs(coverLoadingIds) do - table.insert(ids, mediaId) - end - noctalia.state.set("anilist_cover_loading", ids) -end - -local function setCoverLoading(mediaId, loading) - if not mediaId then - return - end - if loading then - coverLoadingIds[mediaId] = true - else - coverLoadingIds[mediaId] = nil - end - publishCoverLoadingState() -end - -local function needsCoverDownload(entry) - if type(entry) ~= "table" then - return false - end - local mediaId = entry.mediaId - local url = entry.coverUrl - if not mediaId or type(url) ~= "string" or url == "" then - return false - end - return not isCoverCacheValid(mediaId, url) -end - -local function requestCoverSnapshot() - pendingCoverSnapshot = true -end - -function flushCoverSnapshot() - if pendingCoverSnapshot then - pendingCoverSnapshot = false - publishSnapshot() - end -end - -local function findEntry(mediaId) - if not mediaId then - return nil - end - for _, list in ipairs({ snapshot.anime, snapshot.manga }) do - for _, entry in ipairs(list) do - if entry.mediaId == mediaId then - return entry - end - end - end - return nil -end - -local function setEntryCoverPath(mediaId, path) - local entry = findEntry(mediaId) - if entry then - entry.coverPath = path - requestCoverSnapshot() - end -end - -local function downloadCoverForEntry(row) - if type(row) ~= "table" then - return - end - - local mediaId = row.mediaId - local url = row.coverUrl - if not mediaId or type(url) ~= "string" or url == "" then - return - end - - local path = coverCachePath(mediaId) - if not path then - return - end - - if isCoverCacheValid(mediaId, url) then - row.coverPath = path - return - end - - removeCoverCache(mediaId) - - if coverDownloadsInFlight[mediaId] then - return - end - - if activeCoverDownloads >= MAX_CONCURRENT_COVERS then - return - end - - local dir = coverCacheDir() - if dir then - noctalia.mkdirAll(dir) - end - - coverDownloadsInFlight[mediaId] = true - setCoverLoading(mediaId, true) - activeCoverDownloads += 1 - syncUpdateInterval() - - local started = noctalia.download(url, path, function(ok) - coverDownloadsInFlight[mediaId] = nil - setCoverLoading(mediaId, false) - activeCoverDownloads = math.max(0, activeCoverDownloads - 1) - if ok then - writeCoverMeta(mediaId, url) - setEntryCoverPath(mediaId, path) - end - syncUpdateInterval() - end) - - if not started then - coverDownloadsInFlight[mediaId] = nil - setCoverLoading(mediaId, false) - activeCoverDownloads = math.max(0, activeCoverDownloads - 1) - syncUpdateInterval() - end -end - -local function queuePriorityCovers(mediaIds) - if type(mediaIds) ~= "table" then - return - end - for _, id in ipairs(mediaIds) do - local mediaId = tonumber(id) - if mediaId then - pendingPriorityCovers[mediaId] = true - end - end - syncUpdateInterval() -end - -local function processPriorityCovers() - local processed = 0 - for mediaId in pairs(pendingPriorityCovers) do - if activeCoverDownloads >= MAX_CONCURRENT_COVERS or processed >= MAX_PRIORITY_COVERS then - break - end - pendingPriorityCovers[mediaId] = nil - local entry = findEntry(mediaId) - if entry then - attachCoverPathForEntry(entry) - if needsCoverDownload(entry) then - downloadCoverForEntry(entry) - end - end - processed += 1 - end - - if not hasPendingCoverWork() and activeCoverDownloads == 0 then - syncUpdateInterval() - end -end - -local function nextBackgroundCoverEntry() - local order = { "anime", "manga" } - local startIndex = 1 - for index, key in ipairs(order) do - if key == backgroundCoverCursor.listKey then - startIndex = index - break - end - end - - for offset = 0, #order - 1 do - local key = order[((startIndex - 1 + offset) % #order) + 1] - local list = if key == "manga" then snapshot.manga else snapshot.anime - local cursor = if key == backgroundCoverCursor.listKey then backgroundCoverCursor.index else 1 - while cursor <= #list do - local entry = list[cursor] - backgroundCoverCursor.listKey = key - backgroundCoverCursor.index = cursor + 1 - if entry and entry.coverPath == nil and entry.coverUrl then - return entry - end - cursor += 1 - end - end - - return nil -end - -local function processBackgroundCovers() - if not backgroundCoversActive then - return - end - - local processed = 0 - while processed < BACKGROUND_COVER_BATCH do - if activeCoverDownloads >= MAX_CONCURRENT_COVERS then - break - end - - local savedCursor = { - listKey = backgroundCoverCursor.listKey, - index = backgroundCoverCursor.index, - } - local entry = nextBackgroundCoverEntry() - if entry == nil then - backgroundCoversActive = false - syncUpdateInterval() - return - end - - attachCoverPathForEntry(entry) - if needsCoverDownload(entry) and entry.mediaId then - if activeCoverDownloads >= MAX_CONCURRENT_COVERS then - backgroundCoverCursor = savedCursor - break - end - downloadCoverForEntry(entry) - end - processed += 1 - end -end - -local function resetBackgroundCovers() - backgroundCoverCursor = { listKey = "anime", index = 1 } - backgroundCoversActive = true -end - -local LIST_QUERY = [[ -query ($userId: Int, $type: MediaType, $chunk: Int, $perChunk: Int) { - MediaListCollection( - userId: $userId - type: $type - forceSingleCompletedList: true - chunk: $chunk - perChunk: $perChunk - ) { - hasNextChunk - lists { - name - isCustomList - status - entries { - id - mediaId - status - progress - progressVolumes - score(format: POINT_100) - updatedAt - media { - id - type - episodes - chapters - volumes - coverImage { color extraLarge large medium } - title { userPreferred } - nextAiringEpisode { airingAt episode } - } - } - } - } -} -]] - -local VIEWER_QUERY = [[ -query { - Viewer { - id - name - } -} -]] - -local SAVE_PROGRESS_MUTATION = [[ -mutation ($mediaId: Int, $progress: Int, $status: MediaListStatus) { - SaveMediaListEntry(mediaId: $mediaId, progress: $progress, status: $status) { - id - progress - status - media { - id - episodes - chapters - title { userPreferred } - } - } -} -]] - -local function decodeParsed(parsed) - if type(parsed.errors) == "table" and #parsed.errors > 0 then - local message = parsed.errors[1].message or tr("mutation_failed") - if message:lower():find("invalid token", 1, true) - or message:lower():find("unauthorized", 1, true) then - return nil, tr("invalid_token") - end - return nil, message - end - - if type(parsed.data) == "table" then - return parsed.data, nil - end - - if parsed.Viewer or parsed.MediaListCollection or parsed.SaveMediaListEntry then - return parsed, nil - end - - return nil, tr("invalid_response") -end - -local function setLoadError(message) - if message == tr("invalid_token") - or message == tr("invalid_response") - or message == tr("empty_response") then - accessToken = "" - clearStoredToken() - viewer = nil - snapshot.viewer = nil - snapshot.anime = {} - snapshot.manga = {} - end - setError(message) -end - -local function decodeBody(body) - if type(body) == "table" then - return decodeParsed(body) - end - - if type(body) ~= "string" then - return nil, tr("invalid_response") - end - - body = trim(body) - if body == "" then - return nil, tr("empty_response") - end - - local ok, parsed = pcall(noctalia.json.decode, body) - if not ok or type(parsed) ~= "table" then - noctalia.log("anilist: could not parse API response: " .. body:sub(1, 120)) - return nil, tr("invalid_response") - end - - return decodeParsed(parsed) -end - -local function graphqlRequest(query, variables, callback) - if accessToken == "" then - callback(nil, tr("not_configured")) - return false - end - - local body = noctalia.json.encode({ - query = query, - variables = variables or {}, - }) - - return noctalia.http({ - url = GRAPHQL_URL, - method = "POST", - headers = { - "Content-Type: application/json", - "Accept: application/json", - "Authorization: Bearer " .. accessToken, - "User-Agent: noctalia-anilist-plugin", - }, - body = body, - }, function(response) - if not response then - callback(nil, tr("network_error")) - return - end - - local bodyText = response.body - if type(bodyText) == "string" and bodyText ~= "" then - local data, err = decodeBody(bodyText) - if data then - callback(data, err) - return - end - if err then - callback(nil, err) - return - end - end - - if response.status < 200 or response.status >= 300 then - callback(nil, tr("network_error")) - return - end - - callback(nil, tr("network_error")) - end) -end - -local function newFetchJob(mediaType, userId) - return { - mediaType = mediaType, - userId = userId, - chunk = 0, - byMediaId = {}, - pendingLists = nil, - hasNextChunk = false, - inFlight = false, - done = false, - error = nil, - loadedCount = 0, - needsMerge = false, - awaitingChunk = true, - } -end - -local function publishFetchProgress(fetch) - if fetch.mode == "reload" and fetch.single then - local job = fetch.single - local loaded = job.loadedCount or 0 - if job.mediaType == "ANIME" then - local mangaLoaded = type(snapshot.loadProgress) == "table" and snapshot.loadProgress.mangaLoaded or 0 - setLoadProgress(loaded, mangaLoaded) - else - local animeLoaded = type(snapshot.loadProgress) == "table" and snapshot.loadProgress.animeLoaded or 0 - setLoadProgress(animeLoaded, loaded) - end - publishSnapshot() - return - end - - local animeLoaded = fetch.anime and (fetch.anime.loadedCount or 0) or 0 - local mangaLoaded = fetch.manga and (fetch.manga.loadedCount or 0) or 0 - setLoadProgress(animeLoaded, mangaLoaded) - publishSnapshot() -end - -local function startChunkFetch(job) - if job.inFlight or job.done or job.error or not job.awaitingChunk then - return false - end - - job.awaitingChunk = false - job.inFlight = true - local started = graphqlRequest(LIST_QUERY, { - userId = job.userId, - type = job.mediaType, - chunk = job.chunk, - perChunk = CHUNK_SIZE, - }, function(data, err) - job.inFlight = false - if not data then - job.error = err - job.done = true - return - end - local collection = data.MediaListCollection - job.pendingLists = collection and collection.lists or {} - job.hasNextChunk = collection and collection.hasNextChunk == true - job.needsMerge = true - syncUpdateInterval() - end) - - if not started then - job.inFlight = false - job.awaitingChunk = true - job.error = tr("network_error") - job.done = true - return false - end - - return true -end - -local function beginFinalize(fetch) - if fetch.mode == "reload" and fetch.single then - local job = fetch.single - if job.error then - snapshot.refreshing = false - setLoadError(job.error) - return - end - finalizeQueue = { - mode = "reload", - mediaType = job.mediaType, - byMediaId = job.byMediaId, - rows = {}, - keys = nil, - keyIndex = 1, - phase = "keys", - } - else - local animeJob = fetch.anime - local mangaJob = fetch.manga - for _, job in ipairs({ animeJob, mangaJob }) do - if job.error then - setLoadError(job.error) - return - end - end - finalizeQueue = { - mode = "full", - animeByMediaId = animeJob.byMediaId, - mangaByMediaId = mangaJob.byMediaId, - animeRows = {}, - mangaRows = {}, - phase = "anime_keys", - keys = nil, - keyIndex = 1, - } - end - - libraryFetch = nil - clearLoadProgress() - syncUpdateInterval() -end - -local function finishFinalize(queue) - if queue.mode == "reload" then - if queue.mediaType == "ANIME" then - snapshot.anime = queue.rows - else - snapshot.manga = queue.rows - end - snapshot.refreshing = false - else - snapshot.anime = queue.animeRows - snapshot.manga = queue.mangaRows - snapshot.loading = false - pendingLegacyPurge = not legacyCachePurged - end - - snapshot.error = "" - finalizeQueue = nil - resetBackgroundCovers() - queuePriorityCovers(lastCoverPriority) - publishSnapshot() - syncUpdateInterval() -end - -local function processFinalizeQueue() - if finalizeQueue == nil then - return - end - - local queue = finalizeQueue - - if queue.mode == "reload" then - if queue.phase == "keys" then - queue.keys = sortedKeysFor(queue.byMediaId) - queue.phase = "rows" - queue.keyIndex = 1 - return - end - queue.keyIndex = appendSortedRows(queue.rows, queue.byMediaId, queue.keys, queue.keyIndex, FINALIZE_SORT_BATCH) - if queue.keyIndex <= #queue.keys then - return - end - finishFinalize(queue) - return - end - - if queue.phase == "anime_keys" then - queue.keys = sortedKeysFor(queue.animeByMediaId) - queue.phase = "anime" - queue.keyIndex = 1 - return - end - - if queue.phase == "anime" then - queue.keyIndex = appendSortedRows(queue.animeRows, queue.animeByMediaId, queue.keys, queue.keyIndex, FINALIZE_SORT_BATCH) - if queue.keyIndex <= #queue.keys then - return - end - queue.phase = "manga_keys" - return - end - - if queue.phase == "manga_keys" then - queue.keys = sortedKeysFor(queue.mangaByMediaId) - queue.phase = "manga" - queue.keyIndex = 1 - return - end - - if queue.phase == "manga" then - queue.keyIndex = appendSortedRows(queue.mangaRows, queue.mangaByMediaId, queue.keys, queue.keyIndex, FINALIZE_SORT_BATCH) - if queue.keyIndex <= #queue.keys then - return - end - finishFinalize(queue) - end -end - -local function fetchReadyToFinalize(fetch) - if fetch.mode == "reload" then - local job = fetch.single - return job ~= nil and (job.error ~= nil or job.done) - end - - local anime = fetch.anime - local manga = fetch.manga - if not anime or not manga then - return false - end - if anime.error ~= nil or manga.error ~= nil then - return true - end - return anime.done and manga.done -end - -local function processFetchJob(job, fetch) - if job.needsMerge then - mergeListsInto(job.byMediaId, job.pendingLists, job.mediaType) - job.pendingLists = nil - job.needsMerge = false - local total = 0 - for _ in pairs(job.byMediaId) do - total += 1 - end - job.loadedCount = total - publishFetchProgress(fetch) - - if job.hasNextChunk then - job.chunk += 1 - job.awaitingChunk = true - else - job.done = true - end - end -end - -local function pickNextFetchJob(fetch) - if fetch.mode == "reload" then - return fetch.single - end - - local anime = fetch.anime - local manga = fetch.manga - if anime and anime.awaitingChunk and not anime.inFlight and not anime.done and anime.error == nil then - return anime - end - if manga and manga.awaitingChunk and not manga.inFlight and not manga.done and manga.error == nil then - return manga - end - return nil -end - -local function processLibraryFetch() - if libraryFetch == nil then - return - end - - local fetch = libraryFetch - - if fetch.mode == "reload" then - processFetchJob(fetch.single, fetch) - else - processFetchJob(fetch.anime, fetch) - processFetchJob(fetch.manga, fetch) - end - - if fetchReadyToFinalize(fetch) then - beginFinalize(fetch) - return - end - - local nextJob = pickNextFetchJob(fetch) - if nextJob then - startChunkFetch(nextJob) - end -end - -local function loadLibrary() - if accessToken == "" then - snapshot.viewer = nil - snapshot.anime = {} - snapshot.manga = {} - snapshot.loading = false - snapshot.oauthLoading = false - snapshot.error = "" - clearLoadProgress() - libraryFetch = nil - publishSnapshot() - return - end - - snapshot.oauthLoading = false - snapshot.loading = true - snapshot.error = "" - setLoadProgress(0, 0) - libraryFetch = nil - finalizeQueue = nil - publishSnapshot() - syncUpdateInterval() - - graphqlRequest(VIEWER_QUERY, nil, function(data, err) - if not data or not data.Viewer then - setLoadError(err or tr("invalid_token")) - return - end - - viewer = data.Viewer - snapshot.viewer = viewer - publishSnapshot() - - libraryFetch = { - mode = "full", - anime = newFetchJob("ANIME", viewer.id), - manga = newFetchJob("MANGA", viewer.id), - } - syncUpdateInterval() - end) -end - -local function reloadMediaType(mediaType, silent) - if accessToken == "" then - return - end - - if mediaType ~= "ANIME" and mediaType ~= "MANGA" then - loadLibrary() - return - end - - if not viewer or not viewer.id then - loadLibrary() - return - end - - if snapshot.loading or snapshot.refreshing or snapshot.busy or libraryFetch ~= nil then - return - end - - if not silent then - snapshot.refreshing = true - end - snapshot.error = "" - if not silent then - setLoadProgress(0, 0) - end - publishSnapshot() - syncUpdateInterval() - - libraryFetch = { - mode = "reload", - single = newFetchJob(mediaType, viewer.id), - } -end - -local function applyProgressDelta(mediaId, delta, forceStatus, forcedProgress) - if snapshot.busy then - return - end - - local entry = findEntry(mediaId) - if not entry then - return - end - - local total = entry.total - local nextProgress = forcedProgress - local nextStatus = forceStatus or entry.status - - if nextProgress == nil then - nextProgress = math.max(0, (entry.progress or 0) + delta) - nextStatus = entry.status - - if delta < 0 and entry.status == "COMPLETED" then - if not total or nextProgress < total then - nextStatus = "CURRENT" - end - end - - if total and nextProgress >= total then - nextProgress = total - nextStatus = "COMPLETED" - elseif delta > 0 and entry.status == "PLANNING" then - nextStatus = "CURRENT" - end - end - - snapshot.busy = true - publishSnapshot() - - graphqlRequest(SAVE_PROGRESS_MUTATION, { - mediaId = mediaId, - progress = nextProgress, - status = nextStatus, - }, function(data, err) - snapshot.busy = false - if not data or not data.SaveMediaListEntry then - setError(err or tr("mutation_failed")) - return - end - - local saved = data.SaveMediaListEntry - entry.progress = tonumber(saved.progress) or nextProgress - entry.status = saved.status or nextStatus - if saved.media then - entry.total = mediaTotal(saved.media) - end - publishSnapshot() - end) -end - -local function clientCredentials() - local clientId = noctalia.getConfig("client_id") - local clientSecret = noctalia.getConfig("client_secret") - if type(clientId) ~= "string" then clientId = "" end - if type(clientSecret) ~= "string" then clientSecret = "" end - clientId = trim(clientId) - clientSecret = trim(clientSecret) - return clientId, clientSecret -end - -local function setToken(token) - token = trim(token) - if token == "" then - accessToken = "" - clearStoredToken() - viewer = nil - snapshot.viewer = nil - snapshot.anime = {} - snapshot.manga = {} - snapshot.error = "" - snapshot.oauthLoading = false - snapshot.loading = false - clearLoadProgress() - libraryFetch = nil - finalizeQueue = nil - publishSnapshot() - return - end - - accessToken = token - writeStoredToken(token) - loadLibrary() -end - -local function finishOAuth() - if oauthCredPath ~= "" then - noctalia.removeFile(oauthCredPath) - end - if oauthResultPath ~= "" then - noctalia.removeFile(oauthResultPath) - end - oauthRunning = false - oauthCredPath = "" - oauthResultPath = "" - oauthStartedAt = 0 - snapshot.oauthLoading = false - noctalia.setUpdateInterval(30000) -end - -local function handleOAuthPayload(parsed) - if type(parsed) ~= "table" or parsed.ok == nil then - return false - end - - finishOAuth() - if parsed.ok == true and type(parsed.access_token) == "string" then - setToken(parsed.access_token) - return true - end - - setError(tostring(parsed.error or tr("oauth_failed"))) - return true -end - -local function oauthResultPathForPoll() - if oauthResultPath ~= "" then - return oauthResultPath - end - local dataDir = noctalia.pluginDataDir() - if not dataDir then - return "" - end - return dataDir .. "/" .. OAUTH_RESULT_FILE -end - -local function startOAuthLogin() - if oauthRunning then - setError(tr("oauth_busy")) - return - end - - snapshot.error = "" - - local clientId, clientSecret = clientCredentials() - if clientId == "" or clientSecret == "" then - setError(tr("not_configured")) - return - end - - if not noctalia.commandExists("python3") then - setError(tr("oauth_unavailable")) - return - end - - local pluginDir = noctalia.pluginDir() - if not pluginDir then - setError(tr("oauth_unavailable")) - return - end - - local dataDir = noctalia.pluginDataDir() - if not dataDir then - setError(tr("oauth_unavailable")) - return - end - - local credPath = dataDir .. "/" .. OAUTH_CREDS_FILE - local resultPath = dataDir .. "/" .. OAUTH_RESULT_FILE - noctalia.removeFile(resultPath) - - local credPayload = noctalia.json.encode({ - client_id = clientId, - client_secret = clientSecret, - }) - local credOk = noctalia.writeFile(credPath, credPayload) - if not credOk then - setError(tr("oauth_unavailable")) - return - end - - local scriptPath = pluginDir .. "/scripts/oauth_login.py" - local python = if noctalia.commandExists("stdbuf") - then "stdbuf -oL -eL python3 -u" - else "python3 -u" - local command = python - .. " " - .. shellQuote(scriptPath) - .. " " - .. shellQuote(credPath) - .. " " - .. shellQuote(resultPath) - - oauthRunning = true - oauthCredPath = credPath - oauthResultPath = resultPath - oauthStartedAt = os.clock() - snapshot.oauthLoading = true - snapshot.loading = false - snapshot.error = "" - clearLoadProgress() - publishSnapshot() - noctalia.setUpdateInterval(OAUTH_POLL_MS) - - local function handleOAuthLine(line) - line = trim(line or "") - if line == "" then - return - end - - local ok, parsed = pcall(noctalia.json.decode, line) - if ok then - handleOAuthPayload(parsed) - end - end - - local started = noctalia.runStream(command, handleOAuthLine) - if not started then - finishOAuth() - setError(tr("oauth_unavailable")) - end -end - -local function pollOAuthResult() - if not oauthRunning and not snapshot.oauthLoading then - return - end - - local path = oauthResultPathForPoll() - if path == "" then - return - end - - local raw = noctalia.readFile(path) - if raw and raw ~= "" then - local ok, parsed = pcall(noctalia.json.decode, raw) - if ok and handleOAuthPayload(parsed) then - return - end - end - - if oauthRunning and oauthStartedAt > 0 and (os.clock() - oauthStartedAt) > 185 then - finishOAuth() - setError(tr("oauth_failed")) - end -end - -function update() - if oauthRunning or snapshot.oauthLoading then - noctalia.setUpdateInterval(OAUTH_POLL_MS) - end - - pollOAuthResult() - - if pendingLegacyPurge then - pendingLegacyPurge = false - purgeLegacyCoverCache() - end - - processLibraryFetch() - processFinalizeQueue() - processPriorityCovers() - processBackgroundCovers() - - if activeCoverDownloads > 0 then - flushCoverSnapshot() - end -end - -local function loginWithInput(input) - input = trim(input) - if input == "" then - return - end - - if input:sub(1, 3) == "eyJ" then - setToken(input) - return - end - - setError(tr("oauth_failed")) -end - -local function processCommand(command) - if type(command) ~= "table" then - return - end - - local action = command.action - if action == "refresh" then - local mediaType = tostring(command.mediaType or "") - local silent = command.silent == true - if mediaType == "ANIME" or mediaType == "MANGA" then - reloadMediaType(mediaType, silent) - else - loadLibrary() - end - elseif action == "start_oauth" then - startOAuthLogin() - elseif action == "login" then - loginWithInput(tostring(command.token or "")) - elseif action == "logout" then - setToken("") - elseif action == "prioritize_covers" then - local ids = {} - if type(command.mediaIds) == "table" then - for _, id in ipairs(command.mediaIds) do - local mediaId = tonumber(id) - if mediaId then - table.insert(ids, mediaId) - end - end - end - lastCoverPriority = ids - queuePriorityCovers(lastCoverPriority) - elseif action == "increment" then - applyProgressDelta(tonumber(command.mediaId), 1, nil) - elseif action == "decrement" then - applyProgressDelta(tonumber(command.mediaId), -1, nil) - elseif action == "complete" then - local mediaId = tonumber(command.mediaId) - local entry = mediaId and findEntry(mediaId) or nil - if entry then - applyProgressDelta(mediaId, 0, "COMPLETED", entry.total or entry.progress or 0) - end - elseif action == "open_media" then - local mediaId = tonumber(command.mediaId) - local mediaType = tostring(command.mediaType or "ANIME"):lower() - if mediaId then - local segment = if mediaType == "manga" then "manga" else "anime" - noctalia.runAsync("xdg-open " .. shellQuote("https://anilist.co/" .. segment .. "/" .. mediaId) .. " >/dev/null 2>&1") - end - end -end - -noctalia.state.watch("anilist_command", function(command) - processCommand(command) -end) - -function onIpc(event, payload) - if event == "refresh" then - loadLibrary() - elseif event == "logout" then - setToken("") - elseif event == "login" and type(payload) == "string" then - loginWithInput(payload) - end -end - -function init() - if not legacyCachePurged then - purgeLegacyCoverCache() - end - accessToken = resolveToken() - publishSnapshot() - if accessToken ~= "" then - loadLibrary() - end -end - -init() diff --git a/anilist/thumbnail.webp b/anilist/thumbnail.webp deleted file mode 100644 index d258d37044ac6903f408b1098116b80bd2e3f021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48314 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�HdCv-{qbM$BG0L=2Xjm;g>%cA)a0xmH66_#Pg-mL)J(Y8; zuY|0N-o5(p21$F}w*ky?p4<3mg)`T2ET}yxy4C;2oxdmU|2isWTUu|t>z&b?Q$2Ej zLY`jXUuSk~iL|To&O3=&d#}!FKXb2P!;>FBTwnV>e%i2r{cdIf=jF{y?0T)E41WFb z`|`lWp~`6WX>^z-|Shu!=UXd|I^fuuUA 0 then - barWidget.setText(tostring(count)) - barWidget.setTooltip(tr(mode.tooltip, { count = count })) - else - barWidget.setText("") - barWidget.setTooltip(tr("tooltip_empty")) - end -end - -noctalia.state.watch("anilist_open", function(value) - open = value == true - render() -end) - -noctalia.state.watch("anilist_snapshot", function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -function update() - render() -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - noctalia.runAsync("xdg-open 'https://anilist.co/home' >/dev/null 2>&1") -end - -render() diff --git a/arch-updater/README.md b/arch-updater/README.md deleted file mode 100644 index 9a365cd..0000000 --- a/arch-updater/README.md +++ /dev/null @@ -1,146 +0,0 @@ -# Arch Updater - -Check pacman, AUR and Flatpak for updates from the bar, with an estimated -download size and an Arch news heads-up before you upgrade. Runs the update -in a terminal window. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `yuuto/arch-updater` | -| Entries | Bar widget: `widget`; panel: `panel`; service: `service`; launcher: `launcher` | -| Launcher Prefix | `/arch` | - -## Requirements - -- `pacman-contrib` on `PATH` (for `checkupdates`), required. -- `pacman`, `sh`, `sudo`, `awk`, `sed`, `test` and `uname`, required — base - tools from any standard Arch install, used to run and parse the pacman - check, build the download size estimate, check the running kernel, and - run the plain-pacman upgrade. -- `yay` or `paru` on `PATH`, optional, for the AUR check and update. - Auto-detected by default, see the **AUR helper** setting. -- `flatpak`, optional, for the Flatpak check and update. -- `xdg-open`, optional, to open a package page or the Arch news page. -- A terminal emulator for the update run: Noctalia's own detection - (`$TERMINAL`, then `ghostty`, `kitty`, `alacritty`, `wezterm`, `foot`, - `konsole`, `gnome-terminal`, `ptyxis`, `xterm`), or the one named in the - **Terminal** setting. - -Everything except `pacman-contrib`, `pacman`, `sh`, `sudo`, `awk`, `sed`, -`test` and `uname` is optional. A missing optional tool is skipped, not -treated as an error. - -## Usage - -Add the `widget` bar widget from Noctalia's widget picker. Left click opens -the panel, right click checks for updates now, middle click opens the -widget's own settings. You can also open the panel directly or bind it in -your compositor: - -```sh -noctalia msg panel-toggle yuuto/arch-updater:panel -``` - -The panel groups pending packages by source (Pacman, AUR, Flatpak). Click a -source row to expand it into its packages. Each package row has a copy -button (name and versions) and an open button (its page on archlinux.org, -the AUR, or Flathub). **Check Updates** queries all sources, **Update** opens -a terminal running the upgrade, **Dismiss** clears the pending list and -closes the panel, returning the bar glyph to its resting colour. - -Type `/arch` in the launcher for quick actions (check, update, open news), or -`/arch ` to fuzzy-search the packages from the last check. Activating a -result opens that package's page. - -## Extras - -Not in the v4 plugin: - -- **Arch Linux news.** The news feed is checked periodically. An unread post - is flagged in the panel and the bar tooltip, with a button that opens the - news page and marks it read. Arch news is where manual-intervention steps - get announced, so it's worth seeing before a big upgrade. -- **Reboot recommendation.** Detected from whether the running kernel's - `/usr/lib/modules/` directory still exists, so it works for any - kernel flavour (`linux`, `linux-lts`, `linux-zen`, `linux-cachyos`, ...) - without naming one. Shown in the panel and the bar tooltip, and colours the - bar glyph independently of the pending count. -- **Estimated download size** for the pending pacman packages (`pacman -Si`), - shown before you commit to **Update**. -- **An ignore list that's actually enforced.** v4 only let you rewrite the - raw check/update commands. Here, packages in **Ignore packages** are - filtered out of both the count and the update run (`--ignore`), on top of - `pacman.conf`'s own `IgnorePkg`. -- **Auto-detected AUR helper**, with `yay`/`paru`/a custom command/off as - explicit overrides. -- **A generic package-page link** (`archlinux.org/packages`, - `aur.archlinux.org`, `flathub.org`) instead of hardcoded per-repo mirror - URLs, so it stays correct across Arch-based distros. -- **An activity graph.** A small trend line of the pending-update count - across the most recent checks, plus when you last ran an update. Persisted - to disk so it survives restarts. On by default, and turning it off also - stops recording the history, not just hiding it. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `aur_helper` | `select` | `auto` | Which AUR helper to use: auto-detect (yay, then paru), `yay`, `paru`, a custom command, or off. | -| `aur_check_cmd` | `string` | *(empty)* | Custom AUR check command, only used when `aur_helper` is `custom`. Must print `name oldver -> newver` per line. | -| `flatpak_enabled` | `bool` | `true` | Also check and update Flatpak. Skipped automatically when `flatpak` isn't installed. | -| `ignore_packages` | `string_list` | *(empty)* | Package names excluded from the count and passed as `--ignore` on update. | -| `auto_check_hours` | `int` | `0` | Check automatically every N hours. `0` never checks on its own. | -| `notify_on_updates` | `bool` | `true` | Send a desktop notification when a check finds packages to upgrade. | -| `show_download_size` | `bool` | `true` | Show the estimated pacman download size (`pacman -Si`) in the panel. | -| `check_arch_news` | `bool` | `true` | Check the Arch Linux news feed and flag unread posts. | -| `check_reboot_needed` | `bool` | `true` | Flag when the running kernel is no longer installed on disk. | -| `show_activity_graph` | `bool` | `true` | Track and show the pending-update trend and last-update time in the panel. Off also stops recording history. | -| `activity_history_length` | `int` | `10` | How many of the most recent checks to keep for the activity graph. | -| `terminal` | `string` | *(empty)* | Terminal command for the update run, e.g. `kitty`. Empty uses Noctalia's detection. | -| `assume_yes` | `bool` | `false` | Pass `--noconfirm` / `-y` so package managers do not ask for confirmation. | -| `update_cmd` | `string` | *(empty)* | Full override for the update command. Empty builds it from the settings above. | -| `glyph` | `glyph` | `package` | The glyph shown for the widget on the bar. | -| `show_count` | `bool` | `true` | Show the pending-update count next to the bar glyph. | -| `hide_on_empty` | `bool` | `false` | Hide the widget entirely when there is nothing to show. | - -## IPC - -```sh -noctalia msg plugin yuuto/arch-updater:service all check -noctalia msg plugin yuuto/arch-updater:service all update -noctalia msg plugin yuuto/arch-updater:service all dismiss -``` - -## Notes - -- **Commands spawned.** `checkupdates`; the configured AUR helper's `-Qua` - (or your custom command); `flatpak list` / `flatpak remote-ls --updates`; - `pacman -Si` for the download size (piped through `awk` to sum it); a local - `test -d` against `uname -r` for the reboot check; and, for the update, - your terminal running `sh` to launch `sudo pacman`/the AUR helper, - optionally `flatpak update` (filtered through `awk` when packages are - ignored, using `sed` to combine the Flatpak listings during the check). No - upgrade command runs outside the terminal. -- **Network.** `checkupdates`, the AUR helper and the Flatpak check contact - mirrors, the AUR RPC, or a Flatpak remote, same as the corresponding - upgrade would. The Arch news check fetches `archlinux.org/feeds/news/` on - its own schedule, independent of a manual check. -- **Privileges.** The plugin never elevates anything itself. Plain pacman - updates run via `sudo pacman -Syu` in the terminal, where `sudo` prompts - normally. An AUR helper handles its own privilege escalation as usual. -- **Files.** One small file in the plugin's data directory tracks the last - Arch news post you've read, so unread counts survive a restart. Nothing - else is written; `pacman.conf` is never modified. -- **Sizes are pacman-only.** AUR and Flatpak downloads aren't sized. Most AUR - packages build from source, where a download size wouldn't mean much. - -## Credits - -Ported from the v4 QML "Arch Updater" plugin (MIT), rebuilt for v5's Luau -plugin API with a different feature set. See **Extras** above. - -## License - -MIT. diff --git a/arch-updater/launcher.luau b/arch-updater/launcher.luau deleted file mode 100644 index 5867c96..0000000 --- a/arch-updater/launcher.luau +++ /dev/null @@ -1,103 +0,0 @@ ---!nonstrict --- arch-updater launcher provider, under the `/arch` prefix. --- --- Empty query shows the three quick actions. Any other text is fuzzy-matched --- against the pending packages from the last check, read straight from the --- shared "arch_state" the engine publishes. Activating a package opens its --- page, same as the panel's "open" button on a package row. - -local STATE_KEY = "arch_state" -local REQUEST_KEY = "arch_request" - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function request(action) - local prev = noctalia.state.get(REQUEST_KEY) - local nonce = (type(prev) == "table" and tonumber(prev.nonce) or 0) + 1 - noctalia.state.set(REQUEST_KEY, { nonce = nonce, action = action }) -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function openUrl(url) - if noctalia.commandExists("xdg-open") then - noctalia.runAsync("xdg-open " .. shellQuote(url) .. " >/dev/null 2>&1") - end -end - -local SOURCE_GLYPH = { pacman = "package", aur = "box", flatpak = "app-window" } - -local function packageUrl(sourceKey, name) - if sourceKey == "pacman" then - return "https://archlinux.org/packages/?q=" .. noctalia.string.urlEncode(name) - elseif sourceKey == "aur" then - return "https://aur.archlinux.org/packages/" .. noctalia.string.urlEncode(name) - end - return "https://flathub.org/apps/" .. noctalia.string.urlEncode(name) -end - -local function commandResults() - return { - { id = "cmd-check", title = tr("action_check"), subtitle = tr("launcher.check_subtitle"), glyph = "refresh" }, - { id = "cmd-update", title = tr("action_update"), subtitle = tr("launcher.update_subtitle"), glyph = "download" }, - { id = "cmd-news", title = tr("action_open_news"), subtitle = tr("launcher.news_subtitle"), glyph = "news" }, - } -end - -local function packageResults(query) - local state = noctalia.state.get(STATE_KEY) - if type(state) ~= "table" then - return {} - end - - local results = {} - local sourceList = { { key = "pacman", entry = state.pacman }, { key = "aur", entry = state.aur }, { key = "flatpak", entry = state.flatpak } } - for _, source in ipairs(sourceList) do - local items = type(source.entry) == "table" and source.entry.items or nil - if type(items) == "table" then - for _, item in ipairs(items) do - local score = noctalia.fuzzyScore(query, item.name) - if score ~= nil then - local subtitle = (item.from ~= nil and item.from ~= "" and item.to ~= nil and item.to ~= "") - and (item.from .. " → " .. item.to) - or tr("source." .. source.key) - table.insert(results, { - id = "pkg-" .. source.key .. "-" .. item.name, - title = item.name, - subtitle = subtitle, - glyph = SOURCE_GLYPH[source.key] or "package", - score = score, - }) - end - end - end - end - return results -end - -function onQuery(query) - if query == "" then - launcher.setResults(query, commandResults()) - return - end - launcher.setResults(query, packageResults(query)) -end - -function onActivate(id) - if id == "cmd-check" then - request("check") - elseif id == "cmd-update" then - request("update") - elseif id == "cmd-news" then - request("open_news") - else - local sourceKey, name = id:match("^pkg%-([a-z]+)%-(.+)$") - if sourceKey ~= nil and name ~= nil then - openUrl(packageUrl(sourceKey, name)) - end - end -end diff --git a/arch-updater/panel.luau b/arch-updater/panel.luau deleted file mode 100644 index befcc3d..0000000 --- a/arch-updater/panel.luau +++ /dev/null @@ -1,619 +0,0 @@ ---!nonstrict --- arch-updater update panel. Pure renderer over the shared state: the engine --- (service.luau) publishes "arch_state" and performs the "arch_request" --- actions this panel emits, so closing the panel never interrupts a check or --- a run in progress. --- --- "Check Updates" only queries pacman, the AUR helper and (optionally) --- Flatpak. Only then do "Update" (open a terminal and run the upgrade) and --- "Dismiss" (clear the pending list and close the panel) light up. - -local STATE_KEY = "arch_state" -local REQUEST_KEY = "arch_request" - -local snapshot = nil -local expanded = {} -- source key -> the package list is open -local hoverKey = nil -- package row currently under the pointer -local hoverText = "" -- what the detail line shows -local activityHoverIndex = nil -- activity graph point currently under the pointer -local listOpen = false -- at least one source is expanded this render - -local render - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function request(action) - local prev = noctalia.state.get(REQUEST_KEY) - local nonce = (type(prev) == "table" and tonumber(prev.nonce) or 0) + 1 - noctalia.state.set(REQUEST_KEY, { nonce = nonce, action = action }) -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function openUrl(url) - if not noctalia.commandExists("xdg-open") then - noctalia.notifyError(tr("title"), tr("err_no_xdg_open")) - return - end - noctalia.runAsync("xdg-open " .. shellQuote(url) .. " >/dev/null 2>&1") -end - --- Opens a generic Arch package search instead of a per-repo mirror URL, so --- it stays correct across Arch-based distros. -local function openPackage(sourceKey, name) - if sourceKey == "pacman" then - openUrl("https://archlinux.org/packages/?q=" .. noctalia.string.urlEncode(name)) - elseif sourceKey == "aur" then - openUrl("https://aur.archlinux.org/packages/" .. noctalia.string.urlEncode(name)) - elseif sourceKey == "flatpak" then - openUrl("https://flathub.org/apps/" .. noctalia.string.urlEncode(name)) - end -end - -local function detailFor(item) - local from = item.from ~= nil and item.from or "" - local to = item.to ~= nil and item.to or "" - if to == "" then - return item.name - end - if from == "" then - return item.name .. " → " .. to - end - return item.name .. " " .. from .. " → " .. to -end - -local function phaseOf() - return snapshot ~= nil and snapshot.phase or "idle" -end - -local function totalOf() - return snapshot ~= nil and tonumber(snapshot.total) or 0 -end - -local function busy() - local phase = phaseOf() - return phase == "checking" or phase == "running" -end - --- Only "checking" blocks a new check: "running" still allows one, since it --- doubles as a manual unstick if the update's process-poll heuristic ever --- misses the terminal finishing. -local function checking() - return phaseOf() == "checking" -end - -local function headline() - local phase = phaseOf() - if phase == "missing" then - return tr("status_missing"), "error" - elseif phase == "error" then - return (snapshot ~= nil and snapshot.err) or tr("status_error"), "error" - elseif phase == "checking" then - local step = snapshot.step - if step ~= nil and step ~= "" then - return tr("status_checking_step", { step = step }), "secondary" - end - return tr("status_checking"), "secondary" - elseif phase == "running" then - return tr("status_running"), "secondary" - elseif phase == "clean" then - return tr("status_clean"), "on_surface" - elseif phase == "ready" then - return noctalia.trp("status_ready", totalOf(), {}), "primary" - end - return tr("status_idle"), "on_surface_variant" -end - -local VERSION_WIDTH = 78 - -local function sourceLabel(key, entry) - if key == "aur" and type(entry.helper) == "string" and entry.helper ~= "" then - return tr("source.aur_named", { helper = entry.helper }) - end - return tr("source." .. key) -end - -local SOURCE_GLYPHS = { pacman = "package", aur = "cloud", flatpak = "app-window" } - -local function sourceGlyph(key) - return SOURCE_GLYPHS[key] or "package" -end - --- pacman, then the AUR helper, then Flatpak. Only sources with pending --- packages, biggest first. -local function orderedSources() - if snapshot == nil then - return {} - end - local candidates = { - { key = "pacman", entry = snapshot.pacman }, - { key = "aur", entry = snapshot.aur }, - { key = "flatpak", entry = snapshot.flatpak }, - } - local pending = {} - for _, candidate in ipairs(candidates) do - if type(candidate.entry) == "table" and (candidate.entry.n or 0) > 0 then - table.insert(pending, candidate) - end - end - table.sort(pending, function(a, b) - return a.entry.n > b.entry.n - end) - return pending -end - -local function cleanSources() - if snapshot == nil then - return {} - end - local names = {} - local candidates = { { key = "pacman", entry = snapshot.pacman }, { key = "flatpak", entry = snapshot.flatpak } } - if snapshot.aur ~= nil and (snapshot.aur.n or 0) == 0 and noctalia.getConfig("aur_helper") ~= "off" then - table.insert(candidates, { key = "aur", entry = snapshot.aur }) - end - for _, candidate in ipairs(candidates) do - if type(candidate.entry) == "table" and (candidate.entry.n or 0) == 0 then - table.insert(names, sourceLabel(candidate.key, candidate.entry)) - end - end - return names -end - -local function packageRow(sourceKey, index, item) - local key = "pkg-" .. sourceKey .. "-" .. index - local children = { - ui.label({ text = item.name, fontSize = 11, color = "on_surface", flexGrow = 1, maxLines = 1 }), - } - local from = item.from ~= nil and item.from or "" - local to = item.to ~= nil and item.to or "" - if to ~= "" then - if from ~= "" then - table.insert(children, ui.label({ - text = from, fontSize = 11, color = "on_surface_variant", maxWidth = VERSION_WIDTH, maxLines = 1, - })) - end - table.insert(children, ui.label({ text = "→", fontSize = 11, color = "on_surface_variant" })) - table.insert(children, ui.label({ - text = to, fontSize = 11, color = "primary", fontWeight = "semibold", maxWidth = VERSION_WIDTH, maxLines = 1, - })) - end - table.insert(children, ui.button({ - glyph = "copy", variant = "ghost", controlSize = "sm", width = 22, height = 22, glyphSize = 12, - tooltip = tr("tip_copy"), - onClick = function() - noctalia.copyToClipboard(detailFor(item), "text/plain") - end, - })) - table.insert(children, ui.button({ - glyph = "external-link", variant = "ghost", controlSize = "sm", width = 22, height = 22, glyphSize = 12, - tooltip = tr("tip_open_page"), - onClick = function() - openPackage(sourceKey, item.name) - end, - })) - return ui.row({ - key = key, - paddingH = 18, - gap = 4, - align = "center", - onHover = function(state) - if state == "true" then - hoverKey = key - hoverText = detailFor(item) - elseif hoverKey == key then - hoverKey = nil - hoverText = "" - else - return - end - render() - end, - }, children) -end - -local function sourceRows() - local rows = {} - for _, source in ipairs(orderedSources()) do - local names = type(source.entry.items) == "table" and source.entry.items or {} - local open = expanded[source.key] == true and #names > 0 - listOpen = listOpen or open - local header = { gap = 8, align = "center", key = "src-" .. source.key .. (open and "-open" or "") } - if #names > 0 then - local sourceKey = source.key - header.onClick = function() - expanded[sourceKey] = not expanded[sourceKey] - hoverKey = nil - hoverText = "" - render() - end - end - table.insert(rows, ui.row(header, { - ui.glyph({ name = #names == 0 and "point" or (open and "chevron-down" or "chevron-right"), size = 12, color = "on_surface_variant" }), - ui.glyph({ name = sourceGlyph(source.key), size = 13, color = "on_surface_variant" }), - ui.label({ text = sourceLabel(source.key, source.entry), color = "on_surface", flexGrow = 1 }), - ui.label({ text = tostring(source.entry.n), color = "primary", fontWeight = "bold" }), - })) - - if open then - for index, item in ipairs(names) do - table.insert(rows, packageRow(source.key, index, item)) - end - if source.entry.n > #names then - table.insert(rows, ui.row({ key = "more-" .. source.key, paddingH = 18 }, { - ui.label({ text = tr("more_packages", { count = source.entry.n - #names }), fontSize = 11, color = "on_surface_variant" }), - })) - end - end - end - return rows -end - --- Download size, reboot recommendation and Arch news. Each is its own line, --- so turning one off in settings just removes that line. -local function extras() - local lines = {} - if snapshot == nil then - return lines - end - - if type(snapshot.downloadSizeMiB) == "number" then - local size = snapshot.downloadSizeMiB - local text = size >= 1024 and tr("size_gib", { value = string.format("%.2f", size / 1024) }) - or tr("size_mib", { value = string.format("%.1f", size) }) - table.insert(lines, ui.row({ key = "size", gap = 6, align = "center" }, { - ui.glyph({ name = "download", size = 13, color = "on_surface_variant" }), - ui.label({ text = text, fontSize = 12, color = "on_surface_variant" }), - })) - end - - if snapshot.rebootRecommended == true then - table.insert(lines, ui.row({ key = "reboot", gap = 6, align = "center" }, { - ui.glyph({ name = "alert-triangle", size = 13, color = "warning" }), - ui.label({ text = tr("reboot_recommended"), fontSize = 12, color = "warning", flexGrow = 1 }), - })) - end - - if (snapshot.newsUnread or 0) > 0 then - table.insert(lines, ui.row({ key = "news", gap = 6, align = "center" }, { - ui.glyph({ name = "news", size = 13, color = "on_surface" }), - ui.label({ - text = noctalia.trp("news_unread", snapshot.newsUnread, { title = snapshot.newsLatestTitle or "" }), - fontSize = 12, - color = "on_surface", - flexGrow = 1, - maxLines = 2, - }), - ui.button({ - text = tr("action_open_news"), variant = "ghost", controlSize = "sm", - onClick = function() - request("open_news") - end, - }), - })) - end - - return lines -end - --- Normalizes the pending-count history to 0..1 for ui.graph, relative to the --- min/max in the window (not a fixed scale, since pending counts vary wildly --- between systems). A flat window (min == max, e.g. every check so far found --- the same count) centers the line at 0.5 instead of pinning it to the top --- edge, where it would be indistinguishable from the box border. -local function activityValues(history) - local minN, maxN = tonumber(history[1].n) or 0, tonumber(history[1].n) or 0 - for _, entry in ipairs(history) do - local n = tonumber(entry.n) or 0 - if n < minN then - minN = n - end - if n > maxN then - maxN = n - end - end - local range = maxN - minN - local values = {} - for _, entry in ipairs(history) do - local n = tonumber(entry.n) or 0 - table.insert(values, range > 0 and (n - minN) / range or 0.5) - end - return values -end - -local ACTIVITY_GRAPH_SUBDIVISIONS = 8 - -local function upsampleLinear(values, subdivisions) - if #values < 2 or subdivisions <= 1 then - return values - end - local out = {} - for i = 1, #values - 1 do - local a, b = values[i], values[i + 1] - for s = 0, subdivisions - 1 do - table.insert(out, a + (b - a) * (s / subdivisions)) - end - end - table.insert(out, values[#values]) - return out -end - -local function padGraphLookbehind(values) - if #values == 0 then - return values - end - local out = { values[1], values[1] } - for _, v in ipairs(values) do - table.insert(out, v) - end - return out -end - --- "2 hours ago", "3 days ago", etc. nil for entries migrated from the old --- history format, which never recorded a timestamp. -local function relativeTime(at) - local t = tonumber(at) - if t == nil then - return nil - end - local diff = os.time() - t - if diff < 60 then - return tr("activity.just_now") - elseif diff < 3600 then - local m = math.floor(diff / 60) - return noctalia.trp("activity.minutes_ago", m, { count = m }) - elseif diff < 86400 then - local h = math.floor(diff / 3600) - return noctalia.trp("activity.hours_ago", h, { count = h }) - else - local d = math.floor(diff / 86400) - return noctalia.trp("activity.days_ago", d, { count = d }) - end -end - --- "Updated · 2 hours ago" for the check that verified an update run, else --- "3 pending updates · 2 hours ago". Shared by the hover tooltip and the --- top-right caption so both describe a point the same way. -local function describeEntry(entry) - local n = tonumber(entry.n) or 0 - local text = entry.afterUpdate == true and tr("activity.updated") - or noctalia.trp("activity.pending_at", n, { count = n }) - local when = relativeTime(entry.at) - if when ~= nil then - text = text .. " · " .. when - end - return text -end - --- ui.graph takes no pointer props of its own (only row/column/box/image/button --- do), so per-point hover is a row of hit targets placed right under the --- line. Each is a ghost button so it can carry a native tooltip at the --- pointer, not just a box for the hit test. It cannot highlight the point on --- the line itself, only drive the tooltip and the caption above it. --- --- Real points sit at (k-1)/(#history-1) of the width (see --- padGraphLookbehind), i.e. #history-1 equal gaps, not #history equal slots --- - so this builds one equal-width segment per gap rather than per entry, --- ending each segment exactly on the point at its right edge. That leaves --- entry 1 (at the left edge, with no gap before it) without its own hover --- zone, but keeps every other spike landing right at the end of its segment --- instead of drifting toward the start of an oversized one. -local function activityHoverRow(history) - local segments = {} - for i = 2, #history do - segments[i - 1] = ui.button({ - key = "activity-hit-" .. i, - variant = "ghost", - flexGrow = 1, - height = 12, - tooltip = describeEntry(history[i]), - onHover = function(state) - if state == "true" then - activityHoverIndex = i - elseif activityHoverIndex == i then - activityHoverIndex = nil - else - return - end - render() - end, - }) - end - return ui.row({ key = "activity-hits", gap = 1 }, segments) -end - --- A small trend graph of pending-update counts across recent checks, plus --- when the last update ran (or, while hovering a point, that point's own --- description). Off entirely when show_activity_graph is off, and hidden --- until there is enough history to draw a line. -local function activitySection() - if snapshot == nil or noctalia.getConfig("show_activity_graph") ~= true then - return nil - end - local history = type(snapshot.history) == "table" and snapshot.history or {} - if #history < 2 then - return nil - end - - local hoveredEntry = activityHoverIndex ~= nil and history[activityHoverIndex] or nil - local caption - if hoveredEntry ~= nil then - caption = describeEntry(hoveredEntry) - else - local lastUpdateAt = tonumber(snapshot.lastUpdateAt) - if lastUpdateAt == nil then - caption = tr("activity.never_updated") - else - local days = math.floor((os.time() - lastUpdateAt) / 86400) - caption = days <= 0 and tr("activity.updated_today") - or noctalia.trp("activity.updated_days_ago", days, { count = days }) - end - end - - return ui.column({ key = "activity", gap = 4 }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = tr("activity.title"), fontSize = 11, fontWeight = "bold", color = "on_surface_variant" }), - ui.label({ text = caption, fontSize = 10, color = "on_surface_variant" }), - }), - ui.graph({ - values = padGraphLookbehind(upsampleLinear(activityValues(history), ACTIVITY_GRAPH_SUBDIVISIONS)), - color = "primary", - fillOpacity = 0.15, - lineWidth = 2, - height = 36, - }), - activityHoverRow(history), - }) -end - -local function body() - local children = {} - - local rows = sourceRows() - if #rows > 0 then - table.insert(children, ui.scroll({ key = "sources", flexGrow = 1, gap = 3 }, rows)) - else - table.insert(children, ui.spacer({ key = "filler", flexGrow = 1 })) - end - - if listOpen then - table.insert(children, ui.label({ - key = "hover-detail", - text = hoverText ~= "" and hoverText or tr("hover_hint"), - fontSize = 11, - color = hoverText ~= "" and "on_surface" or "on_surface_variant", - maxLines = 1, - })) - end - - for _, line in ipairs(extras()) do - table.insert(children, line) - end - - local clean = cleanSources() - if #clean > 0 then - table.insert(children, ui.label({ - text = tr("up_to_date", { sources = table.concat(clean, ", ") }), - fontSize = 11, - color = "on_surface_variant", - maxLines = 2, - })) - end - - local activity = activitySection() - if activity ~= nil then - table.insert(children, activity) - end - - return children -end - -local function footerCaption() - if snapshot == nil or snapshot.checkedAt == nil or snapshot.checkedAt == "" then - return nil - end - local parts = { tr("caption_checked", { time = snapshot.checkedAt }) } - local ignored = tonumber(snapshot.ignoredCount) or 0 - if ignored > 0 then - table.insert(parts, noctalia.trp("caption_ignored", ignored, {})) - end - return table.concat(parts, " · ") -end - -render = function() - listOpen = false - - local text, color = headline() - local phase = phaseOf() - local hasUpdates = totalOf() > 0 and (phase == "ready" or phase == "running") - - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.label({ text = tr("title"), fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ - key = "header-check" .. (checking() and "-off" or ""), - glyph = "refresh", - variant = "ghost", - enabled = not checking() and phase ~= "missing", - tooltip = tr("tip_check"), - onClick = function() - request("check") - end, - }), - ui.button({ - glyph = "close", variant = "ghost", tooltip = tr("tip_close"), - onClick = function() - panel.close() - end, - }), - }), - ui.label({ text = text, color = color, maxLines = 2 }), - } - - for _, node in ipairs(body()) do - table.insert(children, node) - end - - local caption = footerCaption() - if caption ~= nil then - table.insert(children, ui.separator({})) - table.insert(children, ui.label({ text = caption, fontSize = 11, color = "on_surface_variant", maxLines = 2 })) - end - - if phase ~= "missing" then - table.insert(children, ui.row({ gap = 8, align = "center" }, { - ui.button({ - key = "check" .. (checking() and "-off" or ""), - glyph = "refresh", text = tr("action_check"), variant = "ghost", enabled = not checking(), flexGrow = 1, - onClick = function() - request("check") - end, - }), - ui.button({ - key = "dismiss" .. (hasUpdates and "" or "-off"), - text = tr("action_dismiss"), variant = "ghost", enabled = hasUpdates, - onClick = function() - request("dismiss") - panel.close() - end, - }), - ui.button({ - key = "update" .. (hasUpdates and not busy() and "" or "-off"), - glyph = "download", text = tr("action_update"), variant = "primary", enabled = hasUpdates and not busy(), - tooltip = tr("tip_update"), - onClick = function() - request("update") - panel.close() - end, - }), - })) - end - - panel.render(ui.column({ flexGrow = 1, gap = 10, align = "stretch" }, children)) -end - -function onOpen(_context) - snapshot = noctalia.state.get(STATE_KEY) - expanded = {} - hoverKey = nil - hoverText = "" - activityHoverIndex = nil - render() -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) ~= "table" then - return - end - if value.phase == "checking" and (snapshot == nil or snapshot.phase ~= "checking") then - expanded = {} - hoverKey = nil - hoverText = "" - activityHoverIndex = nil - end - snapshot = value - render() -end) diff --git a/arch-updater/plugin.toml b/arch-updater/plugin.toml deleted file mode 100644 index c78fec1..0000000 --- a/arch-updater/plugin.toml +++ /dev/null @@ -1,176 +0,0 @@ -id = "yuuto/arch-updater" -name = "Arch Updater" -version = "1.1.0" -plugin_api = 9 -author = "yuuto" -license = "MIT" -icon = "package" -description = "Check pacman, AUR and Flatpak updates, get an Arch news and reboot heads-up, then upgrade from a terminal." -dependencies = ["pacman-contrib", "awk", "flatpak", "pacman", "paru", "sed", "sh", "sudo", "test", "uname", "xdg-open", "yay"] -tags = ["arch", "bar", "panel", "launcher", "system", "utility"] - -# ── General ────────────────────────────────────────────────────────────────── - -[[setting]] -key = "aur_helper" -type = "select" -label_key = "settings.aur_helper.label" -description_key = "settings.aur_helper.description" -default = "auto" -options = [ - { value = "auto", label_key = "settings.aur_helper.options.auto" }, - { value = "yay", label_key = "settings.aur_helper.options.yay" }, - { value = "paru", label_key = "settings.aur_helper.options.paru" }, - { value = "custom", label_key = "settings.aur_helper.options.custom" }, - { value = "off", label_key = "settings.aur_helper.options.off" }, -] - -[[setting]] -key = "aur_check_cmd" -type = "string" -label_key = "settings.aur_check_cmd.label" -description_key = "settings.aur_check_cmd.description" -default = "" -visible_when = { key = "aur_helper", values = ["custom"] } - -[[setting]] -key = "flatpak_enabled" -type = "bool" -label_key = "settings.flatpak_enabled.label" -description_key = "settings.flatpak_enabled.description" -default = true - -[[setting]] -key = "ignore_packages" -type = "string_list" -label_key = "settings.ignore_packages.label" -description_key = "settings.ignore_packages.description" -default = [] - -[[setting]] -key = "auto_check_hours" -type = "int" -label_key = "settings.auto_check_hours.label" -description_key = "settings.auto_check_hours.description" -default = 0 -min = 0 -max = 168 - -[[setting]] -key = "notify_on_updates" -type = "bool" -label_key = "settings.notify_on_updates.label" -description_key = "settings.notify_on_updates.description" -default = true - -# ── Extras (not in the v4 plugin) ─────────────────────────────────────────── - -[[setting]] -key = "show_download_size" -type = "bool" -label_key = "settings.show_download_size.label" -description_key = "settings.show_download_size.description" -default = true - -[[setting]] -key = "check_arch_news" -type = "bool" -label_key = "settings.check_arch_news.label" -description_key = "settings.check_arch_news.description" -default = true - -[[setting]] -key = "check_reboot_needed" -type = "bool" -label_key = "settings.check_reboot_needed.label" -description_key = "settings.check_reboot_needed.description" -default = true - -# ── Activity ───────────────────────────────────────────────────────────────── - -[[setting]] -key = "show_activity_graph" -type = "bool" -label_key = "settings.show_activity_graph.label" -description_key = "settings.show_activity_graph.description" -default = true - -[[setting]] -key = "activity_history_length" -type = "int" -label_key = "settings.activity_history_length.label" -description_key = "settings.activity_history_length.description" -default = 10 -min = 3 -max = 30 -visible_when = { key = "show_activity_graph", values = ["true"] } - -# ── Update run ─────────────────────────────────────────────────────────────── - -[[setting]] -key = "terminal" -type = "string" -label_key = "settings.terminal.label" -description_key = "settings.terminal.description" -default = "" - -[[setting]] -key = "assume_yes" -type = "bool" -label_key = "settings.assume_yes.label" -description_key = "settings.assume_yes.description" -default = false -advanced = true - -[[setting]] -key = "update_cmd" -type = "string" -label_key = "settings.update_cmd.label" -description_key = "settings.update_cmd.description" -default = "" -advanced = true - -[[service]] -id = "service" -entry = "service.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 420 -height = 540 -placement = "attached" -position = "auto" -open_near_click = true - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "package" - - [[widget.setting]] - key = "show_count" - type = "bool" - label_key = "settings.show_count.label" - description_key = "settings.show_count.description" - default = true - - [[widget.setting]] - key = "hide_on_empty" - type = "bool" - label_key = "settings.hide_on_empty.label" - description_key = "settings.hide_on_empty.description" - default = false - -[[launcher_provider]] -id = "launcher" -entry = "launcher.luau" -prefix = "arch" -glyph = "package" -include_in_global_search = false diff --git a/arch-updater/service.luau b/arch-updater/service.luau deleted file mode 100644 index 53064ba..0000000 --- a/arch-updater/service.luau +++ /dev/null @@ -1,850 +0,0 @@ ---!nonstrict --- arch-updater singleton engine. Checks pacman, the AUR helper and Flatpak, --- publishes the result as shared state, and runs the update in a terminal. --- --- state "arch_state" = { nonce, phase, step, total, pacman, aur, --- flatpak, downloadSizeMiB, rebootRecommended, --- newsUnread, newsLatestTitle, err, --- checkedAt, ignoredCount, history, lastUpdateAt } --- requests "arch_request" = { nonce, action } -- check|update|dismiss --- --- Checking runs pacman, then the AUR helper, then Flatpak, then (if pacman --- has pending packages) a `pacman -Si` pass for the download size. --- --- Update never runs in the background. runUpdate() opens a terminal so --- pacman/the AUR helper can prompt and sudo can ask for a password, then --- polls for the process to end and re-checks automatically. - -local STATE_KEY = "arch_state" -local REQUEST_KEY = "arch_request" -local NEWS_FILE = "news_state.json" -local NEWS_URL = "https://archlinux.org/feeds/news/" -local NEWS_PAGE = "https://archlinux.org/news/" -local HISTORY_FILE = "history_state.json" - -local CHECK_TIMEOUT_MS = 45000 -- pacman/AUR/flatpak checks: each may sync a mirror -local SIZE_TIMEOUT_MS = 20000 -- pacman -Si: local db, no mirror sync -local FAST_TIMEOUT_MS = 5000 -- reboot check: local filesystem only -local NEWS_RECHECK_HOURS = 6 -local RUN_POLL_SECONDS = 2 -local RUN_GRACE_SECONDS = 12 -local AUTO_CHECK_DELAY = 10 -- ticks before an enabled auto-check's first run -local MAX_LISTED = 300 -- packages kept per source for the panel's expandable list - -local phase = "idle" -- idle|checking|clean|ready|running|error|missing -local step = "" -- source label being checked (phase == "checking") -local total = 0 -local sources = { pacman = { n = 0, items = {} }, aur = { n = 0, items = {}, helper = "" }, flatpak = { n = 0, items = {} } } -local downloadSizeMiB = nil -local rebootRecommended = false -local newsUnread = 0 -local newsLatestTitle = nil -local newsItems = {} -local newsLastSeenGuid = nil -local errMsg = nil -local checkedAt = "" -local stateNonce = 0 -local lastRequestNonce = 0 - -local runTicks = 0 -local runSeen = false -local runPollTicks = 0 -local updateProcessName = "pacman" -local sinceCheck = 0 -local startupTicks = 0 -local sinceNewsCheck = 0 -local newsStateLoaded = false -local newsDirty = false -local history = {} -- { n, at, afterUpdate } per check, oldest first, trimmed to activity_history_length -local lastUpdateAt = nil -- os.time() of the last update run that finished -local historyStateLoaded = false -local checkIsPostUpdate = false -- next finished check followed an update run - -local startCheck -local checkNews - -local function cfg(key) - return noctalia.getConfig(key) -end - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function trim(value) - return noctalia.string.trim(value or "") -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - --- Package names reach the command line (--ignore, pacman -Si), so only --- pacman's own name grammar is accepted. Anything else is dropped with a log --- line instead of being quoted. -local function ignoreList() - local raw = cfg("ignore_packages") - if type(raw) ~= "table" then - return {} - end - local names = {} - for _, entry in ipairs(raw) do - local name = trim(tostring(entry)) - if name:match("^[a-zA-Z0-9._+-]+$") ~= nil then - table.insert(names, name) - elseif name ~= "" then - noctalia.log("arch-updater: ignoring invalid package name '" .. name .. "'") - end - end - return names -end - -local function ignoreSet() - local set = {} - for _, name in ipairs(ignoreList()) do - set[name] = true - end - return set -end - --- ── Parsing ────────────────────────────────────────────────────────────────── - --- One "name oldver -> newver" line per package: checkupdates' format, which --- yay -Qua and paru -Qua also use. -local function parseVersionLines(output, ignored) - local items = {} - local n = 0 - for line in (output or ""):gmatch("[^\n]+") do - local parts = {} - for token in line:gmatch("%S+") do - table.insert(parts, token) - end - if #parts >= 4 and not ignored[parts[1]] then - n += 1 - if #items < MAX_LISTED then - table.insert(items, { name = parts[1], from = parts[2], to = parts[4] }) - end - end - end - return n, items -end - --- Flatpak has no "name oldver -> newver" line, so the query joins installed --- and pending by application id (tab-separated name/from/to). -local function parseTabLines(output, ignored) - local items = {} - local n = 0 - for line in (output or ""):gmatch("[^\n]+") do - local fields = {} - for field in (line .. "\t"):gmatch("([^\t]*)\t") do - table.insert(fields, field) - end - local name = fields[1] or "" - if name ~= "" and not ignored[name] then - n += 1 - if #items < MAX_LISTED then - table.insert(items, { name = name, from = fields[2] or "", to = fields[3] or "" }) - end - end - end - return n, items -end - --- ── AUR helper resolution ──────────────────────────────────────────────────── - --- auto tries yay then paru. An explicit choice is trusted as-is and reported --- missing instead of falling back to another helper. -local function resolveAurHelper() - local choice = cfg("aur_helper") - if choice == "off" then - return nil - end - if choice == "custom" then - return "custom" - end - if choice == "yay" or choice == "paru" then - return choice - end - if noctalia.commandExists("yay") then - return "yay" - end - if noctalia.commandExists("paru") then - return "paru" - end - return nil -end - -local function aurCheckCommand(helper) - if helper == "custom" then - local raw = trim(cfg("aur_check_cmd")) - return raw ~= "" and raw or nil - end - -- No 2>/dev/null and no formatting pipe here: stderr is inspected below - -- to tell a real failure from the "-Qua" family's usual no-updates exit - -- code, and the raw output already matches checkupdates' own format. - return helper .. " -Qua" -end - --- ── Publishing ─────────────────────────────────────────────────────────────── - -local function publish() - stateNonce += 1 - noctalia.state.set(STATE_KEY, { - nonce = stateNonce, - phase = phase, - step = step, - total = total, - pacman = sources.pacman, - aur = sources.aur, - flatpak = sources.flatpak, - downloadSizeMiB = downloadSizeMiB, - rebootRecommended = rebootRecommended, - newsUnread = newsUnread, - newsLatestTitle = newsLatestTitle, - err = errMsg, - checkedAt = checkedAt, - ignoredCount = #ignoreList(), - history = history, - lastUpdateAt = lastUpdateAt, - flatpakEnabled = cfg("flatpak_enabled") == true, - }) -end - --- ── Checking pipeline: pacman → AUR → Flatpak → size → reboot → done ──────── - -local checkFlatpak -local checkSize -local checkReboot -local finishCheck -local recordCheck - -local function failCheck(message) - phase = "error" - errMsg = message - publish() -end - -checkReboot = function() - if cfg("check_reboot_needed") ~= true then - rebootRecommended = false - finishCheck() - return - end - -- A kernel upgrade replaces the whole /usr/lib/modules/ tree. - -- Once the running kernel's own directory is gone, a reboot is what - -- switches to the new one. Works for any kernel flavour since it checks - -- against `uname -r` directly, without naming one. - local started = noctalia.runAsync( - [[test -d "/usr/lib/modules/$(uname -r)" && echo present || echo missing]], - function(result) - rebootRecommended = trim(result.stdout or "") == "missing" - finishCheck() - end, - FAST_TIMEOUT_MS - ) - if not started then - rebootRecommended = false - finishCheck() - end -end - -checkSize = function() - if cfg("show_download_size") ~= true or sources.pacman.n == 0 then - downloadSizeMiB = nil - checkReboot() - return - end - local names = {} - for _, item in ipairs(sources.pacman.items) do - table.insert(names, shellQuote(item.name)) - end - if #names == 0 then - -- More pending than MAX_LISTED kept a name for, so the size would - -- under-count. Left unknown instead of wrong. - downloadSizeMiB = nil - checkReboot() - return - end - local cmd = "LC_ALL=C pacman -Si " .. table.concat(names, " ") .. [[ 2>/dev/null | awk ' -/^Name/ { name=$3 } -/^Download Size/ && !(name in done) { - done[name]=1 - v=$4; u=$5 - gsub(",", ".", v) - if (u == "GiB") v = v * 1024 - else if (u == "KiB") v = v / 1024 - else if (u == "B") v = v / 1024 / 1024 - sum += v -} -END { printf "%.2f", sum }']] - local started = noctalia.runAsync(cmd, function(result) - local value = tonumber(trim(result.stdout or "")) - downloadSizeMiB = (not result.timedOut and result.exitCode == 0 and value ~= nil) and value or nil - checkReboot() - end, SIZE_TIMEOUT_MS) - if not started then - downloadSizeMiB = nil - checkReboot() - end -end - -checkFlatpak = function(ignored) - if cfg("flatpak_enabled") ~= true or not noctalia.commandExists("flatpak") then - sources.flatpak = { n = 0, items = {} } - checkSize() - return - end - step = tr("source.flatpak") - publish() - -- Flatpak tracks commits, so a version string often doesn't move across - -- an update. Short commits stand in when it doesn't, joined by - -- application id in one awk pass. - -- Each call's own output and exit code are captured before piping into - -- awk, so a real flatpak failure (e.g. no remote, network down) fails - -- the whole command instead of awk quietly succeeding on empty input. - local cmd = [[ -listOut=$(flatpak list --columns=application,version,active 2>/dev/null); listCode=$? -updOut=$(flatpak remote-ls --updates --columns=application,version,commit 2>/dev/null); updCode=$? -if [ "$listCode" -ne 0 ] || [ "$updCode" -ne 0 ]; then - exit 1 -fi -{ printf '%s\n' "$listOut" | sed 's/^/L /' - printf '%s\n' "$updOut" | sed 's/^/R /' -} | awk -F'\t' ' -{ tag=substr($1,1,1); app=substr($1,3) } -tag=="L" { v[app]=$2; c[app]=$3 } -tag=="R" { from=v[app]; to=$2 - if (from=="" || to=="" || from==to) { from=substr(c[app],1,7); to=substr($3,1,7) } - print app"\t"from"\t"to }']] - local started = noctalia.runAsync(cmd, function(result) - if result.timedOut then - sources.flatpak = { n = 0, items = {} } - checkSize() - return - end - if result.exitCode ~= 0 then - noctalia.log("arch-updater: flatpak check failed (exit " .. tostring(result.exitCode) .. ")") - failCheck(tr("err_flatpak_failed")) - return - end - local n, items = parseTabLines(result.stdout, ignored) - sources.flatpak = { n = n, items = items } - checkSize() - end, CHECK_TIMEOUT_MS) - if not started then - sources.flatpak = { n = 0, items = {} } - checkSize() - end -end - -local function checkAur(ignored) - local helper = resolveAurHelper() - if helper == nil then - sources.aur = { n = 0, items = {}, helper = "" } - checkFlatpak(ignored) - return - end - if helper ~= "custom" and not noctalia.commandExists(helper) then - sources.aur = { n = 0, items = {}, helper = "" } - checkFlatpak(ignored) - return - end - local cmd = aurCheckCommand(helper) - if cmd == nil then - sources.aur = { n = 0, items = {}, helper = "" } - checkFlatpak(ignored) - return - end - step = helper == "custom" and tr("source.aur") or tr("source.aur_named", { helper = helper }) - publish() - local started = noctalia.runAsync(cmd, function(result) - if result.timedOut then - sources.aur = { n = 0, items = {}, helper = "" } - checkFlatpak(ignored) - return - end - -- "-Qua" (like plain pacman -Qu) exits non-zero for "nothing to - -- upgrade" too, so exit code alone can't tell that apart from a real - -- failure. A real failure prints something to stderr; "no updates" - -- doesn't. - if result.exitCode ~= 0 and trim(result.stderr or "") ~= "" then - noctalia.log("arch-updater: " .. helper .. " -Qua failed: " .. trim(result.stderr)) - failCheck(tr("err_aur_failed")) - return - end - local n, items = parseVersionLines(result.stdout, ignored) - sources.aur = { n = n, items = items, helper = helper == "custom" and "" or helper } - checkFlatpak(ignored) - end, CHECK_TIMEOUT_MS) - if not started then - sources.aur = { n = 0, items = {}, helper = "" } - checkFlatpak(ignored) - end -end - -startCheck = function() - if phase == "checking" then - return - end - if not noctalia.commandExists("checkupdates") then - phase = "missing" - errMsg = tr("err_no_checkupdates") - publish() - return - end - - phase = "checking" - errMsg = nil - sources = { pacman = { n = 0, items = {} }, aur = { n = 0, items = {}, helper = "" }, flatpak = { n = 0, items = {} } } - downloadSizeMiB = nil - step = tr("source.pacman") - publish() - - local ignored = ignoreSet() - -- checkupdates exits 2 for "no updates" (not an error), 1 for a real - -- failure (mirror/db sync, etc). Normalize the former to 0 so only a - -- genuine failure reaches result.exitCode below. - local cmd = [[checkupdates 2>/dev/null; code=$?; if [ "$code" -eq 2 ]; then exit 0; fi; exit "$code"]] - local started = noctalia.runAsync(cmd, function(result) - if result.timedOut then - failCheck(tr("err_check_timeout")) - return - end - if result.exitCode ~= 0 then - noctalia.log("arch-updater: checkupdates failed (exit " .. tostring(result.exitCode) .. ")") - failCheck(tr("err_check_failed")) - return - end - local n, items = parseVersionLines(result.stdout, ignored) - sources.pacman = { n = n, items = items } - checkAur(ignored) - end, CHECK_TIMEOUT_MS) - - if not started then - failCheck(tr("err_spawn")) - end -end - -finishCheck = function() - total = sources.pacman.n + sources.aur.n + sources.flatpak.n - step = "" - phase = total > 0 and "ready" or "clean" - checkedAt = noctalia.formatTime("%H:%M") - sinceCheck = 0 - recordCheck() - publish() - if total > 0 and cfg("notify_on_updates") == true then - noctalia.notify(tr("title"), noctalia.trp("notify_updates", total, { count = total })) - end -end - --- ── Arch Linux news ────────────────────────────────────────────────────────── - -local function newsStatePath() - local dir, err = noctalia.pluginDataDir() - if dir == nil then - noctalia.log("arch-updater: cannot resolve plugin data dir: " .. tostring(err)) - return nil - end - return dir .. "/" .. NEWS_FILE -end - -local function loadNewsState() - if newsStateLoaded then - return - end - newsStateLoaded = true - local path = newsStatePath() - local encoded = path ~= nil and noctalia.readFile(path) or nil - local ok, decoded = pcall(function() - return encoded ~= nil and noctalia.json.decode(encoded) or nil - end) - if ok and type(decoded) == "table" and type(decoded.lastSeenGuid) == "string" then - newsLastSeenGuid = decoded.lastSeenGuid - end -end - -local function saveNewsState() - local path = newsStatePath() - if path == nil then - return - end - local encoded = noctalia.json.encode({ lastSeenGuid = newsLastSeenGuid }) - if encoded ~= nil then - noctalia.writeFile(path, encoded) - end -end - --- ── Activity history ───────────────────────────────────────────────────────── - -local function historyStatePath() - local dir, err = noctalia.pluginDataDir() - if dir == nil then - noctalia.log("arch-updater: cannot resolve plugin data dir: " .. tostring(err)) - return nil - end - return dir .. "/" .. HISTORY_FILE -end - -local function loadHistoryState() - if historyStateLoaded then - return - end - historyStateLoaded = true - local path = historyStatePath() - local encoded = path ~= nil and noctalia.readFile(path) or nil - local ok, decoded = pcall(function() - return encoded ~= nil and noctalia.json.decode(encoded) or nil - end) - if ok and type(decoded) == "table" then - if type(decoded.history) == "table" then - -- Migrates the old format (a plain array of counts) to entries with - -- a timestamp and an afterUpdate flag, both unknown for old data. - local migrated = {} - for _, entry in ipairs(decoded.history) do - if type(entry) == "table" then - table.insert(migrated, { - n = tonumber(entry.n) or 0, - at = tonumber(entry.at), - afterUpdate = entry.afterUpdate == true, - }) - elseif type(entry) == "number" then - table.insert(migrated, { n = entry, at = nil, afterUpdate = false }) - end - end - history = migrated - end - if type(decoded.lastUpdateAt) == "number" then - lastUpdateAt = decoded.lastUpdateAt - end - end -end - -local function saveHistoryState() - local path = historyStatePath() - if path == nil then - return - end - local encoded = noctalia.json.encode({ history = history, lastUpdateAt = lastUpdateAt }) - if encoded ~= nil then - noctalia.writeFile(path, encoded) - end -end - --- Appends the current total to the activity history, trimmed to the --- configured length. A no-op when the graph is turned off, so disabling it --- also stops collecting data, not just hides it. -recordCheck = function() - local wasPostUpdate = checkIsPostUpdate - checkIsPostUpdate = false - if cfg("show_activity_graph") ~= true then - return - end - loadHistoryState() - table.insert(history, { n = total, at = os.time(), afterUpdate = wasPostUpdate }) - local maxLen = math.max(3, math.min(30, tonumber(cfg("activity_history_length")) or 10)) - while #history > maxLen do - table.remove(history, 1) - end - saveHistoryState() -end - --- Marks the check that follows as the one that verifies an update run, so its --- history entry can say "Updated" instead of just a pending count. -local function recordUpdateRun() - checkIsPostUpdate = true - if cfg("show_activity_graph") ~= true then - return - end - loadHistoryState() - lastUpdateAt = os.time() - saveHistoryState() -end - -local HTML_ENTITIES = { - ["<"] = "<", - [">"] = ">", - ["""] = '"', - ["'"] = "'", - ["'"] = "'", - ["&"] = "&", -} - -local function unescapeHtml(text) - return (text:gsub("&#?%w+;", HTML_ENTITIES)) -end - --- Plain RSS 2.0, so a few gmatch patterns are enough, no XML library needed. --- Wrapped in pcall: a feed change degrades to no news data, not a crash. -local function parseNewsFeed(xml) - local items = {} - for block in xml:gmatch("(.-)") do - local title = block:match("(.-)") - local link = block:match("(.-)") - local guid = block:match("]*>(.-)") - if title ~= nil and link ~= nil then - table.insert(items, { - title = unescapeHtml(trim(title)), - link = trim(link), - guid = guid ~= nil and trim(guid) or trim(link), - }) - end - end - return items -end - -local function applyNewsItems(items) - newsItems = items - if #items == 0 then - newsUnread = 0 - newsLatestTitle = nil - return - end - newsLatestTitle = items[1].title - if newsLastSeenGuid == nil then - -- First run: today's news is the baseline, not a backlog to alert on. - newsLastSeenGuid = items[1].guid - saveNewsState() - newsUnread = 0 - return - end - local unread = 0 - for _, item in ipairs(items) do - if item.guid == newsLastSeenGuid then - break - end - unread += 1 - end - newsUnread = unread -end - -checkNews = function() - if cfg("check_arch_news") ~= true then - return - end - loadNewsState() - local ok = noctalia.http({ url = NEWS_URL }, function(res) - if not res.ok or res.body == nil or res.body == "" then - return - end - local parsed, items = pcall(parseNewsFeed, res.body) - if parsed and type(items) == "table" then - applyNewsItems(items) - newsDirty = true - end - end) - if not ok then - noctalia.log("arch-updater: could not start the Arch news request") - end -end - --- Opens the news page and marks everything fetched so far as read. -local function openNews() - if #newsItems > 0 then - newsLastSeenGuid = newsItems[1].guid - saveNewsState() - newsUnread = 0 - publish() - end - noctalia.runAsync("xdg-open " .. shellQuote(NEWS_PAGE) .. " >/dev/null 2>&1") -end - --- ── Updating ───────────────────────────────────────────────────────────────── - --- Uses Noctalia's terminal discovery ($TERMINAL, then the usual emulators) --- unless a terminal is configured. -local function launchTerminal(cmd) - local term = trim(cfg("terminal")) - if term == "" then - return noctalia.runInTerminal(cmd) - end - local first = term:match("^%S+") or term - local bin = first:match("([^/]+)$") or first - local separator = (bin == "gnome-terminal" or bin == "kgx" or bin == "ptyxis") and "--" or "-e" - return noctalia.runAsync(term .. " " .. separator .. " sh -lc " .. shellQuote(cmd)) -end - --- Builds the update command from the AUR helper, ignore list and Flatpak --- settings. "update_cmd" overrides it outright, for cases the built default --- doesn't cover. -local function buildUpdateCommand() - local override = trim(cfg("update_cmd")) - if override ~= "" then - updateProcessName = "pacman" - return override - end - - local ignored = ignoreList() - local ignoreFlag = #ignored > 0 and (" --ignore " .. table.concat(ignored, ",")) or "" - local yesFlag = cfg("assume_yes") == true and " --noconfirm" or "" - - local helper = resolveAurHelper() - local parts = {} - if helper ~= nil and helper ~= "custom" and noctalia.commandExists(helper) then - table.insert(parts, helper .. " -Syu" .. yesFlag .. ignoreFlag) - updateProcessName = helper - else - table.insert(parts, "sudo pacman -Syu" .. yesFlag .. ignoreFlag) - updateProcessName = "pacman" - end - - if cfg("flatpak_enabled") == true and noctalia.commandExists("flatpak") then - local flatpakYes = cfg("assume_yes") == true and " -y" or "" - if #ignored > 0 then - -- Same ignore list as pacman/AUR: filter ignored refs out of the - -- pending Flatpak list before updating, so an app hidden from the - -- panel's count can't still slip in through a bare `flatpak update`. - local skipList = shellQuote(table.concat(ignored, "\n")) - table.insert( - parts, - "flatpak_refs=$(flatpak remote-ls --updates --columns=application 2>/dev/null | awk -v ignore=" - .. skipList - .. [=[ 'BEGIN { n = split(ignore, arr, "\n"); for (i = 1; i <= n; i++) skip[arr[i]] = 1 } !($0 in skip)'); ]=] - .. [[if [ -n "$flatpak_refs" ]; then flatpak update]] - .. flatpakYes - .. [[ $flatpak_refs; fi]] - ) - else - table.insert(parts, "flatpak update" .. flatpakYes) - end - end - - table.insert(parts, "echo; echo " .. shellQuote(tr("run.press_key")) .. "; read -n 1") - return table.concat(parts, "; ") -end - -local function runUpdate() - if phase == "running" or phase == "checking" then - return - end - if not noctalia.commandExists("checkupdates") then - phase = "missing" - errMsg = tr("err_no_checkupdates") - publish() - return - end - if not launchTerminal(buildUpdateCommand()) then - phase = "error" - errMsg = tr("err_no_terminal") - publish() - noctalia.notifyError(tr("title"), tr("err_no_terminal")) - return - end - phase = "running" - errMsg = nil - step = "" - runTicks = 0 - runPollTicks = 0 - runSeen = false - publish() -end - --- Polls for the update process. Seeing it then losing it means the run --- ended, and triggers a re-check. Never seeing it within the grace period --- re-checks anyway instead of sitting in "running" forever. -local function pollRun() - runPollTicks += 1 - if runPollTicks < RUN_POLL_SECONDS then - return - end - runPollTicks = 0 - noctalia.processMatches(function(matched) - if phase ~= "running" then - return - end - if matched then - runSeen = true - return - end - if runSeen or runTicks >= RUN_GRACE_SECONDS then - recordUpdateRun() - startCheck() - end - end, updateProcessName) -end - --- ── Requests, lifecycle ────────────────────────────────────────────────────── - -local function handle(action) - if action == "check" then - -- Also works as a manual unstick: if the process-poll heuristic in - -- pollRun() ever misses the update finishing, this forces a re-check - -- instead of leaving the UI stuck on "running". - startCheck() - elseif action == "update" then - runUpdate() - elseif action == "dismiss" then - sources.pacman = { n = 0, items = {} } - sources.aur = { n = 0, items = {}, helper = sources.aur.helper } - sources.flatpak = { n = 0, items = {} } - total = 0 - downloadSizeMiB = nil - phase = "clean" - publish() - elseif action == "open_news" then - openNews() - end -end - -noctalia.state.watch(REQUEST_KEY, function(value) - if type(value) ~= "table" then - return - end - local nonce = tonumber(value.nonce) or 0 - if nonce <= lastRequestNonce then - return - end - lastRequestNonce = nonce - handle(value.action) -end) - --- Scriptable control: --- noctalia msg plugin yuuto/arch-updater:service all check --- noctalia msg plugin yuuto/arch-updater:service all update --- noctalia msg plugin yuuto/arch-updater:service all dismiss -function onIpc(event, _payload) - handle(event) -end - -function update() - if phase == "running" then - runTicks += 1 - pollRun() - elseif phase ~= "checking" then - local hours = tonumber(cfg("auto_check_hours")) or 0 - if hours > 0 then - if phase == "idle" then - startupTicks += 1 - if startupTicks >= AUTO_CHECK_DELAY then - startCheck() - end - else - sinceCheck += 1 - if sinceCheck >= hours * 3600 then - startCheck() - end - end - end - end - - if cfg("check_arch_news") == true then - sinceNewsCheck += 1 - if sinceNewsCheck >= NEWS_RECHECK_HOURS * 3600 or sinceNewsCheck == AUTO_CHECK_DELAY then - sinceNewsCheck = 0 - checkNews() - end - end - - if newsDirty then - newsDirty = false - publish() - end -end - -noctalia.setUpdateInterval(1000) -if not noctalia.commandExists("checkupdates") then - phase = "missing" - errMsg = tr("err_no_checkupdates") -end -loadHistoryState() -- so the graph shows prior sessions' data before the first check runs -publish() diff --git a/arch-updater/thumbnail.webp b/arch-updater/thumbnail.webp deleted file mode 100644 index 1444c67f3ffefe0c85720fd5925ae3ca23aeb7ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51044 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

&@3$bj(BN(fc{q1phg% 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 diff --git a/arch-updater/translations/de.json b/arch-updater/translations/de.json deleted file mode 100644 index 8a8df64..0000000 --- a/arch-updater/translations/de.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "action_check": "Updates prüfen", - "action_dismiss": "Verwerfen", - "action_open_news": "News öffnen", - "action_update": "Aktualisieren", - "activity": { - "days_ago": { - "one": "vor 1 Tag", - "other": "vor {count} Tagen" - }, - "hours_ago": { - "one": "vor 1 Stunde", - "other": "vor {count} Stunden" - }, - "just_now": "gerade eben", - "minutes_ago": { - "one": "vor 1 Minute", - "other": "vor {count} Minuten" - }, - "never_updated": "Noch nie aktualisiert", - "pending_at": { - "one": "1 ausstehendes Update", - "other": "{count} ausstehende Updates" - }, - "title": "Aktivität", - "updated": "Aktualisiert", - "updated_days_ago": { - "one": "Vor 1 Tag aktualisiert", - "other": "Vor {count} Tagen aktualisiert" - }, - "updated_today": "Heute aktualisiert" - }, - "caption_checked": "geprüft {time}", - "caption_ignored": { - "one": "1 Paket ignoriert", - "other": "{count} Pakete ignoriert" - }, - "err_check_timeout": "Zeitüberschreitung beim Prüfen auf Updates", - "err_no_checkupdates": "checkupdates nicht gefunden, pacman-contrib installieren und PATH prüfen", - "err_no_terminal": "Kein Terminal-Emulator gefunden, in den Plugin-Einstellungen festlegen", - "err_no_xdg_open": "xdg-open nicht gefunden, Paketseite kann nicht geöffnet werden", - "err_spawn": "checkupdates konnte nicht gestartet werden", - "hover_hint": "Zeigt beim Überfahren eines Pakets die vollständigen Versionen", - "launcher": { - "check_subtitle": "Pacman, AUR und Flatpak auf Updates prüfen", - "news_subtitle": "Arch-Linux-News-Seite öffnen", - "update_subtitle": "Terminal öffnen und Update ausführen" - }, - "more_packages": "+{count} weitere", - "news_unread": { - "one": "1 ungelesener Arch-News-Beitrag: „{title}“", - "other": "{count} ungelesene Arch-News-Beiträge, zuletzt: „{title}“" - }, - "notify_updates": { - "one": "1 Paket zu aktualisieren", - "other": "{count} Pakete zu aktualisieren" - }, - "reboot_recommended": "Neustart empfohlen, der laufende Kernel ist nicht mehr installiert", - "run": { - "press_key": "Beliebige Taste zum Schließen drücken" - }, - "settings": { - "activity_history_length": { - "description": "Wie viele der letzten Prüfungen für das Aktivitätsdiagramm aufbewahrt werden.", - "label": "Länge des Aktivitätsverlaufs" - }, - "assume_yes": { - "description": "Übergibt --noconfirm / -y, damit Paketmanager nicht nach Bestätigung fragen. Aus bedeutet, du bestätigst jedes Paket im Terminal-Fenster selbst.", - "label": "Automatisch mit Ja bestätigen" - }, - "aur_check_cmd": { - "description": "Wird nur verwendet, wenn oben „Eigener Befehl“ gewählt ist. Muss pro Paket eine Zeile im Format 'name oldver -> newver' ausgeben, wie 'yay -Qua' es tut.", - "label": "Eigener AUR-Prüfbefehl" - }, - "aur_helper": { - "description": "Welcher AUR-Helfer AUR-Pakete prüft und aktualisiert. „Automatisch erkennen“ versucht zuerst yay, dann paru. „Eigener Befehl“ verwendet den unten angegebenen Prüfbefehl.", - "label": "AUR-Helfer", - "options": { - "auto": "Automatisch erkennen (yay, dann paru)", - "custom": "Eigener Befehl", - "off": "Aus, nur Pacman", - "paru": "paru", - "yay": "yay" - } - }, - "auto_check_hours": { - "description": "Prüft automatisch alle N Stunden auf Updates. 0 (Standard) prüft nie von selbst.", - "label": "Intervall für automatische Prüfung (Stunden)" - }, - "check_arch_news": { - "description": "Ruft den Arch-Linux-News-Feed ab und markiert ungelesene Beiträge im Panel.", - "label": "Arch-Linux-News prüfen" - }, - "check_reboot_needed": { - "description": "Prüft, ob die Dateien des aktuell laufenden Kernels noch vorhanden sind. Fehlen sie, wurde ein neuerer Kernel installiert, und erst ein Neustart wechselt darauf.", - "label": "Auf nötigen Neustart prüfen" - }, - "flatpak_enabled": { - "description": "Prüft zusätzlich (und führt beim Aktualisieren) 'flatpak update' aus. Wird automatisch übersprungen, wenn Flatpak nicht installiert ist.", - "label": "Flatpak einbeziehen" - }, - "glyph": { - "description": "Das für das Widget in der Bar angezeigte Symbol.", - "label": "Bar-Symbol" - }, - "hide_on_empty": { - "description": "Blendet das Widget vollständig aus, wenn keine Updates ausstehen und kein Neustart empfohlen wird. Aus (Standard) zeigt das Symbol immer.", - "label": "Ausblenden, wenn nichts anliegt" - }, - "ignore_packages": { - "description": "Paketnamen, die aus der Zählung ausgeschlossen und beim Update zusätzlich als --ignore übergeben werden, ergänzend zu pacman.confs eigenem IgnorePkg.", - "label": "Pakete ignorieren" - }, - "notify_on_updates": { - "description": "Sendet eine Desktop-Benachrichtigung, wenn eine Prüfung aktualisierbare Pakete findet.", - "label": "Bei gefundenen Updates benachrichtigen" - }, - "show_activity_graph": { - "description": "Zeichnet die Anzahl ausstehender Updates über die letzten Prüfungen sowie den letzten Update-Zeitpunkt auf und zeigt sie als kleines Diagramm im Panel. Deaktiviert stoppt auch die Aufzeichnung.", - "label": "Aktivitätsdiagramm anzeigen" - }, - "show_count": { - "description": "Zeigt die Anzahl ausstehender Updates neben dem Bar-Symbol.", - "label": "Anzahl der Updates anzeigen" - }, - "show_download_size": { - "description": "Schätzt die gesamte Downloadgröße der ausstehenden Pacman-Pakete mit 'pacman -Si'. AUR- und Flatpak-Größen sind nicht enthalten.", - "label": "Downloadgröße anzeigen" - }, - "terminal": { - "description": "Terminal-Befehl für den Update-Lauf, z. B. kitty oder ghostty. Leer (Standard) verwendet Noctalias eigene Terminal-Erkennung ($TERMINAL, dann die gängigen Emulatoren).", - "label": "Terminal" - }, - "update_cmd": { - "description": "Vollständige Überschreibung des im Terminal ausgeführten Befehls beim Aktualisieren. Leer (Standard) baut ihn aus AUR-Helfer, Ignorierliste, Flatpak und „Automatisch mit Ja bestätigen“ oben zusammen.", - "label": "Eigener Update-Befehl" - } - }, - "size_gib": "≈ {value} GiB Downloadgröße", - "size_mib": "≈ {value} MiB Downloadgröße", - "source": { - "aur": "AUR", - "aur_named": "AUR ({helper})", - "flatpak": "Flatpak", - "pacman": "Pacman" - }, - "status_checking": "Prüfe auf Updates…", - "status_checking_step": "Prüfe {step}…", - "status_clean": "System ist aktuell", - "status_error": "Prüfung fehlgeschlagen", - "status_idle": "Noch nicht geprüft", - "status_missing": "checkupdates fehlt, pacman-contrib installieren", - "status_ready": { - "one": "1 Paket zu aktualisieren", - "other": "{count} Pakete zu aktualisieren" - }, - "status_running": "Update läuft in einem Terminal…", - "tip_check": "Jetzt auf Updates prüfen", - "tip_close": "Schließen", - "tip_copy": "Name und Versionen kopieren", - "tip_open_page": "Paketseite öffnen", - "tip_update": "Update in einem Terminal-Fenster ausführen", - "title": "Arch Updater", - "tooltip_checked": "Geprüft", - "tooltip_hints": "Klick: Panel · rechts: jetzt prüfen", - "tooltip_news": "Arch News", - "tooltip_news_value": { - "one": "1 ungelesen", - "other": "{count} ungelesen" - }, - "tooltip_pending": "Ausstehend", - "tooltip_reboot_key": "Neustart", - "tooltip_reboot_value": "empfohlen", - "tooltip_status": "Status", - "up_to_date": "Aktuell: {sources}" -} diff --git a/arch-updater/translations/en.json b/arch-updater/translations/en.json deleted file mode 100644 index a3926f8..0000000 --- a/arch-updater/translations/en.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "action_check": "Check Updates", - "action_dismiss": "Dismiss", - "action_open_news": "Open news", - "action_update": "Update", - "activity": { - "days_ago": { - "one": "1 day ago", - "other": "{count} days ago" - }, - "hours_ago": { - "one": "1 hour ago", - "other": "{count} hours ago" - }, - "just_now": "just now", - "minutes_ago": { - "one": "1 minute ago", - "other": "{count} minutes ago" - }, - "never_updated": "Never updated", - "pending_at": { - "one": "1 pending update", - "other": "{count} pending updates" - }, - "title": "Activity", - "updated": "Updated", - "updated_days_ago": { - "one": "Updated 1 day ago", - "other": "Updated {count} days ago" - }, - "updated_today": "Updated today" - }, - "caption_checked": "checked {time}", - "caption_ignored": { - "one": "1 package ignored", - "other": "{count} packages ignored" - }, - "err_aur_failed": "AUR check failed, see the system log for details", - "err_check_failed": "checkupdates failed, see the system log for details", - "err_check_timeout": "Timed out while checking for updates", - "err_flatpak_failed": "Flatpak check failed, see the system log for details", - "err_no_checkupdates": "checkupdates not found, install pacman-contrib and check your PATH", - "err_no_terminal": "No terminal emulator found, set one in the plugin settings", - "err_no_xdg_open": "xdg-open not found, cannot open the package page", - "err_spawn": "Could not run checkupdates", - "hover_hint": "Hover a package for its full versions", - "launcher": { - "check_subtitle": "Check pacman, AUR and Flatpak for updates", - "news_subtitle": "Open the Arch Linux news page", - "update_subtitle": "Open a terminal and run the update" - }, - "more_packages": "+{count} more", - "news_unread": { - "one": "1 unread Arch news post: \"{title}\"", - "other": "{count} unread Arch news posts, latest: \"{title}\"" - }, - "notify_updates": { - "one": "1 package to upgrade", - "other": "{count} packages to upgrade" - }, - "reboot_recommended": "Reboot recommended, the running kernel is no longer installed", - "run": { - "press_key": "Press any key to close" - }, - "settings": { - "activity_history_length": { - "description": "How many of the most recent checks to keep for the activity graph.", - "label": "Activity history length" - }, - "assume_yes": { - "description": "Pass --noconfirm / -y so package managers do not ask for confirmation. Off means you confirm each one in the terminal window.", - "label": "Answer yes automatically" - }, - "aur_check_cmd": { - "description": "Only used when the AUR helper above is 'Custom command'. Must print one 'name oldver -> newver' line per package, like 'yay -Qua' does.", - "label": "Custom AUR check command" - }, - "aur_helper": { - "description": "Which AUR helper checks and upgrades AUR packages. 'Auto-detect' tries yay, then paru. 'Custom command' lets you supply your own check command below.", - "label": "AUR helper", - "options": { - "auto": "Auto-detect (yay, then paru)", - "custom": "Custom command", - "off": "Off, pacman only", - "paru": "paru", - "yay": "yay" - } - }, - "auto_check_hours": { - "description": "Check for updates automatically every N hours. 0 (default) never checks on its own.", - "label": "Auto-check interval (hours)" - }, - "check_arch_news": { - "description": "Fetch the Arch Linux news feed and flag unread posts in the panel.", - "label": "Check Arch Linux news" - }, - "check_reboot_needed": { - "description": "Detect whether the currently running kernel's files are still on disk. When they are gone, a newer kernel was installed and a reboot is what switches you to it.", - "label": "Check if a reboot is needed" - }, - "flatpak_enabled": { - "description": "Also check (and, on Update, run) 'flatpak update'. Ignored automatically when flatpak is not installed.", - "label": "Include Flatpak" - }, - "glyph": { - "description": "The glyph shown for the widget on the bar.", - "label": "Bar glyph" - }, - "hide_on_empty": { - "description": "Hide the widget entirely when there are no pending updates and no reboot recommendation. Off (default) always shows the glyph.", - "label": "Hide when there is nothing to show" - }, - "ignore_packages": { - "description": "Package names to leave out of the count and pass as --ignore to the update itself, in addition to pacman.conf's own IgnorePkg.", - "label": "Ignore packages" - }, - "notify_on_updates": { - "description": "Send a desktop notification when a check finds packages to upgrade.", - "label": "Notify when updates are found" - }, - "show_activity_graph": { - "description": "Track pending-update counts across recent checks and when you last updated, shown as a small graph in the panel. Turning this off also stops recording the history.", - "label": "Show activity graph" - }, - "show_count": { - "description": "Show the number of pending updates next to the bar glyph.", - "label": "Show the update count" - }, - "show_download_size": { - "description": "Estimate the total download size for the pending pacman packages with 'pacman -Si'. AUR and Flatpak sizes are not included.", - "label": "Show download size" - }, - "terminal": { - "description": "Terminal command used for the update run, e.g. kitty or ghostty. Empty (default) uses Noctalia's terminal detection ($TERMINAL, then the common emulators).", - "label": "Terminal" - }, - "update_cmd": { - "description": "Full override for the command run in the terminal on Update. Empty (default) builds it from the AUR helper, ignore list, Flatpak and 'Answer yes' settings above.", - "label": "Custom update command" - } - }, - "size_gib": "≈ {value} GiB to download", - "size_mib": "≈ {value} MiB to download", - "source": { - "aur": "AUR", - "aur_named": "AUR ({helper})", - "flatpak": "Flatpak", - "pacman": "Pacman" - }, - "status_checking": "Checking for updates…", - "status_checking_step": "Checking {step}…", - "status_clean": "System is up to date", - "status_error": "Update check failed", - "status_idle": "Not checked yet", - "status_missing": "checkupdates not found, install pacman-contrib", - "status_ready": { - "one": "1 package to upgrade", - "other": "{count} packages to upgrade" - }, - "status_running": "Update running in a terminal…", - "tip_check": "Check for updates now", - "tip_close": "Close", - "tip_copy": "Copy name and versions", - "tip_open_page": "Open package page", - "tip_update": "Run the update in a terminal window", - "title": "Arch Updater", - "tooltip_checked": "Checked", - "tooltip_hints": "click: panel · right: check now", - "tooltip_news": "Arch news", - "tooltip_news_value": { - "one": "1 unread", - "other": "{count} unread" - }, - "tooltip_pending": "Pending", - "tooltip_reboot_key": "Reboot", - "tooltip_reboot_value": "recommended", - "tooltip_status": "Status", - "up_to_date": "Up to date: {sources}" -} diff --git a/arch-updater/translations/fr.json b/arch-updater/translations/fr.json deleted file mode 100644 index f0353b3..0000000 --- a/arch-updater/translations/fr.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "action_update": "Mettre à jour", - "caption_ignored": { - "one": "1 paquet ignoré", - "other": "{count} paquets ignorés" - }, - "notify_updates": { - "one": "1 paquet à mettre à jour", - "other": "{count} paquets à mettre à jour" - }, - "reboot_recommended": "Un redémarrage est recommandé, le kernel en cous d'exécution n'est plus installé", - "settings": { - "aur_helper": { - "options": { - "paru": "paru", - "yay": "yay" - } - }, - "flatpak_enabled": { - "label": "Inclure Flatpak" - }, - "ignore_packages": { - "label": "Ignorer des paquets" - }, - "notify_on_updates": { - "description": "Envoie une notification lorsqu'il y a des paquets à mettre à niveau" - }, - "show_count": { - "label": "Afficher le nombre de mises à jour" - }, - "show_download_size": { - "label": "Afficher la taille de téléchargement" - }, - "terminal": { - "label": "Terminal" - } - } -} diff --git a/arch-updater/translations/tr.json b/arch-updater/translations/tr.json deleted file mode 100644 index 5fca6b0..0000000 --- a/arch-updater/translations/tr.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "action_check": "Güncellemeleri kontrol et", - "action_dismiss": "Kapat", - "action_open_news": "Haberleri aç", - "action_update": "Güncelle", - "caption_checked": "kontrol süresi {time}", - "caption_ignored": { - "one": "1 paket yoksayıldı", - "other": "{count} paket yoksayıldı" - }, - "err_aur_failed": "AUR kontrolü başarısız, detaylar için sistem loglarına bak", - "err_check_failed": "checkupdates başarısız, detaylar için sistem log'larını kontrol et", - "err_check_timeout": "Güncellemeler kontrol edilirken zaman aşımına uğrandı", - "err_flatpak_failed": "Flatpak kontrolü başarısız, detaylar için sistem log'larını kontrol et", - "err_no_checkupdates": "checkupdates bulunamadı, pacman-contrib'i yükle ve PATH'i kontrol et", - "err_no_terminal": "Terminal emülatörü bulunamadı, eklenti ayarlarından ekle", - "err_no_xdg_open": "xdg-open bulunamadı, paket sayfası açılamıyor", - "err_spawn": "checkupdates çalıştırılamadı", - "hover_hint": "Bir paketin full versiyonları için fareyle üzerine gelin", - "launcher": { - "check_subtitle": "pacman, AUR, ve Flatpak'i güncellemeler için kontrol et", - "news_subtitle": "Arch Linux bültenini aç", - "update_subtitle": "Terminali aç ve güncellemeleri başlat" - }, - "more_packages": "+{count} tane daha", - "news_unread": { - "one": "Okunmamış 1 Arch haberi mevcut: \"{title}\"", - "other": "Okunmamış {couınt} Arch haberleri mevcut, sonuncusu: \"{title}\"" - }, - "notify_updates": { - "one": "Güncellenecek 1 paket mevcut", - "other": "Güncellenecek {count} paket mevcut" - }, - "reboot_recommended": "Yeniden başlatma önerilir, mevcutta çalışan kernel artık yüklü değil", - "run": { - "press_key": "Kapatmak için bir tuşa basın" - }, - "settings": { - "assume_yes": { - "description": "Paket yöneticilerinin onay istememesi için --noconfirm / -y bayraklarını ekle. Ayar kapalıysa tek tek terminal ekranından onaylamanız gerekir.", - "label": "Otomatikman evetle cevapla" - }, - "aur_check_cmd": { - "description": "Yalnızca yukarıdaki AUR yardımcısı 'Özel komut'ken kullanılır. Paket başına, 'yay -Qua' komutunun yaptığı gibi, tek satır 'isim eski-ver. -> yeni-ver.' yazdırması zorunludur.", - "label": "Özel AUR kontrol komutu" - }, - "aur_helper": { - "description": "AUR paketlerini kontrol eden ve güncelleyen AUR yardımcısı. 'Otomatik tespit' önce yay'ı, sonra da paru'yu dener. 'Özel komut' ise aşağıya kendi kontrol komutunuzu girmenizi sağlar.", - "label": "AUR yardımcısı", - "options": { - "auto": "Otomatik tespit (önce yay sonra paru)", - "custom": "Özel komut", - "off": "Kapalı, sadece pacman", - "paru": "paru", - "yay": "yay" - } - }, - "auto_check_hours": { - "description": "Her N saatte bir güncellemeleri otomatikman kontrol et. 0 (varsayılan) hiçbir zaman kendisi kontrol etmez.", - "label": "Otomatik kontrol aralığı (saat)" - }, - "check_arch_news": { - "label": "Arch Linux bültenini kontrol et" - }, - "check_reboot_needed": { - "label": "Yeniden başlatma gerekliliğini kontrol et" - }, - "flatpak_enabled": { - "label": "Flatpak'i dahil et" - }, - "glyph": { - "description": "Çubukta gösterilen bileşen simgesi.", - "label": "Çubuk simgesi" - }, - "hide_on_empty": { - "label": "Gösterilecek birşey yokken gizle" - }, - "ignore_packages": { - "label": "Paketleri görmezden gel" - }, - "notify_on_updates": { - "description": "Güncellenmeyi bekleyen paketler bulunduğunda bir bildirim gönder.", - "label": "Güncelleme bulunduğunda bildirim ver" - }, - "show_count": { - "description": "Çubuk simgesinin yanında bekleyen güncelleme sayısını göster.", - "label": "Güncelleme adedini göster" - }, - "show_download_size": { - "label": "İndirme boyutunu göster" - }, - "terminal": { - "label": "Terminal" - } - }, - "size_gib": "≈ {value} GiB indirilecek", - "size_mib": "≈ {value} MiB indirilecek", - "source": { - "aur": "AUR", - "aur_named": "AUR ({helper})", - "flatpak": "Flatpak", - "pacman": "Pacman" - }, - "status_checking": "Güncellemeler kontrol ediliyor…", - "status_checking_step": "{step} kontrol adımı…", - "status_clean": "Sistem güncel", - "tooltip_checked": "Kontrol edildi", - "tooltip_news": "Arch bülteni", - "tooltip_news_value": { - "one": "1 okunmayan", - "other": "{count} okunmayan" - }, - "tooltip_pending": "Bekleyen", - "tooltip_reboot_key": "Yeniden başlat", - "tooltip_reboot_value": "önerilir", - "tooltip_status": "Durum", - "up_to_date": "Güncel: {sources}" -} diff --git a/arch-updater/widget.luau b/arch-updater/widget.luau deleted file mode 100644 index 017a1e0..0000000 --- a/arch-updater/widget.luau +++ /dev/null @@ -1,152 +0,0 @@ ---!nonstrict --- arch-updater bar widget: pending-update badge and panel toggle. --- --- Pure renderer over the "arch_state" the engine (service.luau) publishes. --- Every bar showing the widget agrees on the count without running any --- command itself. Actions go back as "arch_request" entries, so one engine --- owns the checks and the update run no matter how many widgets exist. --- --- Click mapping: --- Left click: open/close the panel --- Right click: check for updates now --- --- No middle-click handler: the host already binds it to the widget's own --- settings, so a callback here would be dead code. - -local PANEL_ID = "yuuto/arch-updater:panel" -local REQUEST_KEY = "arch_request" -local STATE_KEY = "arch_state" - -local snapshot = nil - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function request(action) - local prev = noctalia.state.get(REQUEST_KEY) - local nonce = (type(prev) == "table" and tonumber(prev.nonce) or 0) + 1 - noctalia.state.set(REQUEST_KEY, { nonce = nonce, action = action }) -end - -local function pending() - return snapshot ~= nil - and snapshot.phase == "ready" - and (snapshot.total or 0) > 0 -end - --- "Pacman 12 · AUR (yay) 3 · Flatpak 1": non-zero sources only. -local function breakdown() - if snapshot == nil then - return "" - end - local parts = {} - local pacman = snapshot.pacman - if type(pacman) == "table" and (pacman.n or 0) > 0 then - table.insert(parts, tr("source.pacman") .. " " .. pacman.n) - end - local aur = snapshot.aur - if type(aur) == "table" and (aur.n or 0) > 0 then - local label = (aur.helper ~= nil and aur.helper ~= "") and tr("source.aur_named", { helper = aur.helper }) or tr("source.aur") - table.insert(parts, label .. " " .. aur.n) - end - local flatpak = snapshot.flatpak - if type(flatpak) == "table" and (flatpak.n or 0) > 0 then - table.insert(parts, tr("source.flatpak") .. " " .. flatpak.n) - end - return table.concat(parts, " · ") -end - -local function statusLabel() - if snapshot == nil then - return tr("status_idle") - end - local phase = snapshot.phase - if phase == "missing" then - return tr("status_missing") - elseif phase == "checking" then - local current = snapshot.step - if current ~= nil and current ~= "" then - return tr("status_checking_step", { step = current }) - end - return tr("status_checking") - elseif phase == "running" then - return tr("status_running") - elseif phase == "error" then - return snapshot.err or tr("status_error") - elseif phase == "clean" then - return tr("status_clean") - elseif phase == "ready" then - return noctalia.trp("status_ready", snapshot.total or 0, {}) - end - return tr("status_idle") -end - -local function render() - barWidget.setGlyph(noctalia.getConfig("glyph")) - - local phase = snapshot ~= nil and snapshot.phase or "idle" - local reboot = snapshot ~= nil and snapshot.rebootRecommended == true - if phase == "missing" or phase == "error" then - barWidget.setGlyphColor("error") - elseif phase == "checking" or phase == "running" then - barWidget.setGlyphColor("secondary") - elseif reboot then - barWidget.setGlyphColor("warning") - elseif pending() then - barWidget.setGlyphColor("primary") - else - barWidget.setGlyphColor("on_surface") - end - - if pending() and noctalia.getConfig("show_count") == true then - barWidget.setText(tostring(snapshot.total)) - else - barWidget.setText("") - end - - local empty = snapshot == nil or (snapshot.total or 0) == 0 - barWidget.setVisible(not (noctalia.getConfig("hide_on_empty") == true and empty and not reboot)) - - local rows = { { key = tr("tooltip_status"), value = statusLabel() } } - local detail = breakdown() - if detail ~= "" then - table.insert(rows, { key = tr("tooltip_pending"), value = detail }) - end - if reboot then - table.insert(rows, { key = tr("tooltip_reboot_key"), value = tr("tooltip_reboot_value") }) - end - if snapshot ~= nil and (snapshot.newsUnread or 0) > 0 then - table.insert(rows, { key = tr("tooltip_news"), value = noctalia.trp("tooltip_news_value", snapshot.newsUnread, {}) }) - end - if snapshot ~= nil and snapshot.checkedAt ~= nil and snapshot.checkedAt ~= "" then - table.insert(rows, { key = tr("tooltip_checked"), value = snapshot.checkedAt }) - end - table.insert(rows, { key = "", value = tr("tooltip_hints") }) - barWidget.setTooltip(rows) -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - --- Periodic re-render keeps the glyph/visibility in sync with widget-setting --- edits, which do not move the engine's state. -function update() - render() -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - request("check") -end - -noctalia.setUpdateInterval(1000) -snapshot = noctalia.state.get(STATE_KEY) -render() diff --git a/audio-switcher/README.md b/audio-switcher/README.md deleted file mode 100644 index e53a4a5..0000000 --- a/audio-switcher/README.md +++ /dev/null @@ -1,123 +0,0 @@ -# Audio Switcher - -Audio Switcher puts PipeWire inputs, outputs, volume controls, and Bluetooth -audio handoff in one compact Noctalia panel. Devices can be renamed or hidden, -multiple outputs can be grouped for simultaneous playback, and compositor -keybinds can cycle devices or connect a specific Bluetooth device by its -persistent number. - -![Audio Switcher panel](screenshots/panel.webp) - -Add the **Audio Switcher** widget from Noctalia's bar editor. Left click opens -the panel, right click cycles through visible outputs, and middle click cycles -through visible inputs. Scrolling over it changes the output volume. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `blackbartblues/audio-switcher` | -| Entries | Widget: `widget`; panel: `audio-switcher`; service: `service` | - -## Requirements - -Install `pactl`, `bluetoothctl`, and `sleep` on `PATH`. On Arch Linux they are -provided by the `libpulse`, `bluez-utils`, and `coreutils` packages respectively. -PipeWire's PulseAudio compatibility service and BlueZ must be running. -Output grouping also requires PulseAudio's or PipeWire Pulse's -`module-combine-sink`. - -## Usage - -Open the panel from a configured bar widget or run: - -```sh -noctalia msg panel-toggle blackbartblues/audio-switcher:audio-switcher -``` - -The top sliders control the default output and input volume. Select **Outputs** -or **Inputs**, then choose **Use**. For a disconnected Bluetooth output the same -button connects it, waits for its PipeWire endpoint, makes it the default, and -moves current playback streams to it. - -When an input exposes multiple hardware ports, such as an internal microphone -and a headset microphone, the active port name is shown in the panel and -widget. Use the port selector below the input to switch it; **Cycle** also -includes every currently available port. - -Use the pencil button to set a local display name, choose the device icon, and -change a Bluetooth keybind number. The number is assigned automatically after a -device connects successfully for the first time and can then be changed. Hidden -devices remain available in the panel but are skipped by cycling commands. - -To play through multiple outputs at once, open **Outputs**, choose **Group -outputs**, select at least two available physical outputs, then choose **Create -group**. The combined output becomes the default and current playback streams -move to it. Use **Disband** on its row to remove it; if it is active, playback -moves to the first available member before removal. - -Use the settings button in the panel header to open Noctalia's plugin settings. - -## Settings - -| Entry | Setting | Type | Default | Description | -| --- | --- | --- | --- | --- | -| Plugin | `show_percentage` | `bool` | `true` | Show the output volume beside the bar icon; disable it for an icon-only widget. | -| Plugin | `show_notification_on_switch` | `bool` | `true` | Show a notification when switching device. | -| Plugin | `show_actions_in_tooltip` | `bool` | `true` | Show actions in tooltip. | - -## IPC and keybinds - -The background service exposes commands that can be used by any compositor: - -```sh -# Next non-hidden output. Disconnected Bluetooth outputs are connected as needed. -noctalia msg plugin blackbartblues/audio-switcher:service all cycle-output - -# Next non-hidden, currently available input. -noctalia msg plugin blackbartblues/audio-switcher:service all cycle-input - -# Connect the Bluetooth device assigned to number 2 and use its output. -noctalia msg plugin blackbartblues/audio-switcher:service all connect 2 - -# Refresh device state. -noctalia msg plugin blackbartblues/audio-switcher:service all refresh -``` - -For example, Niri bindings can spawn the commands directly: - -```kdl -Mod+F9 { spawn "noctalia" "msg" "plugin" "blackbartblues/audio-switcher:service" "all" "cycle-output"; } -Mod+F10 { spawn "noctalia" "msg" "plugin" "blackbartblues/audio-switcher:service" "all" "cycle-input"; } -Mod+1 { spawn "noctalia" "msg" "plugin" "blackbartblues/audio-switcher:service" "all" "connect" "1"; } -``` - -Equivalent Hyprland bindings: - -```ini -bind = SUPER, F9, exec, noctalia msg plugin blackbartblues/audio-switcher:service all cycle-output -bind = SUPER, F10, exec, noctalia msg plugin blackbartblues/audio-switcher:service all cycle-input -bind = SUPER, 1, exec, noctalia msg plugin blackbartblues/audio-switcher:service all connect 1 -``` - -## Notes - -Preferences are written to `preferences.json` in Noctalia's data directory for -this plugin. They contain only aliases, hidden flags, remembered Bluetooth input -capabilities, MAC addresses, keybind numbers, and per-device icon choices. - -Before connecting a requested Bluetooth audio device, Audio Switcher disconnects -other Bluetooth audio devices connected to this computer. It cannot disconnect -the target from another computer or phone; that device must release the target -first unless it supports multipoint connections. - -Output groups are `module-combine-sink` instances owned by the running audio -server. Audio Switcher rediscovers its groups after the plugin service restarts, -but they disappear if PipeWire/PulseAudio restarts. Combining outputs may add -latency and resampling CPU cost, especially when the devices use different -clocks or sample rates. - -The plugin does not access the network. Its service spawns only the declared -`pactl`, `bluetoothctl`, and `sleep` commands. The short sleep is used while -waiting for a newly connected Bluetooth endpoint to appear. The panel may also -invoke the local Noctalia executable to open the plugin settings page. diff --git a/audio-switcher/panel.luau b/audio-switcher/panel.luau deleted file mode 100644 index 81c2fdb..0000000 --- a/audio-switcher/panel.luau +++ /dev/null @@ -1,627 +0,0 @@ ---!nonstrict - -local SNAPSHOT_KEY = "audio_switcher_snapshot" -local COMMAND_KEY = "audio_switcher_command" -local RESULT_KEY = "audio_switcher_result" - -local snapshot = noctalia.state.get(SNAPSHOT_KEY) or { - available = false, - bluetoothAvailable = false, - loading = true, - busy = false, - scanning = false, - outputs = {}, - inputs = {}, - defaultOutputId = "", - defaultInputId = "", - outputVolume = 0, - inputVolume = 0, - outputMuted = false, - inputMuted = false, - error = "", - updatedAt = 0, -} - -local activeTab = "output" -local showHidden = false -local editingId = nil -local editAlias = "" -local editIconStyle = "automatic" -local editSlot = "" -local feedback = "" -local feedbackError = false -local requestCounter = 0 -local groupingOutputs = false -local selectedGroupOutputs = {} --- Slider onChange is also emitted when the host applies a new controlled value. --- Keep the last callback value only for onDragEnd; rendering from it would turn --- the first external update into a sticky local draft and freeze later updates. -local outputVolumeCommitValue = nil -local inputVolumeCommitValue = nil -local volumeControlRevision = 0 -local render - -local ICON_STYLE_VALUES = { "automatic", "speaker", "over_ear", "tws", "wired" } - -local function tr(key, substitutions) - return noctalia.tr(key, substitutions) -end - -local function asArray(value) - return type(value) == "table" and value or {} -end - -local function nextRequestId() - requestCounter += 1 - return "panel-" .. tostring(requestCounter) -end - -local function sendCommand(action, values) - local command = { action = action, requestId = nextRequestId() } - if type(values) == "table" then - for key, value in pairs(values) do command[key] = value end - end - noctalia.state.set(COMMAND_KEY, command) - return command.requestId -end - -local function activeDevice(kind) - local devices = kind == "output" and asArray(snapshot.outputs) or asArray(snapshot.inputs) - for _, device in ipairs(devices) do - if device.active then return device end - end - return nil -end - -local function inputDisplayName(device) - if device == nil then return "" end - local port = noctalia.string.trim(tostring(device.activePortDescription or "")) - return port ~= "" and port or tostring(device.name or "") -end - -local function visibleCount(kind) - local count = 0 - local devices = kind == "output" and asArray(snapshot.outputs) or asArray(snapshot.inputs) - for _, device in ipairs(devices) do - if not device.hidden then count += 1 end - end - return count -end - -local function hiddenCount(kind) - local count = 0 - local devices = kind == "output" and asArray(snapshot.outputs) or asArray(snapshot.inputs) - for _, device in ipairs(devices) do - if device.hidden then count += 1 end - end - return count -end - -local function selectedGroupCount() - local count = 0 - for _, selected in pairs(selectedGroupOutputs) do - if selected then count += 1 end - end - return count -end - -local function selectedIndex(values, selected) - for index, value in ipairs(values) do - if value == selected then return index - 1 end - end - return 0 -end - -local function volumeCard(kind) - local isOutput = kind == "output" - local device = activeDevice(kind) - local volume = tonumber(isOutput and snapshot.outputVolume or snapshot.inputVolume) or 0 - local muted = (isOutput and snapshot.outputMuted == true) or (not isOutput and snapshot.inputMuted == true) - local icon = isOutput and (muted and "volume-off" or "volume") or (muted and "microphone-mute" or "microphone") - return ui.column({ flexGrow = 1, gap = 8, padding = 12, radius = 12, fill = "surface_variant/0.45" }, { - ui.row({ align = "center", gap = 8 }, { - ui.glyph({ name = isOutput and "volume" or "microphone", size = 18, color = isOutput and "primary" or "tertiary" }), - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = tr(isOutput and "panel.output_volume" or "panel.input_volume"), fontWeight = "bold" }), - ui.label({ - text = device and (isOutput and device.name or inputDisplayName(device)) or tr("panel.no_device"), - fontSize = 11, - color = "on_surface_variant", - maxLines = 1, - }), - }), - ui.label({ text = tostring(volume) .. "%", fontSize = 11, color = "on_surface_variant" }), - ui.button({ - glyph = icon, - variant = muted and "destructive" or "ghost", - controlSize = "sm", - tooltip = tr(muted and "panel.unmute" or "panel.mute"), - enabled = device ~= nil, - onClick = isOutput and "onToggleOutputMute" or "onToggleInputMute", - }), - }), - ui.slider({ - key = "volume-" .. kind .. "-" .. tostring(volumeControlRevision), - min = 0, - max = 100, - step = 1, - value = volume, - enabled = device ~= nil, - onChange = isOutput and "onOutputVolumeChange" or "onInputVolumeChange", - onDragEnd = isOutput and "onOutputVolumeCommit" or "onInputVolumeCommit", - }), - }) -end - -local function deviceStatus(device) - if device.active then return tr("device.active") end - if device.bluetooth and not device.available then return tr("device.bluetooth_disconnected") end - if device.bluetooth then return tr("device.bluetooth_connected") end - return tr("device.available") -end - -local function deviceSubtitle(device) - local status = deviceStatus(device) - local description = noctalia.string.trim(tostring(device.description or "")) - local port = noctalia.string.trim(tostring(device.activePortDescription or "")) - if port ~= "" and port ~= device.name and port ~= description then status = status .. " · " .. port end - if description == "" or description == "(null)" or description:lower() == "null" then return status end - if description == device.name or description == port then return status end - return status .. " · " .. description -end - -local function editor(device) - local children = { - ui.row({ align = "center", gap = 8 }, { - ui.glyph({ name = "edit", size = 16, color = "primary" }), - ui.label({ text = tr("editor.title"), fontWeight = "bold", flexGrow = 1 }), - ui.button({ glyph = "close", variant = "ghost", controlSize = "sm", onClick = "onCancelEdit" }), - }), - ui.label({ text = tr("editor.alias"), fontSize = 11, color = "on_surface_variant" }), - ui.input({ - key = "alias-" .. tostring(device.id), - value = editAlias, - placeholder = device.description, - onChange = "onEditAliasChange", - }), - ui.label({ text = tr("editor.icon"), fontSize = 11, color = "on_surface_variant" }), - ui.select({ - options = { - tr("editor.icon_options.automatic"), - tr("editor.icon_options.speaker"), - tr("editor.icon_options.over_ear"), - tr("editor.icon_options.tws"), - tr("editor.icon_options.wired"), - }, - selectedIndex = selectedIndex(ICON_STYLE_VALUES, editIconStyle), - width = 220, - onChange = "onEditIconChange", - }), - } - if device.bluetooth then - table.insert(children, ui.label({ text = tr("editor.slot"), fontSize = 11, color = "on_surface_variant" })) - table.insert(children, ui.input({ - key = "slot-" .. tostring(device.id), - value = editSlot, - placeholder = "1", - onChange = "onEditSlotChange", - })) - table.insert(children, ui.label({ text = tr("editor.slot_hint"), fontSize = 10, color = "on_surface_variant", maxLines = 2 })) - end - table.insert(children, ui.row({ justify = "end", gap = 8 }, { - ui.button({ text = tr("actions.cancel"), variant = "ghost", onClick = "onCancelEdit" }), - ui.button({ text = tr("actions.save"), glyph = "device-floppy", variant = "primary", onClick = "onSaveEdit" }), - })) - return ui.column({ gap = 7, padding = 10, radius = 9, fill = "surface_variant/0.45", border = "primary/0.35", borderWidth = 1 }, children) -end - -local function deviceRow(device, kind) - local useAction = function() - sendCommand(kind == "output" and "set_output" or "set_input", { id = device.id }) - end - local editAction = function() - editingId = device.id - editAlias = tostring(device.name or "") - editIconStyle = tostring(device.iconStyle or "automatic") - editSlot = device.slot and tostring(device.slot) or "" - feedback = "" - render() - end - local hideAction = function() - sendCommand("set_hidden", { id = device.id, kind = kind, hidden = not device.hidden }) - end - local selectAction = function() - selectedGroupOutputs[device.id] = not selectedGroupOutputs[device.id] - render() - end - local disbandAction = function() - sendCommand("remove_output_group", { id = device.id }) - end - local ports = kind == "input" and asArray(device.ports) or {} - local portOptions = {} - local selectedPortIndex = 0 - for index, port in ipairs(ports) do - local label = tostring(port.description or port.name or "") - if port.available == false then label = tr("device.unavailable_port", { port = label }) end - portOptions[#portOptions + 1] = label - if port.active then selectedPortIndex = index - 1 end - end - local selectPortAction = function(index, _label) - local port = ports[math.floor(tonumber(index) or -1) + 1] - if port ~= nil and not port.active then - sendCommand("set_input_port", { id = device.id, port = port.name }) - end - end - local actionText = device.active and tr("device.current") - or (device.bluetooth and not device.available and tr("actions.connect_and_use") or tr("actions.use")) - local actionVariant = device.active and "ghost" or "primary" - local statusColor = device.active and "secondary" or "on_surface_variant" - local actions = {} - if groupingOutputs and kind == "output" then - table.insert(actions, ui.button({ - text = selectedGroupOutputs[device.id] and tr("actions.selected") or tr("actions.select"), - glyph = selectedGroupOutputs[device.id] and "check" or "plus", - variant = selectedGroupOutputs[device.id] and "primary" or "outline", - controlSize = "sm", - enabled = device.available == true and device.group ~= true and snapshot.busy ~= true, - onClick = selectAction, - })) - else - table.insert(actions, ui.button({ - text = actionText, - variant = actionVariant, - controlSize = "sm", - enabled = not device.active and snapshot.busy ~= true, - onClick = useAction, - })) - if kind == "output" and device.group then - table.insert(actions, ui.button({ - text = tr("actions.disband"), - glyph = "unlink", - variant = "outline", - controlSize = "sm", - enabled = snapshot.busy ~= true, - onClick = disbandAction, - })) - else - table.insert(actions, ui.button({ glyph = "edit", variant = "ghost", controlSize = "sm", tooltip = tr("actions.edit"), onClick = editAction })) - table.insert(actions, ui.button({ - glyph = device.hidden and "eye" or "eye-off", - variant = "ghost", - controlSize = "sm", - tooltip = tr(device.hidden and "actions.show" or "actions.hide"), - onClick = hideAction, - })) - end - end - local rowChildren = { - ui.glyph({ name = device.icon or (kind == "output" and "volume" or "microphone"), size = 19, color = device.active and "primary" or "on_surface_variant" }), - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = tostring(device.name or device.description or device.id), fontWeight = "bold", maxLines = 1 }), - ui.label({ - text = deviceSubtitle(device), - fontSize = 10, - color = statusColor, - maxLines = 1, - }), - }), - ui.label({ - text = device.slot and ("#" .. tostring(device.slot)) or "", - color = "primary", - fontSize = 11, - fontWeight = "bold", - visible = device.bluetooth == true, - }), - } - for _, action in ipairs(actions) do table.insert(rowChildren, action) end - local row = ui.column({ gap = 6 }, { - ui.row({ align = "center", gap = 8, padding = 7, radius = 9, border = selectedGroupOutputs[device.id] and "primary" or (device.active and "primary" or "outline/0.55"), borderWidth = 1, fill = selectedGroupOutputs[device.id] and "primary/0.1" or (device.active and "primary/0.07" or "surface/0") }, rowChildren), - }) - local children = { row } - if kind == "input" and #ports > 1 then - table.insert(children, ui.row({ gap = 8, align = "center", paddingH = 8 }, { - ui.label({ text = tr("device.port"), color = "on_surface_variant", fontSize = 10 }), - ui.select({ - options = portOptions, - selectedIndex = selectedPortIndex, - flexGrow = 1, - enabled = snapshot.busy ~= true, - onChange = selectPortAction, - }), - })) - end - if editingId == device.id then table.insert(children, editor(device)) end - return ui.column({ gap = 6 }, children) -end - -local function groupingToolbar() - if activeTab ~= "output" then return ui.column({ visible = false }, {}) end - if not groupingOutputs then - return ui.row({ justify = "end" }, { - ui.button({ - text = tr("actions.group_outputs"), - glyph = "link", - variant = "outline", - enabled = snapshot.busy ~= true, - onClick = "onStartGrouping", - }), - }) - end - local count = selectedGroupCount() - return ui.row({ align = "center", gap = 8, padding = 8, radius = 9, fill = "primary/0.08" }, { - ui.label({ - text = tr("panel.group_hint", { count = count }), - flexGrow = 1, - color = "on_surface_variant", - fontSize = 11, - }), - ui.button({ text = tr("actions.cancel"), variant = "ghost", onClick = "onCancelGrouping" }), - ui.button({ - text = tr("actions.create_group", { count = count }), - glyph = "link", - variant = "primary", - enabled = count >= 2 and snapshot.busy ~= true, - onClick = "onCreateGroup", - }), - }) -end - -local function deviceList(kind) - local source = kind == "output" and asArray(snapshot.outputs) or asArray(snapshot.inputs) - local rows = {} - for _, device in ipairs(source) do - if showHidden or not device.hidden then - table.insert(rows, deviceRow(device, kind)) - end - end - if #rows == 0 then - table.insert(rows, ui.column({ align = "center", justify = "center", gap = 8, padding = 24 }, { - ui.glyph({ name = kind == "output" and "volume-off" or "microphone-off", size = 32, color = "on_surface_variant" }), - ui.label({ text = tr(showHidden and "panel.no_devices" or "panel.no_visible_devices"), color = "on_surface_variant", textAlign = "center" }), - })) - end - return ui.column({ gap = 6 }, rows) -end - -local function header() - local output = activeDevice("output") - local input = activeDevice("input") - local subtitle = (output and output.name or tr("panel.no_output")) .. " · " - .. (input and inputDisplayName(input) or tr("panel.no_input")) - return ui.row({ align = "center", gap = 8 }, { - ui.glyph({ name = "switch-horizontal", size = 24, color = "primary" }), - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = tr("title"), fontSize = 16, fontWeight = "bold" }), - ui.label({ text = subtitle, fontSize = 11, color = "on_surface_variant", maxLines = 1 }), - }), - ui.button({ - glyph = "bluetooth", - variant = snapshot.scanning and "primary" or "ghost", - tooltip = tr(snapshot.scanning and "panel.scanning" or "panel.scan_bluetooth"), - enabled = snapshot.bluetoothAvailable == true and snapshot.scanning ~= true, - onClick = "onScanBluetooth", - }), - ui.button({ glyph = "refresh", variant = "ghost", tooltip = tr("actions.refresh"), onClick = "onRefresh" }), - ui.button({ glyph = "settings", variant = "ghost", tooltip = tr("actions.settings"), onClick = "onOpenSettingsClicked" }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("actions.close"), onClick = "onCloseClicked" }), - }) -end - -local function toolbar() - local kind = activeTab - local hidden = hiddenCount(kind) - return ui.row({ align = "center", gap = 4 }, { - ui.button({ - text = tr("tabs.outputs"), - glyph = "volume", - variant = activeTab == "output" and "primary" or "ghost", - selected = activeTab == "output", - onClick = "onShowOutputs", - }), - ui.button({ - text = tr("tabs.inputs"), - glyph = "microphone", - variant = activeTab == "input" and "primary" or "ghost", - selected = activeTab == "input", - onClick = "onShowInputs", - }), - ui.spacer({ flexGrow = 1 }), - ui.label({ - text = tr("panel.visible_count", { count = visibleCount(kind) }), - fontSize = 10, - color = "on_surface_variant", - }), - ui.button({ - text = hidden > 0 and tr("panel.hidden_count", { count = hidden }) or tr("panel.hidden"), - glyph = showHidden and "eye" or "eye-off", - variant = showHidden and "primary" or "ghost", - selected = showHidden, - enabled = hidden > 0 or showHidden, - onClick = "onToggleHidden", - }), - ui.button({ - text = tr("actions.cycle"), - glyph = "refresh", - variant = "outline", - enabled = snapshot.busy ~= true, - onClick = activeTab == "output" and "onCycleOutput" or "onCycleInput", - }), - }) -end - -render = function() - local statusRows = {} - if snapshot.loading then - table.insert(statusRows, ui.label({ text = tr("panel.loading"), color = "primary" })) - end - if snapshot.busy then - table.insert(statusRows, ui.label({ text = tr("panel.switching"), color = "primary" })) - end - if tostring(snapshot.error or "") ~= "" then - table.insert(statusRows, ui.label({ text = snapshot.error, color = "error", maxLines = 2 })) - end - if feedback ~= "" then - table.insert(statusRows, ui.label({ text = feedback, color = feedbackError and "error" or "secondary", maxLines = 2 })) - end - - panel.render(ui.column({ flexGrow = 1, gap = 12, align = "stretch" }, { - header(), - ui.row({ gap = 12, align = "stretch" }, { volumeCard("output"), volumeCard("input") }), - toolbar(), - groupingToolbar(), - ui.column({ gap = 3 }, statusRows), - ui.scroll({ flexGrow = 1, gap = 6 }, { deviceList(activeTab) }), - ui.label({ - text = tr("panel.keybind_hint"), - fontSize = 10, - color = "on_surface_variant", - maxLines = 2, - }), - })) -end - -function onOpen(_context) - feedback = "" - feedbackError = false - groupingOutputs = false - selectedGroupOutputs = {} - sendCommand("refresh") - render() -end - -function onConfigChanged() - render() -end - -function onCloseClicked() panel.close() end -function onRefresh() sendCommand("refresh") end -function onScanBluetooth() sendCommand("scan_bluetooth") end -function onCycleOutput() sendCommand("cycle_output") end -function onCycleInput() sendCommand("cycle_input") end -function onOpenSettingsClicked() noctalia.openSettings() end - -function onShowOutputs() - activeTab = "output" - editingId = nil - showHidden = false - render() -end - -function onShowInputs() - activeTab = "input" - editingId = nil - showHidden = false - groupingOutputs = false - selectedGroupOutputs = {} - render() -end - -function onStartGrouping() - groupingOutputs = true - selectedGroupOutputs = {} - editingId = nil - showHidden = false - feedback = "" - render() -end - -function onCancelGrouping() - groupingOutputs = false - selectedGroupOutputs = {} - render() -end - -function onCreateGroup() - local ids = {} - for _, device in ipairs(asArray(snapshot.outputs)) do - if selectedGroupOutputs[device.id] then table.insert(ids, device.id) end - end - if #ids < 2 then return end - sendCommand("create_output_group", { ids = ids }) -end - -function onToggleHidden() - showHidden = not showHidden - editingId = nil - render() -end - -function onCancelEdit() - editingId = nil - render() -end - -function onEditAliasChange(value) editAlias = tostring(value or "") end -function onEditIconChange(index, _label) - editIconStyle = ICON_STYLE_VALUES[(math.floor(tonumber(index) or 0)) + 1] or "automatic" -end -function onEditSlotChange(value) editSlot = tostring(value or "") end - -function onSaveEdit() - local devices = activeTab == "output" and asArray(snapshot.outputs) or asArray(snapshot.inputs) - for _, device in ipairs(devices) do - if device.id == editingId then - sendCommand("update_device", { - id = device.id, - address = device.address, - alias = editAlias, - iconStyle = editIconStyle, - slot = editSlot, - }) - editingId = nil - render() - return - end - end -end - -function onOutputVolumeChange(value) - outputVolumeCommitValue = math.floor(tonumber(value) or 0) -end - -function onInputVolumeChange(value) - inputVolumeCommitValue = math.floor(tonumber(value) or 0) -end - --- Noctalia's slider onDragEnd callback has no arguments. Keep the latest --- onChange value for the commit without using it as controlled render state. -function onOutputVolumeCommit() - local value = outputVolumeCommitValue or snapshot.outputVolume - outputVolumeCommitValue = nil - sendCommand("set_output_volume", { value = value }) -end -function onInputVolumeCommit() - local value = inputVolumeCommitValue or snapshot.inputVolume - inputVolumeCommitValue = nil - sendCommand("set_input_volume", { value = value }) -end -function onToggleOutputMute() sendCommand("toggle_output_mute") end -function onToggleInputMute() sendCommand("toggle_input_mute") end - -noctalia.state.watch(SNAPSHOT_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -noctalia.state.watch(RESULT_KEY, function(result) - if type(result) ~= "table" or not tostring(result.requestId or ""):match("^panel%-") then return end - feedback = tostring(result.message or "") - feedbackError = result.ok ~= true - if result.ok == true and result.action == "create_output_group" then - groupingOutputs = false - selectedGroupOutputs = {} - end - if result.ok ~= true and (result.action == "set_output_volume" or result.action == "set_input_volume") then - outputVolumeCommitValue = nil - inputVolumeCommitValue = nil - -- A failed optimistic edit may have moved the native slider while the - -- controlled snapshot stayed unchanged. Recreate both controls so their - -- visual values are seeded from the authoritative snapshot again. - volumeControlRevision += 1 - end - render() -end) - -render() diff --git a/audio-switcher/plugin.toml b/audio-switcher/plugin.toml deleted file mode 100644 index b4bd9a3..0000000 --- a/audio-switcher/plugin.toml +++ /dev/null @@ -1,55 +0,0 @@ -id = "blackbartblues/audio-switcher" -name = "Audio Switcher" -version = "0.5.0" -plugin_api = 15 -author = "blackbartblues" -license = "MIT" -icon = "switch-horizontal" -description = "Switch audio inputs and outputs, hand off Bluetooth devices, and control them from compositor keybinds." -tags = ["audio", "bar", "hardware", "panel", "service", "system", "utility"] -dependencies = ["pactl", "bluetoothctl", "sleep"] - -[[setting]] -key = "show_percentage" -type = "bool" -label_key = "settings.show_percentage.label" -description_key = "settings.show_percentage.description" -default = true - -[[setting]] -key = "show_notification_on_switch" -type = "bool" -label_key = "settings.show_notification_on_switch.label" -description_key = "settings.show_notification_on_switch.description" -default = true - -[[setting]] -key = "show_actions_in_tooltip" -type = "bool" -label_key = "settings.show_actions_in_tooltip.label" -description_key = "settings.show_actions_in_tooltip.description" -default = true - -[[widget]] -id = "widget" -entry = "widget.luau" - - [widget.actions] - scroll_up = "volume-up" - scroll_down = "volume-down" - left = "panel-toggle blackbartblues/audio-switcher:audio-switcher" - right = "plugin blackbartblues/audio-switcher:service all cycle-output" - middle = "plugin blackbartblues/audio-switcher:service all cycle-input" - -[[panel]] -id = "audio-switcher" -entry = "panel.luau" -width = 620 -height = 650 -placement = "attached" -position = "top_right" -open_near_click = true - -[[service]] -id = "service" -entry = "service.luau" diff --git a/audio-switcher/screenshots/panel.webp b/audio-switcher/screenshots/panel.webp deleted file mode 100644 index 014e86123eb72417143df5f1ecda34f932a26293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20580 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

fd^GUb!;p_%IzEvowTA+NOb>q%p=g6Z=u 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 (b.score or 0) - end) - return results -end - -local function providerEnabled() - return noctalia.getConfig("enable_bk_provider") == true -end - --- "history" (most-recently-used first) or "usage_count" (most-frequently- --- used first). Only affects ordering when the query is empty; a non-empty --- query always ranks by fuzzy match score, same as before. -local function sortBy() - local value = noctalia.getConfig("bk_sort_by") - if value == "usage_count" then - return "usage_count" - end - return "history" -end - -local function statsPath() - local dataDir = noctalia.pluginDataDir() - if dataDir == nil then - return nil - end - return dataDir .. (sortBy() == "history" and "/bk_history.json" or "/bk_usage.json") -end - --- Reads and decodes the current stats file (history array or usage-count --- map, per sortBy()), falling back to an empty table when the file is --- missing, unreadable, or corrupt. Shared by getSortScores/recordActivation --- so the read/decode/default boilerplate only lives in one place. -local function readStatsData() - local path = statsPath() - if path == nil then - return {}, nil - end - local file = noctalia.readFile(path) - if file == nil then - return {}, path - end - local decoded = noctalia.json.decode(file) - if type(decoded) ~= "table" then - return {}, path - end - return decoded, path -end - --- Scores used to order results when the query is empty, keyed by result id. --- History ranks by recency (higher = more recently used); usage_count ranks --- by frequency (higher = used more often). Reads/decodes the stats file --- once for the whole batch rather than once per result. Ids missing from --- the stats file fall back to 0 (unranked, sorted last). -local function getSortScores(ids) - local data = readStatsData() - local scores = {} - - if sortBy() == "history" then - for _, id in ipairs(ids) do - local i = table.find(data, id) - scores[id] = i ~= nil and (#data - i) or 0 - end - else - for _, id in ipairs(ids) do - scores[id] = data[id] or 0 - end - end - - return scores -end - --- Records an activation for ranking purposes: pushes `id` to the front of --- the history list, or increments its usage count, depending on `sort_by`. -local function recordActivation(id) - local data, path = readStatsData() - if path == nil then - return - end - - if sortBy() == "history" then - local i = table.find(data, id) - if i ~= nil then - table.remove(data, i) - end - table.insert(data, 1, id) - else - data[id] = (data[id] or 0) + 1 - end - - local encoded = noctalia.json.encode(data) - if encoded ~= nil then - noctalia.writeFile(path, encoded) - end -end - -function onQuery(query) - query = noctalia.string.trim(query) - - if not providerEnabled() then - launcher.setResults(query, {}) - return - end - - local results = buildResults(query) - - if query == "" then - local ids = {} - for _, result in ipairs(results) do - table.insert(ids, result.id) - end - local scores = getSortScores(ids) - for _, result in ipairs(results) do - result.score = scores[result.id] or 0 - end - table.sort(results, function(a, b) - return (a.score or 0) > (b.score or 0) - end) - end - - if #results == 0 then - launcher.setResults(query, { - { - id = "", - title = noctalia.tr("no_bookmarks"), - glyph = "bookmark-off", - }, - }) - return - end - launcher.setResults(query, results) -end - -function onActivate(id) - if id == "" or not providerEnabled() then - return - end - - local wantPath, wantLabel = id:match("^([^\30]*)\30(.*)$") - if wantLabel == nil then - return - end - if wantPath == "" then - wantPath = nil - end - - local bookmarks = loadBookmarks() - for _, item in ipairs(flatten(bookmarks)) do - if item.entry.label == wantLabel and (item.path or nil) == wantPath then - local entry = item.entry - local cmd = entry.cmd - if type(cmd) ~= "string" or cmd == "" then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("err.no_command")) - return - end - local label = entry.label or cmd - - recordActivation(id) - - if entry.runInTerminal == true then - noctalia.runInTerminal(cmd) - return - end - - local finalCmd = cmd - if entry.runInBackground == true then - finalCmd = "nohup " .. cmd .. " >/dev/null 2>&1 &" - end - - local ok = noctalia.runAsync(finalCmd, function(result) - if entry.runInBackground == true then - return - end - if result.exitCode ~= 0 then - local detail = noctalia.string.trim(result.stderr or "") - local msg = noctalia.tr( - "err.exit_code", - { label = label, code = tostring(result.exitCode) } - ) - if detail ~= "" then - msg = msg .. ": " .. detail - end - noctalia.notifyError(noctalia.tr("title"), msg) - end - end) - - if not ok then - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.launch_failed", { label = label }) - ) - end - return - end - end -end diff --git a/bookmarks/panel.luau b/bookmarks/panel.luau deleted file mode 100644 index 09b4c30..0000000 --- a/bookmarks/panel.luau +++ /dev/null @@ -1,1447 +0,0 @@ --- Prefer the user-configured data_path setting; fall back to the plugin's --- own persistent data directory when unset. -local function resolveDataPath() - local configured = noctalia.getConfig("data_path") - if type(configured) == "string" and noctalia.string.trim(configured) ~= "" then - return noctalia.expandPath(noctalia.string.trim(configured)), nil - end - - local dataDir, dataDirErr = noctalia.pluginDataDir() - if dataDir == nil then - return nil, dataDirErr - end - return dataDir .. "/data.json", nil -end - -local path, pathErr = resolveDataPath() -if path == nil then - noctalia.log("bookmarks: could not resolve data path: " .. tostring(pathErr)) -end - -local view = "list" -- "list" | "new" -local formRev = 0 - -local bookmarks = {} -local listError = nil - -local currentFolder = nil -- nil = root, else index into `bookmarks` of the open folder -local editMode = false -- when true, rows show reorder/edit/delete controls - -local searchQuery = "" -local searchRev = 0 -- bumped to reseed the search input on open -local focusSearchOnRender = false -- one-shot: grabs the search input on the next render only - -local selectedIndex = nil -- 1-based position within the currently visible list, or nil - --- Last selected index per scope, keyed by currentFolder (0 for root, since --- folder indices start at 1). Restores position when re-entering a folder --- or coming back to root instead of resetting to 1. -local rememberedSelection = {} - -local function rememberSelection(folder) - rememberedSelection[folder or 0] = selectedIndex -end - -local function recallSelection(folder, rowCount) - if rowCount == nil or rowCount <= 0 then - return nil - end - return math.min(math.max(rememberedSelection[folder or 0] or 1, 1), rowCount) -end - -local draftKind = "bookmark" -- "bookmark" | "folder", set when the form opens -local draftGlyph = "bookmark" -local draftLabel = "" -local draftCmd = "" -local draftDescription = "" -local draftRunInBackground = false -local draftRunInTerminal = false -local draftError = nil -local editingIndex = nil -- nil = creating new, number = editing the entry at that index in the active list -local editingRoot = false -- true when editingIndex refers to `bookmarks` (root) instead of activeList() - --- Coerces native booleans, string coercions, and UI event objects into a --- strict boolean, as required by ui.toggle's `checked` prop. -local function parseBool(val) - if type(val) == "table" then - return val.checked == true or val.value == true - end - return val == true or val == "true" or val == 1 -end - --- Returns the array we're currently viewing/editing: root, or the open --- folder's items. Falls back to root if currentFolder points at something --- that's gone (e.g. deleted from under us). -local function activeList() - if currentFolder == nil then - return bookmarks - end - local folder = bookmarks[currentFolder] - if folder == nil or folder.type ~= "folder" then - currentFolder = nil - return bookmarks - end - folder.items = folder.items or {} - return folder.items -end - -local function entryType(entry) - return entry.type == "folder" and "folder" or "bookmark" -end - --- Fuzzy-searches bookmark labels only (not commands, not folder names) --- across root and every folder's contents, using Noctalia's native --- matcher. Returns results sorted best-match-first, each as --- { entry, path }, where path is the containing folder's label (nil for --- root entries). Search results are only ever run, never edited in place, --- so no index back into `bookmarks` is kept. -local function searchBookmarks(query) - local trimmed = noctalia.string.trim(query) - if trimmed == "" then - return {} - end - - local results = {} - for _, entry in ipairs(bookmarks) do - if entryType(entry) == "folder" then - for _, subEntry in ipairs(entry.items or {}) do - if entryType(subEntry) ~= "folder" then - local score = noctalia.fuzzyScore(trimmed, subEntry.label or "") - if score ~= nil then - table.insert( - results, - { entry = subEntry, path = entry.label or "", score = score } - ) - end - end - end - else - local score = noctalia.fuzzyScore(trimmed, entry.label or "") - if score ~= nil then - table.insert(results, { entry = entry, path = nil, score = score }) - end - end - end - - table.sort(results, function(a, b) - return a.score > b.score - end) - return results -end - -local function loadBookmarks() - if path == nil then - bookmarks = {} - return - end - if not noctalia.fileExists(path) then - bookmarks = {} - listError = nil - return - end - local raw, readErr = noctalia.readFile(path) - if raw == nil then - bookmarks = {} - listError = noctalia.tr("err.read_failed", { error = tostring(readErr) }) - return - end - local decoded, decodeErr = noctalia.json.decode(raw) - if type(decoded) ~= "table" then - bookmarks = {} - listError = noctalia.tr("err.corrupt", { error = tostring(decodeErr) }) - return - end - bookmarks = decoded - listError = nil -end - -local function saveBookmarks() - if path == nil then - return false, noctalia.tr("err.no_data_dir") - end - local encoded, encodeErr = noctalia.json.encode(bookmarks) - if encoded == nil then - return false, tostring(encodeErr) - end - local ok, writeErr = noctalia.writeFile(path, encoded) - if not ok then - return false, tostring(writeErr) - end - return true, nil -end - -local function snapshotArray(list) - local copy = {} - for i, v in ipairs(list) do - copy[i] = v - end - return copy -end - --- Replaces `list`'s contents in place with `snapshot`'s, used to roll back --- a move when saveBookmarks() fails partway through. -local function restoreArray(list, snapshot) - for i = #list, 1, -1 do - list[i] = nil - end - for i, v in ipairs(snapshot) do - list[i] = v - end -end - --- Moves the entry currently at `fromIndex` so it sits immediately before --- `beforeIndex` (both 1-based, referring to positions in `list` before the --- move). `beforeIndex == #list + 1` means "move to the end". No-ops for a --- drop that wouldn't change order, and rolls back on write failure. -local function moveEntryTo(list, fromIndex, beforeIndex) - if fromIndex < 1 or fromIndex > #list then - return - end - -- Dropping onto the gap immediately above or below your own row is a - -- no-op, not a "move to the other side of yourself". - if beforeIndex == fromIndex or beforeIndex == fromIndex + 1 then - return - end - - local snapshot = snapshotArray(list) - - local moved = table.remove(list, fromIndex) - local insertAt = beforeIndex - if beforeIndex > fromIndex then - insertAt = beforeIndex - 1 - end - table.insert(list, insertAt, moved) - - local ok, err = saveBookmarks() - if not ok then - restoreArray(list, snapshot) - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.reorder_failed", { error = err }) - ) - end -end - --- Moves a single bookmark (never a folder - nesting stays one level deep) --- from `fromList` at `fromIndex` onto the end of `toList`. Used for both --- directions of filing: root -> into a folder, and folder -> back to root. --- Rolls back both lists on write failure, same pattern as moveEntryTo. -local function moveEntryAcross(fromList, fromIndex, toList) - local entry = fromList[fromIndex] - if entry == nil or entryType(entry) ~= "bookmark" then - return false - end - - local fromSnapshot = snapshotArray(fromList) - local toSnapshot = snapshotArray(toList) - - table.remove(fromList, fromIndex) - table.insert(toList, entry) - - local ok, err = saveBookmarks() - if not ok then - restoreArray(fromList, fromSnapshot) - restoreArray(toList, toSnapshot) - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.reorder_failed", { error = err }) - ) - return false - end - return true, entry -end - --- Runs a bookmark's command. Two distinct failure paths get a notification: --- the shell couldn't even be spawned, or it ran and exited non-zero. --- Success stays silent, same as file-search's xdg-open. -local function runBookmark(entry) - local cmd = entry.cmd - if type(cmd) ~= "string" or cmd == "" then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("err.no_command")) - return - end - local label = entry.label or cmd - - if parseBool(entry.runInTerminal) then - noctalia.runInTerminal(cmd) - return - end - - local finalCmd = cmd - if parseBool(entry.runInBackground) then - finalCmd = "nohup " .. cmd .. " >/dev/null 2>&1 &" - end - - local ok = noctalia.runAsync(finalCmd, function(result) - if parseBool(entry.runInBackground) then - return - end - - if result.exitCode ~= 0 then - local detail = noctalia.string.trim(result.stderr or "") - local msg = - noctalia.tr("err.exit_code", { label = label, code = tostring(result.exitCode) }) - if detail ~= "" then - msg = msg .. ": " .. detail - end - noctalia.notifyError(noctalia.tr("title"), msg) - end - -- exitCode == 0: succeeded, no notification - end) - - if not ok then - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.launch_failed", { label = label }) - ) - end -end - --- Runs a bookmark and closes the panel, the standard "user picked a --- bookmark" action shared by every activation path (rows, search results, --- keyboard Enter). -local function runAndClose(entry) - runBookmark(entry) - onClose() - panel.close() -end - --- Thin insertion-point drop zone rendered between rows (and before the --- first / after the last). `place` is "before"/"after" relative to --- `anchorIndex`, encoded into `value` for _onReorderEntry to decode. -local function insertionGap(anchorIndex, place) - return ui.dropZone({ - key = "gap-" .. place .. "-" .. anchorIndex, - accepts = { "bookmark-entry" }, - value = place .. "|" .. anchorIndex, - onDrop = "_onReorderEntry", - height = 6, - expandOnDrag = true, - hitSlop = 20, - }) -end - --- Wraps a folder row so the whole row (root view only) doubles as a drop --- target: dropping a bookmark onto it files that bookmark into the folder, --- appended at the end. `value` is "into|", read by --- _onReorderEntry alongside the "before|after" insertion-gap values already --- in use for same-list reordering. `hitSlop` matters here: the insertion --- gaps immediately above/below this row extend their own hit area well --- past their thin visible strip (see insertionGap), so without a --- competing hitSlop of its own this zone would rarely win a drop even --- when the pointer is squarely over the folder row - "closest wins" needs --- both zones actually in the running. -local function folderDropTarget(folderIndex, child) - return ui.dropZone({ - key = "into-" .. folderIndex, - accepts = { "bookmark-entry" }, - value = "into|" .. folderIndex, - onDrop = "_onReorderEntry", - direction = "column", - radius = 8, - border = "primary/0.45", - borderWidth = 1.5, - expandOnDrag = true, - hitSlop = 20, - }, { child }) -end - --- Persistent drop bar shown at the top of a folder's contents while in edit --- mode: dropping a bookmark here pulls it back out to the root list, --- appended at the end. Always present (not just an insertion gap) so an --- otherwise-empty folder still offers a way to release an item back out. -local function moveToRootDropBar() - return ui.dropZone({ - key = "move-to-root", - accepts = { "bookmark-entry" }, - value = "out|root", - onDrop = "_onReorderEntry", - direction = "row", - align = "center", - gap = 8, - height = 34, - radius = 8, - fill = "primary/0.08", - border = "primary/0.35", - borderWidth = 1.5, - expandOnDrag = true, - hitSlop = 12, - }, { - ui.glyph({ name = "corner-left-up", size = 14, color = "primary" }), - ui.label({ - text = noctalia.tr("edit.drop_out_of_folder"), - fontSize = 12, - color = "primary", - flexGrow = 1, - }), - }) -end - --- Returns the ordered list of rows currently visible for keyboard --- navigation, in the same order they're rendered. Each entry is --- { kind = "search", result } or { kind = "entry", entry, index }, so --- Enter can dispatch the right action regardless of view. -local function visibleRows() - local trimmed = noctalia.string.trim(searchQuery) - if currentFolder == nil and trimmed ~= "" then - local rows = {} - for _, result in ipairs(searchBookmarks(searchQuery)) do - table.insert(rows, { kind = "search", result = result }) - end - return rows - end - - local list = activeList() - local rows = {} - for index, entry in ipairs(list) do - table.insert(rows, { kind = "entry", entry = entry, index = index }) - end - return rows -end - --- Runs whatever the given visible-row entry represents: opens a folder, --- or runs and closes on a bookmark (search result or normal row alike). -local function activateRow(row) - if row == nil then - return - end - if row.kind == "search" then - runAndClose(row.result.entry) - return - end - if entryType(row.entry) == "folder" then - _onOpenFolder(row.index) - else - runAndClose(row.entry) - end -end - -local function entryRow(entry, index) - local isFolder = entryType(entry) == "folder" - - local trailing = {} - if isFolder then - table.insert( - trailing, - ui.button({ - glyph = "chevron-right", - variant = "ghost", - controlSize = "sm", - tooltip = noctalia.tr("open_tooltip"), - onClick = function() - _onOpenFolder(index) - end, - }) - ) - elseif not editMode and parseBool(noctalia.getConfig("show_info_button")) then - local description = noctalia.string.trim(entry.description or "") - local cmd = entry.cmd or "" - local infoTooltip = noctalia.tr("info.cmd_line", { cmd = cmd }) - if description ~= "" then - infoTooltip = infoTooltip - .. "\n" - .. noctalia.tr("info.description_line", { description = description }) - end - table.insert( - trailing, - ui.button({ - glyph = "help-circle", - variant = "ghost", - controlSize = "sm", - tooltip = infoTooltip, - onClick = function() end, - }) - ) - end - if not isFolder and editMode then - trailing = { - ui.button({ - glyph = "pencil", - variant = "secondary", - controlSize = "sm", - tooltip = noctalia.tr("edit.edit_tooltip"), - onClick = function() - _onEditEntry(index) - end, - }), - ui.button({ - glyph = "trash", - variant = "destructive", - controlSize = "sm", - tooltip = noctalia.tr("edit.delete_tooltip"), - onClick = function() - _onDeleteEntry(index) - end, - }), - } - end - - local isSelected = selectedIndex == index - local activateEntry = function() - if isFolder then - _onOpenFolder(index) - else - runAndClose(entry) - end - end - - -- In edit mode a folder's glyph sits in a filled chip rather than bare, - -- the same visual language as the move-to-root drop bar (filled - -- primary/border), so "this accepts a dropped bookmark" reads at a - -- glance instead of only revealing itself once a drag is already - -- underway and the host's own highlight kicks in. - -- Note: ui.box does not render child content (its documented props are - -- fill/radius/border/size only), so the chip wrapper uses ui.row - - -- which supports both children and the same fill/radius styling - with - -- align/justify = "center" to center the glyph inside it. - local folderGlyph = ui.glyph({ - name = entry.glyph or (isFolder and "folder" or "bookmark"), - size = 16, - color = (isFolder and editMode) and "primary" or "on_surface", - }) - if isFolder and editMode then - folderGlyph = ui.row({ - fill = "primary/0.12", - radius = 6, - width = 24, - height = 24, - align = "center", - justify = "center", - }, { folderGlyph }) - end - - -- Flat, single-level row: grip, glyph, label, and trailing controls are - -- all direct children of "bm-", the same node that sits as a - -- sibling of the insertion gaps in the `rows` array built by listView. - -- This matters for previewAncestor/liftFromLayout below - they walk up - -- from the dragSource by ancestor count, so the drag source needs to be - -- exactly one level under the node that's actually a gap's neighbor in - -- the list. An earlier version wrapped glyph+label in their own nested - -- sub-row; liftFromLayout then only collapsed that inner wrapper while - -- the outer list-item row (the real gap sibling) stayed in layout as a - -- leftover sliver next to the real gap - reading as two highlightable - -- spaces where the dragged row used to be instead of one. - local rowChildren = {} - if editMode then - table.insert( - rowChildren, - ui.dragSource({ - key = "grip-" .. index, - dragType = "bookmark-entry", - payload = tostring(index), - previewAncestor = 1, - liftFromLayout = true, - tooltip = noctalia.tr("edit.drag_tooltip"), - width = 16, - height = 16, - }, { - ui.glyph({ name = "grip-vertical", size = 14, color = "on_surface_variant" }), - }) - ) - end - table.insert(rowChildren, folderGlyph) - table.insert( - rowChildren, - ui.label({ - text = entry.label or "", - fontSize = 13, - color = isSelected and "primary" or "on_surface", - fontWeight = isSelected and "bold" or "regular", - flexGrow = 1, - maxLines = 1, - }) - ) - for _, node in ipairs(trailing) do - table.insert(rowChildren, node) - end - - local row = ui.row({ - key = "bm-" .. index, - gap = 8, - align = "center", - height = 30, - onClick = activateEntry, - onHover = function(state) - if state == "true" then - selectedIndex = index - render() - end - end, - }, rowChildren) - - -- Only root-level folders accept drops (nesting stays one level deep, - -- and folders never contain other folders), and only while edit mode - -- exposes drag handles at all. - if isFolder and editMode and currentFolder == nil then - return folderDropTarget(index, row) - end - return row -end - --- One row in the flat search results list: runs the bookmark on click, --- same as a normal row, and shows its containing folder as a small path --- label when the match came from inside one. -local function searchResultRow(result, rowIndex) - local entry = result.entry - local isSelected = selectedIndex == rowIndex - local runEntry = function() - runAndClose(entry) - end - - local children = { - ui.button({ - glyph = entry.glyph or "bookmark", - variant = "ghost", - glyphSize = 16, - width = 24, - height = 24, - tooltip = entry.cmd, - onClick = runEntry, - }), - ui.label({ - text = entry.label or "", - fontSize = 13, - color = isSelected and "primary" or "on_surface", - fontWeight = isSelected and "bold" or "regular", - flexGrow = 1, - maxLines = 1, - }), - } - if result.path ~= nil then - table.insert( - children, - ui.label({ - text = result.path, - fontSize = 11, - color = "on_surface_variant", - maxLines = 1, - }) - ) - end - - return ui.row({ - key = "search-" .. rowIndex, - gap = 8, - align = "center", - height = 30, - onClick = runEntry, - onHover = function(state) - if state == "true" then - selectedIndex = rowIndex - render() - end - end, - }, children) -end - -local function listView() - local list = activeList() - local children = {} - - local searching = currentFolder == nil and noctalia.string.trim(searchQuery) ~= "" - - if currentFolder ~= nil then - local folder = bookmarks[currentFolder] - table.insert( - children, - ui.row({ gap = 8, align = "center" }, { - ui.button({ - glyph = "chevron-left", - variant = "ghost", - controlSize = "sm", - tooltip = noctalia.tr("back_button"), - onClick = "_onBackToRoot", - }), - ui.row({ - gap = 6, - align = "center", - flexGrow = 1, - onClick = "_onEditFolderHeader", - }, { - ui.glyph({ - name = "pencil", - size = 13, - color = "on_surface_variant", - }), - ui.label({ - text = (folder and folder.label) or "", - fontSize = 13, - fontWeight = "bold", - color = "on_surface", - flexGrow = 1, - maxLines = 1, - }), - }), - }) - ) - end - - if currentFolder == nil then - local wantsFocus = focusSearchOnRender - focusSearchOnRender = false - table.insert( - children, - ui.input({ - key = "search-input-" .. searchRev, - value = searchQuery, - placeholder = noctalia.tr("search_placeholder"), - controlSize = "sm", - focus = wantsFocus, - onChange = "_onSearchChanged", - onSubmit = "_onSearchSubmit", - }) - ) - end - - if searching then - local results = searchBookmarks(searchQuery) - if #results == 0 then - table.insert( - children, - ui.label({ - text = noctalia.tr("no_search_results"), - color = "on_surface_variant", - fontSize = 12, - }) - ) - else - local rows = {} - for rowIndex, result in ipairs(results) do - table.insert(rows, searchResultRow(result, rowIndex)) - end - table.insert(children, ui.scroll({ flexGrow = 1, gap = 2 }, rows)) - end - return ui.column({ gap = 10, padding = 14, flexGrow = 1 }, children) - end - - local topButtons = { - ui.button({ - key = "new-bookmark", - text = noctalia.tr("entry_form.new_bookmark"), - glyph = "plus", - variant = "primary", - flexGrow = 1, - enabled = path ~= nil, - onClick = "_onNewBookmark", - }), - } - -- Folders can only be created at root: one level of nesting only. The - -- button is omitted entirely inside a folder, rather than just disabled, - -- since nesting isn't a supported concept here at all. - if currentFolder == nil then - table.insert( - topButtons, - ui.button({ - key = "new-folder", - text = noctalia.tr("entry_form.new_folder"), - glyph = "folder-plus", - variant = "secondary", - flexGrow = 1, - enabled = path ~= nil, - onClick = "_onNewFolder", - }) - ) - end - - table.insert( - topButtons, - ui.button({ - key = "toggle-edit-mode", - glyph = editMode and "eye" or "eye-off", - variant = "ghost", - controlSize = "sm", - width = 32, - tooltip = noctalia.tr( - editMode and "edit.hide_controls_tooltip" or "edit.show_controls_tooltip" - ), - onClick = "_onToggleEditMode", - }) - ) - - table.insert(children, ui.row({ gap = 8 }, topButtons)) - - -- Inside a folder, edit mode always offers a way to drop a bookmark back - -- out to root - including when the folder is currently empty, so it - -- stays a valid drag target rather than disappearing along with the - -- "no bookmarks" message. - if currentFolder ~= nil and editMode then - table.insert(children, moveToRootDropBar()) - end - - if listError ~= nil then - table.insert(children, ui.label({ text = listError, color = "error", fontSize = 12 })) - elseif #list == 0 then - table.insert( - children, - ui.label({ - text = noctalia.tr("no_bookmarks"), - color = "on_surface_variant", - fontSize = 12, - }) - ) - else - local count = #list - local rows = {} - for index = 1, count do - if editMode then - table.insert(rows, insertionGap(index, "before")) - end - table.insert(rows, entryRow(list[index], index)) - end - if editMode and count > 0 then - table.insert(rows, insertionGap(count, "after")) - end - table.insert(children, ui.scroll({ flexGrow = 1, gap = 2 }, rows)) - end - - if currentFolder ~= nil then - table.insert( - children, - ui.button({ - key = "delete-folder", - text = noctalia.tr("folder.delete_folder_button"), - glyph = "trash", - variant = "destructive", - onClick = "_onDeleteFolder", - }) - ) - end - - return ui.column({ gap = 10, padding = 14, flexGrow = 1 }, children) -end - -local function formView() - local isFolder = draftKind == "folder" - local title - if editingIndex ~= nil then - title = isFolder and noctalia.tr("entry_form.edit_folder") - or noctalia.tr("entry_form.edit_bookmark") - else - title = isFolder and noctalia.tr("entry_form.new_folder") - or noctalia.tr("entry_form.new_bookmark") - end - - local children = { - ui.row({ align = "center", justify = "space_between" }, { - ui.label({ - text = title, - fontSize = 15, - fontWeight = "bold", - color = "on_surface", - flexGrow = 1, - }), - ui.button({ - glyph = "close", - variant = "ghost", - tooltip = noctalia.tr("entry_form.cancel_button"), - onClick = "_onCancelBookmark", - }), - }), - - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ - name = draftGlyph ~= "" and draftGlyph or (isFolder and "folder" or "bookmark"), - size = 18, - color = "primary", - }), - ui.input({ - key = "glyph-input-" .. formRev, - value = draftGlyph, - placeholder = noctalia.tr("entry_form.glyph_field"), - controlSize = "sm", - flexGrow = 1, - onChange = "_onGlyphChange", - }), - }), - - ui.input({ - key = "label-input-" .. formRev, - value = draftLabel, - placeholder = isFolder and noctalia.tr("entry_form.folder_name_field") - or noctalia.tr("entry_form.label_field"), - controlSize = "sm", - focus = true, - onChange = "_onLabelChange", - }), - } - - if not isFolder then - table.insert( - children, - ui.input({ - key = "cmd-input-" .. formRev, - value = draftCmd, - placeholder = noctalia.tr("entry_form.cmd_field"), - controlSize = "sm", - onChange = "_onCmdChange", - }) - ) - - table.insert( - children, - ui.input({ - key = "description-input-" .. formRev, - value = draftDescription, - placeholder = noctalia.tr("entry_form.description_field"), - controlSize = "sm", - onChange = "_onDescriptionChange", - }) - ) - - table.insert( - children, - ui.row({ gap = 8, align = "center" }, { - ui.toggle({ - checked = draftRunInBackground, - enabled = true, - onChange = "_onRunInBackgroundChange", - }), - ui.label({ - text = noctalia.tr("entry_form.run_in_background_field"), - fontSize = 13, - color = "on_surface", - }), - }) - ) - - table.insert( - children, - ui.row({ gap = 8, align = "center" }, { - ui.toggle({ - checked = draftRunInTerminal, - enabled = true, - onChange = "_onRunInTerminalChange", - }), - ui.label({ - text = noctalia.tr("entry_form.run_in_terminal_field"), - fontSize = 13, - color = "on_surface", - }), - }) - ) - end - - if draftError ~= nil then - table.insert(children, ui.label({ text = draftError, color = "error", fontSize = 12 })) - end - - table.insert( - children, - ui.row({ gap = 8, justify = "end" }, { - ui.button({ - text = noctalia.tr("entry_form.save_button"), - variant = "primary", - onClick = "_onSaveBookmark", - }), - ui.button({ - text = noctalia.tr("entry_form.cancel_button"), - variant = "destructive", - onClick = "_onCancelBookmark", - }), - }) - ) - - return ui.column({ gap = 10, padding = 14 }, children) -end - -function render() - if view == "new" then - panel.render(formView()) - else - panel.render(listView()) - end -end - -function _onNewBookmark() - editingIndex = nil - editingRoot = false - draftKind = "bookmark" - draftGlyph = "bookmark" - draftLabel = "" - draftCmd = "" - draftDescription = "" - draftRunInBackground = false - draftRunInTerminal = false - draftError = nil - formRev += 1 - view = "new" - render() -end - -function _onNewFolder() - -- Folders are root-only (one level of nesting), so this should be - -- unreachable while inside a folder, but guard anyway since it's - -- reached via a button click, not just render-time gating. - if currentFolder ~= nil then - return - end - editingIndex = nil - editingRoot = false - draftKind = "folder" - draftGlyph = "folder" - draftLabel = "" - draftCmd = "" - draftDescription = "" - draftRunInBackground = false - draftRunInTerminal = false - draftError = nil - formRev += 1 - view = "new" - render() -end - -function _onOpenFolder(index) - local list = activeList() - local entry = list[index] - if entry == nil or entryType(entry) ~= "folder" then - return - end - -- Remember where we were in root before diving into the folder. - rememberSelection(currentFolder) - -- currentFolder is only ever set from root (folders are one level deep), - -- so `index` here is always an index into the root `bookmarks` array. - currentFolder = index - selectedIndex = recallSelection(currentFolder, #(entry.items or {})) - render() -end - -function _onBackToRoot() - -- Remember where we were inside the folder before leaving it. - rememberSelection(currentFolder) - currentFolder = nil - selectedIndex = recallSelection(currentFolder, #bookmarks) - render() -end - --- Editing the currently open folder's own name/glyph: the folder entry --- lives in root `bookmarks` at `currentFolder`, not in activeList() (which --- is the folder's *contents*), so this goes through root explicitly. -function _onEditFolderHeader() - if currentFolder == nil then - return - end - local entry = bookmarks[currentFolder] - if entry == nil then - return - end - editingIndex = currentFolder - editingRoot = true - draftKind = "folder" - draftGlyph = entry.glyph or "folder" - draftLabel = entry.label or "" - draftCmd = "" - draftDescription = "" - draftRunInBackground = false - draftRunInTerminal = false - draftError = nil - formRev += 1 - view = "new" - render() -end - -function _onDeleteFolder() - if currentFolder == nil then - return - end - local entry = bookmarks[currentFolder] - if entry == nil or entryType(entry) ~= "folder" then - return - end - - local removed = table.remove(bookmarks, currentFolder) - if removed == nil then - return - end - local ok, err = saveBookmarks() - if not ok then - table.insert(bookmarks, currentFolder, removed) - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.delete_failed", { error = err }) - ) - render() - return - end - - noctalia.notify( - noctalia.tr("title"), - noctalia.tr("folder.folder_deleted", { label = removed.label or "" }) - ) - -- Folder selections are now stale (indices after the deleted one - -- shifted), so drop everything but root's. - rememberedSelection = { [0] = rememberedSelection[0] } - currentFolder = nil - selectedIndex = recallSelection(currentFolder, #bookmarks) - render() -end - -function _onEditEntry(index) - local list = activeList() - editingRoot = false - local entry = list[index] - if entry == nil then - return - end - editingIndex = index - draftKind = entryType(entry) - draftGlyph = entry.glyph or (draftKind == "folder" and "folder" or "bookmark") - draftLabel = entry.label or "" - draftCmd = entry.cmd or "" - draftDescription = entry.description or "" - - -- Strictly enforce the native boolean type right from JSON initialization - draftRunInBackground = parseBool(entry.runInBackground) - draftRunInTerminal = parseBool(entry.runInTerminal) - - draftError = nil - formRev += 1 - view = "new" - render() -end - -function _onCancelBookmark() - editingIndex = nil - editingRoot = false - view = "list" - render() -end - -function _onGlyphChange(value) - draftGlyph = value - render() -end - -function _onLabelChange(value) - draftLabel = value -end - -function _onCmdChange(value) - draftCmd = value -end - -function _onDescriptionChange(value) - draftDescription = value -end - -function _onRunInBackgroundChange(value) - -- Discard any UI objects or strings gracefully back into native booleans - draftRunInBackground = parseBool(value) - -- Mutually exclusive with "run in terminal": enabling one turns the - -- other off immediately, rather than letting both sit checked until - -- the form is reopened. - if draftRunInBackground then - draftRunInTerminal = false - end - render() -end - -function _onRunInTerminalChange(value) - -- Discard any UI objects or strings gracefully back into native booleans - draftRunInTerminal = parseBool(value) - if draftRunInTerminal then - draftRunInBackground = false - end - render() -end - -function _onSaveBookmark() - local label = noctalia.string.trim(draftLabel) - local glyph = noctalia.string.trim(draftGlyph) - local isFolder = draftKind == "folder" - - if label == "" then - draftError = noctalia.tr( - isFolder and "entry_form.err_label_required" or "entry_form.err_label_cmd_required" - ) - render() - return - end - - local cmd = nil - if not isFolder then - cmd = noctalia.string.trim(draftCmd) - if cmd == "" then - draftError = noctalia.tr("entry_form.err_label_cmd_required") - render() - return - end - end - - if glyph == "" then - glyph = isFolder and "folder" or "bookmark" - end - - local list = editingRoot and bookmarks or activeList() - local newEntry - if isFolder then - local previousItems = nil - if editingIndex ~= nil then - local existing = list[editingIndex] - previousItems = existing and existing.items or nil - end - newEntry = { type = "folder", glyph = glyph, label = label, items = previousItems or {} } - else - newEntry = { - type = "bookmark", - glyph = glyph, - label = label, - cmd = cmd, - description = noctalia.string.trim(draftDescription), - runInBackground = draftRunInBackground, - runInTerminal = draftRunInTerminal, - } - end - - local previous = nil - if editingIndex ~= nil then - previous = list[editingIndex] - list[editingIndex] = newEntry - else - table.insert(list, newEntry) - end - - local ok, err = saveBookmarks() - if not ok then - -- roll back the in-memory change on write failure - if editingIndex ~= nil then - list[editingIndex] = previous - else - table.remove(list) - end - draftError = noctalia.tr("err.save_failed", { error = err }) - render() - return - end - - noctalia.notify( - noctalia.tr("title"), - noctalia.tr(editingIndex ~= nil and "entry_updated" or "entry_saved", { label = label }) - ) - editingIndex = nil - editingRoot = false - view = "list" - render() -end - -function _onToggleEditMode() - editMode = not editMode - render() -end - -function _onSearchChanged(value) - searchQuery = value - selectedIndex = 1 - render() -end - -function _onSearchSubmit() - local rows = visibleRows() - activateRow(rows[selectedIndex] or rows[1]) -end - --- Drop callback for the bookmark list's drag-and-drop reordering. --- `payload` is the dragged row's original index (string, from --- ui.dragSource); `target` is "before|N" or "after|N" from the drop --- zone's `value`, N being the anchor row's index at render time. -function _onReorderEntry(payload, target) - local fromIndex = tonumber(payload) - if fromIndex == nil then - return - end - local place, rest = target:match("^([^|]+)|(.+)$") - if place == nil then - return - end - - -- "into|": drop a bookmark from the root list onto a - -- folder row to file it inside, appended at the end of that folder's - -- items. Root-only (folders are only ever dragged/dropped at root). - if place == "into" then - if currentFolder ~= nil then - return - end - local folderIndex = tonumber(rest) - if folderIndex == nil then - return - end - local folder = bookmarks[folderIndex] - if folder == nil or entryType(folder) ~= "folder" then - return - end - folder.items = folder.items or {} - moveEntryAcross(bookmarks, fromIndex, folder.items) - render() - return - end - - -- "out|root": drop a bookmark from inside the open folder back onto - -- root, appended at the end. Only meaningful while a folder is open. - if place == "out" then - if currentFolder == nil then - return - end - local list = activeList() - moveEntryAcross(list, fromIndex, bookmarks) - render() - return - end - - local anchorIndex = tonumber(rest) - if anchorIndex == nil then - return - end - local beforeIndex = anchorIndex - if place == "after" then - beforeIndex = anchorIndex + 1 - end - - local list = activeList() - moveEntryTo(list, fromIndex, beforeIndex) - render() -end - -function _onDeleteEntry(index) - local list = activeList() - local entry = list[index] - if entry == nil then - return - end - if entryType(entry) == "folder" and #(entry.items or {}) > 0 then - -- Deleting a non-empty folder takes its contents with it; the row's - -- delete button has no separate confirm dialog available (panels - -- have no native modal), so this is a same-click destructive action - -- same as bookmark delete. Surfaced via notification after the fact - -- rather than blocking, to stay consistent with existing delete UX. - noctalia.notify( - noctalia.tr("title"), - noctalia.tr("folder.folder_deleted", { label = entry.label or "" }) - ) - end - - local removed = table.remove(list, index) - if removed == nil then - return - end - local ok, err = saveBookmarks() - if not ok then - table.insert(list, index, removed) - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("err.delete_failed", { error = err }) - ) - render() - return - end - render() -end - --- `context == "search"` lets an external trigger (a compositor keybind via --- `noctalia msg panel-open dunarand/bookmarks:panel search`, or any other --- IPC caller) open the panel straight into a focused search box, turning --- the bookmark list into a fast fuzzy launcher without a second keypress. --- Root-only, same as ctrl+f: searching already isn't offered inside a --- folder, so context is ignored there. --- --- To open in search mode and close from a single keybind: --- noctalia msg panel-toggle dunarand/bookmarks:panel search -function onOpen(context) - view = "list" - - editingIndex = nil - editingRoot = false - editMode = false - currentFolder = nil - searchQuery = "" - searchRev += 1 - selectedIndex = 1 - rememberedSelection = {} - loadBookmarks() - noctalia.state.set("bookmarks_open", true) - if context == "search" then - focusSearchOnRender = true - end - render() -end - -function onClose() - noctalia.state.set("bookmarks_open", false) -end - --- Keyboard navigation: --- - ctrl+j/down and ctrl+k/up move the selection through the currently --- visible rows (search results or the active folder's contents), --- wrapping past either end. --- - ctrl+l/right enters the selected folder, if any. --- - ctrl+h/left returns from a folder to the root list. --- - Return activates the selected row (opens a folder or runs a bookmark). --- - ctrl+f focuses the search box (root view only, since folders don't --- have one). --- - ctrl+n opens the new-bookmark form. --- root-only - same restriction as the "New Folder" button). --- Only acts on key-down (pressed == true) so each chord fires once per press. -function onKey(chord, pressed) - if not pressed then - return - end - if view ~= "list" then - return - end - - if chord == "ctrl+f" then - if currentFolder == nil then - searchRev += 1 - focusSearchOnRender = true - render() - end - return - end - - if chord == "ctrl+n" then - _onNewBookmark() - return - end - - if chord == "ctrl+h" or chord == "left" then - if currentFolder ~= nil then - _onBackToRoot() - end - return - end - - local rows = visibleRows() - local count = #rows - if count == 0 then - selectedIndex = nil - return - end - - if chord == "ctrl+j" or chord == "down" then - if selectedIndex == nil then - selectedIndex = 1 - else - selectedIndex = selectedIndex % count + 1 - end - render() - elseif chord == "ctrl+k" or chord == "up" then - if selectedIndex == nil then - selectedIndex = count - else - selectedIndex = (selectedIndex - 2) % count + 1 - end - render() - elseif chord == "ctrl+l" or chord == "right" then - local row = rows[selectedIndex] - if row ~= nil and row.kind == "entry" then - if entryType(row.entry) == "folder" then - _onOpenFolder(row.index) - end - end - elseif chord == "return" then - local row = rows[selectedIndex] - activateRow(row) - end -end - -function update() - render() -end diff --git a/bookmarks/plugin.toml b/bookmarks/plugin.toml deleted file mode 100644 index 6756a18..0000000 --- a/bookmarks/plugin.toml +++ /dev/null @@ -1,91 +0,0 @@ -id = "dunarand/bookmarks" -name = "Bookmarks" -version = "1.3.1" -plugin_api = 13 -author = "dunarand" -license = "MIT" -icon = "bookmark" -description = "A user-defined list of bookmarks. Each item has a label, a glyph, and a shell command." -tags = ["launcher", "panel", "productivity", "utility"] -dependencies = ["nohup"] - -[[setting]] -key = "data_path" -type = "file" -label_key = "settings.data_path.label" -description_key = "settings.data_path.description" -default = "" -extensions = [".json"] - -[[setting]] -key = "show_info_button" -type = "bool" -label_key = "settings.show_info_button.label" -description_key = "settings.show_info_button.description" -default = true - -[[widget]] -id = "bar" -entry = "bar.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "bookmark" - - [[widget.setting]] - key = "tooltip" - type = "string" - label_key = "settings.tooltip.label" - description_key = "settings.tooltip.description" - default = "Bookmarks" - - [[widget.setting]] - key = "text" - type = "string" - label_key = "settings.text.label" - description_key = "settings.text.description" - default = "Bookmarks" - -[[setting]] -key = "enable_bk_provider" -type = "bool" -label_key = "settings.enable_bk_provider.label" -description_key = "settings.enable_bk_provider.description" -default = true - -[[setting]] -key = "bk_sort_by" -type = "select" -label_key = "settings.bk_sort_by.label" -description_key = "settings.bk_sort_by.description" -default = "history" -visible_when = { key = "enable_bk_provider", values = ["true"] } - - [[setting.options]] - value = "history" - label_key = "settings.bk_sort_by.options.history" - [[setting.options]] - value = "usage_count" - label_key = "settings.bk_sort_by.options.usage_count" - -[[launcher_provider]] -id = "provider" -entry = "bk_provider.luau" -prefix = "bk" -glyph = "bookmark" -include_in_global_search = false -debounce_ms = 100 - - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 380 -height = 470 -placement = "attached" -position = "auto" -open_near_click = true -capture_keys = ["ctrl+h", "ctrl+j", "ctrl+k", "ctrl+l", "left", "down", "up", "right", "ctrl+n", "ctrl+f", "return"] diff --git a/bookmarks/thumbnail.webp b/bookmarks/thumbnail.webp deleted file mode 100644 index 5f7f62c1d85ddc8d96d696ecebc5125d741d2fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52612 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]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 diff --git a/bookmarks/translations/en.json b/bookmarks/translations/en.json deleted file mode 100644 index f60ece3..0000000 --- a/bookmarks/translations/en.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "back_button": "Back", - "cancel_button": "Cancel", - "cmd_field": "Shell command", - "delete_folder_button": "Delete folder", - "delete_tooltip": "Delete", - "description_field": "Description (optional)", - "drag_tooltip": "Drag to reorder, or onto a folder to file it inside", - "drop_out_of_folder": "Drop here to move back to the main panel", - "edit": { - "delete_tooltip": "Delete", - "drag_tooltip": "Drag to reorder, or onto a folder to file it inside", - "drop_out_of_folder": "Drop here to move back to the main panel", - "edit_tooltip": "Edit", - "hide_controls_tooltip": "Hide reorder/edit/delete controls", - "show_controls_tooltip": "Show reorder/edit/delete controls" - }, - "edit_bookmark": "Edit Bookmark", - "edit_folder": "Edit Folder", - "edit_tooltip": "Edit", - "entry_form": { - "cancel_button": "Cancel", - "cmd_field": "Shell command", - "description_field": "Description (optional)", - "edit_bookmark": "Edit Bookmark", - "edit_folder": "Edit Folder", - "err_label_cmd_required": "Label and command are required", - "err_label_required": "Label is required", - "folder_name_field": "Folder name", - "glyph_field": "Glyph name (e.g. bookmark)", - "label_field": "Label", - "new_bookmark": "New Bookmark", - "new_folder": "New Folder", - "run_in_background_field": "Run in background", - "run_in_terminal_field": "Run in terminal", - "save_button": "Save" - }, - "entry_saved": "Saved \"{label}\"", - "entry_updated": "Updated \"{label}\"", - "err": { - "corrupt": "Bookmarks file is corrupt: {error}", - "delete_failed": "Failed to delete: {error}", - "exit_code": "\"{label}\" exited with code {code}", - "launch_failed": "Failed to launch \"{label}\"", - "no_command": "This bookmark has no command", - "no_data_dir": "No data directory available", - "read_failed": "Failed to read bookmarks: {error}", - "reorder_failed": "Failed to reorder: {error}", - "save_failed": "Failed to save: {error}" - }, - "err_corrupt": "Bookmarks file is corrupt: {error}", - "err_delete_failed": "Failed to delete: {error}", - "err_exit_code": "\"{label}\" exited with code {code}", - "err_label_cmd_required": "Label and command are required", - "err_label_required": "Label is required", - "err_launch_failed": "Failed to launch \"{label}\"", - "err_no_command": "This bookmark has no command", - "err_no_data_dir": "No data directory available", - "err_read_failed": "Failed to read bookmarks: {error}", - "err_reorder_failed": "Failed to reorder: {error}", - "err_save_failed": "Failed to save: {error}", - "folder": { - "delete_folder_button": "Delete folder", - "folder_deleted": "Deleted folder \"{label}\" and its contents" - }, - "folder_deleted": "Deleted folder \"{label}\" and its contents", - "folder_name_field": "Folder name", - "glyph_field": "Glyph name (e.g. bookmark)", - "hide_controls_tooltip": "Hide reorder/edit/delete controls", - "info": { - "cmd_line": "Command: {cmd}", - "description_line": "Description: {description}" - }, - "info_cmd_line": "Command: {cmd}", - "info_description_line": "Description: {description}", - "label_field": "Label", - "new_bookmark": "New Bookmark", - "new_folder": "New Folder", - "no_bookmarks": "No bookmarks yet", - "no_search_results": "No matching bookmarks", - "open_tooltip": "Open", - "run_in_background_field": "Run in background", - "run_in_terminal_field": "Run in terminal", - "save_button": "Save", - "search_placeholder": "Search bookmarks...", - "settings": { - "bk_sort_by": { - "description": "How bookmarks are ordered in \"/bk\" results when there's no search text.", - "label": "/bk sort order", - "options": { - "history": "Recently used", - "usage_count": "Most used" - } - }, - "data_path": { - "description": "Where data.json is stored. Leave empty to use the default plugin data directory.", - "label": "Data file" - }, - "enable_bk_provider": { - "description": "Adds a \"/bk\" launcher command to fuzzy-search and run your bookmarks.", - "label": "Enable /bk launcher provider" - }, - "glyph": { - "description": "Bar widget's glyph", - "label": "Glyph" - }, - "show_info_button": { - "description": "Show a \"?\" button on bookmarks (not folders) to view their description and command on hover.", - "label": "Show info button" - }, - "text": { - "description": "Bar widget's label. Leave empty to display only the glyph.", - "label": "Text" - }, - "tooltip": { - "description": "Bar widget's tooltip", - "label": "Tooltip" - } - }, - "show_controls_tooltip": "Show reorder/edit/delete controls", - "title": "Bookmarks" -} diff --git a/bookmarks/translations/tr.json b/bookmarks/translations/tr.json deleted file mode 100644 index e0afba5..0000000 --- a/bookmarks/translations/tr.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "back_button": "Geri", - "cancel_button": "İptal", - "cmd_field": "Shell Komutu", - "delete_folder_button": "Klasörü Sil", - "delete_tooltip": "Sil", - "description_field": "Açıklama (İsteğe bağlı)", - "drag_tooltip": "Sıralamak için sürükle veya bir klasörün içine bırak", - "drop_out_of_folder": "Ana panele göndermek için buraya bırak", - "edit": { - "delete_tooltip": "Sil", - "drag_tooltip": "Sıralamak için sürükle veya bir klasörün içine bırak", - "drop_out_of_folder": "Ana panele göndermek için buraya bırak", - "edit_tooltip": "Düzenle", - "hide_controls_tooltip": "Sıralama/düzenleme/silme kontrollerini gizle", - "show_controls_tooltip": "Sıralama/düzenleme/silme kontrollerini göster" - }, - "edit_bookmark": "Yer İmini Düzenle", - "edit_folder": "Klasörü Düzenle", - "edit_tooltip": "Düzenle", - "entry_form": { - "cancel_button": "İptal", - "cmd_field": "Shell Komutu", - "description_field": "Açıklama (İsteğe bağlı)", - "edit_bookmark": "Yer İmini Düzenle", - "edit_folder": "Klasörü Düzenle", - "err_label_cmd_required": "Etiket ve komut alanları gerekli", - "err_label_required": "Etiket gerekli", - "folder_name_field": "Klasör ismi", - "glyph_field": "Simge (ör. bookmark)", - "label_field": "İsim etiketi", - "new_bookmark": "Yeni Yer İmi", - "new_folder": "Yeni Klasör", - "run_in_background_field": "Arka planda çalıştır", - "run_in_terminal_field": "Konsolda çalıştır", - "save_button": "Kaydet" - }, - "entry_saved": "\"{label}\" kaydedildi", - "entry_updated": "\"{label}\" güncellendi", - "err": { - "corrupt": "Bozuk yer imleri dosyası: {error}", - "delete_failed": "Silinemedi: {error}", - "exit_code": "\"{label}\" {code} ile sonlandı", - "launch_failed": "\"{label}\" açılamadı", - "no_command": "Bu yer iminin bir komutu yok", - "no_data_dir": "Eksik veri dizgini", - "read_failed": "Yer imleri okunamadı: {error}", - "reorder_failed": "Sıralama Yapılamadı: {error}", - "save_failed": "Kaydedilemedi: {error}" - }, - "err_corrupt": "Bozuk yer imleri dosyası: {error}", - "err_delete_failed": "Silinemedi: {error}", - "err_exit_code": "\"{label}\" {code} ile sonlandı", - "err_label_cmd_required": "Etiket ve komut alanları gerekli", - "err_label_required": "Etiket gerekli", - "err_launch_failed": "\"{label}\" açılamadı", - "err_no_command": "Bu yer iminin bir komutu yok", - "err_no_data_dir": "Eksik veri dizgini", - "err_read_failed": "Yer imleri okunamadı: {error}", - "err_reorder_failed": "Sıralama Yapılamadı: {error}", - "err_save_failed": "Kaydedilemedi: {error}", - "folder": { - "delete_folder_button": "Klasörü Sil", - "folder_deleted": "\"{label}\" klasörü ve içeriği silindi" - }, - "folder_deleted": "\"{label}\" klasörü ve içeriği silindi", - "folder_name_field": "Klasör ismi", - "glyph_field": "Simge (ör. bookmark)", - "hide_controls_tooltip": "Sıralama/düzenleme/silme kontrollerini gizle", - "info": { - "cmd_line": "Komut: {cmd}", - "description_line": "Açıklama: {description}" - }, - "info_cmd_line": "Komut: {cmd}", - "info_description_line": "Açıklama: {description}", - "label_field": "İsim etiketi", - "new_bookmark": "Yeni Yer İmi", - "new_folder": "Yeni Klasör", - "no_bookmarks": "Henüz bir yer imi yok", - "no_search_results": "Eşleşen yer imi yok", - "open_tooltip": "Aç", - "run_in_background_field": "Arka planda çalıştır", - "run_in_terminal_field": "Konsolda çalıştır", - "save_button": "Kaydet", - "search_placeholder": "Yer imlerinde ara...", - "settings": { - "bk_sort_by": { - "description": "\"/bk\" sonuçlarının arama yapılmadığı durumda yer imlerini nasıl sıralacağını belirler.", - "label": "/bk sıralama önceliği", - "options": { - "history": "Son kullanılanlar", - "usage_count": "En sık kullanılanlar" - } - }, - "data_path": { - "description": "data.json dosyasının saklandığı konum. Varsayılan eklenti veri konumunu kullanmak için boş bırakın.", - "label": "Veri dosyası" - }, - "enable_bk_provider": { - "description": "Başlatıcıya, yer imlerini fuzzy-aramak ve çalıştırmak için \"/bk\" komutunu ekler.", - "label": "Enable /bk launcher provider" - }, - "glyph": { - "description": "Çubuk aracının simgesi (ör. bookmark)", - "label": "Simge" - }, - "show_info_button": { - "description": "Yer imlerinde (klasörlerde değil) üzerine gelindiğinde açıklamalarını ve komutlarını görüntülemek için bir \"?\" düğmesi göster.", - "label": "Bilgi butonunu göster" - }, - "text": { - "description": "Çubuk aracının etiketi. Çubukta sadece simgenin görünmesi için boş bırakın.", - "label": "Yazı" - }, - "tooltip": { - "description": "Çubuk aracının isim etiketi", - "label": "İsim etiketi" - } - }, - "show_controls_tooltip": "Sıralama/düzenleme/silme kontrollerini göster", - "title": "Yer İmleri" -} diff --git a/calculator/README.md b/calculator/README.md deleted file mode 100644 index 448a677..0000000 --- a/calculator/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# Calculator - -A calculator for the Noctalia bar. It evaluates whole expressions with operator -precedence, offers both a keypad and a typed input line in its panel, and keeps -the last result visible in the bar. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `yuuto/calculator` | -| Entries | Bar widget: `bar`; panel: `panel` | - -The `panel` entry owns the calculator model and publishes it through Noctalia's -per-plugin state channel. The `bar` widget is a thin client: it reads that state -and opens the panel. - -## Usage - -Add the `bar` bar widget to your bar. It shows a calculator glyph, plus the last -result once there is one. Left click opens the panel, right click clears the -calculator. On a vertical bar only the glyph is shown, with the current -expression as its tooltip. - -The panel evaluates as you type. The small line shows the expression, the large -line the live result, and the copy button next to it puts the result on the -clipboard. - -Enter expressions either with the keypad or by typing into the input line, where -Enter evaluates. Pressing `=` keeps the result in the input, so the next -operator continues from it. The keypad uses plain text labels (`AC`, `+/-`, -`DEL`, `*`, `/`) rather than symbol glyphs, so it renders with any bar font. - -Open the panel over IPC: - -```sh -noctalia msg panel-toggle yuuto/calculator:panel -``` - -### Expression syntax - -Operators are `+`, `-`, `*`, `/` and `^`, with parentheses and the usual -precedence; `^` is right associative. A trailing `%` divides by 100, so -`200*15%` is `30`. The typed input also accepts `×`, `÷` and `−`. - -Available constants: `pi`, `tau`, `e`. - -Available functions: `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `atan2`, -`sinh`, `cosh`, `tanh`, `ln`, `log`, `log2`, `log10`, `exp`, `sqrt`, `cbrt`, -`abs`, `floor`, `ceil`, `round`, `trunc`, `sign`, `mod`, `pow`, `hypot`, `min`, -`max`. - -`log(x)` is base 10; `log(x, b)` is base `b`. `mod(a, b)` is the remainder, since -`%` means percent here. The trigonometric functions follow the angle unit -setting, shown in the panel header as `RAD` or `DEG`. - -## Settings - -### Plugin - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `precision` | `int` | `8` | Maximum decimals used when formatting results, 0 to 10. | -| `angle_unit` | `select` | `rad` | Angle unit for the trigonometric functions. | - -### Bar Widget - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `show_bar_value` | `bool` | `true` | Shows the last result next to the calculator glyph. | -| `max_bar_length` | `int` | `9` | Longer results are shortened with a trailing `~`. | - -## IPC - -Beyond opening the panel, the `panel` entry accepts three events. The `all` -target addresses every live instance. - -```sh -noctalia msg plugin yuuto/calculator:panel all eval "2+3*4" -noctalia msg plugin yuuto/calculator:panel all insert "+8" -noctalia msg plugin yuuto/calculator:panel all clear -``` - -`eval` replaces the expression and evaluates it, `insert` appends to the current -expression, and `clear` resets the calculator. - -## Notes - -Expressions are tokenized and parsed by the plugin itself, so evaluating never -runs a shell command and no external tool is required. Results reach the -clipboard through `noctalia.copyToClipboard`. - -The panel keeps its model in the plugin state channel rather than in script -locals, so clearing from the bar widget and reopening the panel stay in sync. - -## Credits - -Keypad layout and feature set are modelled on the v4 Quickshell calculator plugin -by pir0c0pter0 (MIT). diff --git a/calculator/bar.luau b/calculator/bar.luau deleted file mode 100644 index b36a46c..0000000 --- a/calculator/bar.luau +++ /dev/null @@ -1,94 +0,0 @@ ---!nonstrict - -local PANEL_ID = "yuuto/calculator:panel" - -local result = "0" -local expression = "" -local hasError = false - -local function maxLength() - local value = noctalia.getConfig("max_bar_length") - if type(value) ~= "number" then - return 9 - end - return math.clamp(math.floor(value), 3, 20) -end - -local function compact(text) - local limit = maxLength() - if #text <= limit then - return text - end - return text:sub(1, math.max(1, limit - 1)) .. "~" -end - -local function badge() - if noctalia.getConfig("show_bar_value") == false then - return "" - end - if hasError then - return noctalia.tr("state.error") - end - if result == "" or result == "0" then - return "" - end - return compact(result) -end - -local function render() - local container = barWidget.isVertical() and ui.column or ui.row - local text = badge() - local color = hasError and "error" or "on_surface" - - barWidget.setTooltip(expression ~= "" and expression or noctalia.tr("bar.tooltip")) - - local children = { - ui.glyph({ name = "calculator", color = color }), - } - - if text ~= "" and not barWidget.isVertical() then - table.insert(children, ui.label({ text = text, fontWeight = "bold", color = color })) - end - - barWidget.render(container({ gap = 6, align = "center" }, children)) -end - -function update() - render() -end - -noctalia.state.watch("calc.result", function(value) - if type(value) == "string" then - result = value - render() - end -end) - -noctalia.state.watch("calc.expression", function(value) - if type(value) == "string" then - expression = value - render() - end -end) - -noctalia.state.watch("calc.error", function(value) - hasError = value == true - render() -end) - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - noctalia.state.set("calc.result", "0") - noctalia.state.set("calc.expression", "") - noctalia.state.set("calc.last_expression", "") - noctalia.state.set("calc.error", false) -end - -function onIpc(event, _payload) - if event == "toggle" then - noctalia.togglePanel(PANEL_ID) - end -end diff --git a/calculator/panel.luau b/calculator/panel.luau deleted file mode 100644 index 4ff8c95..0000000 --- a/calculator/panel.luau +++ /dev/null @@ -1,863 +0,0 @@ ---!nonstrict - -local DEG = math.pi / 180 - -local WIDE_OPERATORS = { - ["\u{00d7}"] = "*", - ["\u{00f7}"] = "/", - ["\u{2212}"] = "-", - ["\u{2013}"] = "-", - ["\u{00b7}"] = "*", -} - -local CONSTANTS = { - pi = math.pi, - tau = math.pi * 2, - e = math.exp(1), -} - -local ARITY = { - atan2 = 2, - mod = 2, - pow = 2, - hypot = 2, -} - -local function sinh(x) - return (math.exp(x) - math.exp(-x)) / 2 -end - -local function cosh(x) - return (math.exp(x) + math.exp(-x)) / 2 -end - -local function tanh(x) - if x > 20 then - return 1 - end - if x < -20 then - return -1 - end - local a, b = math.exp(x), math.exp(-x) - return (a - b) / (a + b) -end - -local function isDigit(c) - return c >= "0" and c <= "9" -end - -local function isAlpha(c) - return (c >= "a" and c <= "z") or (c >= "A" and c <= "Z") or c == "_" -end - -local function tokenize(src) - local tokens = {} - local i = 1 - local n = #src - - while i <= n do - local wide = WIDE_OPERATORS[src:sub(i, i + 1)] or WIDE_OPERATORS[src:sub(i, i + 2)] - if wide ~= nil then - table.insert(tokens, { kind = "op", text = wide }) - i += WIDE_OPERATORS[src:sub(i, i + 1)] ~= nil and 2 or 3 - continue - end - - local c = src:sub(i, i) - - if c == " " or c == "\t" then - i += 1 - elseif isDigit(c) or (c == "." and isDigit(src:sub(i + 1, i + 1))) then - local start = i - while i <= n and isDigit(src:sub(i, i)) do - i += 1 - end - if src:sub(i, i) == "." then - i += 1 - while i <= n and isDigit(src:sub(i, i)) do - i += 1 - end - end - local mark = i - if src:sub(i, i):lower() == "e" then - local j = i + 1 - local sign = src:sub(j, j) - if sign == "+" or sign == "-" then - j += 1 - end - if isDigit(src:sub(j, j)) then - i = j - while i <= n and isDigit(src:sub(i, i)) do - i += 1 - end - else - i = mark - end - end - local value = tonumber(src:sub(start, i - 1)) - if value == nil then - return nil - end - table.insert(tokens, { kind = "num", value = value }) - elseif isAlpha(c) then - local start = i - while i <= n and (isAlpha(src:sub(i, i)) or isDigit(src:sub(i, i))) do - i += 1 - end - table.insert(tokens, { kind = "name", text = src:sub(start, i - 1):lower() }) - elseif c == "(" or c == ")" then - table.insert(tokens, { kind = c }) - i += 1 - elseif c == "," or c == ";" then - table.insert(tokens, { kind = "," }) - i += 1 - elseif c == "+" or c == "-" or c == "*" or c == "/" or c == "^" or c == "%" then - table.insert(tokens, { kind = "op", text = c }) - i += 1 - else - return nil - end - end - - return tokens -end - -local function makeFunctions(degrees) - local toAngle = degrees and function(x) - return x * DEG - end or function(x) - return x - end - - local fromAngle = degrees and function(x) - return x / DEG - end or function(x) - return x - end - - return { - sin = function(a) - return math.sin(toAngle(a[1])) - end, - cos = function(a) - return math.cos(toAngle(a[1])) - end, - tan = function(a) - return math.tan(toAngle(a[1])) - end, - asin = function(a) - return fromAngle(math.asin(a[1])) - end, - acos = function(a) - return fromAngle(math.acos(a[1])) - end, - atan = function(a) - if #a >= 2 then - return fromAngle(math.atan2(a[1], a[2])) - end - return fromAngle(math.atan(a[1])) - end, - atan2 = function(a) - return fromAngle(math.atan2(a[1], a[2])) - end, - sinh = function(a) - return sinh(a[1]) - end, - cosh = function(a) - return cosh(a[1]) - end, - tanh = function(a) - return tanh(a[1]) - end, - ln = function(a) - return math.log(a[1]) - end, - log = function(a) - if #a >= 2 then - return math.log(a[1]) / math.log(a[2]) - end - return math.log(a[1], 10) - end, - log2 = function(a) - return math.log(a[1], 2) - end, - log10 = function(a) - return math.log(a[1], 10) - end, - exp = function(a) - return math.exp(a[1]) - end, - sqrt = function(a) - return math.sqrt(a[1]) - end, - cbrt = function(a) - local x = a[1] - if x < 0 then - return -((-x) ^ (1 / 3)) - end - return x ^ (1 / 3) - end, - abs = function(a) - return math.abs(a[1]) - end, - floor = function(a) - return math.floor(a[1]) - end, - ceil = function(a) - return math.ceil(a[1]) - end, - round = function(a) - return math.round(a[1]) - end, - trunc = function(a) - local x = a[1] - return x >= 0 and math.floor(x) or math.ceil(x) - end, - sign = function(a) - return math.sign(a[1]) - end, - mod = function(a) - return a[1] % a[2] - end, - pow = function(a) - return a[1] ^ a[2] - end, - hypot = function(a) - return math.sqrt(a[1] * a[1] + a[2] * a[2]) - end, - min = function(a) - return math.min(table.unpack(a)) - end, - max = function(a) - return math.max(table.unpack(a)) - end, - } -end - -local function evaluate(source, degrees) - local tokens = tokenize(source) - if tokens == nil or #tokens == 0 then - return nil - end - - local functions = makeFunctions(degrees) - local pos = 1 - local failed = false - - local function peek() - return tokens[pos] - end - - local function fail() - failed = true - return 0 - end - - local parseExpression - local parseUnary - - local function parsePrimary() - local token = peek() - if token == nil then - return fail() - end - - if token.kind == "num" then - pos += 1 - return token.value - end - - if token.kind == "(" then - pos += 1 - local value = parseExpression() - local closing = peek() - if closing == nil or closing.kind ~= ")" then - return fail() - end - pos += 1 - return value - end - - if token.kind == "name" then - pos += 1 - local name = token.text - local following = peek() - - if following ~= nil and following.kind == "(" then - local fn = functions[name] - if fn == nil then - return fail() - end - pos += 1 - local args = {} - if peek() ~= nil and peek().kind ~= ")" then - table.insert(args, parseExpression()) - while peek() ~= nil and peek().kind == "," do - pos += 1 - table.insert(args, parseExpression()) - end - end - local closing = peek() - if closing == nil or closing.kind ~= ")" then - return fail() - end - pos += 1 - if #args < (ARITY[name] or 1) then - return fail() - end - return fn(args) - end - - local constant = CONSTANTS[name] - if constant ~= nil then - return constant - end - return fail() - end - - return fail() - end - - local function parsePostfix() - local value = parsePrimary() - while true do - local token = peek() - if token ~= nil and token.kind == "op" and token.text == "%" then - pos += 1 - value /= 100 - else - break - end - end - return value - end - - local function parsePower() - local base = parsePostfix() - local token = peek() - if token ~= nil and token.kind == "op" and token.text == "^" then - pos += 1 - return base ^ parseUnary() - end - return base - end - - function parseUnary() - local token = peek() - if token ~= nil and token.kind == "op" and (token.text == "-" or token.text == "+") then - pos += 1 - local value = parseUnary() - return token.text == "-" and -value or value - end - return parsePower() - end - - local function parseTerm() - local value = parseUnary() - while true do - local token = peek() - if token ~= nil and token.kind == "op" and (token.text == "*" or token.text == "/") then - pos += 1 - local rhs = parseUnary() - if token.text == "*" then - value *= rhs - else - if rhs == 0 then - return fail() - end - value /= rhs - end - elseif token ~= nil and token.kind == "(" then - value *= parseUnary() - else - break - end - end - return value - end - - function parseExpression() - local value = parseTerm() - while true do - local token = peek() - if token ~= nil and token.kind == "op" and (token.text == "+" or token.text == "-") then - pos += 1 - local rhs = parseTerm() - if token.text == "+" then - value += rhs - else - value -= rhs - end - else - break - end - end - return value - end - - local ok, value = pcall(parseExpression) - if not ok or failed or pos <= #tokens then - return nil - end - if type(value) ~= "number" or value ~= value or value == math.huge or value == -math.huge then - return nil - end - return value -end - -local function formatNumber(value, precision) - if value == 0 then - return "0" - end - - local magnitude = math.abs(value) - if magnitude >= 1e16 or magnitude < 1e-9 then - local text = string.format("%." .. math.min(precision, 8) .. "e", value) - local mantissa, exponent = text:match("^(.-)e([-+]%d+)$") - if mantissa ~= nil then - if mantissa:find("%.") then - mantissa = mantissa:gsub("0+$", ""):gsub("%.$", "") - end - local sign, digits = exponent:match("^([-+])0*(%d+)$") - return mantissa .. "e" .. (sign == "-" and "-" or "") .. digits - end - return text - end - - local text = string.format("%." .. precision .. "f", value) - if text:find("%.") then - text = text:gsub("0+$", ""):gsub("%.$", "") - end - if text == "-0" then - return "0" - end - return text -end - -local expression = "" -local lastExpression = "" -local result = "0" -local lastPreview = nil -local hasError = false -local inputKey = 0 - -local function precision() - local value = noctalia.getConfig("precision") - if type(value) ~= "number" then - return 8 - end - return math.clamp(math.floor(value), 0, 10) -end - -local function useDegrees() - return noctalia.getConfig("angle_unit") == "deg" -end - -local function restore() - local storedResult = noctalia.state.get("calc.result") - if type(storedResult) == "string" and storedResult ~= "" then - result = storedResult - end - local storedExpression = noctalia.state.get("calc.expression") - if type(storedExpression) == "string" then - expression = storedExpression - end - local storedLast = noctalia.state.get("calc.last_expression") - if type(storedLast) == "string" then - lastExpression = storedLast - end - hasError = noctalia.state.get("calc.error") == true - lastPreview = nil -end - -local function publish() - noctalia.state.set("calc.result", result) - noctalia.state.set("calc.expression", expression) - noctalia.state.set("calc.last_expression", lastExpression) - noctalia.state.set("calc.error", hasError) -end - -local function preview() - if expression == "" then - return nil - end - local value = evaluate(expression, useDegrees()) - if value == nil then - return nil - end - return formatNumber(value, precision()) -end - -local function displayValue() - if hasError then - return noctalia.tr("state.error") - end - if expression == "" then - return result - end - local current = preview() - if current ~= nil then - lastPreview = current - end - return current or lastPreview or result -end - -local function toggleSign() - if expression == "" then - expression = "-" - return - end - - local head, tail = expression:match("^(.-)([%d%.]+)$") - if tail == nil then - local last = expression:sub(-1) - if last:match("[%+%-%*/%^%(]") then - expression ..= "-" - end - return - end - - local before = head:sub(-1) - if before == "-" then - local previous = head:sub(-2, -2) - if head == "-" or previous:match("[%+%-%*/%^%(,]") then - expression = head:sub(1, -2) .. tail - return - end - end - expression = head .. "-" .. tail -end - -local render - -local function clearAll() - expression = "" - lastExpression = "" - result = "0" - lastPreview = nil - hasError = false - inputKey += 1 -end - -local function commit() - if expression == "" then - return - end - - local value = evaluate(expression, useDegrees()) - if value == nil then - hasError = true - lastExpression = expression - expression = "" - lastPreview = nil - inputKey += 1 - return - end - - result = formatNumber(value, precision()) - lastPreview = result - lastExpression = expression - expression = result - hasError = false - inputKey += 1 -end - -local function press(action, literal) - if hasError and action ~= "clear" then - hasError = false - expression = "" - lastExpression = "" - end - - if action == "clear" then - clearAll() - elseif action == "delete" then - expression = expression:sub(1, -2) - inputKey += 1 - elseif action == "sign" then - toggleSign() - inputKey += 1 - elseif action == "equals" then - commit() - else - expression ..= literal - inputKey += 1 - end - - publish() - render() -end - -local KEYPAD = { - { - { label = "AC", handler = "onCalcClear", variant = "destructive" }, - { label = "+/-", handler = "onCalcSign", variant = "secondary" }, - { label = "%", handler = "onCalcPercent", variant = "secondary" }, - { label = "DEL", handler = "onCalcDelete", variant = "secondary" }, - }, - { - { label = "7", handler = "onCalcSeven" }, - { label = "8", handler = "onCalcEight" }, - { label = "9", handler = "onCalcNine" }, - { label = "/", handler = "onCalcDivide", variant = "secondary" }, - }, - { - { label = "4", handler = "onCalcFour" }, - { label = "5", handler = "onCalcFive" }, - { label = "6", handler = "onCalcSix" }, - { label = "*", handler = "onCalcMultiply", variant = "secondary" }, - }, - { - { label = "1", handler = "onCalcOne" }, - { label = "2", handler = "onCalcTwo" }, - { label = "3", handler = "onCalcThree" }, - { label = "-", handler = "onCalcMinus", variant = "secondary" }, - }, - { - { label = "0", handler = "onCalcZero", grow = 2 }, - { label = ".", handler = "onCalcDecimal" }, - { label = "+", handler = "onCalcPlus", variant = "secondary" }, - }, - { - { label = "(", handler = "onCalcOpen", variant = "ghost" }, - { label = ")", handler = "onCalcClose", variant = "ghost" }, - { label = "=", handler = "onCalcEquals", variant = "primary", grow = 2 }, - }, -} - -local function keypadRow(row, rowIndex) - local buttons = {} - for index, spec in ipairs(row) do - table.insert( - buttons, - ui.button({ - key = "k" .. rowIndex .. "-" .. index, - text = spec.label, - variant = spec.variant or "default", - fontSize = 15, - height = 34, - flexGrow = spec.grow or 1, - onClick = spec.handler, - }) - ) - end - return ui.row({ key = "row" .. rowIndex, gap = 6 }, buttons) -end - -function render() - local shown = displayValue() - local hint = hasError and lastExpression or (expression ~= "" and expression or lastExpression) - local atRest = shown == "0" and expression == "" and lastExpression == "" - local canCopy = not hasError and shown ~= "" and not atRest - - local keypad = {} - for index, row in ipairs(KEYPAD) do - table.insert(keypad, keypadRow(row, index)) - end - - panel.render(ui.column({ gap = 10, padding = 14 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "calculator", size = 16, color = "primary" }), - ui.label({ - text = noctalia.tr("panel.title"), - fontSize = 15, - fontWeight = "bold", - color = "on_surface", - flexGrow = 1, - }), - ui.label({ - text = noctalia.tr(useDegrees() and "panel.deg" or "panel.rad"), - fontSize = 11, - color = "on_surface/0.55", - }), - }), - - ui.column({ gap = 2, padding = 10, fill = "primary/0.08", radius = 10 }, { - ui.label({ - text = hint, - fontSize = 11, - color = "on_surface/0.6", - textAlign = "right", - maxLines = 1, - }), - ui.row({ gap = 6, align = "center" }, { - ui.label({ - text = shown, - fontSize = 30, - fontWeight = "bold", - color = hasError and "error" or "on_surface", - textAlign = "right", - maxLines = 1, - flexGrow = 1, - }), - ui.button({ - key = "copy", - glyph = "copy", - glyphSize = 15, - variant = "ghost", - controlSize = "sm", - contentAlign = "center", - tooltip = noctalia.tr("panel.copy"), - visible = canCopy, - onClick = "onCalcCopy", - }), - }), - }), - - ui.input({ - key = "expr-" .. inputKey, - value = expression, - placeholder = noctalia.tr("panel.placeholder"), - fontSize = 13, - controlSize = "sm", - focus = true, - onChange = "onCalcInputChange", - onSubmit = "onCalcInputSubmit", - }), - - ui.column({ gap = 6 }, keypad), - })) -end - -function onCalcClear() - press("clear") -end - -function onCalcSign() - press("sign") -end - -function onCalcPercent() - press("append", "%") -end - -function onCalcDelete() - press("delete") -end - -function onCalcZero() - press("append", "0") -end - -function onCalcOne() - press("append", "1") -end - -function onCalcTwo() - press("append", "2") -end - -function onCalcThree() - press("append", "3") -end - -function onCalcFour() - press("append", "4") -end - -function onCalcFive() - press("append", "5") -end - -function onCalcSix() - press("append", "6") -end - -function onCalcSeven() - press("append", "7") -end - -function onCalcEight() - press("append", "8") -end - -function onCalcNine() - press("append", "9") -end - -function onCalcDecimal() - press("append", ".") -end - -function onCalcPlus() - press("append", "+") -end - -function onCalcMinus() - press("append", "-") -end - -function onCalcMultiply() - press("append", "*") -end - -function onCalcDivide() - press("append", "/") -end - -function onCalcOpen() - press("append", "(") -end - -function onCalcClose() - press("append", ")") -end - -function onCalcEquals() - press("equals") -end - -function onCalcCopy() - local shown = displayValue() - if hasError or shown == "" then - return - end - if noctalia.copyToClipboard(shown, "text/plain") then - noctalia.notify(noctalia.tr("panel.title"), noctalia.tr("panel.copied", { value = shown })) - end -end - -function onCalcInputChange(value) - expression = value - hasError = false - publish() - render() -end - -function onCalcInputSubmit() - press("equals") -end - -function onOpen(_context) - restore() - inputKey += 1 - render() -end - -function onIpc(event, payload) - if event == "clear" then - clearAll() - elseif event == "eval" and type(payload) == "string" then - expression = payload - commit() - elseif event == "insert" and type(payload) == "string" then - expression ..= payload - inputKey += 1 - else - return - end - publish() - render() -end - -noctalia.state.watch("calc.expression", function(value) - if type(value) ~= "string" or value == expression then - return - end - restore() - inputKey += 1 - render() -end) - -restore() -publish() diff --git a/calculator/plugin.toml b/calculator/plugin.toml deleted file mode 100644 index 33ceef9..0000000 --- a/calculator/plugin.toml +++ /dev/null @@ -1,59 +0,0 @@ -id = "yuuto/calculator" -name = "Calculator" -version = "1.0.0" -plugin_api = 3 -author = "yuuto" -license = "MIT" -icon = "calculator" -description = "A theme-aware calculator with a bar widget and a panel: full expression evaluation, a button grid, and typed input." -dependencies = [] -tags = ["utility", "productivity", "bar", "panel"] - -[[setting]] -key = "precision" -type = "int" -label_key = "settings.precision.label" -description_key = "settings.precision.description" -default = 8 -min = 0 -max = 10 - -[[setting]] -key = "angle_unit" -type = "select" -label_key = "settings.angle_unit.label" -description_key = "settings.angle_unit.description" -default = "rad" -options = [ - { value = "rad", label_key = "settings.angle_unit.options.rad" }, - { value = "deg", label_key = "settings.angle_unit.options.deg" }, -] - -[[widget]] -id = "bar" -entry = "bar.luau" - - [[widget.setting]] - key = "show_bar_value" - type = "bool" - label_key = "settings.show_bar_value.label" - description_key = "settings.show_bar_value.description" - default = true - - [[widget.setting]] - key = "max_bar_length" - type = "int" - label_key = "settings.max_bar_length.label" - description_key = "settings.max_bar_length.description" - default = 9 - min = 3 - max = 20 - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 320 -height = 452 -placement = "attached" -position = "auto" -open_near_click = true diff --git a/calculator/thumbnail.webp b/calculator/thumbnail.webp deleted file mode 100644 index a373d7337eb06d66829dfd6f9de18f7b358e703e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77058 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/oxb>bmKyLkqwA17P=c=3A)Q}1R0rf()C3GWnt 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 0 then - cpuPercent = math.clamp((totalDelta - idleDelta) / totalDelta * 100, 0, 100) - end - end - - prevTotal = total - prevIdle = idle -end - --- Returns ("idle" | "walk" | "run", frame-duration-ms-for-that-pace). -local function paceFor(cpu) - local runFloor = math.max(runThreshold, walkThreshold + 1) - - if cpu < walkThreshold then - return "idle", WALK_MAX_MS - elseif cpu < runFloor then - local range = math.max(runFloor - walkThreshold, 1) - local t = math.clamp((cpu - walkThreshold) / range, 0, 1) - return "walk", WALK_MAX_MS - t * (WALK_MAX_MS - WALK_MIN_MS) - else - local range = math.max(100 - runFloor, 1) - local t = math.clamp((cpu - runFloor) / range, 0, 1) - return "run", RUN_MAX_MS - t * (RUN_MAX_MS - RUN_MIN_MS) - end -end - -local function resolveColor() - if colorMode == "custom" and customColor and customColor ~= "" then - return customColor - end - return "secondary" -end - --- The click panel (cat_panel.luau) runs in a separate runtime; it mirrors the --- bar cat from this shared-state snapshot, republished whenever the visible --- glyph, whole CPU percent, or color changes (so at most once per animation --- frame, and only on sample/theme changes while idle). -local lastPublished = nil -local function publishState(pace, glyph, color) - local cpu = math.floor(cpuPercent) - local key = `{glyph}|{cpu}|{color}|{pace}` - if key == lastPublished then - return - end - lastPublished = key - noctalia.state.set("cat", { glyph = glyph, cpu = cpu, color = color, pace = pace }) -end - -local function render(pace) - local glyph = pace == "idle" and GLYPH_IDLE or RUN_GLYPHS[frameIndex] - local color = resolveColor() - - publishState(pace, glyph, color) - - local children = { - ui.label({ text = glyph, fontFamily = catFont, baseline = "inkCentered", fontSize = catSize, color = color }), - } - - if showCpuPercent then - table.insert(children, ui.label({ text = `{math.floor(cpuPercent)}%`, fontSize = 11, color = color })) - end - - local container = barWidget.isVertical() and ui.column or ui.row - barWidget.render(container({ gap = 4, align = "center" }, children)) - barWidget.setTooltip(`Cat — CPU {math.floor(cpuPercent)}% ({pace})`) -end - -noctalia.setUpdateInterval(TICK_MS) - -function update() - sampleElapsed += TICK_MS - if sampleElapsed >= pollIntervalMs then - sampleElapsed = 0 - sampleCpu() - end - - local pace, duration = paceFor(cpuPercent) - frameDurationMs = duration - - if pace == "idle" then - frameElapsed = 0 - frameIndex = 1 - else - frameElapsed += TICK_MS - if frameElapsed >= frameDurationMs then - frameElapsed = 0 - frameIndex = frameIndex % #RUN_GLYPHS + 1 - end - end - - render(pace) -end - -function onClick() - noctalia.togglePanel("dotnetrob/cat:panel") -end - -function onConfigChanged() - catSize = noctalia.getConfig("cat_size") - showCpuPercent = noctalia.getConfig("show_cpu_percent") - walkThreshold = noctalia.getConfig("walk_threshold") - runThreshold = noctalia.getConfig("run_threshold") - pollIntervalMs = noctalia.getConfig("poll_interval") * 1000 - colorMode = noctalia.getConfig("cat_color_mode") - customColor = noctalia.getConfig("cat_color") - render((paceFor(cpuPercent))) -end diff --git a/cat/cat_panel.luau b/cat/cat_panel.luau deleted file mode 100644 index fb05872..0000000 --- a/cat/cat_panel.luau +++ /dev/null @@ -1,44 +0,0 @@ ---!nonstrict --- Cat panel: the popup opened by clicking the bar widget. Shows the same cat --- glyph as the bar, just bigger, plus the CPU percentage. --- --- The panel runs in its own Luau runtime, so it can't share locals with --- cat.luau. Instead the bar widget publishes { glyph, cpu, color, pace } to --- the plugin's shared state store under "cat" whenever any of them change, --- and this script re-renders on every update — which is also what keeps the --- big cat's run cycle in step with the bar cat, frame for frame. No ticks of --- its own: with no widget publishing (state.get returns nil) it just shows --- the sleeping cat with no reading. - -local catFont = noctalia.loadFont("fonts/catwalk2.otf") - -local PANEL_CAT_SIZE = 120 - -local snapshot = nil - -local function render() - local glyph = snapshot and snapshot.glyph or "a" - local color = snapshot and snapshot.color or "secondary" - local cpuText = snapshot and `CPU {snapshot.cpu}%` or "CPU —" - - panel.render(ui.column({ gap = 12, align = "center", padding = 24 }, { - ui.label({ - text = glyph, - fontFamily = catFont, - baseline = "inkCentered", - fontSize = PANEL_CAT_SIZE, - color = color, - }), - ui.label({ text = cpuText, fontSize = 20, color = color }), - })) -end - -noctalia.state.watch("cat", function(value) - snapshot = value - render() -end) - -function onOpen() - snapshot = noctalia.state.get("cat") - render() -end diff --git a/cat/fonts/catwalk2.otf b/cat/fonts/catwalk2.otf deleted file mode 100644 index 006a4ab74cad1f33f5fa50e533f8bfa388f46a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2268 zcmeYd3Grv(WN2VuW)N_8b5meWGjL{LU~*t!U~BOY);Drxa9YQ}z{tSBz>tufn^?fG zlfj08f$<3g1A|RQYGR7MPLl-#1H&8!1_rZ?jMPMyBTQBd3=CHo7#LJCa!V>W&VjUY z9ARK!5X()hC}7|S015nHU|?X&OUzCEp!Tw#fq^lBfq|j1AiubTff*#tq`<(ypa8a( zk%8gY?m~ljew(ih%*-!9vd@|o*1&1u|6)vk7+x_jFfcPPfkYX=&Sm`akB5N)tlo*~ z9M~kNB$#4mUkFG7}Y?6HCey zbFvkTf>P5l{M|BaEkaKPLAr!t zx)2@(#U3LAgA*$Q2NMG$0~Z4?!+pjFOy5~JScTcde$~7en>w|To$p5$-_IpKe7|Rk zF1S_79u>^Gx6EQb+n%GWv25>tGl|YRUc;W2%DS=EdnVh)jjS1L-vfV}h;}d9ysS-r zUPoYXw{(3UYxk@p{WbD6{fU_+Io;h!jnxrV;ZENfi{=!~$ysk%$YEJjl#nKsJE5+* zPOe*T>b1%8ldd1GpVBj>XYQ1ah3$(nrWQ1E6f^`DSV&pyO?_A>SM=aJclSo=4c}AR zX3v!GzO&@yo|fs=bL8zei*`5kw^zz{FI+Tfa&t+y^vOKY2^~%S-O}B2X14dpxA(Nv zbW8L7T=G-wyN>9x{!Qh5a(xxKA>Go=U98=c_O%tsw-)ExcT0CSG!-<G z7?<4L9p9VQn%|J$kdYqO7u#Rf+*{pOJ-cH`C&$u`lXEsNUNUp}q~%?0(eoyD#B|2a zi(6H+s%YAbo>{%KvNv_k>Y6>TuCJY=w_{cAl9r{d^&6TNHZ7XHVC95W{WGgu%UjDk z^Op23?cH*se|_JE3G)|C;#fR+>!R)3Vi$Ky8FY%)cjPs8OLzBeo3dKIv8%DOQEru; zXk*jV8Plgsn>uYuLw#LSV}tzGhoa5>ZN1Gs-Q5!w&6&_w-&Nnyz_G|$w4r(GjOml7 zPMbElvA(Xku|Xab07|W*eUn))OkTL7eMQHroMrX>9NkkcRFvj~cS|?3b$9QomF~*R zw(OQ}Y3ZscE8{3Di|k95?nzG0>Xxq0nAn#qpWExxUfo&Msai6zbYkh&nR_Sin|z~Z zUhCY}vdqlJtfsuonre=k>bl(3U8_4+t(`S-)`W)Awz}5Zmc&J!3%l0tn>c0C)D<%( zPUM(4Y0lhk>F!g#6IaWxp15l9?B3bEi>fEKPi)&!xUiL@ZDH?HgkNg5uG-rp{};6p`o#9+RPbKrcISEJ0)7z z(^}Il-P_jM(<(h>?!<|cdN|^Lvx_!1O`9>0czeadP~6kijP=)X7gN zO%3aoZt7*7db+Hxu%xi0IJ&Buqq?SiLh9VqxpA#kO&pEYH50p~yQ9}mtdXyolr%T8 zC$cxGth>9ca#78q2@5CepR}QQebb?&uKKR}(z3!fj-pn#h>n8J!d0CsX04pHsJ^>9 zzo0W~QQM-n`HNRBU9oJ%^qp-x+pbRR?&g?RaVB|j!=n0SllrFjP0v`~H@R=py1JS3 zr_c3X+1T6IH*rdL_u9VIlc#LtNZ%)*g=T z*^7Fn$?GSJwzXDwbxU_oTQzN&d{=cxV|^pXMpw~#NSIBZKDD8)wy~ieoKCXOiFPkN z)?Y0@B_}(zTe`WIwR_TvnO*XoGcsz*tIDfVLyH?r8Vc5DEKOe$Uf$i^+*`M}a7odU zg82bcI0C2USM=5Q)lKX^+j^sALCU<+xuwM=Ww~X!lgj!F`->K}^riKuO{rfznPbu9 z#vA=oUAIRx z+*DuR+}H>X3f1qNqTTb4PpXukSdo&@E#275I&n{1e_mN$S#e5ROKWRuN$9fBWtr7E zEgU(`9%*T{X|-t+n|qskQkU1()K<@`o?SPqeq-C}o;5wM*L8PKY;N!EE#~MgT2VT= zX;M>LV^1+hN$`(pXmyDmB*J744omw|BC9Ph)3Ob8~xNdv9AW#~OXn#^x#0r%j$Z bb?W5ChWh5FMtMF^Ezfw3fq_{7wUPn=vxIeB diff --git a/cat/plugin.toml b/cat/plugin.toml deleted file mode 100644 index e1aadbc..0000000 --- a/cat/plugin.toml +++ /dev/null @@ -1,87 +0,0 @@ -id = "dotnetrob/cat" -name = "Cat" -version = "1.2.0" -plugin_api = 3 -author = "DotNetRob" -license = "MIT" -dependencies = [] -icon = "paw" -description = "An animated running cat bar widget whose speed reflects CPU usage." -tags = ["bar", "animation", "system", "fun"] - -# Popup opened by clicking the bar widget: the same cat, bigger, with the -# CPU percentage. Attached to the bar near the click; the host default -# dismiss-on-outside-click makes it behave like a transient popup. -[[panel]] -id = "panel" -entry = "cat_panel.luau" -width = 280 -height = 240 -placement = "attached" -open_near_click = true - -[[widget]] -id = "cat" -entry = "cat.luau" - - [[widget.setting]] - key = "cat_size" - type = "int" - label_key = "settings.cat_size.label" - description_key = "settings.cat_size.description" - default = 24 - min = 12 - max = 48 - - [[widget.setting]] - key = "show_cpu_percent" - type = "bool" - label_key = "settings.show_cpu_percent.label" - description_key = "settings.show_cpu_percent.description" - default = false - - [[widget.setting]] - key = "walk_threshold" - type = "int" - label_key = "settings.walk_threshold.label" - description_key = "settings.walk_threshold.description" - default = 15 - min = 0 - max = 100 - - [[widget.setting]] - key = "run_threshold" - type = "int" - label_key = "settings.run_threshold.label" - description_key = "settings.run_threshold.description" - default = 60 - min = 0 - max = 100 - - [[widget.setting]] - key = "poll_interval" - type = "int" - label_key = "settings.poll_interval.label" - description_key = "settings.poll_interval.description" - default = 2 - min = 1 - max = 10 - - [[widget.setting]] - key = "cat_color_mode" - type = "select" - label_key = "settings.cat_color_mode.label" - description_key = "settings.cat_color_mode.description" - default = "theme" - options = [ - { value = "theme", label_key = "settings.cat_color_mode.option_theme" }, - { value = "custom", label_key = "settings.cat_color_mode.option_custom" }, - ] - - [[widget.setting]] - key = "cat_color" - type = "color" - label_key = "settings.cat_color.label" - description_key = "settings.cat_color.description" - default = "#E8A24C" - visible_when = { key = "cat_color_mode", values = ["custom"] } diff --git a/cat/thumbnail.webp b/cat/thumbnail.webp deleted file mode 100644 index fcf8a0a441775f57e4ec8440548edb9881b68ee4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23794 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 L`cyq&U|;|Mmw<-L diff --git a/cat/translations/en.json b/cat/translations/en.json deleted file mode 100644 index 3d345d4..0000000 --- a/cat/translations/en.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "settings": { - "cat_color": { - "description": "Used when Cat Color is set to Custom.", - "label": "Custom Color" - }, - "cat_color_mode": { - "description": "Use the current theme color, or pick a custom color below.", - "label": "Cat Color", - "option_custom": "Custom", - "option_theme": "Match Theme" - }, - "cat_size": { - "description": "Sprite size in the bar, in pixels.", - "label": "Cat Size" - }, - "poll_interval": { - "description": "How often to sample CPU usage, in seconds.", - "label": "CPU Poll Interval" - }, - "run_threshold": { - "description": "CPU percentage at which the cat breaks into a run.", - "label": "Run Threshold" - }, - "show_cpu_percent": { - "description": "Display the CPU percentage next to the cat.", - "label": "Show CPU Percentage" - }, - "walk_threshold": { - "description": "CPU percentage at which the cat wakes up and starts walking.", - "label": "Walk Threshold" - } - }, - "title": "Cat" -} diff --git a/claude-companion/.gitignore b/claude-companion/.gitignore deleted file mode 100644 index 9c8bbbe..0000000 --- a/claude-companion/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Python bytecode (the MCP shim and hooks are interpreted; caches are build artifacts) -__pycache__/ -*.pyc diff --git a/claude-companion/LICENSE b/claude-companion/LICENSE deleted file mode 100644 index 30f5bc5..0000000 --- a/claude-companion/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 lowcache - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/claude-companion/PROTOCOL.md b/claude-companion/PROTOCOL.md deleted file mode 100644 index ced38e9..0000000 --- a/claude-companion/PROTOCOL.md +++ /dev/null @@ -1,174 +0,0 @@ -# The Pulse Protocol - -An agent-agnostic contract for driving the `pulse-svc` service aggregator (and everything -downstream of it: the pulse bar widget, the presence orb, tooltips, `claude.pulse` subscribers). The -service knows nothing about Claude Code — it consumes **events** and an optional -**telemetry payload** over noctalia's plugin IPC. Any coding agent that can run -a shell command on its lifecycle hooks (gemini-cli, codex, opencode, aider, a -CI job, a cron script) can light up the same bar dot. - -Two adapters ship in `hooks/`: - -| Adapter | For | Telemetry | -|---|---|---| -| `pulse.py` | Claude Code (reads hook JSON on stdin, parses the session transcript) | live token burn, O(delta) | -| `pulse-emit` | anything else (plain POSIX sh, args only) | whatever you pass, or none | - -## Transport - -``` -noctalia msg plugin all [payload] -``` - -- `` is the plugin dispatch id: `:` — - `lowcache/claude-companion:pulse-svc` (the headless aggregator service) for this - install. Adapters must treat it as configurable (`pulse-emit` reads `$PULSE_TARGET`). -- `all` addresses every monitor's widget instance. (`focused` or a bare - connector errors when the widget sits on multiple bars.) -- `[payload]` is a **single positional token** — noctalia's msg CLI splits on - whitespace, so the payload must be space-free. That's why it's a CSV, not - JSON. -- Fire-and-forget. The dispatch returns `ok: dispatched N` or an error string; - adapters ignore both (see the fail-open contract below). - -## Event vocabulary - -Eight events. Priority decides which session the bar shows when several are -active; "resting" matters for the default-slot rule below. - -| Event | Meaning | Priority | Resting | -|---|---|---|---| -| `needs_attention` | agent is blocked on the human (permission prompt, question) | 6 | no | -| `error` | hard failure | 5 | yes | -| `tool_start` | executing a tool / command | 4 | no | -| `turn_start` | thinking — a turn has begun | 3 | no | -| `text` | streaming a response | 3 | no | -| `turn_end` | turn finished — output ready for the human | 2 | yes | -| `idle` | session alive, nothing happening | 1 | yes | -| `session_end` | session is over — **retires** its slot | — | — | - -Unknown events render as idle-with-the-event-kept-as-state-word; stick to the -vocabulary. Glyph, accent color, and breath animation are widget-side concerns -(see `VISUAL` in `pulse.luau`, and the `breath_speed`, `pulse_glow_floor`, and -`orb_swell` user settings in `README.md`) — the protocol only fixes the *semantics*. - -## Payload - -``` -model,in,out,cacheCreate,cacheRead,session -``` - -- `session` (field 6) is the only field that changes behavior: it keys the - per-session slot, so every event from the same agent session must carry the - same short id (Claude's adapter uses the first `-` segment of the session - UUID; any stable `[A-Za-z0-9_-]+` token works). -- `model` is a display string; use `?` when unknown. -- Token fields are lifetime-cumulative for the session, not per-turn deltas. - The widget displays *input* as `in + cacheCreate` (full-rate work) and shows - `cacheRead` separately. All-zero telemetry is fine — the burn line is simply - omitted (`model` of `?` or zero in+out hides it). -- No commas or whitespace inside fields. - -**Minimum viable adapter:** fire bare events with just a session id — -`?,0,0,0,0,`. State tracking, urgency priority, multi-session tooltip all -work; you only lose the burn readout. - -## Session semantics (what the service guarantees) - -- One slot per `session` id; re-sending updates the slot in place. -- The service aggregates the **most urgent** state across all live slots (priority - table above) into `claude.pulse`; widgets render this rollup and the tooltip lists - every session, most recent first, with a Σ burn total. -- `session_end` retires the slot. Nothing else does — a real session may sit - at `idle` or `turn_end` indefinitely and stays listed. -- Because only the trailing `session` field is read for routing, a `session_end` - whose payload populates *only* that field is a well-formed retire for one - session and nothing else: `,,,,,`. The `sessions` panel's Retire - control emits exactly that, which is why manual retirement needs no new verb — - anything that can send `session_end` can already clear a stuck slot. -- **Payload-less events** (no CSV at all — e.g. a manual - `noctalia msg plugin … all needs_attention` poke from a terminal) land in a - single shared `default` slot. To keep CLI pokes from leaving a phantom - session, any **resting** event (`idle`, `turn_end`, `error`) retires the - `default` slot instead of updating it. Consequence for adapters: *always - send a session id*; the default slot is a test surface, not a home. - -## Adapter contract - -1. **Fail-open, always.** Exit 0 no matter what — noctalia offline, binary - missing, malformed input. An adapter runs inside an agent's hook path and - must never block or error the agent. Swallow stdout/stderr, cap the - dispatch with a timeout (~3 s). -2. **Tag everything with the session id** (see above). -3. **Send cumulative telemetry or none** — don't send per-turn deltas. -4. Don't invent events; map your agent's lifecycle onto the eight above. - -### Lifecycle mapping guide - -The Claude Code mapping (from `hooks/settings.snippet.json`) doubles as the -template for any agent: - -| Agent moment | Event | -|---|---| -| session starts / process launches | `idle` | -| prompt submitted / turn begins | `turn_start` | -| about to run a tool or shell command | `tool_start` | -| tool finished, agent resumes thinking | `turn_start` | -| response streaming to the user | `text` | -| waiting on permission / a question for the human | `needs_attention` | -| turn complete, output delivered | `turn_end` | -| unrecoverable failure | `error` | -| session exits (however it exits) | `session_end` | - -If your agent only exposes a subset (say, just "done" notifications), map what -you have — a session that only ever sends `turn_end`/`session_end` still -renders correctly. - -### The generic emitter - -``` -hooks/pulse-emit [session] [model] [in] [out] [cacheCreate] [cacheRead] -``` - -POSIX sh, no dependencies beyond `noctalia` on PATH. Omitted fields default to -`?`/`0`; omitting `session` sends a bare (default-slot) event. Env: -`PULSE_TARGET` overrides the dispatch id, `PULSE_DRYRUN=1` prints the command -instead of running it. Examples: - -```sh -pulse-emit turn_start mysess # state only -pulse-emit turn_end mysess gpt-5 12000 800 # with burn figures -pulse-emit session_end mysess # retire the slot -long_build && pulse-emit needs_attention ci # non-agent uses work too -``` - -## Downstream: the `claude.pulse` state mirror - -The headless `pulse-svc` **service** is the **single aggregator**; subscribers (the -bar dot, the orb, or any future surface) never parse events themselves. On every -event — never from a timer — it publishes a rollup snapshot to noctalia shared state -under `claude.pulse` (top-level fields below, plus a `sessions` array of per-session -`{sid,state,model,tin,tout,cr}` for multi-session tooltips): - -```lua -{ state = , -- "idle" when no sessions - count = , - model = , -- single-session only - tin = , -- one session's, or the Σ across all - tout = , - cr = 1> } -``` - -Both desktop and bar widgets receive it via `noctalia.state.watch("claude.pulse", -cb)` — state.watch fires across all of a plugin's runtimes as of the Noctalia 5 beta -(the earlier "bars must poll" limitation is gone). - -## Deployment (retired invariant) - -The aggregator is the headless `pulse-svc` **`[[service]]`** — it starts at shell -launch and runs with no surface, so event capture never depends on any widget being -placed. (Historically the aggregator lived in the `pulse` bar widget: if that widget -wasn't on a bar, every event was silently dropped and all subscribers froze — the -**D10** fragility. Retired by the `[[service]]` entry kind added in the Noctalia 5 -beta; requires `plugin_api >= 3` on a service-capable build.) The bar dot and orb are -now pure subscribers of `claude.pulse`, so placing them is purely cosmetic. diff --git a/claude-companion/README.md b/claude-companion/README.md deleted file mode 100644 index 5095aae..0000000 --- a/claude-companion/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# Claude Companion - -![Claude Companion — a Claude Code companion for Noctalia: pulse, orb, and answer panel](thumbnail.webp) - -A Noctalia v5 plugin that puts [Claude Code](https://claude.com/claude-code)'s live status on your desktop — a **pulse** on the bar, a breathing **orb** on the desktop, and an **answer panel** for quick questions. - -![version](https://img.shields.io/badge/version-1.3.0-blue) ![license](https://img.shields.io/badge/license-MIT-informational) ![noctalia](https://img.shields.io/badge/noctalia-5.0.0-blueviolet) - -Claude Code is a brilliant agent trapped in a text box. It can't see the windows you have open, can't tap you on the shoulder when it hits a wall, and gives you nothing to glance at while it churns. So you sit there watching a terminal, or you wander off and miss the moment it needed you. - -This plugin gives it a body. It wires Noctalia into Claude's lifecycle so a **pulse** on your bar tracks every session, an **orb** on your desktop breathes along with the work, and an **answer panel** catches one-shot replies before they scroll away. The terminal keeps doing the actual thinking — permissions, tools, MCP, all native. This is just the nervous system that lets the rest of your desktop feel it. - -Don't run Claude Code? The signal bus is agent-agnostic — any agent, CI job, or shell script that can run a command on its own lifecycle can light up the same bar. See [Wiring up other agents](#wiring-up-other-agents). - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `lowcache/claude-companion` | -| Entries | Service: `pulse-svc`; bar widget: `pulse`; desktop widget: `orb`; panels: `answer`, `sessions`; launcher: `claude` | -| Launcher Prefix | `/claude` | - -Built and live-tested against Noctalia 5.0.0 (build `623210223c`), with an offline widget spec suite keeping the state machine honest. - -## See it - -![The bar pulse and desktop orb breathing through a Claude session's lifecycle](assets/pulse.gif) - -One session, start to finish: the **pulse** on the bar and the **orb** on the desktop breathe through idle, thinking, a tool run, done, and needs-you. - -![A quick question answered in the answer panel](assets/question.gif) - -Ask something quick with `/claude ?` and the whole answer waits for you in the panel, instead of scrolling off the top of the terminal. - -## How it works - -**Perceive.** `shim/noctalia-mcp.py` is a stdio MCP shim that hands Claude a live read on your machine: `niri msg -j` for the windows you have open, `playerctl` for what's playing, `noctalia msg status` for the state of the shell itself. Nothing to wire up by hand. Launch through `/claude` and it attaches itself. - -**Practice.** Everything on the backend funnels through `claude.luau`, the `/claude` launcher and the one door in. It normalizes the event vocabulary, throws `notify-send` toasts, and calls `noctalia msg` to move panels around. One chokepoint on purpose — so when something acts up, there's exactly one place to go look. - -**Pulse.** `pulse-svc.luau` is a headless `[[service]]` that runs the show. Hook events land here over IPC at `lowcache/claude-companion:pulse-svc`, and from there it does the rest: tracks every session at once, surfaces whichever one's most urgent, and publishes a rollup to shared state under `claude.pulse` for subscribers to read. - -And downstream is where the surfaces live. `pulse.luau` on the bar and `orb.luau` on the desktop are independent subscribers that only render. Both watch `claude.pulse` — `pulse.luau` breathes the accent color and shows per-session tooltips, while `orb.luau` breathes the same state frame by frame, glyph and opacity riding a sine wave, tempo picking up as things get urgent. Neither holds hooks or logic of its own. `answer.luau` is the `answer` panel that catches a `/claude ?` reply and holds the whole thing: wrapped, scrollable, all the parts a toast lops off the end. - -## Requirements - -- **Noctalia 5.0.0** on a supported Wayland compositor — **niri**, **Hyprland**, or **Sway**. The shim detects which one is running and speaks its IPC; the widgets themselves are compositor-agnostic. You only need the CLI for the compositor you actually run — `niri`, `hyprctl` (Hyprland), or `swaymsg` (Sway) — not all three. -- **[Claude Code](https://claude.com/claude-code)** — the `claude` agent being visualized. Optional if you're driving the widgets from another agent via [PROTOCOL.md](PROTOCOL.md). -- **`python3`** for the MCP shim (stdlib only, no pip installs) -- On the PATH as the shim's senses need them: `playerctl`, `nmcli`, `notify-send`, `ps` -- For the generic shell adapter (`hooks/pulse-emit`, only used when driving the widgets from a non-Claude agent): `tr` is required; `timeout` is optional — the adapter falls back to a direct dispatch when it's absent. - -## Install - -```sh -# clone and symlink into the plugins dir -ln -s "$PWD" ~/.local/share/noctalia/plugins/claude-companion - -# enable the plugin -noctalia msg plugins enable lowcache/claude-companion -``` - -Then, in order: - -1. **(Optional) Put the `pulse` widget on a bar** (Settings → Bar) for the glanceable dot — capture no longer depends on it; the headless `pulse-svc` service does the listening. -2. Add the `orb` desktop widget if you want the ambient presence. -3. Merge `hooks/settings.snippet.json` into `~/.claude/settings.json` so Claude's lifecycle hooks actually drive the pulse. -4. Point Claude at `shim/noctalia-mcp.py` with `--mcp-config` to hand it the senses and hands. (Sessions you launch through `/claude` do this for you.) - -Prove it works: - -```sh -noctalia msg plugin lowcache/claude-companion:pulse-svc all needs_attention # bar icon → red bell -noctalia msg plugin lowcache/claude-companion:pulse-svc all idle # back to robot -``` - -> [!WARNING] -> **`pulse` no longer has to stay on a bar.** The sole aggregator is now the headless `pulse-svc` service, which starts with the shell and listens whether or not any widget is placed — so pulling the `pulse` dot off a bar just hides the glanceable icon; the orb keeps updating and hooks/IPC still land. This retires the old **D10** requirement, made possible by the `[[service]]` entry kind added in the Noctalia 5 beta. - -## Usage - -`/claude ` opens a real Claude Code session in your terminal, shim already wired in. Bare `/claude` picks up where you left off (`claude --continue`). And `/claude ? ` is the quick one — a read-only ask that comes back as a toast and lands, in full, in the answer panel. - -That panel opens however you like it: click the pulse, use the "Show last answer" row under `/claude`, or toggle it from the CLI: - -```sh -noctalia msg panel-toggle lowcache/claude-companion:answer -``` - -Leave it open and it refreshes live while suppressing the toast, so you're never reading the same answer twice. A click outside or Esc puts it away. - -Hover the bar and the tooltip tells you where each session stands and what it's burning — input, output, cache reads. Run a few at once and you get a line per session plus a Σ total, with the icon always showing whichever one needs you most. - -**Right-click the pulse** for the sessions panel — the same rollup, but you can act on it. A tooltip disappears on the way to it; this doesn't. One row per live session with its state, model and burn, and a **Retire** button on each. - -Retire is there for the one failure mode you'll actually hit: a session whose `SessionEnd` hook never fired — terminal killed, hook interrupted mid-distill — sits at idle forever and keeps inflating the count. Retiring it corrects the tally from the shell, without going back to a terminal. It adds no new protocol: a retire is the ordinary `session_end` event carrying that session's id, exactly what `hooks/pulse.py` sends. - -```sh -noctalia msg panel-toggle lowcache/claude-companion:sessions -``` - -## Settings - -The plugin declares three user settings, read via `noctalia.getConfig()`: - -| Setting | Type | Range | Step | Default | Description | -| --- | --- | --- | --- | --- | --- | -| `breath_speed` | double | 0.25–3.0 | 0.05 | 1.0 | Phase-rate multiplier for the breathing animation on both the bar dot and the desktop orb. Higher = faster. | -| `pulse_glow_floor` | double | 0.0–0.9 | 0.05 | 0.45 | How dim the bar dot gets at the trough of its breath. 0 = dims to black, higher = stays brighter. | -| `orb_swell` | double | 0.0–3.0 | 0.05 | 1.0 | How far the desktop orb glyph magnifies as it breathes. 0 = static size, higher = a bigger swing. | - -There are no color settings — both surfaces follow the active theme palette via accent role names (`secondary`, `primary`, `error`). - -## Wiring up other agents - -None of this is Claude-specific under the hood. The pulse speaks a plain event format and doesn't care who's talking — any agent, CI job, or shell script that can run a command on its own lifecycle can light up the same bar. [PROTOCOL.md](PROTOCOL.md) has the full eight-event vocabulary, the CSV payload, session semantics, and the adapter contract. The reference emitter, `hooks/pulse-emit`, is plain POSIX sh and needs nothing but `noctalia` on your PATH: - -```sh -hooks/pulse-emit turn_start mysess -hooks/pulse-emit turn_end mysess gpt-5 12000 800 -hooks/pulse-emit session_end mysess -``` - -## Rough edges - -A few things worth knowing before they surprise you: - -- Plugin panels render at `Layer::Top`, so an overlay window — a notification, a quake terminal, a polkit prompt — can sit on top of the answer panel. The answer's still there; clear the overlay and you'll see it. There's an upstream ask in for panel layer control. -- Eight-digit hex alpha is ignored by bar widgets — brightness is done by scaling RGB toward black. (Earlier builds didn't fire `state.watch` on bars, so the pulse polled; the Noctalia 5 beta fires it, so the bar dot is now event-driven like the orb.) -- Builtin and wallpaper-generated palettes have no on-disk JSON, so those fall back to fixed accent colors. Custom and community palettes are followed live, rechecked every ~8 s. -- Quick-ask rides headless `claude -p`, which doesn't refresh an expired OAuth login token — only an interactive session does ([upstream](https://github.com/anthropics/claude-code/issues/53063)). The plugin checks the token's expiry before launching and, instead of burning the request on a guaranteed 401, tells you to open a terminal Claude session first; a failure it couldn't predict gets the same message in place of the raw API error. -- The MCP shim is a Python prototype. A compiled port is the intended endgame. -- The shim's memory tool drops notes into `~/.memory/inbox` for the memd curator to pick up. No memd, no reader — the files get written and simply sit there. It follows memd's Inbox Protocol v1.0 (`INBOX-PROTOCOL.md` in the memd repo). - -## License - -MIT — see [LICENSE](LICENSE). diff --git a/claude-companion/answer.luau b/claude-companion/answer.luau deleted file mode 100644 index bf65002..0000000 --- a/claude-companion/answer.luau +++ /dev/null @@ -1,90 +0,0 @@ --- The answer panel — the full-length surface for /claude ? quick-ask answers. --- A notification toast clips long bodies and cannot scroll, so claude.luau publishes --- the complete answer to noctalia.state "claude.answer" and this panel renders it --- wrapped and scrollable. Ways in: click the bar pulse, the "Show last answer" --- row under /claude, or `noctalia msg panel-open lowcache/claude-companion:answer`. --- --- Pure subscriber, same doctrine as the orb: claude.luau owns the state, this panel --- only renders it. state.watch() callbacks proved unreliable for bar widgets --- (see pulse.luau) and a panel only lives while open anyway, so this polls on --- second ticks and re-renders only when the payload actually changed — an --- unconditional re-render each second would reset the scroll position mid-read. - -local KEY = "claude.answer" - --- User-facing display strings live in translations/.json. -local function tr(key, args) return noctalia.tr(key, args) end - --- The panel surface is 460 logical px wide (plugin.toml); wrap text inside the --- padding with room for the scrollbar. -local WRAP = 408 -local PAD = 14 - --- Fallback error accent, same as the pulse dot; normal body text keeps the --- theme's default foreground by not setting a color at all. -local ERROR_RGB = "#FF4D1F" - -local last = nil -- fingerprint of the last-rendered payload (skip no-op renders) - -local function fingerprint(a) - if type(a) ~= "table" then return "" end - return tostring(a.at) .. "\1" .. tostring(a.q) .. "\1" .. tostring(a.error) .. "\1" .. tostring(a.text) -end - -local function render(a) - local rows = { ui.label({ text = tr("answer.title"), fontWeight = "bold" }) } - local body - if type(a) ~= "table" or type(a.text) ~= "string" or a.text == "" then - body = ui.label({ - text = tr("answer.empty"), - maxWidth = WRAP, - opacity = 0.7, - }) - else - if type(a.q) == "string" and a.q ~= "" then - local q = "? " .. a.q .. (type(a.at) == "string" and a.at ~= "" and (" · " .. a.at) or "") - rows[#rows + 1] = ui.label({ text = q, maxWidth = WRAP, maxLines = 3, opacity = 0.7 }) - end - body = ui.label({ - text = a.text, - maxWidth = WRAP, - color = a.error == true and ERROR_RGB or nil, - }) - end - rows[#rows + 1] = ui.separator({}) - rows[#rows + 1] = ui.scroll({ flexGrow = 1 }, { body }) - -- flexGrow on the ROOT is load-bearing: the host sizes its root flex to the - -- panel, but this column is a child of it — without grow it takes its natural - -- (full-content) height, overflows, and the panel hard-clips the answer. Grown - -- to the panel height, the scroll child above is the one that gets bounded and - -- actually scrolls. - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1 }, rows)) -end - --- Visibility flag for claude.luau: while the panel is open it live-refreshes the --- answer (update below), so a toast for the same answer would be a redundant --- second surface — and dismissing that toast clicks outside the panel, which --- the click-shield turns into closing the panel too. claude.luau reads this flag --- and skips the toast when the panel is already showing. -local OPEN_KEY = "claude.answer.open" - -function onOpen(_context) - panel.setWantsSecondTicks(true) -- the host stops ticks on close, re-arms on reopen - noctalia.state.set(OPEN_KEY, true) - local a = noctalia.state.get(KEY) - last = fingerprint(a) - render(a) -end - -function onClose() - noctalia.state.set(OPEN_KEY, false) -end - -function update() - local a = noctalia.state.get(KEY) - local fp = fingerprint(a) - if fp ~= last then - last = fp - render(a) - end -end diff --git a/claude-companion/assets/pulse.gif b/claude-companion/assets/pulse.gif deleted file mode 100644 index d6cf2677bce7fc42329a4588b063f3b17785a29d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1505048 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 z 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�}9oC0q* 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∾{p^RqAgs()SPe#tsZUGlU{XVs*|=T59FygD)T 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

723p2Li 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 Uswe5y>^e!ntn zq+6MqY}vkf)bF!){PyCbC zsKyktLhHgxj?~Kn2K;>qPL3B=urHms_S{cJX@R8m9{bL{Dnq_$stvG4rc40y~|OPwP&p zZTV2L^msy~M$5E>M{L4gS{E9b1t;9?5c1sfe6C}mOT?QRRqdh+Y+S2#FPI6aR~S3a zocVwDc1M|n)f=0yw748}tf`24z*7B3;L~INnLQUIo4aK$O_Qwp&?q4qaU@Rb^p%rM zJ=x41tP(P@M*5EyFAlG&?#Sp0un@VhSNjr^VzLWY>#=_f=In|G4I5wPZT55$%=!4} zaT3RrPKN-FmM`bSxQZ6A#ZKr9kXFCJ=)m^$L-8R;fi-ynTqpTvy{PA1v+Kk?Nmd5E zUDqNa)t<7cE$aIw?wI7}dg8^LFV~zG|9RrbCNZZ3O}`7THeWAKZjj6)@`bB=ROYFbf(SU{=jJz-*!*f30EK zf^)qN<@^^M{{9a;+9<=+*Y44B;Wb10!Dfc@bz+C^I$WEuzU4=z?=|C)cS1=`q9L!N zig#ZS+LykO&E!o@`J{$z3mUBpYhLDyteVqPBydc$^Few^NI%~ngGJdK&H>Dfjh_Ub zF`5*47_z;5#K`rjMOMPdS(#zUwP)r6tQNjLSuX^h&54*`5@YCh%j2SSRbV4m#KXx` zZ3GP+e(FTIa5hg0IbrPa#G{?ViBqj!Kr%5g;uLCPHA@no#nX} zu=z|`Byo0yoB64WeN|r;r!D02nEJSX;;a=*)O=TZg`c`qylBf(gWi=s>0Xy-2|ZtG zb~dxFVAbV$$J&?M@vaJJ_X=U{+_J*McU92zQ&*N*ZPj*|Mqt*fr>)apdu z_hQPx$8d__61W2m>K{+PGJVFaX)`ZPopxi&v}@C*-zY4fIdjhC=`(IjpLGq?37&Z~ zII<4Zhn{tP>hzn_XI(BTpV8HObn1-rnFTYZOuIF8=Gn-&wi)w|#w4{&oppG|tlRNv zO$9|urq8@RZN~Mk37caQ`ln6586IDeS2iuLbZT$^8Aq@9DO2xHp1FU<%+*8}RB&pMx5Jah8Y>)D0VUA)s~&N)|Jy(lEA z*~u$;+MI(mjjN_kzuw-re%9>U_U?%@X5MXVU!R`eS6Z>YchdG*^Dj-Ae#Xf=HX*$| zw_y47>Gx*LxoYd2=jfJGTs~*k>>KWWd4&}-rq8&OQPA(`nlWScg=y2S%$Rv|#_TIC zojVFjrca-JwX5fNb>rgf{3Q{w6Ur*qOrClvET%C$w%y%7#UmiY)4wvmd_qC-8sE^o zikfv<1@n6Pj|GL7_4e=g3n`m4l{4eCQUz;mOg*Nv>jf4_03J2yL(TSR4$%4eRoaSGF#VJC$9__ zuaXHf#e07+zb~vNANPbHa>`Q>WaVI`wXQ z_n|WnR6!Hw({^PS_6A1ePMvWzx40udwI(&IJ1wV8SV+OvC1~QbqZv8##Z}nyNjTGqlP8&hY^dYF@%THEZ8wPB(x_D2P>??vy*Qp6=UkPdVV zxM2d?_cHS%ALx=BPzO5QGx=x@7o-C%*sKKJ_tIQCkCGW+q~Yq-hr03Zdm*u50^i~J z^1_1c|CMiWdl$1a9AH?WIG1nIS0>H_;Sy<63X%h_ryDN#|A6&JyAET6-~n5siOv!Q z3=L*Ef3|f5u`50Ca$NeSjHl%@W5QYekGfAz0y@~AB8dcI_#w8>nC0#-rxYmDuJwqhzyZPsEbepR1s8I)z%Et7q@g(q%o&Drx| z!UXk-Jr);KITRb)9J3BQW1PTUdB~$HUg^j~L0KiogzRda#GEIeEc2}p4#UFVN-xB_(nX$<6-iK03zubAEpAE8;)3rmW&xJh7T8K)z_R55M_Vb(8R>t zYxvmFY{Sl3`YUy=w6HA}+H#ng(Pehiyrz9&om=@M8=mY4Joe2=;8!bygYi_Q6vk@a zk4mc@4wOVk@h&G!!(Q2&j*bsmj;^>R zCF&%%bFT8bG&kW*Mg|jjxhuk{JR9p~T{J7dnJ$usxQ zntRK}HO$5(%EmFt!9B*oGiuTL%-M799KI!WgONyT~_rwo^92G0Zr zC(memx3F1rZdf^`O7NShD<~elBO@(j>F4g@=pHv^>b279CCM36rcS?N=@dM5`t`Qn z^;4(av~f;$_br|_E)jn6j|!% zmOp*w&FM34yZL5Mo_fjCuXyr|Q%#*~JOi^F+%hYwb{3Y;a`7rGDqG$)VVkRWZfnnq z{^9v^rXQa&^Hr%rlOj8Lr-iQHf2~&QX0+_LY^d>h3)= zbKb=X6VK-qEbE@QY5KGqGv*x&iK=z?Pn|jY?9ACWrp!F%=~tOsAtR>B85KXFv1MyZ z$DzvFjTQBarcb}>7gn5+yP&Xgnwwwz^f|}vT$5+bzCCl!<;#z>yJsc616hPJ>l5at`RKVW-)QA zqKH`R;VxO|rdWc@!;l&W*fzz+s_uH&uu}elr0eCWxLsMfywz{<7S?OXu~~6 zfm@4zkdcN0$v4Hh1L!g>yr$es; zONNNbbQ{CPkNGT>QXC`n+?vvABvhs_xpRql1WB3ZP7jt8xUnN}8dK(iKtW-n1DADF zuU+SuY2y|VVsIm4i32Z#OQ*0jlVrg~$w~K8UO1orbHyiD<%UR{B!^+|za;Z*emC!V};kl9Iddc-_q_ z9Qc(W%p~Oq+gl`pg@k8Oqsr zr_HzpTHQPS%FNj}rq8-OedeucGp|mcesAWStJ7xOnKAp~thv`_%)C2e=FO=yuFRTy zW%{gZGiKeIKJ)7I8TV(*x;A~*rJ1vD&zN;*`iy(irr!gtG@Wq;w6u5Xr5Q7CCuK~W zH1*7s>E|Z?+_V{2lhXS<{PXSImsD zo_F2VJAd}vyVIsWEG(ZrW!fz#&-@v)uLealOrLpo+RXE_X5XJS>nx~SIrnT?)!Lb} z?`+wdw_rtPRnvm0(;iHnb#m(T+cRd~n=$A5)Mz#OH`n22mor zyQIg_Goh+}RcKW6xn?qwNe1j@x&bv5m`t6ff zm91UEeZz9wdv}!AEOqxS3=A)yHRb5^nYX=y(`QV-HD&tA>C-EzPndGDs&<>JZ)$1z^5pb+J(G4yh!`Hd;}V@P zNlb}7r(l`2V`4;X>x|h~a;v%BVi`&&FdVrjf8@6G(Z?!H(;12?r>iR{<`i4ZoN;&N z%zBukwNyW2=(`U-Re{d)B0uOjY7E*al z{k2D%0%M}O89A5~LKZmGb8sFBxynDElO<6k;KK6rY7Bdp@FiG0Y|j~Qs2U$(0D+Z!NGFU+^8LwQ%`pAi@4rtEL%E7$o0QNZ^3u1warNq zQ$%czZftzn8`L##(a+Cr9OAMpQ?C3jZrq)~dRAwjiTlBNFUv{Z&aHp8G0A*eIcbXa z5#Hj9ynKa;_ucz%xHmX#%=mnP-6e$Kf#a)(SDHB73tEmO^1sT?p)zA{z4`0vl~557(5kIpSmGYilgsFYMUJI^vA5u zW|?!i_@owixSgA+8LXNS_3_Ru3Cr*UMd!CNbSTv1yFt4|nDzrw?NRr{{jOqIfukioB*_5*0c&<`Y z=~+IJGtM0eN1V2wm1Po{sLyJkHRIyjMww0lSqDKb0gKxX%sZ-1>hd(5vVOlXQf>;v zYNq}dhcYd6P_ARrI#r(C+M9N-`T(uVt#m1VqS!&@v{p7ww@F8)`*CF z4gKM`scp&inNn*)*sZR3Wr{>EzRGp$q|vs{cV({6GU6qD0~`=l00)Br0}JCi2GEWU z9Rp`=Jx3jVCoNqEZG9(QLl<2GXB`7qOGT_-I= zS2ZnL6AND*eHT?tYa=u7l#J^1>^e;yTN8614Q(40b*t?BCS!A-==dT{T{{gO`^1!T z4L#Smq*5ItPc6M5Z6oKrqE>ZnJ4IC!O&ynvoce_1GF1%=JtOy=g68zB+Nij~suxT^B`VQ#BReq_oQL=sab0 zv#i{Ph?xBR;nkD%QQ6cjEpUai|h3AO|-P} zud16Am#{!x$2vA)vZjHftz(Lcim9f7i;sU&bj+-Zntn+!dmFo;*w_wNuQ+Wzdof`v zEhC5M=ypwgPi^gBbsa|u34Lt?uhh&L>iSN)#$I{F%j{fZz5TNs-81|{Dhi4=B__|0 zj+vj8SFf$>XJ{N57Tyt;IK#y=PhHJb*U(AV&?ho-R!CH>lCqn*nYXH{Lqck&gL96x zQ$)|?txX+kX3V_X-FG-Fd}>najLL?E*7gZ$S&b3#O*7_PHnT}`a8K~|uPduupHn

ZZq?Q==g%rh|IR$bt&21CMI6#S=IW+F2$8|^-WwY zti$FkIzDIK-D$H<8JhdYCYDW}dhy^j_1Q}!42<0J>NqnBC-}yRJ$t(uxe9=tVp6#^}*@Od}fzT0-s|8n`qRZAr-3Ke+=my8~?t|Q&CQAlm9Pov7#_(t`_4G z|CRG}AAk0|yuSaJ)IRT@0?)VW_U{5sG=5Tl(7?i$@t~1IZN-D8{}atSnwh1(9BB~= zJCV>Rp0?s)+uza5*Zi zJF%!=g6(H=(<)KWp4?Sx0u!9fb|&@vxM@C}5)zh~I>jM{^QmZb+{>ktJ=-*&&4`_3 z+1e*F>*V2CIon=7n_XZhxqMFXwan+!%ZpY%pI7tj<@5PjY+1|2^>(a$%Gsf|N@Gz5 z-!1ip6YR8J%C`GyWwuT|G;`(BhO$?h%crzyy;`wgn$*jcE0(RwT)1Z2E=}kqI6%NQ_pu+*$xE#-gv<8g*)9itN}({nzZlv%Ro z(NudN!e5_uCCi{)BHg*_W*ScFR8h!MEE5yXS6Yb`Iaeq4G{= zVUtyp&;N#_+cP%nTHNsKw%zei&p_xHx77zm_Xq9MeajxaU1PiR$%OcImd|FEzuU>V zpk43RizUn+{j=fomn-h){(QPFz5egFiQ(^SUp;8o|M%m`^!vMBzc{?k?ydNi z_y2ysKb^#_`Q`fl-8^+uJ{=JM{rxPo!d`YmXac(8$i zWy@owlIaXw5=AW`OAe^6GH~)c!Pu%%a_F+x2~KyuPuva6haU?Zk{(` zo>rr&GdcY3y_Yy#-ORT1JZdn=N%<(DUfNaYH-WHGLd@MU! z3X}pT7EeeMc^c5BQKZB=$6&dD_{RU{X%_g=MZ~8D} zQ_l*QY|p^Bs4t5ozN#8DM>Zu@iLeQ@HhH*Lary0eJoBQ-0q)EMW=oMzed1@9G5(Nj zayn(wqLrY@tzLCPUuRKcVudn+-{xS%)N-PtN=qMU(T#g2Fx=^xgn zJrB$KFHGcKWN_7W$CYK%IS$xLHm-;`bZOE#mz4iy9iDl7x|>ugoW-_C9%X53Sa|!1 zJm-e2*5{2AIKsBB;!7^@+`LO{?S|OZIi|0!_5VL*x~^nxwxr2PR?{iLoc9;0a0XrU zVg7Nk!Ena{zAwl9&ov#`va%wV({RSEe~G%gVi}q}^D{yjx{9|yKe8-%@%H_DJBz2V zeK@47_tE--*n);dDQ^$QdEdWr?%Te&ob24(>f1t3wyg{ESgt9!l{LXdbfr>ACQru( zk8{%mR&rf^DA6L|-)2Af@}c!SP?eZtVNPyQ%K`>HD|;mGAR-qbu*9<-af~V9w093TaO@ zpK{v=W=y&p-@Cihu{dhxn$|O$W*q*+P+M$_Ie$4`2Dq=*S@Z+KKmxY`uEL4Zp9mWb6=)L@4i`f%xuec*|*1qs&8Ep zGubq?HaBqE|&It&m)iC4CeKF*er8KQSo|gY{aSuCqmBTFkTDT z-eGz%(Ui|(()YD4n%r|9a2q-yYJ20E7x=Dyshqt7kuC3KcVwU>g|*3 z|Ch*}%Ko`O%$es*#Ib@t!GEV@U!9%mepgFz^@H|#sKRl{7DXuts$A z0gJa~e;&WF`?j>u_ubE%Ml1K(Iqu8$I?=tr4#v2IgPVk6%45W<4_^IO@bsDR zBd6IvEI)r}SN(K(u7U3zzB?bjv1XYa;#7a${&C(h@h=uk-D{G{_FBAN;l1~c)e-|? zJIzEjholL`C(^ifO^B76P{i(Sx+_U}SEuTnM?1S%Ukm-4VX;iR@l(qDjHisNel9x| z%qq5~#i@KXt5k^6L;dYpa%txZKj$hHjb%Bplde5ANJ*La=G|L}ks`<-XFR@yP z`L^RZ=L3xQ+Z+DB4^Xh5k@x4%i}m_f9QBGU4m*fVE0^V1wyXK9b;)kE_`Ql#Cm4E0 zmG1T25}NtF^j~_+id4q`&w{soXYdOslloFEbESywhriU63RVS{iY1OmkEVLMx&L|Y zw5T=zy{hLa@sjtd@rnhtE=yTd)oPueu-IM;butgu7l`G#;_J&?XvF zAHXViEJE>%&CCtX=QpR={4euRG-10{5?ATqmVU$4I>XiOLBo#AoiCTyIap*mt#G^g z#p*W;!}8@!-V0c{wzQOqcm{fyEPdhFa;TIeG*mMpAY?`B)2Y!R9URF5<-aB~m`r6* zn9#@`nh-bDWhSfN_wQbRTwHh(LOVV=^*TrXO$+W>Qgzs)`4+qDw{WM4EY>qStUo^Q zENSjb6YFX)>zcNs(EMoqFSe2@6_3pvoZbf|9@+7(-c4L)G=_ zl=amYrnvE^1*Hs}G6xveRWN+JZetb9p_@{XX3TQmiH*sk zUVFLm+3#lSD*Sm>8PWs%gH9UHJ8pCKsabA9k!HiB*+-3E9Q9W-Z;y9~yPs?vB@wi- zoMGyR#>QZ$`7E60nprX*_rzKqs~chOpVPx zFx!|+6+Yl^nab+;m9<-$-Sms)Bu}=y5Hr{1%pNO^R{UhLo@u5&p<(Y~3vD-sN=t^= zm#vwHtJ4c+8yojVq?*ls$-eui(ap~@yMNAj^uKd%MJY?6SfLT~ysnk=xGqFUPcSO{ zJllHmylKI^y)eo{;PxY&cg zEnzQM6yUWqV%Ac3srjC(mUNaaj*?oI#I-EBYH3Q=vW%`Jp1&}$* zRV%%v3IYSzn=`9qu5mU`F|OvcnS7ysaVOj458+%6ZFbH}cn)w1J(*)8Ila)!)}x># zt+~eh@(LT_nxa$lm+oBAS-FUbYyO0Urc~idD}|(k?HnRY%uczpM=U7jiDsY68OXS; z=EBY1%fap$6F6Rf314`;NiHj-;Q@Pf^U8Ow`G;NECo#v_-mGC#n3--o;hWWx#Q&Gg z;u@ye{ajb6wZPW7;Ong!WnOD-J6D|VGImbjyC%G4wW@KECCl%wDVr@>_PetP%vf+m z%86m>#;c2+D_htcudichi1mDJoM62*=hw8!0vj_Xw-|EIj@ZCDVFHK#PR`W}5?`I# zD$OukB%0&*DGpuNtxdvX3Z95a@vaFxf$@w1}th<{UBnGP0qrZi?Nv%mFfyAc|}G&RPyn>BDYYv5N;O@_wnUshW^ z_WxeR7WjYm&b--c>RnhKtY&CQH4fw8xG^Py!a3NdtYnB#-*v&c z{^sg^lRa8&e+GZ+CFkZOPnLQHc2Nh zSZV&|Xlm>U<73>s<_z2t3$lWqY|2vJ&-T+;XHP}?<`Bp4%v`P|K^DEa25WdH>|J|w zLPX@WUTX&Ctp`n6H#2TXXuIxvuf2s^bFY5DtjL?&=5=%0moso$PH!;SzwP(*hJ z#w%G*Xbmk+> z21h+&j&PP95q-wi+TncZ%8`DC*Z`YIyDbY$oLeLJ7$3Aa^>LQh>^bbaGFKZ%v-fx& zJNwJLMr57o=Tb2q4u>Ze83xW70y~)tPW<*f+a0_=OM%6SmEBNns@V#&o`4;#35PW9 zoao!rbIbC`=8joqnZ`yobL&p;Hn*wM@m@Jk`IOn4Db6{k%oY@TteL>p)3g3h!^W8Y zwC3fe$q{#3%rhsSpOj;qk}>;>)se|uNvhuL!e;AFZQoP;x%AynW+uktJLb&4ShN1h z>&izQ=QEuT^ecxtxaQkk4S(Bp@X7xko@YGmFZM7>bj;CG*vKAmGUKzk{p$-YGtF|> zOj~_>1xv$ur#I*Ry*^(&!TKuu1hZw1QKgPXKPHM@aNnG>!07Vjbuah1yq&7OZF{E9 zX7vr6)6T4sUVT*_3N|0T%X2umT~|0OFXYFk~J@t8n}C=AL4bHo_^p` zkk+14=I6}r-q<9?;IW6X$#Ve*ck-TB2iLl=(IJ>f&k43k*M0#nk4rp5B!@ z^Ol)u&%C8;5(~Dji7C;!df??rrs)S}uC+W>?~$x2T-j>iWzfbN(ZJGSxoGC?O|z{z zwWh5<7`b|TZ}r9WgHmBp?kfXCLRRn6cGS9dQ1ie}=l>SI#>BdhXpflJlD$_eFl$X`j7n1=q^g zp2cq7-d+bff3DqGePsQc*rjt9U-_|jP0rc-nzN$qx|guLOU+$X8h>HU{Kxlsxz;Q= z6TJ56ME(=bwy_VT^DMl6TIgOjcJ+Svw`zri-V(37kB$E=I$?F#i0|@!K)$#24XU4LB%Ra;|&cFA(j_-NlK4Xu4CraX;m(P3t?7#4`&!?XD z+zeNdHt=;*J9QcMw?d^oqn1T^=en%t0ueBi3d&`$m4faV4oZCX6}Ufkp_uYw_MNf zWu4H%qF}SWe9lXkpAV-lSrA|DA9Wz{f3f*tyQ7vZ{j1I0nPsEdxeIpBdzY%kWf4$1 zV_HWDo9oI4=Ov`4iA_k<-&!4bH`u$QIfS#Kxq6k5U+w)Li4#LUto7m8?|j#^YuaKx zCV}|LLi@`^;y;Sjf0W37Vb&S{=H0s)VO96%c)VD}-0;}LGc$^(H~&Z8)vs3$W+?1+ zaM^X~f3z8=#8yR7Cif#Q*#TX7-DkLu%#vnd6LX1MaidsZ-8;$oU%d8z^w}RK>;EF) zztv~vPmy6Bv8f(&17Z&>wV0-U{JVFk(%r+c3u+EoGycgrx!upA^+Qo`!{>$<$G)=! z8tJ%b?k&D`mz8hwUOwghG85J^bbs-d{~>k%OG~_+|Nqy4@@`@2ag$1?nZD@NS7(Vf zovHg}J&Q+q$IDaZZpYrgJZJIU`dkOc#25Rn%&@-M<(?~9oG`=L??e5E)~(WK*Ei_@ z*kb>qb$wWS|Bq*9g1n}tw4aGQ`aQgNYC{x5;{%ia$#*x-)wIxib3s#oInRS@t9H9Y zNT>dtQxI+$dFG{y{{Mu;t0DEvrN3>C|NSKY_xAZOcFzCtrI<6&=i`AFUS0xzPQ_e- zCsNs$^qWroQ|z(RlTBdy1P+T2$(I=!C!F(9*wJ`+nE{Wq-GYb&_nF>eF(NaB7Wqsx zXY?rO3VeCijXC~63*&($K~2KOOa{S831|Df6w1ypZ0vGsFp%WTVLI5Lz_`S7YFEOo zD=&lD1D76J5_R=e=$go_ZVzr^YJa~!-a zIHvoxN7cUiy7uPQ{QtM+zWJ{9@Mu5(`D?l{JKbOOXh4Jz~WwlVNo+@2B8mTvAprp*?gtwbk~k2XPjRC=umQgsblon$K-!dv2X8`Ie|MAA5Zzr zZ1sA}XFr?%E0=xkX6Af4|9;V&AY1LdCR z2?_Ro{>8*U;Je6H|DeAtU;G_oCr-NHBwG44)Ic(I3bV)QHDAKK&Ss>9$If4JG+fwD z)GQ>)UH5B5u)nN!s8)3A*T{_YwW8r!o8K&yNjY8jqShu%oL3Q)IAp+Z77piq*@%XIFp!TmE3FKwZV7?)48Vo=gs}t9<78{Z7FV!H?O6#}v2! z`*nKr@tW#$bHCfMe^}UXC@p_p*xkuj&Ij(7x*qQ?J7szK&w1Zpmu#P3_ow;#{fd9H zzyJULbLY{53*N4rIbpVMR0FEHc@mgqEt)clqg}jA6W4E}cFR9s|99<- z+#t5wW5$b|!b5-ddbZ9zbobw{?@kQIJ~T4PJa{OU=)j^C(9Sa_kw4vHMJmVQ5{aI> z9J2-aB2*>{-O-SLedD=RS%PxsBjZG_$Q_zG`_6V5eNhzO9DZ0TNjZk|u%qPJ3OAEw zfxWc}$6LG-b}thD_hws>{oGtU&&9zbL8DmENhVEDwG>n_dw-*CRJ8bZynux=$jjqo2OA%RSjWG44>oWscVfPDG%k6?3E1HZJ&rj72 zbnf;mD+pU4J@uHw(uKX(o`tP1WmS(p7#VbzO?+MO*JlaATwxE@%9kAbn_)6#Vay9V zk)5JXk6P_ndGkfu_k~+0yvsVcgYQmO_?~ZHv?V?=_AU8Vyer|$yNbKjHyG{A7rtMr zZzuTcR)LuFlpkxKRyB5A`o$J8=UQxQboPnvx`^%b9(>W);MIBXUC(00DqT&(XIVS) z6U^uE9@A*Cb7%KLWTHU69GgysJ9zHj<(9o0XtV$WON^se_O6D2QiKd}1( ztKO@RfvGzzj;kGG?cMLmUv)>KNAujacN6aa4lP*Ye4=f(yUDtPd~qkf%~54j?VCF% zHujIVbaI_u^zEtssS-a=XRD=$>^+%kcKoJkiRwr5**fXM_BRgl@x71u_$O6t^5*kq z|B4qLzM1YUT_qRAw$zMc?h}{CH@8n*RY?;%2@J>b9t;6>3Rz8%P z9TdnuWBWapH|DoyKbpMk)&<_FTN}z5`*pA1I($I%xmi|VTr9i9<_Bxs?bT%8{JIpv z|5)H7!*)g9Y=z%P65HCREZ*3s%^ZD8;GPR_|Ju6^NQX8uFmN#NFmi$S5{rrIiHqw> zNa%@+>x+r$h>Phq&^|iisLXi0Mm7=t_#~h)d{-NEk{= z>WWL~i-_xsiR*}oX*pOGiHR8qiyKHv7>bD*N=fNTNa#vQ8OTWKi;8MXi0ev8=!=UR zN=xcVit9>>>&wa*N{DGoNE%8@>xql&i3qz&NgIlb>WGRPN=O*U%bSRcYDq}y?caAr zPR>|FR8vAsM?_dlMn+#mLQhOeS3+7(R6<)!Tu)fkKtxPSRKQ(K+)zYVM@&*rTuM(& z!azpaNK8aaOk7_JKg;u2PQxy=&dhDVRw+_mf6mMzCm zpS~|5>>(j$C@iLX?AWb&b2o3>dTQIYGa@4DbLMQYx5__o;HtEw!J0J(*R4AwBBC!U zV!db2#gixR_Vq3l6*t|!{miVHYm187#U(TsEZB1J(6u?UH%LpHh>BW>N}5PX8rxeJ zl@xbOn6Pxx#ASsAtu-|hd%71aU$%Sq?h7Kq=1NLtlP5115%m-mvyzmuJAC-&#S2fH z8mFeDRL+~XxvaFaxoNtnn9qg{M~)xAJ9Wy+uFiSWrmd0?)t^0Uy_%X$T3U5O!?e1( z$z^5TD_8DaFn?=D`2_L+;J`|v;ORvhkbpETUusFN@|IS>WWF|tyr;l z!}_CJHlI>av21IbwRhje%#0dMO*?T3gM|yXiwk-sCY18=Dc`vMX7AoBixzDY7PSuu zNEH(|jtI|9N-D3e?vINr$;oaImoc}o$ecc7O@4k$NJ!?4S$FQ-{%CJkvTEf4AD_h4 ztM}Vl6f9l3tD>SyTug7~^tFbDu9cO2!a_zS#vakp1?SE_wy^MRZJ8~v7+`0UCoN}J zTG}lp?&#=HrK97hr{^+z?ybw0UrI@Nx_iXhn-|ZReWjvef}Fg5O6CL!sbELfC}aHu zd*^ITjgZ3pHapv351*1r)6PtpxhEpFC#P^`bLZNkiY2wp%es0GH#F~>Ip=sq!<<7` z4H_rtBTezM@QXNtSLF&Qo5=`lbaqtWd+Rgt1Z>MrMS{x7$!fvdICeU4G;kWQ+C_f6 z#3zuUS^VnG$;m2h^Caq|bZ&0WIMih{>6!`Xs+w;1)J-D4K0P_K+)CGO%A<#=Rt$GG zbjjYHcsOuXWPO*y?UFRt=506RVzk3`0#^o3ui}ZizJhHJU-gMU7q=JO-5n$-9cNRx zKH=DexpAAc3IwmMo~U^0K}FZC(;73K*}r*K6&%dvseICF82&Y2${fz_zP*hdcNSzE z5L-3tm+@nb{*TYvYz_SLSDYwZ({@&B;mtjpC*HE_xl(?SQ)%{Qo;7pLKdssnU;V#j zxk1s)>vtD_erCO?jitX#%KG}6Nkty{uY%nt)XV0&UDi5!Fwm&ssmT0n!P?0(UdLpo zxC#7pm6)r*67oW}lq1dkPU~mcCA}@hqHS%gyE=|vNt^BIBIvSP(&a&bP0ET#8M_{` zFY@$$a${kz>4anfOWT&~!mW{iBPKK%oRaXXW$X);^RSdsSX5{3#J;doM(B%Txr-CK zgXxU~=cUCjKYC1KvgTd9sQ!y(r)s;Qkcimiu&FasGs|orJn`DT@n)J=zrvMs&K^R) zCeGE#OG)DCm=~eiz_M3ZN$c9rrxUrKeVoEJZ#t)n>+<`1k47%t-nwJ@qJVEs{SMzm zO!)0hKK?)EpUS${>a}N?#^xJLX?DM!%@t03rOMD8wf*J%UzLk_EpJsUdzyXvnERzU z(uK{hR3}O8n7*D@m-9;Lk<952r?T@J>V)X!UY)hF_}j{dJqxl{P2JWxvt{L$=#$rE zcP^_sF148TUFYJ&1&W1weV_lig_}%bG1i(p^P&Uuc9CZ7$%>-Wuj((6EPqqDQkr@9 z>*Ff!D-O>!XxWu~Qgrik_0zXmW%SS3a2=I9+kQ)ZQ>?{znZkTlktrSLUBrD2{oE%1 z;;?+bb$n>derR0rdRR~ z%lg~owC9@Nf?Q&s{@+2(({KOg97R15yCV;`sI2?(sK?x|TT#Nk>&KHR)_FU`W~Ar+ zeA>%>J9e!msJ^Ts%S`j*YAZ)WzH{dUnR z*_PxaJBLZGN5`Dk=AiCe(Nl|zUh}MBKJi%QoWWVO_j{Qi)XUc~Jkd`1_w&Vc{eM5+ zY~TOy_lM*9|NpQlB>ex&^hEx+=CSGr_5Xi+J8-gj9GK1F*x=`p(8_hd;m=Zk=6Br- zSkyfZaz%Y;5_a*pd?-;l7V=eIbmI86q1}OJk--0Ui+#;4hbwa#{DR_E*a=x}?9}O5B(nU6v)ZK(UB+9I z#I{x(mZ{pvn!uyXeypS2C@ir%!)LM7^%HI_Jdb7LTav^VI=Zsm_}IrgA@Og{M+VDR z8~aP2JmUQ1;o%@v#M0rjL`mH8g!8$H6YKsYtEhXP^osg4X~vl)YENGrd#71Ax$nqg z4QEex&!mryjX5fs?k7(%uK6@^y@{$uy65SrTS1fOPH`3Gm0)D~CNxRlN9xBm%`*v7 z#_a1@mKoV*u%uZTm+$-IU^3m)S0u!E=5?JXy4z2l%{yl_efJ$j&QlKOa%Mf4bKE7( z>iW!6>0QOMR+y-BJkva%bnEi$A7_@^oo4^xHW<1bl z>9R=pV?n0vS#<%mIe{z*ysNd|b6%J|>+2fdGcWzBcX`{cVUjW4aYSiSL&(xeCM-RB z8ih&(7+nJrm!>wT6ta~(XkfhYp^4Y!A-Bx`a}KLoTGL|k1<$(9c_?}+ z;1$oIg;Ayv&g=JOG)bM=&@HW^xYMlQn32=zHrY8&Qk&i$lG`(j!PCM?C~1L<>7FR= zr)5q{ruwe;)&K3OlrgO_(qX;!!Gv%Il`Z0CAL4^@4Vis4lIqhcvUFx`=vXNlk}j~C)i4?{gg zb}&AaW#Rtwpk11w;gA={@z$%SlTXX3NLuYZELfwE^4&^UQbuGolgq_O!M^7DrM#{Z zGKEq6%@JJHKU^gqeeC-GlTqw{cdNz;hcp+3M_dYg8p1w_Z3PkH{~NP!xHv5~Z#TDR z7F#>RS^1KTkI{j~^HnSIOg~khORYIrKV`;iO)Ypl38O z(dn|dg5)9766TD#2X93i928shqesbSp^ed=nY`+I4OJ8vIdo2ZS-j)u!Wq7X>G5HY z`PXl7F?HJ5V|t_gxG~U{=Y|GN?dp&*FckX@vwNaxdF(7SEi|qOp1v);mjrtdUi!3WRqL8QaIN*R4 ztNFAN2GJ9&+!lKt@~>|`oG#E&RPcSdgvSd7nU9^)3C_H!wa290EK-x+Fo>=DFY!bB zNNrcDf%B!L58wC>%sm(1Q?v9{+V*q0FY|nhqc)$LdrZechC9J!is;$9M;H1E@YmHd zoq6!!h{~7Wle~94l>GCUWrppAl#XiKM`8wU$Kwx(#{ZAzFXB*CpJZ#u!SG;*P6Mm* zlw2Ok)3pLh>>uLO71-CbD?YoHTEZ1oSmv!^^W56MMy2|khRUBiAAikm3k@~w`r~H}D=1vl`fMm*wOYVmT%ONT2f**g~-GF2aOFYLW_ect(vGmgv% ze>gRD{X@}p9jq2Hf*nu0DugB!G)wsXxnJVZER^=m#VTQ6X~Knt+BrL%N+j3(c;`Rq z<0k(4|2G#(WeV%r^iQnSHC!z9`&;wfo$)0)vCOA~?ACq$pmbz^ih6g&``_|^dY=b7 zPs{t@QpdI;MdElE*9{+@69I3+8~8*Ud#(nGRCtNKsQEQjaoaJL_L}$BCPF~v9cd=`y1ZeUE1Vb+Wh`WlUan9?TKawiI%&|!;CfT zRev-$Eorv+5$dy|B}t{lgQGRbqP5e##YCdjZ%2zxMY!Oy){q|&@g1$!9gSfU4HL{8 z+%?)FU$ln*XvzA~mdMebGoxi{Xj}A*1~rLxmW+n%8SNS`+KV|lG$lIzi#NMgw0|-0 zDB002_rpc>e~Md+M#n^r&RCDmX&jyD8g=QZ?a~zm_FvN;yLWEi+95Z!ZpyKk+KA4{ z6`fHMUC)lQM^ATdd63rAAzibhOX6tf-{&DLHxe2(3TMo)*H_@>5UUqgk68U7KY*j2 z!=h{757&YRRZOf|Tpwx{xw5}#%YGUVGvh*bzyhvpfxaalgr*f_drgblC=gZrforR2 z-O&SCyhm7OH*ha{(nZuf)h+j1-f6RaTPd(K3114#5W;kU)6bJ3snTwHq@T})*<2U6@)t~(cVKUM z5IS=MyL>C_(}IwYGG^sv`FEx>H2-(YJyIFaq#80qp{(mzc++*Ey$iU++gY;=qN}$t z9BJUx=ycfYz$qWe8~;F5_*vTG2cc^xaBNw@;9C$eXJ&s}MMs}S;+?5g!olfGOE~UL z%eeC`fBw_NFClzJKb;y93coCw{qJ)jYkMvydzhS+|H;mPT}f`5RYtxB!8;X-W6H7? znFaqdt%$wATVuv?%9MTSgP4{N;bHCzK56C(Y@4#`18YRW^s54#`hxuN2RQed#qDv5 z))biAaUo^Ofr(txSkD`DO;!kQ-cZDpvOq9x>arbq^D0>kPjxdC@UBsvf6|QG==d^= z2_f26ZpBqSeHq+I>JD6CWw)j=wVBn|cX8?d|K(6CWfE2pT@ujKJ!^sDmce^_)etRdgd0X5y2DYW;89aps<$#h?+DUUhYO z@2MW1k`-}F6BM4Y8a-baSISyeI+J@Pr?Yy`moGdM1^U7a_=-0qJ0`}~zKWS0*}3*W z%H=OnbqBKbz7@_7oMF6jew+IGNCD2`2A+vCnK~BCjD5cB@U8`{3~cRJxjbJw%33oW zy2`orD8rcr3(tPtI6okn=X=$e6rS8|Ob%H~js(n>t>(P=|7A?+%#O_hvvQ_SQ(>5U z*};$ZGQ-9Ro6N#`78{h!{pMu;s^hEiDy}S^i5FJZOpUs#$#6}8?^;1#>4W+0qLbDx zm_0!(#xs$}PK#;(%1yjiwwOO)uVF~)R^STh?&kct%Pe3Km5R=@215XM;B$<6U>a^3{q<=dF9PKdo^?pGziX}zu9pkQaD=gx}K zs?R6c!o#ZOK8R&yW4L*MD}{kW^QVK4K}Lg@+sdn~9SgYLT*!POz;P;Irbjt*?E*Hw z-5i`-*`trM&vIDDtx}mHwq-I~;u-6Tx&-Ff2Rz?BCUbU1iU0QJdD-*ef3>^d%LTo= zodP*~w(btEf3Z`*pet^{f%X9fR*QfFo)~& z)qZbo_op0X+j?LJ=bC+QMfQF3ZdJG0uh6rRQ6^L=W?zNILG9Cr`DBhb{W)Y8bHs8+ z+`$=#<<{)AzH^}0BFz2I;SJ_TX1X2?$T{-Z`$*uOgT`x)cHukUyJ3m}oV;-~YF*pAc#d@8iY@1g4&A!0<`T1ebGvP0GZ&@63 zMnB~6lA7*)dluARnD#fjX~iB^9(JAy54nMJ?hGoy1@Ne5^ z%)WCp_tY7`-vkEyH)3(g5eO-pOwye7c;_yAY;1#bD; zgasW7k9zW~^X6o*;(pD+Q(BW8nZW$zS!~gVUHXo!9SWB({$zjfRkG8qVnP7#hXU66 zf~+-Cad8H5+XT3$C~%z<;H}<%=4JRavw+zaZ#jz!*q%?bPj|@Ajh?-A0oM)%_A<%P zyP8)MudtkFn-TD!M>dwBsWOBkdI!({l)GPCW(sIBHNGyI;F-Hrb^m!!E_Sa8i#z65 z>)MBWn8afeW40h^YB^`5=;fzZ*#C59Z=K7UFq8WTLy}#0h}1SNakicVA0}*bSoH4& ztNv-WDXW>!ZVbEId(38o;M6KkcPj>&=$Z{Rj2owN zZ(-YiGUcxP_T3>|^H;rA&?B;dWB!L6djn>+ z)iSFZE}gvcOlWfY_iZIPdYljae3~z?-aNt4&bRRCgd1lT#EAUd|C9M4v%<^r;M*_cF9!?%~@RFD_TVbba7*Jcf@)m+9ClW~bhQ>;>U#KIAZ0J6xK;8L@%= ztlY#iyI1dZOL=U?KEE;FYMwQp?m54%s*5$O3<7~~1mgFb?0vH9tl9qno;#*{fA)me zD%3`uO*)*o8)YlDTbyH6xaYR- zm6AY)Hy1;4V(eIpLuG}8-HE7Vg`Q9E zmzCeV&(AxrzU_Vq>M$Ed|dAySiavpBrI-v0WmuL4{ z1_6d60ZaiG5)P(B&C}s|upm*DO-0H;@~Ap%ugLBq#{)B*X3fxB)ZnP`?fIfkJ2mG$ z49k2DFw78<@GTPd6rMc&s>806C7z5O(;d0@zBie zY;{UDG=5ELU%awlS!QUJGgm`U6yuDUk6nA_Sy{-7DK>DO=iRdC*^kbnAA9G7nq4Xq z(MX%L(yf_6Ba6w6r$Iig{nrAW%C+a`+iJM$P0!|2vYb%Qbl_O$nH|~(gTDNHbaeWi zt)}*jGXxz)|K}D=xpJd`h40W3*R95XyVzIe=USwnU~!V_30b0(y(yvi)5#mWw#62V z!8I2WoZ5;Ny>yt9RgX`89=gO`UePu8tCCv$jP;_cF8nh5_)<|CQJ?i%J5wGWXcEVL<&^VFJGj6w{lUmkg$9>XT)&f&BetbSSO+Kn5 zaI+xqog8}+_03D|`<6%)9{$RA=c4WRyq*OUk6h~Bu=w{cVWDQJy}$hyemK(o;`rAI zM^P}uV(O&E8?@xyfvjvPD%V8`~PMGJ?qs=ly{h% z7E#(H75wG1zXZ4K$1?`IbN>5ZWK(+ZDNyK4hr9dNOG``wwC1{Scxf*G^5v9kO z!_G3BUUBPAEeSDlRlR!Sw+So59t~?-hp2+dxrs5c#cLnLlpOU9jSarJSKl$`q3-pV z{MoH$QI7E?hc47k|9ai0oO3C^Pr9P&G`8mVz3&rR#pPz)t2=*n+U=^^zhd#9t{vUs z*TJk7m^{Ju-=^eA?q@3=OMc!O{-9ksZ0FN@?m9E}nUZ-Dsgv`si8JOhKG>4feVBJ< z^2Bbvov{rQ!=mn0^v|1qXO{egsw|NhzyFfYW^6oHmA!7|H>r$;`}w4$HZ^*f-dU*%8#gapRCag%HWg>t8R>D^#+`!K z@~$23FROlZ)ck+Vm+b-dwck#c$2Y4!nqL3!@m^i6iP4|-tInHzp@~o6RmTF+SrL6Q zOe=(?In-p*XSEvpDYd)SbehOTpPs9b$ZF)l&M^JMQOP?A|Jhz}CK&#oJ(=O#7cJ!v z3T0wdvJ7PpSACcDYkN66kvI2-oy@U-_Rrn-k6dYE)6`WK+A{Ot#A%7V%QmPndQNod zG)Qa~ddj3{e8WZkUMR2521ahlqO)g8+!ovW_&fSW9NT?rBl~@Z18i?HF6d3z!JxJ0 zk-XAwgcb`tsE8p`tS^n=2cg>##b`ERq#8ypg4PEFXb=|;QNv(CVp2IQTMT`t$ z?~d^q7<975-Z?5Nc0#a%<5=J%gQM|J6nNL{J!Jl&$wgB7%PQero|8ow+?8q`?UmMH z=I(S^AZnv19y(=%V4X*!DO2ODxFft1PN$?9Gp}4}!;?6z$4(s0_7h|;X=B+)66{?B(E;%jIU^&!xFU2*!EYT9aqrgD^rAo z1twlhGCU{}vEo?6go|8FyB=CyDmbQYGsC0g)uaV+Gg?Fiq?!_ZlBOs}I_N%85Z^h4 zNn*=I6~T>)lLD47&s)-P`tF|#Eex9u3TM|`=hM;@_j%MJsV{O+-=}b5TuoDzGIM71 zU8$f9ui{y%a~<^<9Cs`i+U&Bn;-y46W1okQ7SHY-Zt+fqHv(!*d2}Wmmda5$_GL-R z|0y*^rzYwNb_&J5Dyy4usy69h=PEUhZrjG|e%~~`SvMT!nY6M^^oUp3xkX>sZAy9_ zom+j|ud^g~H*b_V6XRw7SSIduKF>=8q&-cS8O!p!=4j+>JU92%!mSodpHEAQjI2yl z(mwgC)l0~Vd&#VaRym89Wi~v#Y$oc^JLBR@h9jp%dYDw#X0O%Fdz&47_mf%1UI})= z$>vLcewxfbrQxN<6Nzq@H%W{E25w@%n0O9rg>g>nc%Zb8A*Ll%oQwA_XPNKOPN6Iz ziAf%hwR;kIE*UWj%+B!AW|C2AD_bgdjMKT-SuoJl(@<7!K}-7?12MspOB=rK&7XL8 zR{Y;zSz^Eb?`AVP;WepHMM-d?14|0q$99K|=M!HaQBZebZcDZKD!QW5SKN66`xGm$ zO@c2BeQb1?nu|)N9o^BCy!%kon+Qg3k-JYdmelZS>ThuNdDyI7)^o1FWE=N>7j-iU zMRpT=Wwm)5xhD43yiB{se|h@m#~YTl&d*%(vvjVS>35ZqS0NhH7nsdkz0&+|R$A7q zTu$xMwYjz1{ndGe?6-bd8`}GdVdJiyd)rDk{?*7%PUo{XP%&Hn-pJ$5$)H>7%WTAfpT`aHh=C5F0VYQDaUg4ApdiT=RcjRwjG?i z`_EHF|I&-0btOyqYoB^=-*SP!FMsC!+2XH*@!|O&Y?F5D{aN2S!+3A)YI`P;{Y)kYn0*dBw6Z~*V<*6KkgKLeP{mQ$#!+~RgJ_In)PmMhi-R+Y8*73c+q)e_ zuC$6zIbgQKQRI!I@E?1HKL->goRoB<r9Wd=3eTIP#?&$Sq`7?{U(cl^N{i4NiJ{4kcm`SZ z7#PZKIKNkDtF&NmwrERs;80I&ubaVM$Iwt2aHMhryT%@8j~*A#IWAsnj?CN1UiHJ$ zPNcnA!lf#pecnR$LWUzv7VMQ3F5W(_p)syuYh21c@cGSQui3D-c!jHDk5f>NYwR7@ zxHm^Fx3tf{&F&!M60hTyY~z;lW~NQc(a*ctT~*wYeB3hUxMj^bl6qxYfQN z-16rf4u9kF{)Agp$dP%Dt_%_`wLjd-a*ij>Vae!mYi4lEU^?nB0x=gy+mVo|BH8oYiwE z^?~O?lM{|IM_hb7)MH$7Kem?0crAZ&JjUgeMa!W@HD0Tycr4xHdHZ(rGL>Ts_IPc$ zbG+t6`y3hXW`)xme7v_FIkq+DbkZ3w@0Meg8{D_A@eXr2?YZWt{}%6kJx6?G+^wgu z@3G<7@y7dbkISw(&Xp0K>Nigxt~q0VrG15od&!i;)e^^+nYf?0<74^7^Jt3C`vRYH zGG{-}KGU?KU1N>Udx0}SZ;l*M@x4)UsJh~8Gsp4fA71K_KFu0uZoKhrH#u9n~aHIL$e7_A1NSW&z)4Exz_0&KYOgAIF@1QZni39>0$* z=bCP?<}Nwc%yIssiBIJV4=s`Q>KEsl6MTIG&wpLxT~cy#=9e?Kuekj+;ds60{0*B^ zi@)?8eB$q0=yq?5KV$0o={aZTUq1UQCxFY={-+7YwK->YuDQUr_rjSe=YIY-W3fl&LzB1*g$=UZg7r)l{@v}1gYH^c#8qia7@s3E~mpd0iVYSMLq4IU8PkH@xm`c>Uk-2HuE9*@!0Hh-TY}7T<{0*od~= zi1yluj@$r)-W&RBuQEZGg|RX)Fz7&*g*^eE{30f*Cnn$_CaNVat_xZgCZQ)Pq9rb- zCoZlfA)zfTWoTzpC?T#ZCSo8VZeVL&WNV!#Dyn5?lPfH!AuDUBpkOK~sV^jEASG!a zC86hFTOuu`Z)cM)Cay0fZ7U;VC?cY6V_Bf1?Pz12BO$3PC8fJ-*Lf$$@S{g=E||Y% z+SJuErmqzjGY}M1laMf6v~Y*LP4T?BoBR8hY}{~ML`ZAJ^1ZgUS)!t5_O=D$qB_FD z>I!m32M=5`(0ARp_wv@Qr);eX#YEigZHo@#H0z!=g!%5`qTq+GoQGTcoXPoQSY)cv!xekY{;W_v%##1qGBGtaAlL zH4Y!Xm6lRfkl*6$lMon~e&PI+l9Db31t&{OKYP0%Apy(a;0!S_CpA^8{M_a_a~{u{ zd$qQ9vaNH5q@;6O%dG0ENqs#FZ{B=&?(8E+&xAR1E;Tevoi%f9R7Am?8IMy^%4MWY z9Nc5}?7Fi1qJ@Nnm4jQ(lzA}()Gx;n)r4q_nBa zH>JhK6c=?f%gf6rCYD$^gzvd3C8f$<)3nOn$s;W}ea=St6E{>VYStY*FPD|sG;PLZ zNh!agf|42Yj+azB?L8N*Zx|FD(IF~srf9-2cXj;4N!#-CLnGsCyn-?s+q|16D=l4e zK|qe9u`OlEvSZOHm75QUme^-ca;yrElx!whu4vys$rykYOjJ9*kL0T4uxMD(? z>3|~SB!P4d#4$WM$QXkb1 zMQq$rxmk_3!N%5-(PWa>mQ`0*J4P$qVOt={kbQ?CX0}(@s=(EYH_Yl;zHL?WX0FqQ zp%;v^Zts?VZ2Rj4|9X$OYinFrzW%OfRU+=$kz-PtaQ~3NT+84L{hVmU3A$!-Cmty8 zI?E)Vo~Kc{@aaYQPTeofQ44fh7DX#Bd3yGNNzjJlgQVUlYH*=szBxouUIRU{;!wFOD^dBnY4{Lq5t9TkIIqdEb|MP z4}KOhOxQ6$K=}V58-{=wr#C6hQX#5;j|s{C7yQQ0a3-Q-x)Fw}fL z$x?#N^MXFZ1@@cbqNOWly8jlOd6(VW%2S|(EwpojVU!;WgO;_Z31762(3W!!Q!gZ+ z$^RnId9kNROXaAOep@@IT3g4>rA@12C6Yb7HocVMix6@N)X;sjL1>zM&4!@44ys<6 zp0!nO5sAN-Ff-WXDptM>h*LAkbj<(xGTbtTQQ-87$Bh3s^<-_B7jka()@Q4<-F)A^ zdcFQY-!6v@EH7Q&Y&`L6+M7*h%wFfL%L(|L({x$QV@2fEzL0q<7z{4uy7#n5zgzlf zTJ-##tP5xBx=gj1Hc#M#SK)Kljw{*g_x#{m@P6MP(8(_h>^dI~{AR1n-@~EqBcQ~V zZKS`4SG{J#K5pThk4Gia*BBl>#dYP;t{L;JmM=Pgs!-#E-bp5nQ>$B_oZ{AD4s~E) zTyaHpTl>DHn*-AiPSvWJ>M|ql%<79vCoy@5#~!-mVm?LASZ}uL=PPXizNQ{Jhu4&F zM+w^UFg){E6>wEq`AX?^-{rLdY%ZB=%}zV-*DVj&w!-TBUEQm94cS$0|F_*%Udp)c z;Dd(vBj)#>Ok=;ubokwsiaHS;v!Ev($5|KyqDr<0KM9yLCG4p|Y+bQmZv?{u{=PW| z0=(WXA`2Xr6tJ)|Xia(IGIPOh6{}TjriQH*%v<+agjQ$-A8^yHVeXEVZ8X??lWp%j zYd2YzciVcKZ}7H!VEXEC)Ipu&Kc^UzYhtsgiHqx_mlxa9jSZFwf7z>4KgIrn)@p8* z&ObYK96Obl>}cg?d(6R*pjgLzvXysE!vT4d#_G$(9_b>bwv7uCSrjxnq+71H`Ih)A z+`r7oG=p7HN`+Q-0mgo!)AQR{zO zD4T@JLk5;Wr=L24jvX&Df>{44INC25mVUN}4|ozq@+gEixxoEaxIT`#c zii;afl%*9Po-J?EnD=;`>d#Nt?+HT zDW~u9e%tu<;6x?G*^Nvtz zRiD}+7*f6X!T+P`+s?n4!Tm-ejA6rpwU#9vj5}5;?U{5$w0Q07U{NNQria>r58F2GT$u7Rcb#Ujoug+tPuA6SfMh_8{|%i!e0)-rXH!5l-|xx7nm&AP-? zo~v|JDtDsv9*YOp`qJ;p=V&W63MB+j%9+wE^}}En^Od|EEs~8wEN5&Cd6IgcPFejg zt-&$o+{AX4gNJzzY?oSd!@O&!zE6J=U#PJnM9xBBrqGj}Es-uY?@w=kv+#S}&WybGY+Z?FUQ8VJBKqvN zZk-OPS)`YE##5@q&`j7l<$n*$*89I?mbcxAJRnlj>X_ddE#8~Q$uR%)bKT|K8I3Uq z-IUKgs;xcnpxNgjR}jlP&UDSQVJ8?G^JNad^kd-kxjsR`s6t!d#c4ZE8>XrDwV$+B zbSA8xbE7Bt#Uls58!wtHLKkSHD1{z7d4E-4qQHS}HvY8^XB{ULPqNRLGd1=zGuQPW z43QP8o0{Eym8z}IU35+m3UT*Y!Q^6O;H|7PNV6XK+keys%dPUh%S+ z+!%{RU6UeNwmW_(-(~;DXkzUvQ^#ovxfWp!55zs4ym`-_l=XVBKxoBkQHG6e8u5?V zzl!K{YWs0C{xRCmY+3S5K*%9friCN>|B3Z3?Xhm+VKS|2)_o7~%dwAON?_ZvZJE!u ztK>2a7Sa;_frpN>ek!q2F3Yr^6}rWX>$D!PKgg^pQQ#hv$8JA<~7Pw z-yil<#$52^zPUHIo7z+vZDax&*7fhF`gLiqCnS!Hy-Eg{(3<4 z?}X$7hb-4IY#02pC&i4bE=S6jiD$~e4|As|KJi)FxRu{=YRr;tg(=0YO>^&lTCv~& z+x4}o#x1;Gopl;m?^igOT)LsYK=_I98aoF0JriCDZlA;Dx^~Sy!%hKB?~m*sWT!oU z>*cal-$gJ>;1!47`yfNt7YdL3I)qOJu&!OcYq#FBUH_FzxPmP^91oIe^Kf3$dT-13}??cv~*l~ZL* zE|eZg*YXf4PAwHxv#>dPxw-9gv@&D!Yxkx@Q+2F4B0nFCyt-LW_C%EQN0&)c<^QJ& z`p!@}!qhsQHGhhc#jHmy$*fHh2buL=wB`mU$u+h*N3`UyMkQGIZl7wDA}XvXz@*>U zwrHzx`2@DY41tCRLA(XU4Ktb(B`h5x1QrWq>`C@3oyfr-YBAye;*#&FX7VSR6FY3U zCt6zU5LEXFV_%y7{HopR1swGp41czjRy#EH9&X?cWOF~@W^ANvXVBJiv0=xNn2;SM zE!WykUah}%+-`cg&73Vv>{o-z)9qIUvlSonRCwapB_VfcvFm(}==vpW3D@M0xiXv& zQ>zcLSbw5DW`=ORi_wjaX5}TVH=8s2b_6WH+ORLRv0PN)sYc^P;eyAdVQ-&UWVLqh z$`H_UY2F~3rO?J+zn!g5!1rKF*}SrfGn>FUGeXT}nSfYXuK%(E_JdPx z9(t8;^_2`sux}{{T#})6-8=Y0eOZ!V+6GS12W&pBSu7WO<{we*F=y^nn=Y`)=0He@ zm#5WqcIPDw!5f4Xo=wU6SGY>GOnIvryWwS41w|~m)BF^TY8O@c>8TP@QX@~IP2bDiF^Sd}z zpSLI2f1RJxGR;$@@32G!kKr7>DfTRkoT6P5S5FCN*x+2>z&7jKf{4pq7910@RT(`T zCUJX6Y+bxyuSh}L(h!q|n4o2BE>{Y!n1!!=;CYy}CuX|aq!&JSuh}(h4%)Xoq~5}Z zrI536!MvbWhq==#3(T^gF0Kq%lENW4hf8r`>B+jtU0pR>CgknNKcmXXA6lu($uKWP z;L3$m#T)e}t~Sg(G~ay*bMAp^ouwfX?ExoKtv1XQ$UMa^ymbEC?MtpqWtnv>?cnvo zt0MN^|5Z8uZlB=2m3i%r*{y2qz6%0!PDO{`5{P=`{a~~B%Cv>djdO18SQ>URoqHmu z!YTm<&8D>sEUdTs%2zQs9H`Ph68~snS6_LVX&762d92t5PWDuzD_d&vSQA~1Iqb{} zUT$8HvyI7f1Lsxsj2%aU^HUhhH`H&|oEtpLe~M+sT=7WNW8F)3Bs~pgD=Wx(@I|#N zL15VxpP%28BLr$V9@erlwxn{+$|z@O^;ma#rtmbiI_=WR)sYcr8d$s%)(3~GSvLf` zAM<6XxPU3Pt@Lf0f+5`y7NC~zc**LpSm_^A#22j zYUK^l3LzfVhMYP79~7$^uSg|BJ+gKa=tu3NT{Hkj7tgclPcL?z9 zoTf2B)AT~)>Q0s|Et;;2+w!HG#a1U~bI+N2V!ME6qf}eHgdp1+W~SAV+}`G$TP}Aw zH}-{khP~XeeUn6!@S`QWyu9b5CInZgY`*cS3k z`7Y3KKsEigFsDP>QEl~@Vzc}IfA19$+4rQn{l9snz^$~U6P75X&3UcN5fQNIpLo&4 zH2b6jS(j#arye!axUi-=b@Q`QHqio>I0u$Qg`LbF*L_LO_*pHultcazclaXFgO7i! z3pwt-cho{mJB@W=VeK-<$dm+~qk;3g1(pfhHM2VhIcPDtLTlY+jz8)6#jCJjTRj<@ciwf!Lw(0V0nf^xsi&9CP-rzG?U}>G|(QXyr8DcAvcE_EZ zu>P@GsaVQ!X2D#gr!1!`8R~4pH)RGbIkV^a%AGEm(QeM->wQFvSzikW=2@nK5bnv;i`tR zk?=yJB-v{di*%=yGS@PS`!2p_`B)>*_u4(nhy@q8ZUayrEp7miu`CCJ+=7e8{wg&}xlpgS>y}i~{+a0T6 zoc5Z%z43ZW?X5FHJoguA&8yYXOcj`Dw9Pa_rKk4R^trlK6K?OyjaqW|_P)Qj56Ip* zw07@7+kN|TuU}wR>Dj26`cZv}@3!EIt6P0j!)^6PtTI;Y-s-+X<~+q)m`-sTPD`2RtnFj+|;SU_m={Xci_|2!+ep)AA` ztkI(+@YGQMZ=>YG4eDZ=3~X`wq7&6;e!O4i^zh1M?rjquS_&{rZ+Iy1;h};Yqmtbt zmAFT0c8nVH9%=1+q;lbr-oHocdQ3)kk4@xQTniq{__15vd+2=NvE{qRa&@wQF6e6f z)8#qz&?WEgS6u;PKLM+APfX>WSlB%^i+gHb@HArH)1ZA%c`iIv{P#3Y?pc!EGueP= zX?4#s{yom(dlGf;nR$cx)dz*^7lafWurnn-H$Tobcfs>R7oIa+yc!8YIDyOXx+e_>?C_|&5KpNTvd7k^As|q4le5M6V06Ta^D5s-3wlLnLeNK zjd2Z$_->?t6Hoe`~z?~Vy!IJ;(T%^F#&X1*&)b{BKoH-}( z?!mhwexEiN@rCyZZ1~^D|0CcX+s03d`k(atH5>8-QYHyJSP;N@@LlV+&x;Rzu#*>L zj2GCG^QH9AJD2ruxf6{_D((?-iO}aMi!!+Nj35@k>I# z&ayaxD{%sA_I+C{$a75L>%Gz&a`xAY|2{8Tuf6@Z-QX{63 z^98=t{nHoZ+`aEp{r-2N6JN@%6}ZR$-(})W27`Y_>p#Ue@&7pgzdZ1}M*k=Fi*Nh> z{o?q@!++?1=tl0j|Nj@v7uaPl@c8`y4VQkNw*UKI@Aseg;#=SSDqH`%-tOOy^Z!-# ze={$aNGL+Ae&|Nr-C-JhuVuYdGqe#rk`X8-RS|F1v%@;f$s`VM4{PO4j4~~sIHyS=a;OAPk@ZTSOnfL4eJc$3!+W6+rd?kY>7=Hb^|7Z3afg3LcoX-E> z8N~DV-uuPp{?|3ml~(-y=lp*n(c13MAeH@67GN!I^*qN5pvdX`|J_AU_VEH9C$IvL zV!Vv*JOzjv5JO*x5$T>64hC)p7RJr6sUC6g2>=peITNZq=fF=d5@%|3}?=|H+#+_NeP1^M{bIXX^V>K z&6#^&Ow?f3?0Yk3-=01D(VTgACB^l`#SG`o-7F=gcl_whp6-PrV*1;*o|!r8&YXF- zw`@K+bJnAp>Iq^J`m<+lm^J67gqZ%EIUD!yyDTDMbmsKKSu@t1JaK>e^fe-4hU?cI zo;mxTn5d?#jG>r-hp33QsEC_`RiU_)?t%T+>guL$+H`!!j_%=iSQ7Z7M2k5fj&G zX_>uu@8ub@Z`j!uHZ@G&xZ&8QjYp+W(!bK0{oZoj7r4^VSpMB4#^xUO05{N`K!HaZw#R z*VLs;ch8>laKXHdd-q;wte^Di8n(91VXkh`lc!(onY2S(!n?iWr*H1b$2c(uUx!m?#g_8*!O8JRb4 z-qRge5^k}+@k?9hx{+z-lqULD{ZlzXK%i?{8q{mh-uxXUeeVnWWA388h$BXZmb6b@AE_sa?0(#F$NfZc1;T zWB=ZDqxqH>bJzJLUs=BEYedRA)Z4_r-*Wb?H4b?i(DCuH6NeJ}gg<%3UFTc1Th#aN za(i`cb1~1lzb`o&?>`LsfBj1B6UGnB))FE29c_Pn`*3^l{Qvjfbo^#LoPFi~hkgJ5 zGdwyTQuUs3#R%SlkY?d9-Ep@;Wu3TE z>%+_y6S`b}mM6A>5BWE_mZ99n!h3LmhVazqi#zSvb_&RcZB10^;Pf?UoRE+>LAlma zmQ#r(mw{7tvTIuAl*tipEh(Lx8z%$`iPTEAdT%L_yu_FzHN{ojLcu72OJZ)oGe-*s z1HZZ~C)3o~FHa_O$XbVbK3LdM#*#SSd@2KjDC^0W8jkyCFgi$BPtXjIELU4_LD1b` zN|O*fYtaNLrn`n0co_~fT;PkX`#&*|bMm~MENgQb+F2^xWTw1!xM1+*sY7Ik=LO;U zcARN56L?Y%>+`XlUb4nnN#xbk>645CR9LSvI!LiKdIyM4oc2h&bIZL+OExpi$X4B5 zoac2xj%8=J>QFL4xb#nT&Ipka&1ca>K@K z$1a~01;TX&i+-&-?*wH>qouOQKirFpJng1^c=(il$^|kq`*uFKJ^3T6|a7WbD zaOR~xp>kGQz%YXooCil{VXe<*1S-#d>*>-$4@V6Azx&3xBov_r8GjGpEQT)R~JS+#1; zrvongj){IKICP4iImT_jDCd#5w&tMIbISI-*3{_;`2K1+J*VLkem6o=Xpxv-uC6yB zqpg!mRaLO4i}{m&XuJ2JyYn`%%)086{Yj!@XWc^Y(#C-Pb-{BFFjXF@m2KhR?_BC= za?`{0-3Nu@1F}v5Qw2)*9^%z37LiH+c`BcaB|+ri!5eF)Iu`Cz;Sh*yc5b-w-$QL* zE(e2dhm>N`R_~2Pw$lzp?cggi`yvpiI44DNkJzLAosO%R)(9=u-oI5q>W*P+anpj} z50Zx(RTL}RuPBNh5A7(E?I}*pNW7pkF^J_;PNF*G6wr z#BHWlCGCXvzF*!80~Isdzj!QZRsG=k|4yLi?;Y~$O(}~7RvwVNsTBI?rAF$N=4UnM zZe2aQmt~E(ly~G>lY>T4eXDC4U+*?^nYPpG%NmbYu`%hbJN14}P3`==)Mb*((mOMs zZm8d?$*im$c|30E8YU?*hnrd92f40o^4+v*kyQ4wElt<7<+w5)t7I%&Q}oT;;^J!C zx1WO;{?{1fcY1s1yIfc`S&)CSM)b`b>!1stTBqs;ZCK#QvQY5MtLJN8S%@(_aQFS- z;V^CP1l171;{pY1GS`QFJbXVbLDxO)jADb%^WP~y`C>LqR;cfo>@cT$#T!wTMI2XT zW_)6Bw^Yjt{3`XlzEV4+S?6N^9p3`U^-@Crn+{1;@0O{&yOX8R^6b9EA_*n-PuvU+ zy)&21)w?S-BZi%IG50YibtS$(Dm=fhOqyEq+|c&Usx^VUa}`>(x{Lo9%`o*@T6iSQ z-#m5A_e0ycMOo7~Kk9PIPP3S^{DQh;L!c?k?j5r^AGVZ9-kHEBeX~{V=7G4Q+7sjs zHL&=^bck^?xmcah{J$* z<2*|vsVU^9qEJOiD!)+x^MA<`2c~{>H1jxMQ(uy7?#uDdNb2Ffs~;ANnlhPxd0?Q~ z{PwgtbHn{F+cNgVrOcE1n150sEW=B=uF0vThZyqh5i?t@7Jnbs<*1TFX3CkB6HK%5&NZPtiI)XMmVYM zTVzhq^ldx8vK)$WU)o#qT=@rtzhkF4ta9NX%(ua(w5KepO;SV+Bv@qyKm&*@~d)Zzq0e0mcsM$w-tGjt#_i9d&qA)_3h5-O>BwDP8AolqaG}K zK3UOPF7148(8eNl+xx%gU4P$aw&C=u?02#Gc6yiZeOq38kwN|Y&4>I;f3$A2POkqS zdX+7{r8oUw-JJhF>~!CKj_1{zp15D_)&6bXH}t3c|9DpU=2<71E#{rzf7!)%ttYA=R-Tb6=f*QBU1XhtR*?mlW|5Dxl zEpm1AP}*jq@I|QUikbX55#vbZhFgr9dJ+EnQd;U}j{jl z0xc#BbloC+)jR|izeuPG6DVtNerl%YYvLie(D3`wh9g7yV%sr zPDA$c52b4y!aND(e@q%pI;zfZmwsB&*R-(a@4-Ia6|y%1r9Zg$a=P@tIwAJiqb1|3 za#9=9za15YjrE+3oGhLKGYSOQEmi(`NbOTh^DM6Kc2yPXtU21O@J_^rlT%J|XDv@< z|Gr{5v6UvAJ125TDsop&;^VY=_}Nxx<|JRGMxh;gtUm>mcgkv1PLlgyDH0kgIQ4nx zY4<+e&dG9~l~dfU*=|qPa6u+NS0$xtxyEr9yC0CfIK-kQwk(Tic1yf@s zg^nDY8vAl8`@*S-mBRj!Qw0`IadhJ6ape2*U>cL+^d|>o*afFsW{SOFU^sTbyXGVx zMp>1l$2rV_vzMWUA5Zq;XD<_c?G8!Wddew z<62|MxJvfmDi$q)mX&Mt3_16_oIQKz0@=V7YdG02YOU3ETq>9#l%}-xpcb35JSyFnxW`8;*v{GT&)eVca17<94;CefO zk7*dBXiN*nX9_Eh2v*!k@MccdXaDL%M}F-?0uFy4H*}$Ub#+X_4>RAFZeAq z^W*~MX#Ss>TOy^H@(sA2?%ZXlxItmV7WR#+MR(2L(Jj1s=S-386&|8{^baoSvl4jU z<=)=4;CRO#-G^(w&RQ@(ddEf9y%)9j>NhUDn$5aBGJ2cIvAz0=b7vmdx$4&DC)#@? zsyBaH$&@}}_3PI{&jVKOKRq*JH~;6=!i5dn{_Wboo|u@9gt!6d zd`EG8anJ#iptC2%M6|_34MfHCK<7=08P1;jP*TD`TtZ)3+CW@f+tD*xT-;DxT(@`1 zw*INRrKI#kMKq-(bY*0WL?n#FrF2CFJnXHCq-6|5#SFy6G$o}B#3XfR&3>e(>ty8^ zDg`=q(%3JgDmi`DoOyRjDi=yi>WPTBWaTXs7FM_S2p1LcsA<^Z;Fdmn{-v37Zph0S z+qp$Kc_&vjE)*5l78X>WHRqnEU+wf+=am$U?Oifly>mq+^z5v2_gr%K3M`s4_ldBu zwykTtk&&B&M@(Va{P_#-+1V5=SbWFIIeO0A`&|<@Yil{ArB%KIOGU-3X3n~ko>e<<-sawkyXMT^ zP~W^HJ$tTSNKR|-inyeyaxyx3g&ks|rlKOcV&Zz`Rhy>Iye1~(xog*XN6!Rz@7j$U zjvYO6bHcQ}yG|!=*?iI`sA|^SYvK~#dAUt9XRMQx(4IH{v4>xN--I(W<{deH>`wQD z7%>SgN4KJ&$jaQj(5CkFr%v5pv~XKwVzrA$DUYOXZ_h$Ix6te&v%PySOwc#Kf}w`>#x$aY0$x!rCQ5 zLXLCSiJFNMmX+6}yLyS8JNKxzZkLn-cTuxsc7;Szu1cl93Gdrj8GD_vYdqp@R|wUvKH?sO~rq@_!Cs;OByI!7d?P6-UF4T{dOvkMgx zG+DRya7<#`?OX2?GumrwCn+lj9lfmKAKYYYkZ|a{a(Cb9+U8ZRez7yBKiqvfe9Hm8 zrU_LlDz4Ap?q0Ae$(t!t3v->LyI#DS%U!Y_Jlb^3BNKF`q;R?J znj1M?$0l^Qb^H8GF_`p3ZdKxppG8m4`-zssvhG^b*_sw$J@@+i%X?IpCV!UMlH#cw zxvBW{6;*@j@9rDCW>9~bRNh|@#Oo8H&Rm@|F8E* z-t+S_@6}Yd^Yao)8zpa@R$q~4cUbt`c7Bxt0e-n=mJjLo^M7eRx!-WpmFYnvhuiXm z<`+xZ604WnT0E>sV<~*t=G?epQoBr8NtE*vmn(-IX2+<;b%^wy2silWun@t0}I|*-Y{BN2aKgZ?poNAz@ehbaBj-Y7b|yinJn?!@W*0l|17K3%9Hpc zqb98PS|>1xxuI&NpvXk8?p3T-hh8o2xnyPVVza&4#Fj}4dJ=-WUid}kZ~8K=dtvxL z!xiuMGqCFvG%;&mPd&&{9Ua8Y8GW>%-c;!Oha%z4t=Z0^`cfO$O|va6bW=F?`lGYF z|MBO?`lV)n>f;i=B{cKNv@M+{s*YxT+GVjjtN66`+n$Z5J{+}q@9cOkYJ!CL-{Zl@ zW^7s$)q8G&=LOZ}0jrkI*3&+HLDfEAJJ0bb)7f{+PN>Z`32C^O{dfiI&JBxPW2W0K zzre8N;+MO(43@MyEtUJ9vfW{63U8oh?vyhdC;4(_Jv#37x#ogq+kB5e1>Tw`6`LFH z@P1nKOio43)M9>Y*c~24-Fx+VCV3Y&MQ!ih@tQ&6tqDVDa_@vID~|n3bzXc==+|oI z$V+eEA35Gq6P=K72GZnYd!Jgyz)p2Fk!a>u-9yOegnG-avTz#+CLW4Y1M zvzqzqyC*x=J=9>}(XN{#Ec4f7hhy`Ma}6vf<2f!qV#r#$gjK^t;Ov#sNiXiImmV*E z(Cc8an{lIns-B7@`^;m9IkZ@s)_LD&_`f^p(AkCl>RHa$j)ZKtcwl-aTRHI&r+4rX zNjpJ{%%U@*u9I9ZEBG{8-C5+xazZd{=99MOiAl$=oDefUrz-h>@olGn<;K%p&)92w zEfk)7WXs<#g3YpP9v137I<}Uvq4Jhd$CM`(o40$e7VR`H!hbvV zta$h1FDs@!DN7Fgw$q@>P%bc0N3Uz>#B z(wljlJ~wn#cr7A49?UTJao}nx+2-Q0Jx=pr^MXZ6zq6P9v3cp7yzbNNdtap4Ia5z{ z?CG~Yc_iYbM1WwLQ?c@2<=O5<9h;)=o~`auUc4%W91=Fuk96bU_zt1r) zTVV)ST^%d`Z4vKodY+p-?{v58A4>k+U z6i9!tr8J&PI#RglimlT7ro|#1+I4}Ga+ZZCID{;8`c)-xNQkB9!{rC8C$E}sC_U8_ zBkLiyLgnfb&a+ini)RNOtlS~|z+-l@_k7=S&E-|4TPjlCJX-9w`T+m`I~|)>Z0!r} zt&o2#Yqovo-5Wmcvp4S!-8kD&G)0y5mC1=;XNsoFD0$D5c6FEgxSe~-TZ=@~;Qdy{ zE;%t0UsjaHlo=N7(7m`$;`-@0u~zYgZ+p{rPvAD1p=GvD=4D>=N9zlRJ6rmcN}sXr zIDWsYM>#H9R6S7VpikolM#TnRZF5GqyXV*+9R)YJF|X^D8~!C zV~@5?G+GrW>(~D{E4G=%;Bd9*iCKS^JTX=6YJ0+^wQ<{Ofelql4!)gPl>WDSb9HCr z|Dfw@Go~!eIV@W_y?U#^hlXW_ykS1>i;&m;bN4=cle`8Ss+^0My~ zS?%CAA%iDHa@BvEXUE^$PL`BURG8CI>G;e*pwi$7SB6E0T--U%Y2R7+7!q1#1(H}* zR8&M%bUQ=^oZ5N|Za$Y(WMbH1P^u^4EVMCTm%|2!()Je$(gFLu_yiU;uXIikV!i2f zBlA#`-P%6E2n!EWo=41LFB%nuFZ{X{+0@w5vrwYc-sAGezVMbOweO7?Tb&*>wk#EI z5v;dxJIlRZAW=b1%_RPh<1M-NtF|n{)AKonWD+anG+LyurF3vP{TJHezT`dUMCR9P zH?^Of|3}HcqWxyNy|8n|!*|=3Tf4~kPdM}Wp6X1CCLWyU@YWH*jQ-*5RLYA8fb+6QU-(PRg zdRP&$fl=WEW0OLY$_d5;8}eW>rSmSfOG(nut(`_aUZP}C&R zu)jlKYkL3p7d<~u2wp$Hu{J~C_6z}!8D+dbCscAUB$o>qE$Cn?WO+EDmsydccf~|m zMwa_CdgjjHbny_#=$NFD$P*MHATK$I=Yi&A#l((}5p~@cCKayeP~c=}I?!r$Q*cK^ zos4C>YI-|!W1ss;L5B$fdX)mP1rvic_ySJ~%1YMU@esH(p+VwDLiA2S;m-1-0aFt) zOHwU`JSI$$&=5FUz{_UXmg_0hC0=9cz*4(Cf6|3kUk8Dd%IQ)Eo4!`m+DNj-Hq=FV z&RE(ZFo~VdBvWA0^BFOcf^7`U(_RXeNz9PgS+$J4Z1%~S5}Liu=Ch;@PHva1iQYbA zg``lUMXRAhsq2R6#y@5yNpMXyVB7POV-W+(g7(=ejV$^Bb9@d=J9JXe$Fp)Ga;KM* zftTSW!zOU2clMmebLQQjJ@>(knYU{iw#=FLc-pKpj_#S$XI^#n$+mGynLGdC?74U5 z&V6d<8sq4ZSz5Iur(kwj^|FSR9kb^=aBxj@^osHDE0{U^(#+X6I(zq2H!X5-Pj&Lh zojvFNyai93J+qTiXHB1RDsQyW3dnOzT2&%F%KBXltX?AVnx=GVd zHnwf3tXs9ruYMPc7moJTuo76L5cWKocJNL+$^G;OPZ*cNVnltxdSaeHF zYW3XtmqTN!nmSiZoq0ARd)|y0_q+OcPM>wr#k07*>!6Qc>%?jM{etT{`*wKwSKBy; z>Fc?Q2y4%nb$!;{OF`l7j-Juk1)V-2IZf@G>}(3>&V8PdJ7wyuBY8!uYZ{i9R%|FJ zn;o6dlaSt8S--HW`&4n|lH`mDQ>I_eDO{YKwm3PfdHRg&9qoGpLhB35R!*C9XwITD z?cIB3&AT{v-qU$AAG`S^+uFy^m~&2CTstOlQb*5$$y2VD*Dl(Bj?2-ZBqXw1RM4xv zXM0!A(YcE*^iAHo@0jl7Y3EzI*Ty6@cT89(C1upyx_H9WEwks{uy@IuH2sjHNA$wQ zPkY)g!*A|Fn&DZf;S3c1e$KaCvl8e?r=XiIWdco^d!e zt34!QLQ=}K%7%G)#q*tAa;oaKmsifz)p9;|>~?rmX=B^E%?Dzw?Skx`VlC{Fx1Eu7 z_p0>|Y+Aola^uEhuihUjE?>2M`6kOi?&x* z^ffolaCECMH}mQ2m|IsjdD{WGYgb=qq}QY+Wj9acbM+F#+UaGVrroZ$=xDcuF?ctv zd&l`@wKATYmYkfdp_p`d+NPzaryC?oeRtm@89PfyP<&c1hM=jP|< z7dUsz`R>~C^74w{)p2KcZGC-x17eBA;=aYZx4*xCp!A(|r2dYNclPuPiypU__v!hh zx#IfV{JXxszOgy`{<*!ozrTNQxck4n|Gqzdbt;FC-p#JtbnqebbIm#PCdv8zoOAc+ zk^B4hJAU1id3a_m!Oh8Mg-WgUrZNFeWH6=qQTPh#r-y!vKJ5A71}f& zb*N0sc+_dFdVFrN##l;tkn}jZUu(5_Z9n+sK zqjHdsAwcT_N4_Iur|-_J#zVTs}AL{{fd}Y_0~a%b9XFvX~SUEXk^t z@DM!a;I6RYfWuy<0%zU43jr6n7(|qhIQsE;Pmtnpk?b`p5m@3Vs;Dr9O{_=8<3xQ8c9@&~cr* zOKyO4ZNr_Fib?!8d9L0I>UP*9&T*uaHLk&Tvt!N?8BURnAO71Yb8bHrRmhNb%|{+EGdHrZ2?Vu8SFGlY$_P?4S#BGm5>VHf;lR8l z+}yX-yXt~++taiut;=%t>R2ROw8Rdz?-pGmHs=Dv8W*;umm1HAF6nUM{@-S1%^;GP z!p-RXEJ;jD<79WK>Xn1+@|&C*?<`EH@;)e1`K62VLN3G3&kz2wY_jX#qfnq#(0DGW zQBUO|BX7wBMpZqw28LS(%DNY(^LcWx=$18jsw&6uL>svDZCF()Dj_Dsadh$Y)b&}> z495gmS4?DOd0i>sGK(W2V~=1@KDYG?S8=ON4W?fd(yN#ca9f;I*1F@@o^VEzb=m^c zwjLwJ)2|v?_qw)=*gWXdkebf@?Z;tVi^nlurxh5EBy@+ZxWu&PNj%>kQ>Sp9N7H)G z9Nf2{bdz7MlC;u_!_q8=`ivMH#7kNd#1t;LHEA43w|~;8z3A(4#n5EtD>Y(jIS2lq z&zqaWKY!EFBVnqo^`ElC^45sSFBCstZ^giNBq`m5@xYq*jc*oqy=Zt8^@NeLh9`+f zaEZc8)s0TevV}7;6dv+y@K9cr%k#Tu=~a)4Egecr7R`%JT5fhzB|t=>eL?a8X3kFm z&1I(~Oaq>Iu1sgKyu@7>u<9uHF2>Hp)`zPmFF34{5zyuL;82?OgEWW98!kRce3-av zak%iSmq&zo7#W_aq)Ww3)Xi!LU2|CI)~Y)WhaA_PoSGQAa&Mkh*Ob2gd2e}w#SiL(mM3~4j=ys#;-En^e^DsFaJq_wv9eO6!U zjb9%cntxpvY!UC#nQXgg0b|mn5XOF6R(3~)31K-tesddKmTD|y;o&if-Ky%L!V-9F z|D=Nj20y}t+ODy8l4qS8KTqN*k z?M+S&%@sFmLw6p1${^kS=Z2Ee&65?J9Eb@H1_m|;9>(Y3ww{=nj);hssHnEMxUQIp zwz#O4n3$%7gr0sDML|lGaVf#H8pEH z_gHaJGf7G9l;jFo8GSKf-Pv;=&Y5>#M8MD1Imy8@$<{4w*6c^ZVp{VTJ{IElij2q? z6ZUs-2$fJ|aCVLqlQ2k2tw~HQU$F3*yquYpg`b3|Pf|j$n3Rs9g1N1Ggsha`%vrYs z15@2xBiEmno;&}hjdRG(6Y^3L=EsiRnKk#8gJ-mjON5R?-DX`f(b=9Qja zD`v0 zH6DHimUhwhE_v1t8P$!;X3f3WGih7j1$lQO84)(vh$4eyt$hxo4F`$^IncGgv~5}jEF zspr_DT}vWoX-sWR=f0jH`Rj8=&lZ_kscU!VKAT(hdxA{Yg|>k1ioo(I*Cs@*T&LL~ z=Vv!T)KTaX_p)HV1nVq|Gve$1GZ%3FS{rSb=~Y%O^d$BH+s4cLGH#odw>%PCc1m*Z zhPgc!Q>I8eFNqYDDiU~k@m6O3Orx2C8G-5(8(AZ_&vIO^s}Yd1rGhQW<&fZ(GqoI( zRxEU4T=XL@U#4n@QnQ+pNnBG-VdEoaiJk5Vkw;_MpGVl)$PohTCwj)^!i<)yRv-_ zGiB>+JSw;P%_d#d(>ej?&q?N{y!SQ8^`9I!dtS!1Z!fer+|26Eb@Z2LX&kXpX;5}*qn0Zl+N~?DVa*Ubv_+8xqfF&m07fj z_c^9bWtW%Pu1y!D8_WyORy-DxG*?xhqh1@meS_~z0U@^B z;v-Fqw)crRx_;Optbg~?g>uK8{t7lP)x^sgohmmx{`Iz_IApi;y*F!rz4U$da7y@* z^C?yr4BngYZ#VeY@UF2tIw6I9&zpa)?7?l0k_!Ht^Vc!nOy6bAFpvMrF^Bqu568b$ zTQD-LF<<(hQK9O_=WF~&jxQ);T)+{!qgQwr6UWb3_9D^bdw)y5AJDq+piFGde5V>l zyWR`=g|`pII+~=fJFxOy!9Agea~Fx&|C_PA?ZnLkJTKE5_!Hi9Yd?JW<^P^d`{Xqn zY9&4>-bh(7K`ud6f7)X?;lxKS`xagZeWm3o^4H{OOUT8XSf0fW`!tRj$+h&P`8<}m zdg7Srz7-6Xe}ayxUAOYAb*Xye^!Ue%3h`C36Z@lMc=?x{aAjcS>dBa;ct7a5yVubV zT^t?acbh6~h2LE)Ew=G^_~0=k!-707x!<>$3#M3|c(Jj%_D+KA)oZhOrc9b7d(uJu zy9dKLUI*P?pH%IuS8To z1pQyq`iH%L{b3a+D@_Joi783!84kv=JB|jJ9ckbe)eulFnH{xflfki+6^_3wcUJiI zPheTu?k?|nDN3eg?t-3-#R5j>`uT)s=>3Tnbkb~lJ(`(XAr_~i??=Uy)7*87+-y$m{Ba`AzOX6Ca7&4LXNF8jQ@pwQN#_}nMz@{CXC zm+F62e)HoS8`r;&Yncx&aAt4nyTkZ;ilD?J&gq_)_6Z%y54ynMp6I%Do!!*{N8Q&l zt9Dr}eRO5E&ZHF%|E33QUbJ;im(8>V%S8G)nb>*wW~^ax`gFeWMlOHo?nZlFmM-=@ zj%EQ(-JfdO6E6LiDs5%a@DNclzgZTLCN1L=o_AaFAd8p^+hJFZtd&~JAMYwDi(p<6 z9VmU*QK(e0yY!U4rWof1!>*u^>{Y3~rKhicJi#a4pq$FYFneMgt2MXA!ae&=GF%mN z*n6Z!TQ5_@|BK%Gy=S!a^_Q;ldXS?q|5xb=nZ79&`__3azCZV=m!W2YrRwxO<(HG{ z!mY0+T>ZGpi(5tHqsgU3bKQ?H$9XsRo8K~%a_h_L$vZb`x9==diEx&>0=pOFsm*&y2e+`>w*<<$3CRoAfmsCC}7sGl=Eg)cW>SP~js} z5AWCC916N7&-N=@uJ(QT`TcAOQ`oeMtAke#omC>qdGYvFK=y~x%9?t)=E)I4)HKq*9C10h^FJRrmxYcAXS2jb#qLVBy zb^7(M3k1l_T6yBziS^o>-e2?TocLwl}_kK>xbL{G# zkmKRMLib3fjK+nqeu2iK-k1uDz&EEd+4Ht9|LW)B&s$N#J}^Z2-W}07-KEAoPL5YY5?kMVK75mnX;;7IP0Rlq_hj98GdWGt z^YVu&2F9WXkG$L&)_6zS&YImJx;|sAH1`sYi;HZo1KP#_RLGrZ}j|h8=nI zPWrQfrFhsaulyJM8-E10uM4hq`*41ZQ^}usaz9Vo{ysA)M4`R@RcyQQ_DIgadrpr8 z4=QQ=ThCtDSm-Og@7bZ8^-mr>5H$8IUZsEQvt;@m;g$pCS6dfOteW=2=bMChmW7)%+x@Va=gC)AuC07~3Cg=+-e4z8lagwd3yn{E+`kc#kWyo9wEbIbHl} z*ZtRJmb3oWSuMJh1v{LLt0gnRiw-94Z@@E9BV4P z?DX}C^S9}RvDedDTC)x`=Vo2>|KQ$S{mndZNA{{>zcJHNJc^hUUJEOyzX=Dl)qmOlqWqJ*f2hG2VGL{NlVbwc#9$0743 zh5l|AQ=ia1Dcs_oYs1q+KE4?W^O!hpt0t`L5L;c=RP?pxYD$?NYuAJ2-JzR3|FZYg zr1y#(O-yl(cK?==`-Sa9Xs%X?-#m-<39RM^)dH^UNECFf{9-OpDZroTE_ksdr)h`4 z^)kVN$2BLMogJTNH*8b-T++{H(UNzfy0|ong;R1`MW~8-z@GLjQ#Gg8N;PLS`pQgd zp0eZ`&u9#ARyTi9H?2ifc}C6K?_DXu6Mr#@W?p34zi9%SWD3_$x9kjS!SuZA;u4MYORKxnF#Zd!0&zll2pGgLA>M3t_@G3~xUR;0eJJZ)> zbzx@LV}%KRmeIGF6@wl!e@Jz*nmH}2b8?91RMQNW0?FxnHd*sKPkDOWbjKCbea~|p z7EY_XX%Lf{QdH?{7BHi&az?9UcB1Btj+rxlJfC9K7*n&7%j%$T#)&DbE-QAdv~3fb zo)X!cJ9Aq8%b80eXDzdw!M%~^=L*}H%d@IHTmF{M>U%lshl^c%=M=}6K7Jo37gRd$ zbew&Avg_rN*_oGT9IKqu`%~apfWY6R;IE%tzZw}>PGDvWX4;!z5K>@pV<(3}02}9K z?%SGkAO1f%m*ewXE@QXzor>pY&hx!8_twd|A2{c~lAQnU<-9o?r(C|o`RgVp=R|$( zh1^URd6=XYC^IpzW-VasTA;$hz)-b7CYeV-YM~I8YR;*fbN08TK*J77n0*4O>=)YRxVZ_GJz{8`+5pm0)&Osp4 zVG+Xv&YlE;#~%bTXK`5nTB@>Wsq3yqX$gy1CobaID>x^vocgL~ zj+av7uB8kUma`mOnp7odAGK<-;i}w(C1Q;nu?YgFPcEFzwYquYip959@g^?U_#jY! zYIWhK)y-7`C!*G9?^=EAm)OY*%lIBHy)=s>=hV^@QH#(0T9ebbctyqPa~vzfRxMAN zwRp*?wRwrW&!d*5R|)K_TJuAi*9E_mbGUsA%}4*VA;ta84} zqWN&`ya{Xmb8WB=SSQ)Iocp(g%PaPqw^+Lx*tSM3V+~xnMrvbD(q4<4|5pZURQW{8Snpx>$Rdq4|#1mcYP=?ZHt zwS_<2+SrmMpb;%l>L6g!y;15kkNa$KPHh3N=uLK~7lqzl8#`;0)bFh<)yqnxw#1&6 zv{}6(@su&$%tu>#$k$;WlUOt*5lM7ylN!wqRX$^}2aot7}g$;jCKT z{(6H!wSfQZg{|3JITx-gTRlhW*N(iz4N{HUr|lLG57?F8m-sPOV#2wrkyLac_e)jofRtR_|Qfy{e^adr!jptkc_fXNxm?@9y5c z?&#^A+<{v(7L%n-u>QM;_`xB+zWXUqxY9|@8=NQfAREwK}Bw<#@&Y62Q(88 zs7_pcHhV9}oQ>&Z?{v39YIpSn<#3km4n~ok!%@L)E zN4)MF@%wWmK;~$W&C!sUqhU2iBYgH&Iygk$F^`Ek_~XJ+bLL-|x8Sb5NBpe0 zH)qegk(}8)bJkr)&-gj>9?YG8$Idk|r?AH>ASfx7R;~YAF!D9!v_@eTevB@<7p~bE~snrc@X3al6d+x)m{LbQv zxsmbJZayXHxn0E-OPt-aQ?t55qstd8y1#Jo(|HST+q-1UTXW+(j4W zfR5(9URXA1#@vgx_Oa=?tyy_JPTsLarE7DFCPXJz#U)K&u<)t1Lw0HP)Qr52*6!6# z9_fu8>muUIZJiT(`VY2r?4CdWT3U9iZ*cMS*{Ay^Z<#gw!koDm%BmN4^`4ru@Qk}( zLV4AOwvNMb$&F6#6?SfMi64w@N>VeYJ9(zM`=;19NBM?i&!7D; zr)Xwk^1RgS2~%bqt#8`l8&EN0?uokAWtH_ya|$O(O6YmIH}*|B9hcbS>0dBo`q{Rg z4T~0D%SfNIch>&9J~&hUZOD?7o0p%T@4%hJEfpvq*wWKi^dxOUrk5uFR?WFmA~XG$Gfxh>dn$Bk zXpggO*5A&}4{of>;9lo-dfJ1?=G5D#=2n~N+}-Wr?^W5oeSLgq&HtdORo~}5=&66h)H)5AO+0253Uz$f*b-Yr!ZIGVN~EoLh%|}Gqvr9bQ)AhRM_n^~ ze@vFqId)@Kx5Gh=$Gz?sI~K=Vz56k*-+@i@$pja%%qJ5))I39Ly_Q|$@Ofvd`E-h& zYvuL&5V_XWX))KfrA|+1(|k4~Wm@Jl&?M%wSvlKYs=0mJBRQqB=$u>n+=^!_)AMcL zy?j2uA?(KTE*+Mv7pX}yvnCmIMP(!}&amauET62TlIb>GtDT9V>B}`f*ZFe0W;$8) z?z*{xskBRL74ybf%LUFY`2V;;wl-noVF%qm2i$r45|YFjR1})enz4vXap%pR_@L9_ zh6~fV`FjkEw3YWKBnBv%23+onK9Qm9nac8XA(w&d1co(RCR8j;mz&P<<>1b<9ZU`k z9%roAugh^r3{%mOeC=VCXY1s(_uD>Amxw?Q1_t%`Gl_5Z9@0n(WA3sL)Z@19d8D^F zZ%@>bP0XPRj*N0TMFK+R8VRQly<_`*Y-^~?>`;|899Oyz8np1d**Qt1=~TYrSkz(OExLSL-gryv?znkc;@S&u z0aahqf)jTHvLA9Xy_2eYt7^7I$6K_BP2h~NBD3OokpP7UPOl!>FcfN7GrvA0dHvk& zys%9Mc^?c`X!E?WjPprccg^NQ(TPt7HY^Ojs9tQ)&9-QJpq18&_c_cuU(_c5J>)5p z(DeH0t$Uw1uJ5{ZNN1&S^4^0>Y#vRs{LHnejdO0hgWb=q`2tK2`HNc}ZzR~Rwmc#c zBgCNh2e;FKi^kq zv_)~CMP@Pzr)#9ghG3Vdw_HzXoHbPGS>=UDpU#I244Y2a7@ioK1dM=<+%!PYst|VyO7R$>s~g5^hmf zOEu49tZ)2l9v9!WJl<&OC=@I>X)%L1li|JyyTIvj$&QwmI~bo_y|~n9X*Am|19qhq zx`OX*mdj3RJYgbQB)N8RG;8U$P;M99xEP&w@ze{Of(}ef$ckDju_}R!OX}+CfXAA0 zm%d#I%-brg7W%@;Tfxn9*VpOFmtQ)6zRp#rRy1MPhUF|d0v+x=hZDYDKB7J)k!ynN z)fxr^*3`-dAB7)pHb@Axom5L>%`qzuH(tOfnB~Z(edOWR?0^Fnyb4_f|4$s6+EVKn z!9B^qK;v-Ogw#2T8&b7C8CG)OHOl$SZ_2N7><50xKm)i>- zUf}5bx{T+80RIE0uJySQ?`+u+vzvtE@7Vu~qo?FQAt8I;tx5|gThZaUu$R5}~_p8fU4x8IXA?L*Ht#x#kL`89~ z-pX@cLdPdLeY5(yhjX?}*l=C$LE=iMq{C)kpPJ0pdK|JaLFoSGShk#pJ*#7^km$*hdy{BcCoK`n*r zgVKM=l!Uwc&gBG)6!)e6;-1F!`}$Mk=K-A!xq8ZqAI#Efo6cngA68kqGc+ym;j9k6 zEYWEPpK&Q1k@D!g5?a(h8;}AC%az;_qp;yS8p@Fka%T3}7LqmZ_GoxbR zH!HDCZ_LgNirDk%>JwFfTt^E%QCe{C0l=90=JLa@g?_mXDri~Ui56x{= z5_tIBj=kza=(<~TB9rcOg)7s=)3G0pQmaE5+59oaJFFE)H2=j(d(*+ zb|xXaf<^0NxYt+gVtU~B#qb<&txLay@|g*rx%XHoTDLpv%5@esHSF2tC~q$K;KMg= z7a6Uf?Y}ub?E9kL$@xIr!Q;l=x{}|k7TnYOQzj-MP<3?mpQlmnW@q2lRh0+ZzUEQi z{ZN>>jG?FI^|s|@w}tKA8_f9qP+i{Tjq?9r$u=?XYtpxUn*LuPo%z7eGyVI%EcgE_ zXTSH?jr04yZ9o6_UG@Lp5BT?6|B(LL|8e&JKQE>S{k(ks-?!cW|9W)bZoev-cZ-nP$dM}2?)MoM1+BZ;WNVpaDT$VBTh_I zS4=|B-Zk0DE6O`CE2nVMtT{Jl&c5sDp5fq;P~WyVGO^OZBT`gEyQOoJxVRo@7oKOj zkf6J$m_beBn#Pv(4J}(l1U-YJ>pTMU>}@L?y<+WbOKTf;iU|2Ob}X4Q_o;_prntD4 zxR`Ew?lehB{pyBA^A_B%s^3snH_InD*VZMzrg>3y!zu@tjI!z_UIB$-qFQA&%Upd@ zJ^gDFGaIYxw=P)txW0M4m1FeWc@MpV)8{XI9uSr7;3Ay#n&06C3K=mo~QT%r5FHE?*N7 zJtZ-tqi^Ernz}vxlg_1PEUlaNEW?an78_1;wl8&b=HMRa{-a z$jUz2FSyk=u&JDYN!FdL^W0n=e>$&CVs-#x=~*q1f3gOG?JX#<`%h zdU<6#qlbS=V)9}emz0j)Jq~UOa~50^6E&%-Um2OokXk6#HDPB#6GP9$J#*$hSh)1w z#A(NB8j|aqx4QYoH??o9s9V)NVQ+2Y2LG_)yy7_%rW_59sE`si@CmGO4r7=+<&uM4 zae6h2u&{7YbdHx_#q`AB{*JsauC?{v^=3VFNm0VIab@rUQ zr8RScBP=FNkBLj3TvRc+qH_0+(<04XF^hKa>g%~IS$S1N*udSjVavgS$k-AwC5HO8 zh~%WQXRnXUUzuK9w$|RxLRKoct!Ia@yii9=@1Fg;=geGGQPx#h?$tl>%FI==x%rE0 zIxDlYlCbqBIQkvtAWf8`_9tLF0l8NhN9Zp*JKMsW%V9_6g8g$Gnz@#G9C^5Mp~qw` zS&wzHPGw7{dCi@*S<0!B=``a6m#wR>PkAg=_uFfmj>qb>%d13B@-aj;?d6yh<-I-6 zIjrpStGO?7AFbUBK6h#dcqicX+66nniz2<}`RoMsCqRoLe`asVnCsm9WU4ogMUhzg z6Y=Nv?EL)v!ea0FetWSjirn+_^M<<%F$ zpq{la9u+^^(=nyh=vs!do5P(M*Tv4HN?hU;`x&9!X_eRF>u4e-InlvE>*bTl&Vrmz zr-X2A3!W<2sl+ucGK`^Nx`)@43k*s@5r?|d!(7zVX4I@))WNp(=Cc{j3M&(4v4=JE z%~jr&DbQd0X!=1H1qKI4R|SzS0oER&B`+4R7bQ$!XIaYJu!Q-olE5;#46l`{vxQn- zHaapiFf;ft7#w#lWJqXts8sns#lz8HLevE__O)CW`KIr>rRBI)>_oQX!Xw3;YuE#g z1(-NI4K8Tylv>g4uu|X(?( z2pAkV@j+o1Q{dx6yOfSK|2S%)7^jwMcp&b;o8N7nplRpVf8$UnSPZpxYF$Y5SmH*OV& zZ%(4ze@b1|Cj9>7kj(6TSkapQ?JG+wpZ`bl8#S3fG&`ypEOeFORA6X*)OnfvfHY%dTq%voZ6~nOu zt3BMU=D*c4bY;)j#m!#&=%V^_xLdfj&i&ubB3>b1(k6E;J?pUW+AWvdobn3LSIEE|JZF7VGcWUL^mIe*CdYJ|t ze;ejX4(GP_HSE1Vwl*}q+$}4bWZ>Kqqulc2@-?3Sp%vD5RyKwz7T<7iFthw3`-F{U zm6KGKVQ0&ShUE399|+xj>eAfsIGV|bMgB&?(dC`G+}#GrjuI0lB(R)OD9C8pu)(~I z*@Tf_mQhR|i3 z*)k$RTxk}W?K~63mH0jcHC}ks5+>s|)knedz92LA`&E~WUv2QsVtmA!@!*mJ&xHnQ zpM@N}I}T5owR3{I*45bXv#Y|kpSrrP>g(zR-qjJuy{>JVb#?U|i4$Ado(qPTd|t!A z!TwDwiF=omKs~z=Lm2CIW`++R6-sqaJa`fzxc6B)i}&8pB;HAT+jl!!`4*` z@AmU(9G|#vo0XSqj?J+&zW~OIjdvd{D&^yX>;d4oHOsyf`yOg&3ih3!ISw59?qHnXzsk{ zv*$gTH~-O`d5>q!KW*<8CMKpWE~e|~o>@`1VAh-mbLKq|7WDG+uXgZAo-_Z>toi4B z!-_?OHAO|V96eL#EId1V?ydO?p3h%=&c&m6?%c=o=D%35=$V9sUS<7?x$_>2is;Rm z`+WACJM-q>pEvKtyg85OEqJtQhyRi-HggwUaqvi;yXef^Mdy0@kI$TYF|Rmn-lD5> z=DuFA=!t(&$J}}M<}SEDcfs?G2R%0*RorwyY2JcY^A}%AO0}Im|M9$qPZlkDId}f^ zdGnvmS#)mp{HOC4zL>q>;erJ(mT#6{xZtU{sFuBZyqj;jw6uYckfwx$wwRcKgJ-n8 zYs%yqhwR*oY`~l+qy*f1Z9_0O>J&J zHhbZ5FaNw*^R9N!&<}|!%*yY{E$Lmb_`auqrnhgiqi53TQ(HG2v)OS#BPpY4(u{rW z9cN0*Hx!jm@d?au_KZ)f`GlsZ8H)j11p%wKe?sdMGJy)u$g#*f}??(EyXZO4R1AC}bA zZ<7%95fN~SPH4$4m>L>gHFMV8x%00@#aE?fEVXusjZbZxIOTL>>*ndRPsoXDMZ`>Y z_RQXMOeHyOYF@GLhBLD7KAh;Ccu-W-bne2d6}8JY?2^3wrs>wryQ{Vc*EcVyZCaO| zyVA}nxU6=vhfjQ3R(E<NriGaigkXp?`3FY1LA9 zzZ6RgkKo9*MXNL7Vv80oek>tj;uBb3(8AC+X~+E84@;}(_{B2pJTNh>jBm$r=Gx}i zr91fAyLT*F@-jHWY|f(7^Ou}gQiz;4d)l#McQzj^&CW`iwZ`K9!<|c)?r!dinXxqf z#gpIu0cF^lNX+kfdzdyZg6|tS-n@#7>9+@X-$-yAPxFLR4n6@Pr{;KWUgq1kG!JxG z!gJR$yJjv~uPYDq7r0K=iq)F@$T`+$vDaKHL8XvY5u3Semuy`fzOsE^jjXp>#-_N` z%d6IA=Ai5w`TXkcZ!?Me`}4jom5Sil@NnI71>QLU=z7Z?UO_#9k8^PH`YCr4G}Tg+qV3IG?D5$XTS-kILu)58^&0RViH!lWAaiuC>khVK@NPRxv*9jSp&qPi+IMvy0Ip(lk zU<-4<6^F{f#oR{^bS@K(T#&50!GMuL%+h0`7DJ&<3a1dC>;EDZw&mBlnw**&ZcX4| zyQ-ADSV}?Rjl&$K15WGNPC7K|Hpr#8Opv+~wVH8)m`d}qGe$>__lfXqXjsReSfIp$$VvZkSVSdnXbV^o??r!0R>WNGYCl)3% zFy>fKkhoSPverTI%$f-{zE6BMI`O~BG2(E3bSIC8GtfwvVXB1n;Zb4ju*Ni&MC)lav7^=?My7sO?Q-5FIc%n&7^warTAvwNy~F}{@WZ~J7dz4 zt(%#CDkXC%wf9Wg`}Ld$$2sSa93gdGj=u{pRXtajprSQ%R`L@z*SV7(<-M19@1&8F z&Fg$9!mGide@e%WCwk6z4Nr$D|2BAMYqsG7tN5LL?=?6Dl_nT0+BN(4Q>*yZxhKM| zyj%Qi8u$Je4sHrckJU8FuN>O0|!`0*=>74n>o|@l8EZ`bAQfq z8tT^WOxXWV_3N7A@SoG%RoodI>K`!4II&&a^(%8_gtoHS2{u)2t;$6SijUi-KMULX z_#&U@3}Gq5UnVBHh5Z~?tvlp}mM`U+biOX=^x?N!4DC9O42nmZ7b>Yl9M)g&aGw;<1BK% zEqcDY{?H-?mY`lkIhB^Yp2afHJ&s%5`q)=-X0hD&6UXg-eeAD$({_@ffzRd~(*%x> zho!Wcxc>ZosBmksvI2+DZkI1b*{@B&SLlOcxq^_I;vrA7 zx)oEoF5Z(9W9n_2acOD_&n0C^$2rhTR9P4p75% z#liP5mD9A zc6jmTu%k!$v7@&-diGXT_GV?)tyz5_zaT#_AVo}Esi$jUY;2UamZ`aUlC5i0c6R36 zg*V*%(&jCAY44hDZx_6Nzj8=Onv+wwq#R3HrmL1_oREOKi*xY&c^h9of8per5fEIN zox953HC9Z-F(jrWBswcGu`o6vsl6q6`?fQ?cbzXfS-L(>Tap$L(;1)1FlWJu*$a~+;ysMgq>M$pPig?W0&Xp!(3GzLfEQr z0rqPv6b&30It3xyKEX4lJ{B95j!lG|b)@RW&+tNGq4EYF$!3-!p#sQ^seByEf_L}U z$IpGWU}t3D@^cFU7JJR*`gB;a@$re5UCau6n`ZhlK3U?mZB686aeJOM&rgdp6cj#M zV)Q8F&CT5vpEvE9FhOKO8CUr$S)UySN0N^6%wtSiqRk+bBrGw{XQ$D@nty*dW1I^_ z8Uzb`A1#dt>w0>b&ph>B4r|AObcQg6?!|AOL~hk%pWt$~T5+!5t~+9D*dAQyD4ur8 zRP65VouB6&;EcNI@Ih-&$%=Z0Qs-^Qi~DzV@&8}4ukn|I(`n7-ALst5pZyTdI_v&} zs0V7h-+q4mpF_{);HRgYOV}AoZ%h-H|E;>?66^CH-{)5{7Z$P=bLDM`YkkFdK+>66 ztm9$3f{@F3CjmaE#14&3%N?8;#h&(&K2u zr8&WxMO1QX3WG#YvQrF$fdWI|s~?y7>;DK&5}C53@PhmlfhDpGakI=O%&ccnR%5u; zJM%hQ`ktnKhZ`J6T#c3QnD$JqjP(1NtOwJ^450h-d`@L*8qu(9oz~nG83vxQj0jaXBL?`uDRNpT)1jiwfUkO4M}Nrya>tblp(m z%~2sUah8DMg;M8jZqG~{t@R&V5a!6;XzJwUylaAt%ib@?9q>(LN(=Z~eq+Mwy#cI~lwFRV*3`)R@lfreg-hsy{=brS%rB08OJVD z;x%{n?*F&%X1TSTvsA#IX^wui=eg&x&QLdf!TBNe^x`}J=Lwr{@%hjsab^LV`H6#k zRUew?tWw~ZY_{p�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�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�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

%W>QP-E1`=3~JqF-0YV$wc1yhX9A;-ba-O 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

;M5&A$@ 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ξ5>p;7I1tY! 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

Esf05z?B<$}oeKLBiw=ho42?rOeLVhC)`4 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%0D<^tYO_T1Mu)LJ)obq47FpX*B@|oZ7 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¬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�t-5nX&p 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 z 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

d*$ndFel;;{u$txRkz77CDIVDG$N3I~~HKU9Ov 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%0AxL@~7&;vd`U6eY?(e;47e(0|>Scvh`a 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

HFSN`$Sd!|S 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Ⓢ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œJCwwFHeD3WgjmXZWQyCu5c=0vj#@Pc+3Agsz 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%0AaRWWp_C!uTsbJRx%Co3j;zWe-Q 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 z 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%0Do>N&lo$^-@l9v1 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

!z4m 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�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 z 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

(M?jT-je(ZX+d6?wnIFt-1)eYX#Iavw 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

(@W@=&YSl){xJ$IO)FMW3e3|j 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

b4et0y~fu$0gT=^Ko@*m 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∓otks9t*q8wol9~uTP%( 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%0D9{uOg=Dj5A2E!*`-Q>kR_3M0l{ zEbD*X;5$>=A#_E}Q|geB#;g5JFM_>PL#{R6t;<(cd9&+)M(KjN_k%JtVl!@RkZ0S{ zSgfVAN@?AnbNMBg4n8t^*T1lVjqNh~o@sqMgx~Hx%4*Y8>C|Ky<7h3zq*1f*#JT>n zuTGlP%-fhVh5vw4MPJNG9w#LRS>qG$1jIBf?&j%R92T|EePedy(L6WxrMy}j?h4j0 z{_Q-Ix#^IyO(W+QC$oaL)yvQ@dP_UGV=e;j}38A|Yi51ka5!&gj*P{{q8Cl}p$)U&b_n!{KlN+Ke%i(P#!=61wIS~zql!a{ zB_G~Iz25G2*Y(^>@4VHTAM&=E9rSTw`A`;Mdxe=txrs;KS^UZd{y7WyxEICDl~tIS zE6dV&Q|s0zk;0FXhYT}#?r0T$E6U$<)={Kh|6bawdwE*IE^mIuIZ8fpRP$(J-OXfF z^RD+(vQ+wJv-o-18F5_NS7*;TSiQ{Q&7Tj7PY#|t(5T?Rq;cW!%$zS(=6c!klCAb@JY0{o>Xz@n|v;570@}`H^el$P4Y7Il<3QNYthU*1n4!`>AAiid^ z)oaFUUmRb&JScJLlSEVQMi%A|Mk)s{rH8mWsz@9X{nEHANLxB~6Nh?9!=Zy>t6rKf zc3+$zBKv0p+s3?_4@?ScjKrUPxN%h5UD>nMvWfjn!_7@A^nN$WKWH*Na!~r(!*9=? z-Qm>vA@{#{-_wQ{N;3{DJk)BXGwDsqEQ;8xh0bADU9=GUP4Z7Ui+ zz0Ymzo8vUOh)J8nNoj?#%#|i>l|x4x9N!)|*LLQUP|2CsAD-zMG&kD37CpnHvRG2} zzP`aK_a7ODbW)i8FKm@uawzullM7Z`cF1wgwQaUx*e1WhNmAgO$+HdOC1$<=oK<}x2gG?C z(-P0Hyg0SViH#QyII->@e*$4cp)K6kMM6Jyy8HqBX7hUKjWEgE~+6?2de| zi7%-QK2-aAqWkGX)w#;YzLX1`VQ4V#w4akL>Cz~4S-!-=m!k$bO+I-}#j6@x=REDOw_0*|l0&gv-t`8F)-_yT1dq*NdM0*XIfPS& z;gIr!LrrgjTbD$LZ>ZQ*b8s$;)0C2cjWLd;(L*WS<=lo!p_vHjf?g51_SNtwi z3ElWr7QO51i(RK)Tdj{T(4VlqGTCWG$fgN0)*11)`wtsTueOwT*#+Cni;H z{PMl?sCUcAy{AsS-!(a%<;?sID@ER3uK6$7nrS(m*<9fRqejA(EzEx} zL}$eQ6t4F_+ZpMyz1VSbinG}dN9!5RGBwUk+7l`nLQ2FUvVqS==;Z?3ezIsLHA5S#h@T-s$LqCb{=}SE$R&^yIdA z`}Vib6Wel=#o`c;1gGWVrZxI@Yc1`b82^02o&1#9ML#P1#>|7Nnw^W(*fto5OnkVI zgW2%h5rOpPQW zx7A1%r=6W`S^n*hWJ$)w#h%m6YNblknK;7Sk9^+c$=I<;_C(sjL#$IGmL)8dJn1K( zF=bEG&Zfo66Xa}dzJ9oL;P6>?Tj3?kcL>)uuk+8}^z&T_tMsyvZlA{F1G`N71QaCf z3jWs}_#HYcZKI>|ga@;mImMUtzi?pcDv(xQ+-vcRL+rN)Q_FOVbpf5K(+gHuK#-t ziy|IxkhwN1+hB)TL-u5&Pq$XDPht4YGL_%r(FsoRcOJZ_b++D_bXsrkAE7e_M`b3T zIeo!ff7{JVEh|h#W)&=C4*w*@+4rDraf(33y`aOgiY1b69rjl^4m0acnZekmYSoa) zY(Aso3GeS4KlJu|JY}8F_|+tpf8P(42O{jsFE;br$K0!UGSyLJ)kB|KDoKrOTNZhT zD6@1%Z8&J8VB>O#@7acvPRi`XDII*1e+cl##4xf>QCTx_iKPCTgRIBIlrko+TD_?0 zB0HbO&qb5g9SB;&<6$M>%%{*OGs%Phj;L9OO8mv{^%-+)SiCejS06ZaicM4aK?AGY zj0a7;b`t*+4UE6?o864bEfrPJGH{)w^kU0oM=yny2^S4sa5Qy!ZhN5E<9SExXTRPT zk3<>OEsxJ_*HBtH#pd(B&mvd+Zbv(WjV7oQ$2*^59{ImBp6=4U&4B?PQ=ZIT`Y7OI)aqr60^dnw{z+Ud zBWkHC8+n2E5?k5bOXlki-e*dQQ+w;HxFO=+Tn6UIOI|ZRozmSe^ZAVF{X51E3=ua> z!(G!OlESt2MeOJ~%b|49$*#<)ljm;1K~7Pv1gD)`X&#Q9o*agYcYCJ$CG9cF$vgYP zzcg=sdQI00){KSXidFwF&*l^;=&>$&`9in`KJ9csaQ|yDI%sXow;=W{E(m10q zLo?H*$mGEtHp?51{B;5?idT4E*txc~_43(nQ@sANE@1hUjY<470{qzD1$6KlB(jNK zXyRJ2!Ped9fWPREW-%^BzBCD?in$6-6*m~CJieP#X(@d`_l2{_3)Z)s{WI>ZTGg(} zlEAMl_2>l4mk%b-3z<}{R!Fs++0eP;2UoYQgN2Ux|)5H`ncX@7@E`^7X3YgSz^^kMhg#a!Lu2y z9Y3b8UAgB03xf=!P(cZMEswLfh?IM{+Q&e3gDctjE#4Y`H*kjD=xz#7>T%0haVp}T z$a2f8Fa2C+oHKLnnU?b@lOu(>FZj;p>1Tvo{;%tM%<=8(5Z} zESY1t$NdSTz@0mhA`drnEwk`vcx)pYaPH))u&Dw)AMYsIzU}037AU$=NR!3k6L$ z$h$y+d5Y9KUBR4}-jfZx)MFIAjNdw_=9~(?eNSxr&Z}#uWf+8%u3I_HPp2}iL_Nyh}_OMjJ#ZrdZN+;zH*LnfSm|C?s*c?VCf z`qr@P-76=%F9L11B^b}Bb{t%B<@VM0ZQ|)q-!7}X*v((Rp>eN&!F%CHzrz?Vil6tn za3SV(LfhY0tFn&#$ZuFXr|Gunj>*Mq+^zW<-Ti(f?wnBI%y;+G9hW(WxC1Y2NHOeKncZdk=2^dAkpA?|O@aD%?-gncUevObWM8&5m=-AA?iSr6%;foEN%aqHwTcG| z3p*ORB2%b8`O`Oh=37{)33gj`V6_3JR(pTw~G$hw6rz6_hKA|0N6ZDOBY zwZwVW)jKO?r~K}ETbsYDzh;@~kykvoZg1vVBAmbbQC4qG#xZFTujxnfc>4<0b84}@ z&hWeP|B=9?a|>5HbD4$xI1&~7aKrz!DTUpWceyTG_v6rQh2DZr3DNq$hefr_ie^mP zlqq}DP=u?kXL`Ndmxb+1WqN9iXP%c~G~FJ-V%FF*=lvdw^Ahab4GpuOr!jKuWN(@p z5pa5$a?m9a^OsIIFr}R_n*i4`y{^GItvm{_%N^~?X+1a+o%6?Ro~AJrz|$d*DKs_7`6U7 z;y15E>GwM=`Ca~RZ@fFecILvdeonqzuKe_i|8i9<8da4JuG)|jX!7o`*ICzR%RU_0 z!1I!ySHAE6tA5uM7v^OS?5_@Pv2&DN_K;;&V$&&w<13oIRxL<4#lXxQD8L@*W3nN* zDR(Zz6Pp+Zfr5v2d3-m`8b#z3{R{kG#xdVc_^{pYMfV9Gg-Hz3UGHlrI0j@mk&(-$5J>3@8Y&->rsL1e+ie@~vV%JuQDbL7fl2}m$cRwHSRn6(kD$kJ-rFzf7rSN!hV=+-De6CMR&XZQ`8% zaPk>;F7CC=>(121Ok!?Gth%F-b7O+k@AnVI)=R0LzI;jGik}Woc*_-yJifR!*-JFBW`!=EEa_lM^i*c>k|g=P!v~_sHS*dyWGS zxb04hH6^kh5!6`wK&#}kv%QE*s^^`C&Dw8uxMLn#OfI(kf3}EcPB5EsgE0T3mn;t> zzdT}}!z`h3P=;mU_dUgx*AB>N2pOCVzI#B})|j93`4QXo2ka{+@@75cd{JDmNL%&! zJMKpeX?=wgpS-Kd06ZwA~^Mp%k!n;8VZ6ZCb@D?(v^J{@b;t31Vt9hMqwjI_w@~e=Z=URUTfO$ zW!?=219?Txj6@N`ODB3Bcs%D~d(voolR-j8#jf)J`#ck`*OQH&_GQ0P6x{TMeOI8P z?dFMxruZD4;^4|_^19!#HOTQTTexUqCV^*|6j39EHmQS z{V{?+B%;!2Vuh*6#VtqnER=h|mb~;(RQR-1+bhN2z6eariTT^i*7d%!<^Xq}qvdC1 zS&w|(-z90146Hq;WMU4Au6ZcJve5Nu=ubW&$-aeRUz9}G9L!K{{INq*urVRTU(fJ4 zYbg6QZZ0#H0I~|{gW)bVBJI^g=;ksVEKV0Cs zVcAQ=jBsUfzeGV5bD_xzf-_zhu?rPX%<-3rfG1WkFcMS zS7a11dAjTWOCNY{2dF2r)Wl1)IrhJ5n#|I2xv+Ot64O=gYujtxAJ#TTqB(k^da5;RyYfVe(j&xh`3V~0GIo6EwHPbWSTz;UjnYoWa zgh!EUf~ba~UrXUso=A!4cl<5d)AGG{{O>4@cp8?nT&eB%js9}qxKtCjmlGvVDP%F1 z227n?>wB=>`{2Z*q9JcD7Isd4weNCArkVI8N6|@&;s+jzDgCrRl@z{ti;&AR`+3nuh#l+d~^*x_*Q&i9Frw|nd~n$$fbD0=B^`ATNz$XSQh zC0;*1W&bzcpqU(X4ZKE;Q_D|G6`$s1sU+~jL9XTzi%Fgqe~5IcWxuwVQ}E~MmJ)ew zQ~9NK`F>rWytABV?V*|4w-yzznsa_;L*kaWwU#-h3W8!gC+^l;u}?C+DPj)0#hj~e z(^gsNRyBm&whYy`$ay+*UbN)>JrgGHN>_jK-lSgYs9o3!?kzs2r&RsD#>3k0@IO*+ z)-Uy`jQy4seatTwt-iG?e5K$UN9hv_1Eq>O!B4wZ~9T0wo7==0q%yxdG{HXKW+MRj@|iII){p$ zZ>QAbwplBT-)OE|>R@g0f7jC}p3Y6q6?s1_MXG+yx92r6J@s&%)YjnH#m^XJFD#VV zlDI}*a!sVP?5=}y0SO&5c`Dv5-o4I&T|u$?n-=#Wt2K9*$a!DcKFM0}@vb#5q9(oG z<+9OT=1xOc!htE(j2l>gOJ7hBp0{ACa(|P)i~2I76_#R~49~HzNj34D;gI`DOXjPq zg>HkK2-AtR9LDETUU9DHYxnD8v zXI{AA@eQr0C#*~{r?>C%ImIaZ%u#w*qU@tanO%|6TsCsM7Rnskb0)AsGDcCjhPlds z_wY$&S&2Ibo*&%t)^PQ1#j~gHtTtXMc%bS+zfPJg+lwtz6})FHoqBujwFHSTuB<6{ zcrt1>n(b|8Sk7*lTytXbo`)WjH_2EzxcfeC zD$+=8Ib9rkeY=Y^!vblxyK<)<9*}-$c0y6^+QY3|qi%ft!?SI%*dK;l|9?M_kUJ>R zaQocpgQvM;&gbqB+>&^f*G4WcT1jcq?Z=F=j}EdW?f!DYQF_ZkxhDz23l4JB1+%?P z+!0vCkTt`_+ar7byVrM8mA^jV^<$T~vhY&2%w^UyZ&xr^Hb*rFp1I;$yE(cxyz>r= zU+u%TIeT|6eHeFlkPNuGt7~)f$?CY*qqj^?+r&5A6Pc!Y(gXdze~HNMFP4FZnZxO z$m#v>{r8dhx)Zu`A9lMwV*Ve-SpUI7=jzly><@l_h_<-;RzX9MKSI;tsrLO(=E|%L z4P0plt{!;C(V=o$!gawU=AuUpqW228IvOLTr1^a81uIqvJbQQ}S#ENd-@&E-wr!s$ zy-n6FH{rm-y0gpwW%S)WaQ&b_msocAVYv&5vUPiBn@8P$yp<*CsnWZKT`#&G@a_{9 zNPM?gYCYSgtiBAFU3-kqk2E6%{dZ?XG!icMIkqggUL(3x;3mcb* zXy(4yWtx?;Fwi{j?*9{}O5**q&A5fwQUngKyXE1XUo5#7Pc^uP>E*#5^-7{T` z%S5w5)j3!wg(G9_L*v!q+-C1~>@e2k=utJ;HDh8(3$H8Qec75H?vI((Osc=xG#ySkSLR^eCbR1c|5aW- zm9~OIUfCQBS-1D~T5o@McTe^2f4nw3K0G|qEp6Xtv-8u_GqbJh`D}N6d3j}K{lx5bm!5~2);hSW0B=K2j@l4T%af(TP8Shx{CjS zhmBmEr5^>7ocAO|aIaMqlT5LQ+V(hU`o|SFvS*YYlgM0F`fO&O%PzB99IK~(b7G!T z;NV!MZgL^2G%D|8>h!oe&a@dxeV%DE)1=B}d-&!GTy%ceDK0p>ph#TZCExGhGUd<( zlbVEDcL+2Kn%{MwTKCjv#U$I7yi{jBgQpJtrZY_*pHlCMd2!X|>4N4yTaAu{hv9y` zsSGQm%OsAe_$3%Py5}D?6;}#OXg+D4EqTNGzZy9kBGk;@^qGrU zE}87UENy15ThXzDQv?DYsIci$78NbJ^`%RvooN>L4q^m@5kSX2#?d3ACgY-Ts=k~lcoU#BG4uZ1BvSf{E|oPx~DfB>YBa&qQ&F6x8fEsrkoJV)|uw4cDnf7 z0ikY{%&W85q>{Y!s!g^i-^t0l66Eh&dNnM*x3uWfn(Dan@@pr*&VEwMxOh(32F;Sh zinQk^Se$-*Wi*crQEl|O!|>yhjfv@sOH4g;9(frTnod5VS#m+WsrLKbzbnHc3>!2L zDhd2Cj5?h2;kvTt9GPs9!aWnun;$#isK4Iq_b=^pR?M<0|Ib@2%iZ;A_3}LB%~#T% zz1e)et1Ne`fWz+GYlry#Yd#*6@3$!wn|gQI?6;dwcN`K~ zwZV$3^7@TSB@>^wre~iyz2K}uhndBMv&>mD`omH-^_3PVYdv`^&2%713Ux{VhOI8C+hYfb1@-ND5jF@f2&N5zh@<)E_9F*f@eWx>-2B>(G0IP$!l z>z8ZRvw+Rp+=T1Vo3<6j33Gc29hY)W%2;@?XIoF%+S3IO7}l)hWe?*x>ETs0X^M`b z!q)}MN*O1KJ0IY1J8;cry=8yDx%0GLOook#6OL#-nQ>BJagg2AIS)l9Ma2vL2~dp+ z(GrjP*}sS{lZ;`x8xEVtjfgo7c6 z$$UWt%NZ^vcH09zqVumfvMk#$;r*KI%F({VBke8)Xnn{-;6@; zh%4l_Q(m59-+!G6Oal2USo4G!87vqYIMTPAwK|nJTkcL8+ecOg{;Xma;ZKS?FLpBI zi3H0qWS1Xc(c93t`zcR4!}6V}pBm({f*Eg1Bnj>;)XrnGioR2`z)Wt#`VTb=RR1%z zx3KGN?DX$RGEUqP6TiW?o4Ik0-W9iFr4?(HV|bG9GF9Q<-+2d|on@=b1rw<(bokn>asO$(RW5 zwAj72Z+f}1)2*1*=3#1^=f3Yr-@0vPR>;4N*QP9fmiIPt$I*?>^Z0vTxOC6ly{mCk z{vV$7)sDN&Bffo{CEEMaC;NZZ$YuO-}^QvyZZK>ciXn_=Y3buU47??-u9j6d*79;uD<&wZ~N~1yzeVcSKs@xZu{Q% zz3*#YSKt5hZu|cKydN64YaX!Z?>NZc_n}3*<{?l1j>GbNA3MBj9*L~qaa6zWV^4O? zW106mj@$Enn$TVIL`8q+N&mi2Q&!hJ)ydy^I-c+IjMFvGOxEu_o8R|&&g+`zE7;ni z-k$orfV=jEi~g>Q{e54SXxF~<$=`K(KHt|B-nFj^Le}rPy1wu0n(W%wG4FR>-_Q4L zLwD_)6#d;d&-Z=X@_MsyR{rkW_xZl>I9>a$Wc}{D@B6;*d0qRy=Kb#b|M`9#;I8}7 zqQB=MfB%mo+I1g$^7lNJ=l^-ayYADJ^?RP`_y0VTUH5s;`#sO?`Kt^sCtYV`L|j6^ z#lXgp%6(VFojZ1kis)9ZqC zrLwlOyt@72ld~+GJgb?c7p+jl;Aa&q(LZO>m` zEhueDjfYp$;Ay!Yt*v*%Yzt2%B!IC4w(c6ZZSS0P{Os;S z2M@(3rEK1@vb%5E!{-cXDX^z^mUW0v*@cK5gE7B&d* z^18VurDtcYT{&UF;+Y3eY%wzQEiNhCb7;ew4GVkwXJ!}FSy}||KeA;;tM}CIiuE&n z&s;pbXr7QI@^|H?b*LAJIN<6R(sxr)Tb{mO_(&(*519Nt2NNWbn9IA z!`s_-t*zRzW%jIjlV;6bbnNt=vJAJib1RywlUFS2Xe;yc^9??>KD4_wTuIR;HO_a> z62BdLHnz4mubJXj*H{}C72VrhQC;A7^4Q77w(2Ewnoevf-?5@CI5=uztyf%xZ$(W> zeZI55UuIQZOJQzOh@az@^%J%(FD=RlbTk!OF*CKcIJP<8FfB~o!P4`-XTv$Hf5 zxRc@{t{hukQ#;kn)TX0z!P&i&8tYn9)0*eCnY46FNK4P2+}#oGE_rri&ceBSYf2Kl z+VogyL&5A2?E)jKsgF{-G%_2}VaE0*tD=9O5J?cCrJRNvae@t=W_gQbDz=ITZc zVXc@G8x|gJ7f|+^|wZ;@wiuL;RR21E*E7KgHreyN+*%Y0de1qYT+Hxd_|Fy~c4 zNUmJtD|z*nDPAX*tXP&MQCt`G;8p)xrvE3IO*A{ZZZF)PnxgHsds4{lJgc3bSlMMf z0{v}Qsjb#&xNx+~n<;YwV}p1zSIArE>+6=y%2?z2On26#$h3KB>uayS%|5W|+1iXH zYj>~BeYei?c5ZiG!W z^2{Tq@Gz65jv+(W1V^`&fWGQ?+f|lJzdNbaZ@qM<;^IBhrRx1WYA1r3vNt#LUHVpZ z&T{&yiTj?z}UKn2$#p$VY_dKDZVm{$}en=J|^` z&ZSJ(DLR=ko45GZ!&$#K-%8mnYksciGmqZw)aS9^^VVJYAI!(_wBiFJuL*<0j)y-F zH0)sMF~4{8v9gQa&nH$Pd6s-L(&bt&&#~A2`h3Ctqbsj2skgN{xODlu19tIm-u$|4 z_qg}_J^SPH%-&j`?yWvw`Q2{&yS=ZMby!Jo`2Bdmq%!~DCj*oH7Edx={xdzj9A3Zk z*=+qud%w;7F8%BKgTqUI{YaR-#1No$jAz9{awm)Mu4r zS$Or8qQmZ!eO4(edj8sk9lAAlLtV+{`7^$3+b#BKP3^h>=ks!l+jv;=m?a!yKK`F_ z+(z7@fWu>o9E-BWL9Q@^=7650@PO+FKem48dind%zm)QA7gi_>eC0SIzURWcR~3zg zDLL2g-fG*=7PulV#5yVR4TW(KWn>>mq6Gma)k?$BhH1H2 z?5Co6oGfaJA7`F_nVLV}|Ic!-@G4;~t}T<;byqm1XI*G9V~f?AEY4uDfnVxDgNV?L z6)wzyeXKPLWmFr&Y#%u?D|ftBHnSS+u2Chj(>EywQer zd%rZB*v3a)&+?tTSKs;FuGt1L2`#%OF&4{8GqQ^`2FjYfO;&qz=EN@1-E3bs_J`bE zI3usheU_?O#oNj0`kVqDRkw_1wCiLV?tis+W7W6Ks+=z(FN}uQQ*>Asrf=rHKrui$hO2J=ha@^_53w^qo_RlXrgT)n7A@ z`|=B~?aU@i^WJW&KJ@Na`0l@(^KPGOyZvh4*__?V>r*aD$4p!|eeYY-w4$fp54qHj zFFm(+iO>7)sPAX5mH#T9pk1K3f78zO+t}pRG$sBZj7 zg!$1aK9W*feGg^Ma8eV{o#ZIt_Tq;4lB+5GM=LL7{cz&jzkow|!oqb^BU6`|cfRzi zzI93Vv&jXQwQa%GQI}H^OeNLcD(tR%cx6u9t;utLWf;A9erof#8OtnB?k>3b^VrnT z^?k;t-`L5UU%0^bc7f#&pK#Gz7p8M9-==aX+uJ#+d+t7mRlNbPBJ-o#nLcg_j$f-^ zz9@?KpxCy3X1U>IlR<3y}NgUbK;Ig_cwiu_|2xYW>$8fl6b(6Lz3&B+uCnfZPT{n$nt;Z6~iw+ za=TWxUS-iCU1zm(4v$}3*UCPZDeE!X@xQPE zOFebu<~vOp|d?vw{KrYuiCb9`@22%qRP?xL)WF~ zRQ+AKI&E#GxSal`s%y`0K0N!b`0aB3qqiU5`?Tl$o@cfDb8B91QTg)Q?*DF%*}tA> z-#2@f{^jT7eGitZ|NgnYe%I!e>&4kF*sEXb7cJS?U->q_&h&bUc7&0@j+83ig{e=k zYcD)*$QseGtg(Urpu4njIgeo~@5P#P$4fr4mu{MF`Tcw2!pZe~8xsFauU&q$_UQ7e zeQJi`&&ofl3A|S+lm1+pd@WycvHU(W?|p2|>BqyJwl~Rd_dGPMIm0|n?z)|(N=cHs zj^&apj~g2Dn_H5nJFRGMeEGEM1AFbo=b;KWS_74vRBqI(tzh_H-k^V7;1yf`ini?1 zs~J}21(`px{8q57PHC3h>?QNKEMKC1npunD^ZXCXGL61x&oIk+H!UkmqUHa$%xPs= z6aJSq?lxgKked8%d85U#(C8B`aXUIsPfFAat&F%{{bG7v>;k^@9Y%AW`Dt9w>Q&R} zo0w_zJu`QEw$1XEGF6>Gi!2%D%)e?axjVWhvlaWyX#1teQ?Wwd?LdF%}vzO^SW->{Z-?UDbD_NC{rn+|EZdeVR`-)jtNi9lAc`a;J98kZ(ED0 z_(ZW40&=RI<`X8~knp%UqjkpBimRV{l_WJEMl>bQsC?QXu&c$pFG=uTcwKO)US4RU z%XXpSDS~DH%X%kYohY}n_fCYRvg8ztph?nYliJ&w_6TM(FPtJ?SiyBv^v(A`iItP3 zPfmPa9x3e+<8)Hw#Kx&-T&5&tOp%>1$y<|Wf@0o@Cdm!V(vPl-T53*}@|KtXuqI+BJ#k1vh7euI!EU463r6xi>K^ zOuaAZXT2J8F}n)Ss|9>zI|OQ6c|WMs?LX9TC2*paX8D}LE{EchcVDDFq)l{-5PWx~ zXLd`z>6Tg%g8+&h9%o!{%mzou=iK$~hg0GpA?9CuTO)TMD=p=oy%qU~mT_$VUsiO8Et|tKJO6v(T(jcBYxA6E7`9ntG5+)`t0|#^8Fl{3oLb9ituqB`T&16RG{67RqgX!w z6#sGHwa8*m-y4ITNhs<}p)+`QQ zq29U1ys;{D;hJ+*>(+KHm#AF5!)p%PEVj6awf`0f?AH?fx@v9yMuvM{xercNKdKU1 z;l3_9ah-kFx>sCt!fvj6*A@A3*4n*Zf_&ZUvlp(vyKDW<^fgZ;7HX~#_+Pd-Ms0)W z!)Axa)sDe4UP}n(-V$Oty{7aOAKUD8?9yv@TE#@aTz>Gs*2cQPjoeuZ*S|0Lw`$|I z&L-(o4IUijN!y#0)pTXqn{QgS7F_FZG;fSq)gt^WMYy?petEv1q|h@d7Ma<5H}-o~xX7%QJ=2`Gg}cE0`3f1Yytl#p9O-3mGneHqU%d2N zq1CFcWcD4J6L-$~y+;4`&UvrbDZgC)nM*L2d;7B0jw@F0DywdiySQw@|7|8O%d!%e z%c9eux6){%^{VTL$6!ce{a~U;UlK~CT4o(B)L5jhBAkY&+KH7 zInd?qAym!(dBfq%iKYQOM`di9#I?H&VtQXa+3Kou@VxYN&gdn21qa0qcln(;T&#W6 z_RJw(sUyXSX*;(}5#Ay2clFU|pTl#c_f8KzR&_>HYtAv%lgElC=6{^oRhv;(;&r@~ zXLH&AH#6erv?lF2F4e>RYXN`yo8w9xCkh$6-=#FKvdDbg*5oX6@Lcv0Q=cWJnJ(Tu zCsP$quDNq6Bj@DgFY27Gbv2D0vz{%r)G)N$uEsy-L^sb~F7M42Yfjnpn67(sYAVlZ znJu0xH;S*{y;1Oy#LJcw`_3Fa*L7TZ>Zv0#V#n^Bz4zzr`aSET9{1l8mFRjVkP^U` z;c)h<&8aS%1uV0Y`*Q>(dNzj?h&`Eb{$~%zlLn4|Z_Yp9In8aQazIflzJTww&f#l! zj+*iuJ9T-vWZ-$B)hrnYdBt)sJ~_bqYtO~|4t)1F9IET#p5Y_$$c%~e>^YY`7e3rM zu|H+{m01Esp9JPKtiAnTM{L^#wp$B$t0!0W5oHi>8 zQNMfc{h15Ay{&28r#|iy6pFnZwvatXfxSq8XZr=NgkG){4|wk-aKHP&lU{I9-uC3l zGp6EuFMdnlJ~CnVvz*zldM;`HJslW(Fwtjij`VPL<>z&@XW zJMRHoSMQCP54g80@ZKt5b2`iGx_0xiKfEtK++1*$cR>NyR0R&NSTTiYA=@igD%W1u z_MLwEn&_p6^7U_5@2^^$QggNKtw^td!1;!2iv!qJJm4#ey*X2W)91mB4GioPKk&@V zy~6hBX5$Br)ZWXVK5$^*w&g$?W**%5&dS*Z<6rt@M}IoV2}d?Vo`AduKf{@a6qhD^eaL z*ss90aRU3s0*sxL`+aN+^m8V2@~ z4>t-P+?fC2#%2cgsDe913%FQ6a^d1lGR)pV%*5;BEEy#1TF46Srt_gq+3_iDwwSF7q?+24C*-xsn$?)4_S z*IVRX+hyG|l-}$uUT=C^z;ewK|97H`6F5W8F`Q4})Kp-rNZ=PB(9~f}w2C&BFvCB?ipR2%jEa5@S+UI!;+@I>6m*3;L z_<*OQmiI~n*Qo#=p2s}r68Ii4e0cDH^XP=TCl+uC?PJ|+z&$_U`G)644qA?rTvmKs>=5e|&c$2;1b8rH)ivx@Q1n!3ixXygwTEoCmn4q;xiFM)v_IVq4 zn+jMeHn1=G!1gni%R7LjJb^tmfX$kpXXl3d7O|W@6L>BLu&-Ib{@?;vg8~0Z2hQ?+ zd{z3KXBs$feE2@k-~)sG57zn*oc!EX0Uxh?;Qq+RzIy}rf&&~26L|JqxV-Yh$Er`a z)%X9LGyl`P|DW{Y@16ZUd&j!hJZ7JHx)O@?YJ#In-@rGgQ6j_ztc_x*c+fL6jjz|fR zkXe0J-RInw4ZE&(2h2IWRmqjfT>J7&=eav%HmbN43Uc-Izp*gM>U|Kigyp5+bJm9c zmZ4QOFB`vTPTFF#al;ph<|Feoo*X;m^2GFb^(A2Faqj;w6N=Wt-0qvy5-foYK&xa;t zOiOg;Gpn1KI;rbghme=(;*g|c*0*GwMeOf*xLH?(Tfwcf=iSXCS)u+78qun(5c*@@craLtCMTZ^!BoBmbjm?l4+vo`7PosCao93 zI|8-|s7qOK-#j-n@|nRgxu=I3Ud(vDX`wT>-QO7X08gKp>YQ=U7EcMv{nNlcuXR^r zzo7lDNf%sz>_e8eE;3=@)P{R5IskC|9!VxAXDjcd24c3?%nLi zecl$yZT$=1O!qAFOuh8`&dlb8o;fF*B$A#us_t!4v+Vdh!L{t2h@;xfl+=q>6K{qr zEaJPjVwQKS0o#*_N_LeT#81es+>CZnD10~fLNATWJ~a* zj5!w%@p^RVT;Yvfp>gfgr>o1DI*iZESQPE}U`5(#y~a-SWUt#?pT06&dGk6>-C@qO zMGrY0Z1jq5Et26hx!A;=RKOcrEK31`H47D~g8ZsP?!6zPyOqPV5tR9;pr7e3ffGcT-B;`oOf-f zpVY()bF0e?*~^zWclx9}`#9}~OZp?9%D^cH#MV~&=KN0!o*m_Q$ZX*zc6X6BPccho z@uEfv)tzctfz?fhs|vQJFf1sXxZ#XUbYhpk57Wf*Gs$YaD~|gtYUcaDTY82b<9@jl z{#hbFZmUXivUa>XFmc_KCg9Q+UgCg%3d#p$|ITu?K&}i!XppEbGi&opO zW@f4;%N9ObeaG&tVSwW=CZD8Di`{=(?(oS9Sro z5#9r0QzmToXcgkI))UiBYwo_XL^)fS_xLr&P0=&%v52;j+=_XNb|)9SD`T7KqQ;@bn?FTSFj>w?{L+Qi_sb&BW~Xfqn;r1@lEorZ z>j|H`YZThFuD<3?^f@G^lE}f(pe$3gBVTPvVqfVC$DWP}7n7Sw|t1!>QLCI!%1e;dd%ua3oz#anTDCT8s`cd`R*=$klML+0wnaqx<=b^(SvkvQ*kA z9V(J6c4>u>+`J3SDl!X2nCBgm&dF;IH2-j@*V@$V*pq~?`W>6PRSMVGb~DAkIV84v zMen+Y0&L>7%JnB7#Wk+|z^*Q1ZCqdBa(&~!W*wbHvd)v7tlJEF-2XI6tle?WqQ#o? zkzM61_evMF2M^gp{yY+MdN+B3d8|h86~_-x-O6`euk9||e_P>CTFqnG{}n=w#XQL$ zzKi4te3o1~*<`)rdW~O~^rIiK@jY%}Q3#mG<8|TTqxKy#F7p%4{fT6h*jZs&@A|Q2 zV*W|Vq6tT)hy1_CrY768->Ybn&K|F8>T7o~_TFHXj```3nqeVvBcVx8=!830OT<<6 z2m2TW7DftB|MH^8qE+||<7s~z+gHK&%M7V zOZ(jz{X@p;L-TW^c}o&RpH#9q-e7fb5V5#0`N^X>*H5u!d++Z^Z1Vlg8p^Q8N`uA2 zV0&@1jgXF`u+6~@4e|@5-|7q|CH^|TN^!2Op`w|MRE(%E$-Euer+!ZvJ0xV^O(dOyuj}D;tjsL z6#9y`zI(j*z4k`o&uf-MTm6qoX3O57obSk_Rbc6!ux0h-T^2tYRXmtJd+c`Ku>bQ9 z<~7XBhTJYTi(B0zO68LKk_n}0suuOh&kAhFpfVw+3GD&K{y_9abj zDXeAEdMqUqmIP>dr?lP?oW3GbCE}0ze_JmL^NaEd9(^qny8Iuk6HjoRq;qmo$_)}VSh2_B&yCiG&AD+Qf(!f0FGgEp8i&{cULc<~3 z)2){b><;ZXR$tA`8Eu+ZVwa!7^z!pgwqQ@cq801TED5q;D={%V*JP5L&|;?05*@`J z*08H-vGa`0EK-IietYk(eX{@OZTqMQA=fjku19vQ+wA>Ux;-+XDJR(KQIH(#7S@Ur zE#V2wogobo7ESpA$6aQfdYf%}G>c{O8=v!k&a4V@T*$p~>K;eiihW58ES4I3qdD4M zX^U|m@-XpQY|M2k^$MTWjaJVlH%T3BBP*u+DSQ9t&(vYN)oQ=ntANM(&1oMusjVAi zPRD6@Yg@EVeZ->g(I)ZOK(qjH$Dz{bSexb#6+)roFaR$unDaz9ow zu9G?YHhOtop=w4%t53vP4yl&wGR{3QeuBC(0T-HXacl`|;0wLrC9zXxw(#Ps60B+q z#rbbDK3=kdCz&~g;c%Ul)!X2$hAUWJEZN%2-5T*al)i8|{L*gz zqrLmDu>ZR3NhdG6%wE0gq|Wp_M<&MwJ*f#N7DaGLt!T+pX#1aYk?D}Z>O&PfbNBc# zum-j_b!Sxt*xn7cJ1a2d&x%5w<6*ZO12&w>xOpM|MSvOy^G%xtf`3;munEkVz&xpw zWqxu9=VfCvNsDW@k4d}w+1|Lwuj{KTa+sat(hnm;C0p;@fYajK?FO}%-eodrv06LF zn5lm_SIcwefwJ@_LuuP&jYk(wsyZ;)-)ORQI(;PMj9CMF<_vbv1w2s-1{$V||F5~6 zeKgGYO>o}Zu>85AYCl#vr1~Az3gMZnY#FgB`a^(E?G?_W*Mw{X3oKaeKQxE!xWZT~ zCC0+&owV=qniU?u4(ZIm~k+o zqSrq}!|H07qi#dKY}BHs*O-q^DDXX5=z62~k%E)y70XF%rK#5i*50bgy;X5{Qj!I$ zWdc*^jJCkFfeZc`s4}p|FVOJdx|+rjU6g9tntCJjE^EGpy-xyDro)bTwk=VnM>cUE zDOqqy=dAp;nKql5F29?(CuQf!Lks8I7&Ut(G$m!QrY>E#_<>Hy1?kiut=SuT_7(1& zCA@7u>#euiQI~XMFXwXWW`rB(L>tva-FLd~5_{d1_hR|qi>e)0bQ>4kjbPgl8tcn& z<-ddLoXuN%udHF-`u9Tf--|7=H*_;2+#WE+CLF(LC8W);ZF+Hw`+-Yk0=rYKdmc#i zB`V*U!5zG*PaimJ9)QHG!4`4F}avwC=GvVf$s(+^suXq{94FVm{x! z^pWvecMgliK^DIWY)5?LA~&>|X|%ay&sTgnRqM%lIfY(^-lNNUeVP6x8Hgohyh-4C z`-rn3R^Q^v|EnSo9WOB7w_U@z&7<iM#u*?t|EEs#p6q1y0;_v{~w*(7q`C&3A)i z6Q8%nyL zYkK;T2!uaJ=eqXIyOdyT{QiPi&SYFnv`o(A&A$<%vs2TUvmvdTx{biQ_sF zLJ1AhHUHYYk3z&+oOZT5QaR zUL-Pqeir>Kv-@7gu63`4Q@9ycH04dpp6Zh9+R#$)n{`SU+f=r|TYJ|SyUa;5W0|q6 z*}LPJduhm0+s4^$zJk}9tyV-|U7KmFcXsZSc_WzV8t8N85!;jYH6*2Z2%<&(XGbdbX`8LaF zg5~$gmPTTMZ*ME{GjR88%YJ(=Z|#NG{eB4_?lIa++{@t1nR2e>P+#_|vK5=Yir?KW zCfJtq;OqSZD{~(8+MT)f=H$A|PkhskA7x>vVoiO~a#8Q?Wi>vTxVN7sG^tdy$z6M8 zc%aFEp+)g_@3Sn{Bie3@g;AnB3h{Gi2S26O7HmVgsYUCyf+wp?mi$67Pv z+K$fP(|Z;l4%-^Pl2Is->D{|R`F<{Q3+4}UMM~wjKJHU>ZSbs&*yO!phrx@2b7C96 zrA=SN!g4$=I>j%|_MBa|+wtFQx5F>Iw{%TpabU7yDEO~ec_yx)f1%#1j3e$_&+YfD zd*Rl$^Q$b2XGD8$0+ap6-Ul;Y$v=A=z`a#{L36<}_K*+Ekrgaf0xjV;+I%?r{2~fI zthpr9G5hsbf8G9MpI3SUKMDiB7b>cMmjAkBb8bSafVtqi_8Kmpm6poC?oHRM&v!7$ z(79jo?^{Clha$lf8+1872ljrFH!U{lZ#&M??lB=Q=LB2q4Q2z0Gk>(1Z>)Q2W#3|H zaW2}3rSQbs(isstSL8qBhPa!4E(l{u`oLUX(Grl++}y?DdE8sPznp!(mF3lB<2=U6 zS3U;ZFSnKb`tO={jA0Gr_~P~frnW?SV9l9C#m!W9%x_QU(r3M;+P%l^^hMr@ljmwief%} z?Z2PzH$6>2>8Gy2&#NXM!UD3LGAa#Dw5laa|K|K6$Ix2;w54(Zn_owwSI5S=?D9MG zpDa+%i`DpL*74F)!ob0%zqTaRTBA?m$-I@*U$3`do#eu>c71If_a`OxinD*d|8La) z(d^EqE5V+Vz#1aKp7esn`UOjpMq7Nu-(yP;FMsJK$k5)k{r8>YrHgJ?=)b5i5dYj0 zuA{{9hv7PNx&%vn0o&pIZ6134elr|bE@!A{OF#KtS3Q6~|3_m+z>_cz@kC}0E!Qjo z#f}G!Le1J5HJ_bNdYgDmezwH=s$0KUY}yK$g#p#qEtjh}H& zZDntjm|^)at$B_Wo}-YofLn zxxRYF<2N_lL1csEw$>Zk6@Pe)QabKwTbdY_AB6AgzI+gQn z1dj;VINA0{q-4w2u$UDW zLfKXGJU*W>F1sOk!nj@LQj4sdDDz1TuL&1sCiOTz;Z)e?VRkkvB~$F$lzEwAw=&`^ z+HUEu+L*S~XZ=#v|4zBvpQdq1pIf2CZoGDyYnl%T&%VTWXPg3n!vx?fGP zl0645AJb~vv-oK5)6hQ&+5LPj{~h_4r+n_4Ha%!d=JH10!sEg*Dib+8mc-(#}^=OcxL`IcgZ) z!5k>FE2Zmm@8b7o;#V>VSu7CM=VWp>+99dbXL0gK9{<(PReNhgd<*{D{&?7JUl+vX zS*P;rlpG(6&bLDmp3*Ba7&%qvGOc~C!- zI^Pz2*~F$M5zc-^q)DjZN6?dyDQixCU0sxRXwIytg&WK(^;AlCNmQOwV7t69kLy^* z=~n>DhN;<~blaR6W(5EkN|Eun4NL&z6$n(A3(_6)V-hv;-6MQ}vGoNZztzfk6xX>&-r@_s1Uxcu^ z*iyDE8+EJ8E61|#53O3O7q*B0 zX;(?`I8^cN(BaBc#U;Ko4l8&i^W`5<7PT)BmSNfGtZ-$E&D)g+_s6Mmg-Kixm@}cx zbVq=Ebit~M1x|+)y-m+D@al%%T664GokF9EN21gto@DMDl1jy^wyw?lU#lH6waJrD zX#q#20^9a^iT-yAoaCn7NH=6V*b>9>jK9^fMM7g*x6Xc$RV{rB|Zz%(lv-iQ}<_6|Lt{EKK_b#5y=2#@%HitR1IIX?+>lyvafBe0d zM{M!QnJkw&uCHUw>HYAl-6G|o zU~T3-#aZU9Y7b5*-@fZCs+D*kqrrLeyHzQg&#hE_-3-i^il%zJ{T(@H%9gE~u`mCx zT=t{mty!VfG226ONpm6`pM25Pes{!%=U`9rjjo-+KLkxWqqua|9Cuuv;5zNzqwrV< z1(qAJ;){-bKH~hVeU_?Xz_x3xviUy_N~O+FXp^?MZ#a49nKU(drX`me=Joihzmhz9 zM`QzM!huCWUuIl0nzpbtDdCaubPpFjA;uo}Eh5u?b+rEDXb!jLN#hpQYZJS6^!es* ztIsagIjUCZ9Hmwva^!pLv>9GqJnPI&A1$Q_pRIHGlkR-EfpRA+!nuz1?8_YXbOmh(PKjy!|@Y-gLf3B5GMklp=5*?}v zZt~v?(0_O1f6cSP$-D17bKC5HZ-%F==7R(CSBTgxHMN)dRVY%~%_`(}QQYBi2X~Cb zm;R!I8M+b$-jlW^%y89ubl&7i^DiwIjhThFcrKUvELy;Pwy3z<rvPGGAq} zpA|Z0HEU~dyJ339m!K8M*=GSBkUOfEg112=OEL|gvW9yMl}74on& zRkup8C%63f?T0H=W}6niE8bN4Dr|q1RC+a>`xxrU4Az9suvE#MGp$DR@E{8<(cFZ=3xeVGMW@?kf5@YlD!i|cR zp$j*ZFZf|$AAN3-QNH2-%3~4NOrNpnnmuH34q@gy@^$OHJx|}iO-keqJ8{fxQTPT6 z4ko!yv?PXvt8d=|5uoO_|d0#o8I49*RuWfhY}5!+OrY)URUSq|9u%OuQBt+ zt^hsexr*}{w^uGcs=Mg))Fm_K&t#k;(sZQt#v#dbk_mIBxiCLD+4!WA@oDXxyKl}5 z&u~AMF;9|3T60d*UIvC2PaX6b7}Qdn`@ee5zu>p!V7%G}riiby3}>3n-yD)DabozA zV6G9U=Hv8T@Y?#o$gP_FD@EG1JeU|P{)b+k$;9B(yW?v3*U*Kcaf)J0tQr=g@d_ka+CgT)sX)=i4ia}?QL9rTZI z?DlN8krZF?;fUl17fvRJe~b#o7aDC#de(2faC_}R4TFP(4=OyDBy&X{|pBIf+qh9hx{3sWlSDQ&imiyufZ(J)wrYA^-5wqBZI@kk1R$n z4k|B;uB}XVn&FtUsuIJOue)&S%Tq!^@FAUAy2GRnB>%4wX#$KGL}lSEb|v&VK~!hn!_CO z?T7@^0kuCYvKcO#DQf0T67OIn;u)% zxk^++XvNgL#f|d>1sGU+jap@ns0J}Cv)PuKv?|%%O2a5k)4xXE-{63;Rs*YyYi!Y7 z$0^I|?J}nJt%#YG(IvBd)176KUMkYtRs_o()!34m%C=IDt=03;68SGJ(|B0>eX=J0 zYMGVxY{5N+47Zop{w{Y~Ca52?az)>&8cXJ=uIMjk6a8l>`(JsMvhSgG!sEmf%lx;f zDfMLf-$+pW;G!nB{MyuKVr5xN|FTF)sp$DVU#|8%``S`}59e|}6%DmCHG#tcOOmF4 zYMCJGsBtI5kBh15Q;Win#?@|Fa_g4+eCnwA=CXqCxqm=o;2%fhv{yD;82w}ZKi0gH z898CqzIUsmwx)&gFn0cMYG%vM$$Kf+lIWkJ**j@5U~ z^>p61%%X4UL7$G4*{StSWmj9Nf_*2WyygP7O%ypSkPOqH$ezUcg`(6b`9hC^-a9XCNowRx>(@KAy z+$)BuRcdcsnGQHjR16SE`evAs^C@{lTh7d1S*7#d)VsaO%}QFPSX8yD7?Pu_wx28U4I{E|1jTIObvzy92eMS z#5=Lx|HmQ|!C1M>$&7<_k5NJWE^ut*@WK!}W^Y z(JOJwkF0uS+>&?i&5s`s8T%FReo-=P=qW!3SZ-nmVg9kjwv6V(go>VN#4f0v%w`lFxJbkwG4Ku&4|LoWLdE?dZ zN-zE2XazVpz0G6RQqg43et5P`Z&u%jmql}rU(*k`u+H(EQ((*oyL~SHELpd`p1ij^ z%IJJV{f@SO3bQuDf7Y|V-hWbRbvUyu=nQj!j@rRX8`$Cv#nP2e&U@$1bd;OF^`_Oa z_p8#cOgimvaKm3B$$!F!fIrKtlw3FZG4n+~pLc3ipo_M@&+5=KO?n-SdpBkHF&*Gw zX!!JtMN?v3z!CMQNsaf~J_I=A`FrRy97*ALyzA^p{dt>=^ozy%E=HLh@|Q7UIN%U)#3(@Ll|{+ZRll@v#W4r1D0-@PRCo8<+f|Q+ zDpdR}R_A^?qAQ{#;Lc=c^K`e`e^;UZF0((dJXCWvU_LOxt)OJil4hR`D#pf+;w7SC zh9PU5{9AM^P8<^aafG2=Pvkp`qR|@be4Wc#3)5b#@#k1GcU{33+XL=ZudTkb$o<#* zX7?#fZ*72!{{%lLMR8Uo`67dCW<9eP#X5~bAC4?#%hXW%>~^e4nVb8nkt>IUNzif8 zSDPlE+NT?^M(y#hmeoO9;y$?;cRW2f$;e_!zWDbR=^q7r+OGpIG^%aV4tHLo!|p0E zVXOZZXm`;^cjG1YN?L&hQrX(A+Z0|g^1H6E z(+_@N8Y)~6a9~A2^+q0>`vKbK^~_JjHXEt^HVKr|Km2Op&ALM+>Q9^wlm+{l{A4MysGEQ3BJ2cwYPWgW1pw`^D+cjYxd{Qs;t^UU0dxoqm;oh$!$NhhRjXey|5d)&WwoAd(<|A6%w z-e26*So}o}FPtTOf637y71M{`Y@)5_U}CA_x&F9)@vbFP4>Y~l{)SH%1U#u1J>|Dd9t4~&j?Xc9k^~0+3|G|~#f4AG@ z9F;m6zW?z=XC{619obuU-8=Or>DxMg9j)2RzpnVcVe;=IRu*4pcvw{O9aUYj{n`#^ z0d3tqed?>3T_r0j{O9b}Sdgjn=G*!X=DqW4dd#x|W_<8pa40HE48vO zJJ;X%v}w0-VU?QAsrJ1$(vJq-(^*%xw65;y!P%=z%zvEyendK9lb(jNVn!#&1Lt{W zHEnS}{&2aPY-w6pz00G2d)fCRUngoW_SRmqeeo_~)=9gU9@A=IiaF{K{_X7Nsw3MB zJg5D))(~LudE_~xe{V>)-AntU6T&_o{O2IRknGPArP=(t(kMsYg=zQVw`)%2Hh3>p z>~K(YYm@tDbZGvH{{Kg;Qk?S5t>?2XYmTyQ(R*c~-`cTW(e?|A>4%0V$wx0l9lARC z`CIor4~1JdAF6&Se$=~f|If`k&VDZWUG&7r&Uso^=he&m=9N7WUZQ?3xh^2#FpJSH zIi?l`24?nc3K<1W6PisO1WGs*ZaH@{NQH+u4d`R#&6O5gbC9o6ueM+>hmU}T{tvm;!&~K z8o^@{s!8i?+TTp*Q+RE6g!{ksx18vsdowl!PEeTq;iNa`)DKE444Pg@ep+%yBPhdA zQ#reDljiyhD#n`HQUM17&)jm7Y1+o1aFEr1)!LL%&vfO|sjhRU1jFPxnVui$n9QZO#Rmf$yGfO>`a+hrXYJVcIMM*v2~Kq?1Mi}R#Sa8l|!%HV`8$N$NjZ}kyAQr5)yo8Cym0Z#*9i5iVq};$ zFV;)iLMifma_70(CuSd!`K0Ndufjg(=d-!>a=*kI^F9BI%~5Syw)RN9+=;@h>|@SL zFI(AjDC&wn7BW&h+p^2>^55JS3++2DRw+f^=UKEgFzEiSwbO!j2WYWcUHcTWXnCIo zf8x2Q=vy6!C%&*1XgVwH#u960Yv*|+@?$q=^#=1*M@}w`J@U$XXOPQ;9DyaxkCZ3< z-j-_jEmt=|rAq!XTMNg+D+lXJZnE6SIbmNrS4BW#^5mP(jP~~OOla~9c_cLRhRdp$ z3yKE>oZU;NG`F~_2o+5bb(BigKh;~H@bzQhfo+Nc%LUgY$Y%PxpSxjFANktZZcmH4 z+NQ&cHmoew`p6La=&_KoML-prqJiA7^oik$HOzzO0(9DGj- zCl&QIBDC4YIFsB=i- zLe`}#$@0ceKGZajDh%E7BEQ zr&V`KaGdNYIz8>e8moUcepabb!L#RO%wSt}i1mBXktv+1ayytCK0R}o;4{-`!6MF- z|LV!EDh7f+Q)F~A6*(3uXep$$bsbcncS@6~T}GoTY>vmtHX*^=2RXHDnHg;5l{RL& zwyrgw`a0(2tt0*|2iX!0`+3%wPq7pcl`Woe%uLC!-$U|=y{okB~(*u zqV)15vnSVFS3I~?+PD7Jq?(y(F0Mb{2Nr#vESHg@DOWYSu3I=-?!QFAJKd1H&XZSt z`?eoQyu*5=B>2!%Sw?-;*9u(nm$tsCTIu!dvmV17#|fL;_)0gwdgvUo@u}{r8`7JM zyG)dVZ!N0v)wpo!Y(q?zx$@?1=9^hR&HI@%h4WkFcD|F%v!eGLY`oK9$M9p5(5EV6 z;p_rkh8aeS*lyarYkOy#&-Ffau~Z}jXNK|GuOEI$X>~5_V&8JJkz;9((nE`K7N29Q z)_Y}aOpX;wacQ{rbzSS{^#2ar8)hU}E-O<1#QrghOSbc!@HI{kDF_?U>5qtQq_Tg*i#e7Guco~|_o>>yRl*O=og=fRN058Ax9S#~> z<=obWdvS07B=vytIv3BknrnNeaqE0Ddt>n``r$_dcgf-#t|}^lv-Hnp^H@ylFjV_A z&uIta`dM$c2=K)vF$i2YWBGVw<{X}@-oHzfL@qIfGRjQ-utYY-V{qiqM z9W{=~#JSsR{_TD_ar&OH8GDx}{y)m6wRo30XHs__Lqp!F4@Vnw98_ngzFw=9XwH!F z&hqoer*SOP_fe;{D}* zT`WKGS@l!RtM@-yY6Z&#XT*O#SN?cSpKHsNxp%!kTOGL}$lCB>D*vtv3)OoUG%S02 zop0+l{bLc`Z%??_U94hQ60Q2i^F7ZItuu)%a)(&tm@1z1U5nt_cjDD%xkdYA{C{a( zV4B~jf8zX4l_sk-JfbfA3`JZ^)smJhJF9qO{fS-cN&@;6{uku8Udr3LC`0hh+R~`= z0w4S|s$TmoQB)N#rHOIM`kz)!KZ;iJaGcw!@qsCt<^H@6`Rn}m_c6Q@ zd(_R*uJC4o*#m{UQeF!mEWFL2U={H84@c6469KwvO5Mw}i#DwkK6kxvK<|x^=Zb2LuNfNnwqy4KC|HURM==j;O z9g^ztU$>z_Xs^CZYm$(;z=f}@j+zE-ux zE7(M4boV}B=UR}UcxFNS7rp7nPKyR4$t-$lsk2O3kFz>qp@4aslF&rWdrN#?G>feZ z6g)1d^8A%h;~Cy3nPFevC_Yfgd$CZ_Q9qO^MoNrFm?t?LdNG_4kO_^2_>Q032g4FN5tMTJtECrNL+bk8P8`*i&Ou7I zzkEs%Fh0s*$e!-5#Ix}9g(aGg6qw>pv#*#gTDJ`U<8(V}*W`r>|BVx+ql7 zqZ1;`7_zycE=%vmqGq)$n+@86moj7In(9h6Y%Os$f9j;$*~I!#*}yj4p!<;MiO2T! zD>T+H*FQKAdPYf6MxFo`HEu02bH4U zz#4BR(f5k~XE~}r{BZeGfQHY(ua^S17Nsa0d#w@7XW7}LS)ahcpr&Qr%-}t_L@7H3oXV(|;4UJ0m2h6yARc@^E@_Zj(lJ91{h;M_V=Ju6=$ImFHeR$P# z$!{rxB*ViMzt*X~dFlPr-EqUh=DbF^X-xNGPFr;@;-5LiXQO^#`_*N~&Z-(+@JTu& zlQg;O+*z4qu6@@wh&nEr^MAp+r*R#3WFFb>b1t}4a!&1$0efPUxJ@_{{|R*5IvHzI`2nldbyd`$|ZsAMK`XTy4s;AvrXW9PDw=9DpBKwi3eZ# zmh&gcC!LgQN@8U;kXvaQ-4t0gCC1Swh53T_$B9Cxlvvo9QfD$PG&|_=cB6%*56CucblT{zvG&%&oZ}#Qx%*PLsxcBlw0(aCnfA;p4fNc znEFZCyl*XAjrwJrv=%o#=n*mS%P?b2(VTKcWa5@Q@9UMTLe{yd^xB2;A9NCDNHmap zl<4Og%E6m>S--UI(ruY-UKiA}#24FpiwQFN9D@*TuR$VE|U^HE` zZwu#v=lT}c6*=A>S>$NVsiY%*F~m2#=6JdGCX;Uo{BEL$OCKiW$TmqZOz#d62|ip> zX`>^5*ipnlnJ=2-bVyRz?8b`7U|&_Gydn{gPg^ukJvge7A`s|Umf;w>#Js?_C3aVN z6Q}CU6XDJ7#k0N{ES7K*al2x0FFdcPxvoc-?|(>|65CrT&-UIWugcvuB-jqEj{4xe z{JE>B`A;jQJcF0Xrq^#Z6e~q2y6g)H`Lj)xPk^D#fMMCWpsi}`G6&cj&Z=rzNUlFG zXCBeLeTSA!#QKmADjpT)o3|@}J0O&$nRw8>oHHqG`^rm~!UI-jh3UTdnsbtK`PzoU z^|yC@(XdnKSll>Qz&xx)aFWU*ZUzT-KP5gRhirug{+-jil`Fe>9kg?fMr1Rj^gT+f zOKg+e_>1Fbb)0v(@L}Ft5^Tv8N_q!;o>jPQZ~a*{qp1I#M%@)f5k;wlNF|L+lIlzg zr#wo^P>?cD<5f?(q$km=A~|#NPK{K<*gY1r)s*7X#N+-KoZpkhSbn}BQ0#ha)iHIy znYDM;3t35;a3yj_%q(3wF-887hM+`8_RP5{$DQ|uDG9tvYFRXIr@MxR=gjU!Oj90j zIpKO#rf5Fv(M1N2d<}2rZW620Ii;xP6{?X|_#)Wh)3JyET~85LC7VQ^wFYzIb_B0f z3BUE!dnSYOXWv%G{<*z3&tI{0zxiJB4F^M1kwTk^c8G+;lthCr%Zm(0U+EcevEM2= ze?389*O7va3+I=c*Pg$5pu+v>Gh1inBxSKa!&TCcmCT>5Uc%3RiLEJl>&CgYE`kdZ z9b*?QsQPKqeQ1rm(nQYh@~5V)JhLRDF=}1%)%jaW0-gvg+m!Qt%{$-!k0yRSs4Xbn=ap`tGj&uYA$L9SIu~{W!()gALK~l3vm^QbL8Hjyi;zQGDG94qQiglCMviX z7`-*;`)YKh;8EmGDb;Pvvz~EVbt&=IXejNO<+>{2Ig=x+$QcfKMXMLj=WR~P`i4$>>ylw~qn^jLT0x8!U+YdtCQx9gp}!(mGm{Z^EAEcE{W z@k4hEQ%IDdIm5!!XEeO3CP`m?zL8nT{@8AV&>fyEmK|?>>JFdN-T2(>Rgr6zVnomb zNtuQZ%a+d4b32sm(p1@gc=?@50h!)c)!uhi64pd(*(?^AWnBAZ_UxwU+M4Q+pXIC0 zHr3q_R-LkPj!Ur1Y2Rvjr$aUiMb{|rX?Hp_e~+fXD^{jNwWlfpAG@_z-nrnv#Ps;= zxJ{0yCzdHJVHE0p#4v@yT=|e*#_v_je$BBzyj}K?#If5^?k5fPMWw`y(W1as~@N|Hg%9MvowmzypI;W=Lui~mGr8R$MU*4>2b>eJe z#pb1tu2v?`|Ie1h@M%wFK*6>3b5q}WU$kZtOWLln?e0RWN7WmB4IJ6+KP-?wuqt-V zoX1w7zJ=kfQ)B1NRGP4M(e(Lur+YheZj5!~lPqAGb-({nj(zFv^#Xi*=1PXnIQvJ` zW%IQ72u0~M>BT2}&n(Pi-^EzDV3MfaLt&dn$tj9FzsxUMA5pyHa%s<%vkZGYyPXbg zJ8b@;R+ES8S+z1B)4gXuGx>r}$3I+O$~x6{QKQs4&xf(M4`)AF|L@dd$17XemGTbM zcnJNTxiWYs`=KY+DR58PJWgz_r`nr!kJO}B6k%uCdD?{EmM#VTx)ui z^+)E6sC?78cb5KB?9y7bagXx<4~g8X>J-+^Q@B*B$?>qGutjU1-5cTkdE9nWWUf}T z?b~vrj%P>r^Qm$x-yNRanq*s}WL`B(|KjiHm&TX<>a;lyKCNW_m@0cmwEkoK42}gE zOlP)9MIE=|tCr4jd>r@xt>U#eb|!a}Uf(vA-RJAKLVly_lv;&32L)K>Yo2@c<@wC7 zi|2o>-S%#7q*6|hjE0NomIwUD_!tCC#qV3_#_E6me(B>~k=ysKxV(PTw9ql+*+JbY zha^e^&i6OpS}Om4c6!&Zsk0fF7&sakxTI_%KHS*Wyq3@Jb{e-LleB4$fK7yh(xGli z&TRq~$%|bSXG!Jkd1RP;yoouwYEDo=uLr}~|9co3%D5SJv>8|D{rPzKxnq_Sw-9T= zmKA|5&ji$11zcBNSsAiAYHye6>T7Fbc31u7GFx+FW6J4Sw%uVXcs6sSW$k()c3@5` z`&7{sBVGrWiTn}2{(1+kJlUVcygS9yMLB+A1;YWBfMp2*3}%c^L_B>obx-bPC=vT9 zQsTd8q4_kkw<4=vHMLyYRmW?+?aj?C*^o;JR)>iFu6b=CeK+F)1BX<4=~GX|`swBs zc||+j4@kI+)h2TaJ~_dzeLu-~^6v9SlLPr}>joTOmd<_{~k^VQ z)^5j(GAh1~zEx8bV+u4wCkh2EEV<-1Tk=Yh;{}lr87CvHuQz*NHk$coIV>udQV*5A zddscl%FdK|Rqsxw&#(KZ8O`rBHz>g5q6QO#EJy93sV(7F-xWOg`7%=dr^$%iv`D1Lj@WSSrAJ)cE#BJ5dP&h2`(vViG=)`YwJzQ6jP!LUdD-MVMIvCZW4K2)e`n}D>Fktcf&&$nX6n^Z>D%PZJa3C+a;2}bYhgnBrn6%ujiI;k)8VL zP*#;{diA=t>cR_7{Jtd@lNnWAkJ~QoELi!Kb?K7*3|oG$*vPSz$=&g$O8bl@3ZXA= zoLS)IT97u8wKe^6($hJ*K{@H6w}RJC$`)XEyYGJPZq?eMYAtJKTA6A)myLpsqb0583GnK*1g!I+NmOWO>p!6Hr=n!IKKXU(j7H%UC6mB z{rj$N-IRa6_WQl(kv|@&bo>AFuMf}^S{&-%b>pLEtjc9agFQ+?_b07ws(*Ehuk-Ww zfB*RpFx*Q^S-AMx+-YW$btInDgmU)8L>%O4mSB=*P`H;b6g-i$=0vT+3Zcy_E^QC> z;SbGq4u1PdU95etXM;}8LT=UGCKM>q2E^j%_8yrE6nd|sv2JxnE7mlsl~ER zmZY4^iT@o}87NkT9``J>z-+%PxyIUIE(@^c3esgtZzAdYSop^P6k><6MLpe zd<MgE{sWuWW0ZKEOo#usboM2R#()8h^ z>^jS~<^vli$QC~~?T8d`XnHzztxL>tCh-#=UtDqvzj9CiKIi$0e=8;4O9ka~IkoGC zJoZ#d3|Q1Msa=gFq;1m{UdznGoT6eO^LTPsIOnUnt#c?+o79sM*l^IP+^%G?%-aR2-)6cfxH|BE~8ymMcoWT|o9hU@Z-Qz7PhTZ6;0PMw{or8W)l$$U1X<;~@4Q`CKK*si+xK1DHzrH1uRPy<@5`$4y>D{YSKsHp|Kn8o zzAtOn*S_z*|L0Zt{y%Tm*MEO}=Ra2k_!0vCo(C-26$g2it&x@HdC1{iaY$s{hF1Na zhdkBh2c+I@Xt(EiB+&o#ppqWw5`sq}t1FJ`OpBCk5e)AvIz zAxP2NJo9PhUE|f2XLIs4&%V#|+~RcQxsr9DO9-CZyskW7^KSF}|2!`oxT`L-=xtfZ z-}_>hkj^IL6Y!ZC*chsr{lF*S7ZnzE_f3^9tOY?~i7|;e(Md&n_wKi{bDc4L z=HjI*ynVwWqf$abqE@U}K4sdxz@YHX?#XtJ?kO2%^>uZs$_}=6ZepT(ZS8HFHf;@! z&Tw+^OG+zAOV2Bx{hOra5zG+uB5?=TsM$)dd8_EL*lZBO`O_ zwCVbKUejhQ2#H9puIsFq_}y6yLyoFFj_}L+1SXht#eXQdF!%eE0#_0OifGgpV+%==bo(G zayxtfCDRM)8k@In-DYVK^8Dph1qHRP>hPUQ)2B?C=IR`B@9~*i4^CFs)UBQ#-Pto` z{(_}tSwY%5)_&gkiBUe==BK#029#HKs;Srn`nqhK7dElRy|dif&B4^oHAzxZuDG~d zO^$n7SH_H~(`L_}6B6j{>K^OroUmlcvI8pu4jecb78*KJz+M=opyNlXJy8wXtP_gs4biUYD1S#TwZRdXINZT!T~w~U&dp@f`iQ*NGIT@WTY;_ ze*(Vzs{g($h z4tL3VZ(DP7bH?RWv8T7Ky}iBQ@u|7q+t=OQUGe$V-P7CG-{0TB%q{1$W5dJ49m3ji zXLf9Se0+kk_dJ;rhqH_`jI-~Z*}3`o`30u&e7?K3yu7@^ky#_b@>JHj)$z;!>C86G z?w_VBw&2X}?fL8bxbz+xPdNYK@v+q!@#kt9KR>@Pe{qN2!d)G&Z^)-yKX-T6_xBHW zcmL=2ulrTb{o?ZK`1%EVe}Dh*_;kDD{(XNXe|(lNT6Eua(tn0u;tC=xj}jj=%BZYR z(Bd(BakyE)EbwrPNZ5`;trBS#huUPyUMMmvv}ru*Xqpi5sIzoI#BqlsTTVR6H#ny8 z*fZtIjN`o)r-T@oY`(ov7Ik3Le9~_%mic6&hnnY-Nj_#TpRfkFX+E72QWdy#N?*jv zr_)a6K36S$bMknbT*|b}XSIKqT0WS?q4#3hY%wp1=W{HtWImrO^{nz?PtCWN>F)gk zA{xBzB3Uo^I@}gyFmai@da;<{&Vd(8y2EC@SUN4u>*caJcCRv*FKEl^Te4(YR@O?h zWvjG=)@*zAYPIFF|2v-aHD1Yjz1HE$s@LmIe7!YC<^Y@YGw#m|PafU)d#$Dd=NYrt zZ#K)jXusWZMXN%9y*_RA+ie^#odhhH{x%-nu}vcJ-A2@BQm&l&?yR%i+d^pr^@@9jifVG?0P>Qw20^J5baQ3_v2Cb^d=r_tE>e@ zr>BJfJN#5MW!=wb2D8IIKeuhs`}JapaMG`rHuD+2zFL#-&B!2qM6X)4_(MRo)Q-n~ zrSCS}p11q`fy;U|ACBhHw-)vBn|{jI3uz_ zagm@$oNZyBrMx;;Mv_{W>Pgt%m-IUYusvV$*@_-CBE>G*shPQ1w9XW zPPaRMy}QAp?8`~M+7rj^R;AX9Ro-mlY?hs4cg!c-f4jvk|Gu?x%KF{o2Ip5@^`icH4`iciHE~W%TsL{{@s#J* zmZz>PJEyut#3${u=&M2)CSgFRcUs zTn@WSAtx*|q&dhTrCZ zGq)zF1pEF!R^(eK`nmftN8R=Yo=nj-AXCcd~B! za_#JdIUaQ@Up?W!S9;RtT4tB#nxj_S+ZCIRE$Kg59rw9RXDaXPdT2DSj>8 z;v}^2<=m<=E<#ynA1zSw}0&Jzblh+Z7v~ z9j@?V3yV}sfN&5`%hKqrC$~pu37fwNRoI|$qSpDvtk+jt8rDC2o*Ko~#%N;5^(k(i zz>Zu=nJvqfKjVA1@A(@kZ-e!>g&05giNAZiNKaZxu5Q~Ab-szp$~UL79c){pzs6T1 z+LD`@fmtf+(S?`=(md1tPsmbIh+;3{QsMrp$Ds31lhs7TM)3JPtyA0+yMuC~ua|jL zURXMzL+8)t&N7B(*=@00QSOS|OEVU!a=a*7v0R41`?%G)-DfZ5L_fK~bund=?$3gb z#Z?OS3wGSPI&XhS5z8g1{?xBKat`tf)vh*vzRe-S>Z^cMErZMTZK@k~U2ST(^MXmx z@)YZ%3sx6?eRzC~@e%X=BeM+ZHnp?wQT=kOn4u?z<5t@n@$kIj8R{_)`6aC#PsPP0 zyVbni5dV9TdAQ7>yA>+|g)zf6xa{y%qd!`mh7^Kb8*<|Lxv^{GI-?mNpxgIBUn zuWrt>`u5}e{>9G~Uhl|H`Oa=Gz_=njFH|@$L3-7OY>sr{Kc%+*=|vprmEvNlp)Jf0 zrUh`7G^|_5^&_^ndZmk-o)z|x2il&_-Ib>jJD2cDLdG+9Wq+>UUz-`EkE&yD^DQDb2Elh z*P|F`2o%mJR%FRvE1JWt-X^42Ce#=wwzREhM%vc@?3rN|)e$Rv<2?j!xz$z7=!|I3 zyW7$p^}RvtN9Fr(#izDQ|2$UwNWD^Fd4>P=l2to8_dREG*j`cEAnCHai}6Nv=Y^8R z5k>6j!UpM8J{khjVuC3*I!XW4;@dFp-I*L$a2&)>D9#)%>F)aRny2}Li{YfaSqpH=j)Z{#Vg5SZ%T zlQgY|$#Q~3x?PkM>YiM$o^(9dReZ8?dWnX6w$9dkf&W)0P7W;=+7a+jbb@$b zJ&Wa(m1X|yFPpgxJAKr8AGYxLrZvv2u-&Crx9eHM`?NgM#40BPrrm68yQWn{n-_cu zs|?7L6kExBtkgF8I(z8L{NLB6=Dw7Q?qpuzUi5WYekVhI$jr`?nH*W3c~$IL%#2gM zT(8RTn9@-ht!t6%`BUKH2^+r9oQ{;JyDGLK8JUwf6B%Z-Zl4xBe_0~CU>eW!g3cK; zmd%WIpD7SwVfs%!Pw+{R?ou|@kD2m}^^qPO5*J$-JUtiR4EOi&SyMji(8|D-om29^ zHS;Nk3X}y{CeBu7oV7kwVA0Ll`!uJ_p5k(*Wxrwydn3=C{|!9-kE7T& zHa2Evax_j=R0-i*SS}_}zb;ZhOk*Zj7H2p(KHm*tg};KjCc zGZqxKF&7^0x0otm!N8$Yo|jtLAm*9h+3t7adJW@s7fy-BkCM}PuGD%RS6W~m8S_1F z`;Gj7o71aUtF8nuisTG5Q!iz0uZ!<&5q>y7Ic+X?qZ6yt5}PTr&SuQn{dt~U`h2#= zMQbAp-p-hGtGxX7_99jF9_EKpEMFFBT(4E@oFwp~{Py=rv%~wQJ?Oe9UaPsiQmJy% z^~uHYH!C)1PP!N=okk6EnMK&DuJq9t8X4kbA6R@$jVg8F_nK-K(JXV!}jdfC;68y z=LI~O_T8;PINDZ5qQF)&RVOWZ=fe%0E8_o}g)UyW_)FIMLtkd!y1AZX;rd@yd>jvX z8KgHHDxSmfe^y~3`@GaA!jezsY*dNTuSl+Ro6jW3wQxf6Wle$7Q?vJbu0FxBS-w)> zh~%HvY7nW2d#%Y$2~K5$_f05iOb0inBCk`}y7O2=Erru@(rwy(xF~ z*68TX=RM-tx}`sBw!eDWU!5jYek}9Olg#S`u%Qi7} zZtc<*D2^8BeZ6hl>m7zkUfUPX3N2n@GOftOv|w5Lv!Wns;?gDC^Y;}>sGs4$d zsh8@dubR=3cZ!{RQhL#k|J!maI@Zq45bp94s*V=uD%j?!oy9x7r*rn|zq9y^Zf{~Z zz|XO9_dagr80{4mr)Nkp)`a}3=zcDBZWgzHdCk{r{nuV~@8_s^(H81sIjtjnk{n0l zxm!V3cGs1MPY&MhAO3wiui^UQU-PG2+2>=uyVqksbKw3Rw^_I@u8;h^>9@9W%V`9nwmRg2@mHN-w&fUuU_pI-}`O;-xd#}$}#^q7hSbik@)V`iHy%%K@Sf8puQlmiT3#gAr1T)8@T`P5ibwH@Ue$ILSh zZPebaxn>K?%R~GZkF7kT&ctog8JHQKmMfgN#qD?L?#LNYg=qoKXAJM`KKe&u!t3Q< zms*=gcV-!u_p}5^n3cDz7C6VVdY?=gQ|Er?0|HC`9J_f(z3g{dE=SA`PSN$N;-~yL zwNXdV{dekXojEsn1V7oFuluxIH==t_VWauMldMq}_zv=4>$&iyXHHXv#Ij%09=R`i z@NJRo#(kXPXSHgMozOTV5O`5ccEkD8>5+yltAG23%vq-TU%ga{r(0d|lJ?%q&RjvA zt>?mI+L@0gMwJ?rR@m5iPjud|AhMf_6~@w{rlS z&tVhU4R_`;>!b$UD-3wRk@%w z6Xa4Rs9tPk(rqzj>C;J?@ZeA3ox=+s2tH!|y^!t2N4fF|_nyY;#_F*xTJTWSk6lHM zO-qg`qwbmdyhmyGp5@GYmido2*x)%!z;m|Ek1FOpugo)Wx$vCn!*dgc7Y+M_jq@J2 z<%ymAA0V*CKw!-To_z`eHy;SjGT@xNf%nP-?kx`7cJp|TGVm-b;J$o8?%%}+%=Z}d z3)pxC9>o6B;VqD{*!*icsJ|9yUBc9Q~bDR9^hH#punWWcHjV;$^{-v0~XOq_t@qcZ`6CeYTc`@3rq** zeJEJ>I$Q3|k$)f94!=3O?oGwMH)rKuod5Ht#Ou~>)$g!J&VR?c;vjGQ#0Y`5E&$yxb^i;74c{B>1v(4_s{Sho>}z0WXyD*sV0g&Dus%URYrQ~&zQAQ8 zUIqaMhk3766%rKX{<8)C&*OV@sP367w}2c6Psk#U1C9(XLP{w+Hav9h5LESB;$i49 zp-a*<@5zmekKHFIy7s9=8p=AAGn`ZOd7kUxIm0mZ+>*%4&wS@tmcDy)<>dn7mfZ|{ z7*w7e2*~EnaMWomkZ^YqjAxWES#j~$N&))`9|{9j>}bBS!jQE=m6=i$Mmv3+;${QNxUkCeSlIs32DH#fKDKerQXlQ?I>n`l+h^YvhkXm)+hS%DeKKSIpT z9eaDN{NMxjR`&C+3+m4tEZW7f_#KzYhn+@p$uCsO*I0jW1&np!d@?B!l zT->)SZPA6aT?Wfy*%%u{g{6z0Dkij9J!WEI=vc60XVwzKDO&`7o!Rt6E67jznVLwE z$84D|Yz@ku3Pql3vr9fL6O>eXyWssAMHaS}peG(P+s;b6^#RmzC zf)79FI}yCtUX#mUv4g1Tw}_OO2#ggFE4x+Ra;1jEv%J(WqzZ#E43`4iQDW)LJNNo z>p}~^8Ej!4uC*E0@&#Y9EsXG->k-PZ$?3$I4zH^j)6zaUXKZ8l`d1Q~FF5Pzf(Vhi za@NZB1?HR#Q8^wlwWU%9i3^&=sxlUdo=!O9E-A$#|LM}6?^`C#Y4bR}#8K)0dc_G7 z`@$BLcJ1z77&ohPrwN16l3xqT`DQ&$b-u->AhtuWN}Pc$=J(ZjJ9(uIi?o0Fs7`(Q zO|Pop5V!fC51mG)GZ&g%{h{%=ZHeCdtAP&%b}pX2e%^~u6Zf$(=vW?7oUWK>pC!q# zjWMEBHmHnA>&zZ|$C|QR+1vjr8%;}f%WG3Uq?FR7lD@*WclEg!Pn#nwPlV37bk!$k zPG99S#afkD;!7^6pOS0%!f@hob=!;`wKbnkoA2Kpc>RJZgE2S5ftmbAKe#T+akPH% z4?YR)%mioUGYB+tyxG)W(V<{mlg-h1!ho|n zCB^wtr>eU@+ETja zS*g{da81SqI|Kep@~ddnxa^9FG@Edux&LvFhurNc?p|*+7~)naTg>EOsJjVc8@d#7L|#>1xoJmFPf)Sq;~4iOLuL!b zCk(HDToF=MI%oS$Q1R`Q!;V`LFHN4eWez*%6Gs^TS+``oJFIaNnoBzMQS zYBue;k`ipXdRN<(pd}|;t5O!}sZRAbFADr?qZD6uc)r@zql@f*ZJevv$-tqwY5R=4 zb%C}IUm6uxg>6~()#&|=myZ=LS;faRSLpL{DjmB#q4L3na*<9+4ZoF#^88p9-ZWCr zIl(Cyru3xm>+BA9O~)CXFCP7mOgTEk|IDheGihO)O-?@dc<@W{spY51GdSE=SnWRB z{^vt$RI|r*Bd*Q!eONlzF46T4*9vP>5K-Jd;kol3uk*oEPi;DHsp~h#Lr6C#Z0G5- z9R{i{UC|Lh@matNyM~V&wAroU(B6sqLGD zBLf#CHg*1ZcVh25!{vrMVgwBzZ;Ea^>(Q3@pu;f!mxAbp()F{qG@NiT-!lKq{r-*9 zc7|I7U+{eWQmv5bl(D&?)}dyOg^ztES>E?o+LN-mU-$BM{_+dgAJ6mQ7ctJU^R85y z8+Xhkc@j_PLZQ1_=Sp1UVkcdE`l9Z|Ipt~V6du_g+t8Wnx&Hqy#pxS2`c5rmTrRYA zf?Hn4<##)#xj4GqnmxI)pL^H4ver%JMV5VqUGrY1c{B^YFhR_LNTdmOQ+WDSL@2Om#fD0%{U=?-hwSw zKFHo^w%4glBbU2ASs4l2Kik`=SKs7(etpIUX(h*J9v3#s3JNcd*{#fJG|$thd->#+ z9)8QW)64%RG#$V5rdhpa(FMIpIa`zV2o`QyAup6~qPO#A@qIlPxy+qalWQL6dh0Be zG};^5dv0;buapF3E=ZZX_Y`ygue#x_5v|?i(e1Njb0hbZdc(5sCzSs$iqnd( zixJKCsL4G&F~VfA>^e^O6-T4)x4Z0^$Z$c$<0l78yT035TSLQH zYfW|Ak>3iv=WSfwzMnX}-TrQlmfgAf`dm#z7nY6>*V@-;O`6qh_jk8pg12J+XFC=j zhZaWr2_CCbPsuQRP}x$v>fx#m+s#&!4ES%o7US8oziozSk>`?pt^HG&=keY&Hru6D z?5W6qXSs5)gM>+s2t#L=@)Rot*%puf#hKh$PP}%_iyf=l`R;6ZJ4+*PHs?`pcAo?C z6JP9VyC4%Py;U`O$%iZsp(VP7zm`=ucHHZB)Hj)+t6(1RL1N~PgX)uJ1!hc){-E6Q zL-v0Q1KZR`^ZlJW4qw*$nJulQ%$Z&}yM2Rp{?GXx7nb~AZDW#cQS*9TKNrj2&l{QN zNHyD=UwX_YhgOm>OA<2p-&sb;Zs=Zoz<2F#WYtINBu~Y+lhjEwMo=qsd>!z4?u4%8||@mPMg19A-0{`7m{fCr#g}8v9!uCcmi9!O@i=n09C3^CIT=-Qcw&(ON8+L89?!o` zn_d`mPtNg>mpSyzVON$)rw9+Hd5N^T*YSW7b>|+2c*l;WU-r2tn01!8{&w!zwbNqe znp3lx%yoMN=0~mV=wNJfSjyGywW6EXPvuB|^Ts1TPBOjeFnus>n`Gl1OC}qRBV7R& zS1ph4aqQPvqr0NSv*?gy_!h5&GCngF+uUxj+VjOx_@weRYaiK6x4s1@J0q6tzT`Ra z#jO99yhS(N`!i1GeUXz~ApLwXhp(4t@1yCm6&-tZOmb~F=2&v5uUUI=j_<825)&ht za}1iV>^XV&pz_r@n_{9j{+}~L`K-)J(KAM!4QD>CYHXR%T9xA@eEaMnljVn^95*Dc z5X|V%JHxkOh41?YzlPp53<>En+M_j?Ey zY0BQs(R;tr_1uq5XDUv=mkD6{+w}3ZY*)hGr?b7cc65|pkU3q#SM>Ab<<}klD;s}Z z(e8>^6w%O>wWx7P&w-8<3#(O3*(w1dz78uieL5!CZS6RmUB%JE(qMhaHm2BY*(b-t zKh{-M&)vB2!tF~Pwhc$3m1g&Puq~9Bo5Rvqx`tis>f$3^?MI9*o(SA*;;`^f`3bk$^*b6lX0R>)!tsr#)52DjK|`HJjXnT`#Uo*1WnY`dZ1>jx9}rM+L6-TC5EYF#6xtVR~vqh~=r>t1E+MEjZQo z!q19>d6Fq(qH4s1AJ^K}o-KR3ufCO|)70$JovSyhCIn1cCw6sr^MxBajVEs~aL=B@ zp>Xs@$ANwPF_BBwE_u7AbNbzmwB8Pu2G<2OD-=1G`mA8TG$Cw8hkx$lxmQ?jE&HG} zDVL+)H|j?7jhPuY-$^gobXH?(ZHHY$N5qtl<*xiUW(lme-PCEN7naMhX~gV(*OTR7qZj3(EYv-k;RhQSU?h$C2q||=)>78nk&NF{wZlBd>OZDsQxX{xPbvWYg{|Om0uZXVg zo7$<_*>=y%&gQSoahV(Ejz%W#j7__FRwwB8^9}cOvZ8m`cDzaHFsg7r$lQ5rD$m2e z5{x>WCQ-9G6k-Z87V9!HoSqu@v$eBy@5(I!x64-UpP}G2qqp-|GiUz9n6?|YXC09D zPrlc~aeFflXV=WLT3gQXFTN+R>R_!=z`CCup(hevRIoaTb~5BGTr*St$W+~yUXJ*! z*PWKI1uAs^l%4hCsLGq(Bl}YWCeK-H`n5yMn&UxhAAcXmTUXt)Q#ltMoh^26%|6{( zzf?OVW#x0P#;?_wu<-SaWu~%rEJ0#t-6kkB-eKfEY1N_ktmB)gg>~x6BZrdSt~n)~ z_wc`j+3wE6Ez&y29~rSr&Fe5x>zp{JQ?89eEVfyrCG=v!h4-!rZ4rsjKipNadvd1f z2IuPA9Xk@OPIXx6b!yoxeVEFzQ~GLON31?uvIlQas$!5!-rl5D4Ix`K^-UYs^Q5>h z?eK_uaD-!**S_eSEi2ju*hSeI#9o~0;z*vM(H@{DCBC*NVV!JT@b$*ZDE*h~(mC4Q zzjlPF9iQXzY|Y%*j)WA35A8EFXP#fkmhHx2|KnNyvDEy$d-8Vi#bSzHHUjs2V`|nU zC~8IXIearmBl>i8|G;9jSo+lKgO>YQfL3Az3gDmeF@ z<_qIUa487>?>SA^_HT!a6HCH_M{OO94Sea1avA5A+H-ba&oRkxe%E)==7o?~(%kHp zx05-{GSay7Qf4sRoV6pe=39q{Xu?;WKCuqQX=^(51kz*9Jzc<;vH06FeLfowHT@N~ z6Fk#iI!8WkQ$5BbyJMCej|jJ4hsWchx)g?pUd_(*sEEyJYg^hAo^0>s$hpD1Snt)M zv{yYDuRi21+9n&n>fY;*A7!4ujbaI%96sZ5pTxEqo`%)eGTS(^b4ym7Sll_|WXmqg z&HNS|HL}ll+P!jQdpS#kz27@?AK%-$B+qlkN5q<%l-W4fs&-DBnbA_gI_X_UBHP1q zW6#hMUe*a7JJLF~%RT?!_pP~aUdR64%eoN?E0Q90s}e6ROPf*P9ANQqg@>T=zmESG zW3RPw+?dCC>sjW$rZ~?H(k(MIYtH8EV$HMVQ-A-lRn+p`*XV^$>+)|!KJN;+Ul5>Z zzmN0B?!1nUx2J2~%;N2I@6Ktd=#=T$wte55i5Koob3Ru+O)zmnzC=#?54Md}QQpye zp4p{HnCuPl`7!^4HfMbA^L~SCoi`FE9Pqq1?ZgAStWRODcF*JZw(l6{{KAEdM@~PA z?|pD{q6Kg6zR;Nw%N^HpE}X=|7IEFg;ltK{x#!pptpAcOB`>u)?p=E7uC@=!##cGC z=1#k=BOth*BlX9pu&86%Cpp{8ct3FD|3B?kbfSRa!oG;$xd+wjJCfe1AM)d9n8u;& ze!smSrN3gA-gyqmS?^A06yFQ`+$*rECqR?UJxsczc;bxW+C>kS_i@Pn@2J|>Y0n>W zI(YK^Bb|abf;xSePm2ZhG88`)3v{-dw~ z$9kTlgQwHj|A6A^x!e4{_Wy|Q`tkMf7omvhVsG0xH#?QgZ1^x?!@K=*U;7M7ENnZh ztJd5xD=Sb}{QZtYW;@T(WAED+?B&((wCjj&yAXRou=8$O(SFzKiOXgG^L(FO@Vz7B z8=slWHkTf+?VPuY?@WAgFP8oN#0zDUE*Lsq|6a26!GG^d%}hs_yUWkEeP|c@mSyA4 zk$IjkI^KBVj#=+iU)8wTbol>l$_$ftV69)Wb-pvlm3{6h+d2RDaei;?Xj1RI+I!o4 z24`e=<vK=cCq!HrEsNX!W|WcVe8$54GMK2A4agh;Zb^u2gVh zS(bEsl5X}lom*S7u5ZfyJ!xvRF?0DV$sL6WYvwaVZR`;}x71-svg#w55Z0F;9%d z!;r}i3_RObS{OMU<80*@Inwf!*K37xoZ8zzmS;jPEDv7acXL7Mq;E=xIxQ-N8&U<* zr%w?#Q;cVL!mby(Gwzvg(`KP^ks}w`JeJE&SLT`f*S>*~%OatKWmC$m1`FONtS%cK ziU!)qoh&^P9%1wBR2Ik9^q>T;r)gIl&jvCINoxKT6D(x!4R9}HmHMI7V|dC!Irzp! ziwD(8p+OVm`ZTuOvyr~X5}Xl!!hAx7i>dJG8jXj>0nW~zON8_VWxrl5a=K>`WE)-e z^QpUj&d>jxy=G0E;T{hXpFe13F%%9ARi1eLsgG-AiK@%zl}#!P?H`X_RA%_XadC1T zBSW~c{8ElPb1R~b$j_MQ^()?ba#YpIbe<_9>Zze}Qi~3~UU#!8h)t&pu#P5!Z+fU@qVsf^t_Kv#Xr{DPR?!P%r3|jR&4 zl9>GTeUfe|&PNJoZxA@t#2dvDV(?PYdyct&>&_*%)09ta6*}12u_n(;IYQZeRZ+_n zmIaoPf0PwAZ??I$v)5Yo;v|2COLh|#+Who>Dl)V@obr;KGkYZc#r)vOp#0hdX-%U53N;IKUBpy9yG zU~qFX35Tu0|s$vx*yjVDeiU1xdjop)GB z{Lz|8AC*0IJRG}PWL;*PuYKiZ^TU4k$*x6}E?QBSPZ@fgI}#Z7-}*#wy6J?vj1%QD zhrI2Qi#AMK5|S7`b#hp_}gGunz+c1@_A>2FIm~JXP`>Jw4rQ@@K$&Sf;92d$x4B;qPefRCBS37hYA2_TL zyEQFlv+&Dqk2nWIiF0=9l0S8HJ+nJ(AD-Q=YPUm^^Ut*Pr%JcFsJv$N+o}CvQclSM zF3%?`7`|LT&vQtw?9$qd1J~8u+g$d)+US46=hnpQ+rF)q(>p2bw8oE<`G6DGL+1Z3 z))V}m2b@2kcPy8w@yDdl264s5p$mRRJ=*EGMM9NhS?6mm8SZuSmbCF$y=r^EAnCeQ zT8nbvrb)^Z?=}mZW}aScIBm0y^|6e1s^tP}Jgfe!pUlu#^5-!3L`Nsz7h07I6*Je& z4!sm0H05A({AHtgpJUcZN4pd=>#lPblH~sFkh)1*(!tBk%Pr@o$k}_YN*{8h5-caD zUaHz>vMe#=@$^5Ds`9bkHs2l|Uts5A>)*A~gG>6k@nv(RfFA|PE<)_3E{9G|zn8x3 zvMQsF@(lIm2G3k`d?xv?=Tf{f`HsgE!z|bcN#J2^*fZ}|%5v*vcR4oo8#|m_b00IaB&>>@|hmhi*&SIjfj|TKB|UcN4!#wRIIEJLe&By-(t6 zE!R#@&^5Gm`nV}$+P1ZmeP_+DVG`0law)^{`HA9n#msB(92S3Yj_3UA5Qd+#`>*c4 zAEbS$y|vP&!27=CmHCTb&HaDJZ|=4!k?S1=0z57$IjDB5U@L04))u|c%wBzsqR^+E zHnI)4A9GGiozx()Dzy6a@%V&AXzdkMZ z1Yfm3dBiNZ=GDk&tmf0C2tOi1|T5!GesxI^@Ryr)daoP~#Yx`Yckj(5pSsf{_$apoSo zf`ZFJk6UjSNVwe_Mkz7oT`s&jUGD=E zQ?7`JoVs#jL45np1-DEUovuuC6`0T3w@`WBk@Q{{l`{WJzURD47TC^h$#*>Sdu7PN zULN6B_qaS3x=JK*cLmGq%zf{=Kz6D8hn}nAc8hf4?!`{IxybRfP{ZBlnqpgR8F&J2 zf41tL8FuH97VEpZeJMa`%o6K5=ecdIxos>SwrYkp&B`_Sx=aB9P}-oc0RqLsB+{%ZNzj%7yh#UEH#Zs)b`!H zTX{dhXiEIPWG|MqCf{XLj7! z>+fJM6Q*)}?cg=JW=xZrnC+{*xJ)$eN+U!>8HSzps>iTleL%5Xdq8`+4jJ0)2 zHa1Ci`Vm}dx1!APMw+g3oagiXJ5%NaE^)G1^6*Yu8)vKchDM2qw7plnV?7RNiD;y= z&71pCy>4Ta@F$n(OEVYTNK^`Y-tqHJht3M&Qw#c=L`yVVnwwnoPqKtMYD}8tU7Y&A zJ!RpM&5rHCMd_3LUg`*)*RFZQt{c;HO=e=z%N>dgQ`=TX`z)I=ZRO0a+x44VJo;F< zryZRzPjk+(mr89ev(`x|rLo=ra5m|b=6ol2`B!QNOef}=X}sK{$smz6Uv1Si(}N4@ zJmOeJ5NS3Me!(n=m`GHEW&J1JWG>O#YF?yglU=V|$fXs%kPwR+Lf z_q-GGt6U~=T;ST$qO~$>^|P#94_2-Fwrc$>?=_F+W~ceAoh20eca;$v$NIWgo0L{Z zw!Cs|S+F^1Rj=2n)tj;=`>o!Vr@g(3Q~Ooi_NJ3pTD5mhTfLL1VavR@8D_6{R{86# zd+Gi~{Yq-~?rZbOS_KEZ*4ulFUe;=Uyeeow$F?wb1ro(+r&HV z+vBxSDXF3oY-NxArF4#^tvU8hb3NbHW4B(dQ+QMICof$-xh&_x8lBTp zy{GrBIde|u?6o(nVyn-dyS)F|nu`LPilFc+rWB3YHjY( z1()5{>X_-CtIFK&se3JL?X^7JGe)_Q0Xo;)*52sTy%{F9QY-hSoyOi-tB=oWIk8Ol z&N1DdHEZu&TYGn2_U(JRj8E6z`?mJ}Igjvvxyfd^%WT&?SjY0vD)*7xI%Pe*$98&8 z!X`crdsXrw_etD44)T&l+F0?nR&8%W3Og3JKhux9-)tcl851d;NJ?z?U%nZ)xkl<>`MfTmL=i-S;;AwO#sY2lRf<)Bojk?r2rYu3I^;@{Zk{ zcKY`+{lC}N|2>s=@$UM6d=Vd3x%_{p&yalc&$6cs{kOle88E4T@LAHs6n^}F+Y!cM zpBK|6{WROa8oyz$o54;I1Ge%F?DZesWf*Yu8*on7W}j}r_52<4as%%851iW#c#d!2 zId8zQ$6))b=4pH1MlNCJyS#zF-p%yS1_6FU!O7mN;)X)T@-agChQj6>g|pZ4+HVxu zFR@C~?;l^Th<{;^%tjkl76!$iEUc^y3=BF93=9k{%pr{J?g2iFm#mmKfANZyYnQKB zvuN@11q+w|v4W5U)g+vd+-wtd@<9ou)VUbA8CnvKov z6B=9l9Gv|oPo3-K7rtxf?n4I-Zr;3o+twY<9>J^EtP6`w+OubmlY78{{RccfLwD}j z6&IiG=@T+%?!wlNiH(^~`aSfJ18wU$%T*a9DzuPx#WMYdqY84;(zOeA%j1 zE7v6?+1) z`~qV3>^-t%@$%WT=RACNVb1);nb}3o?jcK;t$6nD% zma43%XkqPMTvl@N+TlE>&?!@lQc8 zTR6kh)v>BLanht78ENCKtK0kA3TMrmk{WK*USgh`8K2}7;%zE%df%Mn_N>*bHir2a zuUIob+(UZDmbpFaCr+HwzGB6ynt6>l_Ds+5*tqCuw}f%lof8`uAMaOi?vnA`wB+Pu z4dp!H9YPMLr)egin&Y{7+1c6Xd!{cg_CVecP`%%8>>1o8CY3KH}I^aFi!K>rW?%MkL`iA7w z^L%%2dwY9F@#}kMcW-}x|3EXhyx*Q3A0MAk3@hBRXES%B$0Fe^kG@77%)Yjn`NBTi zodsbJ4r>4B@!z-S=jRtU->LQo{H=K38f!DZi+kVS-`3qP@5kpX{MYiD;|X^in{Cp9 zMv<)x68LzSKD0J#Xqd>Ccm!kw$V#N$I3g>P_u^rDV2j41j?1|zEk0ibS1d}Hy5&WZ zD$Cvc zsbNwgr>4c2J$gF5H%0Q9!<+&mfu>WMFA})*UbCkbz=PiHt*LPj)-}`(K^Akp=pz) z+3TGC3u2mYw_KJxaC+-Crv-1f-T8EUzW#$QrFT0vP07yFdEvD(PxH+->yuMI9OGW^ zkY=QE(s!H9)gz7yRUR+)m&Qf~ak7Z#6mZTGnzC}SvB@0+zFdbjhonWsk2J3kY*%nP zHviFr4M);jWDK2@qIC|R)L8EG@sv)p&BxOQ+j(9IEdBJV|19H^HJh1jq#tZ%a$rB3 z!{Q=7_vA$n_vp9mH_Lt>xGdzd_rMi}kX}~7i1gSa*J6qVk6(Yi&)RcZn3B?kX_gx+ zF9~yPv<;PIIL<3|h|5`P!qRf}h1)r6KL0=a;b8UqzXFpYn3DCzPvHC&^5g( z9kI6bdV;s*g&X_X^QTD`iRb_E$k~wi{r;)@Z&!%0$-8|2R2Dz!$JZOo>;8Ugbk_U% z#4x(f^4XK=`+xpiFnQnR3vamBR=wUJpLp<(@9nzkce~!dD}BFDKcy_<2(tsj%;G&v zQWL7q-kx%3iu#6w7j-Ln&fI>uiT&UkO~xvTm^&|3?!QiWn!)CDuClO2HDo?lZ<&?Ytc$G%Jqvk0mT#5YF|mB_ z=5BuJLx!rh^3znQlsQV`oW|~Tfh`lx zq%xJA^!E9Z)1$nBQMK9gOj6pUve`C_>i0R0m$)wL%k5g`(ByF{>(;UaG0UZ&w|VaE zk1cFwZ&np$?mQY9)HgA9&r{`U&69~-mnVH#a-TapeZOQ`k>HOnPn2F5{ddp)6>NTu z;fYVfferbaHcfpf)9fTJ<*hAsWloPsys~^t zWVfnFA;W<~>EuhV*PWA>R$W%IvY&CTblYZzx0hE~8=kzFQYW(H_h%kcPp^<`3B{GS z{ycVZVQA=;W#O&pc;zUVrBT=yJWZxW!f3Dz2Mxc1_@-@8-=J#hrW~9glx{wRh#VDFwkQOR_j;hfaL?VCx3gHM&YIyt91SmCYJYv*Z8Xy2Z&g zZQ&Z*6=D3RugHtMK~id$TnP6Hh;VCZ~O<`InyKdhyE= zneU@xFY^iQZqL!xO`RR_UQcZC4%TNch4x&Wx5#`)cJBHX^_odaX5}kuuCDg_yX*cM zyOR8stxDePJ`dK`ZC_-On$vakbb=W3>c{DXV;=p_e<%B8 zR;*XkHfm?QZINBl@ZZtBVC9^R>Ip*5ksE{T3Z{Nv^MKWQTkG?sA8il&yl`?pvSc!o z?gY~{&HjQT-aAZBoOl`uQ0*gxn?1t6%%vwch8Iao)_+v3|ULyk}np z&AW7b#I zTemFNb<9g**?+Or-Fz4#Ygm?HC$TK*nc)JMf>)t(`L_Brt;*j zS(|qC%DL?!K2q`aYTMWGF8sP!`s~}h)s_5@)y#QT32+=*7=8C%?DpM`wy7+}v)4qG z8SK^6j;XDdIdii1-h-sxOWmo}4}SmG{V|JwLP4wYLP@^kUmvT;ew^U@=h?}1J92-| zdAiW@_f2EIs_ESyJ}&bAk+70y?F3f2*eL7BXRdY!HRo+u(2_3o%0&MgtCJ#UWJ<#$ z3-}+uRbRZL%tJOs}*qtiJE=ef`~~(4T9ke`uJdK8I;K2eY!= zg9hza+iT1ww1^rUDF|TA4*$ATms`dE=j>07Z&KyedM?|QFvf{kh7*>WFsAz!vboKeXBQ+XgHg0 zb!J=T9QMRbAH%qRl<~S4@tsIsQQ}gvRM5vfD&l!nV*=YDclG!Kbs^hZ-kB?PFhnbf zaCMirYFDuLGE^SeR1+uB%%IV1yrR-fqn2YvvwcOb^9g~)liGYks%9xgJ=iWFej_EY zw4zr*J|KfLOr2d?N!`sr$=86>YJ)b50Qa}$igOE?Gas-P|4-;h;0TM?XnSwgz*^y% zs!_th!NhDBvtwiPt@I+MscrmAN)~;!n0PJ2Zbo9(GUg={>RyY>`rIgzSycBoiE$l+ zXGcTpA@L5yCXS6CO09%Dk63gjv*%CGX!vYWJ6l5`k3;&Vc)_9@4d*RvFRsYYSl)Fj ztjK>^k@|x6X&c(NnCI0!&Z3oREF^XeY4nJ-{7xxlU) z&|iC9anFp2(vi#u%qqYBsAxLw%_i3NB_nv+iXQeI{ZbG6&;Jl(dTd_$pSeKEaRSRp z^SugM%!(}BmA%)m*Os^jtk~YAI=$=ZV#5xJiE=BNHfcNXKI&3^k!R>tEW$Q zol!3B9Jo)MOD>{RV+KbTXNU66iD8*+$`ja{R&+!@nCjawwP(W2WXrM?$!SwMDka1x z%Y6+LaV(i@7*cRE%gM97V&^QjgOmRm6s)T(H%Mx<_n4BiLR)Qf?w;>V&yI683CuZ^ z$)-DDMtAz0?(~^qlB`|kGj(oEWpLnh`_Q*@#msA(ZdT#bcCgHv-rn;`ZPsGR7~%hp zEOU2A=1rBFvOr{-(gbV9+3S@AH{NVplF{WDHh)iK)4rFi2RNsOZpc3TouyN9LFmgF zN;}nmm@EAdpF8#C)Ex#**JoBHS*A|R=wCRq^NdIB9E*9&C(f!i?-%n5S&|w8&9%zGLKMX*El+3N~*`=5Z)kQVl~22~a+-a5nD{O? zg^f#(HmkcnT$(Ahj5%=GG6RA2yOuFsT$VRWykXYz_dC6J{hVbSwVdGrW-?bTcz9y!<(E@4CnSWnrG}LS274_{*)i>brZZO| zlVYQD|G|ZYj?1nDtY&$*iiweX@rPAvS^}F^ExYJYrIlM@a$d!ss_1~}e`K+2)%fP(jM$(dN zE9Y9Sdy=*EcuL#DOjD(Wt8V?D&U?6F*)j+2zfp^>Cv~`D)vhkrsEUPzgEfClBh6i3 zXEE2@V1dW4IX6yCz5J^0sCvHk=}o%QtG0(0idL;Nb`jY5SkRi_OJm|I@;Hmp1T3FW-7oDJFX><4gmVt853Xq87KV z_`Z~7!-ng+*Uo~+7X;A5W&FE z{95{*mDq19t^%pKowJwCjNTi&YDWea!?f3XzyIfA*sx)XkM;_6!L2&Gv|?WiMBd&P zciKH;o6((&6{oCH&Q4$sGw92T-hQxh_rKZmJiS(yPU!d_J=4R1>8nMUiN-3;o0C3D zc!qZMFI`nQ<>(%10hx>3VzE}MH%QIh;kD)R#idhb?@XSxIpNn{lZ#tKF76Ckt^NA+ zR?&@2CbL}1!wp>}w7yoyyEZ6J7n_**fn$sN?rk>|)wnlJzS*~DH*20j>q(708e6u{ zKUu?kBKV~D!K^1e-bROo962qsxq7%6K7UxM?z2zv*0Kbzz0+4Ovs`#6pnKn&>J73V zcNWyB@NeA8Gh>(IGS>3%nzpxc7a1Hlx2r|!^bDO7?cPyG-0mm_{*T!1{%QeNkFurc z(gmlsYg%TVh&~!tbM%}xW0a1DbN0?D4m&R}EaGh3EVF0X%?Ud;OjytCDwr1|$i^)s z#c;ToXV)*bcKPP;rj^I{_-r)#+$+SnvPfv9UCbu0Uy91J&-9#GqH>by;Oq2M^>xQq zb6vJs#i9|%W^r)lnsw*91@7KCx%AFvRW4qpgYeHnk6V^n?_KK{dtztz5v9(FX&bb) zULSeIeDvy_x%!d^g=CYrDJzKjUc6u}v3tR0jXeULvv=-(!1ganB+mD^#NYLa+UFm; zbA3JD@=N9f&!qhiGM2>6+}+f`a>?sfkmi9Y3~Uk~cDuwb<*vQ*>BQXH+LPg4`7Lkd z#cghKZalcM;TYe=i}z+P@-@8VbdbT?=fe+?M&fbe6V+ z_FchavB%xoXP3D!wQ5=eq2>hjLS&D%nZL$%(l& ztWNrKJIUu%qT?M7Mw2xMpQ)_nnbCN9@+FP?A{+}7ChA_`NHci-uk*>)y7TXj-@R^o zg7M9q{VSLs%DxGZd)i}nd(G!36W=+7>202x_i{R)^vrd_YovrC8&*flYOqe^eaQVP zTSg>voz%o!0a1qgkq3EZuMXjxJefC`WzvHc)4#p4^_%GN?zuzWtt(L{ULSw$@{4Z%dwKDtsLmcOzK?HL>b+y% zc>l4U;ED#W*@aP+#f}jUuN`l_GuM4T|L^>oxEBv+ym$J4?{Y`YCQhHH4EAp%mft)6 z@BJjX+Ba|SovXXOQSfcl#`V|F3E0oxA|JcYH1W99!jDqtB_7&+<+`|YuJ$L+i#u-> zh&*f%_i%h|rXS$p!m?v3+$J0iWlMA>XvnQ)Fj@sQd&v8Zmru>F(cCvu7u@^CHu+MXu* zRp6VZBU{>irY&*5Hm&<6v--)8H}CT8r>4uVEZsjxQ~Kfs@yM5Z16lUJ`C8oE%=?J< z;vVm!AFJAgg+B>@7FfS`FSq<&)?}@n2{ODF5Bx~D^OkMPBC{sJ74rlX`vp$?cMv_m zz$5yQmx1Az4CBf#Mfxx9zq4Us%iC0uZX_ETDZrhiXtH2|&WZ&WHQ5adKJQ=^5N2_c z=s1|b+QMlp6B99k$+=Zb#cfW-gJ#zr6_d0(6&ICTgcam_Vg!T^cuvs_U6)c>0D}Lch<(qU(ZbIzNz$7gdx_iiIa!n%wqR8(ff=E zD&0$^G`Q-2u3q-BSGw2qv6ZC9oBoYjnhl~AMJ8vJHSAYxlRUgNYm%b;ks3>3?*C#l zc0`LUynXw7{)2+FVD)gBzb(p7l8M zPMhWEro!WI(`K(-Ix*$dI<=3_P8C|)X9c-0`}wV2S*d8IJVA47cS(zZ6IcH24`+GU?<`Oei15zzmtz(!32^$K zl`}7uLE=BF7{es5i<(ghl4%lIK{+9s4AW-5TJplhgi(81g+@t8(8*tcs?2RQ+zi{d zSZ~rP^b1<17MS%aeW_aVsi~@YPYk~Sk)^;;I6 z*u{^d?96pes!p@h`5IktcvE$nlzO({)={_WmDP3C^X5nh-VgO$-*sOw`1>!l zBZ`6%OPd}$y?p&Z=k!VGUpM;;wpcc**VMfG{eAuwO^L-86P!CWdm4A2oTyrD{nME% zCRFRw-}h>Qb2^`ADDC6g*`NM4yOT9s>A%F?gHL328INv1$0+>pCBGSS(n6NlABXBv z8#8pYZiUQxFq`#W3)lQfo!={*z^4edg@u z{lI-P%M5?DP#4ad0ZqMADkiF~c1~>XS+2OKBLF)#?V|uSDw%mUb z(5Lk2xLoL?gZC9K7P#4*6ux9|bXV-g=BE?q`ZX}B^uOtkwswr$-n5y+K5deg-Nh$w ztvaW1B(0l#(t`6xpP|!|OkI~>9-LfDc1*4-5KvWJ!mYdVQs1-*6Z5ZSb*^VnSUPQv zfcl=yhX(eQJ}FHn8gFoV8*!_in8EN#WsSp0L$2#b*8E@iq{QSUpP|e0$y?Xzd21Y0 zTbQFc$M~1q46VX`my(d>ij&gawl<%iJIj@$QA^WwW##1BJpXChGuzmrm1b_* zA)>lkSz||@Dx>G2C36E<7%VR&PZqi)v}|t23ZJ~J$!iz2NIIrwKdZ@74%~J%U9oo2 zdAAi?mz+wGwO~xs&Y#r3YMaX{+t=*RlZt|VKTTe0p7_*DZI|%+S1JG37A?(5)wP~% zC-!+$Xyh8dbsbli3!Uj&aX8A8af5ab>zh?+FP*qEb_vI_sc%(}O!vOCG4hVq*2&eP zYt>%9I=8fI!{*Jgo#wkQMLvGzlANLW#w)LJ^0{S4rmvgp85LX<_TY$E%;XcfGH);6 zb^K|tV$uvw^LJGx7IB7tA5T+;1H8Lj#BKJ? zbhAoqy1Q=2_HI*2^*aZCCvd2r%VZFE-+Y!^@0*i|>bIkuN%FT6pPp;2*{-p$$zJ`z ztc16RtTm6SI}0XO+!HvK@o-^y3X|{Khz(1Yt<5&A-<&j+VW(OpgCN^h?+fcMZa=Q` zzwu?fdua5TV@K?_OiB?w_38F=+0tXt&o=$vpd+KmJyXY}k5k+Im-aM{Eow0)_uKs^ zB~G~2AE5HAFMmtUwOJEBvZgA2_VQV9N{_wDU0SrHzmCa+f6=7lk=$t5$-yve~#sXrH~?zHN3&A-AU9J07dZ<5;S?DW5HbRQqpvAB0K_VFE2;}-4< zONxqp9%wIm&X;w=@*unSqHk&QI|Y|tuv;d~aW*e#W|(xm+{NzIo8MZL-PU;+*SSx; zb6WoF8Co;@PX6CG`+7uqnzhBbw(`TZmtQD6`mN*jXWIVVk6xQ*&q#dH$2mt<&ZSlP z^X}$JrS9twUz@O6k20Yq%t3P6vBA4xW4;Q^nbR4>KES~ zKWP-XSpBZsm9kfb+mlnLrdL1JSZLW_w68cQu|~~udgnE3zo~`qT^{^B_0ns?JXxo@ zqE}wqU$`?zTCIGY@^*<=+5WA`pVvh+Tk3>sFE8|tR9g+Kkg``qq)iS^U+i*3}L*=rOXw^Yh4 ztzEEbK6m@eNtMT$+h6M6sf}FopOYbIvg$j_#;T4hdnca{e!3vTbKg?$(yF;Ub{5Cw z1!I~5MQ>HlcE5JEcK5}gvN>P&X&VGDnX5NE+=3Zv%=gZj#ghgO$d ze6u~JWHR53zo9|z-o3W_sNDVfGw;{goUPK6(wK_^%LcQ`QRfX%0-&MDRhHZvTYW?^(oJaOLTJ@;>@z2FvHz|F^cMuvZjVAWyH|4yC%w`w~n|B-hIaGJK@u)|D)DJz)8 zN}Rcl*x0okcDQ-4sG$Gc?@pmj>lN2<*4-9duvj(V!mcT+xOzK9|1Mf5u+jW2!;B-{ zi(Mz%JY0Oh;?7FToOwI7U8icxe!p4Q%*QOxV(N-VyC(dcT+Ow ztgKbR+()Nstc>~Nl5j@dhlRnKg|Eg@Rdfoc))uGf#cp=aW`Ymx9&v4(Rj@gHN~iu4 zoBTaHXKmQ~RM9T?m+PHNhkSI7Np9YrA~R>*iPaMxt)Hf_Ub|$k0<)_`*O8qMOg2Ov zxhHU3_g81cCe9r@gw||6I&HhDAIa7JWV;<+p z|Fa7`Pe=I*eiUM0@Hmz=Z~qp~OpX5X1zt)*c02zpxXm&>*`@Q%6~8whj-0=!vzfuj zBInqw8*UF09HvZK{O6WMljC{TZp+OUDp_kdH^gk6ry_FO=k#xpDR1X2kp1a7C1dBS zDYFh0ZjbwA{*`6*rwM*@Ee^lt;rmn*u=ADwBn8Gf6P88p^!J;zd%=_i*IYPfu3m4^ zWV~jkSJ)ljsT$5x84PY5;j66KpvJ|(Irri+@9w`kGP}wB$FniqxSSaT*au$oV};(534 zS;}hPy`0>O_It7Vui6kKk!@m~E4RhcT0qllT2N zbA+^6mU6B5y!G&rQ+K+r+@EndZEg5{749shvo~&bmj71d(6N}h;&ekV=UQfm{I^bO zzn4y3;a~hXjG^J0TJd?ogI2m{F8&vvYuG>gTJOf|$GBJOeiavedVTYYaHg}IjkXap zUTppE9GRrse>G=QUha)rn~2D>d~L1DpS-Va{t()?G*IX0C9yA(la6-wzwOe=iA-=^ zkz~7P#$Jo%tb7)0PS4U64Z1r|?aszEM-I$;yKdTT&MMU@6I^c`mcF&>Lgdo9{;AqG zq+}x2q(nW;h-%+zxNl{b48!3|J8$|WU0d6`%t1I*a2Kaf%5lMsr@KX`aA{jK`rb)O zja(sPbX0Zo;@ms;7O3Xra)dLc5GO;mUDBi z+!@o8CYuE}>Dq3yy}2Yd`qFPcSpscSw=`Sp8a)t@-=nJe zbm^w-+nd&js`UQl^|^9eEtbkw34n=bDx+KC8+l(doNj@`h{E=XBrrx}8-l{xI|H_|=`MiczaH65egS zJ9kt2&VaV$6Y+B{oOb=ax4&iKliYYe(^zRqucN*C(^kY(UhUf@?IrdsM(E?#L)D=> zzsBDG+RG%DXvxYa_O*A(qQqGOvFUf$$Szya_bJio=4YRikW7kxXg9@Wj5+FJMXQG?-Qt0kN+ZD-a+JQ4Rw zDn7&M5%<9IU+0Y0+g9uNJf?YM|9U(nfX&};jzd^jIJc7fxu_*i_HVLydaomH!qzcnn>iM1ugZMz+|p}C zgVvM?yD-zJ*vToZZQ)Lu@rmbB63j@58(-Si zd5Xs-L)%;6reWpgtrxUKo=)LxRz21HjPr!5XnsM%l(t7p{7#5Yi_@~Z{AkuoS;Lf- zd{O$Q66I~3)4xTX{Sy96sk?7p=YnI;uV3Yi(aSD~6x${FA}?>+6uGQ751jON2X-7z zc(~xws%aVbJ?_4`krkwOUQqI>qFVNSj~8NXoH2Jdyi#~M=fm->*CwVl<(#a0J>hBS z#Ao+pre@b~%+^s66jm@fw=PTiV)mN_FVv@U?mzd!^p?U*j@KS`ktKWHEd3ik)u%JB zHs{W|*~i^pZkdq#e`baEmaw;VoNxbKe3MpfHuuPjdkSxZ3WId*LO0FWUi~YL!9wx6 zTKWxV)BFE4=bXrGZkw@PZO^J3c`q0v9x&ut#B%Qb7XL!R{-WO2KGTPXEMHFXXpi^v z^Rj+Zb?))oj9Yh>y=PgO+@zMU%OU^mjSI^gIZKtF<==cUsn+b^yfamAvVPb-^K(*I z=*E4$?$veHIKKL**Dvz!$$hvbC%#!B&(SmY!HI|8{j4tY8LZN{vgN_kSq;yW)VRMV zJ>);n$!5N??pqmL9)W*t?F8&!;jhK68Y# zz9swoTQ2@(&o^}3eU`e(v9^(W!G{0m9Evwgc=KNFeS^$I_3J{Mvx2{+eM(MxXSap( zgXG~Yi;Dz*e(=iTl-l!d#)frIZxt+Yjd1L|Y3toNL9%F%QVaXH;*&2KWo;4(#p3DmJ1Aw{fl=8 zif#FErd-S6n^0-ed-+vgc4_4yWwxYiKcc5` z&U#ciZ-3|f`4E2xXMpa-pR*$p*C)<>k-2%^>AmbVo$lKn-sfDup7U<&gpKMo@%?qH1pH$6&N;@;!7Ifept53t z!l4!}aig3U9~6(Y$|?n|$@r*rtli(JNGF2zfP0g?vyw?N+au35P1`V@s~Boe5E;EWgGd}OnFrQ1w_t&PCPD}W9I`)`f*0|6jzNzTw5AVbc zP4SXy4>CV2XljnV9u{)?o9>+*va9FBa0V^8vxh78)zy>V7sXEEy1zI0N9atmmS-IQ z7j<3Pp1-x@k%iFP&Z`TrteBSoL;?wTS z8e!!xRwQTktw}nUX1#i^YyGOzpGwvSbO_A&aM0@g`}((DDmUANyqj2m$T#VGGE9y& z`1`4^h(j}2Ac=FGX=E0|9fu2TMN`x7md=aaBI0=KC`**jqK87_hOujxU#}B6nLfe! z=Snt)y45$+75i(^*SWUhfhl)2kIDw` zZd|lzGT&3?{}Vfnk47x+WqY|IYL@w~o45KnnIzTb8k{{j$+hX~&gHH8pH>Qo3i^s% zY`^Jvh12Qk!@~mQiqj&VIh`pfpSzg*=gWYFlCj$!CD&zKO|DL!8!1?4-WC|v`$cra zs@Xx`M4!*!xX&fXOIc8Twcn%%v#uHnzsm~LJ*}(a?{ugoU6Ns@U)J3c+s3BL-m|ri zXto=&{=T%7vrlWW{avRek5^?DZqao-`*Fqj^~Zj;rF-tV+c|yW%TwG}%0HKFadkWr zB*M(_)JBCz_fH~7MPC|pY<(Yae_$s1P@fA93kMH9O(a9dgh2FzZ( zk!$r{RdMzwbGL8nPG8G^wEF+_lN(>1nmS3q^YiPiJid_=Hwp@FE_Uu#-8JEes?pJ< z7iZ=C6gX@bn<_lxa*(vDyX9=Qm&r@_iR7K(e|y<9_r2K7b@Nz{WiRp6(w<^=gIo8~ zH|O(bvQ2#$UT@8?Zo3td*%hE{Vj57A%wp)WNUCN>=F)AFpZsDDzuoM7&c^QYt~CCY z0o*4zkC!=>uI#;dTI8(FPQMoB53y%WC)Z6rDwcXW;NlrAQPE2&S?#6^>%>`hREy8d zvvORo?05UPT=vqfF08HIMLx+3w^@CevEKTU8yg$v`+QZwou6)$#>&+;te>xrZPEgo~NU8eT=fV#un0}N@YhlM9}2rF#8 zn3Y?yao%$~^KFd3(rtb=bG~a}vSIMhi)4ssU!8G9pgZxnm!yuzo1SYMep@cdWT;>b zytaIgpwJR&u0`>V9uueY8fhv0T7BY}(xk;wwX4+~mnaCeZrP^9*}WY>GI>kq`cq4dH>_mtd-78yUE+~v>k+*vTP7+tHgK49i8zWCIHtO2&79yh z;gqjg)l!bX?9xqt9#4B$WJc{y$@wP^&gx)bZ0=_Y)Cjh)&W_unz;xKv zO*4tNJ*QYVbnZDpT`w`)ZKskS2x&SqwO-mdOKslIJE_k)LTsaa3oUg1KRt2tLD-D; zA70(>MdTd69Gwu>@Fi=9b`;zCF1KwWx~u9%a>CLcZn*v7f!&&r<=f+a+J{Wsy6N1) zy%B^p?Gw{;DoF|EPX;!SO4Cjz^N_ z?K<&4?1uL;UB{9#y)<1@@!xR^47Mxy7Qe5zDZSJBL0m&pIjOL`W)IWi;)8DYcu!6G zv+k8-(V<^o<`v9S2v%oLKXgBrqoaSxuAP^T9j;w`V0vjYs&T+KfRD;S!Osh^{TJR?j;^i<0B2O#wwTiu(2i^?!LZ_ zmpO0o^R3Y>U#2P9e&e6XX%uI(@8^ymAGP|vo!Gej0RNS9+dNMhcxPRB_4Cw@6w@vD zIbU|Y2s9!D|!$&-C-Z!}2kGntiQ|o_Ekp-ug4Q#Ff4r{B|Kz zpz}9(d-^IFWKL4@e`_~(PyW!ep;=Ws`F@X z_r!x;kN<{GXgRb*s_1ghZBch)#nY}I{6hXRIQmTGJaaoY!tpY%cvtKEO{(**IG#T? z_x=aZxF>-}=Ipt8(pSKsac<_5wwZq}GO$ML&XE41$^T!F#bAlt5{|3U9mg1$VqIt4 zX7&noelbCwr)$m2BNA&Swrcoo(ww*Qj~v^h+iY^4zaIXd`DAN@q(kC_E2sYG#tXHb zyfty&22tO<;W6xj^?w{Y;*(dtFw4Jaf>&i$}>t;#hd6B)h?b8}H^Qu0QFWx$&s9(2Nr& zrT0yIAahAk%4*V?r;}O_^6rXt`LOordD+fQA9$6cTGnnnA0-p(64127@`&WNiPv;p z#2FfdQdotqoc!T9_r%fGoh6G5+j^fL6?vx0`H#i-gT?U`JW5VJlTGf)IsQ0(m@(mX z=@D%=@A?Ny-_E-5&Ty0d*Z$+9oc7rcUyZqbvWu;Mb)-kS+3?8o>Egl% zVoG`}W|>V#7_Udan5+Bgu9JsSzGvLon=EmboPuddg7;Xg)m#i`$*8Y$mECn&Xxi0p zD$0&$9_Ix#7~M^N`7`_^ONzEzkMXA1i!IHsPu>lx^zfgc!u*ZZV%A)#Me)~ClJ+cB zzH+d|mf?Vll8fuU#er>|qEhU>P5p;wp6L1$e`v-frA@3~YftE=w1$c-bxL7ua!Aen zqvUge!7;`uX3k~lpu7Hujs&*Kd>3c63{g(Qc+2%VAp_~40f zomG*p4a!dETzCW;1hrW9i@1nCNV2q2StdL0(aA)&HA`RaO!fIAot8HHx$4qFpN@j3 z|K)Y3KJpP*62C7tY)wLmiVEXZ6-Cjs89ahlH#$V^Ye~KJIPKXoJ*jrN9rN=v*yETM zPsndrL;;Zu!!g^Sa9Ho!71t7Z%1-p zsZ~BpiaDd&tia+?rN(e2xxn`v>!BqvCGpcel$S(KEttM}sn1=Y-sBX>-gYhOPq@OhlNGOef4^bt%sAPabSm^v+zbZ461h`_HjH{TE7lxX zm~zau<G`zMthTi6O8D~;@1kB%C+tUtI+a;bF3 zy|&Mu3jVwPYfOHoW>dg2ed!CayKa5=Zh8NS5)ynDfV?3*wzvs=m30Wu4xmbVY*s>{gZibHA69?yp9A1U46GFKcb_tgDy?oodqVk`o z?4Q@ZS8h0`I3zXkF8dU6+K#hyYmW8PH{K49d^WsU?2>(5B6sVP*Ejthi8#Eu`6>2N zRI>Az=P!8HB%ET|sg!fZAp6=e*In<{I!nCjzm?Neq3iyD?`B(WjK=DEuj7}C=I;vZ zmWp+@=sI`elWwxysr_b*SH9`SL>{@a=6{=-Qp=8{*++h@J${Pi`7HTOzuf1YVtH7V z{P5I~qh&8^%yduQ)4Tdb>`C71^Fs3d4!NIfjyZVfx|q1vymOm7E6?e}>Q7GRUyB|2 ztmJYz!P(j6{i&cByP{`?+CqK=X~EsXn*FtoqlCZ%#`+RFYF|Mk5z4S64j3oCOTu{m^J zOkQ+;-WQ(?$2Gc5Z*EB%t)2L8b>4;#X_MrH?KeuAzk1aa?#7Wfqamwe%em5D?ysC& z80;53`NmPJ7wa3MzT$%CS(czl^EN8H=e)o)=V_=U!;wNIZf@rb?=Sq#bd%v;+E(~S zZf$>t-l=7$KYnxFD{@$&zUa2dr^=@O-ntJ@wThJfr~6NkcFTDE!_B4s9akflp?g8Y zi)E(`HS{#zZ(7r_>6fO8v(G)H=d5K3tpCova-Oouc|(!UicN72?{?O1G}-^@z17Bb z$6D^KYt{Q~WPaS|bR>(hJ4?LSk*k+Fv)YOc;@>6TaS#mN{GaQEQ^$vTmH%uHHWV&9 zdZzr3lVrK^%L_WZi;WDqSK2DG%=a@=WZYu$&%hvl^QC>88zwCioT9CB|LP94Bl4e& z-IkxW&^Hm)elf>~bH%bi&Uw%Iu5{XPC&sv3y`sY8%2MREf6G&)7h9EDtbd&LsbA!~ zMd6rU3ybyi?T1+RYi`oN-|ai+%Q3Z$lOHHJKQZ?CoF2TN)$E;H0n>p{JC;9IMgFcq zq2;au;YKkE4`q(G1X_E3vfCPIKhJ)5a{Cp-|L2O`r#y^c&p%_5;#zPp^1f-@{$LmO z9IoYGeBVf=F7tl-wlGfooA+&|g;5?6my29FHcDPOC}8F3f1f2$dRyXhQ#a>t3cB0$ zxBWL|U3fDj+AOVTTgK(iwCTFm$9p*Do6ToYk7ag9oo>c^eCz&CMw!Z-r&g83G3bZy z$Xxn$qwkTjoYQ5j&s`;VWi;<~Wn8*RVzTC|V_g!(+ai9M1~#9s$ZY=1XzR6neXDy%=VY449K1^L@+uIJp|^04Io&A8i3WOf(qye8Tz z;G%H+dyV_~+{N!-_2jX=T2ePTw9(j%t9qULEU{}|9nNc>GIRWBa6X^>Y3oT>$FK@! zA=B@!9Tu)nwwD*Tw)<^ibz*V2nH(w3(w1&9x3pa7nPFXXfBSb++5R2e8*(jUq?(>o@eKkdfY ztCiD#O`Ni*U;m=pF=LzURzH){{(nHzhCA zY_1NQuuO{af7cw|&Hwna z*OVo^cIWvUyY0~28}71?xn@?o^XBlD>E3^KK7X*kc*kyWh1K0(nv?(Vx1N4|Z0_bCXa4^Q^lCbosXM>H zQOu)i=IbBzN4}oB{c9?-?G^F8dzKv3c&sNheWW{>59x*|&yo zzINDh=4_wy?Y6hK?~Q2wBNn_l=0(+!-G8f&yY$`u8<=*tE92cg(bD6qcU*dHbLYsO zd;LEi&VDEJe%d5tjZY%8GaL3<#{MBK$)$8;B6b?F^d%f?yecPMOtS{!*-LuYn zV840JX_pWFf3^PC-I#CQr1!u6OP%_zeV^m^E9CEC)SK}&d4H<**6-X!r`qe=`1hZA zZuN8d{$Ib_zr4@=z5c(s->SGN)+_hh|FN!qJ6pc#{{JU8?En9_pZ$A(Ue5pj|Ns4K zPHb{1O*(A%^1uC?#|eL5Zhi9m|KH#C`{us-FTMEx|NWCqe*9nm@Bjb*|FeJm|NKdy zc;DjCJ-`3||9|@XMwVBGlm0!KuutLV|NsB(>(*PZs{pI~{{p0ba^HOr_1}Ko6EHnp z_nNYcntI3o|Ml%sGyku*=T3k3ebw4i-%pr2lzsef|2ydafA?Si&)0p7Z~6KEzbgM{ zpzO5gm;SPIZv~MM{Mqv5|N5|mkN>;Nj@qBw z1rn^kZm{aVxclXhKbsbJ?*%!h{&oXM0*vi>zyJRK-~P_&zyGD#K~7oz_rEom;r|Pw zAUEXC|NsAgC4U5S_wT*1e-#_X;Ur<;!%0G-3){OUZ``!?!ILwKm#io(YkvIfe0g<8 zRbA)qU3+UAyLar^6`4@AckljX%U8{wyJ+h4c~75Ty!ZHww{O_Wm20*$)9cr73X4j6_TtL) znF|_Q`{vGDd|>~9dGiB`vT+MPRhKYMn`KQu4DsMg)x$KKI@ z_3HIE?w%|tD0K5p@ea(KGPTz)Bx}XwP~dGx^^@qBq}{CbNTG5Gv3KTLH;x6OjtW3 zCL|)+-7|Ra;Z6E_rnU}Vnb{?i>b%^XYynJqEtYd4Le`bPDYF0;7Y({riTYN&+#?=#c zEKS+6xKvG5GuJhI)BH3ad$AR(7tEem@%ZtDjq@V%sn85DLQ;) zQ-Oib;dK?OebWw|*m87TXlI#avrE)M@1(hH_T4pMD;Bla=Q;*@nm5!p#fda%1|$c{Z5oAL}@q~zoLR2$o> zr6u&V6uHCw?2;XW6O!{>oxS(2%ZacH2#wBgunXFJaht7~#(_O^a|`+#=eEEOCsA11 z#38H|b7I57!|ejfUN{dY30{@bajxH*p^o8C(aoZzz7r?py}EO9^YZia9h$jhy|%2l zxLES!g5u}Tryub4pXfDpRx#volDnt2W;++h^;^kSWadQ74L!dq_B8l#lBG?()suW2 zOUhnO^I5%p{r&w7%-nK57Kw4&u2y{d>#=+T_;8YWJ`(ze4o6>2?3r9>`1Je&=WaRM zEuxv7GuRhdpM@Sy^6!KQgXEdIq;t^2Nf;OJUSj?1RmH){i`OjOv-9)w^C$o8nj*F9 z>+2hvv$wxn_vYLC2Zy`=%R>$)xx705{Jy=vzkhgqdcObueSd%d`270*`ThIrPn`H$ z9@xMnmXT1I<#B{d+rh9R!NWm>#id1rDPUo%pxugv4kaZw6rJVTG#+)ROuG@0qo`G) z)FHiX#YJwheFxa(n=79^>a}=Qaj}W_=L6+%`4<{bCNw!R9N^;rH0gq%kKDoli2ygw z29;nTmsB_PIU6oZySx&2=K0d7`E2^hgNbR=BUd&(o0T)~Sc8kgk5o08eqDiyjA5({ z4bz$|gC@++Wz$-~)S@LIBG{p}N@J1M*~kD^)q@I}ffZaKnw}9UQ6aWXWv?_-_$(M4 zRxF<6mF1DXZp)!1?y*vnmTgG-e^Gcj!-Zcj*Y0RLn&G^tt4nAu!y3Ui8@wi{Xz~c} zbP!_V*m-K&8m^nOUT?Y5JzMOx(pQT61-e{PCLX6O%c$*Z6A8K7DmJ(?=cA zGe+#XCC)}XE=N}U7Q1rvQmn$;i9##y@ywVjyK&FE3lZtPx@WB%eJ1iGm_NziV79sS zombfD=nK2;vfqBY-OFdf;8-00F<@6HA#~JQ=zg|>C_gOx(bA0>OUsQX^57+tcpBTN| zqMoC%s!G__;-UBAtj*7CB{esk+A5xJ^Kkq9)dH_L-uel$bj#J2xD`K>4S6kp^j`R$ zG`l7_*^33zC%pV<{{$1E3)|K6CJf(wI{7_?epg>o~m05qaj9mYk zuFun(Bj@<6x}|>A^Trtf)&$6!@4~S z6?Shq=4tk(J@!gGlk5+VPMu8?`=%&5{!wXNUfJD$7 zMkS8LbJ)9;_9V|_DOtml_BQN=XNw8bl!Y~_&W8k!b@vD=9Z=!A-{R@}Hsn&~v*r`B z@{`WE`L!^KR37*mW^^DU?DL$RpA;GDINT${&UGvh;k4jPVi4kc!uaEjmr7##|8om` zgy-h$RC8F%Dp(dbG0$L1l390$Pfr04!)Fza9*xC&n?k-MN$lk`UTbopZ_)D!(s$IH z&m{=jnYMS%f31FS!I6vgRVC(3qG>l`PEOckIbq>99#1`ajVV*6spM|HopIj8?aFki ztCkA9E1ArvyE;3BSpN3$2-$k*Qsb8H*l^bl@BUL)_a6zF&HmO?lY0^ix9zi-Y{9Il zYqGAc&fB`Wz}8n<`;c<0%awJ>vL11&OQx^f*Sa*T^md*SYUX*IEaLH8)>L zF(25uSFh}0GHckY?g<4}8)CmNS*jEHP0{m(fz!FwGT*%-lttP&Y8P9teVMmILHXPI z+GIn4>ui<>PDUmxUgvaBk=vAcH20&1@a~(M=XV@ro>=HOqgrZyoeN9Cxs476dzSo| zWEr5qx3Rwa%mY(pm;c*5+Wfz&aNAYRyrP&YdbsQ8BGBLO!J7We*5Z+-=;}3{^#*aIeUZN1ZEw%CI}P_c1uT_R4jSJp-gENT z(Ul>ywZI3Z0)mkJ6;y@1|Md-yGlr9lYb6lYI@Mjqq6UuuOCy8IxWo` z(e|}iqvLINMzz+R#r%q&r1`p*RGMx4e~rZ@WZ%=0=)(GUIUeT9euAv-+S+QfPq~I) z%dgw5E5M*p;c{%Q{51X}FBoFY=h|j|_If;P;`VX6uW z^^aqf)aT_6YSX`*yT@{1$@8_>x4K7NKR@@wHq}Mz6mHbMZsgkL;uiPfUx%&Ptc@9y zB%QulS-0$oba`K}(DwN9<$E`$#d5H`m(^TbAai`$t?zf=_N~5M7OTWI-+zr}@X7t^ zDpJgyY_GUCwcf80Rq80;c1B$0>#_cpPw#hHN85%Lz4~OUwCSpKozMFj;nJK;n$tOy zBqnvPF*vNYzJABk1$WFRpR>88oLVz&rJi6*`G5W0>pK3Q|GT&HT=l9oJO1uSud9Lo`yY=?#?H+Fim4lJuj^0cjxd%TMJ_)aDFcW<9Jn+PG)iZ7a zbDZL0m;&#X`27B!nIn-#Nu~xHrapDZBZcSyH0GJv>+EhwvS9QIWI;VaFy_4Gs0@ z0&l~87q<)Qa|li?5S?Qv_|&1<`l0sJtHwHRF;7+V--ktVv6b)&>Pa?M?|axH+Sbr? zs7-?-xz&xoOhU?Yg<@QTK;#S2*c}2l76>f+C_HI_>y{w?9*IW%|I^CM#q(9RR%|u% z7JZo6m{=-lSpJ%+^_jTFM%9daWlfHg1dbN)=BRmmEEhDIA)xm{^z3ng7zKeq1%YS- zPS(JVHVuLM4VsDN1rN!Ug+Vt#WpORu9|HjsmLT-i!6POFRUvdcDSKwy&!1dCDk2A2N zqM>&8@v^NY-v7kK&My(39&S3*-GAae4eoDbFg{SmdT)Ok}y(CmZR#zaw3#vL!Nb()?-p zGtxC9%(JdUq(wiU%M56ouSSjF*?m1QIM3WYq!MVVQRVHYbzFKbMjwzKp14b5+?Nm>?VR*q9vaY}~% zXPC#rIJPGsH4&Y&=d!GZIOB|n#8w?OCYTsDoKNRgP6qRh>e z$uA3MSgNR72y8UqatX^@%Gq3IDZsT-{MpMshJc03RtmgaDLDVa6k$Vd1_rJL4l|e= zxj7EnlQCoF**vh+X`10fRuZ zh+?0bl>kqrX!r#-{>Fvc*Odhor!X{d@+tD~&J>c|&LiN+73amp{BXL6vgG?)t70@79j8!iaQ-4ZZgVeGCr(|Y0JbgOdP>ACYG%5#OPT%wkX33fbp5b&NQ zbWLE2)W;PfjhuB_0xeprSsIrvpT3Z1;)*R6QzvjS9A@C+Ddc*k+0SaYk~vV%IIGfp zmVlX*knf6Rb7%GQFYKT4a@qfb3wD}vxpWDw>=Jq#AXFu_Zllz^&?tc=rvx5X3U0f# zTu_mJqSe$Z1rvo1&flf!#<7r>rLg&~mC#u$r_)vfGfoxH`c*jR*P5`&bF*hn%FddW zoVHfWuyFrF&f8uByCw*1J|&PNVDF%~PP&jS!(3pOm*CqS>w=>M9kR~&P6{`iTJ!&ZR$%&*^@ZCRY<>q@&RTZs+vfCJlWbRQxa_rspQ|r+lM)l- z(wL1L0=op(zTBeiy;PE0usCq)|DBtJPHj~_xQW$q6O-Z^m8vCtijKd#1TJ_A9Mcjw zy|v!eb=VZ)X6X;B+4N^Ri|oEG+I1LyDU!qwWJ!7*n_dgz2=W=sTo1HcD$BV^o)uvaab~qQU``RXQI-N^#;dD8}?y3Vzc?);8o)*{<(I=+J zHRH74oYOm*6}j>b_zJf!?ai9OF>%SZ|5{v`2D?}ox!*?#Dy#^c`Mj9bddrW9X?4|G zrgU!E_gkU&;FjQpJ6bvRba-(edo6gTTj0mbT@u=Y=WowpDA@XV$4-p{0zV{$E^!M! zc`dMxf#HW$cdGP?L~e#l)(3CS7Gn96y2JX=JMXLy+F92;_J6%?E4_3FH{({TLRM9Q z)xMGkcX9}F`3U~Gy@#)G-(F7vULHXWgCov0d(HL;TzI*P_2Z78mX4deSBeTAa@(om z{b`MwBhw@C{n|ECHI~vH-G>wY9FizJ!n|?Hj#+|TFS}Z$j|ey}%IOif7A@eCbA)%} zHid$mKI4D!5EtuIOke0LH?dt7`FD+!Y9(6L>A@qOZHZ4U)H^%u!+zh8AmvR3Q zsMB0_eYPN@j!?=Rf%aKKentW(795c|IG;Ij4znRYzmGs;J8vToL*eR4vw!TGT)7}} z`OyQ4?0yY`j29Soze!S`z{v8DW%nHhmV?Yp3)QQe&Ky2^=G30GyDCHGi^L2{qV3F_i?7cBfJ++awe{>i)7k&K%m(`sHbK|-!FmR zk=>jZTkB(vUOctTs`2zhnB_mn9x<@w&5F$norroTXh|0?#YBcX-Y?zkBjG$mZZ4?{C_*n+g$5E5thJvy{S~&P)klNR#0-z z^3$s)Bw23`@)2QO$!nH$#R?d93pCpby5HO;@M5*sPk}Rw1bVqIr^^W5 zW>|AJXt(a>3H*)w-~61q>$Q{;FKfx(TS~Fl&haqpo^xTt+zTrYoJp0vJx_u6MacR1 zW5Vid4+l9;Y3VvEz{qz*cJJlvbtgCMoOSmOlj7du1p-wYn5X!zUK+hQDF~$JhKkgl5&3(;S>fXMy=RWi zIU_aqf>`baS=;MXpRRSpY;n5C$yK=OobAras-4C@f*)_4<=lAZd5^%Q>KiMUUp}oZ z@b0SRcpa2t-YUS3Ov|wk|%LRbL5TdYc5;M z9(;1=;fo#t`F{sl4bPh`yz*kFP{g{0d#klKz7_auD`dW|_UrE_3vGq=pA{54cZZ+x zQNxXA%nP4(o!WH#?AF5nZ!Vvkz|*u&AalXP33~;@W*wGUxQBJmP4S8Irdn+g`pD;7 zBNX8y_cp15>t10ep&%u=dSAZT$2Xh@?@HJm+^NvN zI!o}H_tF*J$CJ(pNcOGHS#wV7+`&A7yPS$ESQb9xy0~raiCN<71Q%T3T&?}=j@>i4 zjW2KZ2raRC)f(8cr}X-iz_$}CZW+eidbQ)N+(C|8^X_sh?i191Cw*p-z??e__5yG6 zKJJ}$^L%fVc;eCrbKVPoTpN7r#j2n0%{D%l{-5|kT(Fz3@T~wN?;G2<_Zc_tncevC z-YdDr*HRmqjd+E&WxYJDcaY%$TVmYFf-`q_`3a=$`^X22TTqobiIbr>$o~V0^cqUCcf1u;MVEiAkuX_%wG(P`z@#rGu z?%vF`1o5Q@jL6suia~fg}rvlyc1YqBY5P(ibsFG^*i1Q(~Ma1zy9m3wSNRIzF}SX zYYYE}&3%_=NxzMCuNr{}$=jqP(x-})V z_`#XxQyh9B5|@-30$55Xxi|)d%<5J(X);_Xq8t?Q*~#edk4%Ndec@b5N-w7<$u&=1 zlO)64knP>FgKM2i#LEYZ`&k|>nqwiT>fdwmg4L59*WbqeFYIiMt*1gs!$?ZiX|HYOp!Maj*t1~k&WepmCpgmM&g;$K_SngOSz+l5 z)1MBPWj()_tdL5~X4vT5q~!MIhGWLlVsW$jhfF?{!76i4V+!M|1wy}!HTImJ$MnENI5>z` ztoc+`#+uDSPFXhRWnN7@DrU;0x_|!)Ew0wDdbf@qY}RsgS^R)Q`osDc238Xka&`st zco`fP5mpgY@i}p3^0GY|r@NB^CM=Ql{%hZ zeM`#vtp59|ESn|s;#kWEmX|XW>Qyo%w2W`9U82NTP-s7?FF@bY^x`HRe_Pv4!shz> zWj=>SBwtuy zp7ZqAB^LIl%vIZ_Z~8B_SAm=BilQv{FB9I($fi>Y-);Wx*fN20SJ|mo)=e@XC9L--=n;U^YMlUE1Po#p0${q zwpz#|T=a9%iVIph7i_wG_x6e@H}6^`O_DRqxESNWlx}XWaj9|X?!ZOT3~D^9Zz&&; zHM+HM9)DEKVs*Ljy2@w9SygA6W7qEabWr2sdS!dd+81$6Li>Lx_VR1VrZ$Bv&k$@n zH}%}{#(URnH>5`2+FRcA@8i!s4~(Vi7Ch3Q{k`CUiGKsLio%o?%MFq&Rk#=oL?)RyEN}8W%+>8?czqUzXakc7A83Vlvfkx5iDGVQc?zgpWp2Nr{ zxNF8~*I(h2{`98Q=W8YK*REI}v}B1K$6<~Q9EWTJ8jsXS`EWVunOOB6Ijeldz~fQE z7l)6%YZUex%DP!(2yE+2VYg&DAn{mu(#O;%x$PDwru<7@DR1SWaGd+hWfKv1n`ajd zR(UHX@Xat#ieqWe>2z8rvs5o&=LzG)C%*2#9!%h{Tje(6Fo)hTVY3f87xX9oNfNe= z5K#ERt7|cfmtn<<<4<@dDOrZhPgMEp9&#*bTHkFy1%9JW>y4hqOBSX$&JxvBKlD~< zA`1iC%!rfTX_qV(J0Hni#>C*0s$0fB^O@(LMu*A&X9(!t{NZWt<23UL{m%ndE3r4vIwfg8K}EC3;Ff8iG-OkatdvHVq7n@r1*;uhq!W= zqK8szm$PT`MuU?_6B8#YvAUjkF1Lw8bJ1}H$5V56>Mc^Uc$T8CugmE=+1PJl-;=5R zomrv$O$@7p+_OID2<(#k)S5hvMf~IE6A^Nq7cN}mtA3N zxGSl$UiRd)0QScrPaM9gTTT(RI)B~$?^(^&-KlHbBD#bo*`@u@YLC9Nd;#+$^)-sB zbDN*M;%K@&f8*5T-Y?uSo-YJ7y*7Fk-R(~QabZ%VOQvI!EJq@@^YLjJCJTF?=H^R^ zoH)j#!f}vynbWfy{{1xz7q>E=R=3cW+i-TV@O;x3i+mh!b;+@<=F|pCK~N7qz3OUD%-d z!D*KBo!NrFnwA`8*|^?4i)|9)`|#tNYx36INVqA`^+ws&uS0<$;XyNt=}GqgiJE;% zIW{g*?hDqQH1K*8I6+m(W#J4XWrlS;LhQmv4yx*Pm~CkkJFv**D9g$9j&VM#CKt5S zwaonNs%O?=G|rAy;ofzAr&_B+d!bBxw>GG3VF9P4iM5ei!c(KT-J5vxs^>qo8Ke>;gol!%nVmM4}a~Oa{H4KKU$bhEwQt65f`I%VcgQu%)P=I;1E>wY(zB(FUgxzB9@@85|b z^1nBH`ulf9+Jt>pDz7j6oa@e2YbjmzTwz^;M#H>%p?td~^5Kh5tUKcJ?CtaaPZEw! zWq6o4=d)2qmeum(jkZ%JZ2h`Yc~ZsxYo|MY2%FkY>WL~=X-e2LCByRXVUD+_5B&Ao z9(;J_G6n&o&HI}p_VJ$S@DT1a+pxH_y5oEHyyeZ4Ltb?rdgyS>%5kIf8UstcrXTzH zTMoRh7TkMqcdKUS&(rI=6&xpVSmjCfY*k*M!_9g8x8tM(_6u%GPt@i}-+Zv=fTNxY zk7~@UA4Qh@f6NY6n97=P##^kMcA@+K`Oh3`B^~A}ec~cLt9DNM6m58TgVV2QfqTE5 z_TO;OPg!G-GUst7vpfq=%3|%=k{!k#oMDGMOik8ZNSg3Yn`6<+eHJ~Ax?Y`PUplP* zbib@p3^{dZ{|*<)iH;62t`jwmESV|(z?;u4*m}zXw&2Bwx($rXMeJv02wX{?5Xi$B zk|P&f)8QzxJ2~a3^(T(-DNDax>foGW_3^@dqY#t*D>mBn9OIJa_;=Wa!Q)sHhtSo< zM{6%Sx=6T9l3;wOaja*9L+Tar6z1dQf4CVnR-XSMQqH2>V!+uYVnVDof{NOA6;Imd-D$yf+%U)pee}>($wQr@vLhZC=jtM*_1B>^XEe zM_}m|yKPH6m%ll9%!Tuqv}ad^L;4H#FE1&pw*_M<5yelm(9~woNaVC5V=~(Qf5|P1MB)Nem%QoD^l; zaVKK;&Mp2;Gd$Q6{SPxvJ)*+V#K;r+nY;G#bgRkd@9*N6;C1$Rr(aE0C&LlHlhtaC zS2*6ebY5(B>+SHrA9*p;r=wNp@bjFt5sCiWojN2gpE;?``G_enEacpzDQA8%9C~xP zBiDMG{1=DJLbmlOo#LX$nj22GRdLiULv_3w4X~V1jIe`;*Y~KHShM%aY zkR)qoUW#XcNr!=J_sf!yH7W->dc-YC&pr*AI;EuJkER>5Ovk}9TGo4m4G&*FH zk>6KzUUeuPU19w)#ogzdi(c;d46qZ8r%2TpMFcII+)X5Tf; zy&Lx5Zt~=6FV4%SJ(7OPGAUdyo_eIu<9f8V)CEJ1Dkksv+75Bi6LTb|G!-b8*oLJa z?eL5UYiVGfTPs?9*01x4xY^o+tv^FfiL5(zDJ*Pj#H0gEp#lezrcP})?L2D2*(uz7 z&9Wol6L+1ic#_ z@61)dV{rRu@&xsdXFk7(jC|X%cI$GX2)zw^S07&$Ir+!+9*O8CgXrZ6cT~PAwk$Pw zTy*VWhTr0|96B5u{)cx;$p{N?m+gCWcGbTl9R;GkD|0!^<{o^n($Um&rP<@|N?8uy zuT9HNpYJZXdwnU#t)+S&j>Z|>yl~Hk&rU?)(J4mxOP5a_y~DfE-#KwYK~!A-1;1X7 zqci^ccQM5FoQSH>?Rfdt?_h4{TUU<5uADb)tr-Mj8D@l3g)ZOZ;%F;#wb>(7wmROl z>Hfz{2?jG;USAb&YrXRFaz{m}Si{P#SKdZ9@Lrvi(flFQVd9L&6K_v%V`w%-fB#oK2vO1X9D*!9W0 z>sX}QcQW_>%a=z#Hr;1_Wms(6|38}LO3#t_vtPNBT2F30+%xrSw0Pe9Qcd@$-H#`B z@UcI0eXqo+!`7giH^cMr!znjr>htvkMC&}9I&a>m4ufrXCNn2>I`Fx?Sao2<+3wG~ zGcuB5UGJ!@b7A7W)AS>%nZdklW2l#GkGJciubwfQX;1CnB~L!^$jPry=GtAhnNPmy zJ~lrVF>}L{K8t%Rekn)j_7w0g&zJ4cRk$g2?*4P;)Ll8j`d-u7y^?3N>^RLT{66=A z`nuFo;Xc80sna}?`OG*K)^$4knsC4%?O4;&lsKouJC0f&^4PG~&@at^DQ(Kxtr`p+ z?JZ9y=h=0#91B^qh3TAX=d#C7k55dpEy>uQ@#Md}(#n*&6v-*^A)iv2f?^sR`FzE$ z_nb&CVLqzz!Dz~{fb!fd5OH^$hz0vY!}m-`hwBux$fHYzRUJbevrX5 zOU7v1oD#XtS&r$`#R4TicU!WuuP^BG_w?BR_)e>wV7o$CadXmRhql?zrn~Q$D-G(VZzNR&$r`V2gXB@N7cN1ioI? z#!{Iw7PAbq4hB;W&ad2NCwiG|w~FfJOpHkUE81zZ!e~z4-Twy+ZXBACbLt*<$+9H# zvu^^$`W_~|e(Lzld|RKsq0&;@+;Zjy*R;S1Gv4fb#}N`E)>`NPVB29g8;;v`Q7sj@ z2j^+C&`{3oHj$16pFDZzv^VEC$ ztnm4Hy$)dxu@_-SC8kf_Zf41l_-@I|0=s1$Y3CLzFwS}VEcx?QIfjf!rS{X%%qSn>sGIgnV&g1 z;oGzWA4S=}F)MxhakO0WehJf~*gF-pTEeT^6FLfJR5{`*$+_8VhW z(SIkeSqhu(PoMc<)9Kiza*oRPIXw%$ubEZ&gH7e+r>O@Ye6NlCY^UDYr`|D5y;IfS zB7LJyoJYq}y)UWJ$=X+^*6r)q?)`&ZmTw)~`Mk8$fKZ!MxsKJpdCJaLl$VROPtBg3 z?!#n0qpT>qHvj6<)Sk#+yytQ}gE=x87UoTI>CC)Q(0s#TlRoDGxviIdukE)rYR;&h znDIuvXW^(bC~x3 zU-P}=gnpkDGlv@kn~+MzQU#|LZy}}=M?NSX=@8=dn&Gj5#VJWlcU$F+bC2eBMk$=S zeL{e>t4ULR)#Q%C$10u2eWF@e6C@byOe8U*B)*U4ZN==cWPD@v2D{*!@HmRuG{;G3pOIG={yz8Id zo}O|#tg9~6YlYO73@5$V*#DwO4u252GKoK$*Dt#`!CPf&v5_qEM&-lqiyFTjP5Jc7 zYC2$JG*|*Yp^cYzq`Hk<0ajD-}KHtWT?~6-&eh$V~fu` z?r9xsUrw9sH#x)owS>cpgNDuPTrBE7KfU^=j9GT?EZ-wuSDr5~i>g+5)v@)x^gjRp z_6>|?Q^gC9-b}sISmanDUU2HI$lL~|u&47IGVE z1vA!{hs84&cdAVkQ|2_CU@kl{?NUkI(~6|eoj$TD51l10J()3G-sp+ibl+Bn1Kz22 zDyM2JW*%wx6Kb`XFP?eKaz*e@MU&eTeqH@0RGTb#YpQL3S?N+OAKRTvo1&yNG8?A+ zJR!QAwbW_3XHOnWdi>gyh}iIpGfI@5E9|DnIo9TVadN5`V_EH)u#d}O!QG1{%Qq~v zOJA|#m#n5{9*bp`&X#F>Y)_Y+vvo;bcJbVHtB(LpPqy#joAM;>{I}g7YQm#t2gHV1^=KY$ z{`fufsJM{H`lzUkPxE&MtbM&uVfD*O;V9{An?Cw0SswlWF|BMCOZ&F_ho)Z0k#xVZ z=A6~{vbPO_u02a*_@aJZnA9J4y=acj|LLFo^bh(>Ft+7ao9X(?>M2M1_dKypdz$z{ z4vB`@cfE1A;lP{Kna1wA@ixOh8_go~aOv{N>X%!#MP>8v4&32e%d=o*?9R@uB^+y) zmj^FvJ@zFy;XRkb&1~PZ(}kE*<(6+>@M&#XNX}zhtC!M&K5HBI%hrCrkm?v7aEaw@ zgw;ghv-=7jcDldFddG26=VE!%hb>}{wA ztC+ue!5&A-TU7Tfx#8S5@qEGimZn1&_H!!EzaaTD>WgpQqk?|1V?So9{8wA(=WH_V z|2uVu?kl>{%d)wImlf}B)R|z#sO_!yzb z&)1n`&ii~MW%HE}{h>}#i7o=iq*{3=R2MjVGtQi}m_^K`k-;N@nNeVxlu}BQ38U+7 zogfR|K7UDOMyGft^@VdQ3=|cv%yM1!U0^S#Qjl#oi{riN6SSQAJo!^j*hgG;`fGb6 z|97LJvqGWtvI(tiE;1n#)Qq-oe`-)&*D}LZWC1pDj(bXIizu-{i*}LDQAC0*c82Zb_ak3dQP4PlU=BY-(xU5ftg#(s5tI zXrW74YR5WmE(Xb@<5@xP+Z;aorZ${dl*{^}=GvZ)AAf`<1^6z|k1Ki76CreVZUL|2 zU!UvsRyU1<+)i}ds!R?};W)SH15ZO5r-J3`_NpIX@6Oy#eY5YgRsR>>mseXph(0=M|TWV&(&--M){~cZx;YThj8VUnuFJ7L-(>1|VFI(x; z$J5SlZ|JoD<1Z7eUFDJ^DOmcgU{&ber;!z@tsL`OS3GGvWqD|dz~n03a6!eiP3IP! zjGw8pyzYPGdADN^By-;iuM*?dn&78&>3PfKg&c($@vRxx54xFpZJT_T-%!gshRsmw zWCCxvwsKJ3&y_3OE(N$m-4flxq`bP zN^%s<7P%$-%Z1;cQ^D}gsznjGbw;f1{c_hqZ#(;R)0GG3$3*;A>e*CRdTtZLz4iU( zMuAHX@$Hkc`_%Mo_YKE)EZh8@pB6Kn5%h`cRfzGJXvvnOq0M83!$mT_#r8V?OHSOpYll%>+NqO# zwi?z7d1utCmNneCGyTmG%}ow`n`|Q*}|0Vs^Ig>OL zi>@?2d2{`{t@l-x)`^*iC3L&mxYm~c56WU#u~roobG?dQRIZ|q*Dd6}shJ^B7m z)M~-Jj^%TsHl`Z?ZYZ?gu(4`-C%g61t7^s;Ys#A@i@a33!zuYatE%>K(~T_$pXGMV zELOg9H$qBjlP|{$hpDgbSiHI?{c+1l)uZq0{vY4BjA6proMWf&eGw7XB zUE5R1*^YN=I^$c;%sF(Wc>Vdw^FGfDoILURyY(A)${5c&qpZkhKXLKYcf!R^s+;m< zel1Me9lx@tCQ;M;+Nr5|Tgv!Wz1jQc&5d{LeO?8-BVMIX^oq7NF-C0Z8?&OF**tJz6_|o@?;^|)d*S`E&>~>A$|A`#6yWEp^!BA1un0$5B_{S z=gg$`>D#sE^^3i46;t3?@$vC_*KMB@)|cG$ezj}ryRPE3)82}>OGYU>u`XQHU$L*n zbVSgy&UR#nqKk?4{?|O3%@fNOcduXn`Yl#K(qdB*-mb83yZ2dU%hQpbNBX8q; z1LwI|I32TXS$pL4=eKUxruzLp8UIR^%lvBJ4OUhLxyZk3@5?5N99hcid*;ew0TEw= zW9MY&FR*20{&lqJ=8UzTb7FRKmpXROdV6fX=~1?0@!MzIyCQjd?#u;3zmDwo{O=-Q zbY#NYj!!FDQ*&L66{4&kaO#A}O6|Q-yvN06>Q$E~_f=R~uiuDTXRENM<)Y`y0GGlU zd0*UL?!75=P0_hvp={W(W2UX#lg>4^CQe?Guq5Lc^D_kofk%pJi^Oj-OYJ(%>UD(w znPTY@AwjQ2oMEzZLHq_RCxo4jaOAnk3%O_*@!F>Z@v0rsV4KY6b8bP6lj9o)ql+zR zCQ6($Z|nRL_6=F^dx_%Yj=2424jr5_N$^%Ihg`IaOLVY`1CvHHr(1}c(aF*;O{(jT zDt%b+)X-H+t>uH@Vgp%)^Gn5?FD&ZPP_lfqNN3YSJ-bK62Ob_`P-ZwIz2|D;YfD$o zw3)Vk|CQ~GTum<>_vSs~6}p(|-rV>*cU&y`T=(3vlv7#~tDt=Cijvy{J+~*misyf? zSlqB8{@4!Ls-3;&wp{y7lkM7;Xg`&6j9KV1LxmyavBeWNhgmHjEEZV2i*uHH!;`gNroy%Kxp$$^9hm4IVs)wSeY4lqX>#JYqWOxyCL_pC~&-lEV| ziAuK?DcxIS`b^2{-l@PzaoHJ9vO|3Kl|}^~nrA7I>a=00s@-EDJvpZb2ONGlwB($y z>v-sJMN;(G4VQv@elCl`g5sQumP!RJ^_jHT;+V=$(`CLtm$>Npn5}EGzU97(H`$5d znctdu=M1ja-+3JP>i;qA7PVlGXTg7*&mArFm zM+1)^ofxdZ;;~2YeoM#2wjo{?tpYFT31Q=d;)Y+o)4@9SIA z>sN3t%+P3d`m?rZrR6Hu7)l+~OHC#VDb9D`V^eZ#3H5t^?Zq?StIL(2rAYiu^XN(y z3<}d^IVz%bWa6=9jBAg2Ut3X|mLA?EWiyGpev&kk zU26;1%eQH|c5Amrhr&q;fGA zxrwPW`Ls6d%*fxF?nvmM%^k5@{gB(MH4DS(fha)LYM{G`NIQKNUE}7E%icP@f z)zm(%bsQot3mR2V`PA23o1fJhub{l}SXM?5v(vBW6192pAFi=0D0y6*m1Y(l>(;US zlTz{_|5?5*E2}OEJEp0tW;?8OJ@DgEXG><_#JT65if)ulb~F)Qb86Lgxut0Fe}`putYzm8Mt;fc-Fdb^$)$hStAI%P zKcXz@b*~G>UN1;{Rh{Lv^VV~Alh?sZUL3x+YHgWYjHb3rkM>N{H}kHErf>;Z+jV{Y zsIhI>hHiy;o*rii;YcI+z-|N(sW^g>}jId7On{!gDm(6O~QzpdvWz9SBz}4*5d_JW1QCB;R`tZjaBu@tj(KVv`LD&EXsBXS#y@D;YMEDwPo7- z{;g?He0_&W=Z@~W$98$9M>W{qz0PudoAzZ{8|SJ#4c#Zdjz*RJ*L!(oEq~Ly%G~r7 zHkvP)PCQ?x7gDfLxbWJkB)$2XIu>kmxBX%b7Gsg!pyzl;_a4XE8JFI!a{I}m)e<-=g?JsP&^U+PhNYPnTem$$w zYd2-~l}BfuRghmAZC9jZd^Ve>6cug&f`xD-WhQ+cgR$3VxInqo!eM{zWDwwl@C&%JA^*} zGAw4;{n5~v$ArJ_LRc}Y_2=M(;wYWsIcrW7dl(1weK1+iYVPc6Q2oi$J>=HjILrN; z*~Q=1todJjG^SAEy@BoF&34L>cHzfVz84?M*ev_r*in2-RLtfjOk2)vk!b4rl%TrV zF?qfIe|D$eE>`^?C1w|VO)_z=i2SEj;$l5{$+19>%^{xsd`{cfn@=|Jcz(>*n?-56 zNhRMV=lNTFqj}w)m$*59^fhnwd7bZHU#Q@JMC|&On;azp;r^StjJL$B*KS>X>Ys`4 zmtxuYVuSuI3f!AQ)Jp?$OjVz=ISaD{mxsAjZ*_?&b(-(t`u<4h`puEWrERGS3xDXv zY`+v`+!^TZ!nxn{>xZo>*SDT}bl6z9C4TeQ_w!s6t@DzC-Q!;8%IRH7+hU||{5k1y zsZ+`p4gaiE_4jGT|2c!gF9$H2)tY=OzVO9C!z9z+G-|#<+WgW9O)2ToE;-d71gy4Z zoG#1y&K>{!t7!JOO!?0_!R?CN>mAKsO!PGg5&h|ByxYnI^s-YDEO z?DuEC^3QSEWqJ1Hugt!Gxwq}kv$FW;uc_?Yz4D90w{P>eZ{f2xsF+;tm{R0%&fL}C zG%vl>eE)W_%ikBfnn+##YAus<>F2j#&#jfSjiV;>)g6D;+G#&sXp?N_3g^Q+vVXUBPX6H-y)DPuwfA&| z=j}4tB8z}cKYCW1_WN%x?Ee31E%*b{kdCep@| z@4s}H@2KzAER`>mGp?MHTv2uT$4uq}6W@C_gy{g3?bTjS1~E%N_7N8W0w`}>vhkzL!XCLgep)win6`Q_46TH0OJaawDMboUzZ zFEajB6Qm2*^Iup$`@;(N(;L}KyWLyX?*G0?eCcc1rERZ&t%|R1x?F6>Y^mpN9a!wy zTfN)2diyft7RBS{Gd6GE8qPm;b;YXs!sXfj&9^OXUAeifss7o5f3N0sT07bN?me%& z|FFpp{VGpM}OXrk*w%_g5c&{cUkT>9LMiN2AXkmM=Q~ z_{-Av8jt!tO9KA%Ptn$(S z&W2C!ueXcWu$!yCtM>5Tm)q?w`u{t%d!OtgyX*`5-dKOUbl=V{eaE}aJ9~Erz5M>~ znz{Ab-IE?3KWQm%|CMF`2WDGy_FtaOA)m!fG8Wlxn%#1AbKbY$_8ZUH3@@72fB*ia Y{P&N=l|SGAtDkTCOn=WMRu%?p0BnP;R{#J2 diff --git a/claude-companion/barpulse.luau b/claude-companion/barpulse.luau deleted file mode 100644 index ba84b4b..0000000 --- a/claude-companion/barpulse.luau +++ /dev/null @@ -1,89 +0,0 @@ --- EXPERIMENTAL — prototyping always-visible bar-widget animation, since the desktop --- orb only shows on bare desktop. The real pulse.luau bar is UNTOUCHED; this is a --- throwaway comparison surface. The winning behaviour gets folded into pulse.luau. --- --- Bar plugin widgets have NO per-frame tick (that's desktop-only) — they re-render on --- a timer via noctalia.setUpdateInterval(ms) + a global update(). The only animatable --- channel is the glyph colour. Rather than alpha (the bar didn't honour 8-digit --- #RRGGBBAA), we breathe BRIGHTNESS: scale the accent RGB toward black (the near-black --- surface) and emit a plain 6-digit "#RRGGBB" so the glyph glows brighter/dimmer while --- keeping its hue. Two waveforms to compare by eye: --- MODE "A" raised-cosine sine breath (smooth glow, like the orb) --- MODE "B" square wave (discrete blink) --- --- It reads state from the same claude.pulse rollup pulse.luau publishes (so it needs none --- of the session bookkeeping). Flip MODE + reload to compare. --- --- State RGB is hardcoded from the active dark palette (volnix: --- mSecondary/mPrimary/mError) to validate the look fast. - -local MODE = "A" -- "A" sine breath | "B" square blink -local INTERVAL_MS = 60 -- ~16 fps re-render (bars can't do 60 fps) -local BMIN, BMAX = 0.45, 1.00 -- brightness floor/ceiling the glyph breathes between - --- glyph + accent RGB (hex, no #) per state — same glyph/role map as the bar dot/orb. -local VISUAL = { - idle = { glyph = "robot", rgb = "EAFF00", period = 8.0 }, - turn_start = { glyph = "brain", rgb = "B4FF00", period = 5.0 }, - text = { glyph = "message-dots", rgb = "B4FF00", period = 4.5 }, - tool_start = { glyph = "tool", rgb = "EAFF00", period = 5.0 }, - needs_attention = { glyph = "bell-ringing", rgb = "FF4D1F", period = 3.0 }, - turn_end = { glyph = "bell", rgb = "B4FF00", period = 5.5 }, - error = { glyph = "alert-triangle", rgb = "FF4D1F", period = 3.5 }, -} - -local state = "idle" -local phase = 0.0 - -local function level_for(v) -- brightness scale in [BMIN, BMAX] - local t = phase % v.period - if MODE == "B" then - return (t < v.period * 0.5) and BMAX or BMIN -- bright for the first half, dim for the second - end - local s = 0.5 - 0.5 * math.cos((t / v.period) * 2 * math.pi) - return BMIN + (BMAX - BMIN) * s -end - --- Scale an "RRGGBB" accent toward black by factor b, returning "#RRGGBB". -local function dim(rgb, b) - local function ch(i) - local x = math.floor((tonumber(rgb:sub(i, i + 1), 16) or 0) * b + 0.5) - if x < 0 then x = 0 elseif x > 255 then x = 255 end - return x - end - return string.format("#%02X%02X%02X", ch(1), ch(3), ch(5)) -end - -local function paint() - local v = VISUAL[state] or VISUAL.idle - barWidget.setGlyph(v.glyph) - barWidget.setGlyphColor(dim(v.rgb, level_for(v))) - barWidget.setTooltip(string.format("barpulse [%s] · %s", MODE, state)) -end - --- Pull the most-urgent state from the bar pulse's published rollup. Bar widgets don't --- seem to receive noctalia.state.watch callbacks (the desktop orb does; this bar one --- did not), so we POLL noctalia.state.get each tick instead — cheap, and the timer is --- already running. Only adopt a recognised state so a nil/garbage read can't blank it. -local function refresh_state() - local snap = noctalia.state.get and noctalia.state.get("claude.pulse") - if type(snap) == "table" and type(snap.state) == "string" and VISUAL[snap.state] then - state = snap.state - elseif type(snap) == "string" and VISUAL[snap] then - state = snap - end -end - --- Timer loop. Re-arm the interval each tick (mirrors the scratchpad pattern), refresh --- the state by polling, and advance the breath by the known step (no dt on bar widgets). -function update() - noctalia.setUpdateInterval(INTERVAL_MS) - refresh_state() - phase = phase + INTERVAL_MS / 1000 - if phase > 1e6 then phase = 0 end - paint() -end - -refresh_state() -noctalia.setUpdateInterval(INTERVAL_MS) -paint() diff --git a/claude-companion/claude.luau b/claude-companion/claude.luau deleted file mode 100644 index 78a94d5..0000000 --- a/claude-companion/claude.luau +++ /dev/null @@ -1,332 +0,0 @@ --- /claude — the hands: launch Claude Code, or a quick one-shot ask. --- /claude → real Claude Code TUI in the terminal (full fidelity) --- /claude → resume last session (claude --continue) --- /claude ? → one-shot read-only ask, streamed; answer via notify --- --- Holds the BACKEND CHOKEPOINT (invoke + parse). v5 plugins load each entry as a --- single chunk (no module system), and this launcher is the only entry that talks to a model, --- so the seam lives here, inlined. - --- noctalia.runInTerminal / runStream both exec via `/bin/sh -c `, so every --- interpolated value must be shell-quoted. Single-quote wrap + escape embedded --- single quotes ('\'') is sh-safe for arbitrary text. -local function shq(s) - return "'" .. tostring(s):gsub("'", "'\\''") .. "'" -end - --- User-facing display strings live in translations/.json; resolve them at --- call time (the noctalia global is ready by then). Model-facing prompts --- (ASK_NOTE, SYSTEM_NOTE below) are deliberately NOT translated — they are --- instructions to the model, not UI, and rewording them can shift its behavior. -local function tr(key, args) return noctalia.tr(key, args) end - --- A double-quoted sh argument: unlike shq it lets the shell expand $VAR (we need --- $HOME in the shim path so nothing user-specific is hardcoded). ONLY use this on --- fixed, trusted strings — never on user input, which must go through shq(). -local function dq(s) return '"' .. tostring(s):gsub('"', '\\"') .. '"' end - --- ── backend seam: normalize at the boundary ────────────────────────────────── --- Everything downstream consumes this vocabulary, never raw backend output. -local EVENT = { - turn_start = "turn_start", text = "text", tool_start = "tool_start", - tool_end = "tool_end", needs_attention = "needs_attention", - turn_end = "turn_end", error = "error", -} - --- noctalia launches us with the GUI-session PATH, which lacks ~/.local/bin (it's --- added by the user's shell profile, not the graphical session). Claude Code's --- own session hooks live there (memd, agent-scaffold, …), so a /claude session would --- hit "command not found" that a terminal-started one never does. Prepend it to --- every launch so a /claude session inherits the same PATH as a terminal. Fixed, --- trusted literal — $HOME/$PATH are meant to expand in the `/bin/sh -c` context. -local PATH_PREFIX = 'PATH="$HOME/.local/bin:$PATH" ' - --- A quick-ask answer is delivered as a desktop toast first, and toasts clip --- after a couple of lines with no scroll — so steer the model toward toast-sized --- answers at the source. Long answers still arrive intact: the full text goes to --- the answer panel (see publish_answer below), the toast just leads with less. -local ASK_NOTE = table.concat({ - "Your answer is delivered as a desktop notification. Lead with the direct answer", - "in one or two short sentences; add detail only if the question genuinely needs it.", - "Plain text only — no markdown formatting.", -}, " ") - --- claude only; this is the single backend seam. --- A quick-ask is promised as read-only (README "Usage"), so it must NOT inherit --- the user's Claude config, where pre-authorized permissions would let a plain --- question run commands or edit files: --tools "" strips every built-in tool, --- --strict-mcp-config (with no --mcp-config) strips inherited MCP servers, and --- --setting-sources "" skips user/project settings and with them hooks, plugins, --- and permission grants. NOT --bare: it never reads OAuth logins, which are the --- auth path quick-ask depends on (see the auth guard below). -local function backend_command(prompt) - -- Claude Code: -p (print/non-interactive) requires --verbose for stream-json. - -- `-p --` before the prompt is load-bearing: without the `--` end-of-options - -- marker, a question whose first token starts with `-` (e.g. pasted text - -- leading with `--dangerously-skip-permissions`) is parsed as CLI flags and - -- can undo the read-only sandbox above. `--` forces the prompt to be a - -- positional (verified: a prompt of "--version" is answered, not executed). - return PATH_PREFIX .. "claude --tools '' --strict-mcp-config --setting-sources ''" - .. " --output-format stream-json --verbose" - .. " --append-system-prompt " .. shq(ASK_NOTE) .. " -p -- " .. shq(prompt) -end - --- one stream-json line → an EVENT (or nil). Claude Code emits one JSON object per --- line: type "system" (init), "assistant" (a message; content is an array of --- text / tool_use blocks), "user" (tool_result), "result" (final). We map the --- subset we care about and ignore the rest (version-defensive). --- Note: the content-block shape can shift across claude versions — if events --- stop firing, re-dump a live stream and re-check the field names here. -local function parse(line) - local ok, msg = pcall(noctalia.json.decode, line) - if not ok or type(msg) ~= "table" then return nil end - local t = msg.type - if t == "system" then - return { kind = EVENT.turn_start } - elseif t == "assistant" then - local content = type(msg.message) == "table" and msg.message.content or msg.content - local text = "" - if type(content) == "table" then - for _, block in ipairs(content) do - if type(block) == "table" then - if block.type == "tool_use" then - return { kind = EVENT.tool_start } - elseif block.type == "text" and type(block.text) == "string" then - text = text .. block.text - end - end - end - end - return { kind = EVENT.text, text = text } - elseif t == "user" then - -- a tool result came back; the model is thinking again (clears tool_start) - return { kind = EVENT.turn_start } - elseif t == "result" then - local err = msg.is_error == true or msg.subtype == "error_during_execution" - return { kind = err and EVENT.error or EVENT.turn_end, text = msg.result } - end - return nil -end - --- publish quick-ask state for the pulse widget (cross-VM channel via shared --- state). Only the hookless `/claude ? ` stream uses this; the widget tracks it as --- one ephemeral "ask" session and drops it when the ask ends. -local function set_state(s) noctalia.state.set("claude.state", s) end - --- ── answer delivery ────────────────────────────────────────────────────────── --- A toast clips long bodies with no scroll, so it is the preview surface only: --- the complete answer is published to "claude.answer" and rendered wrapped + --- scrollable by the answer panel (answer.luau). The panel opens from a click on --- the bar pulse, the "Show last answer" launcher row, or the CLI. -local ANSWER_PANEL = "lowcache/claude-companion:answer" - -local function publish_answer(q, text, is_err) - noctalia.state.set("claude.answer", { - q = q, - text = text, - error = is_err == true, - at = noctalia.formatTime("%H:%M"), - }) -end - --- Fit the toast: collapse whitespace and cut at a word boundary. Returns the --- preview and whether anything was dropped (→ the toast gains a pointer to the --- full answer). -local PREVIEW_MAX = 200 -local function preview(text) - local flat = text:gsub("%s+", " ") - if #flat <= PREVIEW_MAX then return flat, false end - local cut = flat:sub(1, PREVIEW_MAX):match("^(.*)%s%S*$") or flat:sub(1, PREVIEW_MAX) - return cut .. " …", true -end - --- ONE surface per answer: while the answer panel is open (it sets this flag) it --- live-refreshes from claude.answer, so it IS the delivery — a toast on top would --- duplicate it, and dismissing that toast clicks outside the panel, which the --- click-shield turns into closing the panel as well (verified live: toast + --- panel died to one click). Panel open → publish only; panel closed → toast. -local function panel_showing() - return noctalia.state.get("claude.answer.open") == true -end - --- ── auth guard ─────────────────────────────────────────────────────────────── --- Headless `claude -p` does NOT refresh an expired OAuth access token (8 h --- lifetime) even when the refresh token is valid — only an interactive session --- does (upstream: anthropics/claude-code#53063 and friends). So a quick-ask can --- 401 whenever no terminal session has run recently. Two layers, both fail-open: --- a pre-flight that skips the launch when the token is positively expired, and --- an error-text match that swaps the raw API error for the remedy. --- Resolved per call, not once at load: a language change should be reflected in the --- remedy text without a plugin reload. -local function auth_remedy() return tr("notify.auth_remedy") end - -local CREDS_PATH = "~/.claude/.credentials.json" - --- true ONLY when the credentials file positively says the token is expired. --- Missing file, undecodable JSON, absent expiresAt, or no epoch clock all mean --- "unknown" → proceed and let the error match below catch a real failure. The --- token itself is never read, only the expiry timestamp. --- Note: %s is a glibc strftime extension; if noctalia's formatTime doesn't --- pass it through, tonumber yields nil and the pre-flight silently disables — --- the detect layer still covers. -local function token_expired() - local now = tonumber(noctalia.formatTime("%s")) - if not now then return false end - local raw = noctalia.readFile(noctalia.expandPath(CREDS_PATH)) - if type(raw) ~= "string" then return false end - local ok, creds = pcall(noctalia.json.decode, raw) - if not ok or type(creds) ~= "table" then return false end - local oauth = creds.claudeAiOauth - local exp = type(oauth) == "table" and tonumber(oauth.expiresAt) or nil - if not exp then return false end - if exp > 1e12 then exp = exp / 1000 end -- stored in ms; tolerate seconds too - return exp <= now + 30 -- 30 s margin: don't start an ask about to 401 mid-flight -end - --- Recognize the auth-failure shapes claude -p emits in its result line: --- "Not logged in · Please run /login" (no credentials) and "Failed to --- authenticate. API Error: 401 {...authentication_error...}" (expired token). -local function is_auth_error(text) - return text:find("Please run /login", 1, true) ~= nil - or text:find("API Error: 401", 1, true) ~= nil - or text:find("authentication_error", 1, true) ~= nil -end - --- ── context injection ──────────────────────────────────────────────────────── --- Make /claude-launched sessions desktop-AWARE (senses) and desktop-CAPABLE (hands) --- by wiring the noctalia MCP shim and a role note into the launch. --- --- We pass the shim via inline --mcp-config (not a file) so the terminal's cwd is --- irrelevant: /claude opens in the user's project dir, not the plugin dir. We push a --- role note, NOT a senses snapshot — a snapshot taken at launch is stale before --- the first turn; instead Claude pulls fresh senses on demand via the tools. --- The shim is assumed at the canonical install path --- ($HOME/.local/share/noctalia/plugins/). $HOME stays bare for the shell to --- expand (portable; nothing user-specific is committed). The JSON is fixed and --- trusted (no user input), so dq() is injection-safe here. -local SHIM = "$HOME/.local/share/noctalia/plugins/claude-companion/shim/noctalia-mcp.py" -local MCP_JSON = '{"mcpServers":{"noctalia":{"command":"python3","args":["' .. SHIM .. '"]}}}' - -local SYSTEM_NOTE = table.concat({ - "You are running inside the Noctalia desktop shell (Wayland — niri, Hyprland, or Sway), launched from its Claude Code companion plugin.", - "An MCP server named 'noctalia' gives you live desktop senses and hands:", - "PERCEIVE — get_window (focused app/title), get_workspace (focused output + workspace), get_media (now playing), get_shell_state (shell status), get_power (battery/AC), get_network (connectivity/Wi-Fi), get_processes (top by CPU).", - "ACT — notify (desktop toast), set_theme_mode (dark/light/auto), set_color_scheme, focus_window (by the id from get_window), switch_workspace (by index/name), move_to_workspace (move focused window), set_wallpaper (path or random).", - "MEMORY — remember (persist a durable fact for future sessions).", - "Call the perceive tools when current desktop context matters instead of assuming it, and use notify for ambient status updates.", -}, " ") - --- Flags shared by every interactive launch (task + continue). Built once. -local CONTEXT_FLAGS = - "--mcp-config " .. dq(MCP_JSON) .. " --append-system-prompt " .. shq(SYSTEM_NOTE) - --- ── /claude routing ────────────────────────────────────────────────────────────── -local function trim(s) return (s:gsub("^%s+", ""):gsub("%s+$", "")) end - --- The last quick-ask answer, if any, earns a launcher row that reopens the --- answer panel — the recovery path when the toast has already expired. -local function answer_row() - local a = noctalia.state.get("claude.answer") - if type(a) ~= "table" or type(a.text) ~= "string" or a.text == "" then return nil end - return { id = "answer", title = tr("launcher.show_answer"), subtitle = a.q, glyph = "message-2" } -end - -function onQuery(query) - local text = trim(query) - if text == "" then - local results = { - { id = "continue", title = tr("launcher.continue"), glyph = "robot" }, - } - results[#results + 1] = answer_row() - launcher.setResults(query, results) - return - end - local ask = text:match("^%?%s*(.*)$") - if ask ~= nil then - if ask == "" then - local results = { - { id = "_askhint", title = tr("launcher.ask"), subtitle = tr("launcher.ask_hint"), glyph = "message-dots" }, - } - results[#results + 1] = answer_row() - launcher.setResults(query, results) - else - launcher.setResults(query, { - { id = "ask:" .. ask, title = tr("launcher.ask"), subtitle = ask, glyph = "message-dots" }, - }) - end - return - end - launcher.setResults(query, { - { id = "task:" .. text, title = tr("launcher.launch"), subtitle = text, glyph = "robot" }, - }) -end - -function onActivate(id) - -- A launched TUI session drives the pulse itself via the global Claude Code - -- hooks (with its own session id + token telemetry), so we DON'T set claude.state - -- here — doing so would register a phantom session the hooks never update or - -- retire. claude.state is only for the hookless quick-ask stream below. - if id == "continue" then - noctalia.runInTerminal(PATH_PREFIX .. "claude " .. CONTEXT_FLAGS .. " --continue") - return - end - if id == "answer" then - -- reopen the answer panel with the last quick-ask answer (fixed id, no user input) - noctalia.runAsync("noctalia msg panel-open " .. shq(ANSWER_PANEL)) - return - end - local task = id:match("^task:(.*)$") - if task then - noctalia.runInTerminal(PATH_PREFIX .. "claude " .. CONTEXT_FLAGS .. " " .. shq(task)) - return - end - local ask = id:match("^ask:(.*)$") - if ask then - -- pre-flight: an expired token would 401 only after burning the request, - -- and the remedy needs a terminal anyway — so say so now and skip the - -- launch. No claude.state touch: no ask session ever starts. - if token_expired() then - publish_answer(ask, auth_remedy(), true) - if not panel_showing() then noctalia.notifyError(tr("notify.title"), auth_remedy()) end - return - end - set_state(EVENT.turn_start) - -- Accumulate streamed assistant text; the final `result` event also carries - -- the full text, so prefer it at turn_end and fall back to the accumulation. - local acc = "" - noctalia.runStream(backend_command(ask), function(line) - local ev = parse(line) - if not ev then return end - set_state(ev.kind) - if ev.kind == EVENT.text and ev.text and ev.text ~= "" then - acc = acc .. ev.text - elseif ev.kind == EVENT.turn_end then - local final = (ev.text and ev.text ~= "") and ev.text or acc - if final == "" then - noctalia.notify(tr("notify.title"), tr("notify.no_output")) - else - publish_answer(ask, final, false) - if not panel_showing() then - local body, clipped = preview(final) - if clipped then body = body .. "\n" .. tr("notify.full_answer_hint") end - noctalia.notify(tr("notify.title"), body) - end - end - elseif ev.kind == EVENT.error then - local final = (ev.text and ev.text ~= "") and ev.text or acc - if final == "" then final = tr("notify.ask_failed") end - -- a 401 that slipped past the pre-flight: deliver the remedy, not the - -- raw API error blob - if is_auth_error(final) then final = auth_remedy() end - publish_answer(ask, final, true) - if not panel_showing() then - local body, clipped = preview(final) - if clipped then body = body .. "\n" .. tr("notify.full_answer_hint") end - noctalia.notifyError(tr("notify.title"), body) - end - end - end) - return - end - -- "_askhint" and any other ids: no-op. -end diff --git a/claude-companion/config.example.toml b/claude-companion/config.example.toml deleted file mode 100644 index 29cb114..0000000 --- a/claude-companion/config.example.toml +++ /dev/null @@ -1,14 +0,0 @@ -# Backend config — claude only in v1. The seam (one chokepoint in claude.luau) means -# adding a backend later is a config block + a parse() branch, with no call-site -# change. This file documents the seam; it is NOT read yet (claude.luau hardcodes claude). - -default_backend = "claude" - -[backends.claude] -command = "claude" -# capability + locality flags — defined now, trivial in v1. The locality flag gates -# the perception tier: remote -> low/medium senses; local -> high tier allowed. -agentic = true -tools = true -streaming = true -is_local = false # remote/frontier (use is_local, not the `local` keyword) diff --git a/claude-companion/hooks/pulse-emit b/claude-companion/hooks/pulse-emit deleted file mode 100755 index 99156d0..0000000 --- a/claude-companion/hooks/pulse-emit +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# pulse-emit — generic, agent-agnostic emitter for the pulse protocol. -# The whole contract lives in PROTOCOL.md; this is the reference adapter for -# any agent that can run a shell command on its lifecycle hooks (gemini-cli, -# codex, opencode, a CI job). Claude Code uses pulse.py instead (it enriches -# events with transcript-derived token telemetry; this one just relays args). -# -# pulse-emit [session] [model] [in] [out] [cacheCreate] [cacheRead] -# -# With a session id the event carries the space-free CSV payload -# "model,in,out,cacheCreate,cacheRead,session" (omitted fields -> ?/0). -# Without one it sends a bare event, which lands in the widget's shared -# "default" test slot — fine for a poke, wrong for a real integration. -# -# Env: PULSE_TARGET plugin dispatch id (default lowcache/claude-companion:pulse-svc) -# PULSE_DRYRUN non-empty -> print the command instead of dispatching -# -# Fail-open by contract: exits 0 no matter what, output swallowed, dispatch -# capped at 3 s. A hook must never block or error the agent driving it. - -TARGET="${PULSE_TARGET:-lowcache/claude-companion:pulse-svc}" -event="${1:-idle}" -session="$2" - -# CSV fields must stay space- and comma-free (payload is one positional token). -clean() { printf '%s' "$1" | tr -cd 'A-Za-z0-9._?-'; } - -payload="" -if [ -n "$session" ]; then - payload="$(clean "${3:-?}"),$(clean "${4:-0}"),$(clean "${5:-0}"),$(clean "${6:-0}"),$(clean "${7:-0}"),$(clean "$session")" -fi - -if [ -n "$PULSE_DRYRUN" ]; then - echo "noctalia msg plugin $TARGET all $event${payload:+ $payload}" - exit 0 -fi - -if command -v timeout >/dev/null 2>&1; then - timeout 3 noctalia msg plugin "$TARGET" all "$event" ${payload:+"$payload"} >/dev/null 2>&1 -else - noctalia msg plugin "$TARGET" all "$event" ${payload:+"$payload"} >/dev/null 2>&1 -fi -exit 0 diff --git a/claude-companion/hooks/pulse.py b/claude-companion/hooks/pulse.py deleted file mode 100755 index cec0589..0000000 --- a/claude-companion/hooks/pulse.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env python3 -"""Pulse hook dispatcher (lowcache/claude-companion plugin). - -Bridges a Claude Code lifecycle hook to the pulse aggregator service, enriching the -event with live model + token-burn telemetry parsed from the session transcript. -Invoked by the hooks in settings.snippet.json as: - - pulse.py # event name, e.g. turn_start / tool_start / ... - -Hook JSON arrives on stdin (transcript_path, session_id). The widget is driven via -noctalia's documented plugin IPC (`noctalia msg --help`): - - noctalia msg plugin lowcache/claude-companion:pulse-svc all [payload] - -`[payload]` is a single positional token, so the payload is a SPACE-FREE CSV the -aggregator service (pulse-svc.luau) parses: - - model,in,out,cacheCreate,cacheRead,session - -The `session` (short id) tags EVERY event, so the service can track each concurrent -session separately. The matching SessionEnd hook fires `session_end`, which retires -the session in the service and drops its token cache here. - -Token accounting is incremental: a per-session cache in $XDG_RUNTIME_DIR stores the -last byte offset + running sums, so each hook reads only newly-appended transcript -lines (O(delta), not O(whole transcript)). Transcript JSONL only appends; if it -ever shrinks (context compaction rewrites it), the cache resets. - -Fail-open by contract: ANY error (no stdin, malformed transcript, noctalia offline) -still fires the bare event with no payload and never exits non-zero — a hook must -never block Claude or surface an error. - -""" -import json -import os -import subprocess -import sys - -PLUGIN = "lowcache/claude-companion:pulse-svc" -TARGET = "all" - - -def _cache_path(session): - base = os.environ.get("XDG_RUNTIME_DIR") or "/tmp" - safe = "".join(c for c in session if c.isalnum() or c in "-_") or "nosession" - return os.path.join(base, f"noctalia-pulse-{safe}.json") - - -def _accumulate(transcript, session): - """Sum usage over newly-appended transcript lines since the last call.""" - cache = _cache_path(session) - st = {"offset": 0, "in": 0, "out": 0, "cc": 0, "cr": 0, "model": ""} - try: - with open(cache) as f: - st.update(json.load(f)) - except (OSError, ValueError): - pass - - if os.path.getsize(transcript) < st["offset"]: # shrank (compaction) → reset - st = {"offset": 0, "in": 0, "out": 0, "cc": 0, "cr": 0, "model": ""} - - with open(transcript) as f: - f.seek(st["offset"]) - for line in f: - line = line.strip() - if not line: - continue - try: - msg = (json.loads(line).get("message") or {}) - except ValueError: - continue - u = msg.get("usage") - if not u: - continue - st["in"] += u.get("input_tokens", 0) or 0 - st["out"] += u.get("output_tokens", 0) or 0 - st["cc"] += u.get("cache_creation_input_tokens", 0) or 0 - st["cr"] += u.get("cache_read_input_tokens", 0) or 0 - if msg.get("model"): - st["model"] = msg["model"] - st["offset"] = f.tell() - - tmp = cache + ".tmp" - try: - with open(tmp, "w") as f: - json.dump(st, f) - os.replace(tmp, cache) - except OSError: - pass - return st - - -def _payload(data, event): - """Build the CSV payload, or None when the event can't be attributed. - - Requires only a session id — every tagged event carries it so the widget can - track sessions individually. Token figures are best-effort (zeros when the - transcript is unreadable or empty); the widget decides whether to render them. - `session_end` skips the transcript parse (the id alone retires the session). - """ - session = data.get("session_id") or "" - if not session: - return None - st = {"in": 0, "out": 0, "cc": 0, "cr": 0, "model": ""} - transcript = data.get("transcript_path") or "" - if event != "session_end" and transcript and os.path.isfile(transcript): - try: - st = _accumulate(transcript, session) - except OSError: - pass - model = st["model"].replace("claude-", "") if st["model"] else "?" - short = session.split("-")[0] - return f"{model},{st['in']},{st['out']},{st['cc']},{st['cr']},{short}" - - -def _cleanup(session): - """Drop a finished session's token cache (best-effort).""" - if not session: - return - try: - os.unlink(_cache_path(session)) - except OSError: - pass - - -def main(): - event = sys.argv[1] if len(sys.argv) > 1 else "idle" - try: - raw = sys.stdin.read() - data = json.loads(raw) if raw.strip() else {} - except (ValueError, OSError): - data = {} - payload = _payload(data, event) - argv = ["noctalia", "msg", "plugin", PLUGIN, TARGET, event] - if payload: - argv.append(payload) - if os.environ.get("NOCTALIA_PULSE_DRYRUN"): - print(" ".join(argv)) - else: - try: - subprocess.run(argv, capture_output=True, timeout=3) - except Exception: # noqa: BLE001 — noctalia offline/missing must stay silent - pass - if event == "session_end": - _cleanup(data.get("session_id") or "") - - -if __name__ == "__main__": - main() diff --git a/claude-companion/hooks/settings.snippet.json b/claude-companion/hooks/settings.snippet.json deleted file mode 100644 index 11d1c33..0000000 --- a/claude-companion/hooks/settings.snippet.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "_comment": "Merge into ~/.claude/settings.json. The attention reflex: Claude Code lifecycle hooks invoke hooks/pulse.py , which reads the hook JSON on stdin, computes live model + token-burn telemetry from the session transcript, and dispatches into the headless aggregator service via `noctalia msg plugin lowcache/claude-companion:pulse-svc all [payload]` (target `all` = every monitor's instance; `focused`/bare connector error when the widget is on multiple bars). payload is a space-free CSV `model,in,out,cacheCreate,cacheRead,session` whose trailing `session` (short id) tags every event, so the service tracks each concurrent session separately and publishes the most urgent state + token-burn telemetry for the widget to render as a tooltip. SessionEnd fires `session_end`, retiring that session in the service and dropping its token cache. The dispatcher is fail-open: if noctalia is offline or the transcript is unreadable it fires the bare event (or nothing) and never errors. Path assumes the plugin is installed/symlinked at ~/.local/share/noctalia/plugins/claude-companion. Verified against noctalia 5.0.0 (`noctalia msg --help`). SessionStart registers the session at idle; the lifecycle drives turn_start -> tool_start -> turn_end; SessionEnd removes it. For the MCP shim (senses/hands), wire it separately via mcpServers/--mcp-config once shim/noctalia-mcp.py is in use.", - "hooks": { - "SessionStart": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py idle" } ] } - ], - "UserPromptSubmit": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py turn_start" } ] } - ], - "PreToolUse": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py tool_start" } ] } - ], - "PostToolUse": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py turn_start" } ] } - ], - "Notification": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py needs_attention" } ] } - ], - "Stop": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py turn_end" } ] } - ], - "SessionEnd": [ - { "matcher": "*", "hooks": [ { "type": "command", "command": "python3 $HOME/.local/share/noctalia/plugins/claude-companion/hooks/pulse.py session_end" } ] } - ] - } -} diff --git a/claude-companion/orb.luau b/claude-companion/orb.luau deleted file mode 100644 index 133fd9e..0000000 --- a/claude-companion/orb.luau +++ /dev/null @@ -1,148 +0,0 @@ --- The presence orb (desktop widget) — the ambient "wow" half of the attention --- pulse. Where the bar dot is a small static glyph, the orb is the SAME state icon --- blown up on the desktop, magnifying in and out like a "bat signal": calm and slow --- at idle, quick and insistent when Claude needs you. --- --- It is a pure VIEW. pulse.luau already rolls all sessions up for the bar dot and --- now mirrors that rollup into noctalia.state ("claude.pulse"); the orb just subscribes --- and animates. No hook, IPC, or session bookkeeping lives here — one source of --- truth (the bar pulse), two surfaces (bar dot + desktop orb). --- --- Unlike the bar dot's DISCRETE glyph/color, the orb does PER-FRAME motion: --- desktopWidget.setNeedsFrameTick(true) asks the host for onFrameTick(dt) callbacks --- (dt = seconds since last frame); a raised-cosine "breath" drives the glyph's size --- (the magnification) and opacity together. Breath speed/depth come from the state, --- so the motion itself carries meaning. We keep ticking a slow idle breath even with --- no sessions — ambient presence is the whole point of the orb. --- --- API surface (verified against the noctalia 5.0.0 binary — no source ships; props --- read from the ui reconciler's BoxProps/applyProps tables): --- desktopWidget.render(tree) -- declarative ui.* tree --- desktopWidget.setNeedsFrameTick(bool) -- opt into onFrameTick(dt) --- ui.glyph{ name,size,color,opacity,width,height } ui.column/row ui.label{ text, --- fontSize,color,maxWidth,maxLines,textAlign } noctalia.state.watch(key, cb) --- NB: ui.box is a LEAF (RectNode) — it draws no children, its fill prop is `fill` --- (not color/backgroundColor) and its soft glow is `softness`; there is no overlay --- control, which is why the orb is a magnifying glyph rather than a glyph-on-disc. --- Colors are the global scheme accents (secondary/primary/error) — same map as the --- bar dot. See pulse.luau for the shared state→visual map. - --- Per-state look + motion. `color` is the accent the icon is drawn in; `glyph` is the --- Tabler icon (same one the bar dot shows). `period` = seconds per full breath; --- `omin`/`omax` = opacity bounds. Faster + deeper = more urgent. `word` labels it. --- Slow, glowing breath — NOT a strobe. Periods are multi-second (a human breath is --- ~4s), opacity floors stay high so the icon glows down rather than blinking to dark, --- and the size swing (below) is gentle. Urgency reads as a *faster, deeper* breath, --- but even "needs you" stays a breath, never a flicker. -local VISUAL = { - idle = { glyph = "robot", color = "secondary", period = 11.0, omin = 0.45, omax = 0.80, word = "state.orb.idle" }, - turn_start = { glyph = "brain", color = "primary", period = 7.5, omin = 0.55, omax = 1.00, word = "state.orb.turn_start" }, - text = { glyph = "message-dots", color = "primary", period = 7.0, omin = 0.58, omax = 1.00, word = "state.orb.text" }, - tool_start = { glyph = "tool", color = "secondary", period = 7.5, omin = 0.55, omax = 1.00, word = "state.orb.tool_start" }, - needs_attention = { glyph = "bell-ringing", color = "error", period = 4.5, omin = 0.55, omax = 1.00, word = "state.orb.needs_attention" }, - turn_end = { glyph = "bell", color = "primary", period = 8.0, omin = 0.55, omax = 0.95, word = "state.orb.turn_end" }, - error = { glyph = "alert-triangle", color = "error", period = 5.0, omin = 0.55, omax = 1.00, word = "state.orb.error" }, -} - --- The orb IS the bar icon, swelling gently in and out — a desktop "bat signal". The --- glyph size eases between MIN and MAX with the breath (a soft swell, not a zoom); a --- fixed BOX reserves space so the swell never nudges the label below it. -local GLYPH_MIN = 70 -local GLYPH_MAX = 75 -local GLYPH_BOX = 84 - --- Live status mirrored from the bar pulse. `count` 0 means no active sessions. -local cur = { state = "idle", count = 0, model = "?", tin = 0, tout = 0 } -local phase = 0.0 -- breath phase accumulator (seconds), wrapped per period -local breath_speed = 1.0 -- user setting (breath_speed): phase-rate multiplier -local orb_swell = 1.0 -- user setting (orb_swell): magnification swing multiplier -local frames = 0 - -local function tr(key, args) return noctalia.tr(key, args) end - --- Re-read user settings (cheap; called at load + every ~120 frames from onFrameTick). -local function read_settings() - local v = noctalia.getConfig and noctalia.getConfig("breath_speed") - if type(v) == "number" and v > 0 then breath_speed = v end - local sw = noctalia.getConfig and noctalia.getConfig("orb_swell") - if type(sw) == "number" and sw >= 0 then orb_swell = sw end -end - -local function kfmt(n) - n = tonumber(n) or 0 - if n >= 1e6 then return string.format("%.1fM", n / 1e6) end - if n >= 1000 then return string.format("%.1fk", n / 1000) end - return tostring(math.floor(n)) -end - --- 0..1..0 over one period (raised cosine): 0 at phase 0, 1 at half period. -local function breath() - local v = VISUAL[cur.state] or VISUAL.idle - local s = 0.5 - 0.5 * math.cos((phase / v.period) * 2 * math.pi) - return v, s -end - --- One compact status line under the orb. Kept short so it doesn't get clipped by a --- narrow widget box: just the state word, or a session count, plus burn when there's --- a single attributable session. -local function subtitle(v) - if cur.count > 1 then - return tr("orb.sessions", { count = cur.count }) - end - if cur.count == 1 and cur.model ~= "?" and (cur.tin + cur.tout) > 0 then - return tr(v.word) .. " · " .. kfmt(cur.tin) .. "/" .. kfmt(cur.tout) - end - return tr(v.word) -end - -local function render() - local v, s = breath() - local opacity = v.omin + (v.omax - v.omin) * s - local size = GLYPH_MIN + (GLYPH_MAX - GLYPH_MIN) * s * orb_swell -- swing scaled by orb_swell - - desktopWidget.render(ui.column({ gap = 6, padding = 12, align = "center" }, { - -- The "bat signal": the state icon itself, magnifying larger/smaller and breathing - -- opacity in the accent color — the same glyph the bar dot shows for this state. - -- A fixed width/height reserves the icon's footprint so the pulse doesn't shove - -- the label as it grows. (ui.glyph can't carry the box's soft `softness` glow, and - -- there's no overlay control, so the icon pulses crisp rather than haloed.) - ui.glyph({ - name = v.glyph, size = size, color = v.color, opacity = opacity, - width = GLYPH_BOX, height = GLYPH_BOX, - }), - ui.label({ - text = subtitle(v), fontSize = 12, color = "on_surface_variant", - maxWidth = 180, maxLines = 1, textAlign = "center", - }), - })) -end - --- Per-frame breath. `dt` is MILLISECONDS since the last frame (≈16.7 at 60 Hz, ≈6.9 --- at 144 Hz — verified empirically; the host passes real elapsed ms, so dividing by --- 1000 makes `period` a true wall-clock second count, identical on every monitor). --- Accumulate into `phase` and wrap at the current state's period so it can't grow --- unbounded. -function onFrameTick(dt) - local v = VISUAL[cur.state] or VISUAL.idle - phase = (phase + (tonumber(dt) or 0) / 1000 * breath_speed) % v.period - frames = frames + 1 - if frames % 30 == 0 then read_settings() end - render() -end - --- New status from the bar pulse. We don't reset `phase` on state change — the --- breath glides into the new tempo instead of snapping, which reads calmer. -noctalia.state.watch("claude.pulse", function(snap) - if type(snap) ~= "table" then return end - cur.state = (type(snap.state) == "string" and VISUAL[snap.state]) and snap.state or "idle" - cur.count = tonumber(snap.count) or 0 - cur.model = (type(snap.model) == "string" and snap.model ~= "") and snap.model or "?" - cur.tin = tonumber(snap.tin) or 0 - cur.tout = tonumber(snap.tout) or 0 - render() -end) - --- Breathe from the first frame, even before any session reports in (idle presence). -read_settings() -desktopWidget.setNeedsFrameTick(true) -render() diff --git a/claude-companion/plugin.toml b/claude-companion/plugin.toml deleted file mode 100644 index cde242b..0000000 --- a/claude-companion/plugin.toml +++ /dev/null @@ -1,120 +0,0 @@ -# Claude Companion — a Claude Code companion for Noctalia v5. -# Not a chat client: the terminal does the agentic work; this is the shell-side -# body — senses, hands, and an attention pulse. See README.md for the design. - -id = "lowcache/claude-companion" -name = "Claude Companion" -version = "1.3.0" -# Plugin API level this manifest targets — mandatory as of the Noctalia 5 beta -# manifest parser (replaces the older min_noctalia gate). 3 is the oldest-supported -# level and covers every feature this plugin uses ([[panel]], ui controls, plugin IPC -# dispatch, barWidget/onIpc). The [[service]] entry additionally needs a build that -# ships the Service entry kind (Noctalia 5 beta, upstream rev da014f72 or newer). -plugin_api = 3 -author = "lowcache" -license = "MIT" -icon = "robot" -description = "Claude Code companion: /claude launch + a telemetry-driven attention pulse." -# The compositor CLI (niri / hyprctl / swaymsg) is not listed: the shim detects and -# speaks whichever of the three supported compositors is running Noctalia, so exactly -# one is inherently present. See README "Requirements". -dependencies = ["claude", "python3", "playerctl", "notify-send", "nmcli", "ps", "tr", "timeout"] -tags = ["ai", "productivity", "bar", "desktop", "panel", "launcher"] - -# ── User settings ───────────────────────────────────────────────────────────── -# Breath-speed multiplier for the pulse dot + orb animation (plugin-level, so both -# surfaces read the same value via noctalia.getConfig). 1.0 is the tuned default; -# higher breathes faster, lower slower. Rendered as a slider; `step` MUST be set -# explicitly on every double — the manifest parser defaults step to 1.0 -# (plugin_manifest.h: `double step = 1.0`), which snaps a fractional range to a -# handful of preset stops instead of sliding. -[[setting]] -key = "breath_speed" -type = "double" -label_key = "settings.breath_speed.label" -description_key = "settings.breath_speed.description" -default = 1.0 -min = 0.25 -max = 3.0 -step = 0.05 - -# Minimum brightness the bar dot dims to at the trough of its breath (0 = fully dark, -# 0.9 = barely dims). 0.45 is the tuned default. (Plugin-level so it sits with the -# other look controls; pulse.luau reads it via getConfig.) -[[setting]] -key = "pulse_glow_floor" -type = "double" -label_key = "settings.pulse_glow_floor.label" -description_key = "settings.pulse_glow_floor.description" -default = 0.45 -min = 0.0 -max = 0.9 -step = 0.05 - -# How far the orb glyph magnifies as it breathes (0 = static size, 1.0 = the tuned -# default, higher = a bigger swing). orb.luau reads it via getConfig. -[[setting]] -key = "orb_swell" -type = "double" -label_key = "settings.orb_swell.label" -description_key = "settings.orb_swell.description" -default = 1.0 -min = 0.0 -max = 3.0 -step = 0.05 - -# The pulse aggregator (headless) — the single source of truth for Claude session -# state. Receives hook events via onIpc (noctalia msg plugin …:pulse-svc all ) -# and the launcher quick-ask via state.watch("claude.state"), rolls all sessions up, -# and publishes the snapshot to noctalia.state ("claude.pulse"). Runs at shell launch -# with no surface, so capture never depends on the bar widget being placed — this -# retires the old "pulse must sit on a bar" invariant (see PROTOCOL.md). Needs the -# [[service]] entry kind (Noctalia 5 beta / post-5.0.0). -[[service]] -id = "pulse-svc" -entry = "pulse-svc.luau" - -# The attention pulse (bar) — the visual centerpiece. A pure subscriber: watches -# noctalia.state ("claude.pulse") published by pulse-svc and reflects it in the bar as -# a glyph + a sine-breath brightness glow (folded in from the barpulse A/B prototype; -# barpulse.luau stays in-repo as the experiment record, unregistered). -[[widget]] -id = "pulse" -entry = "pulse.luau" - -# The presence orb — the ambient desktop half of the pulse. A softly breathing disc -# that mirrors the bar dot's rollup (published to noctalia.state "claude.pulse"); pure -# view, no hooks of its own. Per-frame motion via setNeedsFrameTick/onFrameTick. -[[desktop_widget]] -id = "orb" -entry = "orb.luau" - -# The answer panel — full-length scrollable surface for /claude ? quick-ask answers -# (a notification toast clips long bodies; it carries only a preview). Opens on -# a click on the bar pulse, from the "Show last answer" launcher row, or via -# `noctalia msg panel-toggle lowcache/claude-companion:answer`. -[[panel]] -id = "answer" -entry = "answer.luau" -width = 460 -height = 420 - -# The sessions panel — the actionable form of the bar tooltip. One row per live -# session (state, model, token burn) plus a retire control for a session whose -# SessionEnd hook never fired. Opens on a RIGHT-click of the bar pulse (left-click -# stays the answer panel), or via -# `noctalia msg panel-toggle lowcache/claude-companion:sessions`. -[[panel]] -id = "sessions" -entry = "sessions.luau" -width = 440 -height = 360 - -# /claude — launch a real Claude Code session in the terminal, or a one-shot ask. -# The single backend chokepoint (invoke/parse) is inlined here: v5 has no plugin -# module system, and this is the only entry that talks to a model. -[[launcher_provider]] -id = "claude" -entry = "claude.luau" -prefix = "claude" -glyph = "robot" diff --git a/claude-companion/pulse-svc.luau b/claude-companion/pulse-svc.luau deleted file mode 100644 index b8cf277..0000000 --- a/claude-companion/pulse-svc.luau +++ /dev/null @@ -1,170 +0,0 @@ --- The pulse aggregator (headless [[service]]) — the single source of truth for --- Claude session state across ALL active sessions. This is the reflex half of the --- attention pulse, split out of the bar widget (pulse.luau) so capture no longer --- depends on the bar dot being placed: a [[service]] runtime starts at shell launch --- and stays alive regardless of surfaces, retiring the old "pulse must sit on a bar" --- invariant (D10 / PROTOCOL.md "Deployment invariant"). --- --- Two feeds converge on the session table, both event-driven (no polling): --- • Claude Code hooks → onIpc (the reflex): --- noctalia msg plugin lowcache/claude-companion:pulse-svc all [payload] --- payload = "model,in,out,cacheCreate,cacheRead,session" (hooks/pulse.py). --- Each real session is tracked by its id; session_end removes it. --- • claude.luau writes "claude.state" (the launcher quick-ask) → watched here as --- one ephemeral pseudo-session ("ask"), removed when the ask completes. --- --- On every change it republishes a rollup to noctalia.state ("claude.pulse"); the --- bar dot (pulse.luau) and the desktop orb (orb.luau) are pure subscribers of that --- key — one source of truth, two surfaces. The service defines NO update(): it is --- purely event-driven, so the host's per-service timer tick is a cheap no-op. - --- ── priority (aggregation only) ────────────────────────────────────────────── --- With several sessions in different states, the rollup reports the most urgent: --- a session that needs you outranks one merely working, which outranks one idle. -local STATE_PRIO = { - needs_attention = 6, error = 5, tool_start = 4, - turn_start = 3, text = 3, turn_end = 2, idle = 1, -} - --- sid -> { sid, state, model, tin, tout, cr, seq }. `seq` is a monotonic counter --- (no os.time dependency in the sandbox) used to order sessions by recency. -local sessions = {} -local seq = 0 -local last_ask = nil -- last claude.state value folded into the "ask" session - --- ── payload plumbing ───────────────────────────────────────────────────────── -local function split(s, sep) - local out = {} - for part in (s .. sep):gmatch("(.-)" .. sep) do out[#out + 1] = part end - return out -end - --- "model,in,out,cacheCreate,cacheRead,session" -> a session delta, or nil. "in" --- (fresh prompt tokens) is tiny next to cache reads, so the displayed input is --- fresh + cache-create (full-rate work); cache reads are tracked separately. -local function parse_payload(tel) - if not tel or tel == "" then return nil end - local f = split(tel, ",") - local sid = f[6] - if not sid or sid == "" then return nil end - return { - sid = sid, - model = (f[1] and f[1] ~= "") and f[1] or "?", - tin = (tonumber(f[2]) or 0) + (tonumber(f[4]) or 0), - tout = tonumber(f[3]) or 0, - cr = tonumber(f[5]) or 0, - } -end - -local function has_burn(s) - return s.model and s.model ~= "?" and ((s.tin or 0) + (s.tout or 0)) > 0 -end - -local function ordered() - local arr = {} - for _, s in pairs(sessions) do arr[#arr + 1] = s end - table.sort(arr, function(a, b) return (a.seq or 0) > (b.seq or 0) end) - return arr -end - -local function touch(sid, state, p) - seq = seq + 1 - local s = sessions[sid] or { sid = sid } - s.state = state - s.seq = seq - if p then - s.model, s.tin, s.tout, s.cr = p.model, p.tin, p.tout, p.cr - end - sessions[sid] = s -end - --- ── publish ────────────────────────────────────────────────────────────────── --- Roll every live session up to the most-urgent state + burn totals and mirror it --- to shared state. Both surfaces subscribe to "claude.pulse" and never re-derive it. --- Schema (v2): top-level fields (state/count/model/tin/tout/cr) are the single-glance --- rollup the orb reads — single-session values when count==1, the Σ when >1. The --- `sessions` array (most-recent first) carries per-session detail for the bar's --- multi-session tooltip; the orb ignores it, so the top-level shape stays backward --- compatible. Published only on events (never a timer), so subscribers aren't spammed. -local function publish() - local arr = ordered() - local count = #arr - - local best, bestp = "idle", 0 - for _, s in ipairs(arr) do - local p = STATE_PRIO[s.state] or 0 - if p > bestp then bestp = p; best = s.state end - end - - local snap = { state = best, count = count, model = "?", tin = 0, tout = 0, cr = 0, sessions = {} } - for i, s in ipairs(arr) do - snap.sessions[i] = { - sid = s.sid, state = s.state, model = s.model or "?", - tin = s.tin or 0, tout = s.tout or 0, cr = s.cr or 0, - } - end - if count == 1 and has_burn(arr[1]) then - local s = arr[1] - snap.model, snap.tin, snap.tout, snap.cr = s.model, s.tin, s.tout, s.cr - elseif count > 1 then - local Tin, Tout = 0, 0 - for _, s in ipairs(arr) do - if has_burn(s) then Tin = Tin + s.tin; Tout = Tout + s.tout end - end - snap.tin, snap.tout = Tin, Tout - end - noctalia.state.set("claude.pulse", snap) -end - --- ── quick-ask feed (launcher) ──────────────────────────────────────────────── --- claude.luau publishes the /claude ? stream state to "claude.state" (no session id, --- no telemetry). Shown while streaming, dropped when it finishes — the answer is --- delivered via notify, so a lingering "done" would only inflate the session count. --- Event-driven via state.watch (cross-runtime in Noctalia 5 beta), so the service --- holds no timer for it. Only a *change* touches the session table + republishes. -local function fold_ask(v) - local s = (type(v) == "string" and v ~= "") and v or nil - if s == last_ask then return end - last_ask = s - if s == nil or s == "turn_end" or s == "error" then - sessions["ask"] = nil - else - touch("ask", s, nil) - end - publish() -end - --- ── hook reflex ────────────────────────────────────────────────────────────── --- Per-session state + token telemetry, full lifecycle. The dispatcher always tags --- the event with a session id; session_end (the Claude Code SessionEnd hook) retires --- the session so stale entries never accumulate. --- --- A payload-less event carries no session id (real hook events always do) — only a --- manual `noctalia msg … :pulse-svc all ` poke from the CLI does. Those land --- in a single "default" test slot. To keep such a poke from leaving a sticky phantom --- session, any RESTING state (idle / turn_end / error) retires "default" too — so --- `… all idle` cleanly clears the orb after a manual test, without a plugin reload. -local MANUAL_REST = { idle = true, turn_end = true, error = true } -function onIpc(event, payload) - if type(event) ~= "string" then return end - local p = parse_payload(payload) - local sid = (p and p.sid) or "default" - if event == "session_end" or (sid == "default" and MANUAL_REST[event]) then - sessions[sid] = nil - else - touch(sid, event, p) - end - publish() -end - --- ── init ───────────────────────────────────────────────────────────────────── --- Watch the quick-ask channel, then fold any value already present (a stream in --- flight when the service (re)loads) and publish an initial idle rollup so a --- subscriber that reads "claude.pulse" before the first event sees a valid state. -noctalia.state.watch("claude.state", fold_ask) -local init = noctalia.state.get and noctalia.state.get("claude.state") -if type(init) == "string" and init ~= "" then - last_ask = init - if not (init == "turn_end" or init == "error") then touch("ask", init, nil) end -end -publish() diff --git a/claude-companion/pulse.luau b/claude-companion/pulse.luau deleted file mode 100644 index fc856a8..0000000 --- a/claude-companion/pulse.luau +++ /dev/null @@ -1,291 +0,0 @@ --- The attention pulse (bar widget) — a glanceable live readout of Claude across all --- active sessions. This is the VIEW half of the pulse: a pure subscriber. The --- aggregator (pulse-svc.luau, a headless [[service]]) owns all session bookkeeping and --- publishes a rollup to noctalia.state ("claude.pulse"); this widget watches that key --- and reflects it in the bar — a glyph (Tabler icon name; an unknown name renders the --- skull fallback) whose accent color breathes a raised-cosine BRIGHTNESS glow (the bar --- ignores 8-digit #RRGGBBAA alpha, but a 6-digit #RRGGBB scaled toward black reads as a --- glow). Discrete state (glyph/tooltip) renders on each snapshot; the 60 ms timer only --- advances the breath. A state change snaps the breath to its peak, so transitions read --- as a bright flash before settling into the rhythm. --- --- The companion presence orb (orb.luau, a [[desktop_widget]]) subscribes to the same --- "claude.pulse" key: one source of truth (the service), the bar dot and the orb are --- two views of it. Bar widgets DO receive noctalia.state.watch callbacks as of the --- Noctalia 5 beta (the old "bars must poll" workaround is gone). The bar API is the --- `barWidget.*` table (NOT `widget`). - --- ── live palette ───────────────────────────────────────────────────────────── --- Accent roles follow the global scheme so the dot matches the other bar --- widgets: `secondary` for the ambient/working states (idle, tool), `primary` --- for the Claude-active states (thinking/responding/done), `error` for the --- attention bell + hard errors. Brightness math needs real RGB, so the roles --- are resolved from the active palette JSON on disk: --- custom → $XDG_CONFIG_HOME/noctalia/palettes/.json --- community → $XDG_STATE_HOME/noctalia/community-palettes/.json --- (noctalia.string.urlEncode is the same urlEncode noctalia names the cache --- file with, so the round-trip is exact.) --- Builtin + wallpaper-generated palettes have no on-disk JSON (they --- live in the binary / the generator), so those sources keep the fallback --- accents below. -local ACCENTS = { secondary = "EAFF00", primary = "B4FF00", error = "FF4D1F" } - -local function xdg(env, fallback) - local v = noctalia.getenv and noctalia.getenv(env) - if type(v) == "string" and v ~= "" then return v end - return noctalia.expandPath(fallback) -end - -local function tr(key, args) return noctalia.tr(key, args) end - --- Minimal [theme] reader: walk lines, track the section, keep quoted k/v pairs. --- (Indented subsections like [theme.templates] end the block; their keys are --- arrays/bools and would not match the quoted-string pattern anyway.) -local function theme_cfg(toml) - local cfg, in_theme = {}, false - for line in (toml .. "\n"):gmatch("([^\n]*)\n") do - local sec = line:match("^%s*%[([^%]]+)%]") - if sec then - in_theme = (sec == "theme") - elseif in_theme then - local k, v = line:match('^%s*([%w_]+)%s*=%s*"(.-)"') - if k then cfg[k] = v end - end - end - return cfg -end - -local function resolve_accents() - local toml = noctalia.readFile(xdg("XDG_STATE_HOME", "~/.local/state") .. "/noctalia/settings.toml") - if type(toml) ~= "string" then return end - local cfg = theme_cfg(toml) - local path - if cfg.source == "custom" and cfg.custom_palette then - path = xdg("XDG_CONFIG_HOME", "~/.config") .. "/noctalia/palettes/" .. cfg.custom_palette .. ".json" - elseif cfg.source == "community" and cfg.community_palette then - path = xdg("XDG_STATE_HOME", "~/.local/state") .. "/noctalia/community-palettes/" - .. noctalia.string.urlEncode(cfg.community_palette) .. ".json" - else - return -- builtin / wallpaper-generated: keep current accents - end - local raw = noctalia.readFile(path) - if type(raw) ~= "string" then return end - local pal = noctalia.json.decode(raw) - if type(pal) ~= "table" then return end - local m = pal[noctalia.isDarkMode() and "dark" or "light"] or pal.dark or pal - if type(m) ~= "table" then return end - local function hex(c) - return type(c) == "string" and c:match("^#(%x%x%x%x%x%x)$") or nil - end - ACCENTS.secondary = hex(m.mSecondary) or ACCENTS.secondary - ACCENTS.primary = hex(m.mPrimary) or ACCENTS.primary - ACCENTS.error = hex(m.mError) or ACCENTS.error -end - --- ── state map ──────────────────────────────────────────────────────────────── --- `color` names an ACCENTS role; `period` is the breath cycle in seconds — --- urgency reads as tempo (needs-you breathes fast, idle slow). -local VISUAL = { - idle = { glyph = "robot", color = "secondary", tip = "state.tip.idle", period = 8.0 }, - turn_start = { glyph = "brain", color = "primary", tip = "state.tip.turn_start", period = 5.0 }, - text = { glyph = "message-dots", color = "primary", tip = "state.tip.text", period = 4.5 }, - tool_start = { glyph = "tool", color = "secondary", tip = "state.tip.tool_start", period = 5.0 }, - needs_attention = { glyph = "bell-ringing", color = "error", tip = "state.tip.needs_attention", period = 3.0 }, - turn_end = { glyph = "bell", color = "primary", tip = "state.tip.turn_end", period = 5.5 }, - error = { glyph = "alert-triangle", color = "error", tip = "state.tip.error", period = 3.5 }, -} - --- Compact per-session words for the multi-session tooltip (Stage 2, once the --- rollup carries a per-session list). -local STATE_WORD = { - idle = "state.word.idle", turn_start = "state.word.turn_start", text = "state.word.text", - tool_start = "state.word.tool_start", needs_attention = "state.word.needs_attention", - turn_end = "state.word.turn_end", error = "state.word.error", -} - --- ── breath ─────────────────────────────────────────────────────────────────── -local INTERVAL_MS = 60 -- ~16 fps re-render (bars can't do 60 fps) -local BMIN, BMAX = 0.45, 1.00 -- brightness floor/ceiling the glyph breathes between -local PALETTE_EVERY = 128 -- re-resolve accents every ~7.7 s so theme changes follow -local SETTINGS_EVERY = 16 -- re-read user settings ~1 s so slider drags apply promptly - --- Latest rollup from the aggregator (pulse-svc), received via state.watch. `cur` --- tracks the state currently driving the glyph + tempo so a change can snap the breath. -local snap = { state = "idle", count = 0, model = "?", tin = 0, tout = 0, cr = 0 } -local cur = "idle" -local phase = VISUAL.idle.period / 2 -- breath clock, seconds; born at peak brightness -local ticks = 0 -local breath_speed = 1.0 -- user setting (breath_speed): phase-rate multiplier -local glow_floor = BMIN -- user setting (pulse_glow_floor): brightness floor at the breath trough - --- Re-read user settings (cheap; called at load + periodically from update()). -local function read_settings() - local v = noctalia.getConfig and noctalia.getConfig("breath_speed") - if type(v) == "number" and v > 0 then breath_speed = v end - local g = noctalia.getConfig and noctalia.getConfig("pulse_glow_floor") - if type(g) == "number" and g >= 0 and g < BMAX then glow_floor = g end -end - -local function level_for(period) -- raised-cosine brightness in [glow_floor, BMAX] - local t = phase % period - local s = 0.5 - 0.5 * math.cos((t / period) * 2 * math.pi) - return glow_floor + (BMAX - glow_floor) * s -end - --- Scale an "RRGGBB" accent toward black by factor b, returning "#RRGGBB". -local function dimmed(rgb, b) - local function ch(i) - local x = math.floor((tonumber(rgb:sub(i, i + 1), 16) or 0) * b + 0.5) - if x < 0 then x = 0 elseif x > 255 then x = 255 end - return x - end - return string.format("#%02X%02X%02X", ch(1), ch(3), ch(5)) -end - -local function paint() - local v = VISUAL[cur] or VISUAL.idle - barWidget.setGlyphColor(dimmed(ACCENTS[v.color] or ACCENTS.secondary, level_for(v.period))) -end - --- ── tooltip helpers ────────────────────────────────────────────────────────── -local function kfmt(s) - local n = tonumber(s) or 0 - if n >= 1e6 then return string.format("%.1fM", n / 1e6) end - if n >= 1000 then return string.format("%.1fk", n / 1000) end - return tostring(math.floor(n)) -end - -local function has_burn(s) - return s.model and s.model ~= "?" and ((s.tin or 0) + (s.tout or 0)) > 0 -end - -local function burn_line(s) - local l = tr("pulse.burn", { model = s.model, tin = kfmt(s.tin), tout = kfmt(s.tout) }) - if (s.cr or 0) > 0 then l = l .. " · " .. tr("pulse.cached", { n = kfmt(s.cr) }) end - return l -end - --- ── render (pure view of the rollup) ───────────────────────────────────────── --- Glyph + accent for the most-urgent state, a tooltip, and a breath snapped to peak --- on a state change. The service is the single aggregator; this only views its rollup. --- The multi-session tooltip currently shows count + Σ burn; per-session lines return --- in Stage 2 when the rollup carries a `sessions` list (see STATE_WORD). -local function render() - if snap.state ~= cur then - cur = snap.state - phase = (VISUAL[cur] or VISUAL.idle).period / 2 -- snap the breath to its peak (bright flash) - end - local v = VISUAL[cur] or VISUAL.idle - barWidget.setGlyph(v.glyph) - paint() - - local tip - if snap.count == 0 then - tip = tr(VISUAL.idle.tip) - elseif snap.count == 1 then - tip = has_burn(snap) and (tr(v.tip) .. "\n" .. burn_line(snap)) or tr(v.tip) - else - -- A thin rule separates each session so concurrent sessions read as distinct - -- blocks rather than one wall of text (fixed width; tooltip font is proportional - -- so it reads as a divider, not a measured column). - local DIV = "──────────────" - local lines = { tr("pulse.sessions_header", { count = snap.count }) } - local Tin, Tout = 0, 0 - for i, s in ipairs(snap.sessions) do - if i > 1 then lines[#lines + 1] = DIV end - local sw = STATE_WORD[s.state] and tr(STATE_WORD[s.state]) or s.state - local line = s.sid .. " · " .. sw - if has_burn(s) then - line = line .. " · " .. s.model .. " " .. kfmt(s.tin) .. "/" .. kfmt(s.tout) - Tin = Tin + s.tin; Tout = Tout + s.tout - end - lines[#lines + 1] = line - end - -- fallback to the rollup's Σ figures if no per-session list was published - if #snap.sessions == 0 and (snap.tin + snap.tout) > 0 then - lines[#lines + 1] = DIV - lines[#lines + 1] = tr("pulse.total", { tin = kfmt(snap.tin), tout = kfmt(snap.tout) }) - elseif (Tin + Tout) > 0 then - lines[#lines + 1] = DIV - lines[#lines + 1] = tr("pulse.total", { tin = kfmt(Tin), tout = kfmt(Tout) }) - end - tip = table.concat(lines, "\n") - end - barWidget.setTooltip(tip) -end - --- Normalize + adopt a "claude.pulse" snapshot, then render. Defensive against a --- malformed or partial payload (state store round-trips values as JSON). The --- `sessions` array (v2) feeds the multi-session tooltip; older publishers omit it. -local function apply(s) - if type(s) ~= "table" then return end - local sess = {} - if type(s.sessions) == "table" then - for i, e in ipairs(s.sessions) do - if type(e) == "table" then - sess[i] = { - sid = tostring(e.sid or "?"), - state = type(e.state) == "string" and e.state or "idle", - model = (type(e.model) == "string" and e.model ~= "") and e.model or "?", - tin = tonumber(e.tin) or 0, tout = tonumber(e.tout) or 0, cr = tonumber(e.cr) or 0, - } - end - end - end - snap = { - state = (type(s.state) == "string" and VISUAL[s.state]) and s.state or "idle", - count = tonumber(s.count) or 0, - model = (type(s.model) == "string" and s.model ~= "") and s.model or "?", - tin = tonumber(s.tin) or 0, - tout = tonumber(s.tout) or 0, - cr = tonumber(s.cr) or 0, - sessions = sess, - } - render() -end - --- Click the dot to show the answer panel — the full-length surface for /claude ? --- quick-ask answers (the toast only carries a preview; claude.luau publishes the --- complete text to "claude.answer" and answer.luau renders it scrollable). --- panel-OPEN, not -toggle: open is idempotent, so it survives the click handler --- firing more than once per click (a toggle nets out to closed again — click --- appeared dead in live testing). Dismiss is click-outside/Esc, panel idiom. -function onClick() - if not noctalia.runAsync("noctalia msg panel-open 'lowcache/claude-companion:answer'") then - noctalia.notifyError(tr("pulse.title"), tr("pulse.panel_launch_failed")) - end -end - --- Right-click opens the sessions panel: the tooltip already lists concurrent --- sessions, but you cannot act on a tooltip — it disappears on the way to it. Same --- panel-open (not -toggle) reasoning as onClick above. onRightClick needs no --- plugin_api bump: the dispatch in plugin_widget.cpp is ungated (the level-14 --- gate covers the DECLARATIVE `actions` manifest table, not these globals). -function onRightClick() - if not noctalia.runAsync("noctalia msg panel-open 'lowcache/claude-companion:sessions'") then - noctalia.notifyError(tr("pulse.title"), tr("pulse.panel_launch_failed")) - end -end - --- Breath timer. Re-arm the interval each tick (the pattern proven live in the --- barpulse prototype), advance the clock, repaint the glyph brightness only — --- glyph/tooltip are event-driven in render() (fired from the state.watch below). -function update() - noctalia.setUpdateInterval(INTERVAL_MS) - phase = phase + INTERVAL_MS / 1000 * breath_speed - if phase > 1e6 then phase = 0 end - ticks = ticks + 1 - if ticks % PALETTE_EVERY == 0 then resolve_accents() end - if ticks % SETTINGS_EVERY == 0 then read_settings() end - paint() -end - --- Subscribe to the aggregator's rollup, seed from any snapshot already published --- before we subscribed (the service publishes at launch), then paint an initial --- frame even if nothing has reported yet (defaults to idle). -noctalia.state.watch("claude.pulse", apply) -resolve_accents() -read_settings() -noctalia.setUpdateInterval(INTERVAL_MS) -apply(noctalia.state.get and noctalia.state.get("claude.pulse")) -render() diff --git a/claude-companion/sessions.luau b/claude-companion/sessions.luau deleted file mode 100644 index 5db2985..0000000 --- a/claude-companion/sessions.luau +++ /dev/null @@ -1,171 +0,0 @@ --- The sessions panel — per-session detail and actuation for every live Claude --- session. Right-click the bar pulse to open it (onClick keeps the answer panel). --- --- The bar tooltip already lists concurrent sessions, but a tooltip cannot be acted --- on: it vanishes on the way to it. This panel is the actionable form of the same --- rollup — one row per session with its state, model and token burn, plus a retire --- control for the one documented failure mode: a session that ended without its --- SessionEnd hook firing (terminal killed, hook interrupted mid-distill) sits at --- idle forever and keeps inflating the count. Retiring it is a local correction --- that needs no terminal. --- --- Pure subscriber, same doctrine as the orb and the answer panel: pulse-svc owns the --- session table, this panel only renders it and speaks the documented IPC vocabulary --- back. It adds NO new protocol — a retire is the ordinary `session_end` event with --- a session-tagged payload, exactly what hooks/pulse.py sends (see PROTOCOL.md). - -local KEY = "claude.pulse" -local SVC = "lowcache/claude-companion:pulse-svc" - -local function tr(key, args) return noctalia.tr(key, args) end - --- Panel surface is 440 logical px (plugin.toml); leave room for the scrollbar. -local WRAP = 388 -local PAD = 14 - -local ERROR_RGB = "#FF4D1F" - --- Compact per-session words, same vocabulary as the bar tooltip. -local STATE_WORD = { - idle = "state.word.idle", turn_start = "state.word.turn_start", text = "state.word.text", - tool_start = "state.word.tool_start", needs_attention = "state.word.needs_attention", - turn_end = "state.word.turn_end", error = "state.word.error", -} - -local last = nil -- fingerprint of the last render (an unconditional one would reset scroll) - -local function kfmt(n) - n = tonumber(n) or 0 - if n >= 1000000 then return string.format("%.1fM", n / 1000000) end - if n >= 1000 then return string.format("%.1fk", n / 1000) end - return tostring(n) -end - --- A session id reaches a shell command below, so it is allowlisted first. Session --- ids come from our own service, but the shim's injection review (a caller-supplied --- id concatenated into a command language) is the same shape of risk, so the same --- discipline applies here: anything outside [A-Za-z0-9._-] is refused rather than --- quoted, and a refused row simply renders without its retire control. -local function safe_sid(sid) - return type(sid) == "string" and sid ~= "" and sid:match("^[%w%._%-]+$") ~= nil -end - --- Retire one session by speaking the ordinary protocol: session_end carrying a --- payload whose only populated field is the trailing session id. parse_payload in --- pulse-svc reads field 6, so ",,,,," is a well-formed session-tagged event --- with no telemetry — no new IPC verb, no service change. -local function retire(sid) - if not safe_sid(sid) then return end - noctalia.runAsync("noctalia msg plugin '" .. SVC .. "' all session_end ',,,,," .. sid .. "'") -end - -local function session_row(s) - local word = STATE_WORD[s.state] and tr(STATE_WORD[s.state]) or tostring(s.state) - local line = tostring(s.sid) .. " · " .. word - if s.model and s.model ~= "?" and ((s.tin or 0) + (s.tout or 0)) > 0 then - line = line .. " · " .. s.model .. " " .. kfmt(s.tin) .. "/" .. kfmt(s.tout) - end - if (s.cr or 0) > 0 then - line = line .. " · " .. tr("pulse.cached", { n = kfmt(s.cr) }) - end - - local cells = { - ui.label({ - text = line, - maxWidth = WRAP - 92, - maxLines = 2, - color = s.state == "error" and ERROR_RGB or nil, - flexGrow = 1, - }), - } - -- The retire control is omitted rather than disabled for a non-conforming id: - -- a button that cannot act is worse than no button. - if safe_sid(s.sid) then - local sid = s.sid -- captured per row; the handler table is rebuilt each render - cells[#cells + 1] = ui.button({ - text = tr("sessions.retire"), - variant = "secondary", - onClick = function() retire(sid) end, - }) - end - return ui.row({ gap = 8, align = "center" }, cells) -end - -local function render(snap) - local list = (type(snap) == "table" and type(snap.sessions) == "table") and snap.sessions or {} - local count = #list - - -- Separate singular/plural keys rather than a "1 sessions" fudge: the count is - -- prominent in the header, so the disagreement reads as a bug. - local title = count == 1 and tr("sessions.title_one") or tr("sessions.title", { count = count }) - local rows = { ui.label({ text = title, fontWeight = "bold" }) } - - local body - if count == 0 then - body = ui.column({ gap = 6 }, { - ui.label({ text = tr("sessions.empty"), maxWidth = WRAP, opacity = 0.7 }), - }) - else - local items = {} - local Tin, Tout = 0, 0 - for i, s in ipairs(list) do - if i > 1 then items[#items + 1] = ui.separator({}) end - items[#items + 1] = session_row(s) - Tin = Tin + (tonumber(s.tin) or 0) - Tout = Tout + (tonumber(s.tout) or 0) - end - if (Tin + Tout) > 0 then - items[#items + 1] = ui.separator({}) - items[#items + 1] = ui.label({ - text = tr("pulse.total", { tin = kfmt(Tin), tout = kfmt(Tout) }), - opacity = 0.7, - }) - end - body = ui.column({ gap = 6 }, items) - end - - rows[#rows + 1] = ui.separator({}) - rows[#rows + 1] = ui.scroll({ flexGrow = 1 }, { body }) - -- flexGrow on the root column is load-bearing for the same reason as the answer - -- panel: without it the column takes its full-content height and the panel clips - -- instead of the scroll child being bounded. - -- - -- Deliberately UNFILLED, same as answer.luau. A decorated panel is inset by the - -- host (panel_manager.cpp: `hasDecoration ? contentScale * Style::panelPadding`), - -- and no [[panel]] manifest key opts out of decoration — so any fill on the root - -- is painted INSIDE that inset and leaves the host's panel colour as a rim. The - -- host background is the themed panel surface; letting it through is what makes - -- this panel read as part of the shell instead of a card floating in a frame. - -- Contrast comes from the tinted controls, not from repainting the backdrop. - panel.render(ui.column({ padding = PAD, gap = 8, flexGrow = 1 }, rows)) -end - --- Fingerprint the rendered fields only, so a re-render happens on a real change and --- not on every tick (which would reset the scroll position mid-read). -local function fingerprint(snap) - if type(snap) ~= "table" or type(snap.sessions) ~= "table" then return "" end - local parts = {} - for i, s in ipairs(snap.sessions) do - parts[i] = table.concat({ - tostring(s.sid), tostring(s.state), tostring(s.model), - tostring(s.tin), tostring(s.tout), tostring(s.cr), - }, "\2") - end - return table.concat(parts, "\1") -end - -function onOpen(_context) - panel.setWantsSecondTicks(true) -- host stops ticks on close, re-arms on reopen - local snap = noctalia.state.get and noctalia.state.get(KEY) - last = fingerprint(snap) - render(snap) -end - -function update() - local snap = noctalia.state.get and noctalia.state.get(KEY) - local fp = fingerprint(snap) - if fp ~= last then - last = fp - render(snap) - end -end diff --git a/claude-companion/shim/noctalia-mcp.py b/claude-companion/shim/noctalia-mcp.py deleted file mode 100644 index 85a92e5..0000000 --- a/claude-companion/shim/noctalia-mcp.py +++ /dev/null @@ -1,559 +0,0 @@ -#!/usr/bin/env python3 -"""noctalia-mcp — stdio MCP shim bridging Claude Code <-> the Noctalia shell. - -SENSES (shell -> Claude): query the env directly — the running compositor - (niri / Hyprland / Sway), playerctl, /sys, and - `noctalia msg status` for shell-internal state. -HANDS (Claude -> shell): `noctalia msg ` (request/response; reply on - stdout, "error:" prefix on failure). Desktop notifications - go through notify-send: noctalia exposes no generic notify - IPC (notifications are shell-internal / luau-only). - -MCP transport: newline-delimited JSON-RPC 2.0 over stdio (one message per line, -no embedded newlines) — the stdio transport Claude Code speaks. Spawned by Claude -via --mcp-config; no daemon to babysit. - -Tool set is the low/medium perception tier only — high-tier senses -(clipboard/screen/files) stay gated until a local backend lands. -""" -import datetime -import json -import os -import re -import subprocess -import sys -import tempfile - -PROTOCOL_VERSION = "2024-11-05" -SERVER_INFO = {"name": "noctalia-mcp", "version": "0.1.0"} - - -def sh(args, timeout=5): - """Run argv (no shell), return stdout or an 'error: ...' string.""" - try: - out = subprocess.run(args, capture_output=True, text=True, timeout=timeout) - return (out.stdout or out.stderr).strip() - except Exception as e: # noqa: BLE001 - return f"error: {e}" - - -# ── compositor abstraction ──────────────────────────────────────────────────── -# The window/workspace ops are the ONLY compositor-coupled surface. Everything -# else (`noctalia msg`, playerctl, nmcli, /sys, notify-send) is compositor-neutral. -# Noctalia runs on niri, Hyprland, and Sway but exposes no generic window/workspace -# IPC (`noctalia msg` has no such verbs), so we speak each compositor's own protocol. -# Detection prefers the compositor's own socket env var, then XDG_CURRENT_DESKTOP. -# -# Command shapes: niri verified live; Hyprland against HyprCtl.cpp + the dispatcher -# wiki; Sway against sway-ipc(7)/sway(5). The pure helpers below (compositor_argv, -# pick_focused_monitor, find_focused_view, sway_focused_output) do no I/O, so they -# are unit-tested without a live session — see tests/shim_spec.py. -SUPPORTED_COMPOSITORS = ("niri", "hyprland", "sway") - - -def detect_compositor(env=None): - """Identify the running compositor, or None if unsupported/undetectable.""" - env = os.environ if env is None else env - if env.get("NIRI_SOCKET"): - return "niri" - if env.get("HYPRLAND_INSTANCE_SIGNATURE"): - return "hyprland" - if env.get("SWAYSOCK"): - return "sway" - xdg = (env.get("XDG_CURRENT_DESKTOP") or "").lower() - return next((c for c in SUPPORTED_COMPOSITORS if c in xdg), None) - - -def _ws_numeric(ref): - """A workspace ref is 'numeric' if it is a plain (optionally signed) integer.""" - return str(ref).lstrip("-").isdigit() - - -# Caller-supplied identifiers are VALIDATED, not quoted: swaymsg concatenates its -# argv into one command in Sway's command language, where `;`/`,` chain further -# commands (`exec` included) — so a hostile ref could smuggle arbitrary execution -# past a narrowly approved window/workspace action. Strict allowlists; every id -# the compositors themselves emit fits (niri/Sway integer ids, Hyprland 0x-hex -# addresses, workspace indices, single-word names). -_WINDOW_ID_RE = re.compile(r"(?:0x[0-9A-Fa-f]+|[0-9]+)\Z") -_WS_REF_RE = re.compile(r"[A-Za-z0-9._:+-]+\Z") - - -def valid_window_id(wid): - """True iff wid is a compositor window id: decimal or 0x-prefixed hex.""" - return _WINDOW_ID_RE.fullmatch(str(wid)) is not None - - -def valid_workspace_ref(ref): - """True iff ref is a safe workspace index/name — no spaces and none of Sway's - command metacharacters (separators, quotes, criteria brackets).""" - return _WS_REF_RE.fullmatch(str(ref)) is not None - - -def compositor_argv(comp, op, ref=None, wid=None): - """Pure map (compositor, op) -> argv; no I/O, so it is directly unit-testable. - - For query ops that need client-side filtering (sway focused_*, hyprland - focused_output) this returns the *query* argv and the caller does the filtering. - Workspace refs: Hyprland needs a `name:` prefix for named workspaces; Sway needs - the `number` keyword for numeric ones (else the int is matched as a literal name). - Move semantics differ slightly and are documented, not normalized: niri and - Hyprland follow focus to the target workspace, Sway does not.""" - if comp == "niri": - return { - "focused_output": ["niri", "msg", "-j", "focused-output"], - "focused_window": ["niri", "msg", "-j", "focused-window"], - "focus_window": ["niri", "msg", "action", "focus-window", "--id", str(wid)], - "focus_workspace": ["niri", "msg", "action", "focus-workspace", str(ref)], - "move_to_workspace": ["niri", "msg", "action", "move-column-to-workspace", str(ref)], - }[op] - if comp == "hyprland": - hws = str(ref) if _ws_numeric(ref) else "name:" + str(ref) - return { - "focused_output": ["hyprctl", "-j", "monitors"], - "focused_window": ["hyprctl", "-j", "activewindow"], - "focus_window": ["hyprctl", "dispatch", "focuswindow", "address:" + str(wid)], - "focus_workspace": ["hyprctl", "dispatch", "workspace", hws], - "move_to_workspace": ["hyprctl", "dispatch", "movetoworkspace", hws], - }[op] - if comp == "sway": - sws = ["number", str(ref)] if _ws_numeric(ref) else [str(ref)] - return { - "focused_output": ["swaymsg", "-t", "get_outputs"], - "focused_window": ["swaymsg", "-t", "get_tree"], - "focus_window": ["swaymsg", "[con_id=%s]" % wid, "focus"], - "focus_workspace": ["swaymsg", "workspace"] + sws, - "move_to_workspace": ["swaymsg", "move", "container", "to", "workspace"] + sws, - }[op] - raise KeyError((comp, op)) - - -def pick_focused_monitor(mons): - """Hyprland `monitors` array -> the focused monitor object (or None).""" - return next((m for m in mons if m.get("focused")), None) - - -def find_focused_view(node): - """Sway `get_tree` -> the focused leaf view (con/floating_con), recursively. - - Constrained to view node types so an ancestor workspace/output that also - reports focused does not shadow the actual window.""" - if node.get("focused") and node.get("type") in ("con", "floating_con"): - return node - for child in node.get("nodes", []) + node.get("floating_nodes", []): - hit = find_focused_view(child) - if hit: - return hit - return None - - -def sway_focused_output(outputs, workspaces): - """Sway output objects carry no `focused` flag [SUPPORTED, sway-ipc(7)]; derive - the focused output from the focused workspace's `output` name.""" - ws = next((w for w in workspaces if w.get("focused")), None) - if not ws: - return None - return next((o for o in outputs if o.get("name") == ws.get("output")), None) - - -def _no_comp(): - return "error: no supported compositor detected (niri/hyprland/sway)" - - -def _run_json(argv): - """Run argv and parse stdout as JSON: (obj, None) on success, (None, err) else.""" - out = sh(argv) - if out.startswith("error:"): - return None, out - try: - return json.loads(out), None - except Exception as e: # noqa: BLE001 - return None, f"error: bad JSON from {argv[0]}: {e}" - - -def _get_workspace(a): - """Focused output/monitor (connector, mode, current workspace), compositor-native JSON.""" - comp = detect_compositor() - if comp is None: - return _no_comp() - if comp == "niri": - return sh(compositor_argv(comp, "focused_output")) - if comp == "hyprland": - mons, err = _run_json(compositor_argv(comp, "focused_output")) - if err: - return err - foc = pick_focused_monitor(mons) - return json.dumps(foc) if foc else "error: no focused monitor" - outs, err = _run_json(["swaymsg", "-t", "get_outputs"]) - if err: - return err - wss, err = _run_json(["swaymsg", "-t", "get_workspaces"]) - if err: - return err - foc = sway_focused_output(outs, wss) - return json.dumps(foc) if foc else "error: no focused output" - - -def _get_window(a): - """Focused window (app id/class + title), compositor-native JSON.""" - comp = detect_compositor() - if comp is None: - return _no_comp() - if comp in ("niri", "hyprland"): - return sh(compositor_argv(comp, "focused_window")) - tree, err = _run_json(compositor_argv(comp, "focused_window")) - if err: - return err - view = find_focused_view(tree) - return json.dumps(view) if view else "error: no focused window" - - -def _remember(a): - """Persist a durable fact to GLOBAL memory's inbox; memd distills ~/.memory. - - The membrane (decision #25): ephemeral senses -> noctalia.state; durable - learnings -> global memd. This is the durable side. Notes are routed:global - so memd's curator files them into the system-wide store, not a project.""" - # Coerce: a model may send a non-string (number/list) — str() keeps the - # handler (and the server) from raising on .strip()/.lower(). - text = str(a.get("text") or "").strip() - if not text: - return "error: 'text' is required" - slug = re.sub(r"[^a-z0-9]+", "-", str(a.get("topic") or "note").lower()).strip("-") or "note" - mem = os.path.expanduser("~/.memory") - inbox = os.path.join(mem, "inbox") - body = ( - f"---\nrouted: global\ntopic: {slug}\n" - f"date: {datetime.date.today()}\nsource: noctalia-mcp/remember\n---\n\n" - f"{text}\n" - ) - try: - os.makedirs(inbox, exist_ok=True) - # Concurrency: every Claude session runs its own shim, and the curator - # (memd) reads/clears this inbox in parallel. Two guards: - # 1) Unique name — microsecond timestamp + PID, so simultaneous notes - # from different sessions never collide (second-resolution did). - # 2) Atomic publish — write a temp file OUTSIDE the inbox, then - # os.replace() it in. A sweep either sees the whole note or not at - # all; it can never read a half-written file mid-write. - # 3) Crash durability — fsync the file before publish, then fsync the - # inbox dir after the rename. Without both, a power loss/panic can - # leave a flushed file whose directory entry never landed (lost - # note) or a renamed entry pointing at unflushed data. Cheap - # insurance; matters for an alpha shell on a crash-prone desktop. - ts = datetime.datetime.now().strftime("%Y%m%d-%H%M%S-%f") - final = os.path.join(inbox, f"{ts}-{slug}-{os.getpid()}.md") - fd, tmp = tempfile.mkstemp(dir=mem, prefix=".remember-", suffix=".tmp") - try: - with os.fdopen(fd, "w") as f: - f.write(body) - f.flush() - os.fsync(f.fileno()) - os.replace(tmp, final) - dfd = os.open(inbox, os.O_RDONLY) - try: - os.fsync(dfd) - finally: - os.close(dfd) - except BaseException: - try: - os.unlink(tmp) - except OSError: - pass - raise - return f"remembered -> {final}" - except OSError as e: - return f"error: {e}" - - -# ── additional senses (read-only) ──────────────────────────────────────────── -def _get_power(a): - """Battery level/status + AC state, as JSON. battery=null if none present.""" - base = "/sys/class/power_supply" - try: - names = os.listdir(base) - except OSError as e: - return f"error: {e}" - - def rd(node, field): - try: - with open(os.path.join(base, node, field)) as fh: - return fh.read().strip() - except OSError: - return None - - out = {} - bats = sorted(n for n in names if n.startswith("BAT")) - out["battery"] = ( - {b: {"capacity": rd(b, "capacity"), "status": rd(b, "status")} for b in bats} - if bats else None - ) - for ac in ("AC", "ACAD", "ADP1", "AC0"): - online = rd(ac, "online") - if online is not None: - out["ac_online"] = online == "1" - break - return json.dumps(out) - - -def _get_network(a): - """Connectivity + the active Wi-Fi connection (SSID/signal), as JSON.""" - state = sh(["nmcli", "-t", "-f", "STATE,CONNECTIVITY", "general"]) - if state.startswith("error:"): - return state - wifi = sh(["nmcli", "-t", "-f", "ACTIVE,SSID,SIGNAL", "dev", "wifi"]) - active = next((l for l in wifi.splitlines() if l.startswith("yes:")), "") - return json.dumps({"general": state, "wifi_active": active}) - - -def _get_processes(a): - """Top processes by CPU (header + top 10), as text.""" - out = sh(["ps", "-eo", "pid,pcpu,pmem,comm", "--sort=-pcpu"]) - if out.startswith("error:"): - return out - return "\n".join(out.splitlines()[:11]) - - -# ── additional hands (mutate shared desktop state) ──────────────────────────── -# These race on the single real desktop across concurrent sessions (last write -# wins) — inherent to a shared environment, not a shim bug. Each is a stateless -# subprocess, so the shim itself stays concurrency-safe. -def _focus_window(a): - wid = str(a.get("id") or "").strip() - if not wid: - return "error: 'id' is required" - if not valid_window_id(wid): - return "error: invalid window id (use the numeric or 0x-hex id from get_window)" - comp = detect_compositor() - if comp is None: - return _no_comp() - return sh(compositor_argv(comp, "focus_window", wid=wid)) - - -def _switch_workspace(a): - ref = str(a.get("reference") or "").strip() - if not ref: - return "error: 'reference' is required" - if not valid_workspace_ref(ref): - return "error: invalid workspace reference (letters/digits/._:+- only, no spaces)" - comp = detect_compositor() - if comp is None: - return _no_comp() - return sh(compositor_argv(comp, "focus_workspace", ref=ref)) - - -def _move_to_workspace(a): - ref = str(a.get("reference") or "").strip() - if not ref: - return "error: 'reference' is required" - if not valid_workspace_ref(ref): - return "error: invalid workspace reference (letters/digits/._:+- only, no spaces)" - comp = detect_compositor() - if comp is None: - return _no_comp() - return sh(compositor_argv(comp, "move_to_workspace", ref=ref)) - - -def _set_wallpaper(a): - """Set a wallpaper by path, or switch to a random one if no path given.""" - path = str(a.get("path") or "").strip() - conn = str(a.get("connector") or "").strip() - if path: - argv = ["noctalia", "msg", "wallpaper-set"] + ([conn] if conn else []) + [path] - else: - argv = ["noctalia", "msg", "wallpaper-random"] + ([conn] if conn else []) - return sh(argv) - - -# name -> (description, inputSchema properties, handler). Commands verified against -# noctalia 5.0.0 (`noctalia msg --help`); window/workspace ops route through the -# compositor abstraction above (niri / Hyprland / Sway). -TOOLS = { - # ── senses (low/medium tier) ────────────────────────────────────────────── - "get_workspace": ( - "Focused output (connector, mode, current workspace) as compositor-native JSON.", - {}, - _get_workspace, - ), - "get_window": ( - "Focused window (app_id/class and title) as compositor-native JSON.", - {}, - _get_window, - ), - "get_media": ( - "Now-playing media (artist - title), or empty if nothing is playing.", - {}, - lambda a: sh(["playerctl", "metadata", "--format", "{{artist}} - {{title}}"]), - ), - "get_shell_state": ( - "Noctalia shell-internal state (active panel, theme mode, etc.) as JSON.", - {}, - lambda a: sh(["noctalia", "msg", "status"]), - ), - "get_power": ( - "Battery level/status and AC state as JSON (battery=null on desktops).", - {}, - _get_power, - ), - "get_network": ( - "Connectivity and the active Wi-Fi connection (SSID/signal) as JSON.", - {}, - _get_network, - ), - "get_processes": ( - "Top processes by CPU (pid, %cpu, %mem, command) as text.", - {}, - _get_processes, - ), - # ── memory (durable, cross-session) ─────────────────────────────────────── - "remember": ( - "Persist a durable fact, preference, or system detail to GLOBAL memory " - "(system-wide, cross-project) so future sessions know it. Use for things " - "true beyond the current task; memd distills it into ~/.memory.", - { - "text": {"type": "string", "required": True, - "description": "The durable fact/preference, 1-2 sentences."}, - "topic": {"type": "string", - "description": "Short kebab-case slug for the note (optional)."}, - }, - _remember, - ), - # ── hands ───────────────────────────────────────────────────────────────── - "notify": ( - "Post a desktop notification.", - { - "title": {"type": "string", "description": "Notification title"}, - "body": {"type": "string", "description": "Notification body"}, - }, - lambda a: sh(["notify-send", a.get("title", "Claude"), a.get("body", "")]), - ), - "set_theme_mode": ( - "Set the shell light/dark mode.", - {"mode": {"type": "string", "enum": ["dark", "light", "auto"]}}, - lambda a: sh(["noctalia", "msg", "theme-mode-set", a.get("mode", "auto")]), - ), - "set_color_scheme": ( - "Set the active color palette.", - { - "source": { - "type": "string", - "description": "builtin | wallpaper | community | custom", - }, - "name": {"type": "string", "description": "Scheme name/id for that source"}, - }, - lambda a: sh(["noctalia", "msg", "color-scheme-set", a.get("source", "builtin"), a.get("name", "")]), - ), - "focus_window": ( - "Focus a window by its id (the id/address returned by get_window).", - {"id": {"type": "string", "required": True, - "description": "Window id from get_window (niri id, Hyprland address, Sway con_id)"}}, - _focus_window, - ), - "switch_workspace": ( - "Switch to a workspace by reference (index like '2', or its name).", - {"reference": {"type": "string", "required": True, - "description": "Workspace index or name"}}, - _switch_workspace, - ), - "move_to_workspace": ( - "Move the focused column to a workspace by reference (index or name).", - {"reference": {"type": "string", "required": True, - "description": "Target workspace index or name"}}, - _move_to_workspace, - ), - "set_wallpaper": ( - "Set the wallpaper to an image path, or switch to a random one if no path.", - {"path": {"type": "string", - "description": "Image path; omit for a random wallpaper"}, - "connector": {"type": "string", - "description": "Output connector (optional; default all)"}}, - _set_wallpaper, - ), -} - - -def _tool_list(): - tools = [] - for name, (desc, props, _fn) in TOOLS.items(): - # `required` is a control flag in our table, not a JSON Schema property - # keyword — lift it to the object-level `required` array and strip it - # from each property def so strict MCP validators accept the schema. - clean = {k: {pk: pv for pk, pv in spec.items() if pk != "required"} - for k, spec in props.items()} - tools.append({ - "name": name, - "description": desc, - "inputSchema": { - "type": "object", - "properties": clean, - "required": [k for k, v in props.items() if v.get("required")], - }, - }) - return tools - - -def _dispatch(method, params): - """Return (result, error) for a request; result is None for notifications.""" - if method == "initialize": - return { - "protocolVersion": PROTOCOL_VERSION, - "capabilities": {"tools": {}}, - "serverInfo": SERVER_INFO, - }, None - if method == "tools/list": - return {"tools": _tool_list()}, None - if method == "tools/call": - name = params.get("name") - args = params.get("arguments") or {} - entry = TOOLS.get(name) - if not entry: - return None, {"code": -32602, "message": f"unknown tool: {name}"} - try: - text = entry[2](args if isinstance(args, dict) else {}) - except Exception as e: # noqa: BLE001 — a tool bug must not crash the server - return None, {"code": -32603, "message": f"tool '{name}' failed: {e}"} - is_error = isinstance(text, str) and text.startswith("error:") - return {"content": [{"type": "text", "text": str(text)}], "isError": is_error}, None - return None, {"code": -32601, "message": f"method not found: {method}"} - - -def _emit(out, payload): - out.write(json.dumps(payload) + "\n") - out.flush() - - -def main(): - out = sys.stdout - for line in sys.stdin: - line = line.strip() - if not line: - continue - try: - req = json.loads(line) - except json.JSONDecodeError: - _emit(out, {"jsonrpc": "2.0", "id": None, - "error": {"code": -32700, "message": "parse error"}}) - continue - if not isinstance(req, dict): - _emit(out, {"jsonrpc": "2.0", "id": None, - "error": {"code": -32600, "message": "invalid request"}}) - continue - mid = req.get("id") - method = req.get("method", "") - # Notifications (no id) — e.g. notifications/initialized: ack by ignoring. - if mid is None: - continue - try: - result, error = _dispatch(method, req.get("params") or {}) - except Exception as e: # noqa: BLE001 — never let a handler kill the loop - result, error = None, {"code": -32603, "message": f"internal error: {e}"} - resp = {"jsonrpc": "2.0", "id": mid} - if error is not None: - resp["error"] = error - else: - resp["result"] = result - _emit(out, resp) - - -if __name__ == "__main__": - main() diff --git a/claude-companion/tests/manifest_spec.py b/claude-companion/tests/manifest_spec.py deleted file mode 100644 index 6d56846..0000000 --- a/claude-companion/tests/manifest_spec.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python3 -"""Manifest invariants for plugin.toml — the settings contract. - -Covers the one class of defect neither `noctalia plugins lint` nor the luau specs -can see: `lint` only cross-checks declared settings against getConfig() calls, and -the widget code never observes a slider's step, so a wrong step is invisible to -both. Run: python3 tests/manifest_spec.py - -The load-bearing invariant is STEP. Noctalia's manifest parser defaults an -omitted step to 1.0 (plugin_manifest.h: `double step = 1.0`), so a fractional -range silently degenerates to min + n*1.0 clamped to max — a handful of preset -stops instead of a slider. Shipped exactly that way once: pulse_glow_floor -(0.0-0.9) could only reach 0.0 and 0.9. Every double MUST declare step. -""" -import os -import unittest - -try: - import tomllib -except ModuleNotFoundError: # py<3.11 - import tomli as tomllib # type: ignore - -ROOT = os.environ.get("PLUGIN_ROOT") or os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -NUMERIC = ("double", "number", "float") - - -def _settings(manifest): - """Every declared setting, plugin-level and entry-level, as (origin, dict).""" - out = [("[[setting]]", s) for s in manifest.get("setting", [])] - for kind in ("widget", "desktop_widget", "panel", "service", "launcher"): - for entry in manifest.get(kind, []): - for s in entry.get("setting", []): - out.append((f"[[{kind}.setting]] {entry.get('id', '?')}", s)) - return out - - -class Manifest(unittest.TestCase): - @classmethod - def setUpClass(cls): - with open(os.path.join(ROOT, "plugin.toml"), "rb") as fh: - cls.manifest = tomllib.load(fh) - cls.settings = _settings(cls.manifest) - - def test_has_settings(self): - self.assertTrue(self.settings, "expected at least one declared setting") - - def test_every_numeric_declares_explicit_step(self): - """The regression guard. An omitted step means 1.0, not 'continuous'.""" - for origin, s in self.settings: - if s.get("type") in NUMERIC: - with self.subTest(setting=s.get("key"), origin=origin): - self.assertIn( - "step", s, - f"{s.get('key')} ({origin}) is type={s.get('type')} with no explicit " - "step; the parser would default it to 1.0 and snap the slider", - ) - - def test_step_is_positive(self): - """step <= 0 is a hard parse error in noctalia (rejects the whole manifest).""" - for origin, s in self.settings: - if "step" in s: - with self.subTest(setting=s.get("key"), origin=origin): - self.assertGreater(s["step"], 0, f"{s.get('key')} step must be > 0") - - def test_step_is_finer_than_range(self): - """A step >= the span leaves only the two clamped endpoints reachable.""" - for origin, s in self.settings: - if "step" in s and "min" in s and "max" in s: - with self.subTest(setting=s.get("key"), origin=origin): - span = s["max"] - s["min"] - self.assertLess( - s["step"], span, - f"{s.get('key')} step {s['step']} is not finer than its range {span}", - ) - - def test_default_lands_on_a_step_boundary(self): - """Otherwise the shipped default is a value the slider cannot return to.""" - for origin, s in self.settings: - if {"step", "min", "default"} <= s.keys() and s.get("type") in NUMERIC: - with self.subTest(setting=s.get("key"), origin=origin): - steps = (s["default"] - s["min"]) / s["step"] - self.assertAlmostEqual( - steps, round(steps), places=6, - msg=f"{s.get('key')} default {s['default']} is not an integer number " - f"of {s['step']} steps from min {s['min']}", - ) - - def test_default_within_range(self): - for origin, s in self.settings: - if {"min", "max", "default"} <= s.keys(): - with self.subTest(setting=s.get("key"), origin=origin): - self.assertGreaterEqual(s["default"], s["min"]) - self.assertLessEqual(s["default"], s["max"]) - - def test_label_and_description_use_key_form(self): - """Raw `label`/`description` are REJECTED by the parser; only *_key works.""" - for origin, s in self.settings: - with self.subTest(setting=s.get("key"), origin=origin): - self.assertNotIn("label", s, f"{s.get('key')}: use label_key, not label") - self.assertNotIn("description", s, f"{s.get('key')}: use description_key") - self.assertIn("label_key", s, f"{s.get('key')} is missing label_key") - - -class Translations(unittest.TestCase): - """Every *_key must resolve in translations/en.json, or the UI shows a raw key.""" - - @classmethod - def setUpClass(cls): - import json - with open(os.path.join(ROOT, "plugin.toml"), "rb") as fh: - cls.settings = _settings(tomllib.load(fh)) - with open(os.path.join(ROOT, "translations", "en.json"), encoding="utf-8") as fh: - cls.en = json.load(fh) - - def _resolve(self, dotted): - node = self.en - for part in dotted.split("."): - if not isinstance(node, dict) or part not in node: - return None - node = node[part] - return node - - def test_every_key_resolves(self): - for origin, s in self.settings: - for field in ("label_key", "description_key"): - if field in s: - with self.subTest(setting=s.get("key"), field=field, origin=origin): - self.assertIsInstance( - self._resolve(s[field]), str, - f"{s[field]} does not resolve to a string in translations/en.json", - ) - - -if __name__ == "__main__": - unittest.main(verbosity=2) diff --git a/claude-companion/tests/shim_spec.py b/claude-companion/tests/shim_spec.py deleted file mode 100644 index 2096c49..0000000 --- a/claude-companion/tests/shim_spec.py +++ /dev/null @@ -1,213 +0,0 @@ -#!/usr/bin/env python3 -"""Unit tests for the shim's compositor abstraction (shim/noctalia-mcp.py). - -These cover the pure, I/O-free seam — detection, the (compositor, op) -> argv -mapping, and the client-side focus filters — so the niri/Hyprland/Sway command -shapes are pinned without a live session. Run: python3 tests/shim_spec.py - -Fixtures mirror the documented JSON shapes: Hyprland from HyprCtl.cpp serializers -(getMonitorData/getWindowData), Sway from sway-ipc(7) GET_TREE/GET_OUTPUTS/ -GET_WORKSPACES. They are the contract; a live nested-compositor run confirms them. -""" -import importlib.util -import os -import unittest -from unittest import mock - -_HERE = os.path.dirname(os.path.abspath(__file__)) -_SHIM = os.path.join(_HERE, "..", "shim", "noctalia-mcp.py") -_spec = importlib.util.spec_from_file_location("noctalia_mcp", _SHIM) -mcp = importlib.util.module_from_spec(_spec) -_spec.loader.exec_module(mcp) - - -class DetectCompositor(unittest.TestCase): - def test_socket_env_wins(self): - self.assertEqual(mcp.detect_compositor({"NIRI_SOCKET": "/x"}), "niri") - self.assertEqual( - mcp.detect_compositor({"HYPRLAND_INSTANCE_SIGNATURE": "abc"}), "hyprland") - self.assertEqual(mcp.detect_compositor({"SWAYSOCK": "/run/x"}), "sway") - - def test_socket_precedence_over_xdg(self): - # An explicit niri socket beats a mismatched XDG hint. - env = {"NIRI_SOCKET": "/x", "XDG_CURRENT_DESKTOP": "sway"} - self.assertEqual(mcp.detect_compositor(env), "niri") - - def test_xdg_fallback(self): - self.assertEqual( - mcp.detect_compositor({"XDG_CURRENT_DESKTOP": "Hyprland"}), "hyprland") - self.assertEqual( - mcp.detect_compositor({"XDG_CURRENT_DESKTOP": "sway"}), "sway") - - def test_none_when_undetectable(self): - self.assertIsNone(mcp.detect_compositor({})) - self.assertIsNone(mcp.detect_compositor({"XDG_CURRENT_DESKTOP": "gnome"})) - - -class Argv(unittest.TestCase): - def test_niri(self): - a = mcp.compositor_argv - self.assertEqual(a("niri", "focused_output"), ["niri", "msg", "-j", "focused-output"]) - self.assertEqual(a("niri", "focused_window"), ["niri", "msg", "-j", "focused-window"]) - self.assertEqual(a("niri", "focus_window", wid="42"), - ["niri", "msg", "action", "focus-window", "--id", "42"]) - self.assertEqual(a("niri", "focus_workspace", ref="3"), - ["niri", "msg", "action", "focus-workspace", "3"]) - self.assertEqual(a("niri", "move_to_workspace", ref="web"), - ["niri", "msg", "action", "move-column-to-workspace", "web"]) - - def test_hyprland(self): - a = mcp.compositor_argv - self.assertEqual(a("hyprland", "focused_output"), ["hyprctl", "-j", "monitors"]) - self.assertEqual(a("hyprland", "focused_window"), ["hyprctl", "-j", "activewindow"]) - # address: prefix is mandatory (bare selector is a class regex otherwise). - self.assertEqual(a("hyprland", "focus_window", wid="0x5641f2a3b8c0"), - ["hyprctl", "dispatch", "focuswindow", "address:0x5641f2a3b8c0"]) - # numeric ws: bare; named ws: name: prefix. - self.assertEqual(a("hyprland", "focus_workspace", ref="3"), - ["hyprctl", "dispatch", "workspace", "3"]) - self.assertEqual(a("hyprland", "focus_workspace", ref="work"), - ["hyprctl", "dispatch", "workspace", "name:work"]) - self.assertEqual(a("hyprland", "move_to_workspace", ref="3"), - ["hyprctl", "dispatch", "movetoworkspace", "3"]) - self.assertEqual(a("hyprland", "move_to_workspace", ref="work"), - ["hyprctl", "dispatch", "movetoworkspace", "name:work"]) - - def test_sway(self): - a = mcp.compositor_argv - self.assertEqual(a("sway", "focused_output"), ["swaymsg", "-t", "get_outputs"]) - self.assertEqual(a("sway", "focused_window"), ["swaymsg", "-t", "get_tree"]) - self.assertEqual(a("sway", "focus_window", wid="94"), - ["swaymsg", "[con_id=94]", "focus"]) - # numeric ws uses the `number` keyword; named ws is passed literally. - self.assertEqual(a("sway", "focus_workspace", ref="3"), - ["swaymsg", "workspace", "number", "3"]) - self.assertEqual(a("sway", "focus_workspace", ref="web"), - ["swaymsg", "workspace", "web"]) - self.assertEqual(a("sway", "move_to_workspace", ref="3"), - ["swaymsg", "move", "container", "to", "workspace", "number", "3"]) - self.assertEqual(a("sway", "move_to_workspace", ref="web"), - ["swaymsg", "move", "container", "to", "workspace", "web"]) - - def test_unknown_raises(self): - with self.assertRaises(KeyError): - mcp.compositor_argv("river", "focus_window", wid="1") - - -class InjectionGuards(unittest.TestCase): - """swaymsg concatenates argv into Sway's command language, where `;`/`,` - chain further commands (exec included) — the mutator handlers must therefore - reject anything but strictly-safe ids/refs before compositor_argv runs.""" - - def test_window_ids_accepted(self): - for wid in ("42", "94", "0x5641f2a3b8c0", "0xABCDEF"): - self.assertTrue(mcp.valid_window_id(wid), wid) - - def test_window_ids_rejected(self): - for wid in ("", " ", "1] focus; exec touch /tmp/pwn; [con_id=1", - "42; exec rm -rf ~", "0x", "0xZZ", "12 34", "id=5", "-1"): - self.assertFalse(mcp.valid_window_id(wid), wid) - - def test_workspace_refs_accepted(self): - for ref in ("3", "web", "1:web", "dev-2", "mail.work", "ws_9", "v2+"): - self.assertTrue(mcp.valid_workspace_ref(ref), ref) - - def test_workspace_refs_rejected(self): - for ref in ("", " ", "web; exec rm -rf ~", "a b", 'na"me', "x,y", - "[con_id=1]", "back\\slash", "semi;colon"): - self.assertFalse(mcp.valid_workspace_ref(ref), ref) - - def test_mutators_refuse_unsafe_args_before_any_exec(self): - # Handler-level: a hostile MCP call must come back as an error string. - # The env is scrubbed so no compositor is detectable — if the guard ever - # regresses, the handler returns the no-compositor error (failing the - # 'invalid' assertion) instead of executing the payload on a live session. - with mock.patch.dict(os.environ, {}, clear=True): - payload = "1] focus; exec touch /tmp/pwn; [con_id=1" - self.assertIn("invalid window id", mcp._focus_window({"id": payload})) - self.assertIn("invalid workspace reference", - mcp._switch_workspace({"reference": "web; exec rm -rf ~"})) - self.assertIn("invalid workspace reference", - mcp._move_to_workspace({"reference": "a b; exec id"})) - - -class HyprlandFilter(unittest.TestCase): - MONS = [ - {"name": "DP-1", "focused": False, "activeWorkspace": {"id": 1, "name": "1"}}, - {"name": "eDP-1", "focused": True, "activeWorkspace": {"id": 2, "name": "2"}}, - ] - - def test_pick_focused(self): - self.assertEqual(mcp.pick_focused_monitor(self.MONS)["name"], "eDP-1") - - def test_pick_focused_none(self): - self.assertIsNone(mcp.pick_focused_monitor( - [{"name": "DP-1", "focused": False}])) - - -class SwayTreeFilter(unittest.TestCase): - # A minimal get_tree: root -> output -> workspace -> two views, one focused, - # plus a floating view. Mirrors sway-ipc(7) node fields. - TREE = { - "type": "root", "focused": False, "nodes": [ - {"type": "output", "name": "eDP-1", "focused": False, "nodes": [ - {"type": "workspace", "name": "1", "focused": False, - "nodes": [ - {"type": "con", "id": 10, "name": "kitty", - "app_id": "kitty", "focused": False, - "nodes": [], "floating_nodes": []}, - {"type": "con", "id": 11, "name": "Firefox", - "app_id": None, - "window_properties": {"class": "firefox"}, - "focused": True, - "nodes": [], "floating_nodes": []}, - ], - "floating_nodes": []}, - ], "floating_nodes": []}, - ], "floating_nodes": [], - } - - def test_finds_focused_leaf(self): - view = mcp.find_focused_view(self.TREE) - self.assertEqual(view["id"], 11) - self.assertEqual(view["name"], "Firefox") - - def test_xwayland_class_available_for_fallback(self): - # app_id is null for XWayland; the class lives under window_properties. - view = mcp.find_focused_view(self.TREE) - self.assertIsNone(view["app_id"]) - self.assertEqual(view["window_properties"]["class"], "firefox") - - def test_finds_focused_in_floating(self): - tree = {"type": "root", "focused": False, "nodes": [], "floating_nodes": [ - {"type": "floating_con", "id": 20, "name": "mpv", - "app_id": "mpv", "focused": True, "nodes": [], "floating_nodes": []}, - ]} - self.assertEqual(mcp.find_focused_view(tree)["id"], 20) - - def test_no_focus_returns_none(self): - tree = {"type": "root", "focused": False, "nodes": [], "floating_nodes": []} - self.assertIsNone(mcp.find_focused_view(tree)) - - -class SwayFocusedOutput(unittest.TestCase): - OUTPUTS = [ - {"name": "DP-1", "active": True, "current_workspace": "2"}, - {"name": "eDP-1", "active": True, "current_workspace": "1"}, - ] - WORKSPACES = [ - {"num": 1, "name": "1", "focused": True, "output": "eDP-1"}, - {"num": 2, "name": "2", "focused": False, "output": "DP-1"}, - ] - - def test_derives_output_from_focused_workspace(self): - out = mcp.sway_focused_output(self.OUTPUTS, self.WORKSPACES) - self.assertEqual(out["name"], "eDP-1") - - def test_none_when_no_focused_workspace(self): - wss = [dict(w, focused=False) for w in self.WORKSPACES] - self.assertIsNone(mcp.sway_focused_output(self.OUTPUTS, wss)) - - -if __name__ == "__main__": - unittest.main(verbosity=2) diff --git a/claude-companion/thumbnail.webp b/claude-companion/thumbnail.webp deleted file mode 100644 index 0e28f4e2e40187373a843ee9855559e4e693b2f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39780 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ðbZ1SWGgRQDU{=i%CaWc#kw|`T3{ZRofxs@FyW8 zxA2YY#0Z1ArYTxm^Ji}2jO%}!bexHKBX6NdwYaXxr`6NdzO{;WXNpHx{jljjbM2v3 zg=lvzQ$T&ZrcG$&KV^oTdsB8qK2>49YNW>_xUZ(<-X{OE`8!Kngyd=pr}s!ZEikw? z%fW;B`)7uky>AVT>V5m}D%zjae=S_i|gb+eZ%ziJB_*ObN2_&EdOjYdAVoC`M=7wNBMaq z65A^)<0CfQuY9Gra3k;LT)8Gj$&IPOYhF(2S1LDa_usYQ-wAVul=!bfH@Af^{Te#^ z9I&FUTdN8U0x_)9PjZ z?zbD~E{?2s{@%lX)wRoR6~n^We`*zqE=$DJz0z7Y;`?3Ati4U^n507Pjyl8cUf5)v83V)8z)9&m@Y1|%Cacjj3 zU+;1Sjj1vBCl;~s&*BWt?~?uCseWkcr8jowmL->@pRslPk!e^I_Nl z8j;Bp-fwv{A&H;Khr^2LpO22znnOEESoe3@-8V@7XMy1jqB8_7xy+in>JJMaDbY2;a*CvVRuzBS~SyjM&z^%1AeJRV24tcb0b-$+Va z5xhN_z2bSkZ`7>SED44?m5-e&wPv<-z8ZN=^7OKp_=Eono^i?%sqMP9Ba~X3@ z;)tIFIj`{g$`!o5i7T3=l>`Y{mR!Lo)zLe+Im&m<`;*VUE+G6~AGGlkB z{1wH6v;6*toSArHS?fGbk>$-*TO6i5`*ho}?yn4wo+^Co`9^}<;T%-h|kd%s!#ca=o1vfETWF5#8c3u|q<8rX$=6Z2wj HH821GUxna# diff --git a/claude-companion/translations/en.json b/claude-companion/translations/en.json deleted file mode 100644 index 7e1111c..0000000 --- a/claude-companion/translations/en.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "answer": { - "empty": "No answers yet. Ask one from the launcher: /claude ? ", - "title": "Claude — quick ask" - }, - "launcher": { - "ask": "Ask Claude (one-shot)", - "ask_hint": "Type a question after ?", - "continue": "Resume last Claude session", - "launch": "Launch Claude Code", - "show_answer": "Show last answer" - }, - "notify": { - "ask_failed": "ask failed", - "auth_remedy": "Claude login expired — start a Claude session in a terminal to refresh it, then re-ask.", - "full_answer_hint": "Full answer: click the bar pulse", - "no_output": "(no output)", - "title": "Claude" - }, - "orb": { - "sessions": "{count} sessions" - }, - "pulse": { - "burn": "{model} · {tin} in / {tout} out", - "cached": "{n} cached", - "panel_launch_failed": "could not launch the answer panel", - "sessions_header": "Claude — {count} sessions", - "title": "pulse", - "total": "Σ {tin} in / {tout} out" - }, - "sessions": { - "empty": "No live Claude sessions. Start one in a terminal, or with /claude.", - "retire": "Retire", - "title": "Claude — {count} sessions", - "title_one": "Claude — 1 session" - }, - "settings": { - "breath_speed": { - "description": "How fast the pulse dot and orb breathe. 1.0 is the default; higher is faster, lower is slower.", - "label": "Breath speed" - }, - "orb_swell": { - "description": "How far the desktop orb magnifies as it breathes. 0 keeps it a static size; 1.0 is the default; higher swells more.", - "label": "Orb swell" - }, - "pulse_glow_floor": { - "description": "How dim the bar dot gets at the low point of its breath. 0 dims to black; higher stays brighter. 0.45 is the default.", - "label": "Bar dot glow floor" - } - }, - "state": { - "orb": { - "error": "error", - "idle": "idle", - "needs_attention": "needs you", - "text": "responding", - "tool_start": "running a tool", - "turn_end": "done — ready for you", - "turn_start": "thinking" - }, - "tip": { - "error": "Claude: error", - "idle": "Claude: idle", - "needs_attention": "Claude needs you", - "text": "Claude: responding", - "tool_start": "Claude: running a tool", - "turn_end": "Claude: done — ready for you", - "turn_start": "Claude: thinking" - }, - "word": { - "error": "error", - "idle": "idle", - "needs_attention": "needs you", - "text": "responding", - "tool_start": "tool", - "turn_end": "done", - "turn_start": "thinking" - } - } -} diff --git a/codexbar-meter/README.md b/codexbar-meter/README.md deleted file mode 100644 index 1c4f471..0000000 --- a/codexbar-meter/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# CodexBar Meter - -CodexBar Meter is a native Noctalia v5 bar widget and attached panel for usage -limits reported by the local [CodexBar](https://github.com/steipete/CodexBar) -CLI. It discovers the providers enabled in CodexBar, keeps the bar compact, -and exposes every provider and quota window in a scrollable panel. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `salemsayed/codexbar-meter` | -| Entries | Bar widget: `bar`; panel entries: `panel-compact`, `panel`, `panel-tall` | - -## Requirements - -Install these commands on `PATH`: - -- `codexbar` 0.47 or newer, configured with at least one provider. -- `timeout` from GNU coreutils. - -CodexBar owns provider authentication, network access, and provider discovery. -The plugin does not read or store provider credentials. - -## Usage - -Add `salemsayed/codexbar-meter:bar` to a Noctalia bar. The bar shows up to two -provider meters by default, followed by a `+N` count when more providers are -enabled in CodexBar. The tooltip includes all returned providers. - -- Left-click opens the attached `CodexBar Meter` panel. The widget chooses a - compact, standard, or tall panel tier from the current provider payload; - each tier keeps scrolling as the safety net for unusually large responses. -- Right-click refreshes usage immediately. -- The panel refresh button requests a fresh CodexBar query. -- The panel close button dismisses the panel. - -To open the standard panel from a terminal: - -```sh -noctalia msg panel-toggle salemsayed/codexbar-meter:panel -``` - -The adaptive widget also uses these panel entries when opening from the bar: - -- `noctalia msg panel-toggle salemsayed/codexbar-meter:panel-compact` — 390 px -- `noctalia msg panel-toggle salemsayed/codexbar-meter:panel` — 560 px -- `noctalia msg panel-toggle salemsayed/codexbar-meter:panel-tall` — 720 px - -The panel renders all provider cards and scrolls when the response is taller -than the panel. It understands CodexBar's standard primary, secondary, and -tertiary windows, named `windows` and `extraRateWindows`, credits, pace -summaries, provider status, stale data, and per-provider errors. Unknown -providers receive a readable title, a neutral icon, and a theme-derived color. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `codexbarPath` | `string` | `codexbar` | Command or absolute path used to query CodexBar. | -| `refreshIntervalSec` | `int` | `60` | Background refresh interval in seconds; allowed range is 30–3600. | -| `barProviderLimit` | `int` | `2` | Number of provider meters shown in the bar; allowed range is 1–4. The panel and tooltip always include all providers. | - -When no provider flag is supplied, CodexBar's configured enabled-provider list -is used. This lets the plugin work with any current or future CodexBar -provider without changing the Noctalia code. - -## IPC - -Refresh the widget and panel through the shared plugin state: - -```sh -noctalia msg plugin salemsayed/codexbar-meter:bar all refresh -``` - -## Notes - -- The plugin runs `timeout 30s usage --format json --json-only`. -- A provider-level error is kept as a card beside healthy providers. If a - refresh returns no usable JSON, the last successful response remains visible - with an explicit warning. -- The plugin is compositor-agnostic: it uses Noctalia's attached layer-shell - panels and theme roles rather than hard-coded light or dark colors, and calls - no compositor IPC of its own. Developed on Niri. -- The plugin writes no files and opens no network connections of its own. The - panel displays the account identity CodexBar reports for a provider, such as - the signed-in email address. CodexBar itself owns provider authentication, - credential storage, and all network access. diff --git a/codexbar-meter/bar_widget.luau b/codexbar-meter/bar_widget.luau deleted file mode 100644 index 0ab4f39..0000000 --- a/codexbar-meter/bar_widget.luau +++ /dev/null @@ -1,493 +0,0 @@ ---!nonstrict --- CodexBar provider usage bar widget. --- --- CodexBar owns provider discovery, authentication, and quota fetching. This --- widget only normalizes the shared JSON envelope and keeps the bar bounded: --- the first configured providers are shown in the capsule, while the tooltip --- and attached panel expose the complete response. - -local codexbarPath = noctalia.getConfig("codexbarPath") or "codexbar" -local refreshIntervalSec = tonumber(noctalia.getConfig("refreshIntervalSec")) or 60 -local barProviderLimit = tonumber(noctalia.getConfig("barProviderLimit")) or 2 - -local providers = {} -local errorMsg = "" -local requestInFlight = false - --- Noctalia v5 panel surfaces have fixed manifest dimensions. Keep the --- regular `panel` id as the compatibility/default entry, then choose a --- nearby fixed tier when opening so the surface follows the current data --- without relying on an unsupported runtime resize API. -local PANEL_IDS = { - compact = "salemsayed/codexbar-meter:panel-compact", - standard = "salemsayed/codexbar-meter:panel", - tall = "salemsayed/codexbar-meter:panel-tall", -} - -local PROVIDER_META = { - codex = { label = "Codex", glyph = "brand-openai", color = "primary" }, - openai = { label = "OpenAI", glyph = "brand-openai", color = "primary" }, - azureopenai = { label = "Azure OpenAI", glyph = "brand-openai", color = "primary" }, - claude = { label = "Claude", glyph = "message-chatbot", color = "tertiary" }, - gemini = { label = "Gemini", glyph = "brand-google", color = "secondary" }, - copilot = { label = "Copilot", glyph = "brand-github", color = "secondary" }, - cursor = { label = "Cursor", glyph = "cursor-text", color = "secondary" }, - opencode = { label = "OpenCode", glyph = "code", color = "secondary" }, - opencodego = { label = "OpenCode Go", glyph = "code", color = "secondary" }, - qwencloud = { label = "Qwen Cloud", glyph = "cloud", color = "secondary" }, - alibaba = { label = "Alibaba", glyph = "cloud", color = "secondary" }, - alibabatokenplan = { label = "Alibaba Token Plan", glyph = "cloud", color = "secondary" }, - antigravity = { label = "Antigravity", glyph = "sparkles", color = "tertiary" }, - kilo = { label = "Kilo", glyph = "robot", color = "secondary" }, - ollama = { label = "Ollama", glyph = "server", color = "secondary" }, - openrouter = { label = "OpenRouter", glyph = "route", color = "secondary" }, -} - -local FALLBACK_COLORS = { "secondary", "tertiary", "primary" } - -local function shellQuote(value) - return "'" .. string.gsub(tostring(value), "'", "'\\''") .. "'" -end - -local function commandPath() - local path = tostring(codexbarPath) - if string.sub(path, 1, 1) == "~" then - path = noctalia.expandPath(path) - end - return path -end - -local function providerId(provider) - return tostring(provider and (provider.provider or provider.id) or "unknown") -end - -local function providerAccount(provider) - if type(provider) ~= "table" then return "" end - if provider.account ~= nil and tostring(provider.account) ~= "" then - return tostring(provider.account) - end - local usage = provider.usage - local identity = type(usage) == "table" and usage.identity or nil - if type(identity) == "table" then - if identity.accountEmail ~= nil and tostring(identity.accountEmail) ~= "" then - return tostring(identity.accountEmail) - end - if identity.accountOrganization ~= nil and tostring(identity.accountOrganization) ~= "" then - return tostring(identity.accountOrganization) - end - end - return "" -end - -local function titleFromId(value) - local text = string.gsub(tostring(value or "unknown"), "[_%-]+", " ") - text = string.gsub(text, "(%a)([%w]*)", function(first, rest) - return string.upper(first) .. string.lower(rest) - end) - return text -end - -local function metaFor(provider, index) - local id = providerId(provider) - local known = PROVIDER_META[string.lower(id)] - if known ~= nil then return known end - local colorIndex = ((index - 1) % #FALLBACK_COLORS) + 1 - return { - label = titleFromId(id), - glyph = "chart-donut-3", - color = FALLBACK_COLORS[colorIndex], - } -end - -local function providerLabel(provider, index) - local meta = metaFor(provider, index) - local account = providerAccount(provider) - if account ~= "" then - return meta.label .. " · " .. account - end - return meta.label -end - -local function providerError(provider) - if type(provider) ~= "table" or provider.error == nil then return "" end - if type(provider.error) == "string" then return provider.error end - if type(provider.error) == "table" then - return tostring(provider.error.message or provider.error.description or provider.error.kind or "Provider unavailable") - end - return "Provider unavailable" -end - -local function windowLabel(window, fallback) - if type(window) ~= "table" then return fallback or "Limit" end - local named = window.title or window.name or window.label - if named ~= nil and tostring(named) ~= "" then return tostring(named) end - local minutes = tonumber(window.windowMinutes) or 0 - if minutes == 300 then return "5h" end - if minutes == 1440 then return "24h" end - if minutes == 10080 then return "7d" end - if minutes == 43200 then return "30d" end - if minutes >= 1440 then return string.format("%dd", math.floor(minutes / 1440)) end - if minutes >= 60 then return string.format("%dh", math.floor(minutes / 60)) end - if minutes > 0 then return string.format("%dm", minutes) end - return fallback or "limit" -end - -local function remainingPercent(window) - if type(window) ~= "table" or window.usedPercent == nil then return nil end - local used = tonumber(window.usedPercent) - if used == nil then return nil end - return math.max(0, math.min(100, 100 - used)) -end - -local function addWindow(windows, title, window, rank) - if type(window) ~= "table" or tonumber(window.usedPercent) == nil then return end - for _, item in ipairs(windows) do - if item.window == window then return end - end - windows[#windows + 1] = { - title = title or windowLabel(window), - window = window, - rank = rank or 99, - } -end - -local function windowsFor(provider) - local result = {} - local usage = type(provider) == "table" and provider.usage or nil - if type(usage) ~= "table" then return result end - - addWindow(result, windowLabel(usage.primary, "Session"), usage.primary, 1) - addWindow(result, windowLabel(usage.secondary, "Weekly"), usage.secondary, 2) - addWindow(result, windowLabel(usage.tertiary, "Monthly"), usage.tertiary, 3) - - if type(usage.extraRateWindows) == "table" then - for index, extra in ipairs(usage.extraRateWindows) do - if type(extra) == "table" then - addWindow(result, extra.title or extra.name or "Additional window", extra.window or extra, 10 + index) - end - end - end - - if type(usage.windows) == "table" then - for index, item in ipairs(usage.windows) do - if type(item) == "table" then - addWindow(result, item.title or item.name or "Usage window", item.window or item, 20 + index) - end - end - end - - -- Future providers may add another named rate window. Pick up any table - -- that carries the standard usedPercent field without treating identity, - -- status, or provider-specific metadata as a quota row. - for key, value in pairs(usage) do - if type(value) == "table" and tonumber(value.usedPercent) ~= nil then - addWindow(result, windowLabel(value, titleFromId(key)), value, 40) - end - end - - table.sort(result, function(a, b) - if a.rank ~= b.rank then return a.rank < b.rank end - return a.title < b.title - end) - return result -end - -local function creditsFor(provider) - if type(provider) ~= "table" then return nil end - if type(provider.credits) == "table" then return provider.credits end - if type(provider.usage) == "table" and type(provider.usage.credits) == "table" then - return provider.usage.credits - end - return nil -end - -local function summaryFor(provider) - local windows = windowsFor(provider) - if #windows > 0 then - local window = windows[1].window - return { - window = window, - label = windows[1].title .. " " .. string.format("%d%%", math.floor((remainingPercent(window) or 0) + 0.5)), - remaining = remainingPercent(window), - } - end - - local credits = creditsFor(provider) - if credits ~= nil and credits.remaining ~= nil then - local creditPercent = tonumber(credits.remainingPercent) - return { - label = tostring(credits.remaining), - remaining = creditPercent, - credits = true, - } - end - return { label = "—", remaining = nil } -end - -local function providerByIndex(index) - return providers[index] -end - -local function selectedEntries() - local entries = {} - local healthy = {} - for index, provider in ipairs(providers) do - local entry = { provider = provider, index = index, summary = summaryFor(provider) } - entries[#entries + 1] = entry - if providerError(provider) == "" then healthy[#healthy + 1] = entry end - end - - local pool = #healthy > 0 and healthy or entries - local limit = math.max(1, math.min(4, math.floor(barProviderLimit))) - local selected = {} - for index = 1, math.min(limit, #pool) do - selected[#selected + 1] = pool[index] - end - return selected -end - -local function percentText(value) - if value == nil then return "—" end - return string.format("%d%%", math.floor(value + 0.5)) -end - -local function providerSegment(entry) - local provider = entry.provider - local meta = metaFor(provider, entry.index) - local summary = entry.summary - local children = { - ui.glyph({ name = meta.glyph, size = 13, color = meta.color }), - } - - if summary.window ~= nil then - children[#children + 1] = ui.progress({ - progress = (summary.remaining or 0) / 100, - fill = meta.color, - track = "on_surface/0.16", - radius = 6, - width = 26, - height = 5, - }) - end - - children[#children + 1] = ui.label({ - text = summary.window ~= nil and (windowLabel(summary.window) .. " " .. percentText(summary.remaining)) or summary.label, - fontSize = 11, - fontWeight = "semibold", - color = "on_surface", - maxLines = 1, - }) - - return ui.row({ key = "provider-" .. tostring(entry.index), align = "center", gap = 5 }, children) -end - -local function tooltipFor(provider, index) - local meta = metaFor(provider, index) - local issue = providerError(provider) - if issue ~= "" then - return { key = providerLabel(provider, index), value = "Unavailable · " .. issue } - end - - local windows = windowsFor(provider) - local lines = {} - for _, item in ipairs(windows) do - lines[#lines + 1] = item.title .. ": " .. percentText(remainingPercent(item.window)) .. " left" - end - - local credits = creditsFor(provider) - if credits ~= nil and credits.remaining ~= nil then - lines[#lines + 1] = "Credits: " .. tostring(credits.remaining) - end - if #lines == 0 then lines[#lines + 1] = "No usage window reported" end - if provider.stale == true then lines[#lines + 1] = "Showing last known data" end - - return { key = meta.label, value = table.concat(lines, "\n") } -end - -local function hasProviderErrors() - for _, provider in ipairs(providers) do - if providerError(provider) ~= "" then return true end - end - return false -end - -local function hasProviderStatus(provider) - local status = type(provider) == "table" and provider.status or nil - return type(status) == "table" - and status.description ~= nil - and tostring(status.indicator or "none") ~= "none" -end - -local function hasPaceSummary(provider) - local pace = type(provider) == "table" and provider.pace or nil - if type(pace) ~= "table" then return false end - for _, key in ipairs({ "primary", "secondary", "tertiary" }) do - if type(pace[key]) == "table" and pace[key].summary ~= nil then return true end - end - for _, value in pairs(pace) do - if type(value) == "table" and value.summary ~= nil then return true end - end - return false -end - -local function estimatedProviderHeight(provider) - -- Approximate the panel card from semantic content, not provider names. - -- This deliberately errs upward; the scroll view remains the safety net - -- for providers with unusually verbose or future-specific payloads. - local height = 104 - height = height + (#windowsFor(provider) * 82) - if providerError(provider) ~= "" then height = height + 44 end - if hasPaceSummary(provider) then height = height + 34 end - if provider.stale == true then height = height + 34 end - - local credits = creditsFor(provider) - if credits ~= nil and credits.remaining ~= nil then height = height + 30 end - if hasProviderStatus(provider) then height = height + 34 end - return height -end - -local function panelEntryIdForCurrentData() - if #providers == 0 then return PANEL_IDS.compact end - - local estimate = 130 - for index, provider in ipairs(providers) do - estimate = estimate + estimatedProviderHeight(provider) - if index > 1 then estimate = estimate + 10 end - end - - if estimate <= 420 then return PANEL_IDS.compact end - if estimate <= 600 then return PANEL_IDS.standard end - return PANEL_IDS.tall -end - -local function render() - local selected = selectedEntries() - local rows = {} - - if #selected == 0 then - rows[#rows + 1] = ui.row({ align = "center", gap = 5 }, { - ui.glyph({ name = "chart-donut-3", size = 13, color = "primary" }), - ui.label({ text = "AI —", fontSize = 11, fontWeight = "semibold", color = "on_surface" }), - }) - else - for index, entry in ipairs(selected) do - if index > 1 then - rows[#rows + 1] = ui.box({ width = 1, height = 15, fill = "outline/0.35" }) - end - rows[#rows + 1] = providerSegment(entry) - end - if #providers > #selected then - rows[#rows + 1] = ui.label({ - text = "+" .. tostring(#providers - #selected), - fontSize = 10, - color = "on_surface_variant", - }) - end - end - - if errorMsg ~= "" or hasProviderErrors() then - rows[#rows + 1] = ui.glyph({ name = "alert-circle", size = 12, color = "error" }) - end - - barWidget.render(ui.row({ gap = 7, align = "center" }, rows)) - - local tooltip = {} - for index, provider in ipairs(providers) do - tooltip[#tooltip + 1] = tooltipFor(provider, index) - end - if #tooltip == 0 then - tooltip[#tooltip + 1] = { key = "CodexBar", value = "Waiting for provider data" } - end - if errorMsg ~= "" then - tooltip[#tooltip + 1] = { key = "Status", value = errorMsg } - end - barWidget.setTooltip(tooltip) -end - -local function decodeProviders(stdout) - local decoded = noctalia.json.decode(stdout or "") - if type(decoded) ~= "table" then return nil end - if type(decoded.providers) == "table" then return decoded.providers end - if decoded.provider ~= nil or decoded.error ~= nil then return { decoded } end - - local result = {} - for _, provider in ipairs(decoded) do - if type(provider) == "table" then result[#result + 1] = provider end - end - return result -end - -local function refresh() - if requestInFlight then return end - requestInFlight = true - - local command = "timeout 30s " .. shellQuote(commandPath()) - .. " usage --format json --json-only" - - noctalia.runAsync(command, function(result) - requestInFlight = false - local decoded = result ~= nil and decodeProviders(result.stdout) or nil - - -- CodexBar may return a non-zero exit code for a partial provider - -- response. Keep healthy rows and let each errored row explain itself. - if decoded ~= nil and #decoded > 0 then - providers = decoded - errorMsg = "" - noctalia.state.set("providers", providers) - noctalia.state.set("error", "") - noctalia.state.set("lastRefresh", os.time()) - render() - return - end - - errorMsg = result ~= nil and result.exitCode ~= 0 - and "CodexBar could not refresh" - or "CodexBar returned no provider data" - noctalia.state.set("error", errorMsg) - render() - end, 30000) -end - -noctalia.state.watch("command", function(value) - if type(value) == "table" and value.action == "refresh" then refresh() end -end) - -noctalia.state.watch("providers", function(value) - if type(value) == "table" then - providers = value - render() - end -end) - -noctalia.state.watch("error", function(value) - if type(value) == "string" then - errorMsg = value - render() - end -end) - -function update() - noctalia.setUpdateInterval(refreshIntervalSec * 1000) - refresh() -end - -function onClick() - noctalia.togglePanel(panelEntryIdForCurrentData()) -end - -function onRightClick() - refresh() -end - -function onIpc(event, _payload) - if event == "refresh" then refresh() end -end - -local existing = noctalia.state.get("providers") -if type(existing) == "table" then providers = existing end -local existingError = noctalia.state.get("error") -if type(existingError) == "string" then errorMsg = existingError end - -noctalia.setUpdateInterval(refreshIntervalSec * 1000) -render() -refresh() diff --git a/codexbar-meter/panel.luau b/codexbar-meter/panel.luau deleted file mode 100644 index a60c104..0000000 --- a/codexbar-meter/panel.luau +++ /dev/null @@ -1,448 +0,0 @@ ---!nonstrict --- CodexBar provider usage panel. --- --- The panel intentionally renders the provider array instead of naming a --- fixed pair. CodexBar can add providers and provider-specific quota windows; --- the standard usedPercent/reset envelope is enough for a useful generic card. - -local providers = {} -local errorMsg = "" -local panelOpen = false -local refreshIntervalSec = tonumber(noctalia.getConfig("refreshIntervalSec")) or 60 - -local PROVIDER_META = { - codex = { label = "Codex", glyph = "brand-openai", color = "primary", source = "OpenAI" }, - openai = { label = "OpenAI", glyph = "brand-openai", color = "primary", source = "OpenAI" }, - claude = { label = "Claude", glyph = "message-chatbot", color = "tertiary", source = "Anthropic" }, -} - -local FALLBACK_COLORS = { "secondary", "tertiary", "primary" } - -local function providerId(provider) - return tostring(provider and (provider.provider or provider.id) or "unknown") -end - -local function titleFromId(value) - local text = string.gsub(tostring(value or "unknown"), "[_%-]+", " ") - text = string.gsub(text, "(%a)([%w]*)", function(first, rest) - return string.upper(first) .. string.lower(rest) - end) - return text -end - -local function providerAccount(provider) - if type(provider) ~= "table" then return "" end - if provider.account ~= nil and tostring(provider.account) ~= "" then - return tostring(provider.account) - end - local usage = provider.usage - local identity = type(usage) == "table" and usage.identity or nil - if type(identity) == "table" then - if identity.accountEmail ~= nil and tostring(identity.accountEmail) ~= "" then - return tostring(identity.accountEmail) - end - if identity.accountOrganization ~= nil and tostring(identity.accountOrganization) ~= "" then - return tostring(identity.accountOrganization) - end - end - return "" -end - -local function metaFor(provider, index) - local id = providerId(provider) - local known = PROVIDER_META[string.lower(id)] - if known ~= nil then return known end - local colorIndex = ((index - 1) % #FALLBACK_COLORS) + 1 - return { - label = titleFromId(id), - glyph = "chart-donut-3", - color = FALLBACK_COLORS[colorIndex], - source = "CodexBar", - } -end - -local function providerLabel(provider, index) - local meta = metaFor(provider, index) - return meta.label -end - -local function providerError(provider) - if type(provider) ~= "table" or provider.error == nil then return "" end - if type(provider.error) == "string" then return provider.error end - if type(provider.error) == "table" then - return tostring(provider.error.message or provider.error.description or provider.error.kind or "Provider unavailable") - end - return "Provider unavailable" -end - -local function parseIso(value) - if type(value) ~= "string" then return nil end - local y, mo, d, h, mi, s = value:match("^(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)") - if y == nil then return nil end - - local localGuess = os.time({ - year = tonumber(y), month = tonumber(mo), day = tonumber(d), - hour = tonumber(h), min = tonumber(mi), sec = tonumber(s), - }) - local utcAsLocal = os.time(os.date("!*t", localGuess)) - return localGuess + (localGuess - utcAsLocal) -end - -local function windowLabel(window, fallback) - if type(window) ~= "table" then return fallback or "Usage window" end - local named = window.title or window.name or window.label - if named ~= nil and tostring(named) ~= "" then return tostring(named) end - local minutes = tonumber(window.windowMinutes) or 0 - if minutes == 300 then return "5-hour session" end - if minutes == 1440 then return "24-hour window" end - if minutes == 10080 then return "Weekly window" end - if minutes == 43200 then return "30-day window" end - if minutes >= 1440 then return string.format("%d-day window", math.floor(minutes / 1440)) end - if minutes >= 60 then return string.format("%d-hour window", math.floor(minutes / 60)) end - if minutes > 0 then return string.format("%d-minute window", minutes) end - return fallback or "Usage window" -end - -local function remainingPercent(window) - if type(window) ~= "table" or window.usedPercent == nil then return nil end - local used = tonumber(window.usedPercent) - if used == nil then return nil end - return math.max(0, math.min(100, 100 - used)) -end - -local function percentText(value) - if value == nil then return "—" end - return string.format("%d%%", math.floor(value + 0.5)) -end - -local function relativeReset(window) - if type(window) ~= "table" then return "Reset unavailable" end - local epoch = parseIso(window.resetsAt) - if epoch == nil then return window.resetDescription or "Reset unavailable" end - - local seconds = epoch - os.time() - if seconds <= 0 then return "Resetting now" end - local days = math.floor(seconds / 86400) - local hours = math.floor((seconds % 86400) / 3600) - local minutes = math.floor((seconds % 3600) / 60) - if days > 0 then return string.format("in %dd %dh", days, hours) end - if hours > 0 then return string.format("in %dh %dm", hours, minutes) end - return string.format("in %dm", math.max(1, minutes)) -end - -local function resetAt(window) - if type(window) ~= "table" then return "—" end - local epoch = parseIso(window.resetsAt) - if epoch ~= nil then return noctalia.formatTime("%a %I:%M %p", epoch) end - return window.resetDescription or "—" -end - -local function updatedAge(provider) - local usage = type(provider) == "table" and provider.usage or nil - local credits = type(provider) == "table" and provider.credits or nil - local value = type(usage) == "table" and usage.updatedAt or nil - if value == nil and type(credits) == "table" then value = credits.updatedAt end - if value == nil and type(provider) == "table" then value = provider.updatedAt end - - local epoch = parseIso(value) - if epoch == nil then return "not yet" end - local seconds = math.max(0, os.time() - epoch) - if seconds < 10 then return "just now" end - if seconds < 60 then return string.format("%ds ago", seconds) end - if seconds < 3600 then return string.format("%dm ago", math.floor(seconds / 60)) end - return string.format("%dh ago", math.floor(seconds / 3600)) -end - -local function addWindow(windows, title, window, rank, color) - if type(window) ~= "table" or tonumber(window.usedPercent) == nil then return end - for _, item in ipairs(windows) do - if item.window == window then return end - end - windows[#windows + 1] = { - title = title or windowLabel(window), - window = window, - rank = rank or 99, - color = color, - } -end - -local function windowsFor(provider) - local result = {} - local usage = type(provider) == "table" and provider.usage or nil - if type(usage) ~= "table" then return result end - local color = metaFor(provider, 1).color - - addWindow(result, windowLabel(usage.primary, "Session"), usage.primary, 1, color) - addWindow(result, windowLabel(usage.secondary, "Weekly"), usage.secondary, 2, color) - addWindow(result, windowLabel(usage.tertiary, "Monthly"), usage.tertiary, 3, color) - - if type(usage.extraRateWindows) == "table" then - for index, extra in ipairs(usage.extraRateWindows) do - if type(extra) == "table" then - addWindow(result, extra.title or extra.name or "Additional window", extra.window or extra, 10 + index, "secondary") - end - end - end - - if type(usage.windows) == "table" then - for index, item in ipairs(usage.windows) do - if type(item) == "table" then - addWindow(result, item.title or item.name or "Usage window", item.window or item, 20 + index, color) - end - end - end - - for key, value in pairs(usage) do - if type(value) == "table" and tonumber(value.usedPercent) ~= nil then - addWindow(result, windowLabel(value, titleFromId(key)), value, 40, color) - end - end - - table.sort(result, function(a, b) - if a.rank ~= b.rank then return a.rank < b.rank end - return a.title < b.title - end) - return result -end - -local function creditsFor(provider) - if type(provider) ~= "table" then return nil end - if type(provider.credits) == "table" then return provider.credits end - if type(provider.usage) == "table" and type(provider.usage.credits) == "table" then - return provider.usage.credits - end - return nil -end - -local function paceFor(provider) - local pace = type(provider) == "table" and provider.pace or nil - if type(pace) ~= "table" then return nil end - for _, key in ipairs({ "primary", "secondary", "tertiary" }) do - if type(pace[key]) == "table" and pace[key].summary ~= nil then return pace[key] end - end - for _, value in pairs(pace) do - if type(value) == "table" and value.summary ~= nil then return value end - end - return nil -end - -local function paceColor(pace) - if pace == nil then return "on_surface_variant" end - local stage = string.lower(tostring(pace.stage or "")) - local summary = string.lower(tostring(pace.summary or "")) - if string.find(stage, "risk") or string.find(stage, "exhaust") or string.find(stage, "deficit") or string.find(summary, "deficit") then - return "error" - end - if string.find(stage, "ahead") or string.find(stage, "reserve") or string.find(summary, "reserve") then - return "secondary" - end - return "on_surface_variant" -end - -local function windowRow(item) - local window = item.window - local remaining = remainingPercent(window) or 0 - local used = tonumber(window.usedPercent) or 0 - local color = item.color or "secondary" - - return ui.column({ key = item.title, gap = 5 }, { - ui.row({ align = "center", justify = "space_between" }, { - ui.row({ align = "center", gap = 7 }, { - ui.glyph({ name = "chart-donut-3", size = 14, color = color }), - ui.label({ text = item.title, fontSize = 13, fontWeight = "semibold", color = "on_surface", maxLines = 1 }), - }), - ui.label({ text = percentText(remaining) .. " left", fontSize = 13, fontWeight = "bold", color = color }), - }), - ui.progress({ - progress = remaining / 100, - fill = color, - track = "on_surface/0.14", - radius = 8, - height = 8, - }), - ui.row({ align = "center", justify = "space_between" }, { - ui.label({ text = string.format("%d%% used", math.floor(used + 0.5)), fontSize = 11, color = "on_surface_variant" }), - ui.label({ text = "Resets " .. relativeReset(window), fontSize = 11, color = "on_surface_variant" }), - }), - }) -end - -local function providerCard(provider, index) - local meta = metaFor(provider, index) - local windows = windowsFor(provider) - local children = {} - local source = tostring(provider.source or meta.source or "CodexBar") - local account = providerAccount(provider) - if account ~= "" then source = source .. " · " .. account end - - children[#children + 1] = ui.row({ align = "center", justify = "space_between" }, { - ui.row({ align = "center", gap = 9 }, { - ui.row({ align = "center", justify = "center", width = 34, height = 34, fill = meta.color .. "/0.16", radius = 10 }, { - ui.glyph({ name = meta.glyph, size = 18, color = meta.color }), - }), - ui.column({ gap = 1 }, { - ui.label({ text = providerLabel(provider, index), fontSize = 15, fontWeight = "semibold", color = "on_surface", maxLines = 1 }), - ui.label({ text = source, fontSize = 11, color = "on_surface_variant", maxLines = 1 }), - }), - }), - ui.label({ text = updatedAge(provider), fontSize = 11, color = "on_surface_variant" }), - }) - - children[#children + 1] = ui.separator({ spacing = 2, color = "outline", opacity = 0.18 }) - - local issue = providerError(provider) - if issue ~= "" then - children[#children + 1] = ui.row({ fill = "error/0.10", radius = 9, padding = 10, align = "center", gap = 8 }, { - ui.glyph({ name = "alert-circle", size = 14, color = "error" }), - ui.label({ text = issue, fontSize = 12, color = "error", maxLines = 2 }), - }) - end - - if #windows == 0 then - children[#children + 1] = ui.row({ fill = "on_surface/0.05", radius = 9, padding = 10, align = "center", gap = 8 }, { - ui.glyph({ name = "info-circle", size = 14, color = "on_surface_variant" }), - ui.label({ text = "No active usage window reported", fontSize = 12, color = "on_surface_variant" }), - }) - else - for _, item in ipairs(windows) do children[#children + 1] = windowRow(item) end - end - - local pace = paceFor(provider) - if pace ~= nil and pace.summary ~= nil then - local paceAccent = paceColor(pace) - children[#children + 1] = ui.row({ fill = paceAccent .. "/0.10", radius = 8, paddingH = 9, paddingV = 6, align = "center", gap = 7 }, { - ui.glyph({ name = "activity", size = 13, color = paceAccent }), - ui.label({ text = tostring(pace.summary), fontSize = 11, color = paceAccent, maxLines = 2 }), - }) - end - - local credits = creditsFor(provider) - if credits ~= nil and credits.remaining ~= nil then - children[#children + 1] = ui.row({ align = "center", justify = "space_between" }, { - ui.row({ align = "center", gap = 7 }, { - ui.glyph({ name = "coins", size = 14, color = "on_surface_variant" }), - ui.label({ text = "Credits", fontSize = 12, color = "on_surface_variant" }), - }), - ui.label({ text = tostring(credits.remaining) .. " available", fontSize = 12, color = "on_surface" }), - }) - end - - local status = provider.status - if type(status) == "table" and status.description ~= nil and tostring(status.indicator or "none") ~= "none" then - children[#children + 1] = ui.row({ fill = "on_surface/0.05", radius = 8, padding = 8, align = "center", gap = 7 }, { - ui.glyph({ name = "info-circle", size = 13, color = "on_surface_variant" }), - ui.label({ text = tostring(status.description), fontSize = 11, color = "on_surface_variant", maxLines = 2 }), - }) - end - - if provider.stale == true then - children[#children + 1] = ui.row({ fill = "tertiary/0.10", radius = 8, padding = 8, align = "center", gap = 7 }, { - ui.glyph({ name = "clock", size = 13, color = "tertiary" }), - ui.label({ text = "Showing cached provider data", fontSize = 11, color = "tertiary", maxLines = 2 }), - }) - end - - return ui.column({ key = "provider-card-" .. tostring(index), fill = "surface_variant/0.58", radius = 14, padding = 11, gap = 8 }, children) -end - -local function panelStatus() - if errorMsg ~= "" then - return #providers > 0 and "STALE" or "OFFLINE", "alert-circle", "error" - end - for _, provider in ipairs(providers) do - if provider.stale == true then return "STALE", "clock", "tertiary" end - end - if #providers == 0 then return "WAITING", "loader-2", "on_surface_variant" end - return "LIVE", "circle-filled", "primary" -end - -local function render() - if not panelOpen then return end - - local statusLabel, statusGlyph, statusColor = panelStatus() - - local header = ui.row({ align = "center", justify = "space_between" }, { - ui.row({ align = "center", gap = 10 }, { - ui.row({ align = "center", justify = "center", width = 36, height = 36, fill = "primary/0.15", radius = 11 }, { - ui.glyph({ name = "chart-donut-3", size = 19, color = "primary" }), - }), - ui.column({ gap = 1 }, { - ui.label({ text = "CodexBar Meter", fontSize = 17, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = "Enabled provider limits", fontSize = 11, color = "on_surface_variant" }), - }), - }), - ui.row({ align = "center", gap = 2 }, { - ui.button({ glyph = "refresh", variant = "ghost", tooltip = "Refresh now", onClick = "onRefresh" }), - ui.button({ glyph = "x", variant = "ghost", tooltip = "Close", onClick = "onCloseClicked" }), - }), - }) - - local children = { header } - children[#children + 1] = ui.row({ align = "center", justify = "space_between", fill = statusColor .. "/0.08", radius = 8, paddingH = 9, paddingV = 6 }, { - ui.row({ align = "center", gap = 6 }, { - ui.glyph({ name = statusGlyph, size = 8, color = statusColor }), - ui.label({ text = statusLabel, fontSize = 10, fontWeight = "bold", color = statusColor }), - }), - ui.label({ text = "Updates every " .. tostring(refreshIntervalSec) .. " seconds", fontSize = 11, color = "on_surface_variant" }), - }) - children[#children + 1] = ui.separator({ spacing = 2, color = "outline", opacity = 0.20 }) - - if errorMsg ~= "" and #providers > 0 then - children[#children + 1] = ui.row({ fill = "error/0.10", radius = 8, padding = 8, align = "center", gap = 7 }, { - ui.glyph({ name = "alert-circle", size = 13, color = "error" }), - ui.label({ text = errorMsg .. " · showing last known data", fontSize = 11, color = "error", maxLines = 2 }), - }) - end - - local content = {} - if #providers == 0 then - content[#content + 1] = ui.column({ align = "center", paddingV = 40, gap = 10 }, { - ui.glyph({ name = errorMsg ~= "" and "alert-circle" or "loader-2", size = 28, color = errorMsg ~= "" and "error" or "primary" }), - ui.label({ text = errorMsg ~= "" and errorMsg or "Waiting for CodexBar…", fontSize = 13, color = errorMsg ~= "" and "error" or "on_surface_variant" }), - }) - else - for index, provider in ipairs(providers) do - content[#content + 1] = providerCard(provider, index) - end - end - - -- The root column and this scroll child both need flexGrow. This bounds - -- arbitrary provider counts instead of allowing the panel to clip. - children[#children + 1] = ui.scroll({ key = "usage-providers", flexGrow = 1, gap = 10 }, content) - panel.render(ui.column({ flexGrow = 1, padding = 14, gap = 8 }, children)) -end - -noctalia.state.watch("providers", function(value) - if type(value) == "table" then - providers = value - render() - end -end) - -noctalia.state.watch("error", function(value) - if type(value) == "string" then - errorMsg = value - render() - end -end) - -function onOpen(_context) - panelOpen = true - local existing = noctalia.state.get("providers") - if type(existing) == "table" then providers = existing end - local existingError = noctalia.state.get("error") - if type(existingError) == "string" then errorMsg = existingError end - render() -end - -function onClose() - panelOpen = false -end - -function onCloseClicked() - panel.close() -end - -function onRefresh() - noctalia.state.set("command", { action = "refresh" }) -end diff --git a/codexbar-meter/plugin.toml b/codexbar-meter/plugin.toml deleted file mode 100644 index 1b55e7b..0000000 --- a/codexbar-meter/plugin.toml +++ /dev/null @@ -1,69 +0,0 @@ -id = "salemsayed/codexbar-meter" -name = "CodexBar Meter" -version = "1.0.0" -plugin_api = 8 -author = "salemsayed" -license = "MIT" -icon = "chart-donut-3" -description = "A native CodexBar-powered usage meter for enabled AI providers." -tags = ["bar", "panel", "ai", "indicator", "utility"] -dependencies = ["codexbar", "timeout"] - -[[setting]] -key = "codexbarPath" -type = "string" -label_key = "settings.codexbar_path.label" -description_key = "settings.codexbar_path.description" -default = "codexbar" - -[[setting]] -key = "refreshIntervalSec" -type = "int" -label_key = "settings.refresh_interval.label" -description_key = "settings.refresh_interval.description" -default = 60 -min = 30 -max = 3600 - -[[setting]] -key = "barProviderLimit" -type = "int" -label_key = "settings.bar_provider_limit.label" -description_key = "settings.bar_provider_limit.description" -default = 2 -min = 1 -max = 4 - -[[widget]] -id = "bar" -entry = "bar_widget.luau" - -[[panel]] -id = "panel-compact" -entry = "panel.luau" -width = 430 -height = 390 -placement = "attached" -position = "auto" -open_near_click = true -dismiss_on_outside_click = true - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 430 -height = 560 -placement = "attached" -position = "auto" -open_near_click = true -dismiss_on_outside_click = true - -[[panel]] -id = "panel-tall" -entry = "panel.luau" -width = 430 -height = 720 -placement = "attached" -position = "auto" -open_near_click = true -dismiss_on_outside_click = true diff --git a/codexbar-meter/thumbnail.webp b/codexbar-meter/thumbnail.webp deleted file mode 100644 index 003b9184efc7bb0f0d85e67b7c4b8822ae259b15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92096 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

v_4 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 0.5 then d / (2 - max - min) else d / (max + min) - if max == r then - h = (g - b) / d + (if g < b then 6 else 0) - elseif max == g then - h = (b - r) / d + 2 - else - h = (r - g) / d + 4 - end - h = h / 6 - end - - return math.floor(h * 360 + 0.5), math.floor(s * 100 + 0.5), math.floor(l * 100 + 0.5) -end - -local function formatHex(hex: string, alpha: number): string - if alpha < 1 then - return hex .. string.format("%02x", math.floor(alpha * 255 + 0.5)) - end - return hex -end - -local function formatRgb(hex: string, alpha: number): string - local r, g, b = hexToRgb(hex) - if alpha < 1 then - return string.format("rgba(%d, %d, %d, %.2f)", r, g, b, alpha) - end - return string.format("rgb(%d, %d, %d)", r, g, b) -end - -local function formatHsl(hex: string, alpha: number): string - local r, g, b = hexToRgb(hex) - local h, s, l = rgbToHsl(r, g, b) - if alpha < 1 then - return string.format("hsla(%d, %d%%, %d%%, %.2f)", h, s, l, alpha) - end - return string.format("hsl(%d, %d%%, %d%%)", h, s, l) -end - -local function hexWithAlpha(hex: string, alpha: number): string - if alpha >= 1 then - return hex - end - return hex .. string.format("%02x", math.floor(alpha * 255 + 0.5)) -end - ---============================================== --- COLOR TEXT PARSING (field input -> hex) ---============================================== - -local function parseRgbText(text: string): string? - local r, g, b = text:match("^%s*(%d+)%s*,%s*(%d+)%s*,%s*(%d+)") - if r == nil then - return nil - end - r, g, b = tonumber(r), tonumber(g), tonumber(b) - if r > 255 or g > 255 or b > 255 then - return nil - end - return string.format("#%02x%02x%02x", r, g, b) -end - -local function parseHslText(text: string): string? - local h, s, l = text:match("^%s*(%d+)%s*,%s*(%d+)%%?%s*,%s*(%d+)%%?") - if h == nil then - return nil - end - h, s, l = tonumber(h), tonumber(s) / 100, tonumber(l) / 100 - - local function hueToRgb(p: number, q: number, t: number): number - if t < 0 then t = t + 1 end - if t > 1 then t = t - 1 end - if t < 1 / 6 then return p + (q - p) * 6 * t end - if t < 1 / 2 then return q end - if t < 2 / 3 then return p + (q - p) * (2 / 3 - t) * 6 end - return p - end - - local r, g, b - if s == 0 then - r, g, b = l, l, l - else - local q = if l < 0.5 then l * (1 + s) else l + s - l * s - local p = 2 * l - q - local hn = h / 360 - r = hueToRgb(p, q, hn + 1 / 3) - g = hueToRgb(p, q, hn) - b = hueToRgb(p, q, hn - 1 / 3) - end - - return string.format( - "#%02x%02x%02x", - math.floor(r * 255 + 0.5), - math.floor(g * 255 + 0.5), - math.floor(b * 255 + 0.5) - ) -end - -local function parseHexText(text: string): string? - local clean = text:match("^#?(%x%x%x%x%x%x)$") - if clean == nil then - return nil - end - return "#" .. clean -end - ---============================================== --- SERVICE DISPATCH ---============================================== - -local function sendToService(event: string, payload: string?) - local cmd = "noctalia msg plugin " .. SERVICE .. " all " .. event - if payload ~= nil then - cmd = cmd .. " '" .. payload .. "'" - end - noctalia.runAsync(cmd, function() end) -end - -local function commitInitialColorIfFirstChange(newHex: string?) - if initialChanged then return end - if initialSessionColor == nil then return end - if newHex == nil or newHex == initialSessionColor then return end - - initialChanged = true - local payload = initialSessionColor .. ":" .. tostring(initialSessionOpacity) - -- noctalia.notify("DEBUG", "Push initial color = ".. initialSessionColor .. "\nOpacity = " .. initialSessionOpacity) - sendToService("push-to-history", payload) -end - ---============================================== --- STATE (read-only view + pure-UI selection) --- These states are synced and persisted to disk by the service on close. ---============================================== - -local function getSelectedColor(): string? - return noctalia.state.get("selectedColor") -end - -local function getSelectedOpacity(): number - return tonumber(noctalia.state.get("selectedOpacity")) or 1 -end - -local function setSelected(hex: string, opacity: number) - commitInitialColorIfFirstChange(hex) - noctalia.state.set("selectedColor", hex) - noctalia.state.set("selectedOpacity", opacity) -end - ---============================================== --- RENDERING ---============================================== - -local function renderTitlebar() - return ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("color_picker"), fontSize = 18, fontWeight = "bold", color = "primary", flexGrow = 1 }), - ui.button({ glyph = "color-picker", onClick = "onPickClickedFromPanel" }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }) -end - -local function renderRecentItem(color: string, index: number) - return ui.box({ - width = 32, - height = 32, - fill = color, - radius = swatch_radius / 2.5, - border = "outline", - onClick = function() handleHistoryClick(index) end, - }) -end - --- Recent-colors row -function renderRecent() - local recent = noctalia.state.get("colorHistory") or {} - - if #recent == 0 then - return ui.label({ text = tr("no_history"), fontSize = 12, color = "muted" }) - end - - local items = {} - for i = #recent, 1, -1 do - table.insert(items, renderRecentItem(recent[i].hex, i)) - end - - return ui.row({ gap = 8, align = "center" }, items) -end - -local function renderColorspaceColumn(name: string, value: string, onSubmit: string, onCopy: string, keySuffix: string) - local text_align = "left" - if name ~= "HEX" then - value = value:match("%((.-)%)") - text_align = "center" - end - - return ui.column({ gap = 4, flexGrow = 1 }, { - ui.label({ text = name, fontSize = 14, color = "on_surface_variant" }), - ui.row({ gap = 8, align = "center" }, { - ui.input({ - key = name .. "-input-" .. keySuffix, - value = value, - textAlign = text_align, - flexGrow = 1, - onSubmit = onSubmit, - }), - ui.button({ glyph = "copy", variant = "ghost", onClick = onCopy }), - }), - }) -end - -local function render() - local current = getSelectedColor() - local opacity = getSelectedOpacity() - - if current == nil then - panel.render(ui.column({ gap = 12, padding = 16 }, { - renderTitlebar(), - ui.label({ text = tr("no_color_picked"), padding = { top = 8 } }), - renderRecent(), - })) - return - end - - panel.render(ui.column({ gap = 12, padding = 16 }, { - renderTitlebar(), - - ui.row({ gap = 12, align = "stretch" }, { - ui.column({ gap = 8, flexGrow = 2 }, { - ui.label({ text = tr("recent_colors"), fontSize = 14, color = "on_surface_variant" }), - renderRecent(), - }), - ui.column({ gap = 8, flexGrow = 2 }, { - ui.label({ text = tr("opacity"), fontSize = 14, color = "on_surface_variant" }), - ui.slider({ min = 0, max = 1, step = 0.01, value = opacity, onChange = "onOpacityChange", onDragEnd = "onOpacityDragEnd" }), - }), - -- Render current swatch - ui.box({ - width = 128, - height = 64, - fill = hexWithAlpha(current, opacity), - radius = swatch_radius, - border = "outline", - borderWidth = 2, - flexGrow = 1, - onClick = "onNativePickerClicked" - }), - }), - - ui.row({ gap = 12 }, { - renderColorspaceColumn("HEX", formatHex(current, opacity), "onSubmitHex", "onCopyHex", current .. "-" .. opacity), - renderColorspaceColumn("RGB", formatRgb(current, opacity), "onSubmitRgb", "onCopyRgb", current .. "-" .. opacity), - renderColorspaceColumn("HSL", formatHsl(current, opacity), "onSubmitHsl", "onCopyHsl", current .. "-" .. opacity), - }), - })) -end - ---============================================== --- CALLBACKS: history interaction (pure UI, no service call) ---============================================== - -function handleHistoryClick(index: number) - local history = noctalia.state.get("colorHistory") or {} - local entry = history[index] - if entry then - setSelected(entry.hex, entry.opacity or 1) - render() - end -end - ---============================================== --- CALLBACKS: colorspace fields (pure UI, no service call) ---============================================== - -local function processSubmit(parseText: (string) -> string?, text: string) - local color_value = parseText(text) - if color_value == nil then return end - - setSelected(color_value, getSelectedOpacity()) - render() -end - -function onSubmitHex(text: string) processSubmit(parseHexText, text) end -function onSubmitRgb(text: string) processSubmit(parseRgbText, text) end -function onSubmitHsl(text: string) processSubmit(parseHslText, text) end - -local function processCopy(format: (string, number) -> string) - local current = getSelectedColor() - if current == nil then return end - - local text = format(current, getSelectedOpacity()) - noctalia.copyToClipboard(text, "text/plain;charset=utf-8") - noctalia.notify(tr_color_picker, tr("color_copied", { color = text })) -end - -function onCopyHex() processCopy(formatHex) end -function onCopyRgb() processCopy(formatRgb) end -function onCopyHsl() processCopy(formatHsl) end - -function onOpacityChange(value) - local parsed = tonumber(value) - if parsed == nil then return end - - noctalia.state.set("selectedOpacity", parsed) - render() -end - -function onOpacityDragEnd(value) - local parsed = tonumber(value) - if parsed == nil then return end - - local currentHex = getSelectedColor() - if currentHex then - setSelected(currentHex, parsed) - end -end - ---============================================== --- CALLBACKS: picking (delegates to the service) ---============================================== - --- Panel's own pick button: just closes the panel (so it doesn't cover the --- area being sampled). The actual pick is triggered from onClose(), which --- only fires once the close animation has actually finished -- firing the --- pick here instead would race the animation and hyprpicker would freeze --- mid-transition. -function onPickClickedFromPanel() - waitingForPanelPick = true - panel.close() -end - -function onNativePickerClicked() - sendToService("picker-dialog") -end - -function onCloseClicked() - panel.close() -end - --- Panel closed. Two cases: --- - Technical close to hand off to hyprpicker (waitingForPanelPick): ask --- the service to pick now that the close animation is done, then wait --- for the selectedColor watch to reopen the panel. --- --- - Real close (close button, Esc, click outside): save whatever is --- currently selected to the service's SELECTED_FILE. -function onClose() - if waitingForPanelPick then - sendToService("pick-panel") - return - end - sendToService("save-selected") -end - -function onOpen(context) - initialChanged = false - initialSessionColor = getSelectedColor() - initialSessionOpacity = getSelectedOpacity() - - noctalia.state.watch("selectedColor", function(newHex: string?) - if waitingForPanelPick then - waitingForPanelPick = false - noctalia.togglePanel("oldirtty/color_picker:panel") - return - end - - -- Covers changes the service made directly (panel pick button, native - -- picker dialog), which bypass this panel's setSelected(). - commitInitialColorIfFirstChange(newHex) - - render() - end) - - noctalia.state.watch("colorHistory", function() - render() - end) - - render() -end diff --git a/color_picker/plugin.toml b/color_picker/plugin.toml deleted file mode 100644 index 42a5a6b..0000000 --- a/color_picker/plugin.toml +++ /dev/null @@ -1,103 +0,0 @@ -author = "oldirtty" -id = "oldirtty/color_picker" -name = "Color Picker" -description = "Pick a color from your screen with hyprpicker." -license = "MIT" -version = "1.0.5" -plugin_api = 9 -icon = "palette" -dependencies = ["hyprpicker"] -tags = ["theming", "utility", "bar", "panel"] - -[[setting]] -key = "hyprpicker-format" -type = "select" -default = "hex" -label_key = "settings.hyprpicker_format.label" -description_key = "settings.hyprpicker_format.description" -options = [ - { value = "hex", label_key = "hex" }, - { value = "rgb", label_key = "rgb" } -] - -[[setting]] -key = "hyprpicker-lowercase" -type = "bool" -label_key = "settings.hyprpicker_lowercase.label" -description_key = "settings.hyprpicker_lowercase.description" -visible_when = { key = "hyprpicker-format", values = ["hex"]} -default = false - -[[setting]] -key = "swatch-radius" -type = "int" -label_key = "settings.swatch_radius.label" -description_key = "settings.swatch_radius.description" -default = 8 -min = 0 -max = 64 - -[[setting]] -key = "hyprpicker-no-zoom" -type = "bool" -label_key = "settings.hyprpicker_no_zoom.label" -description_key = "settings.hyprpicker_no_zoom.description" -default = false - -[[setting]] -key = "hyprpicker-scale" -type = "int" -label_key = "settings.hyprpicker_scale.label" -description_key = "settings.hyprpicker_scale.description" -visible_when = { key = "hyprpicker-no-zoom", values = ["false"]} -default = 10 -min = 1 -max = 10 - -[[setting]] -key = "hyprpicker-radius" -type = "int" -label_key = "settings.hyprpicker_radius.label" -description_key = "settings.hyprpicker_radius.description" -visible_when = { key = "hyprpicker-no-zoom", values = ["false"]} -default = 100 -min = 1 -max = 1000 - -[[setting]] -key = "hyprpicker-disable-preview" -type = "bool" -label_key = "settings.hyprpicker_disable_preview.label" -description_key = "settings.hyprpicker_disable_preview.description" -visible_when = { key = "hyprpicker-no-zoom", values = ["false"]} -default = false - -[[setting]] -key = "hyprpicker-cursor" -type = "bool" -label_key = "settings.hyprpicker_cursor.label" -description_key = "settings.hyprpicker_cursor.description" -default = false - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "glyph" - default = "palette" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 720 -height = 240 -placement = "floating" -position = "center" - -# Headless background service: owns the hyprpicker backend -[[service]] -id = "service" -entry = "service.luau" diff --git a/color_picker/service.luau b/color_picker/service.luau deleted file mode 100644 index 7c63591..0000000 --- a/color_picker/service.luau +++ /dev/null @@ -1,296 +0,0 @@ --- [[service]] entry: --- owns all hyprpicker interaction, color history, and disk persistence. --- Headless -- no UI. Widget and panel talk to it via onIpc, never touch --- hyprpicker or the history file directly. ---!nocheck ---!nolint UnknownGlobal - ---============================================== --- CONSTANTS ---============================================== -local MAX_HISTORY = 6 -local PERSISTENT_DIR = noctalia.pluginDataDir() -local HISTORY_FILE = PERSISTENT_DIR .. "/history.json" -local SELECTED_FILE = PERSISTENT_DIR .. "/selected.json" -local tr_color_picker = noctalia.tr("color_picker") - ---============================================== --- TRANSLATION HELPER ---============================================== -local function tr(key: string, subst: table?): string - if subst then - return noctalia.tr(key, subst) - end - return noctalia.tr(key) -end - ---============================================== --- HYPRPICKER COMMAND BUILDER ---============================================== - --- Builds the hyprpicker argv from plugin settings. Returns an array of --- shell-safe tokens; join with spaces before passing to noctalia.runAsync, --- which only accepts a single command string. -local function buildHyprpickerArgs(): { string } - local args = { "hyprpicker", "-a" } - - if noctalia.getConfig("hyprpicker-format") == "rgb" then - table.insert(args, "-f") - table.insert(args, "rgb") - end - - if noctalia.getConfig("hyprpicker-cursor") then - table.insert(args, "--cursor") - end - - if noctalia.getConfig("hyprpicker-disable-preview") then - table.insert(args, "--disable-preview") - end - - if noctalia.getConfig("hyprpicker-lowercase") then - table.insert(args, "--lowercase-hex") - end - - if noctalia.getConfig("hyprpicker-no-zoom") then - table.insert(args, "--no-zoom") - return args -- returns earlier since next args apply only when zoom is enabled - end - - local scale = noctalia.getConfig("hyprpicker-scale") - if scale ~= nil then - table.insert(args, "--scale=" .. tostring(scale)) - end - - local radius = noctalia.getConfig("hyprpicker-radius") - if radius ~= nil then - table.insert(args, "--radius=" .. tostring(radius)) - end - - return args -end - -local function hyprpickerCommand(): string - return table.concat(buildHyprpickerArgs(), " ") -end - -local function parsePickerOutput(output: string): string? - -- Tries Hex first - local hex = output:match("#%x%x%x%x%x%x") - if hex then - -- Garante que o retorno é maiúsculo - return hex:upper() - end - - -- Then tries RGB - local r, g, b = output:match("(%d+)%s+(%d+)%s+(%d+)") - if r and g and b then - -- Usa %02X (X MAIÚSCULO) para retornar Hex maiúsculo - return string.format("#%02X%02X%02X", tonumber(r), tonumber(g), tonumber(b)) - end - - return nil -end - -local function formatRgb(hex: string): string - local r = tonumber(hex:sub(2, 3), 16) - local g = tonumber(hex:sub(4, 5), 16) - local b = tonumber(hex:sub(6, 7), 16) - return string.format("rgb(%d, %d, %d)", r, g, b) -end - ---============================================== --- STATE MODEL --- --- selectedColor / selectedOpacity: persisted color, state is saved once --- per panel session when closed. - --- colorHistory: persisted list. --- Only mutated by pushCurrentColor(), called on immediate-commit picks --- (widget right-click) and on "commit" (panel close). ---============================================== - -local function setSelected(hex: string, opacity: number) - noctalia.state.set("selectedColor", hex) - noctalia.state.set("selectedOpacity", opacity) -end - --- Moves (or inserts) a color to the front of colorHistory, capped at --- MAX_HISTORY entries. Memory only -- callers decide when to persist. -local function pushCurrentColor(hex: string, opacity: number) - hex = hex:upper() -- Garante o padrão maiúsculo - local history = noctalia.state.get("colorHistory") or {} - - for i, entry in ipairs(history) do - if entry.hex and entry.hex:upper() == hex then - table.remove(history, i) - break - end - end - - table.insert(history, 1, { hex = hex, opacity = opacity }) - - while #history > MAX_HISTORY do - table.remove(history) - end - - noctalia.state.set("colorHistory", history) -end - -local function loadHistoryFromDisk() - local raw = noctalia.readFile(HISTORY_FILE) - if raw == nil or raw == "" then return end - - local decoded = noctalia.json.decode(raw) - if type(decoded) ~= "table" then return end - - noctalia.state.set("colorHistory", decoded) -end - -local function saveHistoryToDisk() - local history = noctalia.state.get("colorHistory") or {} - local encoded = noctalia.json.encode(history) - if encoded ~= nil then - noctalia.writeFile(HISTORY_FILE, encoded) - end -end - -local function loadSelectedFromDisk() - local raw = noctalia.readFile(SELECTED_FILE) - if raw == nil or raw == "" then return end - - local decoded = noctalia.json.decode(raw) - if type(decoded) ~= "table" or decoded.hex == nil then return end - - setSelected(decoded.hex, decoded.opacity or 1) -end - -local function saveSelectedToDisk() - local hex = noctalia.state.get("selectedColor") - if hex == nil then return end - - local opacity = tonumber(noctalia.state.get("selectedOpacity")) or 1 - local encoded = noctalia.json.encode({ hex = hex, opacity = opacity }) - if encoded ~= nil then - noctalia.writeFile(SELECTED_FILE, encoded) - end -end - ---============================================== --- PICKING ---============================================== - --- Runs hyprpicker and invokes onResult(hex) on success. onResult is nil-safe --- to call with nil (caller decides what "no result" means for that flow). -local function runPicker(onResult: (string?, string?) -> ()) - if not noctalia.commandExists("hyprpicker") then - noctalia.notifyError(tr_color_picker, tr("hyprpicker_not_installed")) - onResult(nil, nil) - return - end - - noctalia.runAsync(hyprpickerCommand(), function(result) - if result.exitCode ~= 0 then - onResult(nil, nil) - return - end - - local hex = parsePickerOutput(result.stdout or "") - if hex == nil then - noctalia.notifyError(tr_color_picker, tr("could_not_parse")) - onResult(nil, nil) - return - end - - local copyText = hex - if noctalia.getConfig("hyprpicker-format") == "rgb" then - copyText = formatRgb(hex) - elseif noctalia.getConfig("hyprpicker-lowercase") then - copyText = hex:lower() - end - - noctalia.copyToClipboard(copyText, "text/plain;charset=utf-8") - onResult(hex, copyText) - end) -end - ---============================================== --- IPC --- --- "pick" - immediate commit (widget right-click). Picks, pushes to --- history, saves to disk right away. --- "pick-panel" - panel's own pick button. Picks and updates the selection --- only; history/disk are untouched until "commit". --- "push-to-history" - saves the initial panel color to history when it's first changed. --- "save-selected" - panel is closing for real. Saves the current draft to SELECTED_FILE. ---============================================== - -local function handlePick() - runPicker(function(hex, copyText) - if hex == nil then return end - - setSelected(hex, 1) - pushCurrentColor(hex, 1) - saveHistoryToDisk() - noctalia.notify(tr_color_picker, tr("color_picked", { color = copyText })) - end) -end - -local function handlePickFromPanel() - runPicker(function(hex, copyText) - if hex == nil then return end - - setSelected(hex, 1) - noctalia.notify(tr_color_picker, tr("color_picked", { color = copyText })) - end) -end - -local function handlePushToHistory(payload: string?) - if payload == nil then return end - - local hex, opacityStr = payload:match("^(#%x%x%x%x%x%x):([%d%.]+)$") - if hex == nil then return end - - pushCurrentColor(hex, tonumber(opacityStr) or 1) - saveHistoryToDisk() -end - --- Opens Noctalia's native color picker dialog -local function handleNativePicker() - local current = noctalia.state.get("selectedColor") or "#FFFFFF" - local accepted = noctalia.openColorPicker(current, function(color) - if color == nil then - return - end - - setSelected(color, noctalia.state.get("selectedOpacity") or 1) - end) - - if not accepted then - noctalia.notify(tr_color_picker, tr("picker_already_open")) - end -end - -function onIpc(event: string, payload: string?) - if event == "pick" then - handlePick() - elseif event == "picker-dialog" then - handleNativePicker() - elseif event == "pick-panel" then - handlePickFromPanel() - elseif event == "push-to-history" then - handlePushToHistory(payload) - elseif event == "save-selected" then - saveSelectedToDisk() - end -end - ---============================================== --- BOOT (runs once at load) ---============================================== - -function load() - noctalia.mkdirAll(PERSISTENT_DIR) - loadHistoryFromDisk() - loadSelectedFromDisk() -end -load() diff --git a/color_picker/thumbnail.webp b/color_picker/thumbnail.webp deleted file mode 100644 index 2f2b2af198f0467f7dda373cc3111a1a314df8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81160 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 cached preview image path -local previewPending = {} - -local configWidth = 800 -- Preview dialog size -local configHeight = 600 - --- Data model - -type infoConfig = { - name: string, -- Configuration name - author: string, -- Configuration author - origin: string, -- Distribution/source (NixOS, Arch, CachyOS, etc.) - preview: string, -- Preview image path (preview.png) - path: string, -- Config path (example: config/{name}) - description: string, -- Short description - wallpaperPath: string, -- Wallpaper path - depedencie: boolean, -- Whether extra dependencies are required -} - --- Resolve Noctalia state directory - -local function resolveStateDir() - return noctalia.getenv("NOCTALIA_STATE_HOME") - or ((noctalia.getenv("XDG_STATE_HOME") or ((noctalia.getenv("HOME") or "") .. "/.local/state")) .. "/noctalia") -end - --- Detecte dangerous charactère - -function isDetect(target: string) - local match_string = "[/.$();]" - - if string.match(target, match_string) then - return true - else - return false - end -end - --- Store listing cache - -local allConfig: { infoConfig } = {} - -local requestFetchList = { - url = "https://api.github.com/repos/Tadomika-Ari/Config-Swap-Box/contents/config", - method = "GET", - headers = { "Accept: application/json", "User-Agent: Config-Swap-Box-Plugin" }, - follow_redirects = true -} - --- Translation helper - -function tr(key, subst) - if subst then - return noctalia.tr("panel." .. key, subst) - end - return noctalia.tr("panel." .. key) -end - --- Build settings.toml path from the resolved state dir - -function takePosSetting() - local noctaliaStateDir = resolveStateDir() - local settingsTomlPath = noctaliaStateDir .. "/settings.toml" - return settingsTomlPath -end - --- Shell escaping to safely build external commands - -local function shellQuote(s) - return "'" .. tostring(s):gsub("'", "'\\''") .. "'" -end - - --- Welcome warning screen - -local function welcomeWarning() -- Shown after startup; refusing closes the plugin - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("title"), textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - }), - ui.label({ text = tr("welcome_message_title"), textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("welcome_message1"), textAlign = "center", fontSize = 14, color = "on_surface_variant" }), - ui.label({ text = tr("welcome_message2"), textAlign = "center", fontSize = 14, color = "on_surface_variant" }), - ui.row({ gap = 8, justify = "center" }, { - ui.button({ text = tr("not_agree"), variant = "ghost", onClick = "onCloseClicked" }), - ui.button({ text = tr("agree"), onClick = function() - selectedView = 1 - render() - end - }), - }), - })) -end - -local function renderConfirmApply(data: infoConfig) -- Confirmation dialog before applying a config - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("title"), textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - }), - ui.label({ text = tr("confirmation"), textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = data.name, textAlign = "center", fontSize = 14, color = "on_surface_variant" }), - ui.label({ text = tr("description_confirmation"), textAlign = "center", fontSize = 13, color = "on_surface_variant" }), - ui.row({ gap = 8, justify = "center" }, { - ui.button({ text = tr("cancel"), variant = "ghost", onClick = "render" }), - ui.button({ text = tr("apply"), variant = "primary", onClick = function() - applyConfig(data) - render() - end - }), - }), - })) -end - --- Apply selected config and wallpaper - -function applyConfig(data: infoConfig) - noctalia.notify(tr("apply_notification_title")) - - if isDetect(data.name) == true then -- detecte malicious name - noctalia.notify(tr("apply_notification_title"), "Invalid name. Please check your info.json") - return - end - - local pathSettings = takePosSetting() - if not pathSettings then - noctalia.notify(tr("notification_title"), "Path not found, please check your setting toml") - return - end - - local src = shellQuote(noctalia.expandPath(configBox .. "/" .. data.name .. "/settings.toml")) - local dest = shellQuote(noctalia.expandPath(pathSettings)) - local cmd = "cp " .. src .. " " .. dest - - noctalia.runAsync(cmd, function(result) - if result and result.exitCode == 0 then - noctalia.setWallpaper(configBox .. "/" .. data.name .. "/wallpaper.png") - else - noctalia.notify(tr("notification_title"), "swap failed") - end - end) -end - --- Download the full config bundle: settings, info json, preview, wallpaper - -function downloadConfig(data: infoConfig) - noctalia.notify(tr("install_notification_title")) - - if isDetect(data.name) == true then - noctalia.notify("Download", "Invalide name detected, please check target config") - return - end - - noctalia.mkdirAll(configBox .. "/" .. data.name) - - local path = data.path .. "/settings.toml" - local url = "https://raw.githubusercontent.com/Tadomika-Ari/Config-Swap-Box/main/" .. path - noctalia.download(url, configBox .. "/" .. data.name .. "/settings.toml" , function(ok) - if ok then - noctalia.notify(tr("notification_title"), tr("download_ok")) - else - noctalia.notify(tr("notification_title"), tr("download_failed")) - end - end) - local path = data.path .. "/info.json" - local url = "https://raw.githubusercontent.com/Tadomika-Ari/Config-Swap-Box/main/" .. path - noctalia.download(url, configBox .. "/" .. data.name .. "/info.json" , function(ok) - if ok then - noctalia.notify(tr("notification_title"), tr("download_ok")) - else - noctalia.notify(tr("notification_title"), tr("download_failed")) - end - end) - local path = data.path .. "/preview.png" - local url = "https://raw.githubusercontent.com/Tadomika-Ari/Config-Swap-Box/main/" .. path - noctalia.download(url, configBox .. "/" .. data.name .. "/preview.png" , function(ok) - if ok then - noctalia.notify(tr("notification_title"), tr("download_ok")) - else - noctalia.notify(tr("notification_title"), tr("download_failed")) - end - end) - local path = data.path .. "/wallpaper.png" - local url = "https://raw.githubusercontent.com/Tadomika-Ari/Config-Swap-Box/main/" .. path - noctalia.download(url, configBox .. "/" .. data.name .. "/wallpaper.png" , function(ok) - if ok then - noctalia.notify(tr("notification_title"), tr("download_ok")) - else - noctalia.notify(tr("notification_title"), tr("download_failed")) - end - end) -end - --- GitHub store preview cache - -local function previewCachePath(name) - -- Keep cached previews under plugin data to avoid repeated downloads. - local dir = noctalia.pluginDataDir() .. "/preview-cache" - noctalia.mkdirAll(dir) - return dir .. "/" .. name .. ".png" -end - -local function queuePreviewDownload(name) - -- Prevent duplicate requests for the same preview while one is in flight. - if previewCache[name] ~= nil or previewPending[name] then - return - end - - local dest = previewCachePath(name) - if noctalia.fileExists(dest) then - previewCache[name] = dest - return - end - - previewPending[name] = true - local url = "https://raw.githubusercontent.com/Tadomika-Ari/Config-Swap-Box/main/config/" .. name .. "/preview.png" - - noctalia.download(url, dest, function(ok) - previewPending[name] = nil - if ok then - previewCache[name] = dest - render() - end - end) -end - --- Delete an installed config - -local function delete(name) - - if not name or name == "" then - noctalia.notify("Delete", "invalid name") - return - end - - if isDetect(name) == true then -- detecte malicious name - noctalia.notify("Delete", "Invalide Name. Please check info.json") - return - end - - local target = noctalia.expandPath(configBox .. "/" .. name) - local cmd = "rm -rf " .. shellQuote(target) -- shellQuote protects the rm target path - noctalia.runAsync(cmd, function(result) - if result and result.exitCode == 0 then - noctalia.notify("Delete Ok") - else - noctalia.notify("Delete failed") - end - end) - render() -end - -local function renderDeleteConfirmation(name) -- Confirmation panel before deleting a config - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.label({ text = tr("confirmation_delete") .. name .. "?", align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ text = tr("delete"), onClick = function() - delete(name) - end - }), - ui.button({ glyph = "close", onClick = "render" }), - })) -end - --- Save/backup settings section - -local noctaliaStateDir = resolveStateDir() -local settingsTomlPath = noctaliaStateDir .. "/settings.toml" -- Active settings file path - -local saveNameInput = "save" - -local function saveConfig() - local name = saveNameInput ~= "" and saveNameInput or "save" - - if isDetect(name) then -- detecte special charactere - noctalia.notify("Save", "Invalid Name") - return - end - - local savePath = configBox .. "/" .. name - noctalia.mkdirAll(savePath) - - local settingFile: infoConfig = { - name = name, - description = "save for reset", - path = configBox .. "/" .. name, - origin = "not give", - wallpaperPath = nil, - depedencie = false, - preview = nil, - author = noctalia.getenv("USER"), - } - local jsonData = noctalia.json.encode(settingFile) - noctalia.writeFile(savePath .. "/info.json", jsonData) - - local content = noctalia.readFile(settingsTomlPath) - if content then - noctalia.writeFile(savePath .. "/settings.toml", content) - noctalia.notify("Save", "Save ok : " .. name) - render() - else - noctalia.notify("Save", "settings.toml not found") - end -end - -function onSaveNameChange(value) - saveNameInput = value -end - -local function renderSetting() - local rowsSettings = { - ui.column({ gap = 8 }, { - ui.label({ - text = tr("description_setting1"), - fontSize = 12, - color = "on_surface_variant", - }), - ui.row({ flexGrow = 1, gap = 16, align = "center" }, { - ui.input({ - key = "save-name-input", - value = saveNameInput, - placeholder = "Save name", - onChange = "onSaveNameChange", - flexGrow = 1, - }), - ui.button({ text = tr("save"), onClick = function() - saveConfig() - end - }), - }), - }), - } - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.label({ text = "Setting section", textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ text = "X", onClick = "render"}), - ui.scroll({ gap = 12, align = "stretch", flexGrow = 1 }, rowsSettings), - })) -end - --- Store information panel - -local function renderInfoStore() - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("info_store_title"), textAlign = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ text = tr("info_store_github_button"), onClick = function() - noctalia.copyToClipboard("https://github.com/Tadomika-Ari/Config-Swap-Box", "text/plain") - noctalia.notify(tr("notification_title"), tr("info_store_copy_link_success")) - end - }), - ui.button({ glyph = "close", onClick = "render" }), - }), - ui.scroll({ gap = 16, align = "stretch", flexGrow = 1 }, { - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_store_what_is_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_store_what_is_body"), fontSize = 12, color = "on_surface_variant" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_store_installing_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_store_installing_body"), fontSize = 12, color = "on_surface_variant" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_store_applying_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_store_applying_body"), fontSize = 12, color = "on_surface_variant" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_store_community_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_store_community_body"), fontSize = 12, color = "on_surface_variant" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_how_to_submite_config_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_how_to_submite_config_body"), fontSize = 12, color = "on_surface_variant" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("info_store_rate_limits_title"), fontSize = 13, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = tr("info_store_rate_limits_body"), fontSize = 12, color = "on_surface_variant" }), - }), - }), - })) -end - -local function renderList() - - pickSlots = {} - local tiles = {} - local list = listConfig or {} - - for count = 1, #list, 1 do - local data = list[count] - local slotIndex = count - 1 - pickSlots[slotIndex] = data.path - - queuePreviewDownload(data.name) - - local imagePath = previewCache[data.name] or previewImage - - table.insert(tiles, ui.column({ gap = 4, key = data.path, align = "center" }, { - ui.image({ - path = imagePath, - width = previewWidth, - height = previewHeight, - fit = "cover", - radius = 8, - onClick = "" - }), - ui.row( {gap = 12, align = "start"}, { - ui.button({ text = tr("install"), onClick = function() - downloadConfig(data) - end - }), - ui.label({ - text = data.name, - fontSize = 11, - maxLines = 1, - maxWidth = 120, - textAlign = "center", - }), - } ), - })) - end - local rows = {} - local row = {} - for i, tile in ipairs(tiles) do - table.insert(row, tile) - if #row == columns or i == #tiles then - table.insert(rows, ui.row({ gap = 12, align = "start" }, row)) - row = {} - end - end - - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("title"), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.label({ text = tr("store_title"), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ text = tr("show_list"), onClick = function() - selectedView = 1 - render() - end - }), - ui.button({ text = "Info", onClick = function() - renderInfoStore() - end - }), - ui.button({ text = tr("refresh"), onClick = "getFetchList"}), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - ui.scroll({ gap = 12, align = "stretch", flexGrow = 1 }, rows), - })) -end - --- Installed config details panel - -local function renderConfig(data: infoConfig) - local rows = { - ui.image({ - path = configBox .. "/" .. data.name .. "/preview.png", - width = configWidth, - height = configHeight, - fit = "cover", - radius = 8, - }), - ui.label({ text = data.name, align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.label({ text = tr("created_by", { author = data.author }), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.label({ text = tr("origin", { origin = data.origin }), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.label({ text = tr("description", { description = data.description or "" }), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ glyph = "trash", onClick = function() - renderDeleteConfirmation(data.name) - end - }), - ui.button({ glyph = "close", onClick = "render" }), - } - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.scroll({ gap = 12, align = "stretch", flexGrow = 1 }, rows), - })) -end - --- List installed configs from ~/Config-Swap - -function getListInstall() - local localPath = configBox - local list = noctalia.listDir(localPath) - local listShow: { infoConfig } = {} - - for i, entryName in ipairs(list) do - local infoPath = configBox .. "/" .. entryName .. "/info.json" - local content = noctalia.readFile(infoPath) - local data = content and noctalia.json.decode(content) or nil - - if not data then - -- Fallback entry when info.json is missing or invalid. - table.insert(listShow, { - name = entryName, - path = "config/" .. entryName, - author = "None", - origin = "None", - preview = nil, - description = nil, - wallpaperPath = nil, - depedencie = false, - }) - continue - end - - table.insert(listShow, { - name = data.name, - path = data.path, - author = data.author, - origin = data.origin, - preview = data.preview, - description = data.description, - wallpaperPath = data.wallpaperPath, - depedencie = data.depedencie, - }) - end - return listShow -end - --- Render installed configs grid - -local function renderInstall() - pickSlots = {} - local tiles = {} - local list = getListInstall() or {} - for count = 1, #list, 1 do - local data = list[count] - local slotIndex = count - 1 - pickSlots[slotIndex] = data.path - table.insert(tiles, ui.column({ gap = 4, key = data.path, align = "center" }, { - ui.image({ - path = configBox .. "/" .. data.name .. "/preview.png", - width = previewWidth, - height = previewHeight, - fit = "cover", - radius = 8, - onClick = function() - renderConfig(data) - end - }), - ui.row( {gap = 12, align = "start"}, { - ui.button({ text = "delete", onClick = function() - renderDeleteConfirmation(data.name) - end - }), - ui.label({ - text = data.name, - fontSize = 11, - maxLines = 1, - maxWidth = 120, - textAlign = "center", - }), - ui.button({ text = "apply", onClick = function() - renderConfirmApply(data) - end - }), - } ), - })) - end - local rows = {} - local row = {} - for i, tile in ipairs(tiles) do - table.insert(row, tile) - if #row == columns or i == #tiles then - table.insert(rows, ui.row({ gap = 12, align = "start" }, row)) - row = {} - end - end - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.label({ text = tr("title"), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.label({ text = tr("installed_title"), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ text = tr("show_store"), onClick = function() - selectedView = 2 - render() - end - }), - ui.button({ text = "Setting", onClick = function() - renderSetting() - end - }), - ui.button({ text = tr("refresh"), onClick = "getFetchList"}), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - ui.scroll({ gap = 12, align = "stretch", flexGrow = 1 }, rows), - })) -end - --- Root view router - -function render() - if selectedView == 0 then - welcomeWarning() - end - if selectedView == 1 then - renderInstall() - end - if selectedView == 2 then - renderList() - end -end - --- Fetch available configs from GitHub - -function getFetchList(onDone) - allConfig = {} - noctalia.http(requestFetchList, function(respond) - noctalia.log("raw body: " .. tostring(respond.body)) - if not respond.ok then - noctalia.notify("Error", respond.status) - end - local data, err = noctalia.json.decode(respond.body) - if err then - noctalia.log(err) - return - end - for i, item in ipairs(data) do - table.insert(allConfig, { - name = item.name, - path = item.path, - author = nil, - depedencie = nil, - description = nil, - origin = nil, - preview = nil, - wallpaperPath = nil, - }) - end - listConfig = allConfig - render() - end) -end - --- Plugin entry points - -function onOpen(_context) - render() -end - -function onCloseClicked() - panel.close() -end \ No newline at end of file diff --git a/config-swap/config-swap-service.luau b/config-swap/config-swap-service.luau deleted file mode 100644 index ee8a9f7..0000000 --- a/config-swap/config-swap-service.luau +++ /dev/null @@ -1 +0,0 @@ -noctalia.mkdirAll("~/Config-Swap") \ No newline at end of file diff --git a/config-swap/config-swap-widget.luau b/config-swap/config-swap-widget.luau deleted file mode 100644 index e9b9d62..0000000 --- a/config-swap/config-swap-widget.luau +++ /dev/null @@ -1,7 +0,0 @@ -function update() - barWidget.setGlyph("file") -end - -function onClick() - noctalia.togglePanel("tadomika_ari/config-swap:panel") -end \ No newline at end of file diff --git a/config-swap/plugin.toml b/config-swap/plugin.toml deleted file mode 100644 index 489d94c..0000000 --- a/config-swap/plugin.toml +++ /dev/null @@ -1,24 +0,0 @@ -id = "tadomika_ari/config-swap" -name = "Config Swap" -version = "1.0.0" -plugin_api = 4 -author = "TadomiKa-Ari" -license = "MIT" -dependencies = ["cp", "rm"] -icon = "file" -description = "A Noctalia widget for applying Configuration file with one click" -tags = ["utility"] - -[[widget]] -id = "widget" -entry = "config-swap-widget.luau" - -[[panel]] -id = "panel" -entry = "config-swap-panel.luau" -width = 1000 -height = 800 - -[[service]] -id = "start" -entry = "config-swap-service.luau" \ No newline at end of file diff --git a/config-swap/thumbnail.webp b/config-swap/thumbnail.webp deleted file mode 100644 index fb975e84b8b551c1ac2a63681c8c211f6d08ce5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57732 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%0AKAWl*RVfdvvq2Rz|2LzlwJ7#{VddA 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 J^yV-y008elAcp_| diff --git a/config-swap/translations/en.json b/config-swap/translations/en.json deleted file mode 100644 index ce8312c..0000000 --- a/config-swap/translations/en.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "panel": { - "agree": "I understand", - "apply": "Apply", - "apply_notification_title": "Apply", - "cancel": "Cancel", - "confirmation": "Apply this configuration?", - "confirmation_delete": "Are you sure too delete ", - "created_by": "Created by {author}", - "delete": "delete", - "description": "Description: {description}", - "description_confirmation": "This will replace your current settings.toml and wallpaper. A backup is not created automatically unless you saved one first.", - "description_setting1": "Save your current configuration under a custom name at ~/Config-Swap/{name}. A default info.json is created and can be edited later at ~/Config-Swap/{name}/info.json. To set a preview, you can add preview.png to the config folder. This also works for wallpapers using wallpaper.png", - "download_failed": "Download failed", - "download_ok": "Download complete", - "info_how_to_submite_config_body": "You can contribute to Config Swap by adding your own configuration files and wallpaper to the store so others can use them.\n\nTo do so:\n* Go to the Settings section and save your configuration. The plugin will copy your settings.toml and create an info.json file.\n* Take a preview image and wallpaper, then go to ~/Config-Swap/{name} and copy your preview.png and wallpaper.png files. The exact names are required.\n* Update your info.json with important information such as the author and description.\n* Go to the GitHub page linked from the information panel in the Store section and create a pull request.\n* Wait for review, and then your configuration can be shared.", - "info_how_to_submite_config_title": "How to submit a configuration", - "info_store_applying_body": "Pressing apply replaces your active settings.toml and wallpaper with the selected profile. This is not reversible unless you saved a backup first from the Setting section.", - "info_store_applying_title": "Applying a profile", - "info_store_community_body": "Profiles are submitted by community members and are reviewed by the owner.", - "info_store_community_title": "Community content", - "info_store_copy_link_success": "copy link success", - "info_store_github_button": "github", - "info_store_installing_body": "Pressing install downloads the profile's files into ~/Config-Swap/{name}. This does not change your current configuration yet.", - "info_store_installing_title": "Installing a profile", - "info_store_rate_limits_body": "The store list is fetched from the GitHub API, which limits unauthenticated requests. Avoid refreshing repeatedly in a short period of time.", - "info_store_rate_limits_title": "Rate limits", - "info_store_title": "Info Store section", - "info_store_what_is_body": "The Store lists community-submitted configuration profiles hosted on the Config-Swap-Box GitHub repository. Each profile bundles a settings.toml, a preview image, and an optional wallpaper.", - "info_store_what_is_title": "What is the Store?", - "install": "Install", - "install_notification_title": "Install", - "installed_title": "Installed Configs", - "not_agree": "Not now", - "notification_title": "Config Swap", - "origin": "Origin: {origin}", - "refresh": "Refresh", - "save": "save", - "show_list": "Show List", - "show_store": "Show Store", - "store_title": "Config Store", - "title": "Config Swap", - "welcome_message1": "Please read this carefully before you continue.", - "welcome_message2": "This plugin can replace your current Noctalia configuration. We recommend backing up your current settings first — use the Save button in the Installed section. Backups are stored in ~/Config-Swap.", - "welcome_message_title": "Welcome to Config Swap!" - } -} diff --git a/daily-wallpaper/README.md b/daily-wallpaper/README.md deleted file mode 100644 index d8097ed..0000000 --- a/daily-wallpaper/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Daily Wallpaper - -Daily Wallpaper fetches Bing's image of the day or NASA's image of the day and -applies it through Noctalia's wallpaper API. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `nzlov/daily-wallpaper` | -| Entry | Service: `service` | - -## Usage - -Enable the plugin in Settings → Plugins. Its headless service checks for the -current image on startup and every ten minutes, applying at most one new image -per source and Bing locale each day. - -Choose Bing or NASA under the plugin's settings. Bing accepts a market locale -such as `en-US`, `de-DE`, or `fr-FR`; NASA ignores the locale setting. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `source` | `select` | `bing` | Selects Bing or NASA as the daily image source. | -| `locale` | `string` | *(automatic)* | Bing market locale; an empty value uses the service default. | - -## Notes - -The service contacts the selected provider and downloads images into a -dedicated `daily-wallpaper` cache directory. It removes cached images older -than five days. Repeated failures are logged, but error notifications are -limited to once per day. diff --git a/daily-wallpaper/daily_wallpaper.luau b/daily-wallpaper/daily_wallpaper.luau deleted file mode 100644 index dce80ed..0000000 --- a/daily-wallpaper/daily_wallpaper.luau +++ /dev/null @@ -1,278 +0,0 @@ ---!nonstrict --- Daily Wallpaper service for Noctalia 5. --- Fetches one Bing or NASA image per day, caches it locally, and applies it via --- the native Noctalia wallpaper API. - -local CHECK_INTERVAL_MS = 10 * 60 * 1000 -local RETENTION_SECONDS = 5 * 24 * 60 * 60 -local PLUGIN_CACHE_DIR = "daily-wallpaper" - -local checking = false -local lastAppliedPath = "" -local lastCheckedKey = "" -local lastErrorNotificationDate = "" - -noctalia.setUpdateInterval(CHECK_INTERVAL_MS) - -local function todayString() - return os.date("%Y-%m-%d") -end - -local function normalizeLocale(value) - if type(value) ~= "string" then - return "en-us" - end - - local locale = noctalia.string.trim(value):lower():gsub("_", "-") - if locale == "" or locale:find("[^%w%-]") then - return "en-us" - end - return locale -end - -local function source() - local configured = noctalia.getConfig("source") - if configured == "nasa" then - return "nasa" - end - return "bing" -end - -local function downloadDir() - return noctalia.expandPath(`{noctalia.wallpaperDirectory()}/{PLUGIN_CACHE_DIR}`) -end - -local function cachePath(prefix, date) - return `{downloadDir()}/{prefix}-{date}.jpg` -end - -local function decodeHtml(value) - local decoded = value:gsub("&", "&") - decoded = decoded:gsub(""", '"') - decoded = decoded:gsub("'", "'") - return decoded -end - -local function absoluteNasaUrl(url) - if url == nil or url == "" then - return "" - end - url = decodeHtml(url) - if url:match("^https?://") then - return url - end - if url:match("^//") then - return `https:{url}` - end - if url:sub(1, 1) == "/" then - return `https://www.nasa.gov{url}` - end - return `https://www.nasa.gov/{url}` -end - -local function applyWallpaper(path, downloaded) - noctalia.setWallpaper(path) - lastAppliedPath = path - lastCheckedKey = `{source()}:{todayString()}` - noctalia.state.set("status", { - state = "applied", - path = path, - downloaded = downloaded, - }) - noctalia.log(`Daily Wallpaper applied: {path}`) -end - -local function cleanupOldWallpapers(dir) - local entries = noctalia.listDir(dir) - if type(entries) ~= "table" then - return - end - - local cutoff = os.time() - RETENTION_SECONDS - for _, name in ipairs(entries) do - if name:match("^bing%-.+%-%d%d%d%d%-%d%d%-%d%d%.jpg$") or name:match("^nasa%-%d%d%d%d%-%d%d%-%d%d%.jpg$") then - local path = `{dir}/{name}` - local info = noctalia.fileInfo(path) - if type(info) == "table" and type(info.mtime) == "number" and info.mtime < cutoff then - noctalia.removeFile(path) - end - end - end -end - -local function fail(message) - checking = false - noctalia.state.set("status", { - state = "error", - message = message, - }) - local date = todayString() - if lastErrorNotificationDate ~= date then - lastErrorNotificationDate = date - noctalia.notifyError(noctalia.tr("notify.failed"), message) - end - noctalia.log(`Daily Wallpaper failed: {message}`) -end - -local function downloadAndApply(primaryUrl, fallbackUrl, dest) - local function tryDownload(url, fallback) - if type(url) ~= "string" or url == "" then - if fallback ~= "" then - tryDownload(fallback, "") - else - fail("No wallpaper URL found") - end - return - end - - local started = noctalia.download(url, dest, function(ok) - if ok then - checking = false - cleanupOldWallpapers(downloadDir()) - applyWallpaper(dest, true) - noctalia.notify(noctalia.tr("notify.applied"), dest) - return - end - - if fallback ~= "" then - tryDownload(fallback, "") - else - fail("Download failed") - end - end) - - if not started then - fail("Could not start wallpaper download") - end - end - - tryDownload(primaryUrl, fallbackUrl or "") -end - -local function resolveBing(locale, done) - local url = `https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt={noctalia.string.urlEncode(locale)}` - local started = noctalia.http({ url = url }, function(res) - if not res.ok or res.status < 200 or res.status >= 300 then - fail(`Bing request failed: HTTP {res.status}`) - return - end - - local parsed, err = noctalia.json.decode(res.body) - if parsed == nil then - fail(`Bing response parse failed: {err or "invalid JSON"}`) - return - end - - local first = parsed.images and parsed.images[1] - local urlBase = first and first.urlbase - if type(urlBase) ~= "string" or urlBase == "" then - fail("Bing response did not include an image URL") - return - end - - done(`bing-{locale}`, `https://www.bing.com{urlBase}_UHD.jpg`, `https://www.bing.com{urlBase}_1920x1080.jpg`) - end) - - if not started then - fail("Could not start Bing request") - end -end - -local function resolveNasa(done) - local started = noctalia.http({ url = "https://www.nasa.gov/image-of-the-day/" }, function(res) - if not res.ok or res.status < 200 or res.status >= 300 then - fail(`NASA request failed: HTTP {res.status}`) - return - end - - local page = res.body - local primary = page:match('class="[^"]-hds%-gallery%-image[^"]-"[^>]->.-]-src="([^"]+)"') - or page:match(']-class="[^"]-hds%-gallery%-image[^"]-"[^>]-src="([^"]+)"') - local fallback = page:match('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 diff --git a/daily-wallpaper/translations/en.json b/daily-wallpaper/translations/en.json deleted file mode 100644 index b6e215f..0000000 --- a/daily-wallpaper/translations/en.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "notify": { - "applied": "Wallpaper applied", - "failed": "Daily wallpaper failed" - }, - "settings": { - "locale": { - "description": "Bing market locale such as en-US, de-DE, or fr-FR. Empty uses en-US.", - "label": "Locale" - }, - "source": { - "label": "Source", - "options": { - "bing": "Bing", - "nasa": "NASA" - } - } - } -} diff --git a/deepseek_usage/README.md b/deepseek_usage/README.md deleted file mode 100644 index 6e2541f..0000000 --- a/deepseek_usage/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# DeepSeek Usage Plugin for Noctalia - -A balance and API credit monitor for [Noctalia shell](https://noctalia.dev). - -## Plugin - -Plugin ID: `coder/deepseek_usage` - -Widget(s): -- `bar` — bar widget entry. - -Panel(s): -- `panel` — panel entry. - -## Requirements - -- `xdg-open` — used by the top-up button to open platform.deepseek.com/top_up in the default browser. - -## External dependencies - -- `xdg-open` - -## Usage - -Widget -- Add the `bar` widget to your bar to display usage. - -Panel -- Toggle the plugin panel with the following IPC command: - `noctalia msg panel-toggle coder/deepseek_usage:panel` - -## Features -- **Bar Widget**: Shows live balance directly on your Noctalia bar. -- **Low Balance Warning**: Visual indicator and desktop notifications when credits drop below your set threshold. -- **Interactive Panel**: Displays account wallet summary, local trend graph, and quick top-up action. -- **One-Click Top-Up**: "Add Credits" button opens `platform.deepseek.com/top_up` directly in your browser. - -## Settings -Configure the update interval and API key in Noctalia plugin settings. - -- **DeepSeek API Key**: Create an API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys) and enter it in plugin settings. -- **Refresh Interval**: Default is 15 minutes. -- **Low Balance Warning**: Default threshold is 2.00. diff --git a/deepseek_usage/deepseek_usage.luau b/deepseek_usage/deepseek_usage.luau deleted file mode 100644 index 14971cd..0000000 --- a/deepseek_usage/deepseek_usage.luau +++ /dev/null @@ -1,213 +0,0 @@ ---!nonstrict --- DeepSeek Usage Bar Widget & Background Service Entry - -local DEFAULT_REFRESH_MINUTES = 15 -local HISTORY_FILE = "balance_history.json" -local MAX_HISTORY_POINTS = 48 - -local CURRENCY_SYMBOLS = { - USD = "$", - CNY = "¥", - EUR = "€", - GBP = "£", - JPY = "¥", -} - -local function formatBalance(balance: number?, currency: string?): string - if balance == nil then - return "--.--" - end - local curr = currency or "USD" - local symbol = CURRENCY_SYMBOLS[curr] - if symbol then - return string.format("%s%.2f", symbol, balance) - else - return string.format("%.2f %s", balance, curr) - end -end - -local state = { - balance = nil :: number?, - currency = "USD", - lastUpdated = nil :: string?, - errorMsg = nil :: string?, - isFetching = false, -} - --- Load accumulated balance history from disk -local function loadHistory(): { { time: number, balance: number } } - local dir = noctalia.pluginDataDir() - if not dir then return {} end - local path = dir .. "/" .. HISTORY_FILE - local content = noctalia.readFile(path) - if not content then return {} end - local decoded = noctalia.json.decode(content) - if type(decoded) == "table" then - return decoded - end - return {} -end - --- Save balance sample to persistent history -local function recordBalanceSample(val: number) - local dir = noctalia.pluginDataDir() - if not dir then return end - - local history = loadHistory() - local now = os.time() - - table.insert(history, { time = now, balance = val }) - - -- Keep only the latest N samples - while #history > MAX_HISTORY_POINTS do - table.remove(history, 1) - end - - local encoded = noctalia.json.encode(history, false) - if encoded then - noctalia.writeFile(dir .. "/" .. HISTORY_FILE, encoded) - end - - -- Share history state with panel - noctalia.state.set("deepseek.history", history) -end - -local function renderWidget() - local apiKey = noctalia.getConfig("api_key") or "" - - if apiKey == "" then - barWidget.setGlyph("wallet") - barWidget.setText(noctalia.tr("widget.no_key")) - barWidget.setTooltip({ - { key = noctalia.tr("tooltip.status"), value = noctalia.tr("status.unconfigured") }, - { key = noctalia.tr("tooltip.action"), value = noctalia.tr("tooltip.click_to_configure") }, - }) - return - end - - if state.isFetching and state.balance == nil then - barWidget.setGlyph("refresh") - barWidget.setText(noctalia.tr("widget.loading")) - return - end - - if state.errorMsg and state.balance == nil then - barWidget.setGlyph("alert-circle") - barWidget.setText(noctalia.tr("widget.error")) - barWidget.setTooltip({ - { key = noctalia.tr("tooltip.status"), value = state.errorMsg }, - }) - return - end - - local threshold = tonumber(noctalia.getConfig("low_balance_threshold")) or 2.0 - local balanceStr = formatBalance(state.balance, state.currency) - - barWidget.setGlyph("wallet") - barWidget.setText(balanceStr) - - if state.balance ~= nil and state.balance < threshold then - barWidget.setColor("error") - else - barWidget.setColor("primary") - end - - barWidget.setTooltip({ - { key = noctalia.tr("tooltip.balance"), value = balanceStr .. " " .. state.currency }, - { key = noctalia.tr("tooltip.last_updated"), value = state.lastUpdated or noctalia.tr("status.never") }, - { key = noctalia.tr("tooltip.status"), value = state.errorMsg or noctalia.tr("status.ok") }, - }) -end - -local function fetchSummary() - local apiKey = noctalia.getConfig("api_key") or "" - if apiKey == "" then - state.errorMsg = noctalia.tr("status.unconfigured") - noctalia.state.set("deepseek.state", state) - renderWidget() - return - end - - state.isFetching = true - renderWidget() - - noctalia.http({ - url = "https://api.deepseek.com/user/balance", - method = "GET", - headers = { - "Authorization: Bearer " .. apiKey, - "Accept: application/json", - }, - }, function(res) - state.isFetching = false - - if not res.ok then - state.errorMsg = string.format("HTTP Transport Error (%d)", res.status) - noctalia.notifyError("DeepSeek Usage", state.errorMsg) - noctalia.state.set("deepseek.state", state) - renderWidget() - return - end - - if res.status ~= 200 then - state.errorMsg = string.format("API Error (%d)", res.status) - if res.status == 401 then - state.errorMsg = noctalia.tr("error.invalid_key") - end - noctalia.notifyError("DeepSeek Usage", state.errorMsg) - noctalia.state.set("deepseek.state", state) - renderWidget() - return - end - - local parsed, err = noctalia.json.decode(res.body) - if not parsed or type(parsed) ~= "table" then - state.errorMsg = noctalia.tr("error.parse_failed") - noctalia.state.set("deepseek.state", state) - renderWidget() - return - end - - local balanceInfos = parsed.balance_infos - if balanceInfos and #balanceInfos > 0 then - local primaryWallet = balanceInfos[1] - state.currency = primaryWallet.currency or "USD" - state.balance = tonumber(primaryWallet.total_balance) or 0.0 - state.errorMsg = nil - state.lastUpdated = noctalia.formatTime("%H:%M:%S", os.time()) - - recordBalanceSample(state.balance) - - -- Check low balance notification - local threshold = tonumber(noctalia.getConfig("low_balance_threshold")) or 2.0 - if state.balance < threshold then - noctalia.notify("DeepSeek Balance Warning", string.format("Your DeepSeek balance is low: %s", formatBalance(state.balance, state.currency))) - end - else - state.errorMsg = noctalia.tr("error.no_wallet") - end - - noctalia.state.set("deepseek.state", state) - renderWidget() - end) -end - -function update() - local refreshMinutes = tonumber(noctalia.getConfig("refresh_minutes")) or DEFAULT_REFRESH_MINUTES - noctalia.setUpdateInterval(refreshMinutes * 60 * 1000) - fetchSummary() -end - -function onClick() - noctalia.togglePanel("coder/deepseek_usage:panel") -end - -noctalia.state.watch("deepseek.refresh_requested", function(req) - if req then - noctalia.state.set("deepseek.refresh_requested", false) - fetchSummary() - end -end) - --- Initial setup -renderWidget() diff --git a/deepseek_usage/panel.luau b/deepseek_usage/panel.luau deleted file mode 100644 index 42623ba..0000000 --- a/deepseek_usage/panel.luau +++ /dev/null @@ -1,235 +0,0 @@ ---!nonstrict --- DeepSeek Usage Panel Entry — Graphical Balance & Top-Up Dashboard - -local CURRENCY_SYMBOLS = { - USD = "$", - CNY = "¥", - EUR = "€", - GBP = "£", - JPY = "¥", -} - -local function formatBalance(balance: number?, currency: string?): string - if balance == nil then - return "--.--" - end - local curr = currency or "USD" - local symbol = CURRENCY_SYMBOLS[curr] - if symbol then - return string.format("%s%.2f", symbol, balance) - else - return string.format("%.2f %s", balance, curr) - end -end - -local state = { - balance = nil :: number?, - currency = "USD", - lastUpdated = nil :: string?, - errorMsg = nil :: string?, - isFetching = false, -} - -local history = {} - -function openTopUpPage() - noctalia.runAsync("xdg-open https://platform.deepseek.com/top_up") -end - -function triggerRefresh() - noctalia.state.set("deepseek.refresh_requested", true) -end - -function onClosePanel() - panel.close() -end - -function onOpenSettings() - noctalia.openSettings() -end - -local function buildGraphValues(): ({ number }, number, number) - if #history == 0 then - return { 0 }, 0, 0 - end - - local minVal = history[1].balance - local maxVal = history[1].balance - - for _, pt in ipairs(history) do - if pt.balance < minVal then minVal = pt.balance end - if pt.balance > maxVal then maxVal = pt.balance end - end - - local range = maxVal - minVal - local values = {} - for _, pt in ipairs(history) do - table.insert(values, range > 0 and (pt.balance - minVal) / range or 0.5) - end - - return values, minVal, maxVal -end - -local function renderGraphSection(values: { number }, minVal: number, maxVal: number) - -- graph props unverified — adjust after hot-reload test - local graphOk, graphNode = pcall(function() - return ui.graph({ - values = values, - height = 64, - color = "primary", - }) - end) - - local graphElement - if graphOk and type(graphNode) == "table" then - graphElement = graphNode - else - graphElement = ui.label({ - text = string.format("History (%d data points)", #history), - fontSize = 11, - color = "on_surface_variant", - }) - end - - return ui.column({ gap = 6 }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = noctalia.tr("panel.history_title"), fontSize = 12, fontWeight = "medium", color = "on_surface_variant" }), - ui.label({ text = string.format("%d samples", #history), fontSize = 10, color = "on_surface_variant" }), - }), - ui.column({ - fill = "surface_variant/0.2", - radius = 8, - padding = 8, - gap = 4, - }, { - graphElement, - ui.row({ justify = "space_between" }, { - ui.label({ text = string.format("Min: %s", formatBalance(minVal, state.currency)), fontSize = 10, color = "on_surface_variant" }), - ui.label({ text = string.format("Max: %s", formatBalance(maxVal, state.currency)), fontSize = 10, color = "on_surface_variant" }), - }), - }), - }) -end - -local function render() - local apiKey = noctalia.getConfig("api_key") or "" - local isUnconfigured = apiKey == "" - - local values, minVal, maxVal = buildGraphValues() - local balanceDisplay = formatBalance(state.balance, state.currency) - - -- Header Row - local headerRow = ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "wallet", size = 18, color = "primary" }), - ui.label({ text = noctalia.tr("panel.title"), fontSize = 16, fontWeight = "bold", color = "on_surface" }), - }), - ui.row({ gap = 4, align = "center" }, { - ui.button({ glyph = "refresh", variant = "ghost", onClick = "triggerRefresh", tooltip = noctalia.tr("panel.refresh_tooltip") }), - ui.button({ glyph = "close", variant = "ghost", onClick = "onClosePanel" }), - }), - }) - - -- Scrollable Body Items - local bodyItems = {} - - -- Unconfigured State Banner - if isUnconfigured then - table.insert(bodyItems, ui.column({ - fill = "surface_variant/0.5", - radius = 8, - padding = 12, - gap = 8, - align = "stretch", - }, { - ui.label({ text = noctalia.tr("panel.unconfigured_title"), fontWeight = "bold", color = "error" }), - ui.label({ text = noctalia.tr("panel.unconfigured_desc"), fontSize = 12, color = "on_surface_variant" }), - ui.button({ - text = noctalia.tr("panel.open_settings"), - variant = "primary", - onClick = "onOpenSettings", - }), - })) - end - - -- Error Banner - if not isUnconfigured and state.errorMsg ~= nil then - table.insert(bodyItems, ui.row({ - fill = "error/0.15", - radius = 8, - padding = 10, - gap = 8, - align = "center", - }, { - ui.glyph({ name = "alert-circle", color = "error", size = 16 }), - ui.label({ text = state.errorMsg, color = "error", fontSize = 12, flexGrow = 1 }), - })) - end - - -- Hero Balance Card - if not isUnconfigured then - table.insert(bodyItems, ui.column({ - fill = "surface_variant/0.35", - radius = 12, - padding = 16, - align = "center", - gap = 6, - }, { - ui.label({ text = noctalia.tr("panel.current_balance"), fontSize = 12, color = "on_surface_variant" }), - ui.label({ text = balanceDisplay .. " " .. state.currency, fontSize = 28, fontWeight = "bold", color = "primary" }), - ui.label({ text = noctalia.tr("panel.wallet_info"), fontSize = 11, color = "on_surface_variant" }), - ui.spacer({ height = 4 }), - ui.button({ - text = " " .. noctalia.tr("panel.add_credits") .. " ", - glyph = "external-link", - variant = "primary", - onClick = "openTopUpPage", - tooltip = noctalia.tr("panel.add_credits_tooltip"), - }), - })) - - -- Graph / Trend Section - table.insert(bodyItems, renderGraphSection(values, minVal, maxVal)) - end - - -- Footer Status Info - local footerRow = ui.row({ justify = "space_between", align = "center" }, { - ui.label({ - text = state.lastUpdated and (noctalia.tr("panel.updated_at") .. ": " .. state.lastUpdated) or "", - fontSize = 10, - color = "on_surface_variant", - }), - ui.button({ - text = noctalia.tr("panel.settings_btn"), - variant = "ghost", - onClick = "onOpenSettings", - }), - }) - - panel.render(ui.column({ flexGrow = 1, gap = 10, padding = 12 }, { - headerRow, - ui.separator({}), - ui.scroll({ flexGrow = 1, gap = 10 }, bodyItems), - footerRow, - })) -end - -function onOpen(_context) - state = noctalia.state.get("deepseek.state") or state - history = noctalia.state.get("deepseek.history") or {} - render() -end - -noctalia.state.watch("deepseek.state", function(newState) - if type(newState) == "table" then - state = newState - render() - end -end) - -noctalia.state.watch("deepseek.history", function(newHistory) - if type(newHistory) == "table" then - history = newHistory - render() - end -end) diff --git a/deepseek_usage/plugin.toml b/deepseek_usage/plugin.toml deleted file mode 100644 index a520679..0000000 --- a/deepseek_usage/plugin.toml +++ /dev/null @@ -1,47 +0,0 @@ -id = "coder/deepseek_usage" -name = "DeepSeek Usage" -version = "1.0.0" -plugin_api = 19 -author = "coder" -license = "MIT" -dependencies = ["xdg-open"] -tags = ["utility", "productivity", "bar", "panel"] -icon = "wallet" -description = "DeepSeek API credit and balance monitor for Noctalia shell" - -[[widget]] -id = "bar" -entry = "deepseek_usage.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 360 -height = 480 -placement = "attached" -position = "auto" - -[[setting]] -key = "api_key" -type = "string" -label_key = "settings.api_key.label" -description_key = "settings.api_key.description" -default = "" - -[[setting]] -key = "refresh_minutes" -type = "int" -label_key = "settings.refresh_minutes.label" -description_key = "settings.refresh_minutes.description" -default = 15 -min = 1 -max = 1440 - -[[setting]] -key = "low_balance_threshold" -type = "double" -label_key = "settings.low_balance_threshold.label" -description_key = "settings.low_balance_threshold.description" -default = 2.0 -min = 0.0 -max = 100.0 diff --git a/deepseek_usage/thumbnail.webp b/deepseek_usage/thumbnail.webp deleted file mode 100644 index 806ac1e3f9690885e8f3f890291cb8a4ff946f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56056 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 H7#J7;6?8E8 diff --git a/deepseek_usage/translations/en.json b/deepseek_usage/translations/en.json deleted file mode 100644 index f3e7202..0000000 --- a/deepseek_usage/translations/en.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "error": { - "invalid_key": "Invalid or expired API Key (401)", - "no_wallet": "No active wallet found in user summary", - "parse_failed": "Failed to parse API response" - }, - "panel": { - "add_credits": "Add Credits", - "add_credits_tooltip": "Open DeepSeek platform top-up page in browser", - "current_balance": "Available Balance", - "history_title": "Balance History (24h Trend)", - "open_settings": "Open Settings", - "refresh_tooltip": "Refresh balance now", - "settings_btn": "Settings", - "title": "DeepSeek Balance", - "unconfigured_desc": "Please configure your DeepSeek API Key in the plugin settings.", - "unconfigured_title": "API Key Required", - "updated_at": "Updated", - "wallet_info": "Normal Wallet" - }, - "settings": { - "api_key": { - "description": "API Key from platform.deepseek.com/api_keys", - "label": "DeepSeek API Key" - }, - "low_balance_threshold": { - "description": "Send a desktop notification when balance drops below this amount", - "label": "Low Balance Warning Threshold" - }, - "refresh_minutes": { - "description": "How often to poll DeepSeek API for balance updates", - "label": "Refresh Interval (Minutes)" - } - }, - "status": { - "never": "Never", - "ok": "Active", - "unconfigured": "API Key Not Set" - }, - "title": "DeepSeek Usage", - "tooltip": { - "action": "Action", - "balance": "Current Balance", - "click_to_configure": "Click to open settings and set API Key", - "last_updated": "Last Checked", - "status": "API Status" - }, - "widget": { - "error": "Error", - "loading": "Checking...", - "no_key": "Set Key" - } -} diff --git a/dns-switcher/README.md b/dns-switcher/README.md deleted file mode 100644 index 9380cbb..0000000 --- a/dns-switcher/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# DNS Switcher - -A [noctalia](https://github.com/noctalia-dev/noctalia) v5 bar plugin: switch the system DNS -between popular providers, your own servers, or the ISP default — from a panel -on the bar, no reconnect. Based on -[Ronin-CK's v4 DNS Switcher](https://github.com/noctalia-dev/legacy-v4-plugins), -rebuilt on the v5 Luau plugin API. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `nightwatch75/dns-switcher` | -| Entries | Bar widget: `dns-switcher`; panel: `panel`; service: `service` | - -## Features - -- **Instant, no-drop switching** — one `nmcli con mod` + `nmcli device - reapply` on the active connection profile; the network never disconnects -- **Pre-configured providers** (Google, Cloudflare, OpenDNS, AdGuard, Quad9) - plus up to 5 custom servers (`Name = address`, e.g. `Pi-hole = 192.168.1.5`) -- **Detection**, not guessing — reads the connection's own `ipv4.dns` / - `ipv4.ignore-auto-dns`, so a manually configured resolver (LAN ones - included) shows as its provider, DHCP-assigned DNS shows as *Default (ISP)* -- **DNS lookup tester** at the bottom of the panel: resolve any name against - the currently active provider's own address with `dig`/`nslookup`, to - confirm a switch took effect or check whether a provider blocks a domain -- **Fully rebindable gestures** — left click, right click and scroll are - declared in the manifest (`[widget.actions]`), so any of them can be - remapped from the bar's own gesture settings; scroll cycles providers -- **Singleton service** — one engine regardless of how many bars/monitors - show the widget; widget and panel are pure renderers over its shared state -- Live footer (connection name + active resolver IPs, with a copy button), - glyph-only mode for compact bars - -## Usage - -Add the `dns-switcher` widget from Noctalia's widget picker. Default gestures: - -| Action | Effect | -|--------------|--------------------------------------------------| -| Left click | Open/close the provider panel | -| Right click | Reset to the connection default (ISP) | -| Scroll | Cycle to the next/previous configured provider | - -All three are bar-level defaults and can be remapped from *Settings → Bar*. -The panel itself, and the plugin's settings page, also open from the CLI: - -```sh -noctalia msg panel-toggle nightwatch75/dns-switcher:panel -noctalia msg settings-open-plugin nightwatch75/dns-switcher -``` - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `providers` | `string` | `google,cloudflare,opendns,adguard,quad9` | Comma-separated built-in provider ids shown in the panel. Empty = none. | -| `custom_1` … `custom_5` | `string` | *(empty)* | One custom resolver each: `Name = address`, one or two IPv4 addresses. | -| `poll_seconds` | `int` | `10` | How often the active DNS is re-read with `nmcli` (2–120). | -| `privilege_command` | `string` | *(empty)* | Prefix to run `nmcli` changes as root (`pkexec`, `sudo -n`) — see *Privileges*. | -| `show_label` (widget) | `bool` | `true` | Show the provider name next to the glyph. | - -## IPC - -```sh -noctalia msg plugin nightwatch75/dns-switcher:service all apply cloudflare -noctalia msg plugin nightwatch75/dns-switcher:service all poll -noctalia msg plugin nightwatch75/dns-switcher:service all cycle next -``` - -`apply` takes a built-in id, `default` (ISP), or `custom:`; `poll` -forces an immediate re-check; `cycle next`/`cycle prev` step to the -neighbouring provider (what scroll sends). - -## Requirements - -- noctalia v5.0.0-beta.7 or newer (`plugin_api = 17`, for the `onExit` - lifecycle cleanup in `service.luau`) -- NetworkManager (`networkmanager`, provides `nmcli`) with an active connection -- Permission to modify system connections (see *Privileges* below) -- `dig` (bind-tools/dnsutils) or `nslookup`, optional — only the lookup - tester needs one of them; the rest of the plugin works without either - -## Privileges - -*Privilege command* is **empty by default**: NetworkManager's polkit policy -usually lets active local sessions modify system connections without a -password. If you get a "not authorized" error, set it to `pkexec` (shows -noctalia's own polkit prompt) or `sudo -n` with a matching sudoers rule. -The privilege command is applied to the `nmcli con mod` and `nmcli device -reapply` calls individually — never to a wrapping shell — so the sudoers -rule only ever needs to name `nmcli` itself: - -``` -# /etc/sudoers.d/nmcli-dns -youruser ALL=(root) NOPASSWD: /usr/bin/nmcli -``` - -With `pkexec`, this means an apply may show its polkit prompt twice (once -per elevated `nmcli` call) instead of once. - -Or grant it via a polkit rule and keep the setting empty: - -```js -// /etc/polkit-1/rules.d/50-nmcli-dns.rules -polkit.addRule(function(action, subject) { - if ((action.id == "org.freedesktop.NetworkManager.settings.modify.system" || - action.id == "org.freedesktop.NetworkManager.network-control") && - subject.isInGroup("wheel")) { - return polkit.Result.YES; - } -}); -``` - -Both widen what the account can do to NetworkManager system-wide — apply -your usual judgement on shared machines. - -## Notes - -- IPv4 DNS only, like the v4 plugin. -- Targets the first active wifi/ethernet connection (falling back to the - first active non-loopback one); a VPN's own DNS is not touched. -- Custom servers are five separate `string` settings rather than one list, - because Noctalia's list editor has no in-place row edit — a `string` - field does. A server name may not contain `=`. - -## License - -MIT. diff --git a/dns-switcher/dns-switcher.luau b/dns-switcher/dns-switcher.luau deleted file mode 100644 index 2fae35b..0000000 --- a/dns-switcher/dns-switcher.luau +++ /dev/null @@ -1,79 +0,0 @@ ---!nonstrict --- dns-switcher — bar widget: renders the state published by the service --- entry (service.luau). --- --- Click mapping is declared in plugin.toml's [widget.actions] (plugin_api >= --- 14), not hard-coded here, so the user can remap it from the bar's own --- gesture settings like any built-in widget: --- Left click — panel-toggle nightwatch75/dns-switcher:panel --- Right click — plugin nightwatch75/dns-switcher:service all apply default --- Scroll up/down — plugin nightwatch75/dns-switcher:service all cycle next/prev --- --- No middle-click binding: every bar widget carries a built-in `middle` --- binding that opens its own settings, and that default is exactly what's --- wanted here. - -local STATE_KEY = "dns_state" -- published by service.luau - -local GLYPH_UNKNOWN = "globe" - -local snapshot = nil -- last state published by the service - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function setLabel(text) - if noctalia.getConfig("show_label") == false then - barWidget.setText("") - else - barWidget.setText(text) - end -end - -local function paint(glyph, role, label) - barWidget.setGlyph(glyph) - barWidget.setGlyphColor(role) - barWidget.setColor(role) - setLabel(label) -end - -local function render() - local s = snapshot - if s == nil or (s.current == nil and s.error == nil) then - paint(GLYPH_UNKNOWN, "on_surface", tr("status_checking")) - barWidget.clearTooltip() - return - end - if s.changing == true then - paint("refresh", "secondary", tr("status_switching")) - barWidget.setTooltip(tr("tooltip_switching")) - return - end - if s.error ~= nil then - paint(GLYPH_UNKNOWN, "error", s.error) - barWidget.clearTooltip() - return - end - local role = s.current.id ~= "default" and "primary" or "on_surface" - paint(s.current.glyph, role, s.current.label) - local servers = s.current.ip - if servers == "" then - servers = s.servers ~= "" and s.servers or tr("status_auto") - end - barWidget.setTooltip({ - { key = tr("tooltip_provider"), value = s.current.label }, - { key = tr("tooltip_servers"), value = servers }, - { key = tr("tooltip_actions"), value = tr("tooltip_hints") }, - }) -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -snapshot = noctalia.state.get(STATE_KEY) -render() diff --git a/dns-switcher/panel.luau b/dns-switcher/panel.luau deleted file mode 100644 index 03d5d36..0000000 --- a/dns-switcher/panel.luau +++ /dev/null @@ -1,345 +0,0 @@ ---!nonstrict --- dns-switcher — provider panel. Pure renderer over the shared state: the --- service entry (service.luau) publishes "dns_state" and executes the --- "apply_request" entries this panel emits. Picking a provider applies it --- immediately (one nmcli change, no reactivation). - -local STATE_KEY = "dns_state" -- published by service.luau -local REQUEST_KEY = "apply_request" -- consumed by service.luau - -local RESOLVE_TIMEOUT_MS = 4000 - --- Read out of the plugin's own manifest (readFile resolves a relative path --- against the plugin directory), so the header cannot drift from the version --- the store shows. Empty when unreadable — a missing version is not worth an --- error line in the panel. -local pluginVersion = (function() - local text = noctalia.readFile("plugin.toml") - if type(text) ~= "string" then - return "" - end - return ("\n" .. text):match('\nversion%s*=%s*"([^"]+)"') or "" -end)() - -local snapshot = nil -- last state published by the service - --- DNS lookup tester (bottom of the panel). Entirely panel-local: it neither --- reads nor writes the shared state, since it never changes what DNS is --- configured — it only asks "does a name resolve through the DNS that IS --- configured right now", which is exactly the question this plugin otherwise --- has no way to answer. -local resolveQuery = "" -local resolveBusy = false -local resolveError = nil -local resolveResult = nil -- { tool, serverIp?, serverLabel?, lines? (dig), raw? (nslookup) } - -local render - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function trim(value) - return (value:gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - --- The nonce is monotonic across writers (widget instances and the panel): --- each seeds from the last request already in the shared state. -local function requestApply(entry) - if snapshot == nil or snapshot.changing == true then - return - end - local prev = noctalia.state.get(REQUEST_KEY) - local nonce = (type(prev) == "table" and tonumber(prev.nonce) or 0) + 1 - noctalia.state.set(REQUEST_KEY, { nonce = nonce, id = entry.id, label = entry.label, ip = entry.ip }) -end - --- A conservative hostname shape (letters/digits/dot/hyphen, no leading dot or --- hyphen, 253 chars max — the DNS wire-format limit). shellQuote() below is --- the actual safety net; this only keeps an obviously-wrong query from ever --- reaching a shell as a "valid enough" no-op. -local function isValidHostname(name) - return name ~= "" and #name <= 253 and name:match("^[%w][%w%.%-]*$") ~= nil -end - --- Name + first address of the currently active provider, if it has an --- address of its own (built-in/custom entries do; "Default (ISP)" does not). --- nil means "ask the system resolver", not "no server" — the lookup still --- runs either way. -local function activeServerInfo() - if snapshot == nil or snapshot.current == nil or type(snapshot.current.ip) ~= "string" then - return nil - end - local ip = snapshot.current.ip:match("%S+") - if ip == nil then - return nil - end - return { ip = ip, label = snapshot.current.label } -end - -local function parseDigShort(stdout) - local lines = {} - for line in stdout:gmatch("[^\n]+") do - local clean = trim(line) - if clean ~= "" then - table.insert(lines, clean) - end - end - return lines -end - --- Prefers `dig +short` (one line per answer, trivial to parse); falls back to --- raw `nslookup` output, shown verbatim, when dig is not installed. Both are --- pointed at the active provider's own address when it has one, so the --- answer reflects that resolver specifically rather than whatever the system --- resolver layer (systemd-resolved, etc.) does with it. -local function runResolve() - local name = trim(resolveQuery) - if not isValidHostname(name) then - resolveError = tr("resolve_invalid") - resolveResult = nil - render() - return - end - - local server = activeServerInfo() - local useDig = noctalia.commandExists("dig") - local useNslookup = not useDig and noctalia.commandExists("nslookup") - if not useDig and not useNslookup then - resolveError = tr("resolve_no_tool") - resolveResult = nil - render() - return - end - - resolveBusy = true - resolveError = nil - resolveResult = nil - render() - - local tool = useDig and "dig" or "nslookup" - local cmd - if useDig then - cmd = "dig +time=3 +tries=1 +short " - .. (server ~= nil and ("@" .. shellQuote(server.ip) .. " ") or "") - .. shellQuote(name) - else - cmd = "nslookup " .. shellQuote(name) .. (server ~= nil and (" " .. shellQuote(server.ip)) or "") - end - - local ok = noctalia.runAsync(cmd, function(result) - resolveBusy = false - if result.timedOut then - resolveError = tr("resolve_timeout") - elseif tool == "dig" then - local lines = parseDigShort(result.stdout or "") - if #lines == 0 then - resolveError = tr("resolve_empty") - else - resolveResult = { - tool = tool, - serverIp = server ~= nil and server.ip or nil, - serverLabel = server ~= nil and server.label or nil, - lines = lines, - } - end - else - local raw = trim(result.stdout or "") - if raw == "" then - resolveError = tr("resolve_empty") - else - resolveResult = { - tool = tool, - serverIp = server ~= nil and server.ip or nil, - serverLabel = server ~= nil and server.label or nil, - raw = raw, - } - end - end - render() - end, RESOLVE_TIMEOUT_MS) - if not ok then - resolveBusy = false - resolveError = tr("resolve_spawn_failed") - render() - end -end - --- A row names its provider and the addresses it would set, so picking one is not --- a guess about what it does. The ISP default has no fixed addresses -- whatever --- the LAN hands out -- so it stays a bare label, and the footer shows what is --- actually in use. A button carries one run of text, so the two are joined with a --- separator rather than styled apart. -local function providerRow(entry) - local active = snapshot.current ~= nil and snapshot.current.id == entry.id - local text = entry.label - if entry.ip ~= nil and entry.ip ~= "" then - text = text .. " · " .. entry.ip - end - return ui.button({ - key = "dns-" .. entry.id .. (active and "-on" or ""), - glyph = entry.glyph, - text = text, - variant = active and "primary" or "ghost", - contentAlign = "start", - onClick = function() - if not active then - requestApply(entry) - end - end, - }) -end - -local function statusFooter() - if snapshot.changing == true then - return ui.label({ text = tr("status_switching"), fontSize = 11, color = "secondary" }) - end - local servers = snapshot.servers - if servers == nil or servers == "" then - servers = tr("status_auto") - end - local caption = servers - if snapshot.conName ~= nil and snapshot.conName ~= "" then - caption = snapshot.conName .. " · " .. servers - end - return ui.row({ gap = 6, align = "center" }, { - ui.label({ text = caption, fontSize = 11, color = "on_surface_variant", flexGrow = 1 }), - ui.button({ glyph = "copy", variant = "ghost", tooltip = tr("tip_copy"), onClick = "onCopyServers" }), - }) -end - --- Bottom-of-panel lookup tester: a name, a button, and whatever the active --- resolver (or the system one, with no provider address of its own) answers. -local function resolveSection() - local children = { - ui.separator({}), - ui.label({ key = "resolve-title", text = tr("resolve_title"), fontSize = 12, fontWeight = "semibold", color = "on_surface" }), - ui.row({ key = "resolve-row", gap = 6, align = "center" }, { - ui.input({ - key = "resolve-input", - value = resolveQuery, - placeholder = tr("resolve_placeholder"), - flexGrow = 1, - onChange = function(value) - resolveQuery = value - end, - onSubmit = function(value) - resolveQuery = value - runResolve() - end, - }), - ui.button({ - key = "resolve-go" .. (resolveBusy and "-off" or ""), - glyph = "search", - variant = "primary", - enabled = not resolveBusy, - tooltip = tr("tip_resolve"), - onClick = function() - runResolve() - end, - }), - }), - } - - if resolveBusy then - table.insert(children, ui.label({ key = "resolve-status", text = tr("resolve_busy"), fontSize = 11, color = "secondary" })) - elseif resolveError ~= nil then - table.insert(children, ui.label({ key = "resolve-status", text = resolveError, fontSize = 11, color = "error", maxLines = 2 })) - elseif resolveResult ~= nil then - local via - if resolveResult.serverIp ~= nil then - via = tr("resolve_via", { name = resolveResult.serverLabel or resolveResult.serverIp, server = resolveResult.serverIp }) - else - via = tr("resolve_via_system") - end - local body = resolveResult.lines ~= nil and table.concat(resolveResult.lines, ", ") or resolveResult.raw - -- The answer first, then which server gave it — the label is set - -- apart with a slightly larger font since it names what answered. - table.insert(children, ui.label({ key = "resolve-body", text = body, fontSize = 14, color = "primary", maxLines = 6 })) - table.insert(children, ui.label({ key = "resolve-via", text = via, fontSize = 13, fontWeight = "medium", color = "on_surface_variant" })) - end - - return ui.column({ key = "resolve", gap = 6 }, children) -end - -render = function() - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.label({ - key = "title", - text = tr("title"), - fontSize = 16, - fontWeight = "bold", - color = "on_surface", - }), - -- Version off the manifest, small and dimmed: it answers "which - -- build am I running" without competing with the title. The spacer - -- rather than a flexGrow title keeps the two together on the left. - ui.label({ key = "version", text = pluginVersion, fontSize = 10, color = "on_surface_variant" }), - ui.spacer({ key = "gap", flexGrow = 1 }), - ui.button({ glyph = "settings", variant = "ghost", tooltip = tr("tip_settings"), onClick = "onOpenSettings" }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("tip_close"), onClick = "onClosePanel" }), - }), - } - - if snapshot == nil or snapshot.list == nil then - table.insert(children, ui.label({ text = tr("status_checking"), color = "on_surface_variant" })) - elseif snapshot.error ~= nil then - table.insert(children, ui.label({ text = snapshot.error, color = "error" })) - else - local rows = {} - for _, entry in ipairs(snapshot.list) do - table.insert(rows, providerRow(entry)) - end - table.insert(children, ui.scroll({ flexGrow = 1, gap = 4 }, rows)) - table.insert(children, statusFooter()) - end - - -- Always present, independent of detection state: it asks a question - -- about a name, not about which provider is active. - table.insert(children, resolveSection()) - - panel.render(ui.column({ flexGrow = 1, gap = 12, align = "stretch" }, children)) -end - -function onOpen(_context) - snapshot = noctalia.state.get(STATE_KEY) - render() -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -function onCopyServers() - if snapshot == nil then - return - end - local text = snapshot.servers - if (text == nil or text == "") and snapshot.current ~= nil then - text = snapshot.current.ip - end - if text == nil or text == "" then - return - end - noctalia.copyToClipboard(text, "text/plain") - noctalia.notify(tr("title"), tr("copied", { ip = text })) -end - --- Opens the settings window on this plugin's own page (the host supplies the --- plugin id, so a plugin can only ever open its own). It closes the panel on --- the way, which is why nothing is rendered afterwards. -function onOpenSettings() - noctalia.openSettings() -end - -function onClosePanel() - panel.close() -end diff --git a/dns-switcher/plugin.toml b/dns-switcher/plugin.toml deleted file mode 100644 index a8c5a37..0000000 --- a/dns-switcher/plugin.toml +++ /dev/null @@ -1,127 +0,0 @@ -# DNS Switcher — switch the system DNS (NetworkManager) from the bar. -# Based on Ronin-CK's v4 "DNS Switcher", rebuilt on the v5 Luau API: the bar -# widget shows the active provider and toggles a panel listing the configured -# providers; picking one applies it immediately via `nmcli con mod` + -# `nmcli device reapply` (no reactivation, the connection never drops). - -id = "nightwatch75/dns-switcher" -name = "DNS Switcher" -version = "0.1.2" -plugin_api = 17 -author = "nightwatch75" -license = "MIT" -# dig (bind-tools/dnsutils) is preferred for the panel's lookup tester; -# nslookup is the fallback when dig is missing. Neither is required for the -# core switch/apply feature, only for that one panel section. -dependencies = ["networkmanager", "dig", "nslookup"] -tags = ["bar", "panel", "service", "network", "privacy"] -icon = "world" -description = "Switch the system DNS between popular providers, custom servers, or the ISP default (NetworkManager)." - -# Plugin-level settings: shared by the widget engine (detection/apply) and -# the panel (provider list). Custom servers are five `Name = 1.2.3.4 5.6.7.8` -# string fields, custom_1..custom_5; see the comment on them for why. - -[[setting]] -key = "providers" -type = "string" -label_key = "settings.providers.label" -description_key = "settings.providers.description" -default = "google,cloudflare,opendns,adguard,quad9" - -# Five separate string settings rather than one list, because Noctalia's list -# editor shows an existing row as a static label with remove/up/down buttons: a -# typo means deleting the row and typing it again. A string renders as a text -# field, so each server can be corrected in place. Five covers any realistic -# number of custom resolvers. -# -# The keys are new names on purpose, not a retyped custom_dns. A stored value -# whose type no longer matches its declaration makes Noctalia reject every -# settings write, so the whole file stops saving; a key that simply no longer -# exists is just a warning. That is what 0.0.8 was released to fix. -[[setting]] -key = "custom_1" -type = "string" -label_key = "settings.custom_1.label" -description_key = "settings.custom.description" -default = "" - -[[setting]] -key = "custom_2" -type = "string" -label_key = "settings.custom_2.label" -description_key = "settings.custom.description" -default = "" - -[[setting]] -key = "custom_3" -type = "string" -label_key = "settings.custom_3.label" -description_key = "settings.custom.description" -default = "" - -[[setting]] -key = "custom_4" -type = "string" -label_key = "settings.custom_4.label" -description_key = "settings.custom.description" -default = "" - -[[setting]] -key = "custom_5" -type = "string" -label_key = "settings.custom_5.label" -description_key = "settings.custom.description" -default = "" - -[[setting]] -key = "poll_seconds" -type = "int" -label_key = "settings.poll_seconds.label" -description_key = "settings.poll_seconds.description" -default = 10 -min = 2 -max = 120 - -[[setting]] -key = "privilege_command" -type = "string" -label_key = "settings.privilege_command.label" -description_key = "settings.privilege_command.description" -default = "" -advanced = true - -[[service]] -id = "service" -entry = "service.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -# Wide enough for the longest built-in row, "OpenDNS · 208.67.222.222 -# 208.67.220.220", without eliding the addresses. Height grew in 0.0.13 to -# fit the lookup tester below the provider list without starving it. -width = 430 -height = 460 -placement = "attached" -open_near_click = true - -[[widget]] -id = "dns-switcher" -entry = "dns-switcher.luau" - - # Declared here rather than hard-coded in onClick/onRightClick, so the user - # can remap any of them from the bar's own gesture settings. "right"/ - # "scroll_*" are the exact IPC lines service.luau's onIpc documents. - [widget.actions] - left = "panel-toggle nightwatch75/dns-switcher:panel" - right = "plugin nightwatch75/dns-switcher:service all apply default" - scroll_up = "plugin nightwatch75/dns-switcher:service all cycle next" - scroll_down = "plugin nightwatch75/dns-switcher:service all cycle prev" - - [[widget.setting]] - key = "show_label" - type = "bool" - label_key = "settings.show_label.label" - description_key = "settings.show_label.description" - default = true diff --git a/dns-switcher/service.luau b/dns-switcher/service.luau deleted file mode 100644 index 20410ba..0000000 --- a/dns-switcher/service.luau +++ /dev/null @@ -1,499 +0,0 @@ ---!nonstrict --- dns-switcher — singleton DNS engine (detection + apply). --- --- Runs once regardless of how many bars show the widget. The widget and the --- panel are pure renderers wired through the plugin's shared state: --- engine publishes "dns_state" = { nonce, current?, servers, conName, --- changing, error?, list } --- UI entries send "apply_request" = { nonce, id, label?, ip? } --- --- Detection reads the active connection's ipv4.dns / ipv4.ignore-auto-dns --- profile settings (manual DNS is matched against the providers, otherwise --- shown as "Custom"); without a manual DNS the state is the ISP default. --- Applying runs `nmcli con mod … && nmcli device reapply ` — --- reapply pushes the change onto the live connection without reactivating --- it, so the network never drops. The privilege command is empty by default: --- NetworkManager's polkit policy lets active local sessions modify system --- connections on most desktop distros. When set, it is prefixed onto each --- of those two nmcli calls individually (never onto a wrapping shell), so a --- sudoers NOPASSWD rule naming the nmcli binary itself is enough — see --- apply() below and the README's Privileges section. - -local STATE_KEY = "dns_state" -- published here, read by widget + panel -local REQUEST_KEY = "apply_request" -- sent by widget/panel, consumed here - -local BUILTIN = { - { id = "google", label = "Google", ip = "8.8.8.8 8.8.4.4", glyph = "brand-google" }, - { id = "cloudflare", label = "Cloudflare", ip = "1.1.1.1 1.0.0.1", glyph = "cloud" }, - { id = "opendns", label = "OpenDNS", ip = "208.67.222.222 208.67.220.220", glyph = "world" }, - { id = "adguard", label = "AdGuard", ip = "94.140.14.14 94.140.15.15", glyph = "shield-check" }, - { id = "quad9", label = "Quad9", ip = "9.9.9.9 149.112.112.112", glyph = "lock" }, -} -local GLYPH_DEFAULT = "router" -- ISP / connection default -local GLYPH_UNKNOWN = "globe" -- unrecognized manual DNS -local GLYPH_CUSTOM = "server" -- user-defined servers - -local current = nil -- provider entry detected as active; nil = still checking -local lastSeen = "" -- runtime resolver IPs from the last successful poll -local conName = "" -- active connection name, shown in the panel footer -local errMsg = nil -- sticky error label (no nmcli / no connection) -local pollTicks = 0 -local changing = false -local checkInFlight = false -local nmcliMissing = false -local stateNonce = 0 - -local function cfg(key) - return noctalia.getConfig(key) -end - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function trim(value) - return (value:gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function pollSeconds() - return math.max(2, tonumber(cfg("poll_seconds")) or 10) -end - -local function isValidIp(ip) - local a, b, c, d = ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") - if a == nil then - return false - end - for _, part in ipairs({ a, b, c, d }) do - if #part > 3 or tonumber(part) > 255 then - return false - end - end - return true -end - --- One or two space-separated IPv4 addresses, same shape nmcli accepts. -local function validDnsSpec(spec) - local count = 0 - for token in spec:gmatch("%S+") do - count += 1 - if count > 2 or not isValidIp(token) then - return false - end - end - return count > 0 -end - --- Custom servers: five separate `Name = 1.2.3.4 5.6.7.8` string settings rather --- than one list, so a wrong address can be corrected in the field instead of --- deleted and retyped -- Noctalia's list editor has no per-row edit. Slot order --- is panel order. The keys are listed as literals so `noctalia plugins lint` can --- still match them against the manifest. -local CUSTOM_KEYS = { "custom_1", "custom_2", "custom_3", "custom_4", "custom_5" } - --- The raw slots are the cache signature, so an invalid entry is logged when a --- slot actually changes rather than on every poll. -local customCacheSig = nil -local customCacheList = {} -local function customProviders() - local rows = {} - for _, key in ipairs(CUSTOM_KEYS) do - local row = cfg(key) - if type(row) == "string" and trim(row) ~= "" then - table.insert(rows, row) - end - end - local sig = table.concat(rows, "\n") - if sig == customCacheSig then - return customCacheList - end - customCacheSig = sig - customCacheList = {} - for _, row in ipairs(rows) do - -- The name is everything before the first '='; the rest is the address - -- list. A name may therefore not contain '=' itself — such a row fails - -- the address check below and is skipped with a log line. - local name, spec = row:match("^([^=]*)=(.*)$") - local cleanName = trim(name or "") - local cleanSpec = trim(spec or "") - if cleanName ~= "" and validDnsSpec(cleanSpec) then - table.insert(customCacheList, { id = "custom:" .. cleanName, label = cleanName, ip = cleanSpec, glyph = GLYPH_CUSTOM }) - elseif trim(row) ~= "" then - noctalia.log("dns-switcher: ignoring invalid custom server row '" .. row .. "'") - end - end - return customCacheList -end - -local function enabledBuiltins() - local raw = cfg("providers") - if type(raw) ~= "string" then - return BUILTIN - end - -- Cleared setting = no built-ins: only custom servers and the ISP default. - if trim(raw) == "" then - return {} - end - local wanted = {} - for id in raw:gmatch("[^,%s]+") do - wanted[id:lower()] = true - end - local list = {} - for _, provider in ipairs(BUILTIN) do - if wanted[provider.id] then - table.insert(list, provider) - end - end - return list -end - -local function defaultEntry() - return { id = "default", label = tr("status_default"), ip = "", glyph = GLYPH_DEFAULT } -end - --- Panel order: enabled built-ins, then custom servers, then the ISP default. -local function providerList() - local list = {} - for _, provider in ipairs(enabledBuiltins()) do - table.insert(list, provider) - end - for _, provider in ipairs(customProviders()) do - table.insert(list, provider) - end - table.insert(list, defaultEntry()) - return list -end - -local function publish() - stateNonce += 1 - noctalia.state.set(STATE_KEY, { - nonce = stateNonce, - current = current, - servers = lastSeen, - conName = conName, - changing = changing, - error = errMsg, - list = providerList(), - }) -end - --- Picks the active connection: prefer wifi/ethernet, else the first --- non-loopback entry. Emits KEY=value lines parsed by the poll callback; --- UUID (colon-free) identifies the connection, DEV drives the reapply. -local DETECT_CMD = [[ -ACT=$(LC_ALL=C nmcli -t -f TYPE,DEVICE,UUID,NAME connection show --active 2>/dev/null) -LINE=$(printf '%s\n' "$ACT" | grep -E '^(802-11-wireless|802-3-ethernet):' | head -n 1) -[ -n "$LINE" ] || LINE=$(printf '%s\n' "$ACT" | grep -v '^loopback:' | head -n 1) -[ -n "$LINE" ] || { echo 'ERR=noconn'; exit 0; } -DEV=$(printf '%s' "$LINE" | cut -d: -f2) -UUID=$(printf '%s' "$LINE" | cut -d: -f3) -echo "NAME=$(printf '%s' "$LINE" | cut -d: -f4-)" -echo "CFG=$(LC_ALL=C nmcli -g ipv4.dns connection show uuid "$UUID" 2>/dev/null)" -echo "AUTO=$(LC_ALL=C nmcli -g ipv4.ignore-auto-dns connection show uuid "$UUID" 2>/dev/null)" -echo "RUN=$(nmcli -g IP4.DNS device show "$DEV" 2>/dev/null | tr '\n' ' ')" -]] - -local function updateDnsState(stdout) - local fields = {} - for line in stdout:gmatch("[^\n]+") do - local key, value = line:match("^(%u+)=(.*)$") - if key ~= nil then - fields[key] = value - end - end - - if fields.ERR == "noconn" then - current = nil - errMsg = tr("err_no_connection") - return - end - errMsg = nil - conName = fields.NAME or "" - - local runtime = {} - for token in (fields.RUN or ""):gmatch("%d+%.%d+%.%d+%.%d+") do - if isValidIp(token) then - table.insert(runtime, token) - end - end - lastSeen = table.concat(runtime, " ") - - -- Manual DNS lives in the profile (ipv4.dns + ignore-auto-dns yes); - -- anything else is the connection default, whatever the LAN hands out. - local manual = (fields.AUTO == "yes") - local cfgIps = {} - for token in (fields.CFG or ""):gmatch("%d+%.%d+%.%d+%.%d+") do - if isValidIp(token) then - table.insert(cfgIps, token) - end - end - if not manual or #cfgIps == 0 then - current = defaultEntry() - return - end - - -- Customs take precedence over built-ins, so a custom entry that reuses - -- a public IP (e.g. a forwarder) keeps its own label. - local lookup = {} - for _, provider in ipairs(BUILTIN) do - for ip in provider.ip:gmatch("%S+") do - lookup[ip] = provider - end - end - for _, provider in ipairs(customProviders()) do - for ip in provider.ip:gmatch("%S+") do - lookup[ip] = provider - end - end - for _, ip in ipairs(cfgIps) do - if lookup[ip] ~= nil then - current = lookup[ip] - return - end - end - current = { - id = "unknown", - label = tr("status_custom", { ip = cfgIps[1] }), - ip = table.concat(cfgIps, " "), - glyph = GLYPH_UNKNOWN, - } -end - -local function pollNow() - if checkInFlight or changing or nmcliMissing then - return - end - checkInFlight = true - local ok = noctalia.runAsync(DETECT_CMD, function(result) - checkInFlight = false - if result.exitCode == 0 and not result.timedOut then - updateDnsState(result.stdout) - elseif current == nil then - errMsg = tr("status_no_nmcli") - end - publish() - end, 4000) - if not ok then - checkInFlight = false - end -end - -local function apply(provider) - if changing then - return - end - -- No "already active" short-circuit: `current` is only ever refreshed by - -- the async poll, so it can be stale by up to a full pollSeconds() window - -- (shorter but still nonzero right after another apply/cycle). Skipping - -- here on a stale match would silently drop a legitimate request instead - -- of just doing one harmless idempotent nmcli round trip. - if provider.ip ~= "" and not validDnsSpec(provider.ip) then - noctalia.notifyError(tr("title"), tr("err_invalid_ip", { ip = provider.ip })) - return - end - - -- Safety net mirroring the v4 plugin: the spec is already validated, the - -- gsub guarantees nothing shell-relevant ever reaches the command line. - local safeIp = provider.ip:gsub("[^%d%. ]", "") - local mods - if safeIp == "" then - mods = 'ipv4.dns "" ipv4.ignore-auto-dns no' - else - mods = 'ipv4.dns "' .. safeIp .. '" ipv4.ignore-auto-dns yes' - end - - local priv = cfg("privilege_command") - if type(priv) ~= "string" then - priv = "" - end - priv = trim(priv) - -- Prefixed onto each nmcli invocation individually, never onto a - -- wrapping `sh -c`: the README's sudoers example authorizes the nmcli - -- binary itself (NOPASSWD: /usr/bin/nmcli), which never covers a shell - -- run under sudo. Discovering the device/uuid stays unprivileged either - -- way (it's a plain read), so only the two mutating calls need it. - local privPrefix = priv ~= "" and (priv .. " ") or "" - - local cmd = 'ACT=$(LC_ALL=C nmcli -t -f TYPE,DEVICE,UUID connection show --active 2>/dev/null); ' - .. [[LINE=$(printf '%s\n' "$ACT" | grep -E '^(802-11-wireless|802-3-ethernet):' | head -n 1); ]] - .. [=[[ -n "$LINE" ] || LINE=$(printf '%s\n' "$ACT" | grep -v '^loopback:' | head -n 1); ]=] - .. [=[[ -n "$LINE" ] || exit 9; ]=] - .. 'DEV=$(printf \'%s\' "$LINE" | cut -d: -f2); ' - .. 'UUID=$(printf \'%s\' "$LINE" | cut -d: -f3); ' - .. privPrefix .. 'nmcli con mod "$UUID" ' .. mods .. ' && ' .. privPrefix .. 'nmcli device reapply "$DEV"' - - changing = true - publish() - -- 60s budget so an eventual polkit password prompt can be answered. - local ok = noctalia.runAsync(cmd, function(result) - changing = false - if result.exitCode == 0 and not result.timedOut then - noctalia.notify(tr("title"), tr("applied", { name = provider.label })) - elseif result.timedOut then - noctalia.notifyError(tr("title"), tr("err_timeout")) - elseif result.exitCode == 9 then - noctalia.notifyError(tr("title"), tr("err_no_connection")) - elseif result.exitCode == 126 then - noctalia.notifyError(tr("title"), tr("err_auth_dismissed")) - else - local detail = trim(result.stderr or "") - if #detail > 200 then - detail = detail:sub(1, 200) .. "…" - end - local body = tr("err_apply_failed") - if detail:lower():find("not authorized") or detail:lower():find("insufficient") then - body = tr("err_not_authorized") - elseif detail ~= "" then - body = body .. "\n" .. detail - end - noctalia.notifyError(tr("title"), body) - end - publish() - pollNow() - end, 60000) - if not ok then - changing = false - noctalia.notifyError(tr("title"), tr("err_spawn")) - publish() - end -end - --- Resolves an apply request against the current provider list (so config --- edits win over stale request payloads), falling back to the request's own --- label/ip for entries that just left the list. -local function applyById(id, label, ip) - for _, entry in ipairs(providerList()) do - if entry.id == id then - apply(entry) - return true - end - end - if id == "default" or (type(ip) == "string" and validDnsSpec(ip)) then - apply({ id = id, label = label or id, ip = id == "default" and "" or ip }) - return true - end - return false -end - --- Steps the active provider to its neighbour in providerList() (wrapping at --- either end). Backs the bar widget's scroll_up/scroll_down gesture default; --- with no detected current provider yet, "next" starts at the first entry --- rather than doing nothing. -local function cycleTo(direction) - local list = providerList() - if #list == 0 then - return - end - local index = 1 - if current ~= nil then - for i, entry in ipairs(list) do - if entry.id == current.id then - index = i - break - end - end - index = index + (direction == "prev" and -1 or 1) - if index < 1 then - index = #list - elseif index > #list then - index = 1 - end - end - apply(list[index]) -end - --- Apply requests from the widget/panel. The nonce is monotonic across --- writers (each seeds from the last request) and guards against replaying a --- stale request after a hot reload of this script. -local handledNonce = 0 -do - local pendingReq = noctalia.state.get(REQUEST_KEY) - if type(pendingReq) == "table" and type(pendingReq.nonce) == "number" then - handledNonce = pendingReq.nonce - end -end -noctalia.state.watch(REQUEST_KEY, function(req) - if type(req) ~= "table" or type(req.nonce) ~= "number" or req.nonce <= handledNonce then - return - end - handledNonce = req.nonce - if nmcliMissing then - return - end - applyById(req.id, req.label, req.ip) -end) - --- Scriptable switching: --- noctalia msg plugin nightwatch75/dns-switcher:service all apply --- where is a provider id ("google", "default", "custom:"…); --- "poll" forces an immediate re-detection; "cycle next"/"cycle prev" steps to --- the neighbouring provider in the panel's own order (this is what the bar --- widget's scroll_up/scroll_down gesture defaults send, [widget.actions] in --- plugin.toml). -function onIpc(event, payload) - if nmcliMissing then - return - end - if event == "poll" then - pollNow() - elseif event == "apply" then - local id = type(payload) == "string" and trim(payload) or "" - if not applyById(id) then - noctalia.notifyError(tr("title"), tr("err_unknown_provider", { id = id })) - end - elseif event == "cycle" then - local direction = type(payload) == "string" and trim(payload) or "next" - cycleTo(direction) - end -end - --- plugin_api >= 17. A hot reload (editing this file) tears this VM down and a --- fresh one starts moments later, which republishes its own state on load — --- nothing to do for "reload". On disable/uninstall/shutdown mid-apply, --- though, nothing ever republishes again: without this, every widget/panel --- instance reading the shared state would stay frozen on "changing" forever. --- The in-flight nmcli command is not ours to cancel either way — runAsync --- hands back no killable handle, and it is idempotent (con mod + reapply), so --- letting it finish in the background is harmless. This only stops --- describing it as in progress. The DNS choice itself is never touched here: --- it lives in the NetworkManager connection profile, independent of whether --- this plugin is enabled at all. -function onExit(_signal, reason) - if reason == "reload" then - return - end - if changing then - changing = false - publish() - end -end - -function onConfigChanged() - -- Settings edits reshape the provider list and may relabel the current - -- entry; re-publish and re-check right away. - publish() - pollNow() -end - -function update() - if nmcliMissing then - return - end - pollTicks += 1 - if pollTicks >= pollSeconds() then - pollTicks = 0 - pollNow() - end -end - -noctalia.setUpdateInterval(1000) -if not noctalia.commandExists("nmcli") then - nmcliMissing = true - errMsg = tr("status_no_nmcli") - current = nil - publish() - noctalia.notifyError(tr("title"), tr("err_no_nmcli")) -else - publish() - pollNow() -end diff --git a/dns-switcher/thumbnail.webp b/dns-switcher/thumbnail.webp deleted file mode 100644 index 443af38f7895b2dc2d11caa50f1fdf5203988dc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81014 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 ir~yS9D?ckHi{3z>VZOWj|a>|S>5=Yo>` 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 fcM%W81*^+BZePe*B/dev/null 2>&1; then \ - shellcheck scripts/collect_raw.sh packaging/*.sh tests/test_collect_raw.sh tests/test_packaging.sh tests/fixtures/bin/*; \ - fi - -translations: - jq empty translations/en.json - -lint: - @if command -v noctalia >/dev/null 2>&1; then noctalia plugins lint .; \ - else echo "noctalia CLI unavailable; skipped plugin manifest lint"; fi - git diff --check diff --git a/drive-health/README.md b/drive-health/README.md deleted file mode 100644 index 1192852..0000000 --- a/drive-health/README.md +++ /dev/null @@ -1,153 +0,0 @@ -# Drive Health - -Drive Health is a storage-health monitor for Noctalia Shell. It discovers SSDs -and HDDs, shows temperature and mounted-space usage, and can optionally expose -full SMART health, endurance, error counters, trends, alerts, and background -self-tests through a read-only system collector. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `gustav0ar/drive-health` | -| Entries | Bar widget: `summary`; panel: `drives`; services: `collector`, `alerts`, `history` | - -## Requirements - -Drive Health runs on Linux with Noctalia Shell v5 and uses the following -commands declared in `plugin.toml`: - -`lsblk`, `smartctl`, `sh`, `date`, `dirname`, `mkdir`, `mktemp`, `rm`, `sed`, -`cat`, `chmod`, `mv`, `env`, `bash`, `install`, `systemctl`, `pkexec`, -`id`, `tr`, `pacman`, `apt-get`, `dnf`, `zypper`, `apk`, `xbps-install`, and -`emerge`. - -Most are standard system utilities. Install `smartctl` from the -`smartmontools` package and `lsblk` from `util-linux`. `systemctl` and `pkexec` -are needed only for the optional collector and SMART self-tests. - -The dependency card uses the desktop authorization dialog before it runs a -package-manager command for `pacman`, `apt-get`, `dnf`, `zypper`, `apk`, -`xbps-install`, or `emerge`. The exact command remains visible for review. - -## Usage - -Enable Drive Health from Noctalia's community source, then add the `summary` -widget to a bar. Select the widget to open the drives panel. The same panel can -be toggled with: - -```sh -noctalia msg panel-toggle gustav0ar/drive-health:drives -``` - -Basic mode discovers drives, mounted folders, storage use, and temperatures -available to the user session. Open the collector controls from the gear in -the panel header to compare basic mode with optional Full SMART mode. - -Full SMART installation uses the desktop authorization dialog and runs in the -background. After approval, the installer adds a hardened systemd oneshot and -timer. Starting, pausing, removing the collector, and changing its interval -use the same dialog. Disabling Full SMART in settings makes Drive Health ignore -the collector cache; use **Stop background service** to stop an installed timer -as well. - -Plugin lifecycle actions also reconcile the installed collector. Enabling or -re-enabling Drive Health starts it when Full SMART is enabled, disabling the -plugin pauses it, and uninstalling an enabled plugin removes it. Each privileged -action uses the desktop authorization dialog. Reloading Drive Health or stopping -Noctalia leaves the system timer unchanged. If authorization is cancelled or -fails, the collector remains in its prior state and Drive Health reports the -failure when its runtime is still available. - -Expand a drive for detailed counters, trend history, per-drive preferences, -and SMART self-tests. A self-test requires explicit confirmation and a Polkit -authorization prompt, then runs in the background while progress and its final -firmware result appear in the panel. Sleeping HDDs are not spun up merely to -refresh their SMART data. - -Transient SMART read failures are stabilized across three distinct successful -collector snapshots. The first failure establishes a pending state; an alert is -created only if unavailability persists, so device passthrough and reattachment -do not produce one-scan notification noise. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `system_collector_enabled` | `bool` | `false` | Read the optional root collector cache for complete SMART data. | -| `refresh_seconds` | `int` | `30` | Seconds between lightweight user-session refreshes (15–300). This updates drive inventory, mounts, and non-waking sysfs temperatures; the root timer refreshes full SMART data every 15 minutes. | -| `full_smart_refresh_minutes` | `int` | `15` | Minutes between privileged full SMART reads (1–1440). Applying a changed interval requires explicit administrator approval from the collector controls. | -| `warning_temperature` | `int` | `65` | Global warning temperature in °C. | -| `critical_temperature` | `int` | `80` | Global critical temperature in °C. | -| `life_warning_percent` | `int` | `20` | Remaining SSD-life percentage that triggers a warning. | -| `alerts_enabled` | `bool` | `true` | Show notifications for new or worsening issues. | -| `notify_recovery` | `bool` | `true` | Notify when an active issue clears. | -| `show_hdd` | `bool` | `true` | Include rotational drives in the panel. | -| `alert_hdd` | `bool` | `true` | Evaluate rotational drives for health alerts. | -| `drive_missing_alerts` | `bool` | `true` | Alert when an established internal drive disappears. | -| `missing_grace_scans` | `int` | `3` | Successful scans a drive may be absent before alerting (1–20). | -| `use_hotspot_temperature` | `bool` | `true` | Use the hottest valid NVMe sensor for summaries and alerts. | -| `history_interval_minutes` | `int` | `60` | Minutes between saved trend samples (15–1440). | -| `history_retention_days` | `int` | `30` | Days of bounded trend history to retain (1–365). | - -Per-drive controls can set an alias and alert thresholds, reorder or hide a -drive, and enable missing-drive alerts. Dismissed alerts are dropped and only -return when the condition clears and later recurs or escalates. - -## IPC - -The normal public entry is the panel command above. The plugin's internal -services communicate through Noctalia state and do not require manual IPC. - -## Notes - -Drive Health makes no network requests and does not download or execute code. -It spawns only the commands documented under Requirements. Conditional -package-manager commands are generated locally and require desktop -administrator authorization. - -The plugin stores bounded local state in its Noctalia data directory: - -- `alert-state.json` for current and dismissed alert state; -- `history.json` for temperature and endurance samples; -- `drive-preferences.json` for per-drive display and alert preferences; -- `last-collector-snapshot.json` for monotonic-counter comparisons. - -Full SMART mode installs these system files only after explicit approval: - -- `/usr/local/libexec/noctalia-drive-health/collect_raw.sh`; -- `/usr/local/libexec/noctalia-drive-health/smart-action.sh`; -- `/usr/local/libexec/noctalia-drive-health/manage-collector.sh`; -- `/usr/local/libexec/noctalia-drive-health/uninstall-collector.sh`; -- `/etc/systemd/system/noctalia-drive-health.service`; -- `/etc/systemd/system/noctalia-drive-health.timer`; -- `/run/noctalia-drive-health/raw.json`. - -The runtime directory is mode `0750`, the cache is mode `0640`, and access is -limited to root plus the desktop user's primary group. SMART serials and mount -paths stay inside the local cache and panel; they are never transmitted. - -The system collector performs read-only `smartctl --all` queries. SMART -self-tests are separate, explicitly authorized firmware operations. They can -take minutes or hours, may increase drive activity, and should not be confused -with filesystem repair or data recovery. - -To remove the optional collector explicitly, use **Remove collector** in its -controls and approve the desktop authorization dialog. Uninstalling Drive Health -while it is enabled requests the same cleanup. Because the plugin cannot wait -for an authorization dialog after its runtime is destroyed, a cancelled or -failed uninstall authorization leaves the collector installed; reinstall the -plugin and use **Remove collector** to retry. If the plugin was disabled first, -its service is no longer running and cannot receive the uninstall event; use -the collector control before disabling in that sequence. - -## Development - -Run the unit, shell, translation, lint, privacy, and packaging checks from this -directory: - -```sh -make test -``` - -This source is licensed under the MIT License. diff --git a/drive-health/collector.luau b/drive-health/collector.luau deleted file mode 100644 index 0764545..0000000 --- a/drive-health/collector.luau +++ /dev/null @@ -1,1318 +0,0 @@ ---!nonstrict - --- Collection and normalization service. Raw device access lives in the small --- POSIX script; this entry owns all platform-neutral SMART interpretation. - -local SYSTEM_NAMESPACE = "noctalia-drive-health" -local SYSTEM_LIBEXEC = "/usr/local/libexec/" .. SYSTEM_NAMESPACE -local RAW_CACHE = "/run/" .. SYSTEM_NAMESPACE .. "/raw.json" --- The root collector performs full SMART reads every 15 minutes. The desktop --- service refreshes lsblk and sysfs temperatures between those runs, so allow --- a little scheduler slack before falling back to an expensive direct read. -local CACHE_MAX_AGE_SECONDS = 1200 -local LSBLK_INVENTORY_COMMAND = "lsblk --json --bytes --paths --output " - .. "NAME,KNAME,PATH,PKNAME,TYPE,TRAN,ROTA,RM,HOTPLUG,SIZE,LOG-SEC,PHY-SEC,MODEL,SERIAL,FSTYPE,FSSIZE,FSUSED,FSAVAIL,MOUNTPOINTS" -local NVME_DATA_UNIT_BYTES = 512000 -local EXPECTED_COLLECTOR_VERSION = "2.0.1" -local PREFERENCES_FILE = "drive-preferences.json" - -local collecting = false -local refreshNonce = 0 -local loggedDependencySignature = nil -local notifiedCollectorUpgradeSignature = nil -local dependencyProbe = { - checked = false, - running = false, - forcedPending = false, - incompatible = {}, -} -local dependencyProbeGeneration = tonumber(noctalia.state.get("dependency_probe_generation")) or 0 -local drivePreferences = { schema = 1, order = {}, drives = {} } - -local DEPENDENCIES = { - { - command = "lsblk", - label = "lsblk", - blocking = true, - packages = { - pacman = "util-linux", apt = "util-linux", dnf = "util-linux", - zypper = "util-linux", apk = "util-linux", xbps = "util-linux", - emerge = "sys-apps/util-linux", - }, - }, - { - command = "smartctl", - label = "smartctl", - blocking = false, - packages = { - pacman = "smartmontools", apt = "smartmontools", dnf = "smartmontools", - zypper = "smartmontools", apk = "smartmontools", xbps = "smartmontools", - emerge = "sys-apps/smartmontools", - }, - }, -} - -local PACKAGE_MANAGERS = { - { command = "pacman", id = "pacman", label = "pacman", prefix = "pkexec pacman -S --needed --noconfirm " }, - { command = "apt-get", id = "apt", label = "APT", prefix = "pkexec apt-get install --yes " }, - { command = "dnf", id = "dnf", label = "DNF", prefix = "pkexec dnf install --assumeyes " }, - { command = "zypper", id = "zypper", label = "Zypper", prefix = "pkexec zypper --non-interactive install " }, - { command = "apk", id = "apk", label = "APK", prefix = "pkexec apk add " }, - { command = "xbps-install", id = "xbps", label = "XBPS", prefix = "pkexec xbps-install -S -y " }, - { command = "emerge", id = "emerge", label = "Portage", prefix = "pkexec emerge --ask=n " }, -} - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function systemCollectorEnabled() - return noctalia.getConfig("system_collector_enabled") == true -end - -local function fullSmartRefreshMinutes() - local configured = tonumber(noctalia.getConfig("full_smart_refresh_minutes")) or 15 - return math.max(1, math.min(1440, math.floor(configured))) -end - -local function numeric(value) - if value == nil or type(value) == "boolean" then - return nil - end - if type(value) == "number" then - if value == value and value ~= math.huge and value ~= -math.huge then - return value - end - return nil - end - if type(value) ~= "string" then - return nil - end - local cleaned = value:gsub(",", "") - local token = cleaned:match("%-?%d+%.?%d*") - return token ~= nil and tonumber(token) or nil -end - -local function integer(value) - local parsed = numeric(value) - return parsed ~= nil and math.floor(parsed) or nil -end - -local function validCollectionId(value) - if type(value) ~= "string" then - return nil - end - local trimmed = noctalia.string.trim(value) - if trimmed == "" or #trimmed > 128 or trimmed:find("[%c]") ~= nil then - return nil - end - return trimmed -end - -local function clamp(value, minimum, maximum) - return math.max(minimum, math.min(maximum, value)) -end - -local function bitSet(value, bit) - local parsed = integer(value) - return parsed ~= nil and math.floor(parsed / (2 ^ bit)) % 2 == 1 -end - -local function validTemperature(value) - local parsed = numeric(value) - return parsed ~= nil and parsed >= -20 and parsed <= 150 and parsed or nil -end - -local function smartDeviceFor(path) - local controller = tostring(path):match("^/dev/(nvme%d+)n%d+$") - return controller ~= nil and "/dev/" .. controller or tostring(path) -end - -local function deviceBasename(value) - local normalized = tostring(value or ""):gsub("/+$", "") - return normalized:match("([^/]+)$") or "" -end - -local function listDirectory(path) - local entries = noctalia.listDir(path) - return type(entries) == "table" and entries or {} -end - -local function readTemperatureFile(path) - local raw = noctalia.readFile(path) - local value = raw ~= nil and tonumber(noctalia.string.trim(raw)) or nil - if value == nil then - return nil - end - local celsius = math.abs(value) >= 1000 and value / 1000 or value - if celsius < -20 or celsius > 150 then - return nil - end - return math.floor(celsius * 10 + 0.5) / 10 -end - -local function sysfsTemperature(devicePath) - local name = tostring(devicePath):match("([^/]+)$") or tostring(devicePath) - local candidates = {} - local controller = name:match("^(nvme%d+)n%d+$") - if controller ~= nil then - local controllerPath = "/sys/class/nvme/" .. controller - for _, entry in ipairs(listDirectory(controllerPath)) do - if entry:match("^hwmon") then - table.insert(candidates, controllerPath .. "/" .. entry .. "/temp1_input") - end - end - local hwmonPath = controllerPath .. "/device/hwmon" - for _, entry in ipairs(listDirectory(hwmonPath)) do - if entry:match("^hwmon") then - table.insert(candidates, hwmonPath .. "/" .. entry .. "/temp1_input") - end - end - end - - for _, entry in ipairs(listDirectory("/sys/class/hwmon")) do - if entry:match("^hwmon") then - local root = "/sys/class/hwmon/" .. entry - local sensorName = noctalia.readFile(root .. "/name") - if sensorName ~= nil and noctalia.string.trim(sensorName) == "drivetemp" - and noctalia.fileExists(root .. "/device/block/" .. name) then - table.insert(candidates, root .. "/temp1_input") - end - end - end - - for _, path in ipairs(candidates) do - local temperature = readTemperatureFile(path) - if temperature ~= nil then - return temperature - end - end - return nil -end - -local function walkBlockDevices(nodes, callback) - for _, node in ipairs(nodes or {}) do - callback(node) - walkBlockDevices(node.children, callback) - end -end - -local function mountedUsage(root) - local used = 0 - local available = 0 - local found = false - local seen = {} - local mountPoints = {} - local seenMountPoints = {} - walkBlockDevices({ root }, function(node) - local hasMount = false - for _, mountpoint in ipairs(node.mountpoints or {}) do - if type(mountpoint) == "string" and mountpoint ~= "" and mountpoint ~= "[SWAP]" then - hasMount = true - if not seenMountPoints[mountpoint] then - seenMountPoints[mountpoint] = true - table.insert(mountPoints, mountpoint) - end - end - end - local identity = tostring(node.kname or node.path or "") - local fsUsed = integer(node.fsused) - local fsAvailable = integer(node.fsavail) - if hasMount and identity ~= "" and not seen[identity] and fsUsed ~= nil and fsAvailable ~= nil then - seen[identity] = true - used += fsUsed - available += fsAvailable - found = true - end - end) - table.sort(mountPoints, function(left, right) - if left == right then return false end - if left == "/" then return true end - if right == "/" then return false end - return left < right - end) - if not found then - return nil, nil, nil, mountPoints - end - local total = used + available - local percent = total > 0 and math.floor((used / total * 100) * 10 + 0.5) / 10 or 0 - return used, available, percent, mountPoints -end - -local function attributeMap(smart) - local result = {} - local ata = type(smart.ata_smart_attributes) == "table" and smart.ata_smart_attributes or {} - for _, item in ipairs(ata.table or {}) do - if type(item) == "table" and item.name ~= nil then - result[tostring(item.name):lower()] = item - end - end - return result -end - -local function rawAttribute(attribute) - if type(attribute) ~= "table" then - return nil - end - local raw = attribute.raw - return type(raw) == "table" and integer(raw.value) or integer(raw) -end - -local function firstAttribute(attributes, names) - for _, name in ipairs(names) do - local attribute = attributes[tostring(name):lower()] - if attribute ~= nil then - return attribute - end - end - return nil -end - -local function maximumRawAttribute(attributes, names) - local maximum = nil - for _, name in ipairs(names) do - local value = rawAttribute(attributes[tostring(name):lower()]) - if value ~= nil then - maximum = maximum == nil and value or math.max(maximum, value) - end - end - return maximum -end - -local function remainingLife(attributes) - local remaining = firstAttribute(attributes, { - "Percent_Lifetime_Remain", "SSD_Life_Left", "Media_Wearout_Indicator", - "Wear_Leveling_Count", "Remaining_Lifetime_Perc", "Remaining_Life", - "Lifetime_Remaining%", "Drive_Life_Remaining%", - }) - if remaining ~= nil then - local value = numeric(remaining.value) - if value ~= nil then - return math.floor(clamp(value, 0, 100) * 10 + 0.5) / 10, true - end - end - local used = rawAttribute(firstAttribute(attributes, { - "Percentage_Used_Endurance_Indicator", "Percent_Lifetime_Used", "SSD_Life_Used", - })) - return used ~= nil and math.floor(clamp(100 - used, 0, 100) * 10 + 0.5) / 10 or nil, used ~= nil -end - -local function lbaBytes(attributes, names, blockSize) - local count = rawAttribute(firstAttribute(attributes, names)) - return count ~= nil and count * blockSize or nil -end - -local function ataDataBytes(attributes, direction, blockSize) - local lbaNames - local gibNames - local chunkNames - if direction == "written" then - lbaNames = { "Total_LBAs_Written" } - gibNames = { "Lifetime_Writes_GiB", "Host_Writes_GiB", "Total_Writes_GiB", "Total_NAND_Writes_GiB", "TLC_NAND_GB_Writes" } - chunkNames = { "Host_Writes_32MiB" } - else - lbaNames = { "Total_LBAs_Read" } - gibNames = { "Lifetime_Reads_GiB", "Host_Reads_GiB", "Total_Reads_GiB" } - chunkNames = { "Host_Reads_32MiB" } - end - local bytes = lbaBytes(attributes, lbaNames, blockSize) - if bytes ~= nil then - return bytes - end - local gib = rawAttribute(firstAttribute(attributes, gibNames)) - if gib ~= nil then - return gib * 1024 * 1024 * 1024 - end - local chunks = rawAttribute(firstAttribute(attributes, chunkNames)) - return chunks ~= nil and chunks * 32 * 1024 * 1024 or nil -end - -local function classifySelfTest(text, passed, value) - local normalized = tostring(text or ""):lower() - if passed == true or tonumber(value) == 0 then - return "passed" - elseif normalized:find("progress", 1, true) or normalized:find("in progress", 1, true) then - return "running" - elseif normalized:find("interrupt", 1, true) or normalized:find("abort", 1, true) then - return "interrupted" - elseif normalized ~= "" then - return "failed" - end - return "unknown" -end - -local function normalizeSelfTest(smart) - local ata = type(smart.ata_smart_self_test_log) == "table" and smart.ata_smart_self_test_log or {} - local standard = type(ata.standard) == "table" and ata.standard or {} - local ataLatest = type(standard.table) == "table" and standard.table[1] or nil - if type(ataLatest) == "table" then - local status = type(ataLatest.status) == "table" and ataLatest.status or {} - local remaining = numeric(status.remaining_percent) - return { - supported = true, - state = classifySelfTest(status.string, status.passed, status.value), - status = tostring(status.string or "Unknown"), - test_type = type(ataLatest.type) == "table" and ataLatest.type.string or nil, - lifetime_hours = integer(ataLatest.lifetime_hours), - completion_percent = remaining ~= nil and clamp(100 - remaining, 0, 100) or nil, - error_count = integer(standard.error_count_total), - } - elseif next(standard) ~= nil then - return { supported = true, state = "never", status = noctalia.tr("self_test.none_recorded") } - end - - local nvme = type(smart.nvme_self_test_log) == "table" and smart.nvme_self_test_log or {} - if next(nvme) ~= nil then - local operation = type(nvme.current_self_test_operation) == "table" and nvme.current_self_test_operation or {} - if integer(operation.value) ~= nil and integer(operation.value) ~= 0 then - return { - supported = true, - state = "running", - status = tostring(operation.string or noctalia.tr("self_test.in_progress")), - completion_percent = numeric(nvme.current_self_test_completion_percent), - } - end - local latest = type(nvme.table) == "table" and nvme.table[1] or nil - if type(latest) == "table" then - local result = type(latest.self_test_result) == "table" and latest.self_test_result or {} - return { - supported = true, - state = classifySelfTest(result.string, result.passed, result.value), - status = tostring(result.string or "Unknown"), - test_type = type(latest.self_test_code) == "table" and latest.self_test_code.string or nil, - lifetime_hours = integer(latest.power_on_hours), - } - end - return { supported = true, state = "never", status = noctalia.tr("self_test.none_recorded") } - end - return { supported = false, state = "unsupported", status = noctalia.tr("self_test.log_unavailable") } -end - -local function normalizeSmart(smart, blockSize) - smart = type(smart) == "table" and smart or {} - blockSize = blockSize or 512 - local nvme = type(smart.nvme_smart_health_information_log) == "table" - and smart.nvme_smart_health_information_log or {} - local attributes = attributeMap(smart) - local isNvme = next(nvme) ~= nil - local smartctl = type(smart.smartctl) == "table" and smart.smartctl or {} - local powerMode = type(smart.power_mode) == "table" and smart.power_mode or {} - local powerModeText = tostring(powerMode.string or ""):lower() - local smartSleeping = powerModeText:find("standby", 1, true) ~= nil - or powerModeText:find("sleep", 1, true) ~= nil - local smartExitStatus = integer(smartctl.exit_status) or integer(smart._collector_exit_code) - local status = type(smart.smart_status) == "table" and smart.smart_status.passed or nil - if bitSet(smartExitStatus, 3) or bitSet(smartExitStatus, 4) then - status = false - end - local health = status == true and "passed" or (status == false and "failed" or "unknown") - local temperatureTable = type(smart.temperature) == "table" and smart.temperature or {} - local temperature = validTemperature(temperatureTable.current) - if temperature == nil and isNvme then - temperature = validTemperature(nvme.temperature) - end - if temperature == nil then - temperature = rawAttribute(firstAttribute(attributes, { - "Temperature_Celsius", "Airflow_Temperature_Cel", "Temperature_Internal", - })) - end - temperature = validTemperature(temperature) - local temperatureSensors = {} - if type(nvme.temperature_sensors) == "table" then - for _, sensor in ipairs(nvme.temperature_sensors) do - local parsed = validTemperature(sensor) - if parsed ~= nil then - table.insert(temperatureSensors, parsed) - end - end - end - local hotspotTemperature = temperature - for _, sensor in ipairs(temperatureSensors) do - hotspotTemperature = hotspotTemperature == nil and sensor or math.max(hotspotTemperature, sensor) - end - local smartMessages = {} - local hasCollectionError = bitSet(smartExitStatus, 0) or bitSet(smartExitStatus, 1) or bitSet(smartExitStatus, 2) - for _, message in ipairs(smartctl.messages or {}) do - if type(message) == "table" then - local text = tostring(message.string or "") - if text ~= "" then - table.insert(smartMessages, { severity = tostring(message.severity or "info"), message = text }) - if tostring(message.severity or ""):lower() == "error" then - hasCollectionError = true - end - end - end - end - - local percentageUsed - local life - local lifeEstimated = false - local dataRead - local dataWritten - local powerOnHours - local powerCycles - local unsafeShutdowns - local mediaErrors - local errorEntries - local spare - local criticalWarning - local spareThreshold - local warningTemperatureTime - local criticalTemperatureTime - - if isNvme then - percentageUsed = numeric(nvme.percentage_used) - life = percentageUsed ~= nil and math.floor(clamp(100 - percentageUsed, 0, 100) * 10 + 0.5) / 10 or nil - local readUnits = integer(nvme.data_units_read) - local writtenUnits = integer(nvme.data_units_written) - dataRead = readUnits ~= nil and readUnits * NVME_DATA_UNIT_BYTES or nil - dataWritten = writtenUnits ~= nil and writtenUnits * NVME_DATA_UNIT_BYTES or nil - powerOnHours = integer(nvme.power_on_hours) - powerCycles = integer(nvme.power_cycles) - unsafeShutdowns = integer(nvme.unsafe_shutdowns) - mediaErrors = integer(nvme.media_errors) - errorEntries = integer(nvme.num_err_log_entries) - spare = numeric(nvme.available_spare) - spareThreshold = numeric(nvme.available_spare_threshold) - criticalWarning = integer(nvme.critical_warning) - warningTemperatureTime = integer(nvme.warning_temp_time) - criticalTemperatureTime = integer(nvme.critical_comp_time) - else - life, lifeEstimated = remainingLife(attributes) - if life == nil then - local vendorHealth = firstAttribute(attributes, { "Perc_Write/Erase_Count" }) - local vendorValue = type(vendorHealth) == "table" and numeric(vendorHealth.value) or nil - if vendorValue ~= nil then - life = math.floor(clamp(vendorValue, 0, 100) * 10 + 0.5) / 10 - lifeEstimated = true - end - end - percentageUsed = life ~= nil and math.floor((100 - life) * 10 + 0.5) / 10 or nil - dataRead = ataDataBytes(attributes, "read", blockSize) - dataWritten = ataDataBytes(attributes, "written", blockSize) - local powerTime = type(smart.power_on_time) == "table" and smart.power_on_time or {} - powerOnHours = integer(powerTime.hours) - powerCycles = rawAttribute(firstAttribute(attributes, { "Power_Cycle_Count" })) - unsafeShutdowns = rawAttribute(firstAttribute(attributes, { - "Unsafe_Shutdown_Count", "POR_Recovery_Count", "Unexpect_Power_Loss_Ct", - })) - local ataLog = type(smart.ata_smart_error_log) == "table" and smart.ata_smart_error_log or {} - local summary = type(ataLog.summary) == "table" and ataLog.summary or {} - mediaErrors = nil - errorEntries = integer(summary.count) - local spareAttribute = firstAttribute(attributes, { "Perc_Avail_Resrvd_Space" }) - spare = type(spareAttribute) == "table" and numeric(spareAttribute.value) or nil - end - - local selfTest = normalizeSelfTest(smart) - if bitSet(smartExitStatus, 7) and selfTest.state ~= "failed" then - selfTest.state = "failed" - selfTest.status = noctalia.tr("self_test.log_failure") - end - - return { - health = health, - temperature_c = temperature, - hotspot_temperature_c = hotspotTemperature, - temperature_sensors_c = #temperatureSensors > 0 and temperatureSensors or nil, - device_warning_temperature_c = validTemperature(temperatureTable.op_limit_max), - device_critical_temperature_c = validTemperature(temperatureTable.critical_limit_max), - percentage_used = percentageUsed, - remaining_life_percent = life, - remaining_life_estimated = lifeEstimated, - available_spare_percent = spare, - available_spare_threshold_percent = spareThreshold, - data_read_bytes = dataRead, - data_written_bytes = dataWritten, - power_on_hours = powerOnHours, - power_on_hours_saturated = not isNvme and powerOnHours == 65535, - power_cycles = powerCycles, - unsafe_shutdowns = unsafeShutdowns, - media_errors = mediaErrors, - error_log_entries = errorEntries, - critical_warning = criticalWarning, - warning_temperature_time_minutes = warningTemperatureTime, - critical_temperature_time_minutes = criticalTemperatureTime, - smartctl_exit_status = smartExitStatus, - smart_sleeping = smartSleeping, - smart_power_mode = powerMode.string, - smart_messages = #smartMessages > 0 and smartMessages or nil, - smart_completeness = hasCollectionError and "partial" or "full", - smart_error_log_present = bitSet(smartExitStatus, 6), - smart_prefail_attribute_now = bitSet(smartExitStatus, 4), - smart_past_threshold = bitSet(smartExitStatus, 5), - smart_self_test_log_error = bitSet(smartExitStatus, 7), - self_test_supported = selfTest.supported, - self_test_state = selfTest.state, - self_test_status = selfTest.status, - self_test_type = selfTest.test_type, - self_test_lifetime_hours = selfTest.lifetime_hours, - self_test_completion_percent = selfTest.completion_percent, - self_test_error_count = selfTest.error_count, - reallocated_sectors = rawAttribute(firstAttribute(attributes, { "Reallocated_Sector_Ct", "Reallocated_Event_Count" })), - pending_sectors = rawAttribute(firstAttribute(attributes, { "Current_Pending_Sector" })), - uncorrectable_errors = maximumRawAttribute(attributes, { - "Offline_Uncorrectable", "Reported_Uncorrect", "Uncorrectable_Error_Cnt", - }), - start_stop_count = rawAttribute(firstAttribute(attributes, { "Start_Stop_Count" })), - load_cycle_count = rawAttribute(firstAttribute(attributes, { "Load_Cycle_Count" })), - spin_retry_count = rawAttribute(firstAttribute(attributes, { "Spin_Retry_Count" })), - command_timeout_count = rawAttribute(firstAttribute(attributes, { "Command_Timeout" })), - interface_crc_errors = rawAttribute(firstAttribute(attributes, { "UDMA_CRC_Error_Count", "CRC_Error_Count" })), - } -end - -local function conciseSmartError(smart) - local smartctl = type(smart.smartctl) == "table" and smart.smartctl or {} - for _, message in ipairs(smartctl.messages or {}) do - local text = type(message) == "table" and tostring(message.string or "") or tostring(message) - if text:lower():find("permission denied", 1, true) ~= nil then - return "Permission denied; install the read-only system collector for full SMART data." - elseif text ~= "" then - return text - end - end - return "SMART data unavailable." -end - -local function copySmartAttributes(smart) - local result = {} - local ata = type(smart.ata_smart_attributes) == "table" and smart.ata_smart_attributes or {} - for _, item in ipairs(ata.table or {}) do - if type(item) == "table" then - local raw = type(item.raw) == "table" and item.raw or {} - table.insert(result, { - id = integer(item.id), name = item.name, value = integer(item.value), - worst = integer(item.worst), threshold = integer(item.thresh), - raw_value = rawAttribute(item), raw_string = raw.string, - }) - end - end - return result -end - -local function hasSmartData(smart) - return type(smart) == "table" and ( - smart.smart_status ~= nil or smart.nvme_smart_health_information_log ~= nil - or smart.ata_smart_attributes ~= nil - ) -end - -local function summarize(disks) - local ssdCount = 0 - local hddCount = 0 - local smartAvailable = 0 - local ssdSmartAvailable = 0 - local unhealthy = 0 - local ssdUnhealthy = 0 - local partial = 0 - local ssdPartial = 0 - local selfTestFailures = 0 - local ssdSelfTestFailures = 0 - local sleeping = 0 - local hottest = nil - local hottestDrive = nil - local hottestSsd = nil - local hottestSsdDrive = nil - local lowestLife = nil - local lowestLifeDrive = nil - for _, disk in ipairs(disks) do - local isSsd = disk.kind == "ssd" - if isSsd then - ssdCount += 1 - else - hddCount += 1 - end - if disk.smart_available then - smartAvailable += 1 - if isSsd then ssdSmartAvailable += 1 end - end - if disk.smart_sleeping then - sleeping += 1 - end - if disk.smart_completeness == "partial" then - partial += 1 - if isSsd then ssdPartial += 1 end - end - if disk.health == "failed" then - unhealthy += 1 - if isSsd then ssdUnhealthy += 1 end - end - if disk.self_test_state == "failed" then - selfTestFailures += 1 - if isSsd then ssdSelfTestFailures += 1 end - end - local temperature = tonumber(isSsd and noctalia.getConfig("use_hotspot_temperature") ~= false - and disk.hotspot_temperature_c or disk.temperature_c) - if temperature ~= nil and (hottest == nil or temperature > hottest) then - hottest = temperature - hottestDrive = disk - end - if isSsd then - if temperature ~= nil and (hottestSsd == nil or temperature > hottestSsd) then - hottestSsd = temperature - hottestSsdDrive = disk - end - local life = tonumber(disk.remaining_life_percent) - if life ~= nil and (lowestLife == nil or life < lowestLife) then - lowestLife = life - lowestLifeDrive = disk - end - end - end - return { - disk_count = #disks, - ssd_count = ssdCount, - hdd_count = hddCount, - smart_available_count = smartAvailable, - smart_unavailable_count = #disks - smartAvailable - sleeping, - sleeping_count = sleeping, - unhealthy_count = unhealthy, - partial_smart_count = partial, - self_test_failure_count = selfTestFailures, - hottest_drive_temperature_c = hottest, - hottest_drive_id = hottestDrive and hottestDrive.id or nil, - hottest_drive_name = hottestDrive and hottestDrive.display_name or nil, - ssd_smart_available_count = ssdSmartAvailable, - ssd_smart_unavailable_count = ssdCount - ssdSmartAvailable, - hdd_smart_available_count = smartAvailable - ssdSmartAvailable, - hdd_smart_unavailable_count = hddCount - (smartAvailable - ssdSmartAvailable), - ssd_unhealthy_count = ssdUnhealthy, - ssd_partial_smart_count = ssdPartial, - ssd_self_test_failure_count = ssdSelfTestFailures, - hottest_ssd_temperature_c = hottestSsd, - hottest_ssd_drive_id = hottestSsdDrive and hottestSsdDrive.id or nil, - hottest_ssd_drive_name = hottestSsdDrive and hottestSsdDrive.display_name or nil, - worst_ssd_remaining_life_percent = lowestLife, - worst_ssd_life_drive_id = lowestLifeDrive and lowestLifeDrive.id or nil, - worst_ssd_life_drive_name = lowestLifeDrive and lowestLifeDrive.display_name or nil, - } -end - -local function loadDrivePreferences() - local directory = noctalia.pluginDataDir() - local path = directory ~= nil and directory .. "/" .. PREFERENCES_FILE or nil - local encoded = path ~= nil and noctalia.readFile(path) or nil - local decoded = encoded ~= nil and noctalia.json.decode(encoded) or nil - if type(decoded) == "table" then - drivePreferences = decoded - drivePreferences.schema = 1 - drivePreferences.order = type(decoded.order) == "table" and decoded.order or {} - drivePreferences.drives = type(decoded.drives) == "table" and decoded.drives or {} - end - noctalia.state.set("drive_preferences", drivePreferences) -end - -local function preferenceFor(id) - local preferences = type(drivePreferences.drives) == "table" and drivePreferences.drives or {} - return type(preferences[id]) == "table" and preferences[id] or {} -end - -local function orderFor(id) - for index, value in ipairs(drivePreferences.order or {}) do - if tostring(value) == tostring(id) then - return index - end - end - return 100000 -end - -local function systemCollectorState(raw, source) - local pluginDirectory = noctalia.pluginDir() - local enabled = systemCollectorEnabled() - local installed = noctalia.fileExists(SYSTEM_LIBEXEC .. "/collect_raw.sh") - local pkexecAvailable = noctalia.commandExists("pkexec") - local reportedVersion = type(raw) == "table" and tostring(raw.collector_version or "") or "" - local version = source == "system-cache" and reportedVersion or "" - local refreshMinutes = fullSmartRefreshMinutes() - local intervalScript = SYSTEM_LIBEXEC .. "/set-collector-interval.sh" - local manageScript = SYSTEM_LIBEXEC .. "/manage-collector.sh" - local uninstallScript = SYSTEM_LIBEXEC .. "/uninstall-collector.sh" - local installScript = pluginDirectory ~= nil - and pluginDirectory .. "/packaging/install-system-collector.sh" or nil - local sourceUninstallScript = pluginDirectory ~= nil - and pluginDirectory .. "/packaging/uninstall-system-collector.sh" or nil - local status - if not enabled then - status = "disabled" - elseif installed and not noctalia.fileExists(manageScript) then - -- Older collectors did not include the fixed, root-owned lifecycle helper. - -- Ask for an upgrade rather than falling back to a shell or terminal. - status = "upgrade-required" - elseif source == "system-cache" and version == EXPECTED_COLLECTOR_VERSION then - status = "healthy" - elseif source == "system-cache" and version ~= EXPECTED_COLLECTOR_VERSION then - status = "upgrade-required" - elseif installed then - status = "stale" - else - status = "not-installed" - end - return { - enabled = enabled, - installed = installed, - status = status, - version = version ~= "" and version or nil, - expected_version = EXPECTED_COLLECTOR_VERSION, - smart_refresh_minutes = refreshMinutes, - helper_installed = noctalia.fileExists(SYSTEM_LIBEXEC .. "/smart-action.sh"), - helper_available = enabled - and noctalia.fileExists(SYSTEM_LIBEXEC .. "/smart-action.sh"), - authorization_available = pkexecAvailable, - install_command = installScript ~= nil and pkexecAvailable and "pkexec " - .. shellQuote(installScript) - .. " --interval-minutes " .. tostring(refreshMinutes) or nil, - uninstall_command = pkexecAvailable and ((noctalia.fileExists(uninstallScript) - and "pkexec " .. shellQuote(uninstallScript)) - or (sourceUninstallScript ~= nil and "pkexec " .. shellQuote(sourceUninstallScript))) or nil, - enable_command = installed and noctalia.fileExists(manageScript) and pkexecAvailable - and "pkexec " .. shellQuote(manageScript) .. " start" or nil, - disable_command = installed and noctalia.fileExists(manageScript) and pkexecAvailable - and "pkexec " .. shellQuote(manageScript) .. " pause" or nil, - interval_command = installed and noctalia.fileExists(intervalScript) and pkexecAvailable - and "pkexec " .. shellQuote(intervalScript) .. " " .. tostring(refreshMinutes) or nil, - } -end - -local function normalizeRaw(raw, source) - if type(raw) ~= "table" or tonumber(raw.schema) ~= 2 then - return nil, "Unsupported raw SMART cache schema." - end - local lsblk = type(raw.lsblk) == "table" and raw.lsblk or {} - local smartByDevice = {} - for _, entry in ipairs(raw.smart or {}) do - if type(entry) == "table" then - local smart = type(entry.payload) == "table" and entry.payload or entry - smart._collector_exit_code = entry.exit_code - local device = type(smart.device) == "table" and smart.device or {} - if entry.requested_device ~= nil then - smartByDevice[tostring(entry.requested_device)] = smart - end - if device.name ~= nil then - smartByDevice[tostring(device.name)] = smart - end - end - end - - local disks = {} - for _, block in ipairs(lsblk.blockdevices or {}) do - local device = tostring(block.path or "") - local name = deviceBasename(block.name) - if name == "" then name = deviceBasename(block.kname) end - if name == "" then name = deviceBasename(device) end - if not device:match("^/dev/") and name ~= "" then device = "/dev/" .. name end - local kernelName = deviceBasename(block.kname) - if kernelName == "" then kernelName = name end - local virtual = name:match("^zram") or name:match("^loop") or name:match("^ram") or name:match("^sr") - if block.type == "disk" and device:match("^/dev/") and not virtual then - local smartDevice = smartDeviceFor(device) - local smart = smartByDevice[smartDevice] or smartByDevice[device] or {} - local smartAvailable = hasSmartData(smart) - local blockSize = integer(smart.logical_block_size) or integer(block["log-sec"]) or 512 - local values = normalizeSmart(smart, blockSize) - if not smartAvailable then - values.smart_completeness = "unavailable" - end - -- sysfs provides a lightweight, non-waking temperature update. Prefer - -- it when available so the bar and temperature alerts remain current - -- between the 15-minute full SMART snapshots. - local liveTemperature = sysfsTemperature(device) - if liveTemperature ~= nil then - values.temperature_c = liveTemperature - values.hotspot_temperature_c = liveTemperature - values.temperature_source = "sysfs" - elseif values.hotspot_temperature_c == nil then - values.hotspot_temperature_c = values.temperature_c - end - local used, available, usagePercent, mountPoints = mountedUsage(block) - local rotational = block.rota == true or tonumber(block.rota) == 1 - local serial = noctalia.string.trim(tostring(block.serial or "")) - local model = noctalia.string.trim(tostring(block.model or "")) - local namespace = name:match("^nvme%d+(n%d+)$") - local id = serial ~= "" and serial .. (namespace ~= nil and ":" .. namespace or "") - or (kernelName ~= "" and kernelName or device) - local preferences = preferenceFor(id) - local removable = block.rm == true or tonumber(block.rm) == 1 or block.hotplug == true or tonumber(block.hotplug) == 1 - local transport = tostring(block.tran or "unknown") - local defaultPresenceAlert = not removable and transport ~= "usb" - local drive = { - id = id, - device = device, - smart_device = smartDevice, - model = model ~= "" and model or name, - display_name = tostring(preferences.alias or "") ~= "" and tostring(preferences.alias) or (model ~= "" and model or name), - serial = serial ~= "" and serial or nil, - transport = transport, - kind = rotational and "hdd" or "ssd", - removable = removable, - hidden = preferences.hidden == true, - alerts_enabled = preferences.alerts_enabled ~= false, - presence_alert_enabled = preferences.presence_alert_enabled == nil and defaultPresenceAlert - or preferences.presence_alert_enabled == true, - warning_temperature = numeric(preferences.warning_temperature), - critical_temperature = numeric(preferences.critical_temperature), - life_warning_percent = numeric(preferences.life_warning_percent), - display_order = orderFor(id), - capacity_bytes = integer(block.size), - storage_used_bytes = used, - storage_available_bytes = available, - storage_usage_percent = usagePercent, - mount_points = #mountPoints > 0 and mountPoints or nil, - smart_available = smartAvailable, - smart_error = not smartAvailable and not values.smart_sleeping and conciseSmartError(smart) or nil, - } - for key, value in pairs(values) do - drive[key] = value - end - local attributes = copySmartAttributes(smart) - if #attributes > 0 then - drive.smart_attributes = attributes - end - table.insert(disks, drive) - end - end - - table.sort(disks, function(left, right) - if left.display_order ~= right.display_order then - return left.display_order < right.display_order - elseif left.kind ~= right.kind then - return left.kind == "ssd" - elseif left.transport ~= right.transport then - return left.transport < right.transport - end - return left.device < right.device - end) - - local epoch = integer(raw.generated_at_epoch) or os.time() - local smartCount = 0 - for _, disk in ipairs(disks) do - if disk.smart_available then - smartCount += 1 - end - end - return { - schema = 1, - collection_id = validCollectionId(raw.collection_id), - generated_at = tostring(epoch), - generated_at_epoch = epoch, - generated_at_local = noctalia.formatTime("%H:%M:%S", epoch), - collector_version = raw.collector_version, - source = source or "direct", - access = #disks > 0 and smartCount == #disks and "full" - or (smartCount > 0 and "partial" or "unavailable"), - disks = disks, - summary = summarize(disks), - system_collector = systemCollectorState(raw, source or "direct"), - }, nil -end - -local function detectedPackageManager() - for _, manager in ipairs(PACKAGE_MANAGERS) do - if noctalia.commandExists(manager.command) then - return manager - end - end - return nil -end - -local startDependencyProbe - -local function forceDependencyProbe() - if dependencyProbe.running then - dependencyProbe.forcedPending = true - return - end - dependencyProbe.checked = false - dependencyProbe.incompatible = {} - startDependencyProbe() -end - -startDependencyProbe = function() - if dependencyProbe.checked or dependencyProbe.running - or not noctalia.commandExists("lsblk") or not noctalia.commandExists("smartctl") then - return - end - dependencyProbe.running = true - local command = "if lsblk --json --bytes --output NAME,TYPE >/dev/null 2>&1; then " - .. "printf 'lsblk=ok\\n'; else printf 'lsblk=bad\\n'; fi; " - .. "if smartctl --json=c --version >/dev/null 2>&1; then " - .. "printf 'smartctl=ok\\n'; else printf 'smartctl=bad\\n'; fi" - local launched = noctalia.runAsync(command, function(result) - dependencyProbe.running = false - dependencyProbe.checked = true - local output = tostring(result.stdout or "") - local probeFailed = result.timedOut == true or tonumber(result.exitCode) ~= 0 - dependencyProbe.incompatible = { - lsblk = probeFailed or output:find("lsblk=ok", 1, true) == nil, - smartctl = probeFailed or output:find("smartctl=ok", 1, true) == nil, - } - dependencyProbeGeneration += 1 - noctalia.state.set("dependency_probe_generation", dependencyProbeGeneration) - if dependencyProbe.forcedPending then - dependencyProbe.forcedPending = false - forceDependencyProbe() - end - end, 5000) - if not launched then - dependencyProbe.running = false - dependencyProbe.checked = true - dependencyProbe.incompatible = { lsblk = true, smartctl = true } - if dependencyProbe.forcedPending then - dependencyProbe.forcedPending = false - forceDependencyProbe() - end - end -end - -local function checkDependencies() - startDependencyProbe() - local missing = {} - local blocking = false - for _, dependency in ipairs(DEPENDENCIES) do - local exists = noctalia.commandExists(dependency.command) - if not exists or dependencyProbe.incompatible[dependency.command] == true then - dependency.incompatible = exists - table.insert(missing, dependency) - blocking = blocking or dependency.blocking - end - end - local manager = detectedPackageManager() - local packages = {} - local seen = {} - local labels = {} - local signatureParts = {} - for _, dependency in ipairs(missing) do - table.insert(labels, dependency.incompatible - and dependency.label .. " (installed but incompatible)" - or dependency.label .. " (" .. dependency.command .. ")") - table.insert(signatureParts, dependency.command) - local packageName = manager ~= nil and dependency.packages[manager.id] or nil - if packageName ~= nil and not seen[packageName] then - seen[packageName] = true - table.insert(packages, packageName) - end - end - table.sort(signatureParts) - local installCommand = nil - if manager ~= nil and #packages > 0 and noctalia.commandExists("pkexec") then - installCommand = manager.prefix .. table.concat(packages, " ") - end - local signature = table.concat(signatureParts, ",") - local logSignature = signature == "" and "ready" or signature - if logSignature ~= loggedDependencySignature then - loggedDependencySignature = logSignature - noctalia.log(signature == "" and "Dependency check passed: lsblk and smartctl are available." - or "Dependency check found missing commands: " .. table.concat(labels, ", ")) - end - return { - ready = #missing == 0, - blocking = blocking, - missing = labels, - missing_text = table.concat(labels, ", "), - signature = signature, - package_manager = manager ~= nil and manager.label or nil, - install_command = installCommand, - can_install = installCommand ~= nil, - checking = dependencyProbe.running, - } -end - -local function freshJson(path) - local info = noctalia.fileInfo(path) - if type(info) ~= "table" or info.isDir or tonumber(info.mtime) == nil then - return nil - end - local age = os.time() - tonumber(info.mtime) - if age < 0 or age > CACHE_MAX_AGE_SECONDS then - return nil - end - local encoded = noctalia.readFile(path) - if encoded == nil then - return nil - end - return noctalia.json.decode(encoded) -end - -local function publishError(message, dependencies) - local snapshot = noctalia.state.get("collector_snapshot") or {} - snapshot.collecting = false - snapshot.collector_error = message - snapshot.dependencies = dependencies - snapshot.summary = snapshot.summary or {} - snapshot.system_collector = systemCollectorState(nil, "error") - noctalia.state.set("collector_snapshot", snapshot) -end - -local function publish(snapshot, dependencies) - snapshot.collecting = false - snapshot.collector_error = nil - snapshot.dependencies = dependencies - local collector = snapshot.system_collector - if type(collector) == "table" and collector.enabled == true - and collector.status == "upgrade-required" then - local signature = tostring(collector.version or "unknown") - .. "->" .. tostring(collector.expected_version or "unknown") - if signature ~= notifiedCollectorUpgradeSignature then - notifiedCollectorUpgradeSignature = signature - noctalia.notify(noctalia.tr("collector.update_title"), noctalia.tr("collector.update_body", { - current = tostring(collector.version or noctalia.tr("common.unknown")), - expected = tostring(collector.expected_version or noctalia.tr("common.unknown")), - })) - end - end - noctalia.state.set("collector_snapshot", snapshot) -end - -local function refreshSystemCacheInventory(rawCache, dependencies) - collecting = true - local current = noctalia.state.get("collector_snapshot") or {} - current.collecting = true - current.dependencies = dependencies - noctalia.state.set("collector_snapshot", current) - - local launched = noctalia.runAsync(LSBLK_INVENTORY_COMMAND, function(result) - collecting = false - local resolvedDependencies = checkDependencies() - local inventory = result.exitCode == 0 and not result.timedOut - and noctalia.json.decode(result.stdout or "") or nil - if type(inventory) == "table" and type(inventory.blockdevices) == "table" then - rawCache.lsblk = inventory - end - - -- A failed lightweight inventory refresh must not discard a healthy SMART - -- cache. It simply leaves connection and mount information at its last - -- known values until the next refresh. - local snapshot, normalizeError = normalizeRaw(rawCache, "system-cache") - if snapshot == nil then - publishError(tostring(normalizeError or "SMART normalization failed."), resolvedDependencies) - return - end - publish(snapshot, resolvedDependencies) - end, 15000) - if not launched then - collecting = false - local snapshot, normalizeError = normalizeRaw(rawCache, "system-cache") - if snapshot == nil then - publishError(tostring(normalizeError or "SMART normalization failed."), dependencies) - else - publish(snapshot, dependencies) - end - end -end - -local function collect() - if collecting then - return - end - local dependencies = checkDependencies() - if dependencies.blocking then - publishError(noctalia.tr("dependencies.collection_blocked", { missing = dependencies.missing_text }), dependencies) - return - end - - if systemCollectorEnabled() then - local rawCache = freshJson(RAW_CACHE) - if type(rawCache) == "table" and tonumber(rawCache.schema) == 2 then - local snapshot, normalizeError = normalizeRaw(rawCache, "system-cache") - if snapshot ~= nil then - refreshSystemCacheInventory(rawCache, dependencies) - return - end - noctalia.log("Raw SMART cache rejected: " .. tostring(normalizeError)) - end - end - - local pluginDir = noctalia.pluginDir() - if pluginDir == nil or pluginDir == "" then - publishError("Cannot resolve the plugin directory.", dependencies) - return - end - - collecting = true - local current = noctalia.state.get("collector_snapshot") or {} - current.collecting = true - current.dependencies = dependencies - noctalia.state.set("collector_snapshot", current) - local command = "sh " .. shellQuote(pluginDir .. "/scripts/collect_raw.sh") - local launched = noctalia.runAsync(command, function(result) - collecting = false - local resolvedDependencies = checkDependencies() - if result.timedOut then - publishError("SMART collection timed out.", resolvedDependencies) - return - elseif result.exitCode ~= 0 then - local reason = noctalia.string.trim(result.stderr or "") - publishError(reason ~= "" and reason or "SMART collection failed.", resolvedDependencies) - return - end - local raw, decodeError = noctalia.json.decode(result.stdout or "") - if raw == nil then - publishError("Invalid raw collector response: " .. tostring(decodeError or "unknown JSON error"), resolvedDependencies) - return - end - local snapshot, normalizeError = normalizeRaw(raw, "direct") - if snapshot == nil then - publishError(tostring(normalizeError or "SMART normalization failed."), resolvedDependencies) - return - end - publish(snapshot, resolvedDependencies) - end, 60000) - if not launched then - collecting = false - publishError("Noctalia could not start the SMART collector.", dependencies) - end -end - -loadDrivePreferences() - -noctalia.state.watch("drive_preferences", function(value) - if type(value) == "table" then - drivePreferences = value - drivePreferences.order = type(value.order) == "table" and value.order or {} - drivePreferences.drives = type(value.drives) == "table" and value.drives or {} - collect() - end -end) - -noctalia.state.watch("refresh_nonce", function(value) - local nextNonce = tonumber(value) or 0 - if nextNonce ~= refreshNonce then - refreshNonce = nextNonce - forceDependencyProbe() - collect() - end -end) - -noctalia.state.watch("dependency_probe_generation", function(value) - local generation = tonumber(value) or 0 - if generation > dependencyProbeGeneration then - dependencyProbeGeneration = generation - end - collect() -end) - -noctalia.setUpdateInterval(30000) - -function update() - collect() -end - -function onConfigChanged() - local seconds = tonumber(noctalia.getConfig("refresh_seconds")) or 30 - noctalia.setUpdateInterval(math.max(15, math.min(300, seconds)) * 1000) - collect() -end - -local function lifecycleActionError(result) - if result.timedOut == true then - return noctalia.tr("privileged_action.timeout") - end - if tonumber(result.exitCode) == 126 then - return noctalia.tr("privileged_action.cancelled") - end - local detail = noctalia.string.trim(tostring(result.stderr or "")) - if detail == "" then detail = noctalia.string.trim(tostring(result.stdout or "")) end - if #detail > 240 then detail = detail:sub(1, 237) .. "..." end - return detail ~= "" and detail or noctalia.tr("privileged_action.command_failed") -end - -local function notifyLifecycleFailure(action, detail) - noctalia.log("Drive Health could not " .. action .. ": " .. detail) - noctalia.notifyError(noctalia.tr("collector.title"), noctalia.tr("privileged_action.failed", { - action = action, - error = detail, - })) -end - -local function launchLifecycleAction(command, action, observeResult) - if not noctalia.commandExists("pkexec") then - notifyLifecycleFailure(action, noctalia.tr("collector.authorization_required")) - return - end - - local launched - if observeResult then - launched = noctalia.runAsync(command, function(result) - if result.timedOut == true or tonumber(result.exitCode) ~= 0 then - notifyLifecycleFailure(action, lifecycleActionError(result)) - end - end, 120000) - else - -- onExit destroys this VM as soon as the callback returns. Launch without - -- a completion callback so the authorization request survives teardown. - launched = noctalia.runAsync(command) - end - if not launched then - notifyLifecycleFailure(action, noctalia.tr("privileged_action.launch_failed")) - end -end - -local function legacyUninstallCommand() - -- Older collector installations did not copy an uninstaller into libexec. - -- Keep this fallback independent of plugin files because those are removed - -- immediately after an uninstall hook returns. - local serviceName = SYSTEM_NAMESPACE - local cleanup = "systemctl disable --now " .. serviceName .. ".timer 2>/dev/null || true; " - .. "systemctl stop " .. serviceName .. ".service 2>/dev/null || true; " - .. "rm -f /etc/systemd/system/" .. serviceName .. ".service " - .. "/etc/systemd/system/" .. serviceName .. ".timer; " - .. "rm -rf /etc/systemd/system/" .. serviceName .. ".timer.d " - .. "/usr/local/libexec/" .. serviceName .. " /run/" .. serviceName .. "; " - .. "systemctl daemon-reload; " - .. "systemctl reset-failed " .. serviceName .. ".service 2>/dev/null || true" - return "pkexec /bin/sh -c " .. shellQuote(cleanup) -end - -function onEnable() - local manageScript = SYSTEM_LIBEXEC .. "/manage-collector.sh" - if systemCollectorEnabled() and noctalia.fileExists(manageScript) then - launchLifecycleAction( - "pkexec " .. shellQuote(manageScript) .. " start", - noctalia.tr("collector.action_start"), - true - ) - end -end - -function onExit(_signal, reason) - if reason == "disable" then - local manageScript = SYSTEM_LIBEXEC .. "/manage-collector.sh" - if noctalia.fileExists(manageScript) then - launchLifecycleAction( - "pkexec " .. shellQuote(manageScript) .. " pause", - noctalia.tr("collector.action_pause"), - false - ) - end - elseif reason == "uninstall" then - local installedCollector = SYSTEM_LIBEXEC .. "/collect_raw.sh" - if not noctalia.fileExists(installedCollector) then - return - end - local uninstallScript = SYSTEM_LIBEXEC .. "/uninstall-collector.sh" - local command = noctalia.fileExists(uninstallScript) - and "pkexec " .. shellQuote(uninstallScript) - or legacyUninstallCommand() - launchLifecycleAction(command, noctalia.tr("collector.action_remove"), false) - end -end - -function onIpc(event, _payload) - if event == "check-dependencies" then - forceDependencyProbe() - collect() - elseif event == "refresh" then - collect() - elseif event == "test-alert" then - noctalia.notify(noctalia.tr("alerts.test_title"), noctalia.tr("alerts.test_body")) - elseif event == "export-snapshot" then - local snapshot = noctalia.state.get("collector_snapshot") - local directory = noctalia.pluginDataDir() - local encoded = snapshot ~= nil and noctalia.json.encode(snapshot, true) or nil - if directory ~= nil and encoded ~= nil then - noctalia.writeFile(directory .. "/last-collector-snapshot.json", encoded) - end - end -end - -onConfigChanged() diff --git a/drive-health/history.luau b/drive-health/history.luau deleted file mode 100644 index dd5182b..0000000 --- a/drive-health/history.luau +++ /dev/null @@ -1,141 +0,0 @@ ---!nonstrict - --- Bounded, low-write-rate drive history. Alert evaluation remains in --- service.luau; this service only persists trend samples and publishes them. - -local HISTORY_FILE = "history.json" -local history = { schema = 1, drives = {} } -local historyDirty = false - -local function number(value, fallback) - local parsed = tonumber(value) - return parsed ~= nil and parsed or fallback -end - -local function historyPath() - local directory = noctalia.pluginDataDir() - return directory ~= nil and directory .. "/" .. HISTORY_FILE or nil -end - -local function loadHistory() - local path = historyPath() - local encoded = path ~= nil and noctalia.readFile(path) or nil - local decoded = encoded ~= nil and noctalia.json.decode(encoded) or nil - if type(decoded) == "table" and tonumber(decoded.schema) == 1 then - history = decoded - history.drives = type(decoded.drives) == "table" and decoded.drives or {} - end -end - -local function saveHistory() - local path = historyPath() - if path == nil then - return false - end - local encoded, encodeError = noctalia.json.encode(history, true) - if encoded == nil then - noctalia.log("Unable to encode SMART history: " .. tostring(encodeError)) - return false - end - local temporary = path .. ".tmp" - local written, writeError = noctalia.writeFile(temporary, encoded) - if not written then - noctalia.log("Unable to write SMART history: " .. tostring(writeError)) - return false - end - local renamed, renameError = noctalia.renameFile(temporary, path) - if not renamed then - noctalia.log("Unable to commit SMART history: " .. tostring(renameError)) - return false - end - return true -end - -local function publishHistory() - noctalia.state.set("drive_history", history) -end - -local function recordSnapshot(snapshot) - if type(snapshot) ~= "table" or type(snapshot.disks) ~= "table" or snapshot.collector_error ~= nil then - return - end - local epoch = math.floor(number(snapshot.generated_at_epoch, os.time())) - local interval = math.max(15, math.min(1440, - number(noctalia.getConfig("history_interval_minutes"), 60))) * 60 - local retention = math.max(1, math.min(365, - number(noctalia.getConfig("history_retention_days"), 30))) * 86400 - local cutoff = epoch - retention - local changed = false - - for _, drive in ipairs(snapshot.disks) do - local id = tostring(drive.id or drive.serial or drive.device or "") - if id ~= "" then - local entry = history.drives[id] - if type(entry) ~= "table" then - entry = { name = drive.display_name or drive.model or drive.device, samples = {} } - history.drives[id] = entry - end - entry.name = drive.display_name or drive.model or drive.device - entry.kind = drive.kind - entry.samples = type(entry.samples) == "table" and entry.samples or {} - - local retained = {} - for _, sample in ipairs(entry.samples) do - if type(sample) == "table" and number(sample.epoch, 0) >= cutoff then - table.insert(retained, sample) - else - changed = true - end - end - entry.samples = retained - local latest = retained[#retained] - if latest == nil or epoch - number(latest.epoch, 0) >= interval then - table.insert(retained, { - epoch = epoch, - temperature_c = tonumber(drive.temperature_c), - hotspot_temperature_c = tonumber(drive.hotspot_temperature_c), - remaining_life_percent = tonumber(drive.remaining_life_percent), - storage_usage_percent = tonumber(drive.storage_usage_percent), - data_written_bytes = tonumber(drive.data_written_bytes), - }) - changed = true - end - end - end - - for id, entry in pairs(history.drives) do - local samples = type(entry) == "table" and entry.samples or nil - if type(samples) ~= "table" or (#samples > 0 and number(samples[#samples].epoch, 0) < cutoff) then - history.drives[id] = nil - changed = true - end - end - - history.updated_at_epoch = epoch - if changed then - historyDirty = true - end - if historyDirty and saveHistory() then - historyDirty = false - end - publishHistory() -end - -loadHistory() -publishHistory() - -noctalia.state.watch("snapshot", function(snapshot) - recordSnapshot(snapshot) -end) - -local initial = noctalia.state.get("snapshot") -if initial ~= nil then - recordSnapshot(initial) -end - -function onConfigChanged() - local snapshot = noctalia.state.get("snapshot") - if snapshot ~= nil then - recordSnapshot(snapshot) - end -end diff --git a/drive-health/packaging/install-system-collector.sh b/drive-health/packaging/install-system-collector.sh deleted file mode 100755 index 5462d56..0000000 --- a/drive-health/packaging/install-system-collector.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -if (( EUID != 0 )); then - echo "Run this installer with sudo." >&2 - exit 1 -fi - -project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" -service_name="noctalia-drive-health" -target_user="${SUDO_USER:-}" -if [[ -z "$target_user" && "${PKEXEC_UID:-}" =~ ^[0-9]+$ ]]; then - target_user="$(id -un "$PKEXEC_UID" 2>/dev/null || true)" -fi -interval_minutes=15 - -while (($# > 0)); do - case "$1" in - --interval-minutes) - if (($# < 2)); then - echo "--interval-minutes requires a value." >&2 - exit 2 - fi - interval_minutes="$2" - shift 2 - ;; - --help) - echo "usage: $0 [--interval-minutes 1-1440] [desktop-user]" - exit 0 - ;; - *) - if [[ -n "$target_user" ]]; then - echo "Unexpected argument: $1" >&2 - exit 2 - fi - target_user="$1" - shift - ;; - esac -done - -if ! [[ "$interval_minutes" =~ ^[0-9]+$ ]] || ((10#$interval_minutes < 1 || 10#$interval_minutes > 1440)); then - echo "Interval must be a whole number of minutes from 1 to 1440." >&2 - exit 2 -fi - -if [[ -z "$target_user" || "$target_user" == root ]] || ! id "$target_user" >/dev/null 2>&1; then - echo "Unable to determine the desktop user. Run with sudo, or pass the username explicitly." >&2 - exit 1 -fi -target_gid="$(id -g "$target_user")" - -for dependency in sh smartctl lsblk systemctl install sed mktemp id; do - if ! command -v "$dependency" >/dev/null 2>&1; then - echo "Missing required command: $dependency" >&2 - exit 1 - fi -done - -rendered_service="$(mktemp)" -trap 'rm -f -- "$rendered_service"' EXIT -sed "s/@TARGET_GID@/$target_gid/g" \ - "$project_dir/packaging/$service_name.service.in" >"$rendered_service" - -install -Dm0755 \ - "$project_dir/scripts/collect_raw.sh" \ - "/usr/local/libexec/$service_name/collect_raw.sh" -install -Dm0755 \ - "$project_dir/packaging/smart-action.sh" \ - "/usr/local/libexec/$service_name/smart-action.sh" -install -Dm0755 \ - "$project_dir/packaging/set-collector-interval.sh" \ - "/usr/local/libexec/$service_name/set-collector-interval.sh" -install -Dm0755 \ - "$project_dir/packaging/manage-collector.sh" \ - "/usr/local/libexec/$service_name/manage-collector.sh" -install -Dm0755 \ - "$project_dir/packaging/uninstall-system-collector.sh" \ - "/usr/local/libexec/$service_name/uninstall-collector.sh" -install -Dm0644 \ - "$rendered_service" \ - "/etc/systemd/system/$service_name.service" -install -Dm0644 \ - "$project_dir/packaging/$service_name.timer" \ - "/etc/systemd/system/$service_name.timer" - -systemctl daemon-reload -systemctl enable --now "$service_name.timer" -systemctl start "$service_name.service" -/usr/local/libexec/$service_name/set-collector-interval.sh "$interval_minutes" - -echo "Installed the read-only SMART collector." -echo "Cache: /run/$service_name/raw.json" diff --git a/drive-health/packaging/manage-collector.sh b/drive-health/packaging/manage-collector.sh deleted file mode 100755 index 02be29d..0000000 --- a/drive-health/packaging/manage-collector.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -if (( EUID != 0 )); then - echo "Run this command through the administrator authorization dialog." >&2 - exit 1 -fi - -if (($# != 1)) || [[ "$1" != "start" && "$1" != "pause" ]]; then - echo "usage: $0 {start|pause}" >&2 - exit 2 -fi - -service_name="noctalia-drive-health" - -case "$1" in - start) - systemctl daemon-reload - systemctl enable --now "$service_name.timer" - systemctl start "$service_name.service" - echo "Started the Noctalia Drive Health collector." - ;; - pause) - systemctl disable --now "$service_name.timer" - systemctl stop "$service_name.service" - echo "Paused the Noctalia Drive Health collector." - ;; -esac diff --git a/drive-health/packaging/noctalia-drive-health.service.in b/drive-health/packaging/noctalia-drive-health.service.in deleted file mode 100644 index 04e6ca2..0000000 --- a/drive-health/packaging/noctalia-drive-health.service.in +++ /dev/null @@ -1,39 +0,0 @@ -[Unit] -Description=Collect read-only SMART data for Noctalia Drive Health -Documentation=man:smartctl(8) -After=local-fs.target - -[Service] -Type=oneshot -ExecStart=/bin/sh /usr/local/libexec/noctalia-drive-health/collect_raw.sh --output /run/noctalia-drive-health/raw.json -Group=@TARGET_GID@ -RuntimeDirectory=noctalia-drive-health -RuntimeDirectoryMode=0750 -RuntimeDirectoryPreserve=yes -UMask=0027 -StandardOutput=null -StandardError=journal -TimeoutStartSec=60s -NoNewPrivileges=true -PrivateTmp=true -PrivateNetwork=true -ProtectSystem=strict -ProtectHome=true -ProtectHostname=true -ProtectKernelLogs=true -ProtectKernelTunables=true -ProtectKernelModules=true -ProtectControlGroups=true -ProtectClock=true -RestrictAddressFamilies=AF_UNIX -RestrictNamespaces=true -RestrictRealtime=true -RestrictSUIDSGID=true -SystemCallArchitectures=native -LockPersonality=true -MemoryDenyWriteExecute=true -CapabilityBoundingSet=CAP_DAC_OVERRIDE CAP_SYS_ADMIN CAP_SYS_RAWIO -ReadWritePaths=/run/noctalia-drive-health - -[Install] -WantedBy=multi-user.target diff --git a/drive-health/packaging/noctalia-drive-health.timer b/drive-health/packaging/noctalia-drive-health.timer deleted file mode 100644 index 5212615..0000000 --- a/drive-health/packaging/noctalia-drive-health.timer +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Refresh SMART data for Noctalia - -[Timer] -OnBootSec=20s -OnUnitActiveSec=15min -AccuracySec=5s -Unit=noctalia-drive-health.service - -[Install] -WantedBy=timers.target diff --git a/drive-health/packaging/set-collector-interval.sh b/drive-health/packaging/set-collector-interval.sh deleted file mode 100755 index d9118d3..0000000 --- a/drive-health/packaging/set-collector-interval.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -if (( EUID != 0 )); then - echo "Run this command with sudo." >&2 - exit 1 -fi - -if (($# != 1)) || ! [[ "$1" =~ ^[0-9]+$ ]] || ((10#$1 < 1 || 10#$1 > 1440)); then - echo "usage: $0 MINUTES (1-1440)" >&2 - exit 2 -fi - -service_name="noctalia-drive-health" -interval_minutes=$((10#$1)) -dropin_dir="/etc/systemd/system/$service_name.timer.d" -dropin_path="$dropin_dir/interval.conf" -temporary=$(mktemp) -trap 'rm -f -- "$temporary"' EXIT - -# Resetting a monotonic timer also removes OnBootSec inherited from the base -# unit, so the drop-in must restore both triggers. -printf '[Timer]\nOnUnitActiveSec=\nOnBootSec=20s\nOnUnitActiveSec=%smin\n' "$interval_minutes" >"$temporary" -install -d -m0755 "$dropin_dir" -install -m0644 "$temporary" "$dropin_path" - -systemctl daemon-reload -systemctl restart "$service_name.timer" -systemctl start "$service_name.service" - -echo "Noctalia full SMART refresh interval set to $interval_minutes minute(s)." diff --git a/drive-health/packaging/smart-action.sh b/drive-health/packaging/smart-action.sh deleted file mode 100755 index 6d4ce8e..0000000 --- a/drive-health/packaging/smart-action.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -set -eu - -if [ "$(id -u)" -ne 0 ]; then - echo "Run this SMART action as root." >&2 - exit 1 -fi - -action=${1:-} -device=${2:-} -case "$action" in - short|long) ;; - *) - echo "usage: $0 {short|long} DEVICE" >&2 - exit 2 - ;; -esac - -case "$device" in - /dev/nvme[0-9]* ) - [ -c "$device" ] || { echo "Not an NVMe controller: $device" >&2; exit 2; } - ;; - /dev/* ) - [ -b "$device" ] || { echo "Not a block device: $device" >&2; exit 2; } - [ "$(lsblk --nodeps --noheadings --output TYPE "$device" 2>/dev/null | tr -d ' ')" = "disk" ] \ - || { echo "SMART tests require a whole disk: $device" >&2; exit 2; } - ;; - *) - echo "Device must be an absolute /dev path." >&2 - exit 2 - ;; -esac - -echo "Starting the $action SMART self-test on $device" -exec smartctl --test="$action" "$device" diff --git a/drive-health/packaging/uninstall-system-collector.sh b/drive-health/packaging/uninstall-system-collector.sh deleted file mode 100755 index 3ccfd99..0000000 --- a/drive-health/packaging/uninstall-system-collector.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -if (( EUID != 0 )); then - echo "Run this uninstaller with sudo." >&2 - exit 1 -fi - -service_name="noctalia-drive-health" - -systemctl disable --now "$service_name.timer" 2>/dev/null || true -systemctl stop "$service_name.service" 2>/dev/null || true - -rm -f \ - "/etc/systemd/system/$service_name.service" \ - "/etc/systemd/system/$service_name.timer" -rm -rf \ - "/etc/systemd/system/$service_name.timer.d" \ - "/usr/local/libexec/$service_name" \ - "/run/$service_name" - -systemctl daemon-reload -systemctl reset-failed "$service_name.service" 2>/dev/null || true - -echo "Removed the Noctalia Drive Health system collector." diff --git a/drive-health/panel.luau b/drive-health/panel.luau deleted file mode 100644 index 9f41ef8..0000000 --- a/drive-health/panel.luau +++ /dev/null @@ -1,1624 +0,0 @@ ---!nonstrict - -local snapshot = noctalia.state.get("snapshot") -local history = noctalia.state.get("drive_history") or { drives = {} } -local preferences = noctalia.state.get("drive_preferences") or { schema = 1, order = {}, drives = {} } -local opened = false -local expandedDriveId = nil -local editingDriveId = nil -local currentDrives = {} -local currentIssues = {} -local dismissRequestNonce = 0 -local pendingSelfTest = nil -local selfTestLaunch = nil -local intervalApply = nil -local privilegedAction = nil -local confirmUninstall = false -local showCollectorSettings = false -local hiddenSelection = 1 -local aliasDraft = "" -local warningDraft = "" -local criticalDraft = "" -local lifeDraft = "" -local alertsDraft = true -local presenceDraft = false -local toggleDriveAt -local dismissAlertAt -local EDITABLE_PREFERENCE_FIELDS = { - "alias", "warning_temperature", "critical_temperature", "life_warning_percent", - "alerts_enabled", "presence_alert_enabled", -} -local MIN_TREND_SAMPLES = 4 - -local function number(value, fallback) - local parsed = tonumber(value) - return parsed ~= nil and parsed or fallback -end - -local function clamp(value, minimum, maximum) - return math.max(minimum, math.min(maximum, value)) -end - -local function formatBytes(value) - local bytes = tonumber(value) - if bytes == nil then - return noctalia.tr("common.not_available") - end - local units = { "B", "KiB", "MiB", "GiB", "TiB", "PiB" } - local index = 1 - while bytes >= 1024 and index < #units do - bytes /= 1024 - index += 1 - end - if index <= 3 then - return string.format("%.0f %s", bytes, units[index]) - end - return string.format("%.1f %s", bytes, units[index]) -end - -local function formatHours(value) - local hours = tonumber(value) - if hours == nil then - return noctalia.tr("common.not_available") - end - if hours >= 8760 then - return noctalia.tr("common.duration_years", { value = string.format("%.1f", hours / 8760) }) - elseif hours >= 24 then - return noctalia.tr("common.duration_days", { value = string.format("%.0f", hours / 24) }) - end - return noctalia.tr("common.duration_hours", { value = string.format("%.0f", hours) }) -end - -local function formatPowerOn(drive) - local formatted = formatHours(drive.power_on_hours) - return drive.power_on_hours_saturated and "≥ " .. formatted or formatted -end - -local function formatPercent(value) - local percent = tonumber(value) - return percent ~= nil and string.format("%.0f%%", percent) or noctalia.tr("common.not_available") -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function driveId(drive) - return tostring(drive.id or drive.serial or drive.device or "unknown") -end - -local function driveName(drive) - return tostring(drive.display_name or drive.model or drive.device or noctalia.tr("alerts.unknown_drive")) -end - -local function preferenceFor(id) - preferences.drives = type(preferences.drives) == "table" and preferences.drives or {} - local entry = preferences.drives[id] - if type(entry) ~= "table" then - entry = {} - preferences.drives[id] = entry - end - return entry -end - -local function savePreferences() - local directory = noctalia.pluginDataDir() - if directory == nil then - noctalia.notifyError(noctalia.tr("preferences.title"), noctalia.tr("preferences.save_failed")) - return false - end - preferences.schema = 1 - preferences.order = type(preferences.order) == "table" and preferences.order or {} - preferences.drives = type(preferences.drives) == "table" and preferences.drives or {} - local encoded = noctalia.json.encode(preferences, true) - if encoded == nil then - noctalia.notifyError(noctalia.tr("preferences.title"), noctalia.tr("preferences.save_failed")) - return false - end - local path = directory .. "/drive-preferences.json" - local temporary = path .. ".tmp" - if not noctalia.writeFile(temporary, encoded) or not noctalia.renameFile(temporary, path) then - noctalia.notifyError(noctalia.tr("preferences.title"), noctalia.tr("preferences.save_failed")) - return false - end - noctalia.state.set("drive_preferences", preferences) - return true -end - -local function temperatureColor(value, drive) - local warning = number(drive and drive.warning_temperature, - number(noctalia.getConfig("warning_temperature"), 65)) - local critical = math.max(warning + 1, number(drive and drive.critical_temperature, - number(noctalia.getConfig("critical_temperature"), 80))) - if value == nil then - return "on_surface_variant" - elseif value >= critical then - return "error" - elseif value >= warning then - return "secondary" - end - return "primary" -end - -local function metric(icon, label, value, color) - return ui.row({ gap = 8, align = "center", flexGrow = 1 }, { - ui.glyph({ name = icon, size = 14, color = color or "on_surface_variant" }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = label, fontSize = 11, color = "on_surface_variant" }), - ui.label({ text = value, fontWeight = "medium", color = color or "on_surface" }), - }), - }) -end - -local function progressMetric(label, value, display, fill) - local progress = value ~= nil and clamp(number(value, 0) / 100, 0, 1) or 0 - return ui.column({ gap = 5, flexGrow = 1, align = "stretch" }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = label, fontSize = 11, color = "on_surface_variant" }), - ui.label({ text = display, fontSize = 11, fontWeight = "bold", color = fill }), - }), - ui.progress({ progress = progress, fill = fill, height = 6, radius = 3 }), - }) -end - -local function summaryCard(value, label, detail, color) - local children = { - ui.label({ text = value, fontSize = 20, fontWeight = "bold", color = color }), - ui.label({ text = label, fontSize = 11, color = "on_surface_variant" }), - } - if detail ~= nil and tostring(detail) ~= "" then - table.insert(children, ui.label({ text = tostring(detail), fontSize = 9, - color = "on_surface_variant/0.78", maxLines = 1 })) - end - return ui.column({ gap = 2, padding = 10, radius = 10, - fill = color .. "/0.12", flexGrow = 1 }, children) -end - -local function healthInfo(drive) - if drive.health == "passed" then - return noctalia.tr("health.passed"), "primary", "check" - elseif drive.health == "failed" then - return noctalia.tr("health.failed"), "error", "alert-triangle" - end - return noctalia.tr("health.unknown"), "on_surface_variant", "help-circle" -end - -local function appendMetricRows(target, metrics) - local index = 1 - while index <= #metrics do - local row = { metrics[index] } - if metrics[index + 1] ~= nil then - table.insert(row, metrics[index + 1]) - end - table.insert(target, ui.row({ gap = 14, align = "center" }, row)) - index += 2 - end -end - -local function alertsCard(issues) - if type(issues) ~= "table" or #issues == 0 then - return nil - end - - local header = { - ui.glyph({ name = "alert-triangle", size = 17, color = "error" }), - ui.label({ - text = noctalia.tr("alerts.active_title", { count = #issues }), - fontWeight = "bold", - color = "error", - flexGrow = 1, - }), - } - table.insert(header, ui.button({ text = noctalia.tr("alerts.dismiss_all"), variant = "ghost", controlSize = "sm", - onClick = "onDismissAllAlertsClicked" })) - local rows = { ui.row({ gap = 7, align = "center" }, header) } - for index, issue in ipairs(issues) do - local issueIndex = index - local color = issue.severity == "critical" and "error" or "secondary" - table.insert(rows, ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = issue.severity == "critical" and "alert-octagon" or "alert-circle", size = 13, color = color }), - ui.label({ text = tostring(issue.message or issue.title), fontSize = 11, color = "on_surface", flexGrow = 1 }), - ui.button({ glyph = "x", tooltip = noctalia.tr("alerts.dismiss"), variant = "ghost", controlSize = "sm", - onClick = function() dismissAlertAt(issueIndex) end }), - })) - end - - return ui.column({ gap = 7, padding = 11, radius = 10, fill = "error/0.10", border = "error/0.30", borderWidth = 1 }, rows) -end - -local function dependencyCard(dependencies) - if type(dependencies) ~= "table" or dependencies.ready then - return nil - end - - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "package", size = 18, color = "error" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("dependencies.title"), fontWeight = "bold", color = "error" }), - ui.label({ - text = noctalia.tr("dependencies.missing", { missing = tostring(dependencies.missing_text or "") }), - fontSize = 11, - color = "on_surface_variant", - flexGrow = 1, - }), - }), - }), - } - - if dependencies.install_command ~= nil and dependencies.install_command ~= "" then - table.insert(children, ui.column({ gap = 4, fill = "surface/0.48", radius = 8, padding = 8 }, { - ui.label({ - text = noctalia.tr("dependencies.command", { - manager = tostring(dependencies.package_manager or noctalia.tr("dependencies.package_manager")), - }), - fontSize = 10, - color = "on_surface_variant", - }), - ui.label({ text = tostring(dependencies.install_command), fontSize = 10, color = "on_surface", maxLines = 2 }), - })) - else - table.insert(children, ui.label({ - text = noctalia.tr("dependencies.manual_install"), - fontSize = 11, - color = "on_surface_variant", - })) - end - - if privilegedAction ~= nil and privilegedAction.scope == "dependencies" then - table.insert(children, ui.label({ - text = privilegedAction.state == "authorizing" - and noctalia.tr("privileged_action.authorizing", { action = noctalia.tr("dependencies.action_install") }) - or noctalia.tr("privileged_action.failed", { action = noctalia.tr("dependencies.action_install"), - error = tostring(privilegedAction.error or "") }), - fontSize = 10, - color = privilegedAction.state == "authorizing" and "secondary" or "error", - maxLines = 2, - })) - end - - local actions = {} - if dependencies.can_install and dependencies.install_command ~= nil then - table.insert(actions, ui.button({ - text = noctalia.tr("dependencies.install"), - variant = "primary", - onClick = "onInstallDependenciesClicked", - })) - table.insert(actions, ui.button({ - text = noctalia.tr("dependencies.copy_command"), - variant = "outline", - onClick = "onCopyInstallCommandClicked", - })) - end - table.insert(actions, ui.button({ - text = noctalia.tr("dependencies.recheck"), - variant = "ghost", - onClick = "onRefreshClicked", - })) - table.insert(children, ui.row({ gap = 8, align = "center" }, actions)) - - return ui.column({ - gap = 9, - padding = 11, - radius = 10, - fill = "error/0.10", - border = "error/0.32", - borderWidth = 1, - }, children) -end - -local function collectorCard(collector) - if showCollectorSettings or type(collector) ~= "table" then - return nil - end - local status = tostring(collector.status or "not-installed") - if status == "healthy" or status == "disabled" then - return nil - end - local color = status == "stale" and "error" or "secondary" - local actions = {} - local actionKey = status == "stale" and "collector.start" - or (collector.installed and "collector.upgrade" or "collector.install") - local actionHandler = status == "stale" and "onStartCollectorClicked" - or "onInstallCollectorClicked" - table.insert(actions, ui.button({ - text = noctalia.tr(actionKey), variant = "primary", controlSize = "sm", onClick = actionHandler, - })) - table.insert(actions, ui.button({ - text = noctalia.tr("collector.copy_install"), variant = "outline", controlSize = "sm", - onClick = "onCopyCollectorCommandClicked", - })) - if collector.installed then - table.insert(actions, ui.button({ - text = noctalia.tr("collector.remove"), variant = confirmUninstall and "destructive" or "ghost", - controlSize = "sm", onClick = "onUninstallCollectorClicked", - })) - end - table.insert(actions, ui.button({ - text = noctalia.tr("dependencies.recheck"), variant = "ghost", controlSize = "sm", - onClick = "onRefreshClicked", - })) - - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "shield-cog", size = 17, color = color }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("collector.title"), fontWeight = "bold", color = color }), - ui.label({ - text = noctalia.tr("collector.status_" .. status:gsub("%-", "_"), { - version = tostring(collector.version or collector.expected_version or ""), - }), - fontSize = 11, color = "on_surface_variant", - }), - }), - }), - } - if confirmUninstall then - table.insert(children, ui.label({ - text = noctalia.tr("collector.remove_confirm"), fontSize = 11, color = "error", - })) - end - table.insert(children, ui.row({ gap = 7, align = "center" }, actions)) - return ui.column({ - gap = 8, padding = 10, radius = 10, fill = color .. "/0.08", - border = color .. "/0.24", borderWidth = 1, - }, children) -end - -local function collectorSettingsCard(collector) - if not showCollectorSettings or type(collector) ~= "table" then - return nil - end - local status = tostring(collector.status or "not-installed") - local enabled = collector.enabled == true - local color = status == "healthy" and "primary" - or (status == "disabled" and "on_surface_variant" - or (status == "stale" and "error" or "secondary")) - local actions = { - ui.button({ text = noctalia.tr("collector.open_settings"), glyph = "settings", variant = "outline", - controlSize = "sm", onClick = "onOpenPluginSettingsClicked" }), - } - - if enabled and status == "not-installed" then - table.insert(actions, 1, ui.button({ text = noctalia.tr("collector.install"), variant = "primary", - controlSize = "sm", onClick = "onInstallCollectorClicked" })) - elseif enabled and status == "upgrade-required" then - table.insert(actions, 1, ui.button({ text = noctalia.tr("collector.upgrade"), variant = "primary", - controlSize = "sm", onClick = "onInstallCollectorClicked" })) - elseif enabled and status == "stale" and collector.enable_command ~= nil then - table.insert(actions, 1, ui.button({ text = noctalia.tr("collector.start"), variant = "primary", - controlSize = "sm", onClick = "onStartCollectorClicked" })) - elseif status == "healthy" and collector.disable_command ~= nil then - table.insert(actions, 1, ui.button({ text = noctalia.tr("collector.pause"), variant = "ghost", - controlSize = "sm", onClick = "onPauseCollectorClicked" })) - elseif not enabled and collector.installed and collector.disable_command ~= nil then - table.insert(actions, 1, ui.button({ text = noctalia.tr("collector.stop_service"), variant = "ghost", - controlSize = "sm", onClick = "onPauseCollectorClicked" })) - end - if collector.installed and collector.interval_command ~= nil then - table.insert(actions, 1, ui.button({ - text = noctalia.tr("collector.apply_interval", { - minutes = tostring(collector.smart_refresh_minutes or 15), - }), variant = "outline", controlSize = "sm", enabled = (intervalApply == nil - or intervalApply.state ~= "authorizing") and (privilegedAction == nil - or privilegedAction.state ~= "authorizing"), onClick = "onApplyCollectorIntervalClicked", - })) - end - - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "shield-cog", size = 17, color = color }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("collector.settings_title"), fontWeight = "bold", color = color }), - ui.label({ - text = noctalia.tr("collector.status_" .. status:gsub("%-", "_"), { - version = tostring(collector.version or collector.expected_version or ""), - }), - fontSize = 11, color = "on_surface_variant", maxLines = 2, - }), - }), - }), - ui.row({ gap = 8, padding = 8, radius = 8, fill = "surface/0.42", align = "center" }, { - ui.glyph({ name = "server", size = 14, color = "on_surface_variant" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("collector.basic_title"), fontWeight = "bold", fontSize = 11 }), - ui.label({ text = noctalia.tr("collector.basic_features"), fontSize = 10, - color = "on_surface_variant", maxLines = 2 }), - }), - }), - ui.row({ gap = 8, padding = 8, radius = 8, fill = "primary/0.10", align = "center" }, { - ui.glyph({ name = "shield-check", size = 14, color = "primary" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("collector.full_title"), fontWeight = "bold", fontSize = 11, - color = "primary" }), - ui.label({ text = noctalia.tr("collector.full_features"), fontSize = 10, - color = "on_surface_variant", maxLines = 3 }), - }), - }), - ui.label({ text = noctalia.tr("collector.settings_hint"), fontSize = 10, - color = "on_surface_variant", maxLines = 2 }), - ui.label({ text = noctalia.tr("collector.interval", { - minutes = tostring(collector.smart_refresh_minutes or 15), - }), fontSize = 10, color = "on_surface_variant" }), - ui.row({ gap = 7, align = "center" }, actions), - } - if confirmUninstall then - table.insert(children, ui.label({ text = noctalia.tr("collector.remove_confirm"), - fontSize = 10, color = "error" })) - end - if intervalApply ~= nil then - table.insert(children, ui.label({ - text = intervalApply.state == "authorizing" and noctalia.tr("collector.interval_authorizing") - or noctalia.tr("collector.interval_failed", { error = tostring(intervalApply.error or "") }), - fontSize = 10, color = intervalApply.state == "authorizing" and "secondary" or "error", maxLines = 2, - })) - end - if privilegedAction ~= nil and privilegedAction.scope == "collector" then - local action = noctalia.tr("collector.action_" .. privilegedAction.kind) - table.insert(children, ui.label({ - text = privilegedAction.state == "authorizing" - and noctalia.tr("privileged_action.authorizing", { action = action }) - or noctalia.tr("privileged_action.failed", { action = action, - error = tostring(privilegedAction.error or "") }), - fontSize = 10, - color = privilegedAction.state == "authorizing" and "secondary" or "error", - maxLines = 2, - })) - end - if collector.installed then - table.insert(children, ui.button({ text = noctalia.tr("collector.remove"), - variant = confirmUninstall and "destructive" or "ghost", controlSize = "sm", - onClick = "onUninstallCollectorClicked" })) - end - return ui.column({ - gap = 8, padding = 10, radius = 10, fill = "surface_variant/0.24", - border = "outline/0.38", borderWidth = 1, - }, children) -end - -local function trendCard(drive) - local historyDrives = type(history.drives) == "table" and history.drives or {} - local entry = historyDrives[driveId(drive)] - local samples = type(entry) == "table" and entry.samples or {} - if #samples < MIN_TREND_SAMPLES then - return nil - end - local temperatures = {} - local life = {} - local hasTemperatures = true - local hasLife = true - for _, sample in ipairs(samples) do - local temperature = tonumber(sample.hotspot_temperature_c or sample.temperature_c) - local remaining = tonumber(sample.remaining_life_percent) - if temperature == nil then - hasTemperatures = false - else - table.insert(temperatures, clamp(temperature / 100, 0, 1)) - end - if remaining == nil then - hasLife = false - else - table.insert(life, clamp(remaining / 100, 0, 1)) - end - end - if not hasTemperatures then temperatures = {} end - if not hasLife then life = {} end - if #temperatures < MIN_TREND_SAMPLES and #life < MIN_TREND_SAMPLES then - return nil - end - local primaryValues = #temperatures >= MIN_TREND_SAMPLES and temperatures or life - local secondaryValues = #temperatures >= MIN_TREND_SAMPLES and #life >= MIN_TREND_SAMPLES and life or nil - local primaryColor = #temperatures >= MIN_TREND_SAMPLES and "secondary" or "primary" - local legend = {} - if #temperatures >= MIN_TREND_SAMPLES then - table.insert(legend, ui.label({ text = "● " .. noctalia.tr("history.hotspot"), fontSize = 10, color = "secondary" })) - end - if #life >= MIN_TREND_SAMPLES then - table.insert(legend, ui.label({ text = "● " .. noctalia.tr("history.life"), fontSize = 10, color = "primary" })) - end - return ui.column({ gap = 5, padding = 8, radius = 9, fill = "surface/0.38" }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = noctalia.tr("history.title"), fontSize = 11, fontWeight = "bold" }), - ui.label({ text = noctalia.tr("history.samples", { count = #samples }), fontSize = 10, color = "on_surface_variant" }), - }), - ui.graph({ values = primaryValues, values2 = secondaryValues, color = primaryColor, color2 = "primary", - lineWidth = 2, fillOpacity = 0.10, height = 44 }), - ui.row({ gap = 12, align = "center" }, legend), - }) -end - -local function selfTestCard(drive) - local firmwareState = tostring(drive.self_test_state or "unsupported") - local launch = selfTestLaunch ~= nil and selfTestLaunch.drive_id == driveId(drive) and selfTestLaunch or nil - local state = launch ~= nil and launch.state ~= "failed" and firmwareState ~= "running" - and launch.state or firmwareState - local color = state == "failed" and "error" - or ((state == "running" or state == "authorizing" or state == "starting") and "secondary" or "primary") - local collector = snapshot and snapshot.system_collector or {} - local helper = collector.helper_available == true - local authorization = collector.authorization_available == true - local canStart = helper and authorization - local pending = pendingSelfTest ~= nil and pendingSelfTest.drive_id == driveId(drive) - local completion = tonumber(drive.self_test_completion_percent) - local status = drive.self_test_status or noctalia.tr("self_test.unavailable") - if launch ~= nil and firmwareState ~= "running" then - if launch.state == "authorizing" then - status = noctalia.tr("self_test.authorizing") - elseif launch.state == "starting" then - status = noctalia.tr("self_test.starting") - elseif launch.state == "failed" then - status = launch.error or noctalia.tr("self_test.launch_failed") - end - end - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "stethoscope", size = 15, color = color }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("self_test.title"), fontSize = 11, fontWeight = "bold" }), - ui.label({ text = tostring(status), - fontSize = 10, color = "on_surface_variant" }), - }), - }), - } - if firmwareState == "running" and completion ~= nil then - table.insert(children, ui.column({ gap = 4 }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = noctalia.tr("self_test.progress"), fontSize = 10, color = "on_surface_variant" }), - ui.label({ text = formatPercent(completion), fontSize = 10, fontWeight = "bold", color = color }), - }), - ui.progress({ progress = clamp(completion / 100, 0, 1), fill = color, height = 5 }), - })) - end - if drive.self_test_supported then - if pending then - table.insert(children, ui.label({ - text = noctalia.tr("self_test.confirm", { type = noctalia.tr("self_test." .. pendingSelfTest.kind) }), - fontSize = 11, color = "secondary", - })) - table.insert(children, ui.row({ gap = 7 }, { - ui.button({ text = noctalia.tr("self_test.confirm_action"), variant = "primary", controlSize = "sm", - onClick = "onConfirmSelfTestClicked" }), - ui.button({ text = noctalia.tr("self_test.cancel"), variant = "ghost", controlSize = "sm", - onClick = "onCancelSelfTestClicked" }), - })) - else - table.insert(children, ui.row({ gap = 7 }, { - ui.button({ text = noctalia.tr("self_test.short"), variant = "outline", controlSize = "sm", - enabled = canStart and firmwareState ~= "running" and state ~= "authorizing" and state ~= "starting", - onClick = "onStartShortSelfTestClicked" }), - ui.button({ text = noctalia.tr("self_test.long"), variant = "outline", controlSize = "sm", - enabled = canStart and firmwareState ~= "running" and state ~= "authorizing" and state ~= "starting", - onClick = "onStartLongSelfTestClicked" }), - })) - if not helper then - table.insert(children, ui.label({ text = noctalia.tr("self_test.helper_required"), - fontSize = 10, color = "on_surface_variant" })) - elseif not authorization then - table.insert(children, ui.label({ text = noctalia.tr("self_test.authorization_required"), - fontSize = 10, color = "error" })) - end - end - end - return ui.column({ gap = 7, padding = 9, radius = 9, fill = color .. "/0.08", - border = color .. "/0.20", borderWidth = 1 }, children) -end - -local function preferenceEditor(drive) - local thresholdFields = { - ui.column({ gap = 3, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("preferences.warning_temperature"), fontSize = 10, color = "on_surface_variant" }), - ui.input({ key = driveId(drive) .. "-warning", value = warningDraft, placeholder = "65", - controlSize = "sm", onChange = "onWarningThresholdChanged" }), - }), - ui.column({ gap = 3, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("preferences.critical_temperature"), fontSize = 10, color = "on_surface_variant" }), - ui.input({ key = driveId(drive) .. "-critical", value = criticalDraft, placeholder = "80", - controlSize = "sm", onChange = "onCriticalThresholdChanged" }), - }), - } - if drive.kind ~= "hdd" then - table.insert(thresholdFields, ui.column({ gap = 3, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("preferences.life_warning"), fontSize = 10, color = "on_surface_variant" }), - ui.input({ key = driveId(drive) .. "-life", value = lifeDraft, placeholder = "20", - controlSize = "sm", onChange = "onLifeThresholdChanged" }), - })) - end - - return ui.column({ gap = 8, padding = 10, radius = 9, fill = "primary/0.07", - border = "primary/0.24", borderWidth = 1 }, { - ui.row({ justify = "space_between", align = "center" }, { - ui.label({ text = noctalia.tr("preferences.title"), fontWeight = "bold", color = "primary" }), - ui.row({ gap = 5 }, { - ui.button({ glyph = "arrow-up", tooltip = noctalia.tr("preferences.move_up"), variant = "ghost", - controlSize = "sm", onClick = "onMoveDriveUpClicked" }), - ui.button({ glyph = "arrow-down", tooltip = noctalia.tr("preferences.move_down"), variant = "ghost", - controlSize = "sm", onClick = "onMoveDriveDownClicked" }), - }), - }), - ui.label({ text = noctalia.tr("preferences.alias"), fontSize = 10, color = "on_surface_variant" }), - ui.input({ key = driveId(drive) .. "-alias", value = aliasDraft, - placeholder = drive.model or drive.device, controlSize = "sm", onChange = "onAliasChanged" }), - ui.row({ gap = 8, align = "center" }, thresholdFields), - ui.row({ gap = 12, align = "center" }, { - ui.toggle({ checked = alertsDraft, onChange = "onDriveAlertsChanged" }), - ui.label({ text = noctalia.tr("preferences.alerts"), fontSize = 11, flexGrow = 1 }), - ui.toggle({ checked = presenceDraft, onChange = "onPresenceAlertsChanged" }), - ui.label({ text = noctalia.tr("preferences.presence"), fontSize = 11, flexGrow = 1 }), - }), - ui.row({ gap = 7, justify = "end" }, { - ui.button({ text = noctalia.tr("preferences.hide"), variant = "ghost", controlSize = "sm", - onClick = "onHideDriveClicked" }), - ui.button({ text = noctalia.tr("self_test.cancel"), variant = "ghost", controlSize = "sm", - onClick = "onCancelDrivePreferencesClicked" }), - ui.button({ text = noctalia.tr("preferences.save"), variant = "primary", controlSize = "sm", - onClick = "onSaveDrivePreferencesClicked" }), - }), - }) -end - -local function driveCard(drive, index) - local id = driveId(drive) - local expanded = expandedDriveId == id - local isHdd = drive.kind == "hdd" - local healthText, healthColor, healthIcon = healthInfo(drive) - local temperature = tonumber(drive.temperature_c) - local hotspot = tonumber(drive.hotspot_temperature_c) or temperature - local alertTemperature = noctalia.getConfig("use_hotspot_temperature") == false and temperature or hotspot - local tempColor = temperatureColor(alertTemperature, drive) - local tempText = hotspot ~= nil and string.format("%.0f °C", hotspot) or noctalia.tr("common.not_available") - if temperature ~= nil and hotspot ~= nil and hotspot > temperature then - tempText = noctalia.tr("metrics.hotspot_and_composite", { - hotspot = string.format("%.0f °C", hotspot), - composite = string.format("%.0f °C", temperature), - }) - end - local life = tonumber(drive.remaining_life_percent) - local lifeText = formatPercent(life) - if drive.remaining_life_estimated then - lifeText = "~" .. lifeText - end - local lifeWarning = number(drive.life_warning_percent, - number(noctalia.getConfig("life_warning_percent"), 20)) - local lifeColor = life ~= nil and (life <= 10 and "error" - or (life <= lifeWarning and "secondary" or "primary")) or "on_surface_variant" - local storage = tonumber(drive.storage_usage_percent) - local storageColor = storage ~= nil and (storage >= 95 and "error" or (storage >= 85 and "secondary" or "primary")) or "on_surface_variant" - local storageText = storage ~= nil and formatPercent(storage) or noctalia.tr("storage.not_mounted") - local transport = string.upper(tostring(drive.transport or "unknown")) - local device = tostring(drive.device or "") - - local details = { - metric("temperature", noctalia.tr("metrics.temperature"), tempText, tempColor), - metric(healthIcon, noctalia.tr("metrics.smart_health"), healthText, healthColor), - } - local progressRows = {} - if not isHdd then - table.insert(progressRows, progressMetric( - drive.remaining_life_estimated and noctalia.tr("metrics.life_remaining_estimated") or noctalia.tr("metrics.life_remaining"), - life, - lifeText, - lifeColor - )) - end - table.insert(progressRows, progressMetric(noctalia.tr("metrics.storage_used"), storage, storageText, storageColor)) - - local ioDetails = {} - if drive.data_written_bytes ~= nil then - table.insert(ioDetails, metric("database-export", noctalia.tr("metrics.data_written"), formatBytes(drive.data_written_bytes))) - end - if drive.data_read_bytes ~= nil then - table.insert(ioDetails, metric("database-import", noctalia.tr("metrics.data_read"), formatBytes(drive.data_read_bytes))) - end - - local wearDetails = {} - if drive.percentage_used ~= nil then - table.insert(wearDetails, metric( - "gauge", - noctalia.tr("metrics.endurance_used"), - formatPercent(drive.percentage_used), - number(drive.percentage_used, 0) >= 90 and "error" or "on_surface" - )) - end - if drive.available_spare_percent ~= nil then - local spare = number(drive.available_spare_percent, 100) - local spareThreshold = number(drive.available_spare_threshold_percent, 10) - table.insert(wearDetails, metric( - "shield-check", - noctalia.tr("metrics.available_spare"), - formatPercent(drive.available_spare_percent), - spare <= math.max(5, spareThreshold / 2) and "error" - or (spare <= spareThreshold and "secondary" or "on_surface") - )) - end - - local powerDetails = { - metric("clock", noctalia.tr("metrics.power_on"), formatPowerOn(drive)), - } - - local thermalDetails = {} - if type(drive.temperature_sensors_c) == "table" and #drive.temperature_sensors_c > 0 then - local sensors = {} - for sensorIndex, sensor in ipairs(drive.temperature_sensors_c) do - table.insert(sensors, string.format("S%d %.0f°", sensorIndex, number(sensor, 0))) - end - table.insert(thermalDetails, metric("temperature-sun", noctalia.tr("metrics.temperature_sensors"), - table.concat(sensors, " · "), tempColor)) - end - if drive.device_warning_temperature_c ~= nil or drive.device_critical_temperature_c ~= nil then - local warningLimit = tonumber(drive.device_warning_temperature_c) - local criticalLimit = tonumber(drive.device_critical_temperature_c) - table.insert(thermalDetails, metric("temperature-cog", noctalia.tr("metrics.device_temperature_limits"), - (warningLimit ~= nil and string.format("%.0f°", warningLimit) or noctalia.tr("common.not_available")) - .. " / " - .. (criticalLimit ~= nil and string.format("%.0f°", criticalLimit) or noctalia.tr("common.not_available")))) - end - if drive.power_cycles ~= nil then - table.insert(powerDetails, metric("repeat", noctalia.tr("metrics.power_cycles"), tostring(math.floor(number(drive.power_cycles, 0))))) - end - if drive.start_stop_count ~= nil then - table.insert(powerDetails, metric("player-play", noctalia.tr("metrics.start_stop_count"), - tostring(math.floor(number(drive.start_stop_count, 0))))) - end - if drive.load_cycle_count ~= nil then - table.insert(powerDetails, metric("refresh", noctalia.tr("metrics.load_cycle_count"), - tostring(math.floor(number(drive.load_cycle_count, 0))))) - end - - local errorDetails = {} - if drive.unsafe_shutdowns ~= nil then - table.insert(errorDetails, metric( - "bolt-off", - noctalia.tr("metrics.unsafe_shutdowns"), - tostring(math.floor(number(drive.unsafe_shutdowns, 0))), - number(drive.unsafe_shutdowns, 0) > 0 and "secondary" or "on_surface" - )) - end - - if drive.media_errors ~= nil then - table.insert(errorDetails, metric( - "alert-circle", - noctalia.tr("metrics.media_errors"), - tostring(math.floor(number(drive.media_errors, 0))), - number(drive.media_errors, 0) > 0 and "error" or "on_surface" - )) - end - - local integrityDetails = {} - if drive.error_log_entries ~= nil and drive.error_log_entries ~= drive.media_errors then - table.insert(integrityDetails, metric( - "file-alert", - noctalia.tr("metrics.error_log_entries"), - tostring(math.floor(number(drive.error_log_entries, 0))), - number(drive.error_log_entries, 0) > 0 and "secondary" or "on_surface" - )) - end - if drive.critical_warning ~= nil then - table.insert(integrityDetails, metric( - "alert-octagon", - noctalia.tr("metrics.critical_warning"), - string.format("0x%02X", math.floor(number(drive.critical_warning, 0))), - number(drive.critical_warning, 0) > 0 and "error" or "primary" - )) - end - if drive.reallocated_sectors ~= nil then - table.insert(integrityDetails, metric( - "replace", - noctalia.tr("metrics.reallocated"), - tostring(math.floor(number(drive.reallocated_sectors, 0))), - number(drive.reallocated_sectors, 0) > 0 and "error" or "primary" - )) - end - if drive.pending_sectors ~= nil then - table.insert(integrityDetails, metric( - "hourglass", - noctalia.tr("metrics.pending"), - tostring(math.floor(number(drive.pending_sectors, 0))), - number(drive.pending_sectors, 0) > 0 and "error" or "primary" - )) - end - if drive.uncorrectable_errors ~= nil then - table.insert(integrityDetails, metric( - "alert-hexagon", - noctalia.tr("metrics.uncorrectable"), - tostring(math.floor(number(drive.uncorrectable_errors, 0))), - number(drive.uncorrectable_errors, 0) > 0 and "error" or "primary" - )) - end - if drive.spin_retry_count ~= nil then - table.insert(integrityDetails, metric( - "repeat", - noctalia.tr("metrics.spin_retry_count"), - tostring(math.floor(number(drive.spin_retry_count, 0))), - number(drive.spin_retry_count, 0) > 0 and "error" or "primary" - )) - end - if drive.command_timeout_count ~= nil then - table.insert(integrityDetails, metric( - "clock-exclamation", - noctalia.tr("metrics.command_timeout_count"), - tostring(math.floor(number(drive.command_timeout_count, 0))), - number(drive.command_timeout_count, 0) > 0 and "secondary" or "primary" - )) - end - if drive.interface_crc_errors ~= nil then - table.insert(integrityDetails, metric( - "link-off", - noctalia.tr("metrics.interface_crc_errors"), - tostring(math.floor(number(drive.interface_crc_errors, 0))), - number(drive.interface_crc_errors, 0) > 0 and "secondary" or "primary" - )) - end - - local identity = { - ui.label({ text = driveName(drive), fontWeight = "bold", color = "on_surface" }), - ui.label({ - text = transport .. " • " .. formatBytes(drive.capacity_bytes) .. " • " .. device, - fontSize = 11, - color = "on_surface_variant", - }), - } - local compactMetrics = { - metric("temperature", isHdd and noctalia.tr("metrics.temperature") or noctalia.tr("metrics.hotspot_temperature"), - tempText, tempColor), - isHdd and metric("clock", noctalia.tr("metrics.power_on"), formatPowerOn(drive)) - or metric("battery-vertical", noctalia.tr("metrics.life_remaining"), lifeText, lifeColor), - metric(healthIcon, noctalia.tr("metrics.smart_health"), healthText, healthColor), - } - - local children = { - ui.row({ gap = 10, align = "center" }, { - ui.column({ width = 36, height = 36, radius = 10, fill = tempColor .. "/0.16", align = "center", justify = "center" }, { - ui.glyph({ name = drive.kind == "ssd" and "server" or "disc", size = 19, color = tempColor }), - }), - ui.column({ gap = 2, flexGrow = 1 }, identity), - ui.row({ fill = healthColor .. "/0.16", radius = 8, paddingH = 8, paddingV = 4, align = "center", gap = 4 }, { - ui.glyph({ name = healthIcon, size = 12, color = healthColor }), - ui.label({ text = healthText, fontSize = 11, fontWeight = "bold", color = healthColor }), - }), - ui.button({ - glyph = expanded and "chevron-up" or "chevron-down", variant = "ghost", controlSize = "sm", - tooltip = noctalia.tr(expanded and "panel.collapse" or "panel.expand"), - onClick = function() toggleDriveAt(index) end, - }), - }), - ui.row({ gap = 14, align = "center" }, compactMetrics), - } - - if expanded then - if drive.serial ~= nil and drive.serial ~= "" then - table.insert(children, ui.label({ - text = noctalia.tr("metrics.serial", { value = tostring(drive.serial) }), - fontSize = 10, color = "on_surface_variant/0.78", maxLines = 1, - })) - end - if type(drive.mount_points) == "table" and #drive.mount_points > 0 then - table.insert(children, ui.label({ - text = noctalia.tr("metrics.mounted_at", { paths = table.concat(drive.mount_points, " · ") }), - fontSize = 10, color = "primary/0.88", maxLines = 2, - })) - end - table.insert(children, ui.row({ gap = 16, align = "center" }, details)) - table.insert(children, ui.row({ gap = 16, align = "center" }, progressRows)) - appendMetricRows(children, wearDetails) - appendMetricRows(children, ioDetails) - appendMetricRows(children, powerDetails) - appendMetricRows(children, thermalDetails) - appendMetricRows(children, errorDetails) - appendMetricRows(children, integrityDetails) - local trends = trendCard(drive) - if trends ~= nil then - table.insert(children, trends) - end - table.insert(children, selfTestCard(drive)) - table.insert(children, ui.row({ gap = 7, justify = "end" }, { - ui.button({ text = noctalia.tr("preferences.edit"), glyph = "settings", variant = "ghost", - controlSize = "sm", onClick = "onEditExpandedDriveClicked" }), - })) - end - - if drive.smart_sleeping then - table.insert(children, ui.row({ gap = 7, align = "center", fill = "primary/0.08", radius = 8, padding = 8 }, { - ui.glyph({ name = "moon", size = 13, color = "primary" }), - ui.label({ text = noctalia.tr("smart.sleeping"), fontSize = 11, color = "on_surface_variant", flexGrow = 1 }), - })) - elseif not drive.smart_available then - table.insert(children, ui.row({ gap = 7, align = "center", fill = "secondary/0.12", radius = 8, padding = 8 }, { - ui.glyph({ name = "info-circle", size = 13, color = "secondary" }), - ui.label({ text = noctalia.tr("smart.access_limited"), fontSize = 11, color = "on_surface_variant", flexGrow = 1 }), - })) - end - - if expanded and drive.smart_completeness == "partial" then - table.insert(children, ui.row({ gap = 7, align = "center", fill = "secondary/0.12", radius = 8, padding = 8 }, { - ui.glyph({ name = "file-alert", size = 13, color = "secondary" }), - ui.label({ text = noctalia.tr("smart.partial_details"), fontSize = 11, color = "on_surface_variant", flexGrow = 1 }), - })) - for _, message in ipairs(drive.smart_messages or {}) do - table.insert(children, ui.label({ text = "• " .. tostring(message.message or message), - fontSize = 10, color = "on_surface_variant", maxLines = 3 })) - end - end - if expanded and editingDriveId == id then - table.insert(children, preferenceEditor(drive)) - end - - return ui.column({ - key = tostring(drive.id or device), - gap = 12, - padding = 14, - radius = 14, - fill = "surface_variant/0.34", - border = "outline/0.38", - borderWidth = 1, - align = "stretch", - }, children) -end - -local function visibleDrives() - local drives = {} - local showHdd = noctalia.getConfig("show_hdd") ~= false - if snapshot ~= nil and type(snapshot.disks) == "table" then - for _, drive in ipairs(snapshot.disks) do - if (drive.kind == "ssd" or showHdd) and drive.hidden ~= true then - table.insert(drives, drive) - end - end - end - return drives -end - -local function hiddenDrivesCard() - local hidden = {} - if snapshot ~= nil and type(snapshot.disks) == "table" then - for _, drive in ipairs(snapshot.disks) do - if drive.hidden == true then - table.insert(hidden, drive) - end - end - end - if #hidden == 0 then - return nil - end - hiddenSelection = math.max(1, math.min(hiddenSelection, #hidden)) - local options = {} - for _, drive in ipairs(hidden) do - table.insert(options, driveName(drive)) - end - return ui.column({ gap = 7, padding = 10, radius = 9, fill = "surface_variant/0.22" }, { - ui.label({ text = noctalia.tr("preferences.hidden_drives"), fontWeight = "bold", fontSize = 11 }), - ui.row({ gap = 7, align = "center" }, { - ui.select({ options = options, selectedIndex = hiddenSelection - 1, controlSize = "sm", - flexGrow = 1, onChange = "onHiddenDriveSelected" }), - ui.button({ text = noctalia.tr("preferences.restore"), variant = "outline", controlSize = "sm", - onClick = "onRestoreHiddenDriveClicked" }), - }), - }) -end - -local function render() - if not opened then - return - end - - local summary = snapshot and snapshot.summary or {} - local drives = visibleDrives() - currentDrives = drives - currentIssues = type(snapshot and snapshot.issues) == "table" and snapshot.issues or {} - local includeHdd = noctalia.getConfig("show_hdd") ~= false - local hottest = tonumber(includeHdd and summary.hottest_drive_temperature_c or summary.hottest_ssd_temperature_c) - local hottestDriveName = includeHdd and summary.hottest_drive_name or summary.hottest_ssd_drive_name - local remaining = tonumber(summary.worst_ssd_remaining_life_percent) - local lowestLifeDriveName = summary.worst_ssd_life_drive_name - local ssdCount = number(summary.ssd_count, 0) - local hddCount = includeHdd and number(summary.hdd_count, 0) or 0 - local driveCount = ssdCount + hddCount - local smartAvailable = includeHdd and number(summary.smart_available_count, - number(summary.ssd_smart_available_count, 0) + number(summary.hdd_smart_available_count, 0)) - or number(summary.ssd_smart_available_count, 0) - local headerStatus = snapshot and snapshot.collecting and noctalia.tr("panel.refreshing") or noctalia.tr("panel.updated", { - time = tostring(snapshot and snapshot.generated_at_local or noctalia.tr("common.never")), - }) - - local body = {} - if snapshot == nil then - table.insert(body, ui.column({ gap = 10, align = "center", justify = "center", flexGrow = 1 }, { - ui.glyph({ name = "server-off", size = 36, color = "on_surface_variant" }), - ui.label({ text = noctalia.tr("panel.waiting"), color = "on_surface_variant" }), - })) - else - local dependencyStatus = dependencyCard(snapshot.dependencies) - if dependencyStatus ~= nil then - table.insert(body, dependencyStatus) - end - local collectorStatus = collectorCard(snapshot.system_collector) - if collectorStatus ~= nil then - table.insert(body, collectorStatus) - end - local collectorSettings = collectorSettingsCard(snapshot.system_collector) - if collectorSettings ~= nil then - table.insert(body, collectorSettings) - end - - local hottestColor = temperatureColor(hottest) - local summaryCards = { - summaryCard(tostring(driveCount), noctalia.tr("summary.drives"), - noctalia.tr("summary.drive_mix", { ssds = ssdCount, hdds = hddCount }), "primary"), - summaryCard(hottest ~= nil and string.format("%.0f °C", hottest) or "-- °C", - noctalia.tr("summary.hottest"), hottestDriveName, hottestColor), - } - if ssdCount > 0 then - table.insert(summaryCards, summaryCard(formatPercent(remaining), - noctalia.tr("summary.lowest_ssd_life"), lowestLifeDriveName, "secondary")) - end - table.insert(body, ui.row({ gap = 10, align = "stretch" }, summaryCards)) - - local alerts = alertsCard(currentIssues) - if alerts ~= nil then - table.insert(body, alerts) - end - - local sleeping = number(summary.sleeping_count, 0) - if smartAvailable + sleeping < driveCount then - table.insert(body, ui.row({ gap = 8, padding = 10, radius = 10, fill = "secondary/0.12", align = "center" }, { - ui.glyph({ name = "shield-lock", size = 16, color = "secondary" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("smart.partial_title"), fontWeight = "bold", color = "secondary" }), - ui.label({ text = noctalia.tr("smart.partial_body", { available = smartAvailable, - total = driveCount - sleeping }), fontSize = 11, color = "on_surface_variant" }), - }), - })) - end - - if snapshot.collector_error ~= nil and snapshot.collector_error ~= "" then - table.insert(body, ui.label({ text = tostring(snapshot.collector_error), color = "error", fontSize = 11 })) - end - - if #drives == 0 then - table.insert(body, ui.label({ text = noctalia.tr("panel.no_drives"), color = "on_surface_variant" })) - else - for index, drive in ipairs(drives) do - table.insert(body, driveCard(drive, index)) - end - end - local hiddenStatus = hiddenDrivesCard() - if hiddenStatus ~= nil then - table.insert(body, hiddenStatus) - end - end - - panel.render(ui.column({ flexGrow = 1, gap = 12, align = "stretch" }, { - ui.row({ align = "center", gap = 10 }, { - ui.column({ width = 38, height = 38, radius = 11, fill = "primary/0.16", align = "center", justify = "center" }, { - ui.glyph({ name = "server-2", size = 20, color = "primary" }), - }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = noctalia.tr("panel.title"), fontSize = 17, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = headerStatus, fontSize = 11, color = "on_surface_variant" }), - }), - ui.button({ glyph = "settings", variant = showCollectorSettings and "primary" or "ghost", - tooltip = noctalia.tr("collector.settings_title"), onClick = "onToggleCollectorSettingsClicked" }), - ui.button({ glyph = "refresh", variant = "ghost", onClick = "onRefreshClicked" }), - ui.button({ glyph = "x", variant = "ghost", onClick = "onCloseClicked" }), - }), - ui.scroll({ flexGrow = 1, gap = 12 }, body), - })) -end - -local function selfTestSignature(drive) - if drive == nil then return "" end - return table.concat({ - tostring(drive.self_test_state or ""), - tostring(drive.self_test_status or ""), - tostring(drive.self_test_lifetime_hours or ""), - tostring(drive.self_test_error_count or ""), - }, "|") -end - -local function reconcileSelfTestLaunch(value) - if selfTestLaunch == nil or selfTestLaunch.state == "authorizing" or selfTestLaunch.state == "failed" then - return - end - local drive = nil - for _, candidate in ipairs(value and value.disks or {}) do - if driveId(candidate) == selfTestLaunch.drive_id then - drive = candidate - break - end - end - if drive == nil then return end - if tostring(drive.self_test_state) == "running" then - selfTestLaunch.observed_running = true - return - end - local generated = number(value and value.generated_at_epoch, 0) - local changed = generated > number(selfTestLaunch.accepted_snapshot_epoch, 0) - and selfTestSignature(drive) ~= tostring(selfTestLaunch.baseline_signature or "") - local expired = os.time() - number(selfTestLaunch.accepted_at, os.time()) >= 180 - if selfTestLaunch.observed_running or changed or expired then - selfTestLaunch = nil - end -end - -noctalia.state.watch("snapshot", function(value) - snapshot = value - reconcileSelfTestLaunch(value) - render() -end) - -noctalia.state.watch("drive_history", function(value) - history = type(value) == "table" and value or { drives = {} } - render() -end) - -noctalia.state.watch("drive_preferences", function(value) - if type(value) == "table" then - preferences = value - end - render() -end) - -toggleDriveAt = function(index) - local drive = currentDrives[index] - if drive == nil then - return - end - local id = driveId(drive) - if expandedDriveId == id then - expandedDriveId = nil - editingDriveId = nil - pendingSelfTest = nil - else - expandedDriveId = id - end - render() -end - - -local function sendDismissRequest(request) - dismissRequestNonce += 1 - request.nonce = dismissRequestNonce - noctalia.state.set("dismiss_alert_request", request) -end - -dismissAlertAt = function(index) - local issue = currentIssues[index] - if issue ~= nil and issue.id ~= nil then - sendDismissRequest({ id = tostring(issue.id) }) - end -end - - -function onDismissAllAlertsClicked() - if #currentIssues > 0 then - sendDismissRequest({ all = true }) - end -end - -local function expandedDrive() - for _, drive in ipairs(currentDrives) do - if driveId(drive) == expandedDriveId then - return drive - end - end - return nil -end - -local function setPreferenceDrafts(drive) - local entry = preferenceFor(driveId(drive)) - aliasDraft = tostring(entry.alias or "") - warningDraft = entry.warning_temperature ~= nil and tostring(entry.warning_temperature) or "" - criticalDraft = entry.critical_temperature ~= nil and tostring(entry.critical_temperature) or "" - lifeDraft = entry.life_warning_percent ~= nil and tostring(entry.life_warning_percent) or "" - alertsDraft = entry.alerts_enabled ~= false - presenceDraft = entry.presence_alert_enabled == nil and drive.presence_alert_enabled == true - or entry.presence_alert_enabled == true -end - -function onEditExpandedDriveClicked() - local drive = expandedDrive() - if drive == nil then return end - editingDriveId = driveId(drive) - setPreferenceDrafts(drive) - render() -end - -function onAliasChanged(value) aliasDraft = tostring(value or "") end -function onWarningThresholdChanged(value) warningDraft = tostring(value or "") end -function onCriticalThresholdChanged(value) criticalDraft = tostring(value or "") end -function onLifeThresholdChanged(value) lifeDraft = tostring(value or "") end - -function onDriveAlertsChanged(value) - if editingDriveId ~= nil then - alertsDraft = value == true or tostring(value) == "true" - render() - end -end - -function onPresenceAlertsChanged(value) - if editingDriveId ~= nil then - presenceDraft = value == true or tostring(value) == "true" - render() - end -end - -local function optionalThreshold(value, minimum, maximum) - local trimmed = noctalia.string.trim(tostring(value or "")) - if trimmed == "" then return nil end - local parsed = tonumber(trimmed) - if parsed == nil then return false end - return clamp(parsed, minimum, maximum) -end - -function onSaveDrivePreferencesClicked() - if editingDriveId == nil then return end - local warning = optionalThreshold(warningDraft, 30, 100) - local critical = optionalThreshold(criticalDraft, 31, 110) - local life = optionalThreshold(lifeDraft, 1, 100) - if warning == false or critical == false or life == false or (warning ~= nil and critical ~= nil and critical <= warning) then - noctalia.notifyError(noctalia.tr("preferences.title"), noctalia.tr("preferences.invalid_thresholds")) - return - end - local entry = preferenceFor(editingDriveId) - local previous = {} - for _, key in ipairs(EDITABLE_PREFERENCE_FIELDS) do previous[key] = entry[key] end - entry.alias = noctalia.string.trim(aliasDraft) - entry.warning_temperature = warning - entry.critical_temperature = critical - entry.life_warning_percent = life - entry.alerts_enabled = alertsDraft - entry.presence_alert_enabled = presenceDraft - if savePreferences() then - editingDriveId = nil - noctalia.notify(noctalia.tr("preferences.title"), noctalia.tr("preferences.saved")) - else - for _, key in ipairs(EDITABLE_PREFERENCE_FIELDS) do entry[key] = previous[key] end - end - render() -end - -function onCancelDrivePreferencesClicked() - editingDriveId = nil - render() -end - -local function ensureOrder() - preferences.order = type(preferences.order) == "table" and preferences.order or {} - local seen = {} - for _, id in ipairs(preferences.order) do seen[tostring(id)] = true end - for _, drive in ipairs(snapshot and snapshot.disks or {}) do - local id = driveId(drive) - if not seen[id] then - table.insert(preferences.order, id) - seen[id] = true - end - end -end - -local function moveEditingDrive(delta) - if editingDriveId == nil then return end - ensureOrder() - for index, id in ipairs(preferences.order) do - if tostring(id) == editingDriveId then - local destination = math.max(1, math.min(#preferences.order, index + delta)) - preferences.order[index], preferences.order[destination] = preferences.order[destination], preferences.order[index] - if not savePreferences() then - preferences.order[index], preferences.order[destination] = preferences.order[destination], preferences.order[index] - render() - end - return - end - end -end - -function onMoveDriveUpClicked() moveEditingDrive(-1) end -function onMoveDriveDownClicked() moveEditingDrive(1) end - -function onHideDriveClicked() - if editingDriveId == nil then return end - local entry = preferenceFor(editingDriveId) - local previous = entry.hidden - entry.hidden = true - if savePreferences() then - editingDriveId = nil - expandedDriveId = nil - else - entry.hidden = previous - end - render() -end - -function onHiddenDriveSelected(value) - hiddenSelection = math.max(1, (tonumber(value) or 0) + 1) -end - -function onRestoreHiddenDriveClicked() - local hidden = {} - for _, drive in ipairs(snapshot and snapshot.disks or {}) do - if drive.hidden == true then table.insert(hidden, drive) end - end - local drive = hidden[hiddenSelection] - if drive ~= nil then - local entry = preferenceFor(driveId(drive)) - local previous = entry.hidden - entry.hidden = false - if savePreferences() then - hiddenSelection = 1 - else - entry.hidden = previous - end - render() - end -end - -function onStartShortSelfTestClicked() - local drive = expandedDrive() - if drive ~= nil then - if selfTestLaunch ~= nil and selfTestLaunch.drive_id == driveId(drive) and selfTestLaunch.state == "failed" then - selfTestLaunch = nil - end - pendingSelfTest = { drive_id = driveId(drive), kind = "short", device = drive.smart_device or drive.device } - render() - end -end - -function onStartLongSelfTestClicked() - local drive = expandedDrive() - if drive ~= nil then - if selfTestLaunch ~= nil and selfTestLaunch.drive_id == driveId(drive) and selfTestLaunch.state == "failed" then - selfTestLaunch = nil - end - pendingSelfTest = { drive_id = driveId(drive), kind = "long", device = drive.smart_device or drive.device } - render() - end -end - -function onCancelSelfTestClicked() - pendingSelfTest = nil - render() -end - -local function selfTestError(result) - if result.timedOut == true then - return noctalia.tr("self_test.authorization_timeout") - end - if tonumber(result.exitCode) == 126 then - return noctalia.tr("self_test.authorization_cancelled") - end - local detail = noctalia.string.trim(tostring(result.stderr or "")) - if detail == "" then detail = noctalia.string.trim(tostring(result.stdout or "")) end - if #detail > 240 then detail = detail:sub(1, 237) .. "..." end - return detail ~= "" and detail or noctalia.tr("self_test.launch_failed") -end - -function onConfirmSelfTestClicked() - if pendingSelfTest == nil then return end - local request = pendingSelfTest - pendingSelfTest = nil - local drive = expandedDrive() - selfTestLaunch = { - drive_id = request.drive_id, - kind = request.kind, - state = "authorizing", - baseline_signature = selfTestSignature(drive), - } - render() - local command = "pkexec /usr/local/libexec/noctalia-drive-health/smart-action.sh " - .. shellQuote(request.kind) .. " " .. shellQuote(request.device) - local launched = noctalia.runAsync(command, function(result) - if selfTestLaunch == nil or selfTestLaunch.drive_id ~= request.drive_id then return end - local exitCode = tonumber(result.exitCode) - -- smartctl bits 3-7 report existing drive-health findings, not whether the - -- self-test command was accepted. Bits 0-2 are the command/device failures. - local accepted = result.timedOut ~= true and exitCode ~= nil and exitCode >= 0 and exitCode % 8 == 0 - if accepted then - selfTestLaunch.state = "starting" - selfTestLaunch.accepted_at = os.time() - selfTestLaunch.accepted_snapshot_epoch = number(snapshot and snapshot.generated_at_epoch, 0) - noctalia.notify(noctalia.tr("self_test.title"), noctalia.tr("self_test.started_background")) - local nonce = number(noctalia.state.get("refresh_nonce"), 0) + 1 - noctalia.state.set("refresh_nonce", nonce) - else - selfTestLaunch.state = "failed" - selfTestLaunch.error = selfTestError(result) - noctalia.notifyError(noctalia.tr("self_test.title"), selfTestLaunch.error) - end - render() - end, 120000) - if not launched then - selfTestLaunch.state = "failed" - selfTestLaunch.error = noctalia.tr("self_test.launch_failed") - noctalia.notifyError(noctalia.tr("self_test.title"), selfTestLaunch.error) - render() - end -end - -local function privilegedActionError(result) - if result.timedOut == true then - return noctalia.tr("privileged_action.timeout") - end - if tonumber(result.exitCode) == 126 then - return noctalia.tr("privileged_action.cancelled") - end - local detail = noctalia.string.trim(tostring(result.stderr or "")) - if detail == "" then detail = noctalia.string.trim(tostring(result.stdout or "")) end - if #detail > 240 then detail = detail:sub(1, 237) .. "..." end - return detail ~= "" and detail or noctalia.tr("privileged_action.command_failed") -end - -local function runPrivilegedAction(command, details) - if command == nil or command == "" or (privilegedAction ~= nil and privilegedAction.state == "authorizing") - or (intervalApply ~= nil and intervalApply.state == "authorizing") then - return - end - privilegedAction = { state = "authorizing", scope = details.scope, kind = details.kind } - render() - local launched = noctalia.runAsync(command, function(result) - if result.timedOut ~= true and tonumber(result.exitCode) == 0 then - privilegedAction = nil - noctalia.notify(details.title, noctalia.tr("privileged_action.completed", { action = details.action })) - local nonce = number(noctalia.state.get("refresh_nonce"), 0) + 1 - noctalia.state.set("refresh_nonce", nonce) - else - privilegedAction = { - state = "failed", scope = details.scope, kind = details.kind, - error = privilegedActionError(result), - } - noctalia.notifyError(details.title, noctalia.tr("privileged_action.failed", { - action = details.action, error = privilegedAction.error, - })) - end - render() - end, 120000) - if not launched then - privilegedAction = { - state = "failed", scope = details.scope, kind = details.kind, - error = noctalia.tr("privileged_action.launch_failed"), - } - noctalia.notifyError(details.title, noctalia.tr("privileged_action.failed", { - action = details.action, error = privilegedAction.error, - })) - render() - end -end - -function onInstallCollectorClicked() - local command = snapshot and snapshot.system_collector and snapshot.system_collector.install_command or nil - runPrivilegedAction(command, { - scope = "collector", kind = "install", title = noctalia.tr("collector.title"), - action = noctalia.tr("collector.action_install"), - }) -end - -function onStartCollectorClicked() - local command = snapshot and snapshot.system_collector and snapshot.system_collector.enable_command or nil - runPrivilegedAction(command, { - scope = "collector", kind = "start", title = noctalia.tr("collector.title"), - action = noctalia.tr("collector.action_start"), - }) -end - -function onPauseCollectorClicked() - local command = snapshot and snapshot.system_collector and snapshot.system_collector.disable_command or nil - runPrivilegedAction(command, { - scope = "collector", kind = "pause", title = noctalia.tr("collector.title"), - action = noctalia.tr("collector.action_pause"), - }) -end - -function onApplyCollectorIntervalClicked() - if (intervalApply ~= nil and intervalApply.state == "authorizing") - or (privilegedAction ~= nil and privilegedAction.state == "authorizing") then return end - local command = snapshot and snapshot.system_collector and snapshot.system_collector.interval_command or nil - if command == nil or command == "" then return end - intervalApply = { state = "authorizing" } - render() - local launched = noctalia.runAsync(command, function(result) - if result.timedOut ~= true and tonumber(result.exitCode) == 0 then - intervalApply = nil - noctalia.notify(noctalia.tr("collector.title"), noctalia.tr("collector.interval_applied")) - local nonce = number(noctalia.state.get("refresh_nonce"), 0) + 1 - noctalia.state.set("refresh_nonce", nonce) - else - local error - if result.timedOut == true then - error = noctalia.tr("collector.interval_timeout") - elseif tonumber(result.exitCode) == 126 then - error = noctalia.tr("collector.interval_cancelled") - else - local detail = noctalia.string.trim(tostring(result.stderr or "")) - if detail == "" then detail = noctalia.string.trim(tostring(result.stdout or "")) end - if #detail > 240 then detail = detail:sub(1, 237) .. "..." end - error = detail ~= "" and detail or noctalia.tr("collector.interval_command_failed") - end - intervalApply = { state = "failed", error = error } - noctalia.notifyError(noctalia.tr("collector.title"), error) - end - render() - end, 120000) - if not launched then - intervalApply = { state = "failed", error = noctalia.tr("collector.interval_launch_failed") } - noctalia.notifyError(noctalia.tr("collector.title"), intervalApply.error) - render() - end -end - -function onToggleCollectorSettingsClicked() - showCollectorSettings = not showCollectorSettings - confirmUninstall = false - render() -end - -function onOpenPluginSettingsClicked() - panel.close() - noctalia.runAsync("noctalia msg settings-open plugins", function(_result) end, 5000) - noctalia.notify(noctalia.tr("collector.settings_title"), noctalia.tr("collector.settings_opened")) -end - -function onCopyCollectorCommandClicked() - local collector = snapshot and snapshot.system_collector or nil - local command = collector and collector.status == "stale" and collector.enable_command - or (collector and collector.install_command or nil) - if command ~= nil and noctalia.copyToClipboard(command, "text/plain") then - noctalia.notify(noctalia.tr("collector.title"), noctalia.tr("dependencies.copied")) - end -end - -function onUninstallCollectorClicked() - if not confirmUninstall then - confirmUninstall = true - render() - return - end - local command = snapshot and snapshot.system_collector and snapshot.system_collector.uninstall_command or nil - confirmUninstall = false - runPrivilegedAction(command, { - scope = "collector", kind = "remove", title = noctalia.tr("collector.title"), - action = noctalia.tr("collector.action_remove"), - }) -end - -function onOpen(_context) - opened = true - render() -end - -function onClose() - opened = false - pendingSelfTest = nil - confirmUninstall = false - showCollectorSettings = false -end - -function onRefreshClicked() - local nonce = number(noctalia.state.get("refresh_nonce"), 0) + 1 - noctalia.state.set("refresh_nonce", nonce) -end - -function onInstallDependenciesClicked() - local dependencies = snapshot and snapshot.dependencies or nil - local command = dependencies and dependencies.install_command or nil - if command == nil or command == "" then - noctalia.notifyError(noctalia.tr("dependencies.title"), noctalia.tr("dependencies.manual_install")) - return - end - - runPrivilegedAction(command, { - scope = "dependencies", kind = "install", title = noctalia.tr("dependencies.title"), - action = noctalia.tr("dependencies.action_install"), - }) -end - -function onCopyInstallCommandClicked() - local dependencies = snapshot and snapshot.dependencies or nil - local command = dependencies and dependencies.install_command or nil - if command == nil or command == "" then - return - end - if noctalia.copyToClipboard(command, "text/plain") then - noctalia.notify(noctalia.tr("dependencies.title"), noctalia.tr("dependencies.copied")) - end -end - -function onCloseClicked() - panel.close() -end diff --git a/drive-health/plugin.toml b/drive-health/plugin.toml deleted file mode 100644 index 636876b..0000000 --- a/drive-health/plugin.toml +++ /dev/null @@ -1,157 +0,0 @@ -id = "gustav0ar/drive-health" -name = "Drive Health" -version = "1.2.6" -plugin_api = 17 -author = "Drive Health contributors" -license = "MIT" -deprecated = false -dependencies = ["lsblk", "smartctl", "sh", "date", "dirname", "mkdir", "mktemp", "rm", "sed", "cat", "chmod", "mv", "env", "bash", "install", "systemctl", "pkexec", "id", "tr", "pacman", "apt-get", "dnf", "zypper", "apk", "xbps-install", "emerge"] -tags = ["bar", "panel", "service", "system", "hardware", "utility"] -icon = "server-2" -description = "SMART health, temperature, integrity, endurance, and storage monitoring for SSDs and hard drives." - -[[setting]] -key = "system_collector_enabled" -type = "bool" -label_key = "settings.system_collector_enabled.label" -description_key = "settings.system_collector_enabled.description" -default = false - -[[setting]] -key = "refresh_seconds" -type = "int" -label_key = "settings.refresh_seconds.label" -description_key = "settings.refresh_seconds.description" -default = 30 -min = 15 -max = 300 - -[[setting]] -key = "full_smart_refresh_minutes" -type = "int" -label_key = "settings.full_smart_refresh_minutes.label" -description_key = "settings.full_smart_refresh_minutes.description" -default = 15 -min = 1 -max = 1440 - -[[setting]] -key = "warning_temperature" -type = "int" -label_key = "settings.warning_temperature.label" -description_key = "settings.warning_temperature.description" -default = 65 -min = 40 -max = 90 - -[[setting]] -key = "critical_temperature" -type = "int" -label_key = "settings.critical_temperature.label" -description_key = "settings.critical_temperature.description" -default = 80 -min = 50 -max = 100 - -[[setting]] -key = "life_warning_percent" -type = "int" -label_key = "settings.life_warning_percent.label" -description_key = "settings.life_warning_percent.description" -default = 20 -min = 5 -max = 50 - -[[setting]] -key = "alerts_enabled" -type = "bool" -label_key = "settings.alerts_enabled.label" -description_key = "settings.alerts_enabled.description" -default = true - -[[setting]] -key = "notify_recovery" -type = "bool" -label_key = "settings.notify_recovery.label" -description_key = "settings.notify_recovery.description" -default = true - -[[setting]] -key = "show_hdd" -type = "bool" -label_key = "settings.show_hdd.label" -description_key = "settings.show_hdd.description" -default = true - -[[setting]] -key = "alert_hdd" -type = "bool" -label_key = "settings.alert_hdd.label" -description_key = "settings.alert_hdd.description" -default = true - -[[setting]] -key = "drive_missing_alerts" -type = "bool" -label_key = "settings.drive_missing_alerts.label" -description_key = "settings.drive_missing_alerts.description" -default = true - -[[setting]] -key = "missing_grace_scans" -type = "int" -label_key = "settings.missing_grace_scans.label" -description_key = "settings.missing_grace_scans.description" -default = 3 -min = 1 -max = 20 - -[[setting]] -key = "use_hotspot_temperature" -type = "bool" -label_key = "settings.use_hotspot_temperature.label" -description_key = "settings.use_hotspot_temperature.description" -default = true - -[[setting]] -key = "history_interval_minutes" -type = "int" -label_key = "settings.history_interval_minutes.label" -description_key = "settings.history_interval_minutes.description" -default = 60 -min = 15 -max = 1440 - -[[setting]] -key = "history_retention_days" -type = "int" -label_key = "settings.history_retention_days.label" -description_key = "settings.history_retention_days.description" -default = 30 -min = 1 -max = 365 - -[[service]] -id = "collector" -entry = "collector.luau" - -[[service]] -id = "alerts" -entry = "service.luau" - -[[service]] -id = "history" -entry = "history.luau" - -[[widget]] -id = "summary" -entry = "widget.luau" - -[[panel]] -id = "drives" -entry = "panel.luau" -width = 590 -height = 720 -placement = "floating" -position = "center" -open_near_click = true diff --git a/drive-health/scripts/collect_raw.sh b/drive-health/scripts/collect_raw.sh deleted file mode 100755 index 4b344c4..0000000 --- a/drive-health/scripts/collect_raw.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -eu - -# Capture raw lsblk and smartctl JSON without interpreting device health. The -# same script is used by the unprivileged plugin fallback and the hardened root -# systemd service, keeping collection behavior identical in both paths. - -LC_ALL=C -export LC_ALL - -collector_version="2.0.1" -generated_at_epoch=$(date +%s) -collection_id="" -if [ -r /proc/sys/kernel/random/uuid ]; then - IFS= read -r collection_id &2 - exit 2 - fi - output=$2 -elif [ "$#" -ne 0 ]; then - echo "usage: $0 [--output PATH]" >&2 - exit 2 -fi - -if ! command -v lsblk >/dev/null 2>&1; then - echo "collect_raw: lsblk is required" >&2 - exit 1 -fi - -if [ -n "$output" ]; then - output_dir=$(dirname -- "$output") - mkdir -p -- "$output_dir" - payload_tmp=$(mktemp "$output_dir/.raw.json.XXXXXX") -else - payload_tmp=$(mktemp "${TMPDIR:-/tmp}/noctalia-smart-raw.XXXXXX") -fi -devices_tmp=$(mktemp "${TMPDIR:-/tmp}/noctalia-smart-devices.XXXXXX") -smart_tmp=$(mktemp "${TMPDIR:-/tmp}/noctalia-smart-device.XXXXXX") - -cleanup() { - rm -f -- "$payload_tmp" "$devices_tmp" "$smart_tmp" -} -trap cleanup EXIT HUP INT TERM - -lsblk --nodeps --noheadings --paths --output PATH,TYPE,ROTA >"$devices_tmp" - -{ - printf '{"schema":2,"collector_version":"%s","collection_id":"%s","generated_at_epoch":%s,"lsblk":' \ - "$collector_version" "$collection_id" "$generated_at_epoch" - lsblk --json --bytes --paths --output \ - NAME,KNAME,PATH,PKNAME,TYPE,TRAN,ROTA,RM,HOTPLUG,SIZE,LOG-SEC,PHY-SEC,MODEL,SERIAL,FSTYPE,FSSIZE,FSUSED,FSAVAIL,MOUNTPOINTS - printf ',"smart":[' - - first=true - if command -v smartctl >/dev/null 2>&1; then - while read -r device device_type rotational; do - [ "$device_type" = "disk" ] || continue - case "$device" in - /dev/loop*|/dev/ram*|/dev/sr*|/dev/zram*) continue ;; - esac - - smart_device=$device - nvme_controller=$(printf '%s\n' "$device" | sed -n 's#^\(/dev/nvme[0-9][0-9]*\)n[0-9][0-9]*$#\1#p') - if [ -n "$nvme_controller" ]; then - smart_device=$nvme_controller - fi - - : >"$smart_tmp" - if [ "$rotational" = "1" ]; then - if smartctl --json=c --all --nocheck=standby,0 "$smart_device" >"$smart_tmp" 2>/dev/null; then - smart_exit=0 - else - smart_exit=$? - fi - else - if smartctl --json=c --all "$smart_device" >"$smart_tmp" 2>/dev/null; then - smart_exit=0 - else - smart_exit=$? - fi - fi - - if [ "$first" = true ]; then - first=false - else - printf ',' - fi - printf '{"requested_device":"%s","exit_code":%s,"payload":' "$smart_device" "$smart_exit" - if [ -s "$smart_tmp" ]; then - cat "$smart_tmp" - else - printf '{"smartctl":{"exit_status":%s,"messages":[{"severity":"error","string":"smartctl produced no JSON output"}]}}' "$smart_exit" - fi - printf '}' - done <"$devices_tmp" - fi - - printf ']}\n' -} >"$payload_tmp" - -chmod 0640 "$payload_tmp" -if [ -n "$output" ]; then - mv -f -- "$payload_tmp" "$output" -else - cat "$payload_tmp" -fi diff --git a/drive-health/service.luau b/drive-health/service.luau deleted file mode 100644 index beb1d6b..0000000 --- a/drive-health/service.luau +++ /dev/null @@ -1,582 +0,0 @@ ---!nonstrict - --- Alert service. Collection and SMART normalization are intentionally isolated --- in collector.luau; this entry only evaluates normalized snapshots. - -local SMART_UNAVAILABLE_GRACE_SCANS = 3 - -local alertState = { active = {}, counters = {}, inventory = {}, availability = {}, dismissed = {} } -local alertStateDirty = false -local legacyMissingSnapshots = {} -local legacyAvailabilitySnapshots = {} - -local function stateValuesEqual(left, right) - if left == right then - return true - end - local valueType = type(left) - if valueType ~= type(right) or valueType ~= "table" then - return false - end - for key, value in pairs(left) do - if not stateValuesEqual(value, right[key]) then - return false - end - end - for key in pairs(right) do - if left[key] == nil then - return false - end - end - return true -end - -local function copyStateValue(value) - if type(value) ~= "table" then - return value - end - local copied = {} - for key, child in pairs(value) do - copied[key] = copyStateValue(child) - end - return copied -end - -local function replaceAlertStateSection(section, value) - if stateValuesEqual(alertState[section], value) then - return false - end - alertState[section] = value - alertStateDirty = true - return true -end - -local function number(value, fallback) - local parsed = tonumber(value) - return parsed ~= nil and parsed or fallback -end - -local function boolConfig(key, fallback) - local value = noctalia.getConfig(key) - return value == nil and fallback or value == true -end - -local function snapshotCollectionId(snapshot) - local value = snapshot.collection_id - if type(value) ~= "string" or value:match("^%s*$") ~= nil - or #value > 128 or value:find("[%c]") ~= nil then - return nil - end - return value -end - -local function alertStatePath() - local directory = noctalia.pluginDataDir() - return directory ~= nil and directory .. "/alert-state.json" or nil -end - -local function loadAlertState() - local path = alertStatePath() - local raw = path ~= nil and noctalia.readFile(path) or nil - local decoded = raw ~= nil and noctalia.json.decode(raw) or nil - if type(decoded) == "table" then - alertState.active = type(decoded.active) == "table" and decoded.active or {} - alertState.counters = type(decoded.counters) == "table" and decoded.counters or {} - alertState.inventory = type(decoded.inventory) == "table" and decoded.inventory or {} - alertState.availability = type(decoded.availability) == "table" and decoded.availability or {} - alertState.dismissed = type(decoded.dismissed) == "table" and decoded.dismissed or {} - end - alertStateDirty = false -end - -local function saveAlertState() - local path = alertStatePath() - if path == nil then - return false - end - local encoded, encodeError = noctalia.json.encode(alertState, true) - if encoded == nil then - noctalia.log("Unable to encode SMART alert state: " .. tostring(encodeError)) - return false - end - local temporary = path .. ".tmp" - local written, writeError = noctalia.writeFile(temporary, encoded) - if not written then - noctalia.log("Unable to persist SMART alert state: " .. tostring(writeError)) - return false - end - local renamed, renameError = noctalia.renameFile(temporary, path) - if not renamed then - noctalia.log("Unable to commit SMART alert state: " .. tostring(renameError)) - return false - end - return true -end - -local function persistAlertState() - if alertStateDirty and saveAlertState() then - alertStateDirty = false - end -end - -local function severityRank(severity) - return severity == "critical" and 2 or 1 -end - -local function sendIssueNotification(issue) - if not boolConfig("alerts_enabled", true) then - return - end - if issue.severity == "critical" then - noctalia.notifyError(issue.title, issue.message) - else - noctalia.notify(issue.title, issue.message) - end -end - -local function driveIdentity(drive) - return tostring(drive.id or drive.serial or drive.device or drive.model or "unknown-drive") -end - -local function driveName(drive) - return tostring(drive.display_name or drive.model or drive.device or noctalia.tr("alerts.unknown_drive")) -end - -local function driveIssue(drive, kind, severity, message, value, monotonic) - return { - id = driveIdentity(drive) .. ":" .. kind, - drive_id = driveIdentity(drive), - kind = kind, - drive = driveName(drive), - severity = severity, - title = noctalia.tr("alerts.drive_title", { drive = driveName(drive) }), - message = message, - value = value, - monotonic = monotonic == true, - } -end - -local function evaluateDrive(drive, previousActive, smartUnavailableConfirmed) - local issues = {} - local name = driveName(drive) - local warningTemperature = number(drive.warning_temperature, number(noctalia.getConfig("warning_temperature"), 65)) - local criticalTemperature = math.max(warningTemperature + 1, - number(drive.critical_temperature, number(noctalia.getConfig("critical_temperature"), 80))) - local lifeWarning = number(drive.life_warning_percent, number(noctalia.getConfig("life_warning_percent"), 20)) - - if smartUnavailableConfirmed then - table.insert(issues, driveIssue( - drive, "smart-unavailable", "warning", - noctalia.tr("alerts.smart_unavailable", { drive = name }), 1, false - )) - end - if drive.health == "failed" then - table.insert(issues, driveIssue( - drive, "health", "critical", - noctalia.tr("alerts.health_failed", { drive = name }), 1, false - )) - end - - local temperature = tonumber(noctalia.getConfig("use_hotspot_temperature") == false - and drive.temperature_c or drive.hotspot_temperature_c or drive.temperature_c) - local temperatureId = driveIdentity(drive) .. ":temperature" - local wasTemperatureAlert = previousActive[temperatureId] ~= nil - local temperatureActive = temperature ~= nil and ( - temperature >= warningTemperature or (wasTemperatureAlert and temperature >= warningTemperature - 3) - ) - if temperatureActive then - local critical = temperature >= criticalTemperature - local cooling = temperature < warningTemperature - table.insert(issues, driveIssue( - drive, "temperature", critical and "critical" or "warning", - noctalia.tr(critical and "alerts.temperature_critical" - or (cooling and "alerts.temperature_cooling" or "alerts.temperature_warning"), { - drive = name, - temperature = string.format("%.0f", temperature), - threshold = string.format("%.0f", critical and criticalTemperature - or (cooling and warningTemperature - 3 or warningTemperature)), - }), temperature, false - )) - end - - local life = tonumber(drive.remaining_life_percent) - if life ~= nil and life <= lifeWarning then - local critical = life <= 10 - table.insert(issues, driveIssue( - drive, "endurance", critical and "critical" or "warning", - noctalia.tr(critical and "alerts.life_critical" or "alerts.life_warning", { - drive = name, remaining = string.format("%.0f", life), - }), life, false - )) - end - - local spare = tonumber(drive.available_spare_percent) - local spareThreshold = number(drive.available_spare_threshold_percent, 10) - if spare ~= nil and spare <= spareThreshold then - table.insert(issues, driveIssue( - drive, "available-spare", spare <= math.max(5, spareThreshold / 2) and "critical" or "warning", - noctalia.tr("alerts.spare_low", { drive = name, spare = string.format("%.0f", spare) }), spare, false - )) - end - - if drive.self_test_state == "failed" then - table.insert(issues, driveIssue( - drive, "self-test", "critical", - noctalia.tr("alerts.self_test_failed", { drive = name, status = tostring(drive.self_test_status or "failed") }), - 1, false - )) - end - - local criticalWarning = number(drive.critical_warning, 0) - if criticalWarning > 0 then - table.insert(issues, driveIssue( - drive, "critical-warning", "critical", - noctalia.tr("alerts.nvme_critical", { - drive = name, value = string.format("0x%02X", math.floor(criticalWarning)), - }), criticalWarning, true - )) - end - - local storage = tonumber(drive.storage_usage_percent) - if storage ~= nil and storage >= 90 then - local critical = storage >= 95 - table.insert(issues, driveIssue( - drive, "storage", critical and "critical" or "warning", - noctalia.tr(critical and "alerts.storage_critical" or "alerts.storage_warning", { - drive = name, used = string.format("%.0f", storage), - }), storage, false - )) - end - return issues -end - -local function dependencyIssue(dependencies) - if type(dependencies) ~= "table" or dependencies.ready then - return nil - end - return { - id = "dependencies:missing", - kind = "missing-dependencies", - drive = noctalia.tr("panel.title"), - severity = dependencies.blocking and "critical" or "warning", - title = noctalia.tr("dependencies.alert_title"), - message = noctalia.tr("dependencies.alert_body", { missing = dependencies.missing_text }), - value = #(dependencies.missing or {}), - revision = dependencies.signature, - } -end - -local function collectorIssue(snapshot) - if snapshot.collector_error == nil or snapshot.collector_error == "" then - return nil - end - return { - id = "collector:error", - kind = "collector-error", - drive = noctalia.tr("panel.title"), - severity = "critical", - title = noctalia.tr("alerts.collector_title"), - message = noctalia.tr("alerts.collector_error", { error = snapshot.collector_error }), - value = 1, - revision = tostring(snapshot.collector_error), - } -end - -local MONOTONIC_COUNTERS = { - { key = "media-errors", field = "media_errors", translation = "alerts.media_errors", critical = true }, - { key = "reallocated", field = "reallocated_sectors", translation = "alerts.reallocated", critical = false }, - { key = "pending", field = "pending_sectors", translation = "alerts.pending", critical = true }, - { key = "uncorrectable", field = "uncorrectable_errors", translation = "alerts.uncorrectable", critical = true }, - { key = "spin-retry", field = "spin_retry_count", translation = "alerts.spin_retry", critical = true }, - { key = "command-timeout", field = "command_timeout_count", translation = "alerts.command_timeout", critical = false }, - { key = "interface-crc", field = "interface_crc_errors", translation = "alerts.interface_crc", critical = false }, - { key = "unsafe-shutdowns", field = "unsafe_shutdowns", translation = "alerts.unsafe_shutdown_increase", critical = false }, - { key = "error-log-entries", field = "error_log_entries", translation = "alerts.error_log_increase", critical = false }, - { key = "warning-temperature-time", field = "warning_temperature_time_minutes", translation = "alerts.warning_temperature_time_increase", critical = false }, - { key = "critical-temperature-time", field = "critical_temperature_time_minutes", translation = "alerts.critical_temperature_time_increase", critical = true }, -} -local MONOTONIC_COUNTER_KINDS = {} -for _, counter in ipairs(MONOTONIC_COUNTERS) do - MONOTONIC_COUNTER_KINDS[counter.key] = true -end - -local function checkCounterIncrease(drive, counter) - local key = driveIdentity(drive) .. ":" .. counter.key - local current = tonumber(drive[counter.field]) - local previous = tonumber(alertState.counters[key]) - if current ~= nil and previous ~= nil and current > previous and boolConfig("alerts_enabled", true) then - local title = noctalia.tr("alerts.drive_title", { drive = driveName(drive) }) - local message = noctalia.tr(counter.translation, { - drive = driveName(drive), count = math.floor(current - previous), - }) - if counter.critical then - noctalia.notifyError(title, message) - else - noctalia.notify(title, message) - end - end - if current ~= nil and current ~= previous then - alertState.counters[key] = current - alertStateDirty = true - end -end - -local function checkMonotonicCounters(drive) - for _, counter in ipairs(MONOTONIC_COUNTERS) do - checkCounterIncrease(drive, counter) - end -end - -local function updateSmartAvailability(availability, drive, snapshot, collectionHealthy, collectionId, - fullSmartExpected) - local id = driveIdentity(drive) - local unavailable = fullSmartExpected and drive.smart_available == false and drive.smart_sleeping ~= true - if not unavailable then - availability[id] = nil - legacyAvailabilitySnapshots[id] = nil - return false - end - - local known = availability[id] - if type(known) ~= "table" then - known = { unavailable_scans = 0 } - end - if number(known.unavailable_scans, 0) >= SMART_UNAVAILABLE_GRACE_SCANS then - availability[id] = known - return true - end - local countScan = false - if collectionHealthy and collectionId ~= nil then - countScan = known.last_collection_id ~= collectionId - known.last_collection_id = collectionId - legacyAvailabilitySnapshots[id] = nil - elseif collectionHealthy and legacyAvailabilitySnapshots[id] ~= snapshot then - countScan = true - legacyAvailabilitySnapshots[id] = snapshot - end - if countScan then - known.unavailable_scans = number(known.unavailable_scans, 0) + 1 - end - availability[id] = known - return known.unavailable_scans >= SMART_UNAVAILABLE_GRACE_SCANS -end - -local function processSnapshot(snapshot) - if type(snapshot) ~= "table" then - return - end - local previousActive = alertState.active or {} - local dismissed = copyStateValue(alertState.dismissed or {}) - local active = {} - local issues = {} - local alertHdd = boolConfig("alert_hdd", true) - local missingAlerts = boolConfig("drive_missing_alerts", true) - local missingGrace = math.max(1, math.floor(number(noctalia.getConfig("missing_grace_scans"), 3))) - local fullSmartExpected = noctalia.getConfig("system_collector_enabled") == true - local inventory = copyStateValue(alertState.inventory or {}) - local availability = copyStateValue(alertState.availability or {}) - local seen = {} - local collectionHealthy = snapshot.collecting ~= true and snapshot.collector_error == nil - and not (type(snapshot.dependencies) == "table" and snapshot.dependencies.blocking) - local collectionId = snapshotCollectionId(snapshot) - - local globals = {} - local missingDependency = dependencyIssue(snapshot.dependencies) - local collectionFailure = collectorIssue(snapshot) - if missingDependency ~= nil then - table.insert(globals, missingDependency) - end - if collectionFailure ~= nil then - table.insert(globals, collectionFailure) - end - for _, issue in ipairs(globals) do - if issue ~= nil then - active[issue.id] = issue - table.insert(issues, issue) - end - end - - if type(snapshot.disks) == "table" then - for _, drive in ipairs(snapshot.disks) do - local id = driveIdentity(drive) - local eligibleKind = drive.kind == "ssd" or alertHdd - seen[id] = true - if missingAlerts and eligibleKind and drive.presence_alert_enabled == true and drive.alerts_enabled ~= false then - inventory[id] = { - id = id, - drive = driveName(drive), - device = drive.device, - kind = drive.kind, - missing_scans = 0, - } - legacyMissingSnapshots[id] = nil - else - inventory[id] = nil - legacyMissingSnapshots[id] = nil - end - if eligibleKind and drive.alerts_enabled ~= false then - local smartUnavailableConfirmed = updateSmartAvailability( - availability, drive, snapshot, collectionHealthy, collectionId, fullSmartExpected) - checkMonotonicCounters(drive) - for _, issue in ipairs(evaluateDrive(drive, previousActive, smartUnavailableConfirmed)) do - active[issue.id] = issue - table.insert(issues, issue) - end - else - availability[id] = nil - legacyAvailabilitySnapshots[id] = nil - end - end - end - - for id in pairs(availability) do - if not seen[id] then - availability[id] = nil - legacyAvailabilitySnapshots[id] = nil - end - end - if missingAlerts then - for id, known in pairs(inventory) do - local eligibleKind = known.kind == "ssd" or alertHdd - if not seen[id] and eligibleKind then - local countScan = false - if collectionHealthy and collectionId ~= nil then - countScan = known.last_missing_collection_id ~= collectionId - known.last_missing_collection_id = collectionId - legacyMissingSnapshots[id] = nil - elseif collectionHealthy and legacyMissingSnapshots[id] ~= snapshot then - countScan = true - legacyMissingSnapshots[id] = snapshot - end - if countScan then - known.missing_scans = number(known.missing_scans, 0) + 1 - end - if known.missing_scans >= missingGrace then - local issue = { - id = id .. ":missing", - drive_id = id, - kind = "drive-missing", - drive = tostring(known.drive or known.device or id), - severity = "warning", - title = noctalia.tr("alerts.drive_title", { drive = tostring(known.drive or id) }), - message = noctalia.tr("alerts.drive_missing", { - drive = tostring(known.drive or known.device or id), count = known.missing_scans, - }), - value = known.missing_scans, - } - active[issue.id] = issue - table.insert(issues, issue) - end - end - end - end - - for _, issue in ipairs(issues) do - local previous = previousActive[issue.id] - local isNew = previous == nil - local escalated = previous ~= nil and severityRank(issue.severity) > severityRank(previous.severity) - local worsened = previous ~= nil and issue.monotonic == true - and tonumber(issue.value) ~= nil and tonumber(previous.value) ~= nil - and tonumber(issue.value) > tonumber(previous.value) - local changed = previous ~= nil and issue.revision ~= nil and issue.revision ~= previous.revision - if dismissed[issue.id] == nil and (isNew or escalated or worsened or changed) then - sendIssueNotification(issue) - end - end - - if boolConfig("alerts_enabled", true) and boolConfig("notify_recovery", true) then - for id, previous in pairs(previousActive) do - if active[id] == nil and dismissed[id] == nil - and MONOTONIC_COUNTER_KINDS[previous.kind] ~= true then - noctalia.notify( - noctalia.tr("alerts.recovered_title", { drive = tostring(previous.drive or noctalia.tr("panel.title")) }), - noctalia.tr("alerts.recovered_body", { issue = tostring(previous.message or id) }) - ) - end - end - end - - table.sort(issues, function(left, right) - local difference = severityRank(left.severity) - severityRank(right.severity) - if difference ~= 0 then - return difference > 0 - end - return tostring(left.title) < tostring(right.title) - end) - local visibleIssues = {} - local criticalCount = 0 - for _, issue in ipairs(issues) do - if dismissed[issue.id] == nil then - table.insert(visibleIssues, issue) - if issue.severity == "critical" then - criticalCount += 1 - end - end - issue.monotonic = nil - end - - replaceAlertStateSection("active", active) - replaceAlertStateSection("inventory", inventory) - replaceAlertStateSection("availability", availability) - replaceAlertStateSection("dismissed", dismissed) - snapshot.issues = visibleIssues - snapshot.summary = snapshot.summary or {} - snapshot.summary.active_alert_count = #visibleIssues - snapshot.summary.critical_alert_count = criticalCount - snapshot.summary.dismissed_alert_count = nil - persistAlertState() - noctalia.state.set("snapshot", snapshot) -end - -loadAlertState() - -noctalia.state.watch("collector_snapshot", function(snapshot) - processSnapshot(snapshot) -end) - -noctalia.state.watch("dismiss_alert_request", function(request) - if type(request) ~= "table" then - return - end - local dismissed = copyStateValue(alertState.dismissed or {}) - if request.all == true then - for id in pairs(alertState.active or {}) do - dismissed[id] = { - dismissed_at = os.time(), - } - end - elseif request.id ~= nil then - local id = tostring(request.id) - local issue = (alertState.active or {})[id] - if issue ~= nil then - dismissed[id] = { - dismissed_at = os.time(), - } - end - else - return - end - replaceAlertStateSection("dismissed", dismissed) - - local currentSnapshot = noctalia.state.get("collector_snapshot") - if type(currentSnapshot) == "table" then - processSnapshot(currentSnapshot) - else - persistAlertState() - end -end) - -local initialSnapshot = noctalia.state.get("collector_snapshot") -if initialSnapshot ~= nil then - processSnapshot(initialSnapshot) -end - -function onConfigChanged() - processSnapshot(noctalia.state.get("collector_snapshot")) -end - -function onIpc(event, _payload) - if event == "test-alert" then - noctalia.notify(noctalia.tr("alerts.test_title"), noctalia.tr("alerts.test_body")) - end -end diff --git a/drive-health/tests/alert_harness.lua b/drive-health/tests/alert_harness.lua deleted file mode 100644 index c968052..0000000 --- a/drive-health/tests/alert_harness.lua +++ /dev/null @@ -1,504 +0,0 @@ --- Behavioral tests for the isolated alert service. - -local state = {} -local watchers = {} -local notifications = {} -local stateWrites = {} -local stateRenames = {} -local successfulStateCommits = 0 -local failNextStateWrite = false -local failNextStateRename = false -local fullSmartEnabled = false - -local function translate(key, substitutions) - local value = key - for name, replacement in pairs(substitutions or {}) do - value = value:gsub("{" .. name .. "}", tostring(replacement)) - end - if substitutions ~= nil and substitutions.count ~= nil then - value = value .. ":count=" .. tostring(substitutions.count) - end - return value -end - -noctalia = { - getConfig = function(key) - local values = { - alerts_enabled = true, - notify_recovery = true, - warning_temperature = 65, - critical_temperature = 80, - life_warning_percent = 20, - show_hdd = false, - alert_hdd = true, - drive_missing_alerts = true, - missing_grace_scans = 3, - use_hotspot_temperature = true, - system_collector_enabled = fullSmartEnabled, - } - return values[key] - end, - pluginDataDir = function() return "/mock/plugin-data" end, - readFile = function(path) - return path:match("alert%-state%.json$") and "{}" or nil - end, - writeFile = function(path, _contents) - table.insert(stateWrites, path) - if failNextStateWrite then - failNextStateWrite = false - return false, "fixture write failure" - end - return true - end, - renameFile = function(from, to) - table.insert(stateRenames, { from = from, to = to }) - if failNextStateRename then - failNextStateRename = false - return false, "fixture rename failure" - end - successfulStateCommits = successfulStateCommits + 1 - return true - end, - log = function(_message) end, - notify = function(title, body) - table.insert(notifications, { severity = "warning", title = title, body = body }) - end, - notifyError = function(title, body) - table.insert(notifications, { severity = "critical", title = title, body = body }) - end, - tr = translate, - state = { - get = function(key) return state[key] end, - set = function(key, value) state[key] = value end, - watch = function(key, callback) watchers[key] = callback end, - }, - json = { - decode = function(_raw) - return { - active = { - ["SERIAL1:interface-crc"] = { - id = "SERIAL1:interface-crc", kind = "interface-crc", - drive = "Fixture SSD", message = "historical CRC total", severity = "warning", - }, - }, - counters = {}, inventory = {}, availability = {}, dismissed = {}, - } - end, - encode = function(_value, _pretty) return "{}" end, - }, -} - -local handle = assert(io.open("service.luau", "rb")) -local source = handle:read("*a") -handle:close() -source = source:gsub("([%a_][%w_]*) %+%= ([^\n]+)", "%1 = %1 + %2") -assert(load(source, "@service.luau"))() - -local publishSnapshot = assert(watchers.collector_snapshot, "alert service did not watch collector snapshots") -local function publish(value) - state.collector_snapshot = value - publishSnapshot(value) -end -local dismiss = assert(watchers.dismiss_alert_request, "alert service did not watch dismissal requests") -local function drive(temperature) - return { - id = "SERIAL1", device = "/dev/nvme0n1", model = "Fixture SSD", - kind = "ssd", health = "passed", smart_available = true, - temperature_c = temperature, hotspot_temperature_c = temperature, remaining_life_percent = 95, - available_spare_percent = 100, critical_warning = 0, - media_errors = 0, reallocated_sectors = 0, pending_sectors = 0, - uncorrectable_errors = 0, spin_retry_count = 0, command_timeout_count = 0, - interface_crc_errors = 0, unsafe_shutdowns = 12, error_log_entries = 5893, - smart_completeness = "full", alerts_enabled = true, presence_alert_enabled = true, - self_test_state = "passed", - } -end - -local function snapshot(disk, collectionId) - return { - collection_id = collectionId, - disks = disk ~= nil and { disk } or {}, - dependencies = { ready = true, missing = {}, missing_text = "", signature = "" }, - summary = { ssd_count = disk ~= nil and 1 or 0 }, - } -end - -local function findIssue(kind) - for _, issue in ipairs(state.snapshot.issues or {}) do - if issue.kind == kind then - return issue - end - end - return nil -end - -publish(snapshot(drive(45))) -assert(#state.snapshot.issues == 0, "healthy drive produced an alert") -assert(#notifications == 0, "healthy baseline or legacy counter cleanup produced a notification") -assert(#stateWrites == 1 and #stateRenames == 1 and successfulStateCommits == 1, - "first healthy baseline was not persisted as one atomic commit") - -publish(snapshot(drive(45))) -onConfigChanged() -assert(#stateWrites == 1 and #stateRenames == 1, - "identical or config-only processing rewrote alert state") - -local writesBeforeNewAlert = #stateWrites -publish(snapshot(drive(70))) -assert(#state.snapshot.issues == 1 and state.snapshot.issues[1].kind == "temperature", "warning temperature was missed") -assert(#notifications == 1 and notifications[1].severity == "warning", "warning notification was not sent") -assert(#stateWrites == writesBeforeNewAlert + 1 and #stateRenames == writesBeforeNewAlert + 1, - "new alert was not persisted as exactly one atomic commit") - -publish(snapshot(drive(70))) -assert(#notifications == 1, "unchanged warning notification was duplicated") -assert(#stateWrites == writesBeforeNewAlert + 1, - "unchanged active alert rewrote alert state") - -publish(snapshot(drive(63))) -assert(#state.snapshot.issues == 1 and state.snapshot.issues[1].message == "alerts.temperature_cooling", - "temperature hysteresis displayed a contradictory threshold message") -assert(#notifications == 1, "cooling hysteresis duplicated its warning notification") - -publish(snapshot(drive(85))) -assert(state.snapshot.issues[1].severity == "critical", "critical escalation was missed") -assert(#notifications == 2 and notifications[2].severity == "critical", "critical escalation did not notify") - -local writesBeforeRecovery = #stateWrites -publish(snapshot(drive(60))) -assert(#state.snapshot.issues == 0, "temperature recovery did not clear") -assert(#notifications == 3 and notifications[3].severity == "warning", "recovery did not notify") -assert(#stateWrites == writesBeforeRecovery + 1 and #stateRenames == writesBeforeRecovery + 1, - "alert recovery was not persisted as exactly one atomic commit") - -publish(snapshot(drive(70))) -assert(#notifications == 4, "recurring temperature issue did not notify") -publish(snapshot(drive(45))) -assert(#notifications == 5, "temperature recovery did not notify") - -local retiredFixture = drive(45) -retiredFixture.presence_alert_enabled = false -publish(snapshot(retiredFixture)) - -local hddIssue = drive(35) -hddIssue.id = "HDD-SERIAL" -hddIssue.kind = "hdd" -hddIssue.remaining_life_percent = nil -hddIssue.presence_alert_enabled = false -hddIssue.interface_crc_errors = 2 -local notificationsBeforeHddBaseline = #notifications -publish(snapshot(hddIssue)) -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeHddBaseline, - "historical HDD interface CRC errors produced a false alert") -hddIssue.interface_crc_errors = 3 -publish(snapshot(hddIssue)) -assert(#state.snapshot.issues == 0, "new HDD interface CRC errors produced a persistent issue") -assert(#notifications == notificationsBeforeHddBaseline + 1 - and notifications[#notifications].severity == "warning" - and notifications[#notifications].body:match("count=1"), - "new HDD interface CRC error did not produce one delta notification") -publish(snapshot(hddIssue)) -assert(#notifications == notificationsBeforeHddBaseline + 1, - "unchanged HDD interface CRC total duplicated its notification") -hddIssue.interface_crc_errors = 0 -publish(snapshot(hddIssue)) -assert(#notifications == notificationsBeforeHddBaseline + 1, - "decreased HDD interface CRC total produced a notification") - -local historicalErrors = drive(45) -historicalErrors.id = "HISTORICAL-SERIAL" -historicalErrors.presence_alert_enabled = false -historicalErrors.media_errors = 8 -historicalErrors.reallocated_sectors = 4 -historicalErrors.pending_sectors = 2 -historicalErrors.uncorrectable_errors = 3 -historicalErrors.spin_retry_count = 1 -historicalErrors.command_timeout_count = 6 -historicalErrors.interface_crc_errors = 9 -historicalErrors.error_log_entries = 20 -local notificationsBeforeHistoricalBaseline = #notifications -publish(snapshot(historicalErrors)) -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeHistoricalBaseline, - "first observation of historical SMART counters produced false alerts") - -historicalErrors.uncorrectable_errors = 5 -historicalErrors.error_log_entries = 21 -historicalErrors.interface_crc_errors = 11 -publish(snapshot(historicalErrors)) -assert(#state.snapshot.issues == 0, "counter deltas produced persistent drive issues") -assert(#notifications == notificationsBeforeHistoricalBaseline + 3, - "new SMART counter values did not produce exactly one notification per increase") -assert(notifications[notificationsBeforeHistoricalBaseline + 1].severity == "critical" - and notifications[notificationsBeforeHistoricalBaseline + 1].body:match("count=2"), - "uncorrectable-error delta notification was incorrect") -assert(notifications[notificationsBeforeHistoricalBaseline + 2].severity == "warning" - and notifications[notificationsBeforeHistoricalBaseline + 2].body:match("count=2"), - "interface CRC delta notification was incorrect") -assert(notifications[notificationsBeforeHistoricalBaseline + 3].severity == "warning" - and notifications[notificationsBeforeHistoricalBaseline + 3].body:match("count=1"), - "error-log delta notification was incorrect") -publish(snapshot(historicalErrors)) -local unchangedCounterNotifications = {} -for index = notificationsBeforeHistoricalBaseline + 1, #notifications do - table.insert(unchangedCounterNotifications, notifications[index].body) -end -assert(#notifications == notificationsBeforeHistoricalBaseline + 3, - "unchanged SMART counter values duplicated notifications: " .. table.concat(unchangedCounterNotifications, ", ")) -publish(snapshot(drive(45))) - -local hotspot = drive(45) -hotspot.hotspot_temperature_c = 70 -publish(snapshot(hotspot)) -assert(state.snapshot.issues[1].kind == "temperature", "NVMe hotspot warning was missed") -publish(snapshot(drive(45))) - -local customThreshold = drive(55) -customThreshold.warning_temperature = 50 -customThreshold.critical_temperature = 70 -publish(snapshot(customThreshold)) -assert(state.snapshot.issues[1].kind == "temperature" and state.snapshot.issues[1].severity == "warning", - "per-drive temperature threshold was ignored") -publish(snapshot(drive(45))) - -local partial = drive(45) -partial.smart_completeness = "partial" -publish(snapshot(partial)) -assert(#state.snapshot.issues == 0, "healthy partial SMART data produced an alert") -publish(snapshot(drive(45))) - -local unavailable = drive(45) -unavailable.smart_available = false -publish(snapshot(unavailable)) -assert(#state.snapshot.issues == 0, - "Basic mode produced a false SMART-unavailable warning") -fullSmartEnabled = true -local notificationsBeforeUnavailable = #notifications -local writesBeforeUnavailable = #stateWrites -publish(snapshot(unavailable, "smart-unavailable-transient")) -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeUnavailable, - "a single transient SMART read failure produced an alert") -assert(#stateWrites == writesBeforeUnavailable + 1, - "the first unavailable SMART scan did not persist its pending state") -publish(snapshot(unavailable, "smart-unavailable-transient")) -onConfigChanged() -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeUnavailable, - "reprocessing one unavailable SMART snapshot advanced its grace period") -assert(#stateWrites == writesBeforeUnavailable + 1, - "reprocessing one unavailable SMART snapshot rewrote pending state") -publish(snapshot(drive(45), "smart-available-reset")) -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeUnavailable, - "transient SMART availability recovery produced a notification") - -publish(snapshot(unavailable, "smart-unavailable-1")) -publish(snapshot(unavailable, "smart-unavailable-2")) -assert(#state.snapshot.issues == 0 and #notifications == notificationsBeforeUnavailable, - "SMART unavailability alerted before three completed scans") -publish(snapshot(unavailable, "smart-unavailable-3")) -assert(#state.snapshot.issues == 1 and state.snapshot.issues[1].kind == "smart-unavailable", - "sustained SMART unavailability did not alert after three completed scans") -assert(#notifications == notificationsBeforeUnavailable + 1, - "sustained SMART unavailability did not produce exactly one notification") -local writesAfterConfirmedUnavailable = #stateWrites -publish(snapshot(unavailable, "smart-unavailable-4")) -assert(#notifications == notificationsBeforeUnavailable + 1, - "continued SMART unavailability duplicated its notification") -assert(#stateWrites == writesAfterConfirmedUnavailable, - "confirmed SMART unavailability rewrote stable alert state") -local sleeping = drive(45) -sleeping.smart_available = false -sleeping.smart_sleeping = true -publish(snapshot(sleeping, "smart-sleeping")) -assert(#state.snapshot.issues == 0, "sleeping drive produced a SMART-unavailable warning") -assert(#notifications == notificationsBeforeUnavailable + 2, - "confirmed SMART-unavailable recovery did not notify exactly once") -fullSmartEnabled = false -publish(snapshot(drive(45))) - -local selfTestFailure = drive(45) -selfTestFailure.self_test_state = "failed" -selfTestFailure.self_test_status = "Completed with read failure" -publish(snapshot(selfTestFailure)) -assert(state.snapshot.issues[1].kind == "self-test" and state.snapshot.issues[1].severity == "critical", - "self-test failure was missed") -publish(snapshot(drive(45))) - -local counterIncrease = drive(45) -counterIncrease.unsafe_shutdowns = 13 -local writesBeforeCounterIncrease = #stateWrites -local notificationsBeforeCounterIncrease = #notifications -publish(snapshot(counterIncrease)) -assert(#stateWrites == writesBeforeCounterIncrease + 1 - and #stateRenames == writesBeforeCounterIncrease + 1, - "counter increase was not persisted as exactly one atomic commit") -assert(#notifications == notificationsBeforeCounterIncrease + 1, - "counter increase notification behavior changed") -publish(snapshot(counterIncrease)) -assert(#stateWrites == writesBeforeCounterIncrease + 1, - "unchanged diagnostic counter rewrote alert state") -publish(snapshot(drive(45))) - -publish(snapshot(drive(45), "scan-100")) - -local firstMissingScan = snapshot(nil, "scan-101") -local writesBeforeMissingScan = #stateWrites -publish(firstMissingScan) -assert(findIssue("drive-missing") == nil, "missing drive alerted before the grace period") -assert(#stateWrites == writesBeforeMissingScan + 1 - and #stateRenames == writesBeforeMissingScan + 1, - "missing-drive inventory change was not persisted as exactly one atomic commit") -publish(firstMissingScan) -assert(findIssue("drive-missing") == nil, "reprocessing one snapshot advanced the grace period") -assert(#stateWrites == writesBeforeMissingScan + 1, - "reprocessing one collection rewrote unchanged inventory state") -publish(snapshot(nil, "scan-101")) -assert(findIssue("drive-missing") == nil, "a repeated collection ID advanced the grace period") -assert(#stateWrites == writesBeforeMissingScan + 1, - "a repeated collection ID rewrote unchanged inventory state") - -onConfigChanged() -assert(findIssue("drive-missing") == nil, "a config refresh advanced the grace period") -assert(#stateWrites == writesBeforeMissingScan + 1, - "config refresh rewrote unchanged missing-drive state") -local collectingSnapshot = snapshot(nil, "scan-collecting") -collectingSnapshot.collecting = true -publish(collectingSnapshot) -assert(findIssue("drive-missing") == nil, "an in-progress collection advanced the grace period") - -local failedMissingScan = snapshot(nil, "scan-failed") -failedMissingScan.collector_error = "fixture failure" -publish(failedMissingScan) -assert(findIssue("drive-missing") == nil, "a failed collection advanced the grace period") - -local blockedMissingScan = snapshot(nil, "scan-blocked") -blockedMissingScan.dependencies = { - ready = false, blocking = true, - missing = { "lsblk (lsblk)" }, missing_text = "lsblk (lsblk)", signature = "lsblk", -} -publish(blockedMissingScan) -assert(findIssue("drive-missing") == nil, "a blocked collection advanced the grace period") - -publish(snapshot(nil, "scan-102")) -assert(findIssue("drive-missing") == nil, "missing drive alerted after only two completed scans") -publish(snapshot(nil, "scan-103")) -assert(findIssue("drive-missing") ~= nil, "three unique completed scans did not trigger a missing-drive alert") -publish(snapshot(nil, "scan-103")) -assert(findIssue("drive-missing") ~= nil, "reprocessing a snapshot removed an active missing-drive alert") - -local writesBeforeReappearance = #stateWrites -publish(snapshot(drive(45), "scan-104")) -assert(findIssue("drive-missing") == nil, "drive reappearance did not clear its missing alert") -assert(#stateWrites == writesBeforeReappearance + 1 - and #stateRenames == writesBeforeReappearance + 1, - "drive reappearance was not persisted as exactly one atomic commit") -publish(snapshot(nil, "scan-105")) -publish(snapshot(nil, "scan-106")) -assert(findIssue("drive-missing") == nil, "reappearance did not reset the missing-drive grace period") -publish(snapshot(nil, "scan-107")) -assert(findIssue("drive-missing") ~= nil, "three new scans after reappearance did not trigger an alert") - -publish(snapshot(drive(45), "scan-108")) -local legacyMissingScan = snapshot(nil) -publish(legacyMissingScan) -publish(legacyMissingScan) -assert(findIssue("drive-missing") == nil, "a repeated legacy snapshot advanced the grace period") -publish(snapshot(nil)) -assert(findIssue("drive-missing") == nil, "two legacy snapshot objects triggered an early alert") -publish(snapshot(nil)) -assert(findIssue("drive-missing") ~= nil, "distinct legacy snapshot objects did not advance the grace period") - -local missing = snapshot(nil) -missing.dependencies = { - ready = false, blocking = true, - missing = { "lsblk (lsblk)" }, missing_text = "lsblk (lsblk)", signature = "lsblk", -} -local notificationCountBeforeDependency = #notifications -publish(missing) -assert(findIssue("missing-dependencies") ~= nil, "dependency issue was missed") -assert(findIssue("drive-missing") ~= nil, "a blocking dependency removed an active missing-drive alert") -local dependencyCritical = false -for index = notificationCountBeforeDependency + 1, #notifications do - if notifications[index].severity == "critical" then dependencyCritical = true end -end -assert(dependencyCritical, "blocking dependency was not critical") - -local failed = snapshot(nil) -failed.collector_error = "fixture failure" -local notificationCountBeforeFailure = #notifications -publish(failed) -assert(findIssue("collector-error") ~= nil, "collector issue was missed") -assert(findIssue("drive-missing") ~= nil, "a collector failure removed an active missing-drive alert") -local collectorCritical = false -for index = notificationCountBeforeFailure + 1, #notifications do - if notifications[index].severity == "critical" then - collectorCritical = true - end -end -assert(collectorCritical, "collector failure did not notify critically") - -local writesBeforeWriteFailure = #stateWrites -local renamesBeforeWriteFailure = #stateRenames -local commitsBeforeWriteFailure = successfulStateCommits -failNextStateWrite = true -dismiss({ id = "collector:error", nonce = 8 }) -assert(#stateWrites == writesBeforeWriteFailure + 1 - and #stateRenames == renamesBeforeWriteFailure - and successfulStateCommits == commitsBeforeWriteFailure, - "failed temporary write attempted a rename or lost the pending state") -publish(failed) -assert(#stateWrites == writesBeforeWriteFailure + 2 - and #stateRenames == renamesBeforeWriteFailure + 1 - and successfulStateCommits == commitsBeforeWriteFailure + 1, - "unchanged snapshot did not retry a failed alert-state write") -publish(failed) -assert(#stateWrites == writesBeforeWriteFailure + 2, - "successful write retry did not clear dirty alert state") - -local writesBeforeRenameFailure = #stateWrites -local renamesBeforeRenameFailure = #stateRenames -local commitsBeforeRenameFailure = successfulStateCommits -failNextStateRename = true -dismiss({ all = true, nonce = 9 }) -assert(#state.snapshot.issues == 0, "dismiss all did not hide every active issue") -assert(#stateWrites == writesBeforeRenameFailure + 1 - and #stateRenames == renamesBeforeRenameFailure + 1 - and successfulStateCommits == commitsBeforeRenameFailure, - "failed atomic rename was treated as a successful commit") -onConfigChanged() -assert(#stateWrites == writesBeforeRenameFailure + 2 - and #stateRenames == renamesBeforeRenameFailure + 2 - and successfulStateCommits == commitsBeforeRenameFailure + 1, - "unchanged processing did not retry a failed atomic rename") -onConfigChanged() -assert(#stateWrites == writesBeforeRenameFailure + 2, - "successful rename retry did not clear dirty alert state") - -publish(snapshot(drive(45), "scan-dismissal-baseline")) -publish(snapshot(drive(70), "scan-dismissal-warning")) -assert(findIssue("temperature") ~= nil, "permanent-dismissal fixture did not create an alert") -local notificationsBeforeDismissal = #notifications -local writesBeforeDismissal = #stateWrites -local renamesBeforeDismissal = #stateRenames -dismiss({ id = "SERIAL1:temperature", nonce = 10 }) -assert(findIssue("temperature") == nil, "individual dismissal did not hide the active issue") -assert(#notifications == notificationsBeforeDismissal, "dismissing an issue emitted a notification") -assert(#stateWrites == writesBeforeDismissal + 1 and #stateRenames == renamesBeforeDismissal + 1, - "dismissal was not persisted as exactly one atomic commit") -publish(snapshot(drive(85), "scan-dismissal-critical")) -assert(findIssue("temperature") == nil and #notifications == notificationsBeforeDismissal, - "a dismissed alert returned or notified after escalating") -publish(snapshot(drive(45), "scan-dismissal-recovery")) -publish(snapshot(drive(70), "scan-dismissal-recurrence")) -assert(findIssue("temperature") == nil and #notifications == notificationsBeforeDismissal, - "a dismissed alert returned or notified after recurring") - -for _, path in ipairs(stateWrites) do - assert(path:match("alert%-state%.json%.tmp$"), - "alert state bypassed its temporary file") -end -for _, rename in ipairs(stateRenames) do - assert(rename.from:match("alert%-state%.json%.tmp$") - and rename.to:match("alert%-state%.json$"), - "alert state was not committed with an atomic rename") -end - -print("alert behavior tests passed") diff --git a/drive-health/tests/collector_harness.lua b/drive-health/tests/collector_harness.lua deleted file mode 100644 index 8699e66..0000000 --- a/drive-health/tests/collector_harness.lua +++ /dev/null @@ -1,682 +0,0 @@ --- Unit and initialization tests for collector.luau using a minimal Noctalia --- host mock. This runs with stock Lua after lowering Luau compound assignment. - -local mode = arg[1] or "ready" -local state = {} -local launchedCommand = nil -local launchedCommands = {} -local logs = {} -local notifications = {} -local files = {} -local directories = {} -local watchers = {} -local pendingProbeCallback = nil -local probeCalls = 0 -local probeAction = nil -local failNextLaunch = false -local nextAsyncResult = nil -local collectorEnabled = mode == "raw-cache" or mode == "outdated-raw-cache" - -local available = { - lsblk = mode ~= "missing-lsblk", - smartctl = mode ~= "missing-smartctl", - pacman = true, - sudo = true, - pkexec = true, - systemctl = true, -} - -local rawFixture = { - schema = 2, - collector_version = mode == "outdated-raw-cache" and "0.6.0" or "2.0.1", - collection_id = "fixture-collection-id", - generated_at_epoch = 1700000000, - lsblk = { blockdevices = {} }, - smart = {}, -} - -if mode == "raw-cache" or mode == "outdated-raw-cache" then - files["/usr/local/libexec/noctalia-drive-health/manage-collector.sh"] = "installed" -end - -local function translate(key, substitutions) - local value = key - for name, replacement in pairs(substitutions or {}) do - value = value:gsub("{" .. name .. "}", tostring(replacement)) - end - return value -end - -noctalia = { - commandExists = function(command) return available[command] == true end, - getConfig = function(key) - if key == "system_collector_enabled" then - return collectorEnabled - end - if key == "full_smart_refresh_minutes" then return 15 end - return nil - end, - pluginDir = function() return "/mock/plugin" end, - pluginDataDir = function() return "/mock/plugin-data" end, - fileInfo = function(path) - if (mode == "raw-cache" or mode == "outdated-raw-cache" or mode == "collector-disabled") - and path:match("raw%.json$") then - return { isDir = false, mtime = os.time() } - end - return nil - end, - fileExists = function(path) return files[path] ~= nil end, - listDir = function(path) return directories[path] or {} end, - readFile = function(path) - if (mode == "raw-cache" or mode == "outdated-raw-cache" or mode == "collector-disabled") - and path:match("raw%.json$") then - return "raw-cache" - end - return files[path] - end, - writeFile = function(path, contents) files[path] = contents return true end, - log = function(message) table.insert(logs, message) end, - notify = function(title, body) table.insert(notifications, { title = title, body = body }) end, - notifyError = function(title, body) table.insert(notifications, { title = title, body = body, error = true }) end, - tr = translate, - formatTime = function(_pattern, _epoch) return "22:13:20" end, - setUpdateInterval = function(_milliseconds) end, - state = { - get = function(key) return state[key] end, - set = function(key, value) - state[key] = value - if watchers[key] ~= nil then watchers[key](value) end - end, - watch = function(key, callback) watchers[key] = callback end, - }, - json = { - decode = function(_raw) return rawFixture end, - encode = function(_value, _pretty) return "{}" end, - }, - string = { - trim = function(value) return tostring(value):match("^%s*(.-)%s*$") end, - }, - runAsync = function(command, callback, _timeout) - launchedCommand = command - table.insert(launchedCommands, command) - if failNextLaunch then - failNextLaunch = false - return false - end - if callback == nil then - return true - end - if nextAsyncResult ~= nil then - local result = nextAsyncResult - nextAsyncResult = nil - callback(result) - return true - end - if command:match("lsblk=ok") then - probeCalls = probeCalls + 1 - if probeAction == "pending" then - assert(pendingProbeCallback == nil, "dependency probes overlapped") - pendingProbeCallback = callback - return true - end - if probeAction == "launch-failure" then - probeAction = nil - return false - end - if type(probeAction) == "table" then - local response = probeAction - probeAction = nil - callback(response) - return true - end - if mode == "async-incompatible-lsblk" or mode == "probe-completes-during-collection" then - pendingProbeCallback = callback - return true - end - if mode == "probe-timeout" then - callback({ exitCode = 124, stdout = "", stderr = "", timedOut = true }) - return true - end - local lsblk = mode == "incompatible-lsblk" and "bad" or "ok" - local smartctl = mode == "incompatible-smartctl" and "bad" or "ok" - callback({ exitCode = 0, stdout = "lsblk=" .. lsblk .. "\nsmartctl=" .. smartctl .. "\n", - stderr = "", timedOut = false }) - else - if mode == "probe-completes-during-collection" and pendingProbeCallback ~= nil then - local probe = pendingProbeCallback - pendingProbeCallback = nil - probe({ exitCode = 0, stdout = "lsblk=bad\nsmartctl=ok\n", stderr = "", timedOut = false }) - end - callback({ exitCode = 0, stdout = "{}", stderr = "", timedOut = false }) - end - return true - end, -} - -local handle = assert(io.open("collector.luau", "rb")) -local source = handle:read("*a") -handle:close() -source = source:gsub("local function mountedUsage", "function mountedUsage") -source = source:gsub("local function normalizeSmart", "function normalizeSmart") -source = source:gsub("local function normalizeRaw", "function normalizeRaw") -source = source:gsub("local function publishError", "function publishError") -source = source:gsub("([%a_][%w_]*) %+%= ([^\n]+)", "%1 = %1 + %2") -assert(load(source, "@collector.luau"))() - -if mode == "lifecycle" then - collectorEnabled = true - files["/usr/local/libexec/noctalia-drive-health/collect_raw.sh"] = "installed" - files["/usr/local/libexec/noctalia-drive-health/manage-collector.sh"] = "installed" - files["/usr/local/libexec/noctalia-drive-health/uninstall-collector.sh"] = "installed" - launchedCommands = {} - - onEnable() - assert(launchedCommands[1] - == "pkexec '/usr/local/libexec/noctalia-drive-health/manage-collector.sh' start", - "plugin enable did not start the installed collector") - - onExit(0, "disable") - assert(launchedCommands[2] - == "pkexec '/usr/local/libexec/noctalia-drive-health/manage-collector.sh' pause", - "plugin disable did not pause the installed collector") - - onExit(0, "uninstall") - assert(launchedCommands[3] - == "pkexec '/usr/local/libexec/noctalia-drive-health/uninstall-collector.sh'", - "plugin uninstall did not remove the installed collector") - - files["/usr/local/libexec/noctalia-drive-health/uninstall-collector.sh"] = nil - onExit(0, "uninstall") - assert(launchedCommands[4]:match("^pkexec /bin/sh %-c ") - and launchedCommands[4]:match("/usr/local/libexec/noctalia%-drive%-health") - and not launchedCommands[4]:match("/mock/plugin"), - "legacy uninstall fallback depends on files removed with the plugin") - - local notificationCount = #notifications - failNextLaunch = true - onExit(0, "disable") - assert(#notifications == notificationCount + 1 and notifications[#notifications].error == true, - "detached lifecycle launch failure was not reported") - - nextAsyncResult = { exitCode = 126, stdout = "", stderr = "", timedOut = false } - onEnable() - assert(#notifications == notificationCount + 2 - and logs[#logs]:match("privileged_action%.cancelled"), - "onEnable authorization cancellation was not reported") - - onExit(0, "reload") - onExit(15, "shutdown") - assert(#launchedCommands == 6, "reload or shutdown changed the collector service") - - print("collector lifecycle test passed") - return -end - -local snapshot = assert(state.collector_snapshot, "collector did not publish an initialization snapshot") -local dependencies = assert(snapshot.dependencies, "snapshot has no dependency state") - -if mode == "probe-completes-during-collection" then - assert(dependencies.ready == false and dependencies.blocking == true, - "collector published stale dependency state when the probe completed during collection") - print("collector initialization test passed: " .. mode) - return -elseif mode == "async-incompatible-lsblk" then - assert(dependencies.ready == true and pendingProbeCallback ~= nil, - "asynchronous capability probe was not pending") - pendingProbeCallback({ exitCode = 0, stdout = "lsblk=bad\nsmartctl=ok\n", stderr = "", timedOut = false }) - dependencies = assert(state.collector_snapshot.dependencies) - assert(dependencies.ready == false and dependencies.blocking == true, - "completed capability probe did not immediately refresh dependency state") - print("collector initialization test passed: " .. mode) - return -elseif mode == "probe-timeout" then - assert(dependencies.ready == false and dependencies.blocking == true, - "failed capability probe incorrectly reported dependencies ready") - print("collector initialization test passed: " .. mode) - return -elseif mode == "missing-lsblk" then - assert(dependencies.ready == false and dependencies.blocking == true, "missing lsblk was not blocking") - assert(dependencies.install_command == "pkexec pacman -S --needed --noconfirm util-linux", "wrong lsblk install command") - assert(launchedCommand == nil, "collector launched without lsblk") - assert(snapshot.collector_error ~= nil, "blocking dependency did not publish an error") - print("collector initialization test passed: " .. mode) - return -elseif mode == "missing-smartctl" then - assert(dependencies.ready == false and dependencies.blocking == false, "missing smartctl blocked inventory") - assert(dependencies.install_command == "pkexec pacman -S --needed --noconfirm smartmontools", "wrong smartctl install command") - assert(launchedCommand and launchedCommand:match("collect_raw%.sh"), "fallback collector did not launch") - print("collector initialization test passed: " .. mode) - return -elseif mode == "raw-cache" then - assert(snapshot.source == "system-cache", "raw cache was not normalized") - assert(snapshot.collection_id == "fixture-collection-id", "raw cache lost its collection ID") - assert(snapshot.system_collector.status == "healthy" - and snapshot.system_collector.version == "2.0.1" - and snapshot.system_collector.expected_version == "2.0.1" - and snapshot.system_collector.smart_refresh_minutes == 15, - "current system collector was not reported healthy") - assert(not (launchedCommand or ""):match("collect_raw%.sh"), "collector launched despite a fresh raw cache") - print("collector initialization test passed: " .. mode) - return -elseif mode == "outdated-raw-cache" then - assert(snapshot.source == "system-cache", "outdated raw cache was not normalized") - assert(snapshot.system_collector.status == "upgrade-required" - and snapshot.system_collector.version == "0.6.0" - and snapshot.system_collector.expected_version == "2.0.1", - "older system collector did not request an upgrade") - assert(not (launchedCommand or ""):match("collect_raw%.sh"), "collector launched despite a fresh raw cache") - assert(#notifications == 1 and notifications[1].title == "collector.update_title" - and notifications[1].body == "collector.update_body", - "enabled outdated collector did not produce one coordinated update notice") - print("collector initialization test passed: " .. mode) - return -elseif mode == "collector-disabled" then - assert(snapshot.source == "direct", "disabled collector still consumed the privileged cache") - assert(snapshot.system_collector.enabled == false and snapshot.system_collector.status == "disabled", - "disabled collector did not publish Basic-mode state") - assert((launchedCommand or ""):match("collect_raw%.sh"), - "disabled collector did not fall back to direct Basic collection") - assert(#notifications == 0, "disabled collector produced an update or installation notification") - print("collector initialization test passed: " .. mode) - return -elseif mode == "incompatible-lsblk" then - assert(dependencies.ready == false and dependencies.blocking == true, "incompatible lsblk was not blocking") - assert(dependencies.missing_text:match("incompatible"), "incompatible lsblk was not explained") - assert(not (launchedCommand or ""):match("collect_raw%.sh"), "collector launched with incompatible lsblk") - print("collector initialization test passed: " .. mode) - return -elseif mode == "incompatible-smartctl" then - assert(dependencies.ready == false and dependencies.blocking == false, "incompatible smartctl blocked inventory") - assert(dependencies.missing_text:match("incompatible"), "incompatible smartctl was not explained") - assert((launchedCommand or ""):match("collect_raw%.sh"), "fallback inventory did not launch") - print("collector initialization test passed: " .. mode) - return -end - -assert(dependencies.ready == true, "available dependencies were reported missing") -assert(launchedCommand and launchedCommand:match("collect_raw%.sh"), "raw collector was not launched") -assert(snapshot.system_collector.authorization_available == true, - "available Polkit authorization was not exposed to the panel") - -local nvme = normalizeSmart({ - smart_status = { passed = true }, - temperature = { current = 55 }, - nvme_smart_health_information_log = { - available_spare = 100, available_spare_threshold = 25, percentage_used = 3, - temperature_sensors = { 74, 59, 55 }, - data_units_read = 10, data_units_written = 20, - power_cycles = 7, power_on_hours = 100, unsafe_shutdowns = 2, - media_errors = 0, num_err_log_entries = 0, critical_warning = 0, - warning_temp_time = 4, critical_comp_time = 1, - }, - nvme_self_test_log = { - current_self_test_operation = { value = 0, string = "No self-test in progress" }, - table = { { self_test_code = { value = 1, string = "Short" }, - self_test_result = { value = 0, string = "Completed without error" }, power_on_hours = 99 } }, - }, -}) -assert(nvme.health == "passed" and nvme.temperature_c == 55, "NVMe health normalization failed") -assert(nvme.hotspot_temperature_c == 74 and #nvme.temperature_sensors_c == 3, "NVMe hotspot normalization failed") -assert(nvme.remaining_life_percent == 97, "NVMe endurance normalization failed") -assert(nvme.data_written_bytes == 20 * 512000, "NVMe data-unit conversion failed") -assert(nvme.available_spare_threshold_percent == 25, "NVMe spare threshold normalization failed") -assert(nvme.self_test_state == "passed" and nvme.self_test_supported, "NVMe self-test normalization failed") - -local runningNvme = normalizeSmart({ - smart_status = { passed = true }, - nvme_smart_health_information_log = { percentage_used = 1 }, - nvme_self_test_log = { - current_self_test_operation = { value = 1, string = "Short self-test in progress" }, - current_self_test_completion_percent = 37, - }, -}) -assert(runningNvme.self_test_state == "running" and runningNvme.self_test_completion_percent == 37, - "NVMe self-test completion was not normalized") - -local runningAta = normalizeSmart({ - smart_status = { passed = true }, - ata_smart_self_test_log = { standard = { table = { { - status = { value = 249, string = "Self-test routine in progress", remaining_percent = 80 }, - } } } }, -}) -assert(runningAta.self_test_state == "running" and runningAta.self_test_completion_percent == 20, - "ATA remaining self-test percentage was not converted to completion") - -local samsung = normalizeSmart({ - smart_status = { passed = true }, - power_on_time = { hours = 83062 }, - ata_smart_error_log = { summary = { count = 5 } }, - ata_smart_attributes = { table = { - { name = "Wear_Leveling_Count", value = 90, raw = { value = 194 } }, - { name = "Total_LBAs_Written", value = 99, raw = { value = 210090409618 } }, - { name = "Airflow_Temperature_Cel", value = 61, raw = { value = 39 } }, - { name = "Reallocated_Sector_Ct", value = 100, raw = { value = 0 } }, - } }, -}) -assert(samsung.remaining_life_percent == 90, "Samsung wear normalization failed") -assert(samsung.remaining_life_estimated == true, "vendor ATA life was not marked estimated") -assert(samsung.temperature_c == 39, "Samsung temperature normalization failed") -assert(samsung.data_written_bytes == 210090409618 * 512, "Samsung LBA conversion failed") -assert(samsung.reallocated_sectors == 0, "Samsung integrity counter normalization failed") -assert(samsung.media_errors == nil and samsung.error_log_entries == 5, "ATA error log was misclassified as media errors") - -local hdd = normalizeSmart({ - smart_status = { passed = true }, - power_on_time = { hours = 113397 }, - ata_smart_attributes = { table = { - { name = "Start_Stop_Count", value = 98, raw = { value = 1423 } }, - { name = "Load_Cycle_Count", value = 92, raw = { value = 18421 } }, - { name = "Spin_Retry_Count", value = 100, raw = { value = 0 } }, - { name = "Command_Timeout", value = 100, raw = { value = 3 } }, - { name = "UDMA_CRC_Error_Count", value = 200, raw = { value = 2 } }, - { name = "Offline_Uncorrectable", value = 100, raw = { value = 0 } }, - { name = "Reported_Uncorrect", value = 100, raw = { value = 4 } }, - } }, -}) -assert(hdd.start_stop_count == 1423 and hdd.load_cycle_count == 18421, - "HDD mechanical cycle counters were not normalized") -assert(hdd.spin_retry_count == 0 and hdd.command_timeout_count == 3 and hdd.interface_crc_errors == 2, - "HDD transport and spindle counters were not normalized") -assert(hdd.uncorrectable_errors == 4, - "HDD uncorrectable normalization ignored a nonzero counter after a zero counter") - -local partial = normalizeSmart({ - smart_status = { passed = true }, - smartctl = { exit_status = 4, messages = { { severity = "error", string = "Optional log unavailable" } } }, - nvme_smart_health_information_log = { percentage_used = 1 }, -}) -assert(partial.health == "passed" and partial.smart_completeness == "partial", "partial SMART result was not preserved") -assert(partial.smart_messages[1].message == "Optional log unavailable", "SMART diagnostic message was lost") - -local currentPrefail = normalizeSmart({ - smart_status = { passed = true }, smartctl = { exit_status = 16 }, -}) -assert(currentPrefail.health == "failed" and currentPrefail.smart_prefail_attribute_now == true, - "current pre-failure threshold bit did not fail health") -local historicalThreshold = normalizeSmart({ - smart_status = { passed = true }, smartctl = { exit_status = 32 }, -}) -assert(historicalThreshold.health == "passed" and historicalThreshold.smart_past_threshold == true, - "historical threshold bit incorrectly failed current health") -local failedSelfTestLog = normalizeSmart({ - smart_status = { passed = true }, smartctl = { exit_status = 128 }, -}) -assert(failedSelfTestLog.self_test_state == "failed" and failedSelfTestLog.smart_self_test_log_error == true, - "failed self-test log bit was ignored") - -local sandisk = normalizeSmart({ - smart_status = { passed = true }, - ata_smart_attributes = { table = { - { name = "Lifetime_Remaining%", value = 99, raw = { value = 99 } }, - { name = "Total_Writes_GiB", value = 253, raw = { value = 43210 } }, - { name = "Total_Reads_GiB", value = 253, raw = { value = 8765 } }, - { name = "Unexpect_Power_Loss_Ct", value = 100, raw = { value = 12 } }, - } }, -}) -assert(sandisk.remaining_life_percent == 99, "SanDisk endurance normalization failed") -assert(sandisk.data_written_bytes == 43210 * 1024 ^ 3, "SanDisk write conversion failed") -assert(sandisk.data_read_bytes == 8765 * 1024 ^ 3, "SanDisk read conversion failed") -assert(sandisk.unsafe_shutdowns == 12, "SanDisk unsafe shutdown normalization failed") - -local ambiguousHostWrites = normalizeSmart({ - smart_status = { passed = true }, - ata_smart_attributes = { table = { - { name = "Host_Writes", value = 99, raw = { value = 123456 } }, - { name = "Host_Reads", value = 99, raw = { value = 654321 } }, - } }, -}) -assert(ambiguousHostWrites.data_written_bytes == nil and ambiguousHostWrites.data_read_bytes == nil, - "unitless ATA host counters were incorrectly treated as LBAs") - -local estimated = normalizeSmart({ - smart_status = { passed = true }, - ata_smart_attributes = { table = { - { name = "Perc_Write/Erase_Count", value = 83, raw = { value = 590 } }, - } }, -}) -assert(estimated.remaining_life_percent == 83 and estimated.remaining_life_estimated, "vendor life fallback failed") -assert(estimated.percentage_used == 17, "vendor life usage calculation failed") - -local reserveOnly = normalizeSmart({ - smart_status = { passed = true }, - ata_smart_attributes = { table = { - { name = "Perc_Avail_Resrvd_Space", value = 97, raw = { value = 97 } }, - } }, -}) -assert(reserveOnly.remaining_life_percent == nil, "reserve space must not be treated as remaining life") -assert(reserveOnly.percentage_used == nil, "reserve space must not produce a used-life percentage") -assert(not reserveOnly.remaining_life_estimated, "reserve space must not be marked as estimated life") -assert(reserveOnly.available_spare_percent == 97, "vendor spare normalization failed") - -local used, availableBytes, usage, mountPoints = mountedUsage({ children = { - { kname = "nvme0n1p1", mountpoints = { "/home", "/", "/home" }, fsused = 25, fsavail = 75 }, -} }) -assert(used == 25 and availableBytes == 75 and usage == 25, "mounted usage aggregation failed") -assert(#mountPoints == 2 and mountPoints[1] == "/" and mountPoints[2] == "/home", - "mount points were not deduplicated and normalized") - -files["/sys/class/nvme/nvme9/device/hwmon/hwmon9/temp1_input"] = "47000\n" -directories["/sys/class/nvme/nvme9/device/hwmon"] = { "hwmon9" } -local normalized, normalizeError = normalizeRaw({ - schema = 2, - collection_id = "fixture-normalized-id", - generated_at_epoch = 1700000000, - lsblk = { blockdevices = { - { - name = "/dev/nvme9n1", kname = "/dev/nvme9n1", path = "/dev/nvme9n1", type = "disk", - tran = "nvme", rota = false, size = 2000000000, model = "Fixture NVMe", serial = "FIXTURE1", - mountpoints = {}, children = { - { name = "/dev/nvme9n1p1", kname = "/dev/nvme9n1p1", path = "/dev/nvme9n1p1", type = "part", - mountpoints = { "/mnt/work" }, fsused = 250, fsavail = 750 }, - }, - }, - } }, - smart = { - { - requested_device = "/dev/nvme9", - payload = { smartctl = { messages = { { string = "Permission denied" } } } }, - }, - }, -}, "test") -assert(normalized ~= nil and normalizeError == nil, "raw normalization failed") -assert(normalized.collection_id == "fixture-normalized-id", "raw normalization lost its collection ID") -assert(normalized.summary.ssd_count == 1 and normalized.disks[1].id == "FIXTURE1:n1", "drive discovery failed") -assert(normalized.disks[1].temperature_c == 47, "sysfs temperature fallback failed") -assert(normalized.disks[1].mount_points[1] == "/mnt/work", - "normalized drive omitted its mounted folder") -assert(normalized.disks[1].smart_available == false, "permission failure incorrectly marked SMART available") -assert(normalized.disks[1].smart_error:match("Permission denied"), "permission error was not preserved") - -local mixed = assert(normalizeRaw({ - schema = 2, - generated_at_epoch = 1700000000, - lsblk = { blockdevices = { - { name = "sda", kname = "sda", path = "/dev/sda", type = "disk", tran = "sata", - rota = false, size = 1000000000, model = "Fixture SSD", serial = "SSD1", children = {} }, - { name = "sdb", kname = "sdb", path = "/dev/sdb", type = "disk", tran = "sata", - rota = true, size = 2000000000, model = "Fixture HDD", serial = "HDD1", children = {} }, - } }, - smart = { - { requested_device = "/dev/sda", payload = { - smart_status = { passed = true }, temperature = { current = 42 }, - nvme_smart_health_information_log = { percentage_used = 12 }, - ata_smart_attributes = { table = {} }, - } }, - { requested_device = "/dev/sdb", payload = { - smart_status = { passed = true }, temperature = { current = 36 }, - ata_smart_attributes = { table = {} }, - } }, - }, -}, "test")) -assert(mixed.summary.disk_count == 2 and mixed.summary.ssd_count == 1 and mixed.summary.hdd_count == 1, - "mixed SSD/HDD summary counts were incorrect") -assert(mixed.summary.smart_available_count == 2 and mixed.summary.hottest_drive_temperature_c == 42, - "mixed-drive SMART or temperature summary was incorrect") -assert(mixed.summary.hottest_drive_id == "SSD1" and mixed.summary.hottest_drive_name == "Fixture SSD" - and mixed.summary.hottest_ssd_drive_id == "SSD1", - "temperature summary omitted the responsible drive") -assert(mixed.summary.worst_ssd_remaining_life_percent == 88 - and mixed.summary.worst_ssd_life_drive_id == "SSD1" - and mixed.summary.worst_ssd_life_drive_name == "Fixture SSD", - "SSD-life summary omitted the responsible drive") - -local healthyRaw = assert(normalizeRaw({ - schema = 2, - generated_at_epoch = 1700000000, - lsblk = { blockdevices = { { - name = "sda", kname = "sda", path = "/dev/sda", type = "disk", tran = "sata", - rota = false, size = 1000000000, model = "Healthy SSD", serial = "HEALTHY1", - mountpoints = {}, children = {}, - } } }, - smart = { { - requested_device = "/dev/sda", - payload = { smart_status = { passed = true }, ata_smart_attributes = { table = {} } }, - } }, -}, "test")) -assert(healthyRaw.disks[1].smart_available == true and healthyRaw.disks[1].smart_error == nil, - "healthy SMART data retained a contradictory error message") - -directories["/sys/class/nvme/nvme0"] = { "hwmon0" } -files["/sys/class/nvme/nvme0/hwmon0/temp1_input"] = "51000\n" -local liveTemperatureRaw = assert(normalizeRaw({ - schema = 2, generated_at_epoch = 1700000000, - lsblk = { blockdevices = { { - name = "nvme0n1", kname = "nvme0n1", path = "/dev/nvme0n1", type = "disk", tran = "nvme", - rota = false, size = 1000000000, model = "Live Temperature NVMe", serial = "LIVE1", - mountpoints = {}, children = {}, - } } }, - smart = { { requested_device = "/dev/nvme0", payload = { - smart_status = { passed = true }, temperature = { current = 42 }, - } } }, -}, "test")) -assert(liveTemperatureRaw.disks[1].temperature_c == 51 - and liveTemperatureRaw.disks[1].hotspot_temperature_c == 51 - and liveTemperatureRaw.disks[1].temperature_source == "sysfs", - "fresh sysfs temperature did not override the stale SMART-cache value") - -local sleeping = assert(normalizeRaw({ - schema = 2, generated_at_epoch = 1700000000, - lsblk = { blockdevices = { { - name = "sdb", kname = "sdb", path = "/dev/sdb", type = "disk", tran = "sata", - rota = true, size = 1000000000, model = "Sleeping HDD", serial = "SLEEP1", - mountpoints = {}, children = {}, - } } }, - smart = { { requested_device = "/dev/sdb", payload = { - power_mode = { value = 128, string = "STANDBY" }, - smartctl = { exit_status = 2 }, - } } }, -}, "test")) -assert(sleeping.disks[1].smart_sleeping == true and sleeping.disks[1].smart_error == nil, - "sleeping HDD was reported as a SMART access failure") -assert(sleeping.summary.sleeping_count == 1 and sleeping.summary.smart_unavailable_count == 0, - "sleeping HDD was counted as unavailable") - -local namespaces = assert(normalizeRaw({ - schema = 2, generated_at_epoch = 1700000000, - lsblk = { blockdevices = { - { name = "/dev/nvme0n1", kname = "/dev/nvme0n1", path = "/dev/nvme0n1", type = "disk", - tran = "nvme", rota = false, serial = "SHARED", children = {} }, - { name = "/dev/nvme0n2", kname = "/dev/nvme0n2", path = "/dev/nvme0n2", type = "disk", - tran = "nvme", rota = false, serial = "SHARED", children = {} }, - { name = "/dev/zram0", kname = "/dev/zram0", path = "/dev/zram0", type = "disk", - rota = false, serial = "VIRTUAL", children = {} }, - } }, smart = {}, -}, "test")) -assert(#namespaces.disks == 2, "absolute zram name was not excluded from physical drive inventory") -assert(namespaces.disks[1].id == "SHARED:n1" and namespaces.disks[2].id == "SHARED:n2", - "absolute NVMe names did not receive stable namespace-qualified IDs") - -local empty = assert(normalizeRaw({ - schema = 2, collection_id = " ", generated_at_epoch = 1700000000, - lsblk = { blockdevices = {} }, smart = {}, -}, "test")) -assert(empty.access == "unavailable", "an empty drive inventory incorrectly reported full SMART access") -assert(empty.collection_id == nil, "invalid collection ID was preserved") - -local oversizedId = assert(normalizeRaw({ - schema = 2, collection_id = string.rep("x", 129), generated_at_epoch = 1700000000, - lsblk = { blockdevices = {} }, smart = {}, -}, "test")) -assert(oversizedId.collection_id == nil, "oversized collection ID was preserved") - -files["/usr/local/libexec/noctalia-drive-health/collect_raw.sh"] = "installed" -files["/usr/local/libexec/noctalia-drive-health/manage-collector.sh"] = "installed" -collectorEnabled = true -state.collector_snapshot = { summary = {}, system_collector = { status = "healthy" } } -publishError("fixture failure", { ready = true, blocking = false }) -assert(state.collector_snapshot.system_collector.status == "stale", - "collector failure retained a stale healthy lifecycle status") -collectorEnabled = false - -local compatibleProbe = { - exitCode = 0, stdout = "lsblk=ok\nsmartctl=ok\n", stderr = "", timedOut = false, -} -local incompatibleProbe = { - exitCode = 0, stdout = "lsblk=bad\nsmartctl=ok\n", stderr = "", timedOut = false, -} - -probeAction = incompatibleProbe -watchers.refresh_nonce(1) -assert(state.collector_snapshot.dependencies.ready == false, - "manual dependency probe did not cache an incompatible result") -probeAction = "pending" -watchers.refresh_nonce(2) -assert(pendingProbeCallback ~= nil, "manual recheck did not launch a fresh dependency probe") -local manualRecheck = pendingProbeCallback -pendingProbeCallback = nil -manualRecheck(compatibleProbe) -assert(state.collector_snapshot.dependencies.ready == true, - "manual recheck did not recover a cached incompatible dependency") -local completedProbeCalls = probeCalls -update() -onIpc("refresh") -assert(probeCalls == completedProbeCalls, - "routine collection reran a completed dependency probe") - -probeAction = incompatibleProbe -watchers.refresh_nonce(3) -assert(state.collector_snapshot.dependencies.ready == false, - "IPC recheck fixture did not cache an incompatible result") -probeAction = "pending" -onIpc("check-dependencies") -assert(pendingProbeCallback ~= nil, "dependency-check IPC did not launch a fresh probe") -local ipcRecheck = pendingProbeCallback -pendingProbeCallback = nil -ipcRecheck(compatibleProbe) -assert(state.collector_snapshot.dependencies.ready == true, - "dependency-check IPC did not recover a cached incompatible dependency") - -probeAction = "pending" -local callsBeforeQueuedRecheck = probeCalls -watchers.refresh_nonce(4) -onIpc("check-dependencies") -assert(probeCalls == callsBeforeQueuedRecheck + 1 and pendingProbeCallback ~= nil, - "recheck during a running probe launched an overlapping probe") -local runningRecheck = pendingProbeCallback -pendingProbeCallback = nil -runningRecheck(compatibleProbe) -assert(probeCalls == callsBeforeQueuedRecheck + 2 and pendingProbeCallback ~= nil, - "pending rechecks were not coalesced into one follow-up probe") -local queuedRecheck = pendingProbeCallback -pendingProbeCallback = nil -probeAction = nil -queuedRecheck(compatibleProbe) -assert(probeCalls == callsBeforeQueuedRecheck + 2, - "queued recheck launched more than one follow-up probe") - -probeAction = "launch-failure" -local callsBeforeLaunchFailure = probeCalls -watchers.refresh_nonce(5) -assert(probeCalls == callsBeforeLaunchFailure + 1 - and state.collector_snapshot.dependencies.ready == false, - "probe launch failure did not publish an incompatible state") -update() -assert(probeCalls == callsBeforeLaunchFailure + 1, - "routine collection retried a failed probe launch") -probeAction = compatibleProbe -watchers.refresh_nonce(6) -assert(probeCalls == callsBeforeLaunchFailure + 2 - and state.collector_snapshot.dependencies.ready == true, - "manual recheck did not recover after a probe launch failure") - -print("collector normalization tests passed") diff --git a/drive-health/tests/fixtures/bin/lsblk b/drive-health/tests/fixtures/bin/lsblk deleted file mode 100755 index 50a9396..0000000 --- a/drive-health/tests/fixtures/bin/lsblk +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -eu - -case " $* " in - *" --nodeps "*) - printf '%s\n' "/dev/sda disk 1" "/dev/nvme0n1 disk 0" "/dev/zram0 disk 0" - ;; - *" --json "*) - printf '%s\n' '{"blockdevices":[' \ - '{"name":"/dev/sda","kname":"/dev/sda","path":"/dev/sda","type":"disk","tran":"sata","rota":true,"size":1000000000,"model":"Fixture SATA","serial":"SATA1","mountpoints":[]},' \ - '{"name":"/dev/nvme0n1","kname":"/dev/nvme0n1","path":"/dev/nvme0n1","type":"disk","tran":"nvme","rota":false,"size":2000000000,"model":"Fixture NVMe","serial":"NVME1","mountpoints":[]},' \ - '{"name":"/dev/zram0","kname":"/dev/zram0","path":"/dev/zram0","type":"disk","rota":false,"size":4294967296,"mountpoints":[]}' \ - ']}' - ;; - *) - echo "unexpected lsblk arguments: $*" >&2 - exit 2 - ;; -esac diff --git a/drive-health/tests/fixtures/bin/smartctl b/drive-health/tests/fixtures/bin/smartctl deleted file mode 100755 index 7efb840..0000000 --- a/drive-health/tests/fixtures/bin/smartctl +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -set -eu - -device="" -standby=false -for argument in "$@"; do - device=$argument - if [ "$argument" = "--nocheck=standby,0" ]; then - standby=true - fi -done - -case "$device" in - /dev/sda) - if [ "${SMARTCTL_EMPTY:-0}" = "1" ]; then - exit 2 - fi - printf '%s\n' "{\"json_format_version\":[1,0],\"device\":{\"name\":\"/dev/sda\"},\"smart_status\":{\"passed\":true},\"temperature\":{\"current\":35},\"test_standby\":$standby}" - ;; - /dev/nvme0) - printf '%s\n' "{\"json_format_version\":[1,0],\"device\":{\"name\":\"/dev/nvme0\"},\"smart_status\":{\"passed\":true},\"temperature\":{\"current\":42},\"nvme_smart_health_information_log\":{\"percentage_used\":2,\"available_spare\":100,\"critical_warning\":0},\"test_standby\":$standby}" - ;; - *) - echo "unexpected smartctl device: $device" >&2 - exit 2 - ;; -esac diff --git a/drive-health/tests/history_harness.lua b/drive-health/tests/history_harness.lua deleted file mode 100644 index 1674ee6..0000000 --- a/drive-health/tests/history_harness.lua +++ /dev/null @@ -1,69 +0,0 @@ --- Behavioral tests for bounded trend persistence. - -local state = {} -local watchers = {} -local writes = 0 -local renames = 0 -local writesSucceed = true - -noctalia = { - getConfig = function(key) - if key == "history_interval_minutes" then return 15 end - if key == "history_retention_days" then return 1 end - return nil - end, - pluginDataDir = function() return "/mock/plugin-data" end, - readFile = function(_path) return nil end, - writeFile = function(_path, _contents) writes = writes + 1 return writesSucceed end, - renameFile = function(_from, _to) renames = renames + 1 return true end, - log = function(_message) end, - state = { - get = function(key) return state[key] end, - set = function(key, value) state[key] = value end, - watch = function(key, callback) watchers[key] = callback end, - }, - json = { - decode = function(_raw) return nil end, - encode = function(_value, _pretty) return "{}" end, - }, -} - -local handle = assert(io.open("history.luau", "rb")) -local source = handle:read("*a") -handle:close() -assert(load(source, "@history.luau"))() - -local publish = assert(watchers.snapshot, "history service did not watch snapshots") -local function snapshot(epoch, hotspot, life) - return { - generated_at_epoch = epoch, - disks = { { - id = "SERIAL1", model = "Fixture SSD", display_name = "Fixture SSD", kind = "ssd", - temperature_c = hotspot - 5, hotspot_temperature_c = hotspot, - remaining_life_percent = life, storage_usage_percent = 25, data_written_bytes = 1000, - } }, - } -end - -publish(snapshot(100000, 60, 99)) -local samples = state.drive_history.drives.SERIAL1.samples -assert(#samples == 1 and samples[1].hotspot_temperature_c == 60, "first history sample was not recorded") -assert(writes == 1 and renames == 1, "history was not committed atomically") - -publish(snapshot(100100, 61, 99)) -assert(#state.drive_history.drives.SERIAL1.samples == 1, "history ignored its sample interval") -assert(writes == 1, "history rewrote the file without a new sample") - -publish(snapshot(100901, 62, 98)) -samples = state.drive_history.drives.SERIAL1.samples -assert(#samples == 2 and samples[2].remaining_life_percent == 98, "scheduled history sample was missed") -assert(writes == 2 and renames == 2, "second history sample was not committed") - -writesSucceed = false -publish(snapshot(101802, 63, 97)) -assert(writes == 3 and renames == 2, "failed history write was not exercised") -writesSucceed = true -publish(snapshot(101900, 63, 97)) -assert(writes == 4 and renames == 3, "dirty history was not retried after a transient write failure") - -print("history behavior tests passed") diff --git a/drive-health/tests/panel_harness.lua b/drive-health/tests/panel_harness.lua deleted file mode 100644 index 65445cb..0000000 --- a/drive-health/tests/panel_harness.lua +++ /dev/null @@ -1,464 +0,0 @@ --- Declarative panel smoke tests with a minimal Noctalia/UI host. - -local state = {} -local rendered = nil -local terminalCommand = nil -local asyncCommand = nil -local asyncCallback = nil -local notifications = {} -local errors = {} -local writesSucceed = true -local configValues = { - warning_temperature = 65, - critical_temperature = 80, - show_hdd = true, - use_hotspot_temperature = true, - system_collector_enabled = true, -} - -local function translate(key, substitutions) - if key == "metrics.mounted_at" then - return key .. " " .. tostring(substitutions and substitutions.paths or "") - elseif key == "metrics.serial" then - return key .. " " .. tostring(substitutions and substitutions.value or "") - end - local value = key - for name, replacement in pairs(substitutions or {}) do - value = value:gsub("{" .. name .. "}", tostring(replacement)) - end - return value -end - -local function node(kind, props, children) - return { kind = kind, props = props or {}, children = children or {} } -end - -ui = setmetatable({}, { - __index = function(_table, kind) - return function(props, children) return node(kind, props, children) end - end, -}) - -panel = { - render = function(tree) rendered = tree end, - close = function() end, -} - -local watchers = {} -noctalia = { - getConfig = function(key) - return configValues[key] - end, - tr = translate, - pluginDataDir = function() return "/mock/plugin-data" end, - writeFile = function(_path, _contents) return writesSucceed end, - renameFile = function(_from, _to) return true end, - notify = function(title, body) table.insert(notifications, { title = title, body = body }) end, - notifyError = function(title, body) table.insert(errors, { title = title, body = body }) end, - runInTerminal = function(command) terminalCommand = command return true end, - runAsync = function(command, callback, _timeout) - asyncCommand = command - asyncCallback = callback - return true - end, - copyToClipboard = function(_text, _mime) return true end, - string = { trim = function(value) return tostring(value):match("^%s*(.-)%s*$") end }, - json = { encode = function(_value, _pretty) return "{}" end }, - state = { - get = function(key) return state[key] end, - set = function(key, value) state[key] = value end, - watch = function(key, callback) watchers[key] = callback end, - }, -} - -state.snapshot = { - generated_at_local = "12:00:00", - collector_error = nil, - dependencies = { ready = true }, - system_collector = { enabled = true, installed = true, status = "healthy", version = "1.0.0", - expected_version = "1.0.0", helper_available = true, authorization_available = true, - enable_command = "pkexec '/usr/local/libexec/noctalia-drive-health/manage-collector.sh' start", - disable_command = "pkexec '/usr/local/libexec/noctalia-drive-health/manage-collector.sh' pause", - install_command = "pkexec '/mock/plugin/packaging/install-system-collector.sh' --interval-minutes 15", - uninstall_command = "pkexec '/usr/local/libexec/noctalia-drive-health/uninstall-collector.sh'", - interval_command = "pkexec '/usr/local/libexec/noctalia-drive-health/set-collector-interval.sh' 15", - smart_refresh_minutes = 15 }, - summary = { disk_count = 2, ssd_count = 1, hdd_count = 1, smart_available_count = 2, - ssd_smart_available_count = 1, hottest_drive_temperature_c = 70, - hottest_drive_name = "Fixture SSD", hottest_ssd_temperature_c = 70, - hottest_ssd_drive_name = "Fixture SSD", worst_ssd_remaining_life_percent = 95, - worst_ssd_life_drive_name = "Fixture SSD" }, - issues = {}, - disks = { { - id = "SERIAL1", serial = "SERIAL1", model = "Fixture SSD", display_name = "Fixture SSD", device = "/dev/nvme0n1", - smart_device = "/dev/nvme0", kind = "ssd", transport = "nvme", capacity_bytes = 2000000000, - health = "passed", smart_available = true, smart_completeness = "full", - temperature_c = 45, hotspot_temperature_c = 70, temperature_sensors_c = { 70, 45 }, - remaining_life_percent = 95, percentage_used = 5, available_spare_percent = 100, - power_on_hours = 100, data_written_bytes = 1000, self_test_supported = true, - self_test_state = "running", self_test_status = "Short self-test in progress", - self_test_completion_percent = 37, - mount_points = { "/", "/home/example" }, - alerts_enabled = true, presence_alert_enabled = true, - }, { - id = "HDD1", model = "Fixture HDD", display_name = "Fixture HDD", device = "/dev/sdb", - smart_device = "/dev/sdb", kind = "hdd", transport = "sata", capacity_bytes = 2000000000000, - health = "passed", smart_available = true, smart_completeness = "full", - temperature_c = 36, hotspot_temperature_c = 36, power_on_hours = 113397, power_cycles = 2200, - start_stop_count = 1423, load_cycle_count = 18421, reallocated_sectors = 0, - pending_sectors = 0, uncorrectable_errors = 0, spin_retry_count = 0, - command_timeout_count = 0, interface_crc_errors = 0, self_test_supported = true, - self_test_state = "passed", self_test_status = "Completed without error", - alerts_enabled = true, presence_alert_enabled = true, - } }, -} -state.drive_history = { schema = 1, drives = { SERIAL1 = { samples = { - { epoch = 1, hotspot_temperature_c = 65, remaining_life_percent = 96 }, - { epoch = 2, hotspot_temperature_c = 67, remaining_life_percent = 96 }, - { epoch = 3, hotspot_temperature_c = 69, remaining_life_percent = 95 }, - { epoch = 4, hotspot_temperature_c = 70, remaining_life_percent = 95 }, -} } } } -state.drive_preferences = { schema = 1, order = {}, drives = {} } - -local handle = assert(io.open("panel.luau", "rb")) -local source = handle:read("*a") -handle:close() -source = source:gsub("([%a_][%w_]*) %+%= ([^\n]+)", "%1 = %1 + %2") -source = source:gsub("([%a_][%w_]*) /%= ([^\n]+)", "%1 = %1 / %2") -assert(load(source, "@panel.luau"))() - -local function containsText(value, target) - if type(value) ~= "table" then return false end - if type(value.props) == "table" and value.props.text == target then return true end - for _, child in pairs(value.children or {}) do - if containsText(child, target) then return true end - end - return false -end - -local function countText(value, target) - if type(value) ~= "table" then return 0 end - local count = type(value.props) == "table" and value.props.text == target and 1 or 0 - for _, child in pairs(value.children or {}) do - count = count + countText(child, target) - end - return count -end - -local function findNode(value, kind) - if type(value) ~= "table" then return nil end - if value.kind == kind then return value end - for _, child in pairs(value.children or {}) do - local found = findNode(child, kind) - if found ~= nil then return found end - end - return nil -end - -local function findNodeWithProp(value, kind, property, expected) - if type(value) ~= "table" then return nil end - if value.kind == kind and type(value.props) == "table" and value.props[property] == expected then - return value - end - for _, child in pairs(value.children or {}) do - local found = findNodeWithProp(child, kind, property, expected) - if found ~= nil then return found end - end - return nil -end - -local function clickNodeWithProp(value, kind, property, expected) - local target = assert(findNodeWithProp(value, kind, property, expected), - "could not find " .. kind .. " with " .. property .. "=" .. tostring(expected)) - assert(type(target.props.onClick) == "function", "matching node has no closure callback") - target.props.onClick() -end - -onOpen({}) -assert(rendered ~= nil and not containsText(rendered, "collector.title"), - "healthy collector consumed panel space") -assert(findNodeWithProp(rendered, "glyph", "name", "server-2") ~= nil, - "panel header did not use the physical-storage icon") -assert(countText(rendered, "Fixture SSD") >= 3, - "summary cards did not identify the hottest and lowest-life drives") -assert(not containsText(rendered, "metrics.mounted_at / · /home/example"), - "collapsed drive card exposed mount paths") -onToggleCollectorSettingsClicked() -assert(containsText(rendered, "collector.settings_title") - and containsText(rendered, "collector.basic_features") - and containsText(rendered, "collector.full_features"), - "collector settings did not explain Basic and Full SMART capabilities") -onPauseCollectorClicked() -assert(asyncCommand == "pkexec '/usr/local/libexec/noctalia-drive-health/manage-collector.sh' pause", - "collector settings did not use the fixed Polkit pause helper") -assert(terminalCommand == nil, "collector pause opened a terminal") -assert(containsText(rendered, "privileged_action.authorizing"), - "collector pause did not show authorization progress") -asyncCallback({ exitCode = 126, stdout = "", stderr = "", timedOut = false }) -assert(errors[#errors].body:match("privileged_action.failed"), - "cancelled collector pause did not report a useful error") -terminalCommand = nil -onOpenPluginSettingsClicked() -assert(asyncCommand == "noctalia msg settings-open plugins", - "collector settings did not open Noctalia's Plugins section") -onToggleCollectorSettingsClicked() -state.snapshot.system_collector.status = "upgrade-required" -state.snapshot.system_collector.version = "0.6.0" -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "collector.title"), "actionable collector state did not render") -onToggleCollectorSettingsClicked() -assert(not containsText(rendered, "collector.title") and containsText(rendered, "collector.settings_title"), - "collector settings duplicated the actionable lifecycle card") -onToggleCollectorSettingsClicked() -state.snapshot.system_collector.status = "healthy" -state.snapshot.system_collector.version = "1.0.0" -watchers.snapshot(state.snapshot) -configValues.system_collector_enabled = false -state.snapshot.system_collector.enabled = false -state.snapshot.system_collector.status = "disabled" -state.snapshot.system_collector.helper_available = false -watchers.snapshot(state.snapshot) -assert(not containsText(rendered, "collector.title"), - "disabled optional collector created a persistent main-panel warning") -onToggleCollectorSettingsClicked() -assert(containsText(rendered, "collector.status_disabled") - and containsText(rendered, "collector.open_settings"), - "disabled collector status or re-enable route was missing from collector settings") -onToggleCollectorSettingsClicked() -configValues.system_collector_enabled = true -state.snapshot.system_collector.enabled = true -state.snapshot.system_collector.status = "healthy" -state.snapshot.system_collector.helper_available = true -watchers.snapshot(state.snapshot) -clickNodeWithProp(rendered, "button", "tooltip", "panel.expand") -assert(containsText(rendered, "self_test.title"), "expanded self-test card did not render") -assert(containsText(rendered, "metrics.mounted_at / · /home/example"), - "expanded drive card omitted its mounted folders") -assert(containsText(rendered, "metrics.serial SERIAL1"), - "expanded drive card omitted its serial") -assert(containsText(rendered, "self_test.progress"), "running self-test progress did not render") -state.snapshot.disks[1].smart_completeness = "partial" -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "smart.partial_details"), "partial SMART status lost its inline explanation") -state.snapshot.disks[1].smart_completeness = "full" -watchers.snapshot(state.snapshot) -local testProgress = assert(findNodeWithProp(rendered, "progress", "progress", 0.37), - "running self-test progress bar did not render") -assert(testProgress.props.progress == 0.37 and testProgress.props.value == nil, - "running self-test used an invalid progress property") -assert(containsText(rendered, "history.title"), "expanded history graph did not render") -assert(containsText(rendered, "preferences.edit"), "drive preference action did not render") -clickNodeWithProp(rendered, "button", "tooltip", "panel.collapse") -assert(not containsText(rendered, "self_test.title"), "drive details did not collapse") -assert(not containsText(rendered, "history.title"), "drive history remained visible after collapse") -clickNodeWithProp(rendered, "button", "tooltip", "panel.expand") -state.snapshot.disks[1].self_test_state = "passed" -state.snapshot.disks[1].self_test_status = "Previous test passed" -state.snapshot.disks[1].self_test_completion_percent = nil -state.snapshot.generated_at_epoch = 100 -watchers.snapshot(state.snapshot) -onStartShortSelfTestClicked() -assert(containsText(rendered, "self_test.confirm_action"), "self-test confirmation did not render") -assert(terminalCommand == nil, "self-test started before confirmation") -onConfirmSelfTestClicked() -assert(asyncCommand:match("^pkexec /usr/local/libexec/noctalia%-drive%-health/smart%-action%.sh 'short' '/dev/nvme0'$"), - "self-test did not use Polkit, the fixed helper, and normalized controller") -assert(terminalCommand == nil, "background self-test opened a terminal") -assert(containsText(rendered, "self_test.authorizing"), "authorization state did not render") -assert(asyncCallback ~= nil, "background self-test callback was not registered") --- Bit 3 is an existing SMART health finding; it must not hide an accepted test request. -asyncCallback({ exitCode = 8, stdout = "accepted", stderr = "", timedOut = false }) -assert(containsText(rendered, "self_test.starting"), "accepted self-test did not render startup state") -assert(state.refresh_nonce == 1, "accepted self-test did not request an immediate SMART refresh") -assert(notifications[#notifications].body == "self_test.started_background", - "accepted self-test did not notify that it is running in the background") - -state.snapshot.generated_at_epoch = 101 -state.snapshot.disks[1].self_test_state = "running" -state.snapshot.disks[1].self_test_status = "Short self-test in progress" -state.snapshot.disks[1].self_test_completion_percent = 52 -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "Short self-test in progress"), "firmware self-test state did not replace startup state") -assert(findNodeWithProp(rendered, "progress", "progress", 0.52) ~= nil, - "background self-test progress did not update") - -state.snapshot.generated_at_epoch = 102 -state.snapshot.disks[1].self_test_state = "passed" -state.snapshot.disks[1].self_test_status = "Completed without error" -state.snapshot.disks[1].self_test_completion_percent = nil -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "Completed without error"), "completed background self-test result did not render") - -asyncCommand = nil -asyncCallback = nil -onStartLongSelfTestClicked() -onConfirmSelfTestClicked() -assert(asyncCommand:match("smart%-action%.sh 'long' '/dev/nvme0'"), - "extended self-test did not use the long action") -asyncCallback({ exitCode = 126, stdout = "", stderr = "", timedOut = false }) -assert(containsText(rendered, "self_test.authorization_cancelled"), - "cancelled authorization did not render a useful inline result") -assert(errors[#errors].body == "self_test.authorization_cancelled", - "cancelled authorization did not produce an error notification") - -state.snapshot.system_collector.authorization_available = false -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "self_test.authorization_required"), - "missing Polkit dependency was not explained") -state.snapshot.system_collector.authorization_available = true -watchers.snapshot(state.snapshot) -onEditExpandedDriveClicked() -assert(containsText(rendered, "preferences.title"), "drive preference editor did not render") -onDriveAlertsChanged(false) -onPresenceAlertsChanged(false) -onCancelDrivePreferencesClicked() -local cancelled = state.drive_preferences.drives.SERIAL1 -assert(cancelled.alerts_enabled == nil and cancelled.presence_alert_enabled == nil, - "cancelled alert preference changes leaked into shared state") -onEditExpandedDriveClicked() -onAliasChanged("Workspace") -onWarningThresholdChanged("68") -onCriticalThresholdChanged("82") -onLifeThresholdChanged("15") -onSaveDrivePreferencesClicked() -local saved = state.drive_preferences.drives.SERIAL1 -assert(saved.alias == "Workspace" and saved.warning_temperature == 68 - and saved.critical_temperature == 82 and saved.life_warning_percent == 15, - "drive preferences were not persisted to shared state") - -onEditExpandedDriveClicked() -onAliasChanged("Should not persist") -writesSucceed = false -onSaveDrivePreferencesClicked() -writesSucceed = true -assert(saved.alias == "Workspace", "failed preference write leaked changes into shared state") -onCancelDrivePreferencesClicked() - -onEditExpandedDriveClicked() -writesSucceed = false -onHideDriveClicked() -writesSucceed = true -assert(saved.hidden == nil and containsText(rendered, "preferences.title"), - "failed hide write changed visibility or closed the editor") -onCancelDrivePreferencesClicked() - -state.drive_history.drives.SERIAL1.samples = { - { epoch = 1, hotspot_temperature_c = 65 }, - { epoch = 2, hotspot_temperature_c = 67 }, - { epoch = 3, hotspot_temperature_c = 69 }, -} -watchers.drive_history(state.drive_history) -assert(findNode(rendered, "graph") == nil and not containsText(rendered, "history.title"), - "trend section rendered before a graph-compatible series had four samples") -state.drive_history.drives.SERIAL1.samples = { - { epoch = 1, hotspot_temperature_c = 65 }, - { epoch = 2, hotspot_temperature_c = 67 }, - { epoch = 3, hotspot_temperature_c = 69 }, - { epoch = 4, hotspot_temperature_c = 70 }, -} -watchers.drive_history(state.drive_history) -local graph = assert(findNode(rendered, "graph"), "temperature-only history graph did not render") -assert(graph.props.values2 == nil, "missing endurance history was rendered as a zero-percent series") -assert(graph.props.height == 44, "rendered trend graph did not use the compact height") -assert(not containsText(rendered, "● history.life"), "missing endurance history kept a misleading legend") - -state.snapshot.issues = { - { id = "SERIAL1:temperature", severity = "warning", message = "Fixture temperature warning" }, - { id = "SERIAL1:interface-crc", severity = "warning", message = "Fixture interface CRC warning" }, -} -state.snapshot.summary.active_alert_count = 2 -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "alerts.dismiss_all"), "dismiss-all alert action did not render") -assert(findNodeWithProp(rendered, "button", "tooltip", "alerts.dismiss") ~= nil, - "per-alert dismiss action did not render") -clickNodeWithProp(rendered, "button", "tooltip", "alerts.dismiss") -assert(state.dismiss_alert_request.id == "SERIAL1:temperature", - "per-alert dismiss action targeted the wrong issue") -onDismissAllAlertsClicked() -assert(state.dismiss_alert_request.all == true, "dismiss-all action did not request all active issues") - -state.snapshot.issues = {} -state.snapshot.summary.active_alert_count = 0 -watchers.snapshot(state.snapshot) -assert(not containsText(rendered, "alerts.active_title") - and findNodeWithProp(rendered, "button", "tooltip", "alerts.dismiss") == nil, - "empty alert state kept an alert card or dismiss controls") - -clickNodeWithProp(rendered, "button", "tooltip", "panel.expand") -assert(containsText(rendered, "metrics.start_stop_count") - and containsText(rendered, "metrics.load_cycle_count") - and containsText(rendered, "metrics.interface_crc_errors"), - "expanded HDD card omitted mechanical or interface health details") -assert(countText(rendered, "metrics.life_remaining") == 1, - "HDD card rendered a meaningless SSD endurance metric") -onEditExpandedDriveClicked() -assert(not containsText(rendered, "preferences.life_warning"), - "HDD preference editor exposed an SSD-only endurance threshold") -onCancelDrivePreferencesClicked() - -state.snapshot.dependencies = { - ready = false, blocking = true, missing_text = "lsblk (util-linux)", - install_command = "pkexec pacman -S --needed --noconfirm util-linux", package_manager = "pacman", can_install = true, -} -watchers.snapshot(state.snapshot) -assert(containsText(rendered, "dependencies.title"), "missing dependency card did not render") -asyncCommand = nil -asyncCallback = nil -terminalCommand = nil -onInstallDependenciesClicked() -assert(asyncCommand == "pkexec pacman -S --needed --noconfirm util-linux", - "dependency installation did not use Polkit") -assert(terminalCommand == nil, "dependency installation opened a terminal") -asyncCallback({ exitCode = 126, stdout = "", stderr = "", timedOut = false }) -assert(errors[#errors].body:match("privileged_action.failed"), - "cancelled dependency installation did not report an error") - -state.snapshot.dependencies = { ready = true } -state.snapshot.disks = { state.snapshot.disks[2] } -state.snapshot.summary = { - disk_count = 1, ssd_count = 0, hdd_count = 1, smart_available_count = 1, - hdd_smart_available_count = 1, hottest_drive_temperature_c = 36, - hottest_drive_name = "Fixture HDD", -} -watchers.snapshot(state.snapshot) -assert(not containsText(rendered, "summary.lowest_ssd_life"), - "HDD-only system rendered the SSD-life summary card") -assert(countText(rendered, "Fixture HDD") >= 2, - "HDD-only temperature summary did not identify its drive") - --- Changing the full-SMART schedule uses Polkit in the background, rather than --- placing a password-bearing command in a terminal. Keep the panel open so --- the in-progress and error states are visible to the user. -onToggleCollectorSettingsClicked() -asyncCommand = nil -asyncCallback = nil -terminalCommand = nil -local refreshNonceBeforeInterval = state.refresh_nonce or 0 -onApplyCollectorIntervalClicked() -assert(asyncCommand == "pkexec '/usr/local/libexec/noctalia-drive-health/set-collector-interval.sh' 15", - "collector interval update did not use the Polkit helper") -assert(terminalCommand == nil, "collector interval update opened a terminal") -assert(containsText(rendered, "collector.interval_authorizing"), - "collector interval authorization progress was not shown") -local intervalSuccess = assert(asyncCallback, "collector interval callback was not registered") -intervalSuccess({ exitCode = 0, stdout = "", stderr = "", timedOut = false }) -assert((state.refresh_nonce or 0) == refreshNonceBeforeInterval + 1, - "successful collector interval update did not refresh the panel") -assert(notifications[#notifications].body == "collector.interval_applied", - "successful collector interval update did not notify the user") - -onApplyCollectorIntervalClicked() -local intervalCancelled = assert(asyncCallback, "second collector interval callback was not registered") -intervalCancelled({ exitCode = 126, stdout = "", stderr = "", timedOut = false }) -assert(containsText(rendered, "collector.interval_failed"), - "cancelled collector interval authorization did not render an inline result") -assert(errors[#errors].body == "collector.interval_cancelled", - "cancelled collector interval authorization did not notify the user") - -onApplyCollectorIntervalClicked() -local intervalRejected = assert(asyncCallback, "failed collector interval callback was not registered") -intervalRejected({ exitCode = 1, stdout = "", stderr = "Authentication failed", timedOut = false }) -assert(errors[#errors].body == "Authentication failed", - "collector interval authentication failure did not show the returned error") - -print("panel rendering tests passed") diff --git a/drive-health/tests/test_collect_raw.sh b/drive-health/tests/test_collect_raw.sh deleted file mode 100755 index 0d5d42a..0000000 --- a/drive-health/tests/test_collect_raw.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -set -eu - -project_dir=$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd) -fixture_bin="$project_dir/tests/fixtures/bin" - -payload=$(PATH="$fixture_bin:$PATH" sh "$project_dir/scripts/collect_raw.sh") -printf '%s\n' "$payload" | jq -e ' - .schema == 2 - and .collector_version == "2.0.1" - and (.collection_id | type == "string" and length > 0) - and ([.lsblk.blockdevices[].name] | sort) == ["/dev/nvme0n1", "/dev/sda", "/dev/zram0"] - and (.smart | length) == 2 - and ([.smart[].requested_device] | sort) == ["/dev/nvme0", "/dev/sda"] - and (.smart[] | select(.requested_device == "/dev/sda") | .payload.test_standby) == true - and (.smart[] | select(.requested_device == "/dev/nvme0") | .payload.test_standby) == false - and ([.smart[].exit_code] | all(. == 0)) -' >/dev/null - -first_collection_id=$(printf '%s\n' "$payload" | jq -er '.collection_id') -second_payload=$(PATH="$fixture_bin:$PATH" sh "$project_dir/scripts/collect_raw.sh") -second_collection_id=$(printf '%s\n' "$second_payload" | jq -er '.collection_id') -if [ "$first_collection_id" = "$second_collection_id" ]; then - echo "raw collector reused a collection ID" >&2 - exit 1 -fi - -empty_payload=$(SMARTCTL_EMPTY=1 PATH="$fixture_bin:$PATH" sh "$project_dir/scripts/collect_raw.sh") -printf '%s\n' "$empty_payload" | jq -e ' - (.smart | length) == 2 - and (.smart[] | select(.requested_device == "/dev/sda") | .exit_code) == 2 - and (.smart[] | select(.requested_device == "/dev/sda") - | .payload.smartctl.messages[0].string) == "smartctl produced no JSON output" -' >/dev/null - -output=$(mktemp "${TMPDIR:-/tmp}/noctalia-smart-raw-test.XXXXXX") -PATH="$fixture_bin:$PATH" sh "$project_dir/scripts/collect_raw.sh" --output "$output" -jq -e '.schema == 2 and (.collection_id | type == "string" and length > 0) - and (.smart | length) == 2' "$output" >/dev/null -mode=$(stat -c '%a' "$output") -if [ "$mode" != "640" ]; then - echo "raw collector output mode is $mode, expected 640" >&2 - exit 1 -fi -rm -f -- "$output" - -echo "raw collector tests passed" diff --git a/drive-health/tests/test_packaging.sh b/drive-health/tests/test_packaging.sh deleted file mode 100644 index 5a14d44..0000000 --- a/drive-health/tests/test_packaging.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -set -eu - -project_dir=$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd) -service_template="$project_dir/packaging/noctalia-drive-health.service.in" -timer="$project_dir/packaging/noctalia-drive-health.timer" -interval_script="$project_dir/packaging/set-collector-interval.sh" -manage_script="$project_dir/packaging/manage-collector.sh" -fixture=$(mktemp -d "${TMPDIR:-/tmp}/drive-health-packaging.XXXXXX") -trap 'rm -rf -- "$fixture"' EXIT HUP INT TERM - -sed 's/@TARGET_GID@/1000/g' "$service_template" >"$fixture/noctalia-drive-health.service" -cp "$timer" "$fixture/noctalia-drive-health.timer" - -grep -q '^Group=1000$' "$fixture/noctalia-drive-health.service" -grep -q '^RuntimeDirectoryMode=0750$' "$fixture/noctalia-drive-health.service" -grep -q '^UMask=0027$' "$fixture/noctalia-drive-health.service" -grep -q '^Unit=noctalia-drive-health.service$' "$fixture/noctalia-drive-health.timer" -grep -q '^OnUnitActiveSec=15min$' "$fixture/noctalia-drive-health.timer" - -bash -n "$interval_script" -bash -n "$manage_script" -grep -Fq "OnUnitActiveSec=\\nOnBootSec=20s\\nOnUnitActiveSec=%smin" "$interval_script" -grep -q 'packaging/manage-collector.sh' "$project_dir/packaging/install-system-collector.sh" -grep -q 'packaging/uninstall-system-collector.sh' "$project_dir/packaging/install-system-collector.sh" -grep -Fq '"/etc/systemd/system/$service_name.timer.d"' \ - "$project_dir/packaging/uninstall-system-collector.sh" - -if grep -R -q 'noctalia-smart-monito[r]' "$project_dir"; then - echo "generic legacy collector namespace must not be read, modified, or removed" >&2 - exit 1 -fi - -if grep -R -q 'noctalia-gustav0ar-drive-healt[h]' "$project_dir"; then - echo "publisher-specific collector namespace must not be packaged" >&2 - exit 1 -fi - -declared_dependencies=$(sed -n 's/^dependencies = \[\(.*\)\]$/\1/p' "$project_dir/plugin.toml") -for dependency in \ - lsblk smartctl sh date dirname mkdir mktemp rm sed cat chmod mv env bash \ - install systemctl pkexec id tr pacman apt-get dnf zypper apk xbps-install emerge; do - case "$declared_dependencies" in - *\"$dependency\"*) ;; - *) - echo "runtime command is missing from plugin.toml dependencies: $dependency" >&2 - exit 1 - ;; - esac - grep -q "\`$dependency\`" "$project_dir/README.md" || { - echo "runtime command is missing from README requirements: $dependency" >&2 - exit 1 - } -done - -if command -v systemd-analyze >/dev/null 2>&1; then - if ! systemd-analyze verify \ - "$fixture/noctalia-drive-health.service" \ - "$fixture/noctalia-drive-health.timer" >"$fixture/verify.log" 2>&1; then - if grep -q 'Operation not permitted' "$fixture/verify.log"; then - echo "systemd unit verification unavailable in this sandbox; structural checks passed" - else - cat "$fixture/verify.log" >&2 - exit 1 - fi - fi -fi - -echo "collector packaging tests passed" diff --git a/drive-health/tests/widget_harness.lua b/drive-health/tests/widget_harness.lua deleted file mode 100644 index 19c5a03..0000000 --- a/drive-health/tests/widget_harness.lua +++ /dev/null @@ -1,109 +0,0 @@ --- Declarative bar-widget smoke tests with a minimal Noctalia host. - -local state = {} -local watchers = {} -local rendered = nil -local tooltip = nil -local toggledPanel = nil - -local function node(kind, props, children) - return { kind = kind, props = props or {}, children = children or {} } -end - -ui = setmetatable({}, { - __index = function(_table, kind) - return function(props, children) return node(kind, props, children) end - end, -}) - -barWidget = { - render = function(tree) rendered = tree end, - setTooltip = function(value) tooltip = value end, - isVertical = function() return false end, -} - -noctalia = { - getConfig = function(key) - local values = { warning_temperature = 65, critical_temperature = 50 } - return values[key] - end, - tr = function(key, substitutions) - local value = key - for name, replacement in pairs(substitutions or {}) do - value = value:gsub("{" .. name .. "}", tostring(replacement)) - end - return value - end, - togglePanel = function(id) toggledPanel = id end, - state = { - get = function(key) return state[key] end, - watch = function(key, callback) watchers[key] = callback end, - }, -} - -state.snapshot = { - summary = { - disk_count = 3, - ssd_count = 2, - hdd_count = 1, - hottest_drive_temperature_c = 60, - hottest_ssd_temperature_c = 60, - worst_ssd_remaining_life_percent = 90, - ssd_smart_unavailable_count = 0, - ssd_unhealthy_count = 0, - smart_unavailable_count = 0, - unhealthy_count = 0, - active_alert_count = 0, - critical_alert_count = 0, - }, - issues = {}, -} - -local handle = assert(io.open("widget.luau", "rb")) -local source = handle:read("*a") -handle:close() -source = source:gsub("([%a_][%w_]*) %.%.= ([^\n]+)", "%1 = %1 .. %2") -assert(load(source, "@widget.luau"))() - -local function findNodeWithProp(value, kind, property, expected) - if type(value) ~= "table" then return nil end - if value.kind == kind and type(value.props) == "table" and value.props[property] == expected then - return value - end - for _, child in pairs(value.children or {}) do - local found = findNodeWithProp(child, kind, property, expected) - if found ~= nil then return found end - end - return nil -end - -update() -assert(rendered ~= nil and tooltip:find("widget.no_alerts", 1, true), "healthy widget did not render") -assert(findNodeWithProp(rendered, "glyph", "name", "server-2") ~= nil, - "healthy widget did not use the physical-storage icon") -assert(findNodeWithProp(rendered, "glyph", "color", "primary") ~= nil, - "invalid cross-setting temperature thresholds produced a false critical state") - -state.snapshot.summary.hottest_drive_temperature_c = 70 -watchers.snapshot(state.snapshot) -assert(findNodeWithProp(rendered, "glyph", "color", "error") ~= nil, - "HDD temperature was excluded from the mixed-drive widget state") -state.snapshot.summary.hottest_drive_temperature_c = 60 -state.snapshot.summary.unhealthy_count = 1 -watchers.snapshot(state.snapshot) -assert(findNodeWithProp(rendered, "glyph", "color", "error") ~= nil, - "unhealthy HDD was excluded from the mixed-drive widget state") -state.snapshot.summary.unhealthy_count = 0 - -state.snapshot.summary.active_alert_count = 1 -state.snapshot.summary.critical_alert_count = 1 -state.snapshot.issues = { { message = "Fixture failure", severity = "critical" } } -watchers.snapshot(state.snapshot) -assert(findNodeWithProp(rendered, "glyph", "color", "error") ~= nil, - "critical widget alert did not render") -assert(tooltip:find("Fixture failure", 1, true), "widget tooltip omitted active alert details") - -onClick() -assert(toggledPanel == "gustav0ar/drive-health:drives", "widget click did not toggle its panel") - -print("widget rendering tests passed") diff --git a/drive-health/thumbnail.webp b/drive-health/thumbnail.webp deleted file mode 100644 index e4e9987cf5945cc7e4470c02aa7361b9a1e2c700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63032 zcmWIYbaONK#=sEn>J$(bU=hK^z`&ruz`(GdnL(O~!PD6}-~=NB0|Nu&2@uI*z`&53 zS5g$@?xYYA8KuDffPs+#EYHA@m|R={QiB6CGBA9*22p!i7l#^r!kj6o#mNi|3?CR6 z7*vWPBBK}>7)2Nu7(~(`Yz+`Q3BtAkvCB&eN*EXz13>JekRWFU2F4Ty1_q6EBz6)K zJGr0;q`rrNfx#v>rxaut$UPw6@ucR31~V`)a4;}1$S@Q$1TnZXIDz~RQoz8Fzleds z;wu9K^8|!g(o6=1?X3(961NayDhn7G_*)nlww*_aA;P2}u_zI29t#5l15;WW1H-4~ z3=F)H3=F~-7#O&s!Ey`?3^?2diZmGpcZPh1e1>#}9EMZ|1qM%sJceWjJq85^BL)Ko zLk6?301E}DFANL@o0#S@Y8_yfVY1_7YIK<3RKmodsPpE1*y+#@=6mWtFHH~CT%z{( zS82t^lB+Mnb=Uv@t5VbLw^@}YTp?a`n6Z}`8ve|vvMU9Bbi?)|~#|9|`c>;F8zP5#>J z=2!J^|KI&x^dsj<{>S}y_MiH{?ce|Z@Bi7~eg8B5&Hv-|v;NQjy#Ckv@BN?eKeqe- zpW(m9{{8%Sc{m1VMjQ+Rw0mV!g+I)qmpOxxat@ z7yeZIr~mi;5BHb;3$IW6ck|!o-}is6KmY##|C9Q2`##jy|9}23u71}yn}0|D761Le zL;h3#i~VKy_x}%*|5ShW|H}VofB*ln@~`oq`akPG*}t^^R`>rOYrWyWng6zb%l>!$ zXaE2I-|ZRfum8XEjp6T$?{@zf|9bzEe|~*p`oH_{_qWgA_TS@QH|HP!xkL-`y&#SNh8};w(|KPv!_tW$DwB)Y;Yah@bw9ox-@$c_H_IK)!|6ls=`TxiN`0wYhUw^az&%bB$*UW!k zZ*E`z|9>af?h1h(Hf@8DRfo)Pw{m^|w|$+?`JAmkU)`EFZ|P4juI-h|#!-PcYctnZ zi{IJw+`Z?2yI*84KsH;XyB3rt@uD1UfWN$|ssCcQ0|5qBLnzA`Jx zVcVAJvz05@?`Zes*Y}@CWjb$G^f<84dcWCW<^`cSe_QmmH~FtDHxJTTn0}$}Q~%Kp z&cJNJO|@)GWt~psDjQ4_-}Gs>fm-OImm4K5OFnm*y;jk?w_T;^_sbuL?tH!XTsTzu z?*qpdm&`7wygjr0dFIcx7DpIU;+hZVab>OZdG{oJip({gnx&@#r+z5Cxy0vK#nLnR zg#{f6mG5oq)SoLwHoRQd_+H=Vu6FL^a}UnX=9Gy$|83XZTmg~A38$Vs=zh<6boP%) zH?&K)+-qd`c&|=)L7wBu=$~fC4%S>)w0nwB?On-&(;N?lggdn?zm`05$y$GIXZM%2 zD_<^~YWwwO!ByqFs+;=cZ~Ue%@@Z&2p*TV(FF{QDAu5*x4e?XEbxCjOb$m1GBg39$;V``csV z3}h#ra)^F~I?)328x{>=>9POPZ)7eTS$q<>efRvL-f!x<2hLxU-g@I^i(1CF%-#nekV=(VI{8I{4M;|>3bH1Kg5>)SUz`prgh|k_40OV&!v_` z$%OU1`QavZ!aC&5nfIQme>_+IP<%D#azjMG%0QdV+=Z*ws;>{&9?$>Ib#dE?^mr$4 z(YAo2Gbaj`o~d;IcB=YjNW@ZO+w4nErS>21W3M{M)4uPhpbx{r*$eJ%b}(J#Rd(#U zB)et%v0(3pEAH1ft&3XO6F=dlu2%fp7j>F^;x9aTqU=1+bcuB=H+t|%GVZpM`{8fO zzNd_?-@bR;_uJpg@x3LL@nW{cUsau_N_1`66!vJ9hpf#vZPvVlJ9OJOZqa%#_J$*O zzYH_`>n)q_TIipVI;B>)vcvLVd7Q%A@`Vv=*?JF&cO@$XKXQz!ID27bT>Q`RX~EictsPr#u9IV3ld2lDn6u6K%LS|b1ySlW%*Ohu^ZIw3HMdn-&U(X=(!qn%Ag~*iENei|)O^paz&E>Lr?-uKwo#rCEJ9+0V*83;@>O``h zfYDKlv;H+fs*(EA%O&f+%B;HeT46nVhoMNBq80PWS(`jRTyN}n@p#^gU3)e%ewTEy z&c3g9ptbAmzE5wqsd@W0tz6#0;rKhe-{JN22c8=y3LVdDyYVqo^KHEC4k4#22K;;( z$MeLdEIOB;UOAJq?Z;J5|7B+aQ>@$#>k`)=-<**aCNO7W%qr{rWj$w}X{3J%RgBAs z6Pz*WxK)kUk@>^C<{dTc&5pTD#4 z#GBu)7OTAE_HJs~-~RpH-PK=WUW%?z^!vO;^B5PibHjgG^_)9~N6w^maWv=_L`~bg z@j;re_?BYL!?9PMF{{=`E&6pU_N%N9n(@j*jd@LG%9~ORVCk;Cp1SY*nhLeS-FsP-BTiiQXV_rY&-KO z?}6~^p2xc1CSR(&=I7rOU2bV?5M>gOzUfll`*qC$7TneU-COr3zfKHaA9!)2GgH3P zq*K;0zjU@-Ny|$UQLL?Fa(U-J%ev8DL-tNVN}fn}eq>*kwc5!eH^g`BR{G9;VAHPL z85XOq{P16}^VI}L&lk}y)nfLaH&}Aqleiz4oFTNeF?2bf_p7a&O}Hk#7tFjm$x^!I zr0AReqQ(!)Q^cme6+CMouDaxkEJwZCls>^V75DZ3&noDyWs&Zbdefw|n)8EoG3%{+asc!1XQFu~NaE`8Q;AWSw?o)R-1OWmq5kMTMs&v}Ijwslv9-(x?qV zo0G4_tiLQPc;y}6@5U)wAHTebTIccBSpU)fLc6n8LQV3lR{2+B_UBJNz5D##HQz#t zz8074IGdsta^YE-X~zF842J6`aVt%mkh{}tDue1ry{0;&O<_-JvVAZ4=~;+cHrd4K zvn-kUX?tG8?@w7=JW-Yk0uA!ve^g=$dZ*s$>izd8N?&1b2vF+ccZX=?8Y?~?{;iLnRH&-^?o;?Hw~h(q;3C$C@9+@LpU+kv^y zKPyf4{5Ero%CAYalCKqXUc9QFH}m0fo6YmJ%YVqEXw@{N&8%4PQvAjnRj1n@UgoaJ zH+Yj7>6UIbO`_X#&HtybbLV771zLLM|1aL!{%xJa-wV#SFZQwSJv3u-Q+OH2p~UB} z)QuXy34eYvS8Pj8&1#7{rX#ZN6c;~~+tk{^^HJ%?u5}6aVi&jVp0?Yj`^TbZua%OV zzXz%_DrNOFc+JxDEIIjId$+tx&fYXrg@;nRCzt5Wm~y7#OM=W(4oNoQ7w@VSuX3?p z4|6%zx{z`1g6Rc~a}6%t3)GAJz0B}Wi|2@{aO1!w4$$s%I_wu|7CZ(S8>ql&j z&jyFod%qFTUvTE0t%tZl?P_P`C_&!qNn0!Ci2pp2#O`<3{`4V{t+N!0m%f&nw6?+^ zcd1q9B^jT)BJl!$MCV_*WP5bC!Tk2($)0zYc5Bso}Hn=wZS{-SjiNb zytge}W-ZFCeJo!WZ4F3SctI~(q4!ryMZnWF#aT<&YP^{ET{D%FDR9bJv3s2dH$9gW zUzMJb`=^*KXT$f+HJ=urmdTIYSo`toY(~e&&z1(>4Pk!8+M8SRK!iczZ>cKxJAUog zCpd0ZA9S$&wcQ|W_Rn+CCsP{*>Re{YtkspwVm_1^;52uA&y9ssyCf$)x?BFr_R5{2 zuWEO$UHO`|TSc(@kp1=bmwwmQ`7TRvbLE?^dBys^oP@mSi#Z%0c2@q~*}%X&HRQk4 zGT%Rcj+HAHl=xm+q4eg1Ou{ej)jnUHIrIKs<`nX>ocz$g?8XJ3Tb#2UjWg78Sx#*1 zZ~Fc_@$al9tKZZe7IEfk{(3F>ZEyx-zs)oU(PP})7x;tsc7C4YH21}C*5r`h&(+xp zk|ml){P%SnpYi(prv9_rVrMr_x^h7ECC_5bpK)0+vC{*uMM>)l9lu%e$w_|t)E6)B z9ln1whQ0ky`pL)5trkD?PQC@`3(HZeGKUp4=bzs^Q`AtTRcSeHxYu4-= z?%(9kCuM3~WM0xFVSG@&WOIf1oQ;N4Ql`iM)#5VKZx%|Q@vE}0%d{tGw}!NnYHj7M z>GL~|{onQI;(@I~{dMM#w@SsjDeStbW7p6YZ7Ey*Sp7tQypyQkzuh((H&(0)3l7+@ z>{QObBEzKgILlN213##=w@Ik&;};dT?D>CTm80P1x3VJlh~s zSvGBcv3=%Mi-`x%-c;=R@+mfA$)Rtd+6lg?A)&h?&p7&DxTSYdUhCJjH5-a}iyN{V zz6van=X%1sHZfV}Lq)dxlQgYe&y6daY%TW2^@U#2x+Rv7sJZ0UTca&UKlvPC;Mj2T z?7{1q-~R>$7hSyeYGq}B$JHdoDLestWa}T^l>G8`;S!}VGg-TxSGWr#KeJE!a>?P- z;Ycy%J@R=|Rdav!p1;~}`^k=TmT2?;jaxWBPc~s~y{u&H(^PaQR=Iz1y4G6Pwvg{< z-p|RJwy4dV{`pEn&M{6e$dY2V&)wJ>v^-Uh3{xpjX3E<9TAuwq8O-O}#d!{0+35@#Rl z_&%wJE%4})*&CuKY*y(1ysiDnq8*FV_PW24F?{K;#&x2n>X~P@%(qrn&X(EXV*B?+ z%K6>73dT8)cwDcY^k2u^dw8my-TSh}#g&%YyQI2*DZM_KdoOyzlaoWaq+o! z>7|e7FR^}R)DSJvoxY{%Y;Z*R!?3!Qy_?G4MRM?aNY4`Qvu^(UH&$}@HTGv6OUVbH0^YLv(8q(-8F94-zeRCvnbIv zbHn4X0yY1_yZ7{7@BYV{aa&>M`BzC({k0fA_q(2t%l8dbTG)DaRhjeSzlWx*@Y)@; z`M*b>NSc(^9*?5T_4^cGUW}c1^y>7TY;pn3-(RoHbkY#_<%ylpvy1J=t-DHGBHOe+ zet*(%Smm>Qf3BF8)((x9#2)6mthd5Bc7+=0wdOYD-M^f)=3tXp(>v?5u!CQ8JlQU^ zr*7takuq)T1B<9Q2dlc>EZ4W*sheSKGogFuE-y7Bqg1z>T_UeetZfW_sHb=?DNxxd z;Nk6%Zp&!D8p~Nn@BaCu?(^Z6i(c>g|EreXx_Umb`qV0hi=iuD{(hMIV1n9~E!K_G zuZRjio#$5*u=d+*L#5|t8Ba9!&l_`AN=gQs?OVf1~Xm$G+<~RxWb)4?pz%;>Q;^T+6?|D4)RY_*YWY zdCTtQr;dMC-TivYl<0N_^NX{WAJEr-+5G<7`YT)JinaD+-w>8#zAdon;ggk8%rVQ9 zguTxkyX3jJ=2+y6YWssVtFz)Ze>-u`Z>F%u=>>)nIS*`Oj$PGREjsN|^41^Qf^(L9 zRrvVvtnRYtqj^6oPcN;_D6eStOiS(NsZzc?jqgC?j7wXjwgxF3w=X&Sf1Bc*>P^~Z zCOa?va5Up}c(3J___Fr!>VLI=_EfBvdH5()^+k->Pxz_oX{)w!1BltbEy=_jJ?eyP;f#{wiL# zZ6p{uJ2%%R6nykK&&tkL{JuUQ zkRi!H^~LE2@)@yPOSWd*?%FtiK}~NBqu0y%j3?)B>r4w<|Bl1pR=4UUDXsPQ&%E-m zUuk{BG2Qs+JvMo(CuO{stWy|8X3mu@NVI6(m>Tekh2v?yQFHOx*x2H3?H@LBXZe=q z#qZu1Qy-D(%NjCSk7wrT&20Z047Tq`SblqL<()|}AJmzxHoA41+J+ixu`h{qWqxo_ zE+UV4Q9!`1r0^HEpYPRP`o#I+jwXNkqUZ0gn7Tag>uSxJ7Lm)fS4iRiM$u>L{CBc> z83X38dCz&tH&^+MrPGga=KfpC2^{t-PbmH5f3&yD(pBZ@6((u%#{pAd@HBqh@BHwAbLy zg!1J)#XMVjLuz(Ot&j=Q$aYOAfBkPpVoGtw_C#0X^_J`9o}BO~4Lvqzfv{?aT@3ct-i56UEHqvfEec@sr#Xo1^-WRe{-MR5H8xh-tLx_Q0Q~t3prJXmLJ?5QP=ln zb*||jx0QjLZ)SQ$R-JC2sG`s0uYI-is^ccbc;)F9`l2!U-Zj3til2Jo3{*@|wD8FCE)=chiT55uq;c&k6ol+V|~6 z{sFz3pDfD{t(~RzLt@cY7nY|lJtJ1`d%Wy=$hS^wr}#@V6eDXVB|V+2uv#kUx%}Vn zi$cA(dm5SY3h^sGc733|`Sd5Fg_C4XX?S;8tM6&3EL&5r(5knAUpjWOpv~^1(t%9= zk4>yC-syGEO|5#fRGlH%S4J)W>aIC)3#^j!0@9zY6v+Qjbvwb(=4uUJ%IR9M_02c7 ziZ@GUo(t3D?!Caj^>*uwpcUmgpMERoe!0ACL3DcPI=eGh8{CeCMSC8Y?S6yzMAJO& zW8Ht!>y=w4m)g{6slQYZ-(u)}Yg!lc3q5boMQ)La51;zU{SP*fk=I@K{Qr-mdXFwk zzV$M@?`&54KgVqH^PgvqI>lb!&?cnTH#5+zz}4%-bSu#>oA50cKwm;)AHMCY&r+t5Jpy!S{9qZcn!Fgi( zuCH7!I4-JnmQ1M8oib^OgbgpR=(dpZ+z0>Urzr4s1%49QS0S+T*+j4KL)EDgkD9tT z-n6cjc=}NCX6&13FU`Z3+`Y8g;l#3R-=Dkn_x?TIxuH*X-HL{2F6*u58cUPI)~$+6 zDcT)$PGoOPr+kt}R(pb>cFot(@PlmC6X`D!jeixw%-j@5=kn{e!Ds?@+m3%=CPfK1lEp4|IDN0CZnynuE<}kOs z*1kmE)W$1^PG1UQ$f$LjJ#o#%PP9xLRfub9HO>4j)S+TNv8YPPjG9@n|y%3y89u($bE z;GX@@Q{w0RJImI5>q&l)`Kgo2nYE7-a)K-nc zc%dNE;>ZPgd7FZctk>Mk`>EvnLg`h~b%jo}AZh}kA-2m5aZy6eNI1PR8^ zX0AUoZO?oLp)JLU3i69z>}iQS)5M_~d;DNa{?&%>zjEvUi#K0P5n4TUrRQ0uC7YZN zb^er-iQMD5z@Mi^rokx$9$xoNf(s#@3`l~o^fo*T`uIPZ5`@UO=*VVFJ{9VC)G)8>?zpt0QUQ9NLJpcA( z!<#yJ5yMKhE$7|kJk2H=GnC~g zEDGao*;XOP$~^6L%Sj`}ogFEgtxaW5i*B9q_ZVlRXxIG*$ER}5XT4b)aKG=$%$*1L zGLOGsWv_De1;>>8ZFjvtc1#or|3CTF7i+1Q`A>peZ$JEWDbhQ8p5g2x*1M|94{7Q7 zuWPwl?Q3pcyKTe#Inx~~7M|1!JG1Dp%<~F$u>+;<-?OtB#UBSmMZP^a*YTI{jG{UG zS!zOytG`AqbbZx*FT(1LcE!Xk){&RB_@vF}PgR{+GvzgUwrky5 z-()oVa7c*BW=@G4w&!0=jXlsQ(&BPzb7FnFz;Y||Kju45i&e^XN^d{^@&aS=t?%KQ zEbhNDqXllt9derY;_QzJ*XnM6sqi#EeMkIdulT<2pR`ZsWwk~caIaqShc%-RQ?Gqa(SA=^nHwo=SM(C)*86{R6U)7-ruEeGyT-hv)@O2AHkBuV^{B7Dl9)V&#puF{*t_sn6|bFXYPbnyvmMD z58q+=^L*JB)+jsQTdF^z(`Ft$^~`c%$A8o9fifqaoN7|`J@QBB>CAPrZu**+#r~;c z{U`E~=YQ#~?wi?XPu;TazqYZ7`ESoFQq1YAcc*e5S4PLt zdH1*M_t4bN65Gq%Bz{5q#uTlbhjPp7|G!W^p_+2<`0JTIXO!fx=sdq=@gQ&J!H`H> zqafA2uIYh7iPtx8=zhOkvg!xx&G$tojr;lJ&V9MP-6#0%uYW54%Y$zJ_gugd*{ps2 z^J6FffE`c!-ZX2TnlmfqSKIIMckM>JZ9lI)cpJ0hgG!9unY?q^hYr2mWyyZYrYfqc z^8e0_?r*>A-<-P2Vb()g?x}wow#%JRdl@>{ov%-dn|wRB zKqYC>nKKc|$)%kVuineg)h{xfv~jM<43%pKPd`yzHEX}z*&Ne~JaIAGSPlyfJGB$l z+G`~k45plpy<_l8`l|4zqrXgVdK@`=huLA**3erYa(kbrGG1N$IqxLnNrr1%o*r{L zu{<$$)`iJu!^LuZ71t{Orm8sZP#!;uN$*Q%gzZCzU|9PlU<*mfk-g&=^UZ(W7dz?yiUhq7rBJ%F43^U36YZh4wrF}{g zuKK#$zY2Yrn6vUo9B0UlS-V}=TQiG)xo#uxRV&I=wcy)L!^@gmrlqb@S^jqS!Qk5w zj?Dt67asWk+(30+>__egvwv1>_*5C#?2$NKB+sdFAq>z|#nv{0Y;tM#^^gTn3O&p2k-?ahzj5Sq_-hkMuh87U(3 z?o=sVnPr?BW%}RVq`|q`vt{Ft%lA6=^L|=zEo+nhg=4*l8QsCn{!y6B@%(bcRYKtTfW_r-yW8>JjFGPH~NN5zw(C0tp!u^0$r|oq<62o+BWaY z&g$s@I-+elp~kVA~SCkJnx#&M!FM zkZUiK{o&oqxZkf9)ZYx|$n;(xy7YH_R#K~0@j@Q)RYi+6l1dUjDr{ib5&ZsbFu!AX zsy;7Qn}+GN$aniW@)w`rWE$L0_RT1Z3b@RDzZhCN2)vS-P3*t_7hoqdytCZd$^J0;n z)YGsv`?a?@)s=sFDBa;-#m@fB_G8q0Zg$}uA&H-EVn>!LpZoW;^Mu;>`aF*a$>=wU zDZZ;}XKb>P?A|(QuEo8e#EHvza&D%}|K^>zS+eM%#H%Y@Q#P&Sna;e+RoQCNqYF#* z`W26`xH!80_L;U=!e>&_&I=zjS1dEPXi2DbTKV+J!|Z?N=NFf*+iZ31rv4IkU39d0)@+^P_Ka70z2ExEo4p$9OJ=NP<+>wd zxZu^2tQbX+O*_0wf8OHU*dMam!lLM@tjyx?l7~8D)~vi6UhroLo86-Fk}Ki2ZIoU+ z9-MgFSMakdCu`&FYGnh7?F$xja(iz{3wAGkxJGNTyXWcikDs2?YucTqe)^}t+nrA$ zj{6F%4W8#FYw z4;Iz)_8t_jSn0()z5KBF0f$Y;kJtVaof&cM@Fm;3yQXEvU3>MgcY(^IURORZzPm@t zzHg2_8roOBmT#BkEUwMFZ*GV=)#1M4Ms;LX_~`&0rDcz!WPi-x{UG@?Pqyl+gbUqY z+IB5ZO?|2P>$CgZmWH}u76~@b6K|fb-&b;u`KZ;A5w_odbcj4x}1{`&mxU2)`u?jH+XV$FUv=`ef}NY&dk z*)6ng@`^9hLIS?b{lT-xJ(X)wM8k}x4P{HX%x=G({=_%%dd*Xm8eiI$ zF5Po_=k7GW{h}l3aHqikb@}((hF|B-pPV}X%tozgncm7X6UQuwPsZ_6U(sAia+e!<~ zmTbKBe8WxA4^8{Uo6NKYzwy1#?wq~)$gYsC{QovCd)^ipdKmc09@zT$s`S&hvPuTm z^9$$BVDR>d*dXz+beEj_p zlh#k33~9?h^fHTXo~>48^iB259KMLDxjLzTAD;biuTKB6V=wO(f&S}C0-qi2%JL?= z8^3(D<51+&4^;_`qVp?X@0mNdPx=!L=#s*P<62uP7Z6t5xe= z%62oz)LlJleS|z4@5)IGg+q`|8ceAIse-$)AG;gX{9~xdNwtw@InWxLOZP^SCS1P}|2j!=Yu*v$&m7$6~`*cdGwY$#>c&x>`qNvA~@J z0Y3jDysxnMJeZ^_?i1ej!FbjaO(VhQ2M#(tSt9mZVO2b5M1|zcHi7V#0vD%Zhu7XL zUcH?e(QDLM+RSdA5}X&C_QG7|ovX;a`_g~obEVh)eDY9X?b-J_d>>j3>woX_c^U4# z&sxB+D1T~uT@tN)jT4Yt$=&EteS_xyuF%A@~hq!Hn|}3YCxM!#@)U6cgnlMfObYG3`D_^JVxemFuW!?_QE^-v?{+E}A;^J)Xwl~L>MPF-_aQ+-x^tmpYwX^sW2F7HyZ-dp(krOdgS^l4Go?PpCA5UXN3$9U&*_MT4l zHzFM#+itq3)!f=FJjq;rf_k@7K65AgCcW1?=c}^b_o*L$ zE0wB_ZBab;GJ#W#f(BjnjGj9hl$mdH&GUpM9reu#C%zJx7ghZmGJoe8YxiNAGgI z(NIV!&2_GK@m%g@F!R$UNlD2oleB)npOkrxMM{67W3>4N@8E(X{U%t%zWvbPjkzT&ps<^!FtuyyS4E{i|ndWUI*ieN^)u`DvfSh@{
  • daR)n(09iHh6o3jG0_B^|NQbJW z$SR|wXk!xXymX?R@axMxY%-(V^ zrc`e1{&LjSQ&3!jMKRvZRT=P%9eEW2!XF_2sl0=^z&Dj)n)7ZZ4s>f1`m4B0& znHSDyJi>dJIhC3DSVQtLjyu|p>t=~@vc1aYSH0MEI%!hkCLe~F zzjX_yboMKq^eNzKsyrwZFSFM6eK)66Nt0iqqxa3%N}Dfi{kd;iW7gd2=S7d9l=G?98s63A$SyrUr=I%O&?h?=3 z%@@RU&7R(2usrzw?L|#ZCyD=oZrsvAaqd@sZA_SFs<3~P_z%;^RY|ND(igrv*z>D? zL9+eLKb3QLb4!X=ZI@X1F*)nsj{OnGigj~eboEQ6o}RpN*Kyv~lrsrdFKc^UzC4uM z=5+l{#*V5@I&0Z|8$N&+`pSyO=gPg z`W^SBgmy1_$=|+LBlgK(hAE3UCwjbpHF?{G*ZX;%InBFn({IyK`{=y*vBu&=F6Pxc z>$Ntue|29Gly702=Jzf7_)(V)v2ulf1T1WqTvFfh>8f_`Jsv?%J^$qWoErcHeOMG&Q{qK!@Dt3GE?*DXmRr$&@(y1%VZ>DTy zbNi=d;-L}VyKIANt)YnBs%hIrSADVl9>(>>YP!)oc6XPH?sa0ewTBMMraWj;bT%-q zars%W(B`N}cFW=}sRQvpPpTYtj!o&*Rbr3!v;Vf4r@i9VK|aoV29IqFXGJyoSb>t1} z#YA3n-JD=i>$=O$yvketvs0>+a?0#i^8$MMe|Rm5s$Ft|%OELhL*(_SNn$VC3nf18 zJ305|%&?|Z<_iv6zQ?w-&z4x|H=S|&LGhGl8W$%UyvPxK$|W3CettoTyQpygN-cpy zKeBe*mb+t>sXW2{-+GxVO~Vm)%Bw-6T6Q>ON=gJU+Ys+harfzblz9EcP)Ij(ERr*@qOXllfDF_v{t-n);q; zt+03U+qJe+>-pUG?vqNp*>}V3@(RK57?<6@nb?j`Fv;V{ei{2nU1HLAk+_v}&X*Uj zW%?d7QGrG45X0LF`8>BBO!tqpulWAwRG)XP*;|oqoRj#XGzAuv$p#6`KDfb**Tm~c zrsKNR$KLT4{ybrNa?^7Q?axZnS6wpSbMEH-4ktHLqx$RfHynS;bSZy**F7QIp1`Y2 zIp+O^<=khQ6CKY^ZuD#p{bF=TC;HORdny@gZ;7bwe_)k zA592m>GiqRv23389QEeSpF+fcGw1Es`@+Jsxm3zMcg3?8;ge=0U+Ff8IU&!sn^{+* zv}e9_4ddBQkz(iNmdXary0&>)%68otw)r)-4AHTN>Kq(GSDW`Op7hbb%e_%V&rg2C zF+MKWm$8d}D0*(WX%}s@)boc+rdZ;a@3pyok}SWDDcjb(k(ZWBSk3ound!TU@@r;J1-mcS#Rjc7d0Xj*+gkVhGy|unhc-Ma40)r+_vRmm zF!QzLM=ncgS*~Ke6(qWfhKQgdzGH-)XsYYTfiRE!_Z`a6qh&en4Z zx3ew3Rvk6oR-G^Mw9w_FmGEDw)frPdlg@kfxaw{E{GhF<96|MJ$p zZ1WEcn7li);7`#qW%C~j>zB3beyEv0{Sc4&L(^+D-#*@VJ(MQ&=s@`Yx_fUC*b4%`?XJK5amUN>R`ZRO zl^K^;%-y%e{_H#prk&@KW@_gh`60()nR|^j{N}X^h3{Jb62 zW?zH$9I*J`8~&{={kbszjneHu_ZeOAUvIfL$u`H>;KhMQfy=l5meaO*pchlH_BBrh zw{z!%Cnld_>-PRCShM){lVqNwsr^AmbFY*wP|)qj5>oi2^jB{CiZxvO%tAJ^SFr~( zKkyOH@b5Xk|NZ>Qf;wNMl8?3+o_5aKo-o;-W4CoA*X8omPb}K!`BnekciZPGnEFR6 z>FSRZ_dlgxIR{!c|NG80O}jr@{oyVJff)?!-cll=`O}Y_eAnV1bWko`?rwIV?nH}? z*XI?PXFWI&zFwN+le$XDp6iZ#cPh2LR?~jbbB)Q|$v$p+mDnedlbcMZmRPc<7o42W zza;U3fy%^^>NCsay$(e_-ynIayU6O|-d1yAXQQLWDV!|7&bG~#5&y;9yKwgY4U;8S zwalBXEI)CM*tM6-uG^>0+x+r$;*vwxnO;pZe0S=Q#ml1;6@BDtDqIXL%-^l}7a-4N zB=u(3rz?Tq>W_6#st?&~>#%gerPV3#7MEfQdFZ`-@#twmk4&8OS{+UUMecjC*0 zty|`J?a=&q{Ny5sJjS3623zL~3D5mhv$;_}E?oQF1Izl=mB*?V3oN?mkjI#1al_DM zd7ER^;mJQj@_maPZslkvXn*0JsPI(o=ZBj3Ac>hjQfzv3Uv6cuop?82I-A4)s)Wv> z-M{YZxN*o7On-MJ=i0(-$H!cIQuJgTTy{Rk}t?hdHPB zgG8~epBn^{8k|K?_TARP8uD$NI$-mlI-@c>1bNlw2D?Z7; zc_C4HGi3jR8H)cF-En-$>U2CL!{6+SzLwrh-wB_edaijnXC6n4|MzQae7(cdN=xJu z`tSW+kaV!^&D)cWV)hpnONh@Yyr6SdBR-C6vD=Zb9Ki~QMIToe-;Wf3;q;m{tk&uG zY3YyW^e=^8d+d_%Oo_AUoq=Mg&eFNt5BpWPoh?+}C^z?)Yhi*Lk)|$EcvjbRChIf%JDM(g z230+W{b6R zW|EUSBfCqWsobuj(_8=e?RgVcF1VZ!wN*6OnCaHlO_uEQQp;wuUwt#dxkz<=_QMRr zrmEJpTY@-N=;>OW`(F}oQn7G)YSA?J@=Y(!ywE$j=jZuUx2coXXH;4Ip1_j0K487p z+rZf~ws>zm>mbiOLCf@V&e=l#p7xv93lvNySkIegzHY;k1u`cK=M{*2E4QeAC>zw4 zV0?ex8tb|8Q-vp`&YbkR^}#gu1Bq-$^tyV4- z(M#F&E^E!H9h!m30gOM(x2p5aF7dc!9mbe*dDU~zjP@^oXP#KHcB%xR4Ds$S$rDvsTn$(&HnFw)HLbC)wtee3R|idvoDj=`jPx`>W6ES zgwmA!dcKWz#usy^;>h-?Z7S4kW0?Dt| zDoM!R)2xg?{>0+a+c(*-!?zk3vwt?&@MQOTulQN_kF1=t)uwe>tkIrwGrxHqOG}rs zU*9oFc$f(r~c zo{3ePcmL^(h89(}OMIfmH$*jybK)Bmx5|8Y%z604zNjV7oB1cQ%dIuI`q$1Va&G4_ z$1AtJElL=_7&^sSS50^R%X4s%-p%`W+a;Mc#$4)R@Z9;QuJ?n-6=98<^qq5Ov*ilC z;98i(oTmNZID6wYw!F$u*Yob|4AB)5Pl=wr=p=JE`_z3#mYyMIj>k?+S9#qibj)DW z_pm#cG#(w)3}yK-v*?JHIsYvC1y7WxTy8V`tPmAFbxqiTNz?ff+Wk(zga)q?_1X{RW^Tz=%818ytzyp_SI~ie21;&_4-qs^%JHZt#8R$9nrwu z{Df7q`=Q~SkkzUGo&OfSJ0+5Cvr*k`c~QoZV@GD1wevF>KECyP7f)oURs?hC_X{7~ zGaIkZJ1*MR&gLA~yfIUKZtK^nXBS({zM<8or@?vPJjat6TKWr||1b-m(N^%0+wIi+ z;Lk*_(^Mp^R*0#^JN8+DI7xJ^Hb$^(u*K$94viAR#abK+dY~)_qIsYcd-7i%) zKYw+&#N8d>(!52?Up@NegInUW6)KtM{#yJ>@87iDI`{QZPW}Sa7qmjGtROwljxqh!D0waF=J~9lK6Vi;ovTE7;&DVMN%)PNeA}EUG z(I4^Tt`%V??T*)_EGXv5TbuRsjL4_YlQ*}WVOF+SD01=6($~gM>qU-SY82ea8K0TF zu;UTO*EzeL!={DiRG2@#_K@**`swu#nyVrz%XJp!u5Q;2Gd$6xee;O>linS%!n;>8 zFdi11rTgnNOE{-eU9Ibh8#%4bI)6mWjx|mc+RxaL=V!5F;+8wx_n0>pbzi-|>$>B% zqkCqaZ+B5-ihH$hLfZ+h8pE}h+g;jj8a@$!KZRTLfWVUX8QgJIzn@IBH_cPvxwTfX zZPwBym3@^TJO#t1R-}o(o_xT(c3Z~#pbWunJ}#yO55?~bziyuAy_3`6l*i&N7a!<% z-4^>@RpXb#vwah<_n+&+EDvU^Vfv~TDkHgi{m%oo9Gh=G5-|`tpI7>BcWdzGhx(pR zB|oqG^&ok|3W>^9ZIW5{#`vLx#FgY@;~Od z34YPO#k$KZ_ub*QQ~zp3rB+*u?5YlZxODo9qN-;x(weDB@AgM|Ue=nOysTuFdgaFdVTV$!k{PNbE;&E%iQWIeY-K=b_LLJD5jT3a1>d)r zKcleyqJ7&dd> zQ{2;7Q^i^TgL-0LUSv3~sqdb?_x_j9!fuw+I9wW8tbD7bcb}5cnY8?5;Dj~4tRGG& z@lU+*dYJ2T^dJ#j5(*wTjOZv^6B*NFdJ$>WCwW~sPHmvSW`=t3eDZQ(} z^v99ahf5r+vxJt{wH#e6k+U_HA+IF+jg9!3O|fzRE;8r0Sxs$ToTK+>^2~|Tme0vz z?Ui02*j{IQv9M~{hO#>s&L=XuFV0R1VQk{5^mBRljFIvB&dNmjH|g58(@q%p8XY<% z;;}2BlCyo!@thf|=a)o(jrv~0@h$bdW@%ug@k2vy-C$9Rr5|q}5I0)0r7}h9JI8Vh z*@;`H9owaH@PFTq@C%7AW2Xsx<;e0lUB9Ma>8@A(O*1R_WS75*Jsg#264zq?C5n5B z(dO7!PdeK)cylkzynng&u$9}+fA{bA2-)!@eQf(Z^X-9z7c;cBmIlQp8glhR+Ucv&sGY5FB)R>xJ!OxI2=?-G2u=9J2;%U@)TeRJi{74j~W zE?9MZ$;&>CZ;V&!rpq@MCT9x%O5@6y_SB6ftE1SLED-(9{QlFl^dJFGg~NQS|GUn~G_K>Dd?)XJ7tg(` z0TCZR@BRP(rNxdftJrzI&A$D0*1`9oAOEc}pS|<3Z;P(YpX!KDf%>Y-4~_qAwUs`o zp|qdd#AnBpW7BdcO<6JNyj8XGYnk{3VPd7T7M~0ZOxktH`I5)N&yyK5mbG+lS}%TG zO>C0STuFf~oI(dRO*e02C|zy9_rJqlb4BJ?!B;?GYU4ABLD{i!+Hg@I8SmxUy%VlpEPh~p#%j%8PhdkB|t75Z!5|rOhec2$k zBJ_|#roh}krCD>{yPw|qp#!yy&G!Bxk2%}!P%L3EGn)Ppnhc&exBygDGElz6(I$gg~NB-r7zQp)zuyG*k~U$ZD(7GhXfqI+b^>6H_X|Lo6GXqtVqf9>Q{Q>(xq z3uj%pkm0<~-@WXK^^NO)9+b6RfAw?r!M&4H&M6;g$qIFyEy3_bL1l^7+$Re&1)rLB ztd?=CsP8^2%iB>OQ*=_ze7?ZVec4Mn*H=ZHKXR<^;`Y7UKS~&0ITf6Ly+4;lVVp($htJ6RH_ja3a-esVYpK&9^*n2&@kP5?NdzI3^%i>jjy~7f=U%mwD)P(w1nj424Y$pK7V5WHuLWXOa2T?rH-B{DaVg& zaM^avYuOE*?Ps(rE$R>7+j8K%-#J6$2a~-$gWtS-x|;JS_r?qBN`*W3Wwz=aaM<~w zWT`>&Rzbt&g~!iI{(N-V>_*~-HkRns_fLK2wYYLURe$@kT<5FW?}hK^d&aly+xGYF zmEyY`2Tv88SdkDjKXn^-<~)x#vjop+?Md1-p<_e!t>wpbTT{1ux>GmjeaPM3Ws~nX z%gm@_K7L>U|LZINy&^N$t4;_%x^bH2@3u8+EUfeY|G(C9Hc&#;t<#br*EwHypW~eu zeeL)3QfDOYSr^3aTAMwCv+JDmy7JyC`>&g8->fKFx{PDTf=`Zdu1AV)#!8+)?`JP4 zVIV2;Y~I~6rQh$BK3T8b8q%=H^4&qry5zXEyOwhvtatq@zNdbDfB0_AVBc37n@6>uoamMHYE znYzm9&Yed!4)T#3x=!w4|0VU#*KNX=^wXPLr}N1CyLk&QQw?DNTRSTxU-UpmOp z@6PI;X}w&oYY%69K6-m`)T-2}J)Zjn^ENf@Oz_bxU7aXABfhC$bcMi|BBQxWC!b!n z(LcuPtnk0BD|o$*+V~hmB!-?)c(Pz_b{4bk({&~5ieE7JoZoV$=RI~zJ@v}H>P!Y>qzjv9j_|<+(aDx|nOjf&d(-u~wZo=&Q>H-O&eDrv?uYiRx^Rjk zBIlA;q`a;hyW^}m>s?YrtbHDBh_#QH?ZCP>4n#HJWTa=iR)bd3NUki=|UD~g6Q1#xEv)}eQ z?-u`fXnI9;SedWDjwR;b!c2PFqC6YI>+i|_@Gack;-vd#x6-Ao!046S3JaL-HnY|) z*qr!EU)6TU1TKC@(;2=Z5~t-Fk1O5WCc|)UQMj&>_|`*G<(3D7SKKeV|L4i4q<8Ba z`J~gUvU$W_Fnu|+)olag!JU4lTN$e?t&;W!m~dx1Z?%xIZ_?tG5hzPmRMc3o==9X0 zko2_5O?BrSrc5a2de6`KMJ2@7E3Bca?%9$f+usRKtq}aW`Oto4wKeM8EFaxI7QFh+ zpSDQLy0Ylq1AdO=pH8BU1wB)OO^&Wz$?VFR#N0kT;IDA1y>P(JM)92qld2dOn@p@@ z%HM2YyQ1^LI&)nG$J;Y=cO8=sR`=|O= zvH{Y0)i17IIB>}D&7}2q?woBGOn1q*XfgPUznD4m@Yk2i&IP8L-(y<%P`R03!Qyvd zWkF$nNOe?(?DZz?YMrxhIP(6sF3aZTtekq%XP$5cmyUN>x9mTw^A@k}HHzGnYVkLT zJhDAOCF7Ug_KA;|&34Z(&=1}3DYa6n`>=yv_s7|XOkPY`tjEq0946|NCv)8~;|kx_ z!smZJm0o_l=zH-Cu~hb(W*^RdepvP`{#evW-4Mg9IKyh z?|oPF{j0i~Eq8A$KAg3n_VkiWhVcK~?`K@tb$V8EldaF9oi4UV9&3ji-}k)FX4GrD zzCAyK@8!BRm2Y^O;Yf$-t}89^+6Wv-ARwFE~c)`yy)_(``64L*-Xb@vsg)# zB+mGL+Gh2&hvu!hcV>ST_3?Qv-FWV!%;JA;WxaD}`JI$}^!~fGHShesb*vvZ8*6@E z;nOKRYvXU5N~Wv2SCyG$zA-Jx3)>a>G;VfR!FJshGGEW0;5l(~w(RxkI?YACM~lTQ z>dtToefi0=S7c5>R4=c>&)CCfRSqT2pCi}1>WkqS!%54cz6j3zackBwwVGdbJZty8 zv2`_Q`|Ojd@Wf%F+v7FX92WyL7A+||F7Ml@ESKsfdFEXoyVV~#WoOR6o!6vJ$}Zop z^ncX@(fWY4dzD!i7MPr$Q@B~z;e^KNA93+Y1#4GMKYTO(ia@yEjE@_4%#C@^{+x1Z!Ay}i5f=TTnpZYg+?Shp>fFcb2`t7QetOamuWlDTFz?C# zrw@8qvMOz#cIx3G^kBQq>oVAMo!6fjqnzB(9ZTes^e&rNrKKlkS}V zBVg&~=Ks5_v+C5VnoImeJa-yClS+sdd>t8|n->-vMmR~#h`p+rr?H@MOtGCZv z-oEJX?UqlUroFrOlV@6a-c?D-Q*90>^vx7SnQiaMh#RsjNS&gZdp@P)*rPcQ?>rEw zv$4D8_v+2;;=@N5NV>)}t`6#3P6hMCo}Uu-%>u<`I%$d#1BfwOYWDu&)AV* z{z0IxehJ^1t9skMYOay}eE)p--m=LO5pUk-RIa=uq3YW%P_SisH}msnmwZB=PET?F zS^mGt!*9|qujZp#mVcW6KlS$ZKOi8$d(B97;lkZJ`GfDqH|@KpnEir3-FGTXOKn2~S0~mkI(MjcRO6951!KUT@kky@hw$NAWY}UpOZ#r0)(q%rG@O z%06BHR914(=ii)Vb&2ib`Jd(WliXQ1Z`{rQO?j22OmRc(C)MXHZVLSutnS|sd3CL) zVgDKp?RR{S&g@J*Wt047p_j?>_gT-fTK6(<_#z_Mn9q5G>s#{TrH^IZgdS&P8ai^n zo|Bj{Q|Xbb&!1*SXE#~h-#I!n|8cxO!#OQ(r%!QP2cN~)j(wV*9DPcAPntXyS*#dz z>WV_fu|~_tk6lIo{DlRoY^JR0nfzxmQ_8n#KNLNG%~CgB)cox0=>xN$?>p+ceUHDC zI@d$PeRo9P_@;0>Zr!k}Ia(NHS|i^Pc<|%nnNd5RefwQm_e=VVbEAdM#E8^z-#=ES6Px#lZ(kKU*V$^O zey7R1{V^gdrMME^0?s5D`5s*VBIo`-WA?^}-xuU-y^DLy&$X>XQPt(}%J`?j7MT>nd# z)r&uIdHsAk<3p^i=9hlmoR|X}FS{k4NU(Z6_wSXa$3_Xc#$}9rI`)&ctet9n>|qp} z=u+;WjMl%7BCE7kH!8EXy|+!Q|b zsp`nnyFaYepPnrUiHNX%JF!u2{*i}20}P~scAY7{yvgKsRoy|`o4#B1(uxn}Uw1d0 zfBV36{!9FwPqky;2eMB!;(K$$2`7cU-YT6DQ^d7}Ge4ZgNR|Fwi~9T8%x zGI2hrQ!{mIz>LQUXBE2;$! zKdTh=-z5>;LX3ZOY-9W9Ox62rJnwSXJ$G62sBWJA2UCx9%$-=U{deLvx%_zoRh$2R zXt?)Ovf?}QH0C4EBl!MV)`C$K3xR)s{OZqx7?}Z!3 zhc~y1D?4PISieqRXSME3wESO1Db}w>;yI6MS8h?gYrK(hhgFd^gWRJ#1v_p_sChn1 z^2Rgr@5GG%}G1k z=N*%mm4C_ok%rJy_Q2AMf88H#%{RMf!oPOHikRB$nLIDAMk-|s`K0W-J^xi+Q|VN{tMzc->VLJ%=E_*!Jbu}S z$Gs%Uuj=ZS0$25|I>oYo?M$0Ld{lY3OIjfG^!%oT{q09Gk8GLLTrxwoWm&7E)TYe% zxru7w-j0udt+4yIb@`NkTK(|{%6>;FP6=mHO557uf4t>m<3hoV)k>0Um=Dfp;J&uZ z?yX1;x988*KHqvxzW2T`n{;M>IFD?Wip#Y27g;V>@BHwO{`)Mwlv7NHWR@(i;6|YSGUGE$3 z8C1PTvbGlFgr21?BLDRB<*dJ$(}qpZievd}7;K#V3;w+snu( zb4hYsJk|bSpWuaBwPoiowGOp?gzm$sEK_vl}Qjc0}Gk$Goo7x_}u;t-n>pjlNVfM~HBUfulwv-z+ z*KQG6;Kvc1sZz7e(N#2Q_Ky~i$JNJk%=6y#-hD6mB=W#5tACGve0=YI@v~DI+vXJq z4`}8w&$P-qbHGh=#j<<6XQo7Y*__z_&P&I1!;;+s2mc)Zr?B1WH17o=Jq{K5#UYu3 z#bvW4e`>!v`NS>Y>bK7avc7eiAAV@=dn3zy8dB%Kd#>N!QxxG#=1nbL+D-iBKk=Y_ml{b;Fucr{CNr-a^wUHeO~ zr)+35Yp_3Uxw+bjXQ%t)%+Ck98TISzcLdzw&FXAn{ZkH2z<`TvL5qFtBk z)?Qi=#X2P|@X&_aZTU7nr>CkenR6?4#ShEd#mv{&2j6ZzUiy|VU$d{#cfo``ry3H@ z+Sz=l4eU7?9C!Lu*Hx8Pz3fBhcD^#MyLm;F$<%&*&rgLfN}cXAiUO8DJJ!whsO$0( z{>C!dMGSBG--H`*Nl(vvbAvmYcW#&pQ`+h+7X-FQFgF~^-(05d{kT;A#<{qPC@Y&?JW!4{AXR8Z5=RD0gdHhwn#w2dN`?IIWpU=Oy#IEw~0#~8W2lI{Z-Jg78 z-eNmZwz`GOmY+UToR~fLL*(sU=CyPC<&WoVTX7&f^x8D8hs-zEWpau9HYhS|Gt6sq z-u#s}duvC=4e7OeG#)l;Ke}0?Qnl9P$f{3q65M>>U#RbFx8m3;ar9ClBgdJqOJc=O z)?d|9boJKInNYiTVPZ{JHy0z5l9~IR%bSF?Cw-2)U3T7zCuwX*ctjITDGuzuZhCe+QLsYcRjzc@A_29A9-*6r8A7M%bu4?uI*LX zEq~tY&Ecpe4eB8Wzop35o#(ie^zCiPZ^HnM!qigZCXN4Elbb9S{Lx;1wZQ1FUe{LX z6W5o`{K(3-7!5JyL8{V%yHg)W_e!zQg-o8n=k0S za=tg$J}2~Q%7=#wq-@-l+kIGiJ;ZBrQpbdBopXWT6<18pQC;n!%9a1=!o8Lwl2-y2 z%t`pp=rZfEoD0X!w(`}xEdm#wx#<`aS32$fTJewHp2a67oOJ#3HP*@8JpB7M%_QzG zX6}6x=U&(*5&5Ee*HQO)`_H@P*^2z}s1VmQ@vA-_z`3jM1^cD^@0-J$O3osLcws~#@c`qklK5cBE-6OG-1x0+Adzy28K zdiI$5<=r0_TDH3|wFlT-Ds8J~5G&Yo$f+tVFN$}O(|pnPgxAOC|F2uRykdjdr0eIx zGS7rwc=IB!lr-Yd0WZkassd7SQ7-JWKB-f^TmVDbcBYbhmw}X9( zCpYfoVcTw!Vt3#Jm)7@9d-KAMA60czDKiqBX1Xx5P)_Um9+~-%0<_nBe!xmf` zbCkmM6U-(RWf5&0?`F@=z1Gk6Lv@)zcDUQlph;Jb)=v6(y~WVIy4mOsX!eNo_xGi`zar*G-x6?Ij8?r}XL5hP$|zv$Cb3x~flUy_aXPEbjj?E76J z_*2w-&R)r*-5+P%D*sirBX+*X>16(G{1Fq&bQ4~El~bv^@?wwL)`{mC-xP+py$TA8 z5~?hJ_cm?gsb?ukUzF5eJ1jV=U;5TM*E-?0%d@nV-Rdc)AJ|lTc3*KVT-L(0#iz2l zYtw@3C(qZYDm%A{ZOlzS{Pj|tc-yubrd#rIPBP0=onJ?)O?z|Wn`ztMZ5i{WXNb${ zZA*T!a+}kUosT}fYn^s$^FF=LZ$n$Zl#5+zd1ime`KsHw7MI8kO-uI|2-NOhI(BTIy7|PUn4h)$IR(NDI?-F_J!_jJ`da(IE?eb-XuF5!Os{jy7UdBW zW%t~1JzQc@=houyGnhBMZPq<%@cw4b&vD6BhB^Ubf{;zK65aJ2jQUS)3cc?rYc0scrfg{rH}FOxD-grHiB(?sGTPt`IIf z^*H=bkkF084DGT@k~*zL_&2iO3H)(C9jVrb#E9zx*w>wF_ zmh+f;pX;sA!&Q3IEf!w=d3S&AHdpQi>TKU{7i{@j!*WJSQB2`U(YwhP9qrw$S1q~1 zemVTagnq%5x+RJOo38)2 zm~eIflqWJ1XU-^}_p*#FR=JdwbBUtz;%Jpyd+YMQ^#pCv*e9@h=9bHXNs^7+H$1w^ zx7(M$?Wv4Bns{t-ma@*DkN@QM8I*~Im6^txCqJk)O#b$McBEv*ioc9hi21e^Paz{kjF# zhl5v`E?BeAV&1m>sqrl*3Uz`NM8)X+< zyZ7eFlqvhTod3W3r5mby;-*@6;;F67-1E=;TYSC$kY&=uldCjr&pj&%=-~S$y>P;$ zSAX6HG)wjR=4`mBw_);`OP${%-<@Nzk-n%j{rA~5eA!$7816dk^@{tBz=}4!6J8~CqQicRZ2SG=^sc*is0n(i38v#I6Bz2bEZefXdAp7jw56TG)~ zre_%6c|oy+n>LFN7wmWt_snbduHq||_LH;1KCe5H;qa|d)T>tN$K3ik|Jr`HSza)E zop^f=$7Ff#S7+Iq1&mMe1m7^%g5@yEt zi8Jua?M-lF3TDr8aIH2>2!639R6mzHMy)kKe46Lg zIa@s&m@7~JV`#i3{r#E0ePax>>B>*(76zxz7c#OpeBE%T5oN&4rVqLbX@-K`sAR{TwhT3w)1Y_{|MRJ)w}67lzS4dcW2{4Q{D;a#x6!Nmp&2W^rq#PW<OCquQ#U!Y#iU{gqb^X0Oit`Du2^o0I; za^p+(W6d4iFZQp0&0CotQ1sRMThgI*Zx6@?XTMRD-mjM(`Ays`-S;R*hW)aD7G1`p zJnlaVjy7Jb+Wc3^`{aUd?>8olSBze^H?x!!-7?9Y@bkjYNV#d{AC4{Ab@^t#WF_ya z+ZV-_T)gk$^7z6osqgcTDStkoJ+bQK><7y)g}g4FqT>H5Pcy95Rr&O)tiW9Rg49+{ zo*P#zHGCr0zp*TENm-e3yyDlKqaDvKH+ zmc#w4?(O}5Kc=m@r#M@5`)mobJxgZfKS}3^D46p1fy?1`$-g-*=LC~`7CU(gC|#KD z)HNyZP|$rl=KOB%unTMFFYTT2CgpeB;mU-4#tdh+em9?1CgXjfi>ssjUBmq6rnQkr zcNo9h7WCs$lEbkex7?~^&#fVr*H$H#GpOjk+9$}a@v(NL#HFh10$jhMzq9|px$*Et zo-coA>{FFF{91FuWWlSuk7?!BPHFgQ#mdnaZhUfg3g_GpR)U8w-w;<}b7~Iq^4l%8 z`TOEEHN`7}oK6P^6jo{Yd}OzNC-Z@M9m@(M`;LV_&J<6IRQa*f?`u@`VT+ClQGe-d?F zxUkvv-NugglF2#yn%1jDOSZ#SmwWewU*O!X~6Z;Z#9NXc;0*xb&>fND?FiPt?upcr2O(M z3&!>)>8Z!2o^J2B^5N*bTgPIv6KCmU33XqWTx=9w_>_hJ!5T4#^EM$S^UYtR)*YAJ zc=PCTn?Ap0OWn!r^2J|%&1L^x*U9zr_;mrz1C9GQlA8YAj+A)x(A!`|8)Ja>p1sdL zxNJQhx%c6!{=31-6TalOPP1MgxF9wye)-JoH?4on?oN|9^F#lNjdZQ@slT~Xx87XC zIZtBiqn1aRXN$YNb;DvkzshJlyDDk%_s_Z$7j6qA{9rpbV||w3k$0D#pI6m-S}vLQ z^KP!qk;9Q1Ckx)+d>Y2)vq|uydE+tLc@B>@v?o0=-QRKQ;9BK}vjpC+U%KPtOT!t@ z_b_i-dFOM>I+2Mpjc3pC-m+iEfcx+Q4gTfQ_XHy=udUa9ba#eA-oKN(<{I-AA9`&% zSz65Nv_~RC;05kF?NzU0Dy=G_)#6+}zBEbQk}boL6f?ms`eoKr0bd4w=4E^uOa2Q? z>`W8$IWD+=;=f4?uFd2t+_ikv(rDxN*NZJRy=2aZY}NjDj@X$ zcb%~AskpCZSvETw=g7%S;8*8Z%j3t75E`%SQ&+9W%3IrZjazbA0o zTQD35kN)r`bE4_)#HO#S6IY0~IYfW0p2W=aN@v2ql&;H7JW}ea$0q*YyUOrbo3@s3 z8}DVSkHt&)*X(s(U7B&{=+dpC=MJu}ogJ2OYy1C5KO23GZ@)C9w{X3Sy`m`o*4a+t zDsN*$dcL^&zPARfk^iT7rgShD=$l>D{a?_-zFy_kWw!d`3l4wF>s=Cbn`1#$+0XJD zUWbpH8TdIxpY5BwP_FLid($HmX677^KhVLI`HAzq=mZIVE}{0MNjgbv{~hepa;8`Y zX;g$7i%*R%m^Q)iZuQ*hb*6@8vvM3da*S3y<=g%F$^|Bqh0KkWtPZ!^{%#RXcy~wf zeL{E9{oB4tUjBPE?>Kc=8bybf-&t)FzaZ*j-R>ocTOIf1-)6pbCgR=nFDq6vr|wEf z>*Ub2I^U_6ef3%SekR*9Th|!AeERK4&G!e~E7OJV$v*vN_la9$U%t?s%xhbwWf(Z{ zM6dC)ytU`SfzoLC+y6y(?J%;h<~(5|!>jkLIO^A(W|PV1H^wh2JkBF((Z@K|e%B-? z(Z*D-eg29yyKnLf+@2r8p1erZ{E&A~$-+lmkGadEW^U22{hW8NUFKAtj&0c4)U%Sw z3qO2Il7B7Tvxn*Pf-QzO`0UR7H0>}w)~G1B`$^DZqhC3Xw(L^;#`nP_+G$^evT7EC zp4RKg`^UtD_T+~qnhAgS`*dRHhCQ35?JKMzg-gzS;ktHc#Ye_h>}%#IcZFm)Xgah+ zT`ZKkvQ2A?zvqOhPq(U{3(}O*?d;n4@!`{-hI#j_<@e-#-?aVj>f0BuNhETKznC7t z{O?fHo#v(c^J~AZJF`vSje9yXcly;H|D%7cHZg4bx?gm+AfvS#ll08h%E<>LcCM8^ z5_)jq(%8IKk=yyknJYfu5cA%8!y%|6gxPmCv+rg8J(}wI6%A%8Vr%ElOsRgz)v?U> z?tNi_9kSAA4*hFC8j~}@@X_s?9*;8idmNY;H)RFGgj}0!L0ze1Gj7Bt3H)ES+cVrR z$#C`q?Vv-O<(_ff{p}aFNp$h)^}W7R81{EePClYrIVa!ZphTnOl&FeZr5(35IhS9Y%ZKh(^v zd{!KL`TIIWj%D9cBg+1AJ(xLX$uZZXr>Z{+-%l($x3rMe(%^MRr+RQVXQ9;3t5JtC zYHqB|3)%DK(u6a6l^&OuxVV14oR=dm#ywYL3rpj@h-7CgX{nySi+BZGO|tUq^IN8< zX3y$moqb3uRJ$;ygX6=y2QN(gKmKjyJZuyHnrrQzr96|wa$TxsPdIgb-<+wsZB`#9 z{yg8a(RRDJ3d4n~78bHAI+|n!K9s3g*gVO8 zh1{pDzeP{I{+OI+eEw_yv%2uhmT?|?@{7#o-(N28{8B5oxJ>ZN!=@#F6s)^W2IZE< zJNNE7AA0bI3S)TJw|57+7jX$V#B6SiD}EwSJumE7bUMqXkClPP=Y(pyOC?rJ;<($- z5a^ZofA(|Ze!2T=W%F(>tz+Ket+0GkS(L^<+t*sZ@2&VPH1U?UciZhB>aQEGe6VSb z(9zu&A8z-3ZRf=wtkd6Ql!Y^U=p5RS<1lxw{=;*rB|Mvq_xx#@&-lt-$!*F<2QSe# z``qjFc-MHw32qdMW+|=a(tk5!N2@^E+p{8X3>o`=a@7Cn_AB&0GsSb^8Sbr?Tar6k z?cW`L+a?_%@Mz7x|WafY2&rRsrd5`0AqD%0l zx3iU3Tr72LlhT`2vwv>=VTXUv#@+98e{ns2IWL>_`v*b$SAT4ZT}q$%Xy%nnS-QeY zm&xke3W+)AZk|{de_cf6)8FvLLBTucNqXXcmR72EX1J8}1JiRXKZe|cTX3aW{Jox|}; zq;%cVIV|cGKK|C1^0IH5t9I3|5pzqZ^bV_)f3UIMPW|;}&vO}5>{rgc!KISBb-G9M ze$%5D3%o7*UMsjxITRXt*r}TKo zA2Zqiy4D4ok~hp-BR#>g=#%+Z(dSmLSI#_HtH5wcZKX&$cfE~x${&qa4^1ANPrUJY z3!Ar8R=H$wXm00H`_+rKMHd7HmM-Pa^6^dA;)0a4HZJYru7>{+rpMolmP}!Y8c0cRWpr&HCoXcc(q~AH25I&6V@nS8t9M zuXSo_(u;gqA9{(~?)jj!q`kz!%<6^oGe?!+ltxXNl25BP7c6TLn6c_>=Yq0|m3E8u zi&vE=oK>s5I{WYIro)r0dRnjd8E;?28O(g-f%HbR1?``oP5&Z#{zb*znwY6=yQGhM zfBK|SeT4mfiuhwettqA~mkJJF3ya!ZdCc^Go3KgO?F!Y?8N2R2FA2$d<)SuQ>WKdH zi8C%e{L6Z973UqdPtUrLwHeN?D3x4wVpZr$A8pZ8Ah`(CUx!RE%PrvhAWU)`JE^*P}dM_df%w}q)&_~ck0T&PqZl90#fxq$1K8B4voPWe=&4*~`EG-n2xp58IB zvv_yG<=A9v*HsHv_dY!?saCKra?Wx7&8*WRZ~oDcUZZNV;e+k2m$vKJwxoX4p8Qr$ z{8DX?#ch8-MvdKd5AQ{_=f&FnFGI()qpNA9VCCCfa6A zIW078vw6jb6T3`ZQ%=w1mYlF~cKN}_o}$arW{A$$Tet1I+9MA?zS-eBKGc>gtaX=T zxNj1)>`+OBd*t?K%c5?~2>%x2Sh&XZ%l@DLkDR=5^{CM0y$|n&DDv2ux3)32YH+*p z2|Hg2^Wd8P#v|c=-JaaVueTItHir4L?y7eBVs>KHj=rm9^F;Q#<(z#d8~XQI>Nl;< zY{oe&j;n3zh~YD>Wl8yf*<{i*#y5OLCGQc?AZRZx|9ERe((?8S-#Gb#uT=!PilYeYHTeXko%QzlbCwlx~ z@FlUWEGw_xRhG7N(%)}!tm?uC#j{L}M*|yHSbk9X8eU~>raFtSPU4X{pN`GnocEtg z6DP3Td-X^%-7fXizg4=cX7zsBvOaoe$h^F3_3HzESr;FaIl1`it36>oeFFD91!Kdv z**gSf@+3}iVw-vA)b1&-omu&uP8~d7urNc0<)~{aZ=~>(Uly?n{7X2brIS)*cRMWk z=~Cjj!2NFd;w_=m56iCIwD_T`=skyR=OsA&m!#eH5RJUucY1k5?lkFpcgwj~Hq^H^ z^ht$pt6Khl+RU8Lr`*?@EaOgzOlAGB=<%v4yjlAn-*VPHw)y5O6H|>ev3&o_Jul|T ze4J!>SMd8x@vNQH#9of@g z*mkYoT{P==w#xmbmx9+{dGO(X*oVi>^P(4AsoTsf*Yo>-)#gW^A1j>y_uu^a+j)}L zOO$zy6)K9|?GC6V$H<$?e_>9IS@JacL)pc69sazmEOwV^6Bn>Pa$GOlx{FPVt2ZF= z_nIn~`uJN{jV_y=t)FxwhC}(HYV($VLdz{X80Oe&oL2jI{BpyynWiPD6xWW3-?10)mZVTm4|NHo7b5lje+@mXR&iQlnqH?BMxA}wzYQyjMz83zm;g0sbUHj(rdYm@#wsd$O(j;Z875#XY+{4ezLp4AHsC+zAldB6Sp&Fevu@AmPUe|vmgsIBa8Pw#mvVJ+Q@413+( zXEi_i{2)eePmpS~=JGq=e?+Z6@ve9tpT2IOW2$-}=PtY3TeXrx8aVEh9hk^q_+-V3 z4_q_G9>w@${Omm+rR>c4s$o{h1x z^nR!NcI#ey!6&zpch3(H2|V)Q$-4Vh+4gHScz#;%Iaydei#hJvbB7C0)_E~$Z`;Ba z@Z4g~eCa}-JSNT5ZoACEZ(>>2-Blka+QttDn`F}F* zJFqLcQ$%u|<7xHl`#)^3s$ebpDDr-~H&d|T+P&QK_+lqmP1H7ySfs%HKDPRd+LVmEAe+$VK`}{vTVNK(ihox z^d~A-^E7XJoS?G#Kq&JryOfPJ7jJDpdu0ETcyBh**2RaIJc^_gJJWQ;)sHV+rkcg9 zWjyyx#fiAam6v%QYTaFIBUrO3>W6|avngBp(Iao~xN`;`^uMkXBC=Ov(XHjL3pbq$ zQM-BUcyP_0%y}IzZ#`GIkbWf5TjGg8?QxNoW!`$GukQ9rD1F@*{A9Oj)v1v6%MSg2 zDt9=Py{6)Pg&e1<|M7;@Y1&yTYh=XIc0Va!=e0y$CFo}0TrQ9AtQ;@1WHj%de~>tF zOQeIdVSmS%1y(@H-E<%&oRe{Ps!s_1fxdk3YM=I(7EKw=E85 zCrtNZ+@E*l)Sq^BWzmE;o(O*Vj(=+g7t9iL2Cr&3z~n}v(A6|hOOJrtdg=k8Z|qw^r4c{#Bf2%1dWOm;1P%zGc1X&5Qik?JpZH zM7+Ke9J7w~&YCu6i&^%M?^RoQ*H6CB+0U}v7k;eMDXEM4Sh$fpPUS=WG}YA21(Tk7&x`q1-{uo= zuAxM(B`bgVkFN&P4jz^j`!@X%WF-l)s$L`7yn*A zRe3_w+pfev+yy-a8B=>D+oGQBd%D``@6G5BEN52(%AJhxer4Y*n6XD0vCZvBf7yV+l4u`Rp2 zI_#~<)0WULW=!*Zl;(cvj7SNqYR$cs$SjpD`AR=zqGY4~{rn5HwYx0V_wO}OP>H9C^>&y+$S6#7_UFu&`ZfX5> zrjojIa@p=x4d*6mXK{R96R8pZ=+vivUh`ck;ny4u4kY<2%+B-O#>9Nbtas&%qSNUO zFP?|6@ozD0)|qfuE%(W5<&LFSp04!a()t{KrnmX&SFdxoHI;*2ZU}Vz#Pd#=&G3xv zHsfUu0=dfZwfYNXU+&~8WuEPwGUKx@{|6Qg<@EbmZ&pX?WxZ(%oUtOPmaFJN#QSi; z;>;4(v)UG>o8@y4zA~7Z*1u0_^8}+0_vY0ed8Bx<^VCmU2BnwZX3TF3-gCuV=weyd z??|G#8x}`ucO1-;wSso!McRWyP!u6Bj?!Pv_0Ia*WOSb>^+Y>i>DV+;`s} z&exm3%6YWi;_BBETKsc=`k&$2Vt7(TVxv!*$L?cCmMcy@Ci!RX!=lZ>4Jr}y>JN(=2zXFo*Pt`23qpOltn-gjx+ z)H7-V{|#KHEwsHG^J(6%w(a#_>L1o=FO$7ky-9VZxOM5@Q|}j>&A#xGXZe-OAG{Vd zEYmF%knxsZR2jfhkock1H=cF&_j2L8k59z2R@?n#c;w*JcCqy4-OAl{){b9d>Ow0H z-jA&m@ZbLIn!Lc{R6~n)uKU-f%u$`TPC!tE?PJcFOUrLu|K_3dWm|dUBQ_rq8I7B5 zuQh*N{eO~w%iSNJW`EH8EN^s~-95T?N`B@B?)yiD65dXkaY!pX+A|`;PV1Y1@q$Cv zThG3m6uxNXT8ER1+ohRo*RDF$_%zyt2-|`mvB4+h|T~bo=o1Z({vU}a{rf|-g^y>Sk@~1PaKP>4J^Rm#K zF28nm5!>5PR;?+U9jkKr^e(%73Y^#BrdMeF=!5p}r3SN?Sd_K@o~CkYO=N`h+aD#T z=5AFzB|qu%U5~j@wkC5Ex5_*#Q9M^3@+x5Z7hK5h4Zri_HDap%m8vdjG)GS1g8XPwMr7CMxbEbMxL?clC6 z=}f$PYIpovaNc5S+S!Ds%WkKZK4$#eZ5=M9`tX5$(_@ZwZjG>CKfXPd{1{ZRSk3*c z{+)cog0f$U!tegID*A^%JmaTfCMNo$zDX!EN4VR?>T2i0)dFX2uepd_vOFA_`>cll zsO5hL)>+e>p8c)j+*EU3ZkF|A;SahzfzN++trU%nd8l0evSpPLYvtUeD8s2jGZO^a zO*&3)vIy?W{~&CU6Q6(o_`ccazS!|8)UYZa$eUS{a(Z2`^7QN%Urmo>urRZ^whGAU zzfVamIl8l0=6F-<%9cN?4zAMhmHp&3JFtP}XsyPCyT@F(s*AJOE{OKcc0IuMX(M~f ztuu`CjVDjLdaicjiAqN$0W}lW$ZZppFDIw>J1r@Tv*vDYn4D;|<E3xhG3$<-|)t%ts#WK01^8W&4W2C7v5JJg0KLyX>v@ z@$L4Uk17Y|K094z$d~@7U>d)$g&}hl~ zx$Z*BL3gatAAYz_f@_8 zf0J`a){O09y(O^rOe!r$?4PP~Nw>E`rrU-nFzlAh#<)tLd`l(+{tHWo?~o5zV>BJY~+e zjcKL^MN|J5thvTN^=M@H*;SbnU$j{XzZYT>?pBjAxLvlm!;gJ&#Qg8Y51Ipl^*s3v z_KUq%_>;Um^3aV-`m3cX#s9k=-S%BujaBBxD(@b_5661bT0}SgxOTSak?j1CQ?;v> zOwwBaD$q8d?rYfWbatbTqpKFa%8h)q%4t&6hnn{_*Nz`%uv7K#zn1%VW=I>8;Hy17 z+h?yled2lVs|u~JGgcjsj<5{8GQ(TwjCgAN&iXs4s-AP5pM@TKxYXKeZ|!W~n>wyn z|J7XjsyVfIeyB`{qS%Q?oUtNx^S0$Zy5&@rdOVs%PeQu-;O$I*2HTtL+1#(U2{UcK zX<4HCR6#N1iOc8CO-_fOsrlN!Oci{lbjZO)E%(azaJgo-xB1NB^F$qOYF}^or}VAE z+iELU`(I5t!QNeGMKA3aUfwBxeNsw5^V*-=E8?=8E*@NZ)c)>~MPm6a3%6+Xf9#*K zQ+`5*VgCgtFJW8Pj}HHy{t!*vEoyWxFKvoZBhnUX2S@ zb-Mj<`Nnsd!D;o!p$DCgz@m(cg!(vY^&MNhMJue%%tG*9y=Y$+{2;5ULb>{VjxjX&$ZJO-WbX#|g z&Q(d9v>8wL^51BCT=)7zKa1p{?e}Xk{%UV`DwGI+l>FFbq2;s^ZwpVCsezW0<*#j@ zd|@%K`zJZCc|6;TPwSk{JrEZ^UqOrWHTU)tY7BKu-y)LEF?~0DwJSI}@0y(UVG zJH#jFhe$u0ANyBva&hHJ+ZnoXL;qq+B8Ud5Z56Wd6n?ps!^*0HxmTND% zXcWD?*(0vmWVO%djZzEhCffZhOWU%ScgMs9i5G&k)ppNHQJ%{B|4+}EdF~nBKTfHs zFA{rm!^hfJN1*pZ)V(uSCL7;5i;c*x57ld6Rn3spED}NDYXyMSTCVsj1&tli6MAy9*g@43#)Eg_ycsSVZKjBzj+HJ}}=n`1$vYvpwgY$?!iYlQjRv-*@uf zHl=w#tG5-M<5}8$ZB3-)=ev1xLoFO;e02QyvH{F5yHi`T4 zROTma4LPzz;e3(z#7km5naTa16z|=;9K!YR%-&PqJWCfP96W2ed$F_Ts^`WUTbJJ9 z+^dy8|MrFkoqYGdTHQu6fBu^LYdFlE|K`Pv-gkW!tE7(aZ=7v@oM9vFZxVtZKVJNvj zUz_(^UjEe|mue?pyTQFIzIc0*0{6`qa%)0MwC{NHv4Cz{qx&Gx={P%34UhGft};mOA~#I=3?{U9OgC1#$d;X3StbyzFGmjSsgacI>p)EW2b~8W1zzJhwE-?JBpX`a=EbwIxD z(YHu$xqC16U+8B#6SQ=Fddi89rsu^Q-O@_qo_m{D zSo{{yHM}TOa{2B4hq8W?UWmozPx!S(`2lN}r}*#7pPo;%+IBn8Y1Sjrt3Le6&Jo9q z{`H9(oXYO0b#>p7p0M(6tNMbfE0w#xx2#{fU6!zii@+}(i zm#1$j-}FM_%HqCS`Hj~?=K2&MS0 z-Zp#tmrkF{w|$K<6SuK-)O5>;YrpsL-|E-gde+zeP{kg`bz#ii;%0l(o2)JieiAd) zQcyWJ<7Aeza;x0!9k2IQYxhE8#O!n$p9JugZ#@qUb%d#ZvdUft~6j{$tds5IG z`{f<8nv#-V1XoVw&o5!8DxTbkn=X?=0k!up9{>kj!$@4B24*4Ovs>IRO}%=Nkk z_clJ9738^d;a=I*aRra{AH3;Z^`&BRj}N2o#kPn*^Vgf^1UuJl%Y4_bmYx1(eSwOT z_bTQMwadc)82@jux*_?)edU%X8Vx$P3wk#fm^YT`-_()htP`~Q_57vMwG~1eS*CnG zF1B9ddVi|GFHNPjeL~&#duJbcD0@NgLs(eWA+f?GOTAq0l$osWoAlS0B_ipL@kXBC zGnZNwYfckCc~fuFgAUg&<7;b;zy4f5?{Sx3#HWXQ9oqlhJ+|L-ZnT{3V(EhJS`D3s zvnu`j!gjYCWU+2~bn0Ti%i){;*e)98K()(fxr{CUkR4VNHk*AyYUwA8ge%98nZ$Hf~ z@woUsSMm1$$j>X%ia0hZxhpqz^1M6F>wLGQC~Sp7Jwr5CTc5$_%NKXAW}Gj(xy(Sp z*KFafNw39nXGknC7WU`2e`CbK=lR{F{$NQai)!xTxw3C#zH5q0-SC*t-6(U#s;hsg z^K90Ib?XBsYYT6FWVhmE=E}dHD$Z!tI8Q!XVea#4M)2_yuV41d?X>;1ZOO;U)=96J zPp`alt5aUp_kHIfqbY|hW21D}IBa372$O%38I>H&}p6z5J%ysjW!{pPQCn$X1G%c`B=S+#^e9^Ud`Qe7FA2 z*E(U7KJ}4Ao7agIm6~Zub6A zB-L^1y4276ezpHzT;8^@$gu3dA+D2eu3a^{uvPO%ek#k~n-jTTzL5FqOCXI+o|@qbmscG0$(nl`}_VpW?Wng7OKnwWk(^YD-P0d>=u6XV#eI$Hk! zRaJcYe#6cPu9+9Ij5&W)+`cWLc5mOKq!8babB?_+{>^0|p~b#PW8#A+6N-5pESDV) zw%BH#%<<>wyT^i`Z0mA9|MkfFrF;5Mp)>Del|R?Z4Bkhsw>D3jwv4sZnp5OZ9cRVk zu$SKMJed_18cUddPPeVNbUMXHbEfTquR70Xe&hS?ec3(Bev(>Ld-DNFmC2{NMHfH5 zfA`g;fUDI%?JDowkO=kCRX=4uM=nI;>-x4cv!*q;Rc3y&mRh~*RKf8pt*k=Yi(KD_ zOnc_eG0Bb3=+2MZYb*O_PRV8Ay8miU&ZnsBzjn7W!~`7Pzv$Q-pJV5rHoW5U^JiwZ zJ8dv+?uIRrCdaQNCG?$Aargc4cZT|%#nYnr3pp(x?oN3uv)v}OQ*-JhDUrA(b1hEJ z-rtx1_mk9$fY@o1o}0}HsqI|QR6o6G-Cf51(#W&A*P`?z7(-zPGxb8anSsP)}FWK+Qf(qw-Q+C!g zpSbT&mH(B)_WQogHE(~_=NXrE%lOs$B)varPxmb|{=G`u^HN~dlQ%2OnNMr`_LQZZ z?uqT*dYRF)#^Zs&SB}HMyFFD*97;sbmV8%@cC^TUu~RyG^1iIk0TQ!YezZ$-n8bbL ziIe?w`N`&b-77x9npWWtRz|ieJxE%!LXP9kjPns4J39VGKmQ-OXh~oUNAUTN*8ZFJ zD4&}7B>YY8yPIO^)msFlUF25XQ~K{-cY|&7>-a4j)(4v2Z9H9dFmI!yQuBvTxf?G? zq-W3Hr{LqCclY!(YpZYF>i@6jt=V`o{JTldzS_6p#jKy)PVcFgkUHD(IoY?T-cI7i zs|Wv9zYDBh*~)x)$!ji)<%!dz*jBC1ED6%O7FVt_acWA4PtT8*RbTI=`nEI|?QfE7 zk&V-To_*(JhwLoz5UY*KovcNFCwyfPDE`BLK;O96J7S7amr;hyijCH5b_i{bU^*sk{Jj+?Ql35hSfbdbq&ateN|n}Ht9uqJlDe|9 zjRgX zd+L}*M7Bisb8V}g4RuWuOs}0w(Y99IJ(1J%_{00kH8<3(YxaLPUom}>!5a^YPr*MU z4}2GD&Aw>%{kx0cF70eFM}2qJln)oA-`!)sz)@AA$g*tLv~znHQm_5^^*GQ}VDsa} z$JXnf6Y2?Y&pGsZIdA;UE&5mf=g&`9t2I2Ako5k`nO~jVr`H_cw_7a5h_74o&gmIn zR-97%oy*p_U0FN*!t2Ec1rw|LeFv;G8}@MINnV+?;^Px7!w89; zDa%~l`$bZY1RBq*eq<%d6)V4_RNdR|g@Vy9+2*npPi^NPuAIN9@Z#iES*|@YUJuz9 z6wY33dgkL>^A$=KMe}XsD!a~IymeyM{BXWQK@s;eW^U#Dv7z)y>#d!Sbl>$qb^YoX zz{?-V?-W_|NjU9J-q*EPYXtY}ww%^m{whuWl-rj5<+oJN?0qWB*D^QVAh+Yen~ozX zl^gbRaY*Ogy&06JQ?a>1>6G9eySZPMzP$c7&8UOvfb)}k49BnD{w?_PfX6bK%cmM< zbyV-I?Kt+7%bhoNUF8EcQ?Ja`Kj(esswwt-<+hYXOHK8FkjlM>Z0`!zoZG(gX~m|F zjc=M#7q7|v{;+@5uIn8`ixpSfKp<;hz;NmuXc+E`2$@ zG4{>5?-sA_@v$8ePm(K+Oe}vRkUK49&bPN~&(x{c`1a4dtD+zKxz8(_@vHjtxw^gS z=SzOg^{`iC4?Ji+UaC@xvDi|w?WBr#>@YtC(n#*XrBl;yc?#!FTB^L9@qz8j6Q4ZpN#Bi1 zpU7!yFu zZF6hP+tBk7*Ys!iKMcPk@3ufb{l~8Esf_0S)tZZq73$MOq-Uku`%BfQHfo$|dYjFq z8CZS(knr>n7x{~>(Q6KFvZ=VOed^+~mv3GOEp3i-ZBf6UaYyvCTffQ@hYNjc8M4KH zOsU-@yf^sGE7pbkLL}p_@vffybJN^~ripKIo!197Hb#o5J~r?V?dRQlnrlb!miJAn zOlBtHjgoWDy`BE>QD(by*&7cq&pQ z&9TjS^Q_{QN3%c8J=8@~m$yfY15GgEZg^rcVVJUdWzZid|A zV(*vT_I(fRly+QK>^4Y;UAntWs{7Tqe_X=s zg2x|UTPV2AOlroLwOsd)KABy7LnmU1x5P%>`vHr3BiX+fX!-E&?y`tm`$If_=hri=GqUQvyRJTg`MUqaD>}yhi^HGI%)hrKOR-lh z>)H2T6>|*&cnIw~L-U?beH)&bod3 zq~}@IzgSz=f|+&J%_w1f8<4$9T=SCn#H*71YxvoM z|0GP|`rA!4(aP!0rW-LAGS1uQ1x0-IE%%??%f;{C6EHQP z;jK#0ho8aA?;Fi{@TY?}XGK%o*8?j(nJ?Lh+p`s!TbYagR54$ts_GQ-()~k6*Z!iz zYtJ1uD!5v|sG;PYyVqBa%sxg_xIu9_1*o+8}ED!V*4O{ z?7_8#??r3+7KI9O>X+tE`RqPJrZV!2-jQ>cZ&imDZ9b-VmTwZ@^E$(J!DW-BS9HCb zqplj4$ML`+{>PeH;U>)+j1w>X2xgF;VfjhviE7*P{duSVnVwiSXZ`=gm&bI^)oU)0 z`4(KK^YLnLVeZ;CpJS^tUAFz5KQHM0&bEfvK0I;t#)bzJI6GA@tl9X{{dYj)h6-D; z|AqDsR=XyiT;ea3u+rc>b7_F{^|`gL->zoqwYko0DRKL@!yT3#x~56n+&yQx35h07 zGO#aOOKQvSZatx<#e6MreyukDf$L_1vEub%TMlX8y1C!L z_Ev4l^_Y3bN|*$VMDOm7p3Z!A`$PMyo^Mk+cNDvMuL^y&kK;hl5uMvlwtdCpUS-G@yNL5lWSeJ z``WfHy*nBS&o+vjJn~k4{Y}*+hXZ3Y;tNmJ8HN7(d++}A>2nNUil#V*OZ%I3hXt9Y z#GG*YzFa%ncl({(JF=@!Jultn8d~@@X2&xzru&!Dw}vJ^FyttaNRqf7dGxB=tVtIF z4aF~5%;sv_bgX&y=1VqzboQC)nJcKkzAV8Rh%LonNZ#^MEDi;zhxC`ZMCIX1!8+ zleJ4Y*v8LV9)bn8vD zGrIS+eVy;mKVqWYd>p&o?`Zk#R$E&p^vO-F+_~WS3H{4kS`Nxie37jg^WlG^da`eP zkg|h;`sC%+;z9>@Ce>dr$X$}>+TIYm&*63a`bfz?OEu&NbANXY;WiGdQDtw@*=K?%)4# zsW8DLoVl^##@_fVh10Gt`rq0m=hShSo6pYt??1-v=hDPBB;B9Yc3pP#;Wv>%)l5<0oM0YJX z*vowS#QC55XBYLTPJ7GH@ZiWpX@R+Xx>x4PDM=lkUaDMb!I-@z+!yz$3d;9 z=kD#%olw2%c0stl^>+40_Ipp|dla~BH4Z7S z+nyDB4qhsi_?@M_TbS#WNW%#Y%eqG=pRUQ=&MbPzyI_si@6~pF{5ccrI?rzV8t_u@ ze8Yt0PPRfHKQSz4ID7F<%+74*5!`tz9w4y^Xe`6s>ZnnQ?K?4H43#D*6#cK^lPPB(5ckA zjF)e_zAIiA_-!M)?(x(2zm=b#@LY1)dEUw2buzc7@mbvRFE?3gb=nQ4{tK% zwM}5Z_w*#+RE_#Bs zyHBvsO8z?Uyi-w2uYQ%zQkCo0RFSIs&Lt>zMkxod|myk zoM=H$h~m!9rMev(1dZRDg|zV;yCW%ZQubf*^_5dU$ZKwY`fS@ye($na-8UlgHF_k|GjoAesCG=&$#;);o{=zEyXhD2#SctTOL_};x%hv2 z>-|(WL*visuy5~t?lSybSfFu$G3x2`Rkydv|9e^kZz=@Hf!U4;SeURL!s40|dJ z19jt!qqwAB-nupA^&GWdTg(v= znyt&2Qb}=$;ndr@7Y)SYu0Yun|t#&r|_A(tV{yx6EE+)vy=C4K;iCxUTX?w zhcTM0$-N({ygGb&Y|ro0$~{i|C6?zmehpi+ZO>vJk&A1V%rBT5$@h2l0oem*jy#zw z`_j(%q|CgfR^pxq&bF3qJR+qcZns=L`Eq1ebYkYtb30<=n=f%v?X&!sjuYkWlQIa|M=*9De-Sf+>>3`)z-Cde|O1gx5~ueKBWTH zu8LDpytR4>cYC+Fb8<2re!NVrc7lwChj^o(g}%jt^@}?-Olrv9aqHnetrcWrN16*}<%Trx!1>nKdn7dGx#o{(|b?Co>$Jy;#>V zr%tK9=lf~#r@UPA>B{=lFq^s4|809}@xXS5tf7t7=+Ywq!aMJ4zMT{jY}jh1!|?Co zw>!5P)*hd8JZ!zc)}u|^d{{2WTUj4nD*aOa_o-ZlW1o8O|F2)7v2dwgsFPT>&EGWj z$$xmXQp*}DcyHQmuM@nl@2(P1;>+ssdG?f9mfLsUNGQ4cE#~!^3*Px`>&t6rpIV=K z_T0zb-fb7QH8njln*A~@pDDm;>1M^t1!W66;wIhHn|W)uu8_d5q_y$?xDI~auCZ$S z?R}lsR6bs@DqMMaXSP)S-}xK2-SLWjGe0Ux`Jv`1%iBkj)0{c~2p1aJWu7|lKfwM7 zt4rtlgyrQdS=DY%&VQ{p-kX}EyFGUxLcW&8nQ<$!=ANFs z+E%+zrCsg+wY-R<*@qX}6$Wmb$y)aAf{}2>5)q}Xk+T-^#Ai%j$-0rdt|9M+Ft>ya z|K7hhSq_&tXRQ;uo}qp->ex1Ik$u(qirq~wHChTMZkS)JQ&wBAdRTFxv)bLR^*py% ztUYsTv8eyH*`bY}cD#T3Q~qLJ^ZSSxh36R>S0z|$b-999zl`Ry@VIWP*URXpEpDlw-BFdwo5Qi@pV?W__P}7NnKPE2 zaXw%*f93|&SL%kB=Jn`ZZ>W5>MeypKWgh>xHkzkqNI1Xu`Vetqt#zv4k{kKof4^sU z+N`(H$Y7JRzrhCyt_wF#{*gX1z3}0py6CIvTyNwb)gO(x^=10I(Cgu^q9dR}Mhx{nK6jGUR5Zhdy>p!R!__`>i-={FT# z9LNq|t2@;`DR-8RfaviX?`GF*C@pCC<+J+HrL$+OCak^?klT4HTKsD6=9GWcjB7+L zdRPBhZ1GFCsfzQb_(_?+dhZM`te$_&WMXFP1t+do_N+?$D{9$vStothcrfG563#ad z{_09;)K31=!pz%iy!zxh)4f^&?8ZhXs^`b#3dP0EJa)HSB9D&yu1V+V6LNnbyjrPmc-}BvY6fw|ZWPVCa2xb@k3up5kw^7T>?HE&JW( z`s^m&Eg32?FY+AGdl5mfnZ0ix&rHd&9BR*yVt#(;kD}3w*syVeX&WGS(>#!E^It=D*1ju z#H0x)c4aQr`k1#Qrh4Cj{kOEY?Yv`rx&I{N%2~5Yew!rqr+k%bHpq%NEF5Fo75-d; zW0y?TW8(>DBRK-juFwcN_##tXDPfuTI@5(>zZLhW&aTt&SIskZWZ5J7sLj|x;6TT{ zgQD#`Z(J2taJ-0&US}Y2UoApN(LmDghYE+0iLTsrzYVuI7ajCwx@+C{Zr<-pf(xq; z=57Ahzxuj`@>ZeDXJ$70rSpon=1y#B;aj(D&W4i`uiJuT`R;L^5VkOGi6~U**_L=I ze9u(I_Jjo0)LnY#tN(JdNHmG<-xH`5oB6fm=<72bs{_AryE_#ZeOl&id%Gs%;k-Ru z-(0^>XwK}6Z4Bhx!*kYv;jq)2N5zGI%gjV#88vdUGW}QH~Uw0zvj+qF|`|AQB< zJ5Bl*h&`N{{ZPmE#TK)&v)fKLz3s9xP@8*V!Rmc8GaZXd3pU>Up)OeL%F^1rEG+sd z&xS{ zZ|#jPtl3s_ME3UK&Vs4h8#$PGmN4y1-^063B-(t^gZlXfXPrD}3(PQ%JLVfyB7EwJ z_Y&(zQWsKL@9sC)_u1o>?)=HO_DuM9RO)ryl)}Aoi`yL=zunl%T(~)RZ#J{*j9-r* zX`X){Je@o3>k^-o*K+-7-s$YeU=sO`Nx4$r^MA_Q&h*y5eVO_{K81!v9(XxZ z$=~%#sLk>>UtY>tzDt^=x5reO#S}_b zq^Q5+PSRj*OR|0`Xmq#0Y4xf-0Vyi8?l;_>eE;XoqpnxO&%f%uvt!?>Q&G(>HxiPh z1nt$=EqA@r@>fIacJrR=t+rAdO?J9m-?4oWzpLlh_Yu1?7p!mdwRpesS4+#=*^|!k zOg>V2J=!pu-w?lUOMBp;+HAYG$f8IKEJ=-JO1^}Jzoy|41ATMu;a;+ zUkm1~T9}ozJC{8os{D-WJ%9GpUElPU{tr(%bgN;~0lpc>_mxO|oaGkfRGF`?yK8&3 zcviRZ{oZVyGrR`drmE{*?C83u*nOZ3)>lC(%Z|z=v@4isd%!cjeUXxx$O*ygR z@eKaU(N5gm`+pq_IC$J9zikC?OSORWL+!(l@{d|5*INCGRhpyp_WQFh4_!->O?JQh zzfD`@eaqk4TQmO7JLVq8z5LXA>v^+}-BC51JhQmgC@%f`o(&fd{rBh&-BYb`-*ee? z7aP~ZeqW^*2dT12ot>MTX_m^Y7wjA{EMwcWRH&p4gs_MkU>?^anw5A9e&0E>QH+9!q#pe|#G{5ZmVz@0o z`ANlOhx(8?8_(H!Wl#O|UHs9KWntSU=*(+Bclyr5gjG>nERXN;{KKZ(>9P9TnZBFl z!u=`|J^QVn+CIIx>dVLNg_l(qZ`HRl zXLqAD5 zpOmPAPEPW((cJfw-xT%G+-ZwSo zo;1?*-@CS_G0jtv(RO#*@m*HGKMOIP(46~wveS)f=BV&av&}j)lNL@|c-CG<`Nqo5 z#`Ni_#+PrnE{JG2(X#tdfaa^GX`7GAZ~3s*NnHAv-C}{fC%ODFM{aHH zzT|yBf8(N8v1Nw}r*vMQuzl{K&+-Qot1mskad5m$%A4Aj6xu3M-e&>e0^!~AN zkzIb<`L9o$3&W%IIv=ss^zA;>b7-zgJbTjZ3!AQIDW1P5e*9{C!<8#GvJ-BkYh9dr za=qiH)}wt-KgsTkTh^Udb!eHzt@9I=#I;XZcgoJSZ;^4+Sd;ngx~`W~vZQ%`lfiSl z(*>^1uY?b=Oj&d*zcFoW5oCuE{6FY}0xn*=OuO&+YqXwc+xzUIWo+t$7`KkDvTyj-1|q(4peIojvb% zxtEeL_RkkbnqRz>wH;R&{pW685MQ?aT;T2bV!o=n5zAkmXw?c$2=zXB{c~hy zf0iOgz_S0Jl^UMOIW$JREuO4uS!Q-OPe;LM%cE^3rq(O6&d;e!?fQB4Zy)O{X2X-S z)=N)YYkl!)+Xwr{Q8BOEjX(Z%4`0i;xPRUUvEw@{Q*D_pJ>%;;=9Sbn)NFR%lYhfEcDQjnsXxQ)v@pYMAJ7ZJ8omR z{$Y`w<5aQ9r|(bTa@U^!#7OJMOQUNq7ER(h*L&(v#)gX7tsAYy`&Q3Ly_^@=yJA|V zbH>`opViW;)E`tl=Km`AtVTFU{Jz7c--U{cbP6oKKGVMa>tEICbuJqwjYE)VdTPeIBfk&LIy7s`q>YLqbJiR%*t+s7r@+ydcXz(b+jihh-;vpl zm8>Zl?y8%Zjn8lkdd^|`VKZBFo_4t9n%B`u3xYV_OuKxeXx~|FqpPzNf3)`3>if%k z7;Mtt7^zbf+8tcV9;#GXssickJAdwH3^Q{cV_5m&o6Dy?yUvrf2h+Be^T)Eyn#x<_(O#-=WO9kkjx zBI)7t={Kj`^mk!>)2VK0_PS@)hUB}~5Aw~kQJ?YiJkwPd9<75L%3tSsv={!2Kb7?S z*!%j`R~(kD{8~{L>U-!zN9QIkuKbICp1xi;f9i|*t?pdHMe6aZTX}vlZM*0DYl-r*5@l^P*KD zegQuv?&xw(eR}>epTsWKZT|}dqRr0ES#UTjJTay2Z^KjtAKz+z!-CMtC2cECumzx{%25(m>}IQ#V3_9|N!>#*N{8hzS!Rlnrl=U1wHmu#Fa7H#t8 z1!F_=%gSVVJ^o`8E*Y=e6sK#vy{)vbR&4dsb8jXWJYWxqE_)ZdcG9g*L!aDhQO)xzC8`Tm_k7#+ zKxp#&Nco^(&C@&fl_>14JXIocIhRc$?1A=KR)wQ=5;N#~Pz`kR|}ZdBZ|`+nB< z?NSO2{=(Ddmda+`GrGU0L)PSq?S0eytAW{URz1t3veWlGW6b!oY`f?ajRH5V%~Cq9 zXNwMgzdWz1pYZ?n)b8y%7wFxRd>p69<81vCY9~{XjVkMRN__bCFb!w z4>`lXXTRNi>&k+L+b6c1676r|mu?YK)Tzoewc%^}dOhWY{=1yADj}oEItS0+R+%I< z^+<2HRd_#FJ1_U?%y%Z!KSk7JZIrbRnE%4k_QXPuiSZ$4jT@frPkHQ?@?zQT$uqrT zcctZB`Ks=9jpx||C4L>%={|z06<3@uXg$eT`d#d*%S>Jq>z(4NDsJ61Cz>Ayr8m!h zAZ~qIc|(Z)+wIBcvzJc$|F(0H@Q&K&I!kib%Rdo((y_q(McU)VXMWG-uwcyETr0QD zLtC8T$sE<|&wf<4O{lr|RO!sT1Oe^KI&$wn8f~peXc4z|3YA}WLC;UxGT38g{;Fc9 zKknfV=B+sMS~c#GUER*UqW`H^&t^p!-QQ8$IY}jhJ9bXigUgBqTYR&g)+qB91^91S zuy8G_(`|-SO{G_tf0TTTN!_$$UjC`w_nfMD#J(B5d-?m4b5!%!+&Fcyp#L?xk3V_M z`9GmGL_y4=c?Nsk=Z}x_bRBH6`d6?>$8s0RRv)U$$!2B43BEGE@;Ko1E|axx@&)Zv8_cp_a{ntidq6LQ z;m$1iR;M3~5gNCP+z$nxj{EvUX2}C@lcnz(8`4bPD9%iLFLNSPjCoc0gtk3ToOkV? z^Yy9G(&}Hu^7Fg{riva(+4*COaNPa(CQFtdS6y*9)Yfa)8l{Nq8Xv7x9(11SiJj>6 zd)B2JVLTgMYAR$T=XSq}_Y6ELc05`B+q%9#BJ-SI9lW9Cd3H;1i}Lc`Z6{m~EbrZC z=lAC7!>`UuEn}VXMH&?5NVd+N{^ATbPrU7}-(hhE0Us?xk3HIQYe*v;Tk!) zuuFyRb60%GpDMB0CtOkeRfzE#$%VSVId@50Z_0nZz9?_l#MnEFzgp)0>rB2;_2jhVHx`+dp(dLy?>IEM^>{_(+1IbvB_C?JbkzOZ z%DL{vUE*xZAK$Q5ZZU6MeE73GdT}Bgb{~7P+ z{+#~)g}|K4g{dF;|4zTQthz2S$WpK~b=KKM>s_5QB_^b|S~YsQ$B1aYecm_wfShI0 z+TS}>UN~BFxcP*}h0fBrv3{M5+&@Xb@J%V^b*uMwHx{nTy!ml!OZ~oc|8jk{pAZV1 zxp(DJljGcPYc1q|B)VSy=pv;k{#UZCOWbb-myFPSOaJ`T<+=MT^GqKI>}Gn_t}FI{ z?W6Q>XWg{k8Jzp<*6VArY~3ziUAirtX_-V@|HPC>g;Q_**wO#`q{Fdpj?A)(wCk!48=K4P=8EnAk-Q*zeV5kDuO_Rs zpDiw)(0%!TulH)F1%|uZpT4^s%)aN!)?+Pqt`^T+Yqp_hO3M-R`wMIS$BTSC$9<;6 z>AA9_OH#t_t%lcwpX^n7+;OO^@in&D{js3d=nru!QUiF?e;oGsO9Y$>G zwu}qz&0c-x>G|&yj5vK=3s`0@tJv_`>tQu_$-AXCmx=-o9PySp5cGTdD;^%+>iyyC z!g5c3t?w~Y%1FL)HZL`if99?^+E3W}gfdxMzAGKpl6-l8(XraqUyIzP`Lr@zTCU|| zckS?`iS`n4W>-TL7e(2bb*Ze6dd>8GecTz(q*_hkPvuNm94lTjDHzt=d*HlIUh){z zsqUq$i(0I1pL;rk;|G(S`;OagnhwQbd?(Y+=%;QzzcOOs))n6hv|7GBUK1lT*FY+& zHt+Y<=2aUvi)`g)a9tDbqN1rdYtO;iLJ|6Jem|bBaISKbW_$JbuFlf= z?byLlW>@<7rY#eT=9cINzTm*ByKIk^`>zV~PSbI&UYWRa_O+Cngvze=A5*m4o13>? zs=VoZt;B|7N|0dsrFDImEn{5Y=B$MQkml-?ww_W_JyHm&ensAeR-~Ojx>jcEhP85mXyu$G9hes~c z!T`a4S4?_5zOi>bQq8>2^doh#)1wb=cRt_BnLRD=>4leD_;^ldD@{|BKht34^8R9G zvTyf^m=EGv@1L^oQ0v+ESNy>r)hYI#CvtdO)_=9+$v$~mAZh&#)h6R^Rq<*wexV<+ z<~-I5wb#2#@vv{5@=WwnN#@=IKaz9}1w^vVQss&mua|rdeXWt3zMAj#mv?7QK6nuF z>gPlD_oZ{hqWKyF-ix~2PCMPZXDX#!x@Je*{4@F3ns0fv=X@`R%)0ja!FjRQ8L0KVOHl3ae_hV@#}kZg4kqnuy}f_+ zdscUoonjwj0?T+mcP;p-I!XCF>%_)FMmx?UB_GbOithUS>(A=gZBwe3T{y{HJIQj* zCvGVzPW8}Y^M@i=4Sl4a_4}K%?y-;k#9}%1jc{^T+mXK)trdfPb>=?zTfWI_<*oF} zD&z9E&jh9O4t*@?TR?9(C1clb_KC%@d5A#|HRgfUk$_ym^-zn)A> z;cHzNi{G~x`!;bs2vmQ*Vjk0@+tQ(J_WO9}=yfjWxz)ayGjT`73ulwlt9E~7-#_zV zrFr8ylWb3Sz1}I;HYNU(J#+5z%uVM7FCCt`zF5Pl) z+m@2IdC!%Af{73O8f`2UcWsmTe|dtlg+=fm&8CTEo2+`gqIQ)9m(;7SDBHhK*xOxl zrr9Ny*j&4P$4%Zl@1J)k(SQHe1;01(ryMK1&T>=tdCi{RcMDZp{zhM0WqQYFWzfad zJ!jvXm}H&1@7m7Jf`6O1f?YS9nX^)7^Ob2=WV~;lwcfv$=?}xkMMCid&QSzS}c$L-K%Y|KY06%55NBHyPLCjp7G7(^{&VF zm*{4zS{$7Fak>-lf*AW$HQsuQ*>x9Zyh#0hWxL3W#izF3_}Hoy_-FZ=&H4JA>)QXl z@8&UB*~VmLr}dBJSG~it4_{NOJ~J+<-E4STvcULHiQD3n{b8Gq=p?nB+T{0qlAYT} zcg`}!kFIl7moQ&kZ?fn0p59q3bsNwBicVbU%>JqL*=NSdGGAuzOIpRl=AQFEKPLK( z`k5+zmtBIsbz$GaCAYsgQOLx{x!pEq=T9-0&B8a1I?l_NJI(SvD{*bd1CGMJh6Cyo z*4}Wm_%TbbtTZpXu=3ozNv^m1X6`@A`=(Ih&!^q%&&wxnkG+1wyrs%wT}`wy|Adn& z{I6EeZq`({tFsnfv81Vd`lo|6yDslnlk>kk_fMSp%m}}A)1D~XZ4U3;EWV#%`ufj{ zmOC<3er{iV*Ld~RsnfF?{5m64^{b7PJr*rn=ja&g{m5p`v7|pNvCr3fvKT!#v))v) zd~aquOW}iai{IR2y}QQVSLv5@d~?ewL7@_>`7aLSXe>&5)^I=e#H)etIUW`z872;w|fAB7z@l=a%Kk-OIQVzUSJU+k4+$ zSsC|h?&ce}{;uq0&o>cSTyy zmuq$p^1VL2V$nC>D!r~E-SXABdSz>lIZ|n6r&mz+!?rJ4{cP{^4aGA~ z1tk`4d-_S<#`nYFuT9^<)n=bZhnLk0E{Hgf{5-Cvr*(>hzpbGmbJRL zzwEq6(A?m?x~w*43#WZG^zb#{Ua7%RH9% zMQo-n`_u%BmCtPX{Kc}*?EGrPDiPE#8}nu&E46+?(+QB$_Ir)3`+l3I*P1dFgw4gY4YRk9$R&LcB=^N z%VmAII94owS#g3;d`w8vx(&=XukGA(=Ew$b$=IUiTVC%vo=YEY_vU+<{B^N+PK?>A zv+p%O8l+!))OPB!Xy3sLX0ab9XWY8kvT1=Kr#Nr>@?x=Kr|pUV9a29ZzHKePqpk1k zpB!H6ZI?t38LV1vlpL{hi^VO+C3hs_P0t)>3AOm=o6+}od0!}N+POpy`DIJ?-W0F@ z^Sw{^=ZXBq z_u7kXaTTj*OzYpspO-~=7r4F12t4ca;img*i!eor9%hc29gJ(AW$)eTuJj=7gVz4C z+R(G>Oni$o(Rh1` zIqSM(ZU@e|Z`hv48CVw?RsJwU_*TlAOP5ogb)1L{ahqZ_;k(8%#yN}MX`NNl&-^~u zGwt@-`4&4$r+AjS{#sc7LbWrg?d*h|ihY&KcWgN#<&fi@={w(K^`gp2p~Bm5cloRA z$t^l`(5CNu1naVYUZpe7gjPx>-g1js9cp@G+ub?r2h&8nrEk8t;A6IYW7L6-Y0E8} zuF5@qb>rTdn%m4lmKkS$MR0CEBDin=hmy{@diTC4+MkZT-~G$yN<${EbCg2LzsNNb zaojtMogYt_l$Y6BaKKQ`M(JBGi*3p$WmcBYF3;8P;0U?9MeaY6+ovIOJNlu)+5}5J&7>!%DxXwe#vcb+5M^T)Q3Wp(zkS+iC@w*I=`i1|SN+x!0m&zMXV0+A*G1($57sn0b$ZG|E+M~y^&Jo9On>wsXPZw!o;&7`trsx8)p$W5XyM{B;=5<)nJ?dRSv2n7kC-`v zTVyy=UFW48+A{07m*revHMvXebMM?ZdHLlhYn8VNMcxZOn?GL@`Cw=4JCS|+^X+DJ zr#Y3iTAD5Ly1Y^#+qz53V)w+q>{E|j`u+4k*tf&GJk@14F{F7+`^$KIg-qqI+n%+y z3#b0Mpg-4?`^rm&8&{8MD(Ljp7)-SAHPo1~HG0{V?H{*0bmtuS*qRYvAFg)GwY?$B zsO;#pJN!%X_wYYnR~~s$ep5x9uk7>P&pk4GHx)^qT-8{3diu<{H?1b$V_L1IXyvZg ztP|#b-=k%-rN8Oc8|$1|w=A1kR{7!P>%;S9K7aFQJhu3*I-~X%-;9T$C3Q;`4h8>@ z;cA+z($2YhM!l2S+maX7DY+cd`4^YjxmGTkqG|9zKPK-NKZC8{tQGt%N4}??n3uQm zdD&0yRV(tUs$x5G?Tc;8c299`7hhw!Q`sl3kDuw~W7(P@jp@ZZdlXn$Et>btXMbCI z;KacXh%!)9b8r%RjxjR(k4r*pEi>ES5>{>{i=Hh0boVobc|`cfeo9)1G-09QJgYrdXX2LmrN3JLI;~k4X!qij&C#yr$!2~$^Ecnz zkbI@CX?D&j=eF7_n?ly-ecCxUV}7oFw@b0I+SQxluf&@s$-eW9U9Xa#&sJ?~Q*Z z6V1bzgbK<8`VIe{7kA+Oq`&B@QqCcp|ovicaFne9=s?m9Pr?hKD3Y*j(_8`kX1x_`XnwpZj;_ui)Z8OIkTzFGSBh?|$X z25;}uA5PVUs~PUTobgG&T>Dd*plR=xO*2>vGGe%O*9dOvP-^)p)}Fq+*>OQ!|Hta` zR*e`BmLBob+gvt33tDoq?&*o8`4z>GpXw>z4Bm?+J_En<(7; zrp##8_C3W%-uISPUg4IDTxdLF+2uc}t`qlO@~bW92)JOjW&cWF!`(SQD`)Mt&UoR} z?eC?z%J5{mxLf@zxl7))e+-;ov>nY}clg5_<9}5TJM%n0UP+Z@G^+n!aDJ*}`wY3h zy*_m|8e;1&>`0%uLMP$I#(U@W&#igxSNq>(_K$}Z_vb1`&gVQe-K@SuLu~5wuPVOJ zS1IyWh@M^?*1-RC)wNQ+k2lw`hNqcU{WhD!921}3VmCM8i>&OMjeg%um)yI$pVz;j z>}hu1(Fxyef9-R5FR(IAVq&3qgZ}arMuy=Gw_omrFNNGMIS5O)NfsxYqs)3sJLnRww$;v*XD3Fx;-*gcMjXV_}kU}dbit( znx@KJnI(1ME#L9m%MbJiB^RAt691~*?dNLk_Qlb=Z%;k)ZhJ4=iXW#A+m_A0RiOUC z@v2r~V1BUJIpap@#{S3ee^q=wcS{p{S>+{JX70sv5n0~+V)URm$(wntx zx8K<(cV0L1GbMK2)BLwD=Ot&J%T$pq1}An~*V(#TzKg$cTh!>)WPy##>bSM-PVQah z!KdH)a_zxsvHIUSuV1;x;XZS9VOFc_Jd=2ll7xieSo7OnZSKZ>hsrRuD8 zcP_oWzKqZA;n|4j%tb$@NJY$RY@e{TvnycvwA#fklYRGD$L}oMu6bKEhL^3TWW$1P z{^@7U^A;5EzPXw6WYn^U^O=7B$WScRb37@>^zy>1&?RQm)|9&4`&Y5$p4qm&b!?_j zE3WUM?GU4aXXi*^?+n0ET#6YIa6r*18L9a3z! z{C?|Rt^n14Ra|9V`>t9uo%itH^SaPBr&pzHiI6O_*p|5`)!2T>CQTACdTM^*=ef59 zVu=+QvbP_d_3z#vHlb-=+vU|P8HcTZ+dZ42|^VSiSaFonhcOOh|$kam@C$vl6{54TSkdY)G3z4W!tL6L!R#k{0RiEiHtE^)ZV zH>ahrHTli>t#n1#@`(Y?Qqz2|yz;FJCj=9I@hueo%Yr1PqI?oNsoN$R-EIcxQ|*YCsgxH;dw zdb7ywy^f~Lvc*naZH@9bUr)IAVvFIvvxclr>!VhN$y(jKbts|qqP^ge`?IgUd1hW| zo1z^!@7C8_sn5QipWeB8MJAWAZspX-c?&Aq6@0mx!%u7X&1yeY9~|}nrsvb()ncsc zrune>UytIgz8rpkW99K(lV7wM{@*sEdErbWpO9O|zsW!_GUTzV7|LM1DKjXvjZ%G$kpWSvnadt|$isw$Lh>VWFM4ojTk#-Mx6VI%z zZvV0DPl4Xsjy}z|EAr+z?yXt1*fLA2uSj^x?vR+vi}X%!emY0f*KD`AA!}+-(5e0Z z^@Cj(tp6Jx{D5I~nl-D3z=McWMe_=;@0Dh%zuo^KWsm6QA{}e(V#jl9<}5H>_n`Ml zb*}dOa~o9jtj+h%=st3Ga@5>+onn&<+rOzAZpf^<<81Alanff&Yu};|SC{nr>8$gT zjC$$bvFEgrnOEqHz1`V1eIqI8+wr}z+}5&!sFe7Y)1L(Ai@e_8vw_R* zOJRbvnOCV$hSu3B`HR`E#u&U=ZP5~bJI{Syz>}bcDVvP;Eb>fR_S@%AQ5}z{;iB_T zrd66h{1$ZGpvth)V!Mcx?-6H(Qai2-@uww}3fLSET~SF_mU=t;%YM(+wAZmm%~MQ*g_&iR;VjAL+OCHZ>eh2@ZXH?%u}f6Au^e z?cQjfe7q_pm~HJ>(F#6~a2r*B#mg(i%Ri`p4bwPoe~9Jk3O!BL{J@Jc&Si0z<`-6$ z8#-*MQtr5wK80tl!YYRAj=9YY98O_EzKzGfA3Q$y4ST7QQtE+6hLN_eFXJyyyg4WQ z!i2DJvAK1ODmN91GzGs_e{N1U`kDS~^}mh(%wNhJ_`>9NYcAXQhLjTikd(PBy1C}} zV}4D))gfs0@!z&xSGUcdRJOXu^-Uzu>6DR zG)EiN^oQzOIhlAeT-PquU*2%z z2qfH%s8IfJ+14>#NENs>=KruEW22y^d4As zTfEax;HI)$r^?6q6PJhVpLze!cWt{J;WLikHGXPQ#M$9o#hCX`a9$HvjZ$C4scp_t zpDra^3nsC*OT9F*F=3i4e(TXgqn1f^Gfm5XrwmVeN?YNyC+pOo((7kyE7EjD0a z|EBCJ{iA;kb7#KF!h&wS=$H>myVvaHpRV-k?(AigLRKhx*NNXbr~2K}N@@Pp-sBqUvec&R5&o3G zpRH>?>K*G{D1LL>tCb98`>wH_PTm{E?a}{W!x!ajZY}Zt$i<$*w?dCDa=i7Yy;dy$ z;2!1dTP8u5OxCX}YvYTob<4jp-R#8v#RpE_P~T%*sJh|TeD_$@h>yI}Z97DNS6;cc zc&fr@>%1_hRo&ck4$o14cJJ6*-gC0n2TS=fe6=%5UNB2IstdpP|Eoh@_R<5XZnKh_ ztA|Y)8?_!*cLkLFHvhV+Hh#h6nK}E8oY*C^^8G{q=AZj_ivCu6_qW6N8&~4@KTD&{ z8MYmhR}wz1#H(diC(xnL^@r(ztzO^uMH%;0}JP|l0+4Lx&OVFcOQi4U))>7;2 zEbqvorN2%|Hm!MdrrSt|XNoGj)`sKPj_)gy+HJ$o(8#IN#4{^hNiJQic46Aq8(tBi z43`}|MAAZ^U%BD;Jp0%}XW#wvr&=Bj3s9`*S#(+~ZL8<8$P1N5k;?*eAE#}%o6S}0 zy6Rt)Xc>miIQUJ!tIs^OEb4Bx$>iUw2MU zx%Y0QORvG6<}+gaRi7nd47V87ZvL@K_|f!#&TKPP4n6E;ooTVkBI{qw#uD}U zf6uLPC|q(<-0H1JYe4Jz*^ieMr=>(+J=xDL7j2=UdtkcfEbS*dzSKTD>6H0XY>Vp> zf&Px$%ip#o{8`pnb5K`NxFkO<{J;m!rMc4m7C%00o!V3wlPS~BdUD!yS6RM_YvVC|}v+q`uvURPxP{-$7kY_`iMWiL+Mr;Z{_D&M2>zFO(punRxYH+6dE^V2=% zg6gl0E4E|=oU^==VDfnJ^wX#Js_b2_DD+SC)SYU(&qr>{e&_nFdQ9t*?o)ZLw69Gw zg=ZUabZ(Wt*OHi5Ei_ln-9kj}&7E_d>1>k%L>(9UzS>pP8zPQ6 zasCAwS6A)$_fzzx!3qzjCcig|hK(FKCwFX{w83pl-v`MX?fhz7CeFGEUANC`+6L7G zw1shp+C(l~9BOOae7Pua(`&io^^5wY_CmLI-Ge}DXS>xnQaI=Cm>G1lIy@r1!r zdE>-uw$3Tn7M-=aC=)Lrcc@zV28a2JX-E6c>?*L@o5Zy3naWIealy4+3{0(}=l**& z2fj(*(U~`oPkQ3Tv^|dnoE+vU&VQz&7$(4B7unKiUiDzfFYlQ*N?$t|CW=S~WV6q{ zH2=k7)3l09t4@7Vn!LJr?tJ#&>`RTEj;Vggw)`P%Y360p{&s1~lhsd^__r7@PII&_ z_IoIltis7Mm9B`*TA+4`)y&OUj}yUkQf7_S6%z<1PfK zvliOBuF;sY)v{*Y%lAY z`IQkCE9ZU{&W~MdSg4*-y7*c1jY$u5d>yi7H&;LU z*3wlyrS+Q|gJ=E!H>W(8IcsODCK#l$cy)9C-JEZh6kmL8>#D$`v-MAY*Rk;qU9ohU z-2F?s?!|L=)CSaU743ccAXNYT+uf|D-9AO^Q<5wgR~tWAQ5$$>{^#BXf7^s*N(Iq2 zr|-Ua`C8y@Yx~L7Vs{H4KF+Rm$t@AmRMK63=+VyD;Ejo?2hBHT2+zAbOHpPCL4N&-dN)&USWrcQfZ= zHnJ%(yr`bJ?qXM+am)O+FZ(%EEm$&MST?NcxMA^R_vD#*sywTiZd%BhT#?q=cRZ%< z5W6}oWRtVOZQ^lluAZ!TD|;^4tukJi~GuUC#;SiCf3kHV9a zu0j8_w`RQlf4sx!?ZeFYstJ3=U#@Lh-}NV!`+c^8J8$zTG54D}VYdW0ETSHsD)IZ) z@GbZM3f=tQwP&3tZdzyc_}RH-o9*WbGQC;7z>Q6HX=2t#)}G^QHfypM=_m%>2xXHl z{=R$fzhCB`Q~uliVR|hpdi&JuBMcXoP0LxoqT+*ZQB&Ts_;y>iZS2uY83X&2Ep7Z; zmdjr9TybNgI@^M$wk4et#Fzti>Y7gRi<&e^<#oed%?a~XFMle>b<5_oexdr-qt7ld zJ^k^`Ny+uUc+RZURZ?d@#yrV?8)MuNY`}J6|KI;}Ilft~=DKX#`84IprFl#X{!H24 zcl%lVm6SW-shTO$(;h{1q+8%pkZ-?K!Mf3gTJJTt=l?1reeY21)7^aggiVeoiCWSQ?s4n-~E-RvblqgTkchwQ+U#G z&0JBIgojCm%WK|57QK6{63dkHo!hN!k;}s?g&O`_Iljo2*53{PF~_TF-p$j&&A*uE z`)@xzyFpVt;7Y31+*4T|0lRNjyt}$LTX^cuZ1>j@4?aIwQT@uigAcit{`ICbTr zHitkT|Nl$<44<^O+HXE|@58;npF$3C9sDFb>APq?v*o(2yTARIxoAmE>g?LkiL#Qm zjZBLkUu!ou_8iL%clpfirF(y1W^G)Sh7n|7V+4%C^$)%4^artHl#;`wU z@%Hr3N|;>v@c4s_X11#Pe2bPwPicGCCpO>w!`k#1uC+?PCbtS4yd7q0tM~EfMzh!N zFT50A@~&u?=a*~K!~6}ocsIyjyOE@`u1V_AJi)gTV!!HsoosVxU~5-$?63alH%aF1 zq2O8P5C2}OQ`5ZsI_CkoR>RP*!U4y5pEs!OJH~d&ls)vowx_1=?s8ny-nE=?_@~76!jF`Zak*lf&g+zDIW_xZSYep1Gl-*1F@^QLPpexj!pc zJ-OA-TCnbq+w3_XzV8gnaD4GAns+I;tn-hJZgaRY6w89N+oMdf)?U}0b%bABI3BFW4Ol_sf&jgy~B3y5jc>X+TSzzv-8`PqMpmY-0&3eZoTTc zX|}jtU)_xL1qyYIYbG2!8d$1Rm&)C4WfbTj`f#VpnfJes#TmqLY70)dr>uAAqJ?;i zUODqu+s@|rihAocyx!U;n5S9_b2W&z~J(e}7=d5|0NRObb4J`+Bi! z;z^G;4g3OY@2~q}kg#2NL+PSeWwFC2S{|NiRhE7EXZgb`3s&ju(VF;5*l)Id+P6)w zw1i`wQUs6gQ2N6qY@U8HeOBSW8)0XbsF~y_J&Chjb};YkfdgSXGaA=9yG%bCH%Z30 z;#{4_2m8hEw|^_&ydYA{$oj9s9s&Q>t*bBO+M4`0ILm_Ro^z|JyL8#{SE=7b1dLQC zJMI$pxptsf>rzbS-Z-_VwUb^f)jFnj{h-;ZqK5Yg&mS?G8+3;MJpOO#3xj);`-}Iq z%+kyJRxw3{W!cWE5Y9DnXSm_SNEBcYW^1RNC&=M78vsL+Jaj5uubn{=I)Hzr|RQ) z?bqo!jNi^4kN$J_jnQ`>zPDQC440p)a<*?1j5GXpBPw8}mBhiF8#L^WJqY25nQNr~ z)a7Q{`5)pja)s8b&cAk!Q+shP>eQXD4=>-7d301avQ2K!CrcfY-d}V~o6uIt0g1l~=WlJps)!Wo9XSQxvf2!|ry4pB(^Rbt^ zB(MCNf5roon|mwYhXep?A{__bQpvnGtG@)jT^F zIymoIw>`%$wZqLdSYKe>>vawqj33zJWEqL49V2Aa@7?FWU)0sNcf<7t zW;^Bic@mq??#@rim$7FMKDHur3fqo_b)qw@&IT>nJE=k^SfkW{E$_a*YTGKV&%F|7 zIQ4XSLNA&~OuoJ0sQ{D2>lKw6;kSN1o8>rJp>H9FUW=2#skO%+o8OWvc*Hlot}=Gj z%}J8^cfZROhF=p3d*GT}TmDb|ywktFum_uWXRbYPJNwnjOM36zC$7q}ZF}`<<37ot z#V1yLdA{ONs_DB0opRHs?&CgUyY9mL|5F!bxy7l>vgn;~)qRG5r@3kGr~Ug5Tb1nf zy;I=bQD;(EYj#&*`4tVPU0eB9cUOGf6`TEDw{zAv`|^*ir;GylfB$*9{m-N8UObKe zWiKST-P^(W!AJIUl~&8sw?A-=ha*OXKi~R{^7=sm~NTR1${Z3(E`n^iZ-e8x)LuZoH}3{IZI^Gz48=~MLuHk zDn=W41N{vv8cI&6Iq66Kw9RdA+IR2u+uxk#+6|fNYX1U6C)vK7V0uq{;)jOh+TBmZ zj;ubv^62*Xppw&0ze_hKTv`6p)O&LANjC5Ks-AO~1@8@-5WK4?W6}}vjrZ+JUIov~ z6D+By?-P5Yp1#zh(d#AOmouBZCW)}0UTEyv$+=H0Za4S-T%N19zkd7v`pC_=qPT(y z$K)oiS)6?1xKW$3!}mY4olYnv%{#R)C0rw7v0Q}4f!&@PR@&ap6!BRud2!Y1p6Ndl zdD+t?^G^KAwR>Bo=&8tga<`iGTQA;!_2y= critical then - return "error" - elseif value >= warning then - return "secondary" - end - return "primary" -end - -local function render() - local summary = snapshot and snapshot.summary or nil - if summary == nil then - barWidget.render(ui.row({ gap = 6, align = "center" }, { - ui.glyph({ name = "server-2", size = 15, color = "on_surface_variant" }), - ui.label({ text = "…", color = "on_surface_variant" }), - })) - barWidget.setTooltip(noctalia.tr("widget.loading")) - return - end - - local count = number(summary.disk_count, number(summary.ssd_count, 0)) - local ssdCount = number(summary.ssd_count, 0) - local hddCount = number(summary.hdd_count, 0) - local hottest = tonumber(summary.hottest_drive_temperature_c or summary.hottest_ssd_temperature_c) - local remaining = tonumber(summary.worst_ssd_remaining_life_percent) - local unavailable = number(summary.smart_unavailable_count, number(summary.ssd_smart_unavailable_count, 0)) - local unhealthy = number(summary.unhealthy_count, number(summary.ssd_unhealthy_count, 0)) - local alerts = number(summary.active_alert_count, 0) - local criticalAlerts = number(summary.critical_alert_count, 0) - local tempText = hottest ~= nil and string.format("%.0f°", hottest) or "--°" - local lifeText = remaining ~= nil and string.format("%.0f%%", remaining) or "--%" - local stateColor = (criticalAlerts > 0 or unhealthy > 0) and "error" or (alerts > 0 and "secondary" or temperatureColor(hottest)) - local container = barWidget.isVertical() and ui.column or ui.row - - local children = { - ui.glyph({ name = alerts > 0 and "alert-triangle" or "server-2", size = 15, color = stateColor }), - ui.row({ fill = stateColor .. "/0.18", radius = 8, paddingH = 6, align = "center" }, { - ui.label({ text = tempText, color = stateColor, fontWeight = "bold" }), - }), - } - - if not barWidget.isVertical() then - if remaining ~= nil then - table.insert(children, ui.label({ text = lifeText, color = "on_surface" })) - end - if alerts > 0 then - table.insert(children, ui.row({ fill = stateColor .. "/0.18", radius = 8, paddingH = 5, align = "center" }, { - ui.label({ text = tostring(math.floor(alerts)), fontSize = 10, fontWeight = "bold", color = stateColor }), - })) - end - if unavailable > 0 then - table.insert(children, ui.glyph({ name = "alert-circle", size = 12, color = "secondary" })) - end - end - - barWidget.render(container({ gap = 6, align = "center" }, children)) - - local tooltip = noctalia.tr("widget.tooltip", { - count = count, - ssds = ssdCount, - hdds = hddCount, - temperature = tempText, - remaining = lifeText, - }) - if unavailable > 0 then - tooltip ..= "\n" .. noctalia.tr("widget.smart_unavailable", { count = unavailable }) - end - if alerts > 0 then - tooltip ..= "\n" .. noctalia.tr("widget.active_alerts", { count = math.floor(alerts) }) - local issues = snapshot and snapshot.issues or {} - for index, issue in ipairs(issues) do - if index > 3 then - break - end - tooltip ..= "\n• " .. tostring(issue.message or issue.title) - end - else - tooltip ..= "\n" .. noctalia.tr("widget.no_alerts") - end - barWidget.setTooltip(tooltip) -end - -noctalia.state.watch("snapshot", function(value) - snapshot = value - render() -end) - -function update() - render() -end - -function onClick() - noctalia.togglePanel("gustav0ar/drive-health:drives") -end diff --git a/dropwall/LICENSE b/dropwall/LICENSE deleted file mode 100644 index 12baeb1..0000000 --- a/dropwall/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 whyoolw - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/dropwall/README.md b/dropwall/README.md deleted file mode 100644 index e441232..0000000 --- a/dropwall/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# DropWall - -Drag a local image anywhere onto the desktop to set it as the wallpaper in -Noctalia v5. - -The image is applied through Noctalia's own wallpaper API, so the regular fill -mode, fill color, transitions, and wallpaper state remain in effect. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `whyoolw/dropwall` | -| Entries | Service: `service` (`service.luau`) | - -DropWall is a headless service plugin. It does not add a bar widget or panel; -enabling the plugin starts the desktop drop target service. - -## Usage - -1. Enable `whyoolw/dropwall` from Noctalia's plugin store or with - `noctalia msg plugins enable whyoolw/dropwall`. -2. Drag a local image file onto the bare desktop. -3. Drop it on any monitor to apply it as the wallpaper through Noctalia's - wallpaper settings. -4. Optional: open **Settings -> Plugins -> DropWall** to enable per-monitor - drops, safe copying into the wallpaper directory, notifications, or the - alternate `bottom` layer. - -## Features - -- Full-desktop drop targets on every connected monitor. -- Optional per-monitor application based on the monitor receiving the drop. -- Optional safe copy into Noctalia's wallpaper directory. -- A subtle dashed highlight while a file is dragged over the desktop. -- Automatic monitor hotplug handling and helper recovery. - -## How it works - -- A headless service opens one long-lived stream to - `dropwall_supervisor.py`. The supervisor owns a GTK3 + gtk-layer-shell - worker and restarts it after an unexpected exit without consuming extra - Noctalia stream slots. -- The worker keeps one fully transparent layer-shell surface per monitor, - anchored to all edges. A runtime lock, parent-death signals, and pipe - heartbeats prevent orphaned or duplicate workers. -- Dragging a file over the desktop shows a subtle dashed drop highlight. -- On drop, the worker accepts only a local regular file with a supported - extension (`jpg`, `jpeg`, `png`, `webp`, `bmp`, or `gif`). It reports a - percent-encoded path and the monitor's logical geometry to the service. -- The service matches that geometry against `noctalia.outputs()` and applies - the image with `noctalia.setWallpaper()`. Ambiguous per-monitor matches fail - safely instead of changing every output. -- When copying is enabled, the service resolves the current theme's wallpaper - directory for that drop and starts `dropwall_copy.py`. The copier writes a - private hidden temporary file, flushes it, then publishes the complete file - atomically without replacing anything. `photo-1.jpg`, `photo-2.jpg`, and so - on are used for name collisions. - -## Requirements - -- `python3` -- Python GObject bindings (`python-gobject` / `python3-gi`) -- GTK 3 and the GTK Layer Shell typelib (`gtk3`, `gtk-layer-shell`) -- A compositor with wlr-layer-shell support (niri, Hyprland, sway, …) - -Package names vary between distributions. Install the packages that provide -Python 3, PyGObject, GTK 3, and the GTK Layer Shell typelib on your system. - -## Settings - -| Setting | Default | Meaning | -| --- | --- | --- | -| Per-monitor drop | off | Set only on the monitor you dropped on; off = system behavior | -| Copy into wallpaper directory | off | Create a non-overwriting copy in Noctalia's wallpaper directory before applying | -| Notify on set | on | Notification when applied | -| Drop surface layer | background | Use `bottom` if drops do not register; the service restarts automatically | - -## Process, filesystem, and network behavior - -DropWall keeps two local Python processes running: a small supervisor and its -GTK worker. It writes a PID lock named `noctalia-dropwall.lock` in -`$XDG_RUNTIME_DIR`. With **Copy into wallpaper directory** enabled, each drop -starts one short-lived Python copier and writes a mode-0600 image to the -directory returned by Noctalia. A completed copy appears atomically and -existing files are never overwritten. The copier watches the exact GTK worker -that accepted the drop and cleans up if the plugin is stopped or reloaded. -Before a copy, the copier removes only -owned `.dropwall-copy-*.tmp` files older than 24 hours that an unclean shutdown -may have left in that directory. With copying disabled, Noctalia keeps -referring to the original file, so moving or deleting that file can break the -wallpaper. - -DropWall makes no network requests and never downloads or executes remote -code. - -## Notes - -- The drop surface accepts pointer input over the bare desktop (that's what - makes Wayland DnD target it). Noctalia desktop widgets live on their own - surfaces and are unaffected. -- Files dragged from browsers as remote URLs (not `file://`) are ignored — - save the image first. -- If the highlight does not appear, switch **Drop surface layer** from - `background` to `bottom`. If startup still fails, check Noctalia's log for - messages prefixed with `dropwall helper:` and verify the dependencies above. - -## License - -MIT — see [LICENSE](LICENSE). diff --git a/dropwall/dropwall_copy.py b/dropwall/dropwall_copy.py deleted file mode 100644 index 5328b82..0000000 --- a/dropwall/dropwall_copy.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/env python3 -"""Atomically copy one dropped image without replacing an existing file.""" - -import argparse -import ctypes -import os -import select -import signal -import stat -import sys -import tempfile -import time -import urllib.parse - - -TEMP_PREFIX = ".dropwall-copy-" -TEMP_SUFFIX = ".tmp" -STALE_SECONDS = 24 * 60 * 60 -ACTIVE_TEMP = None -COPY_CHUNK = 1024 * 1024 - - -# Exit immediately if Noctalia closes the process pipe. -signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - -def arm_parent_death_signal(): - """Ask Linux to terminate this copy if Noctalia disappears.""" - parent = os.getppid() - try: - libc = ctypes.CDLL(None, use_errno=True) - if libc.prctl(1, signal.SIGTERM, 0, 0, 0) != 0: # PR_SET_PDEATHSIG - return - if os.getppid() != parent: - os.kill(os.getpid(), signal.SIGTERM) - except (AttributeError, OSError): - return - - -def encode_path(path): - return urllib.parse.quote_from_bytes(os.fsencode(path), safe="") - - -def remove_active_temp(): - global ACTIVE_TEMP - if ACTIVE_TEMP: - try: - os.unlink(ACTIVE_TEMP) - except OSError: - pass - ACTIVE_TEMP = None - - -def terminate(signum, _frame): - remove_active_temp() - os._exit(128 + signum) - - -class WorkerLease: - """A pidfd tied to the GTK worker that accepted this drop.""" - - def __init__(self, pid): - if not hasattr(os, "pidfd_open"): - raise OSError("this Linux/Python build does not support pidfd_open") - self.fd = os.pidfd_open(pid, 0) - self.poller = select.poll() - self.poller.register(self.fd, select.POLLIN | select.POLLHUP | select.POLLERR) - self.check() - - def check(self): - if self.poller.poll(0): - raise BrokenPipeError("DropWall worker stopped during the copy") - - def close(self): - os.close(self.fd) - - -def cleanup_stale_temps(directory): - """Remove only old, owned temporary files left by interrupted copies.""" - cutoff = time.time() - STALE_SECONDS - try: - names = os.listdir(directory) - except OSError: - return - - for name in names: - if not (name.startswith(TEMP_PREFIX) and name.endswith(TEMP_SUFFIX)): - continue - path = os.path.join(directory, name) - try: - info = os.lstat(path) - if info.st_uid == os.getuid() and stat.S_ISREG(info.st_mode) and info.st_mtime < cutoff: - os.unlink(path) - except OSError: - continue - - -def is_inside(path, directory): - try: - return os.path.commonpath((path, directory)) == directory - except ValueError: - return False - - -def publish_unique(temp_path, source, directory, lease): - filename = os.path.basename(source) - stem, suffix = os.path.splitext(filename) - stem = stem or "wallpaper" - - for counter in range(10000): - candidate_name = filename if counter == 0 else "%s-%d%s" % (stem, counter, suffix) - candidate = os.path.join(directory, candidate_name) - try: - lease.check() - # The hard link exposes the already-complete inode atomically and - # fails if candidate exists. It can never replace user data. - os.link(temp_path, candidate, follow_symlinks=False) - return candidate - except FileExistsError: - continue - - raise FileExistsError("could not allocate a unique destination filename") - - -def copy_atomic(source, directory, lease): - global ACTIVE_TEMP - - real_directory = os.path.realpath(directory) - if not os.path.isdir(real_directory): - raise NotADirectoryError("wallpaper directory does not exist") - - source_flags = os.O_RDONLY | getattr(os, "O_CLOEXEC", 0) | getattr(os, "O_NONBLOCK", 0) - source_fd = os.open(source, source_flags) - with os.fdopen(source_fd, "rb") as source_file: - source_info = os.fstat(source_file.fileno()) - if not stat.S_ISREG(source_info.st_mode): - raise OSError("the dropped path is not a regular file") - - # Resolve the descriptor we actually validated, not a pathname that - # could have been swapped after open(). - real_source = os.path.realpath("/proc/self/fd/%d" % source_file.fileno()) - if is_inside(real_source, real_directory): - return real_source - - cleanup_stale_temps(real_directory) - temp_fd, temp_path = tempfile.mkstemp( - prefix=TEMP_PREFIX, - suffix=TEMP_SUFFIX, - dir=real_directory, - ) - ACTIVE_TEMP = temp_path - try: - with os.fdopen(temp_fd, "wb") as temp_file: - while True: - lease.check() - chunk = source_file.read(COPY_CHUNK) - if not chunk: - break - temp_file.write(chunk) - temp_file.flush() - os.fsync(temp_file.fileno()) - # Keep copies private even if the source was more permissive. - os.chmod(temp_path, 0o600) - return publish_unique(temp_path, source, real_directory, lease) - finally: - remove_active_temp() - - -def main(): - arm_parent_death_signal() - parser = argparse.ArgumentParser(description="Safely copy one DropWall image") - parser.add_argument("--lease-pid", type=int, required=True) - parser.add_argument("source") - parser.add_argument("directory") - args = parser.parse_args() - - for signum in (signal.SIGINT, signal.SIGTERM): - signal.signal(signum, terminate) - - lease = None - try: - lease = WorkerLease(args.lease_pid) - destination = copy_atomic(args.source, args.directory, lease) - except Exception as error: - print(str(error).replace("\n", " "), file=sys.stderr, flush=True) - return 1 - finally: - if lease is not None: - lease.close() - - print("COPIED\t%s" % encode_path(destination), flush=True) - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/dropwall/dropwall_helper.py b/dropwall/dropwall_helper.py deleted file mode 100644 index 7b8c99e..0000000 --- a/dropwall/dropwall_helper.py +++ /dev/null @@ -1,305 +0,0 @@ -#!/usr/bin/env python3 -"""DropWall helper: transparent layer-shell drop targets, one per monitor. - -Owned by dropwall_supervisor.py, which keeps one worker attached to the single -stream opened by the DropWall Noctalia service. - -Protocol, one line per event on stdout: - READY\t n drop surfaces created - ALIVE heartbeat for stream/orphan detection - DROP\t\t\t\t\t\t image dropped; path is percent-encoded - INVALID\t unsupported filename extension - MISSING\t dropped path is not a regular file - ERR\t non-fatal problem -""" - -import argparse -import ctypes -import fcntl -import os -import signal -import stat -import sys -import threading -import urllib.parse - -# Python ignores SIGPIPE by default. Restoring the Unix behavior makes an -# orphaned helper exit on its next heartbeat when Noctalia closes the stream. -signal.signal(signal.SIGPIPE, signal.SIG_DFL) - -try: - import gi - - gi.require_version("Gtk", "3.0") - gi.require_version("Gdk", "3.0") - gi.require_version("GtkLayerShell", "0.1") - from gi.repository import Gdk, GLib, Gtk, GtkLayerShell # noqa: E402 -except (ImportError, ValueError) as error: - message = str(error).replace("\n", " ") - print("ERR\tGTK dependencies could not be loaded: %s" % message, flush=True) - raise SystemExit(2) - -CSS = b""" -window { background-color: rgba(0, 0, 0, 0); } -.dropzone { - background-color: rgba(0, 0, 0, 0); - border: 3px dashed rgba(0, 0, 0, 0); - border-radius: 18px; - margin: 14px; - transition: background-color 150ms ease, border-color 150ms ease; -} -.dropzone.hover { - background-color: rgba(128, 128, 128, 0.16); - border-color: rgba(255, 255, 255, 0.55); -} -""" - -LAYERS = { - "background": GtkLayerShell.Layer.BACKGROUND, - "bottom": GtkLayerShell.Layer.BOTTOM, -} - -VALID_EXTENSIONS = {"jpg", "jpeg", "png", "webp", "bmp", "gif"} -HEARTBEAT_SECONDS = 5 -EMIT_LOCK = threading.Lock() -INSTANCE_LOCK = None - - -def emit(line): - with EMIT_LOCK: - print(line, flush=True) - - -def arm_parent_death_signal(): - """Ask Linux to terminate us if the process that spawned us disappears.""" - parent = os.getppid() - try: - libc = ctypes.CDLL(None, use_errno=True) - if libc.prctl(1, signal.SIGTERM, 0, 0, 0) != 0: # PR_SET_PDEATHSIG - return - # Close the small race where the parent dies immediately before prctl. - if os.getppid() != parent: - os.kill(os.getpid(), signal.SIGTERM) - except (AttributeError, OSError): - # The heartbeat/SIGPIPE path remains the portable fallback. - return - - -def acquire_instance_lock(): - """Keep at most one DropWall target alive in this user session.""" - global INSTANCE_LOCK - - runtime_dir = os.environ.get("XDG_RUNTIME_DIR") - if not runtime_dir: - emit("ERR\tXDG_RUNTIME_DIR is not set") - return False - - lock_path = os.path.join(runtime_dir, "noctalia-dropwall.lock") - flags = os.O_RDWR | os.O_CREAT - flags |= getattr(os, "O_CLOEXEC", 0) | getattr(os, "O_NOFOLLOW", 0) - - try: - fd = os.open(lock_path, flags, 0o600) - info = os.fstat(fd) - if info.st_uid != os.getuid() or not stat.S_ISREG(info.st_mode): - raise PermissionError("unsafe lock file") - os.fchmod(fd, 0o600) - fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB) - except BlockingIOError: - os.close(fd) - emit("BUSY\tanother DropWall helper is already running") - return False - except OSError as error: - if "fd" in locals(): - os.close(fd) - emit("ERR\tcould not acquire the runtime lock: %s" % error) - return False - - INSTANCE_LOCK = os.fdopen(fd, "w", encoding="ascii") - INSTANCE_LOCK.write("%d\n" % os.getpid()) - INSTANCE_LOCK.flush() - return True - - -def selection_to_path(data): - """Extract the first local file path from a drop's selection data.""" - uris = list(data.get_uris() or []) - if not uris: - text = data.get_text() - if text: - uris = [part for part in text.split("\n") if part.strip()] - for uri in uris: - uri = uri.strip() - if uri.startswith("file://"): - parsed = urllib.parse.urlsplit(uri) - if parsed.netloc not in ("", "localhost"): - continue - path = os.fsdecode(urllib.parse.unquote_to_bytes(parsed.path)) - if uri.startswith("/"): - path = uri - elif not uri.startswith("file://"): - continue - if "\0" not in path and os.path.isabs(path): - return path - return None - - -def encode_path(path): - """Encode filesystem bytes as ASCII so filenames cannot forge events.""" - return urllib.parse.quote_from_bytes(os.fsencode(path), safe="") - - -def process_drop(path, geometry): - """Validate a drop away from the GTK event loop, then report it.""" - encoded_path = encode_path(path) - try: - info = os.stat(path) - except (OSError, ValueError): - emit("MISSING\t%s" % encoded_path) - return - if not stat.S_ISREG(info.st_mode): - emit("MISSING\t%s" % encoded_path) - return - - extension = os.path.splitext(path)[1].lower().lstrip(".") - if extension not in VALID_EXTENSIONS: - emit("INVALID\t%s" % encoded_path) - return - - encoded_path = encode_path(path) - x, y, width, height = geometry - emit("DROP\t%d\t%d\t%d\t%d\t%d\t%s" % (x, y, width, height, os.getpid(), encoded_path)) - - -class DropWindow(Gtk.Window): - def __init__(self, monitor, layer): - super().__init__(type=Gtk.WindowType.TOPLEVEL) - self.monitor = monitor - - visual = self.get_screen().get_rgba_visual() - if visual is not None: - self.set_visual(visual) - - GtkLayerShell.init_for_window(self) - GtkLayerShell.set_layer(self, layer) - GtkLayerShell.set_monitor(self, monitor) - GtkLayerShell.set_namespace(self, "dropwall") - for edge in ( - GtkLayerShell.Edge.LEFT, - GtkLayerShell.Edge.RIGHT, - GtkLayerShell.Edge.TOP, - GtkLayerShell.Edge.BOTTOM, - ): - GtkLayerShell.set_anchor(self, edge, True) - # Cover the full output, including space reserved by bars/docks. - GtkLayerShell.set_exclusive_zone(self, -1) - - self.zone = Gtk.Box() - self.zone.get_style_context().add_class("dropzone") - self.add(self.zone) - - self.drag_dest_set(Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY) - self.drag_dest_add_uri_targets() - self.drag_dest_add_text_targets() - self.connect("drag-motion", self.on_drag_motion) - self.connect("drag-leave", self.on_drag_leave) - self.connect("drag-data-received", self.on_drag_data_received) - - self.show_all() - - def on_drag_motion(self, _widget, _context, _x, _y, _time): - self.zone.get_style_context().add_class("hover") - return False # let the default DestDefaults handler ack the drag - - def on_drag_leave(self, _widget, _context, _time): - self.zone.get_style_context().remove_class("hover") - - def on_drag_data_received(self, _widget, _context, _x, _y, data, _info, _time): - self.zone.get_style_context().remove_class("hover") - path = selection_to_path(data) - if not path: - emit("ERR\tdrop carried no usable local file path") - return - geo = self.monitor.get_geometry() - geometry = (geo.x, geo.y, geo.width, geo.height) - threading.Thread( - target=process_drop, - args=(path, geometry), - daemon=True, - ).start() - - -class App: - def __init__(self, layer): - self.layer = layer - self.windows = [] - self.rebuild_pending = False - - provider = Gtk.CssProvider() - provider.load_from_data(CSS) - Gtk.StyleContext.add_provider_for_screen( - Gdk.Screen.get_default(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION - ) - - display = Gdk.Display.get_default() - display.connect("monitor-added", self.schedule_rebuild) - display.connect("monitor-removed", self.schedule_rebuild) - self.build_windows() - GLib.timeout_add_seconds(HEARTBEAT_SECONDS, self.heartbeat) - - def build_windows(self): - for win in self.windows: - win.destroy() - self.windows = [] - display = Gdk.Display.get_default() - for i in range(display.get_n_monitors()): - monitor = display.get_monitor(i) - if monitor is not None: - self.windows.append(DropWindow(monitor, self.layer)) - emit("READY\t%d" % len(self.windows)) - - def heartbeat(self): - emit("ALIVE") - return True - - def schedule_rebuild(self, *_args): - # Debounce: hotplug fires added+removed bursts during mode changes. - if self.rebuild_pending: - return - self.rebuild_pending = True - - def do_rebuild(): - self.rebuild_pending = False - self.build_windows() - return False - - GLib.timeout_add(500, do_rebuild) - - -def main(): - parser = argparse.ArgumentParser(description="DropWall layer-shell drop helper") - parser.add_argument("--layer", choices=sorted(LAYERS), default="background") - args = parser.parse_args() - - arm_parent_death_signal() - if not acquire_instance_lock(): - return 3 - - try: - if Gdk.Display.get_default() is None: - emit("ERR\tcould not connect to the Wayland display") - return 1 - if not GtkLayerShell.is_supported(): - emit("ERR\tlayer-shell is not supported by this compositor") - return 1 - - App(LAYERS[args.layer]) - Gtk.main() - return 0 - except Exception as error: - emit("ERR\tGTK helper startup failed: %s" % str(error).replace("\n", " ")) - return 1 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/dropwall/dropwall_supervisor.py b/dropwall/dropwall_supervisor.py deleted file mode 100644 index 0e12f18..0000000 --- a/dropwall/dropwall_supervisor.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python3 -"""Keep one DropWall GTK target attached to a single Noctalia stream.""" - -import argparse -import ctypes -import os -import signal -import subprocess -import sys -import time - - -# Exit immediately when Noctalia closes runStream's stdout pipe. -signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - -def arm_parent_death_signal(): - """Ask Linux to terminate us if Noctalia disappears.""" - parent = os.getppid() - try: - libc = ctypes.CDLL(None, use_errno=True) - if libc.prctl(1, signal.SIGTERM, 0, 0, 0) != 0: # PR_SET_PDEATHSIG - return - if os.getppid() != parent: - os.kill(os.getpid(), signal.SIGTERM) - except (AttributeError, OSError): - return - - -def emit(line): - print(line, flush=True) - - -def worker_command(args): - helper = os.path.join(os.path.dirname(os.path.abspath(__file__)), "dropwall_helper.py") - return [sys.executable, "-B", helper, "--layer", args.layer] - - -def run_worker(command): - process = subprocess.Popen( - command, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - encoding="utf-8", - errors="replace", - bufsize=1, - ) - assert process.stdout is not None - for line in process.stdout: - emit(line.rstrip("\n")) - return process.wait() - - -def main(): - parser = argparse.ArgumentParser(description="DropWall helper supervisor") - parser.add_argument("--layer", choices=("background", "bottom"), default="background") - args = parser.parse_args() - - arm_parent_death_signal() - command = worker_command(args) - lock_retry_seconds = 2 - - while True: - try: - exit_code = run_worker(command) - except OSError as error: - emit("ERR\tcould not start the GTK helper: %s" % str(error).replace("\n", " ")) - exit_code = 127 - - emit("RESTART\t%d" % exit_code) - if exit_code == 3: - # A collision normally means the previous runtime is still - # shutting down. Back off if it is a genuinely persistent owner. - time.sleep(lock_retry_seconds) - lock_retry_seconds = min(lock_retry_seconds * 2, 60) - else: - lock_retry_seconds = 2 - time.sleep(30) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/dropwall/plugin.toml b/dropwall/plugin.toml deleted file mode 100644 index a974882..0000000 --- a/dropwall/plugin.toml +++ /dev/null @@ -1,61 +0,0 @@ -# DropWall — drag & drop an image anywhere onto the desktop to set it as the -# wallpaper. -# -# A headless [[service]] owns a Python supervisor and a GTK3 + gtk-layer-shell -# worker that keeps one transparent layer-shell surface per monitor as a drop -# target. When an image is dropped, the worker reports the file and monitor -# geometry; the service resolves the output connector and applies it through -# noctalia.setWallpaper(), just like the built-in wallpaper panel. -# -# External requirements: python3, python-gobject, gtk3, gtk-layer-shell. - -id = "whyoolw/dropwall" -name = "DropWall" -version = "1.0.0" -plugin_api = 3 -author = "whyoolw" -license = "MIT" -dependencies = ["python3", "python-gobject", "gtk3", "gtk-layer-shell"] -tags = ["desktop", "wallpaper"] -icon = "image" -description = "Drag and drop an image onto the desktop to set it as wallpaper using Noctalia's wallpaper settings." - -[[setting]] -key = "per_monitor" -type = "bool" -label_key = "settings.per_monitor.label" -description_key = "settings.per_monitor.description" -default = false - -[[setting]] -key = "copy_to_wallpaper_dir" -type = "bool" -label_key = "settings.copy_to_wallpaper_dir.label" -description_key = "settings.copy_to_wallpaper_dir.description" -default = false - -[[setting]] -key = "notify_on_set" -type = "bool" -label_key = "settings.notify_on_set.label" -description_key = "settings.notify_on_set.description" -default = true - -# Which layer-shell layer the invisible drop surface lives on. "background" -# sits next to the wallpaper itself and is the least intrusive; switch to -# "bottom" if drops don't register on your compositor because the wallpaper -# surface swallows them. Changing it restarts the service automatically. -[[setting]] -key = "layer" -type = "select" -label_key = "settings.layer.label" -description_key = "settings.layer.description" -default = "background" -options = [ - { value = "background", label_key = "settings.layer.options.background" }, - { value = "bottom", label_key = "settings.layer.options.bottom" }, -] - -[[service]] -id = "service" -entry = "service.luau" diff --git a/dropwall/service.luau b/dropwall/service.luau deleted file mode 100644 index b2aef6f..0000000 --- a/dropwall/service.luau +++ /dev/null @@ -1,282 +0,0 @@ ---!nonstrict --- DropWall service: owns one long-lived helper supervisor stream and applies --- dropped images as wallpapers. --- --- The supervisor owns a GTK3 + gtk-layer-shell worker with one transparent --- surface per monitor. Paths are percent-encoded on its stdout protocol, then --- decoded here before going through noctalia.setWallpaper(). - --- Same whitelist as the host wallpaper scanner (wallpaper.cpp). -local VALID_EXT = { jpg = true, jpeg = true, png = true, webp = true, bmp = true, gif = true } -local HELPER_ERROR_COOLDOWN = 300 -local helperErrorNotified = false -local lastHelperErrorAt = 0 -local busyLogged = false -local busyCount = 0 -local copyInProgress = false -local pendingCopy = nil -local helperStreamStarted = false - -local function cfg(key) - return noctalia.getConfig(key) -end - -local function basename(path) - return path:match("([^/]+)$") or path -end - -local function shellQuote(s) - return "'" .. tostring(s):gsub("'", "'\\''") .. "'" -end - -local function now() - return tonumber(noctalia.formatTime("%s")) or 0 -end - -local function reportHelperError(message) - noctalia.log("dropwall helper: " .. message) - local stamp = now() - if not helperErrorNotified or (stamp > 0 and stamp - lastHelperErrorAt >= HELPER_ERROR_COOLDOWN) then - helperErrorNotified = true - lastHelperErrorAt = stamp - noctalia.notifyError(noctalia.tr("notify.helper_error_title"), message) - end -end - -local function decodePath(value) - if type(value) ~= "string" or value == "" then - return nil - end - local decoded = noctalia.string.urlDecode(value) - if type(decoded) ~= "string" or decoded == "" or decoded:find("%z") then - return nil - end - return decoded -end - --- Resolve the connector of the monitor the image was dropped on by matching --- the helper-reported logical geometry against the host's output list. -local function findConnector(x, y, w, h) - local outputs = noctalia.outputs() - local exact = nil - local exactCount = 0 - for i = 1, #outputs do - local o = outputs[i] - if o.x == x and o.y == y and o.width == w and o.height == h then - exact = o.name - exactCount = exactCount + 1 - end - end - - -- Mirrored outputs may share identical geometry. Refuse an ambiguous match - -- instead of choosing one arbitrarily. - if exactCount == 1 then - return exact - elseif exactCount > 1 then - return nil - end - - return nil -end - -local function applyWallpaper(path, connector) - if cfg("per_monitor") then - if not connector then - noctalia.notifyError(noctalia.tr("notify.output_error_title"), basename(path)) - return - end - noctalia.setWallpaper(connector, path) - else - -- The host applies its normal all-output wallpaper behavior. - noctalia.setWallpaper(path) - end - if cfg("notify_on_set") then - noctalia.notify(noctalia.tr("notify.set_title"), basename(path)) - end -end - -local function applyOriginalAfterCopyError(path, connector, message) - noctalia.log("dropwall copy: " .. message) - noctalia.notifyError(noctalia.tr("notify.copy_dir_title"), noctalia.tr("notify.copy_failed")) - applyWallpaper(path, connector) -end - -local function copyAndApply(path, connector, leasePid) - if copyInProgress then - -- Bound copy concurrency to one process and retain only the latest queued - -- drop. It will be copied as soon as the active one finishes. - pendingCopy = { path = path, connector = connector, leasePid = leasePid } - noctalia.log("dropwall copy: queued latest drop while a copy is active") - return - end - - -- This is theme-mode dependent, so resolve it for every drop rather than - -- pinning the directory when the service starts. - local wallpaperDir = noctalia.wallpaperDirectory() - if type(wallpaperDir) ~= "string" or wallpaperDir == "" then - noctalia.notifyError(noctalia.tr("notify.copy_dir_title"), noctalia.tr("notify.copy_dir_missing")) - applyWallpaper(path, connector) - return - end - - local pluginDir = noctalia.pluginDir() - if type(pluginDir) ~= "string" or pluginDir == "" then - applyOriginalAfterCopyError(path, connector, "plugin directory is unavailable") - return - end - local copier = pluginDir .. "/dropwall_copy.py" - if not noctalia.fileExists(copier) then - applyOriginalAfterCopyError(path, connector, "copy helper is missing") - return - end - - local cmd = "exec python3 -B " .. shellQuote(copier) - .. " --lease-pid " .. shellQuote(leasePid) - .. " " .. shellQuote(path) .. " " .. shellQuote(wallpaperDir) - copyInProgress = true - local accepted = noctalia.runAsync(cmd, function(result) - copyInProgress = false - if type(result) ~= "table" or result.exitCode ~= 0 or result.timedOut or result.stdoutTruncated then - local detail = type(result) == "table" and noctalia.string.trim(result.stderr or "") or "no result" - applyOriginalAfterCopyError(path, connector, detail ~= "" and detail or "copy process failed") - else - local output = noctalia.string.trim(result.stdout or "") - local encoded = output:match("^COPIED\t([^\t\r\n]+)$") - local copied = decodePath(encoded) - local copiedInfo = copied and noctalia.fileInfo(copied) or nil - if not copied or type(copiedInfo) ~= "table" or copiedInfo.isDir then - applyOriginalAfterCopyError(path, connector, "copy helper returned an invalid destination") - else - applyWallpaper(copied, connector) - end - end - - local pending = pendingCopy - pendingCopy = nil - if pending then - copyAndApply(pending.path, pending.connector, pending.leasePid) - end - end, 60000) - - if not accepted then - copyInProgress = false - applyOriginalAfterCopyError(path, connector, "Noctalia rejected the copy process") - end -end - -local function handleDrop(path, connector, leasePid) - local ext = path:match("%.(%w+)$") - if not ext or not VALID_EXT[ext:lower()] then - noctalia.notifyError(noctalia.tr("notify.invalid_title"), basename(path)) - return - end - if not noctalia.fileExists(path) then - noctalia.notifyError(noctalia.tr("notify.missing_title"), path) - return - end - local info = noctalia.fileInfo(path) - if type(info) ~= "table" or info.isDir then - noctalia.notifyError(noctalia.tr("notify.missing_title"), path) - return - end - - if cfg("per_monitor") and not connector then - noctalia.notifyError(noctalia.tr("notify.output_error_title"), basename(path)) - return - end - - if cfg("copy_to_wallpaper_dir") then - copyAndApply(path, connector, leasePid) - else - applyWallpaper(path, connector) - end -end - -local function onHelperLine(line) - if line:sub(1, 5) == "DROP\t" then - local x, y, w, h, pid, encoded = line:match("^DROP\t(-?%d+)\t(-?%d+)\t(%d+)\t(%d+)\t(%d+)\t([^\t]+)$") - local path = decodePath(encoded) - local leasePid = tonumber(pid) - if path and leasePid and leasePid > 1 then - handleDrop(path, findConnector(tonumber(x), tonumber(y), tonumber(w), tonumber(h)), leasePid) - else - noctalia.log("dropwall: malformed DROP line: " .. line) - end - elseif line:sub(1, 8) == "INVALID\t" then - local path = decodePath(line:sub(9)) - noctalia.notifyError(noctalia.tr("notify.invalid_title"), path and basename(path) or "") - elseif line:sub(1, 8) == "MISSING\t" then - local path = decodePath(line:sub(9)) - noctalia.notifyError(noctalia.tr("notify.missing_title"), path or "") - elseif line:sub(1, 4) == "ERR\t" then - reportHelperError(line:sub(5)) - elseif line:sub(1, 5) == "BUSY\t" then - busyCount = busyCount + 1 - if not busyLogged then - noctalia.log("dropwall helper: " .. line:sub(6)) - busyLogged = true - end - if busyCount == 3 then - reportHelperError(noctalia.tr("notify.helper_busy")) - end - elseif line:sub(1, 6) == "READY\t" then - local count = tonumber(line:sub(7)) or 0 - if count > 0 then - helperErrorNotified = false - busyLogged = false - busyCount = 0 - else - reportHelperError(noctalia.tr("notify.no_outputs")) - end - elseif line:sub(1, 8) == "RESTART\t" then - local exitCode = line:sub(9) - if exitCode ~= "3" then - noctalia.log("dropwall: helper exited (code " .. exitCode .. "); supervisor will restart it") - end - elseif line ~= "ALIVE" and line ~= "" then - noctalia.log("dropwall helper output: " .. line) - end -end - -local function startHelper() - if not noctalia.commandExists("python3") then - reportHelperError(noctalia.tr("notify.python_missing")) - return - end - - local layer = tostring(cfg("layer") or "background") - if layer ~= "background" and layer ~= "bottom" then - layer = "background" - end - - local pluginDir = noctalia.pluginDir() - if type(pluginDir) ~= "string" or pluginDir == "" then - reportHelperError(noctalia.tr("notify.plugin_dir_missing")) - return - end - - local script = pluginDir .. "/dropwall_supervisor.py" - if not noctalia.fileExists(script) then - reportHelperError(noctalia.tr("notify.helper_file_missing")) - return - end - local cmd = "exec python3 -B " .. shellQuote(script) .. " --layer " .. shellQuote(layer) - cmd = cmd .. " 2>&1" - if noctalia.runStream(cmd, onHelperLine) then - helperStreamStarted = true - else - reportHelperError(noctalia.tr("notify.helper_start_failed")) - end -end - --- Boot. -startHelper() - --- If python3 was missing or the initial stream launch was rejected, retry --- without ever opening more than the one long-lived supervisor stream. -function update() - noctalia.setUpdateInterval(60000) - if not helperStreamStarted then - startHelper() - end -end diff --git a/dropwall/thumbnail.webp b/dropwall/thumbnail.webp deleted file mode 100644 index 3b86f590fa54269121f6fe629d9db463d67cfebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42012 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 diff --git a/dropwall/translations/en.json b/dropwall/translations/en.json deleted file mode 100644 index 4deb0c0..0000000 --- a/dropwall/translations/en.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "notify": { - "copy_dir_missing": "No wallpaper directory is configured; the original file will be used.", - "copy_dir_title": "Wallpaper was not copied", - "copy_failed": "The safe copy failed; the original file will be used.", - "helper_busy": "Another DropWall helper is still running. The plugin will keep retrying.", - "helper_error_title": "DropWall helper error", - "helper_file_missing": "The DropWall supervisor file is missing.", - "helper_start_failed": "Noctalia could not open the helper stream.", - "invalid_title": "Not an image (jpg, png, webp, bmp, gif)", - "missing_title": "Dropped file not found", - "no_outputs": "The helper could not create a drop target for any output.", - "output_error_title": "Could not identify the target monitor", - "plugin_dir_missing": "Noctalia did not provide the plugin directory.", - "python_missing": "python3 is not available on PATH.", - "set_title": "Wallpaper set" - }, - "settings": { - "copy_to_wallpaper_dir": { - "description": "Copy the dropped image into the system wallpaper directory before applying. Existing files are never replaced; a numeric suffix is added when needed.", - "label": "Copy into wallpaper directory" - }, - "layer": { - "description": "Layer-shell layer for the invisible drop surface. \"Background\" is the least intrusive; use \"Bottom\" if drops don't register.", - "label": "Drop surface layer", - "options": { - "background": "Background", - "bottom": "Bottom" - } - }, - "notify_on_set": { - "description": "Show a notification when a dropped image is applied.", - "label": "Notify on set" - }, - "per_monitor": { - "description": "Set the wallpaper only on the monitor the image was dropped on. When off, apply it to every output.", - "label": "Per-monitor drop" - } - }, - "title": "DropWall" -} diff --git a/ds4-color/README.md b/ds4-color/README.md deleted file mode 100644 index 73792a6..0000000 --- a/ds4-color/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# DS4 Color - -Set the LED lightbar colour on a connected PlayStation 4 DualShock 4 controller -from a Noctalia bar button and a color panel. Click the bar icon to apply your -saved colour, or right-click to open the panel and pick a new one. - -The entire DualShock 4 output-report protocol (USB report `0x05`, Bluetooth -report `0x11` with CRC32) is implemented in **pure Lua** — no external binary or -library is required. The plugin writes the HID output report straight to -`/dev/hidrawN`. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `hy4ri/ds4-color` | -| Entries | Bar widget: `widget`; panel: `panel`; service: `service` | - -## Requirements - -Requires `python3` (declared in `dependencies`): if Noctalia's `writeFile` cannot -open the `/dev/hidrawN` node `O_WRONLY`, the plugin falls back to a `python3` -one-liner that performs the raw binary write. Systems without Python present cannot -apply the colour when the direct write path fails. The plugin also needs -read/write access to the DualShock 4 `/dev/hidrawN` node. - -On most modern Linux desktops with `systemd-logind` and `uaccess`, the device -node is automatically accessible when you are logged in at the seat. - -On headless systems or systems without `uaccess`, create a udev rule: - -```udev -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4|09cc|0ba0", MODE="0660", GROUP="plugdev" -``` - -Then add your user to the `plugdev` group: - -```sh -sudo usermod -a -G plugdev $USER -``` - -Re-login or run `udevadm trigger` for the change to take effect. - -## Usage - -**Left-click** the **DS4 Color** bar button to instantly apply the last saved -colour to every connected DualShock 4. **Right-click** the bar button (or run the -command below) to open the panel: - -```sh -noctalia msg panel-toggle hy4ri/ds4-color:panel -``` - -In the panel: pick a colour with the native picker, type a hex value -(`RRGGBB` / `#RRGGBB` / `0xRRGGBB`), or tap a preset. **Save** persists the -chosen colour (so left-click reapplies it later) without touching the -controller; **Apply** sets the lightbar immediately and also saves it. The saved -colour survives restarts. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `glyph` | `glyph` | `device-gamepad-2` | Icon shown on the bar button. | - -## IPC - -```sh -noctalia msg plugin hy4ri/ds4-color:service all apply -noctalia msg plugin hy4ri/ds4-color:service all save -``` - -## Notes - -- Implements the DualShock 4 HID output report protocol directly in Lua - (derived from the Linux kernel `drivers/hid/hid-playstation.c`): USB report - id `0x05` (32 bytes) and Bluetooth report id `0x11` (78 bytes) with the - required CRC32 checksum. No kernel drivers or external binaries. -- Detects all connected DS4 controllers (USB `0x03` and Bluetooth `0x05` bus) - by scanning `/sys/class/hidraw/*/device/uevent` for Sony VID `054c` and - product IDs `05c4` / `09cc` / `0ba0`. -- The last chosen colour is persisted to the plugin data directory - (`last.json`) and restored on next open. Left-clicking the bar button applies - the saved colour; the panel's **Save** button updates it without writing to - the controller. -- No network access. Only the locally detected DualShock 4 controllers are - touched. diff --git a/ds4-color/panel.luau b/ds4-color/panel.luau deleted file mode 100644 index 2827cd1..0000000 --- a/ds4-color/panel.luau +++ /dev/null @@ -1,143 +0,0 @@ ---!nonstrict ---!nocheck ---!nolint UnknownGlobal -local tr = noctalia.tr("ds4_color") -local SERVICE = "hy4ri/ds4-color:service" - --- Validate a color is exactly 6 hex chars (no metachars / quote-breakers can --- survive this, so it is safe to interpolate into the runAsync shell string). -local function isHex6(s) - return type(s) == "string" and s:match("^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$") ~= nil -end - -local function sendToService(event, payload) - local cmd = "noctalia msg plugin " .. SERVICE .. " all " .. event - if payload ~= nil then cmd = cmd .. " '" .. payload .. "'" end - noctalia.runAsync(cmd, function() end) -end - -local function currentColor() - return noctalia.state.get("lastColor") or "990000" -end - -local applyPreset - -local function render() - local color = currentColor() - local presets = noctalia.state.get("presets") or {} - - local presetRow = {} - for i, p in ipairs(presets) do - local presetIndex = i - local selected = (p.hex:lower() == color:lower()) - table.insert(presetRow, ui.box({ - width = 34, - height = 34, - fill = "#" .. p.hex, - radius = 8, - border = "outline", - borderWidth = selected and 3 or 1, - onClick = function() applyPreset(presetIndex) end, - })) - end - - panel.render(ui.column({ gap = 10, padding = 12 }, { - ui.row({ align = "center", justify = "space_between" }, { - ui.label({ text = tr, fontSize = 18, fontWeight = "bold", color = "primary", flexGrow = 1 }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - - -- Live swatch preview - ui.box({ - width = 200, - height = 72, - fill = "#" .. color, - radius = 12, - border = "outline", - borderWidth = 2, - onClick = "onNativePicker", - }), - - -- Hex field + native picker button - ui.row({ gap = 8, align = "center" }, { - ui.input({ - key = "hex-input", - value = "#" .. color, - flexGrow = 1, - onSubmit = "onSubmitHex", - }), - ui.button({ glyph = "color-picker", variant = "ghost", onClick = "onNativePicker" }), - }), - - ui.label({ text = noctalia.tr("presets"), fontSize = 13, color = "on_surface_variant" }), - ui.row({ gap = 8, align = "center" }, presetRow), - - ui.row({ gap = 8 }, { - ui.button({ - text = noctalia.tr("save"), - variant = "ghost", - onClick = "onSave", - flexGrow = 1, - }), - ui.button({ - text = noctalia.tr("apply"), - variant = "primary", - onClick = "onApply", - flexGrow = 1, - }), - }), - })) -end - ---==== callbacks ==== -function onApply() - local c = currentColor() - if isHex6(c) then sendToService("apply", c) end -end - -function onSave() - local c = currentColor() - if isHex6(c) then sendToService("save", c) end -end - -function onSubmitHex(text) - local hex = text:match("^#?([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - or text:match("^0x([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - if hex == nil or not isHex6(hex) then - noctalia.notifyError(tr, noctalia.tr("bad_color")) - return - end - noctalia.state.set("lastColor", hex:upper()) - render() -end - -function onNativePicker() - noctalia.openColorPicker("#" .. currentColor(), function(color) - if color == nil then return end - local hex = color:match("#?(%x%x%x%x%x%x)") - if hex ~= nil then - noctalia.state.set("lastColor", hex:upper()) - render() - end - end) -end - -function onCloseClicked() - panel.close() -end - -function onClose() -end - -applyPreset = function(i) - local presets = noctalia.state.get("presets") or {} - local p = presets[i] - if p == nil then return end - noctalia.state.set("lastColor", p.hex:upper()) - render() -end - -function onOpen(context) - noctalia.state.watch("lastColor", function() render() end) - render() -end diff --git a/ds4-color/plugin.toml b/ds4-color/plugin.toml deleted file mode 100644 index 48a55b8..0000000 --- a/ds4-color/plugin.toml +++ /dev/null @@ -1,33 +0,0 @@ -id = "hy4ri/ds4-color" -name = "DS4 Color" -version = "0.1.1" -plugin_api = 9 -author = "hy4ri" -license = "MIT" -icon = "device-gamepad-2" -description = "Set the DualShock 4 lightbar colour from a bar button and panel." -tags = ["gaming", "hardware", "utility", "bar", "panel"] -dependencies = ["python3"] - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "device-gamepad-2" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 420 -height = 400 -placement = "floating" -position = "center" - -[[service]] -id = "service" -entry = "service.luau" diff --git a/ds4-color/service.luau b/ds4-color/service.luau deleted file mode 100644 index fac3b22..0000000 --- a/ds4-color/service.luau +++ /dev/null @@ -1,286 +0,0 @@ ---!nonstrict ---!nocheck ---!nolint UnknownGlobal --- Headless service: implements the DualShock 4 lightbar protocol in pure Lua. --- No external binary needed — writes the HID output report to /dev/hidrawN. -local tr = noctalia.tr("ds4_color") - --- Validate a color is exactly 6 hex chars. With this guarantee, no value that --- reaches runAsync (via the IPC command string) can contain a quote-breaking or --- shell metacharacter, so the single-quote interpolation is safe. -local function isHex6(s) - return type(s) == "string" and s:match("^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$") ~= nil -end - --- pluginDataDir() may return nil (state home unset), so resolve it lazily and --- guard every use. Computing it at module top-level and concatenating would --- throw on nil and kill the whole service entry (no onIpc -> IPC is a no-op). -local function persistentDir() - local dir = noctalia.pluginDataDir() - return dir -end - -local function lastFile() - local dir = persistentDir() - if dir == nil then return nil end - return dir .. "/last.json" -end - --- Sony DualShock 4 vendor / product IDs (from ps4-colors detect.c). -local SONY_VID = 0x054C -local KNOWN_PIDS = { [0x05C4] = true, [0x09CC] = true, [0x0BA0] = true } -local BUS_USB = 0x0003 -local BUS_BT = 0x0005 - --- Report protocol constants (from ps4-colors ds4.c / hid-playstation.c). -local DS4_USB_REPORT_ID = 0x05 -local DS4_BT_REPORT_ID = 0x11 -local DS4_USB_REPORT_LEN = 32 -local DS4_BT_REPORT_LEN = 78 -local DS4_USB_COMMON_OFFSET = 1 -local DS4_BT_COMMON_OFFSET = 3 -local DS4_OUTPUT_VALID_FLAG0_LED = 0x02 -local DS4_BT_HW_CONTROL = 0xC4 -local PS_OUTPUT_CRC32_SEED = 0xA2 -local COMMON_LIGHTBAR_R = 5 -local COMMON_LIGHTBAR_G = 6 -local COMMON_LIGHTBAR_B = 7 -local COMMON_VALID_FLAG0 = 0 - --- Built-in presets. Deep crimson is the boss's favourite. -local PRESETS = { - { name = "Crimson", hex = "990000" }, - { name = "Red", hex = "ff0000" }, - { name = "Green", hex = "00ff00" }, - { name = "Blue", hex = "0000ff" }, - { name = "Cyan", hex = "00ffff" }, - { name = "Magenta", hex = "ff00ff" }, - { name = "Yellow", hex = "ffff00" }, - { name = "White", hex = "ffffff" }, - { name = "Off", hex = "000000" }, -} - ---==== bitwise helpers (math-only, Lua 5.x safe — no &/|/~/>>) ==== -local function band(a, m) - return a % (m + 1) -end -local function rshift(a, n) - return math.floor(a / (2 ^ n)) -end -local function bxor(a, b) - local r = 0 - local pow = 1 - for _ = 1, 32 do - local ab = a % 2 - local bb = b % 2 - if ab ~= bb then r = r + pow end -- ~= is Lua not-equal, fine - a = math.floor(a / 2) - b = math.floor(b / 2) - pow = pow * 2 - end - return r -end -local function bnot32(a) - return bxor(a, 0xFFFFFFFF) -end - ---==== CRC32 (poly 0xEDB88320, reflected) ==== -local crc32_table = nil -local function crc32_init() - crc32_table = {} - for i = 0, 255 do - local crc = i - for _ = 1, 8 do - if band(crc, 1) ~= 0 then - crc = bxor(rshift(crc, 1), 0xEDB88320) - else - crc = rshift(crc, 1) - end - end - crc32_table[i] = crc - end -end - -local function crc32_le(crc, buf, len) - if crc32_table == nil then crc32_init() end - for i = 1, len do - local b = string.byte(buf, i) - crc = bxor(crc32_table[band(bxor(crc, b), 0xFF)], rshift(crc, 8)) - end - return crc -end - ---==== byte-string helpers ==== -local function zeros(n) - return string.rep("\0", n) -end - -local function setbyte(s, idx, val) - -- 1-indexed Lua string; idx is 0-based report offset - return string.sub(s, 1, idx) .. string.char(band(val, 0xFF)) .. string.sub(s, idx + 2) -end - ---==== report builders ==== -local function buildUsbReport(r, g, b) - local buf = "\5" .. zeros(DS4_USB_REPORT_LEN - 1) -- report_id 0x05, rest 0x00 - buf = setbyte(buf, DS4_USB_COMMON_OFFSET + COMMON_VALID_FLAG0, DS4_OUTPUT_VALID_FLAG0_LED) - buf = setbyte(buf, DS4_USB_COMMON_OFFSET + COMMON_LIGHTBAR_R, r) - buf = setbyte(buf, DS4_USB_COMMON_OFFSET + COMMON_LIGHTBAR_G, g) - buf = setbyte(buf, DS4_USB_COMMON_OFFSET + COMMON_LIGHTBAR_B, b) - return buf -end - -local function buildBtReport(r, g, b) - local buf = "\17\196\0" .. zeros(DS4_BT_REPORT_LEN - 3) -- 0x11, 0xC4, 0x00, rest 0x00 - buf = setbyte(buf, DS4_BT_COMMON_OFFSET + COMMON_VALID_FLAG0, DS4_OUTPUT_VALID_FLAG0_LED) - buf = setbyte(buf, DS4_BT_COMMON_OFFSET + COMMON_LIGHTBAR_R, r) - buf = setbyte(buf, DS4_BT_COMMON_OFFSET + COMMON_LIGHTBAR_G, g) - buf = setbyte(buf, DS4_BT_COMMON_OFFSET + COMMON_LIGHTBAR_B, b) - -- CRC32 over bytes 0..73 with seed 0xA2, stored at 74..77 (little-endian). - local crc = crc32_le(0xFFFFFFFF, string.char(PS_OUTPUT_CRC32_SEED), 1) - crc = band(bnot32(crc32_le(crc, buf, DS4_BT_REPORT_LEN - 4)), 0xFFFFFFFF) - buf = setbyte(buf, 74, band(crc, 0xFF)) - buf = setbyte(buf, 75, band(rshift(crc, 8), 0xFF)) - buf = setbyte(buf, 76, band(rshift(crc, 16), 0xFF)) - buf = setbyte(buf, 77, band(rshift(crc, 24), 0xFF)) - return buf -end - ---==== device detection (port of detect.c) ==== -local function parseHidId(line) - -- HID_ID=BBBB:VVVVVVVV:PPPPPPPP - local bus, vendor, product = line:match("HID_ID=(%x+):(%x+):(%x+)") - if bus == nil then return nil end - return tonumber(bus, 16), band(tonumber(vendor, 16), 0xFFFF), band(tonumber(product, 16), 0xFFFF) -end - -local function detectControllers() - local out = {} - local hidrawDir = noctalia.listDir("/sys/class/hidraw") - if hidrawDir == nil then return out end - for _, name in ipairs(hidrawDir) do - if name:sub(1, 6) == "hidraw" then - local ueventPath = "/sys/class/hidraw/" .. name .. "/device/uevent" - local content = noctalia.readFile(ueventPath) - if content ~= nil then - local bus, vendor, product - for line in content:gmatch("[^\n]+") do - if line:sub(1, 7) == "HID_ID=" then - bus, vendor, product = parseHidId(line) - break - end - end - if vendor == SONY_VID and KNOWN_PIDS[product] then - table.insert(out, { path = "/dev/" .. name, bus_type = bus }) - end - end - end - end - return out -end - --- Write the report to the hidraw node. Noctalia's writeFile is file-oriented and --- may not open a char device O_WRONLY. If the direct write fails we fall back to --- python3 (declared in dependencies) which does a true binary O_WRONLY write. -local function setLightbar(dev, r, g, b) - local report = (dev.bus_type == BUS_BT) - and buildBtReport(r, g, b) - or buildUsbReport(r, g, b) - local hex = "" - for i = 1, #report do - hex = hex .. string.format("%02x", string.byte(report, i)) - end - local ok, err = noctalia.writeFile(dev.path, report) - if ok then return true, nil end - -- Fallback: raw binary write via python3 (open(path,'wb').write(...)). - local py = string.format( - "python3 -c \"import sys; open('%s','wb').write(bytes.fromhex('%s'))\"", - dev.path, hex) - local done = noctalia.runAsync(py, function(res) - if res == nil or res.exitCode ~= 0 then - noctalia.notifyError(tr, noctalia.tr("write_error") .. " (" .. dev.path .. ")") - end - end) - return done, err -end - -local function loadLast() - local path = lastFile() - if path == nil then return "990000" end - local raw = noctalia.readFile(path) - if raw == nil or raw == "" then return "990000" end - local decoded = noctalia.json.decode(raw) - if type(decoded) ~= "table" or type(decoded.hex) ~= "string" then return "990000" end - if not isHex6(decoded.hex) then return "990000" end - return decoded.hex -end - -local function saveLast(hex) - local path = lastFile() - if path == nil then return end - noctalia.mkdirAll(persistentDir()) - local encoded = noctalia.json.encode({ hex = hex }) - if encoded ~= nil then noctalia.writeFile(path, encoded) end -end - -local function hexToRgb(hex) - return tonumber(hex:sub(1, 2), 16) or 0, - tonumber(hex:sub(3, 4), 16) or 0, - tonumber(hex:sub(5, 6), 16) or 0 -end - --- Apply a hex color to every connected DS4. -local function apply(hex) - if hex == nil or not isHex6(hex) then return end - local r, g, b = hexToRgb(hex) - local devs = detectControllers() - if #devs == 0 then - noctalia.notifyError(tr, noctalia.tr("no_controller")) - return - end - local ok = 0 - for _, dev in ipairs(devs) do - local good, err = setLightbar(dev, r, g, b) - if good then - ok = ok + 1 - else - noctalia.notifyError(tr, noctalia.tr("write_error") .. " (" .. dev.path .. ")") - end - end - if ok > 0 then - saveLast(hex) - noctalia.state.set("lastColor", hex) - noctalia.notify(tr, noctalia.tr("applied", { color = hex })) - end -end - --- Persist the chosen color WITHOUT touching the controller. -local function save(hex) - if hex == nil or not isHex6(hex) then return end - saveLast(hex) - noctalia.state.set("lastColor", hex) - noctalia.notify(tr, noctalia.tr("saved", { color = hex })) -end - -function onIpc(event, payload) - if event == "apply" and payload ~= nil then - local hex = payload:match("^#?([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - or payload:match("^0x([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - or "" - apply(hex) - elseif event == "save" and payload ~= nil then - local hex = payload:match("^#?([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - or payload:match("^0x([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])$") - or "" - save(hex) - elseif event == "get-presets" then - noctalia.state.set("presets", PRESETS) - end -end - -function load() - noctalia.state.set("lastColor", loadLast()) - noctalia.state.set("presets", PRESETS) -end - -load() diff --git a/ds4-color/thumbnail.webp b/ds4-color/thumbnail.webp deleted file mode 100644 index 7fc8b231e90cb2b005078c46d18420d2b0c9a3df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43682 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 E0I;>$A^-pY diff --git a/ds4-color/translations/en.json b/ds4-color/translations/en.json deleted file mode 100644 index 207ceec..0000000 --- a/ds4-color/translations/en.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "applied": "Lightbar set to #{color}", - "apply": "Apply", - "bad_color": "Invalid hex color.", - "ds4_color": "DS4 Color", - "no_controller": "No DualShock 4 detected.", - "presets": "Presets", - "save": "Save", - "saved": "Color #{color} saved", - "settings": { - "glyph": { - "description": "Icon shown on the bar button.", - "label": "Bar Glyph" - } - }, - "write_error": "Failed to write to controller." -} diff --git a/ds4-color/widget.luau b/ds4-color/widget.luau deleted file mode 100644 index 33a1f2d..0000000 --- a/ds4-color/widget.luau +++ /dev/null @@ -1,21 +0,0 @@ ---!nonstrict -local glyph = noctalia.getConfig("glyph") -local tr = noctalia.tr("ds4_color") - -local function render() - barWidget.setGlyph(glyph) - barWidget.setTooltip(tr) -end - --- Left click: apply the saved color directly (no panel needed). -function onClick() - local saved = noctalia.state.get("lastColor") or "990000" - noctalia.runAsync("noctalia msg plugin hy4ri/ds4-color:service all apply '" .. saved .. "'", function() end) -end - --- Right click: open the panel to pick / save a new color. -function onRightClick() - noctalia.togglePanel("hy4ri/ds4-color:panel") -end - -render() diff --git a/eyecare/README.md b/eyecare/README.md deleted file mode 100644 index b09221a..0000000 --- a/eyecare/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Eye-Care Reminders - -Periodically reminds you to take breaks using the 20-20-20 rule to reduce eye strain. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `apex077/eyecare` | -| Entries | Bar widget: `eyecare-widget`; service: `eyecare-service` | - -## Requirements - -- `dbus-monitor` on `PATH` (optional, for automatic system idle and screensaver lock detection). -- A system audio player on `PATH` (e.g., `canberra-gtk-play`, `paplay`, `pw-play`, or `aplay`) to hear sound cues. - -## Usage - -The **Eye-Care Reminders** plugin provides a status bar widget that displays either the active time countdown or the break duration. - -- **Active State**: Shows the remaining active screen time (e.g., `20:00`). Clicking the widget manually starts a break. -- **Break State**: Shows the remaining break duration (e.g., `Break: 20s`). Look 20 feet away at an object during this time. Clicking the widget aborts the break early. -- **Idle State**: Automatically pauses active timer accumulation and resets it if the user remains idle for the duration of a break. -- **Right-Click**: Resets the active/break timer back to its initial state. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `active_duration_minutes` | `int` | `20` | Active screen time before triggering a break (minutes) | -| `break_duration_seconds` | `int` | `20` | Required duration for eye-care breaks (seconds) | -| `enable_sound` | `bool` | `true` | Play notification sound when breaks start or finish (also requires Noctalia global sounds to be enabled) | -| `enable_notifications` | `bool` | `true` | Show system-level notifications for reminders | - -## IPC - -The service listens for compositor idle events. You can configure compositor hooks to notify the service when the system goes idle or resumes: - -```sh -noctalia msg plugin apex077/eyecare:eyecare-service all idled -noctalia msg plugin apex077/eyecare:eyecare-service all active -``` - -You can also send custom trigger/reset events to the service: - -```sh -noctalia msg plugin apex077/eyecare:eyecare-service all trigger-break -noctalia msg plugin apex077/eyecare:eyecare-service all finish-break -noctalia msg plugin apex077/eyecare:eyecare-service all reset -``` - -## Notes - -- **Zero-Config Idle Detection**: If `dbus-monitor` is installed, the service automatically monitors screensaver and login lock session state without manual compositor configuration. -- **Sound Players**: Sound notifications use Noctalia's native sound API if available, falling back to system audio players (`canberra-gtk-play`, `paplay`, `pw-play`, `aplay`), while respecting Noctalia's global sound settings. -- **Grace Period**: When starting a break, a grace period (default 10 seconds or the break duration, whichever is smaller) protects against accidental inputs aborting the break immediately. diff --git a/eyecare/plugin.toml b/eyecare/plugin.toml deleted file mode 100644 index feff608..0000000 --- a/eyecare/plugin.toml +++ /dev/null @@ -1,51 +0,0 @@ -id = "apex077/eyecare" -name = "Eye-Care Reminders" -version = "1.0.2" -plugin_api = 3 -author = "Apex077" -license = "MIT" -dependencies = ["dbus-monitor", "canberra-gtk-play", "paplay", "pw-play", "aplay"] -icon = "eye" -description = "Periodically reminds you to take breaks using the 20-20-20 rule." -tags = ["service", "bar", "utility", "productivity"] - -[[service]] -id = "eyecare-service" -entry = "service.luau" - -[[widget]] -id = "eyecare-widget" -entry = "widget.luau" - -# Global settings shared by service and widget -[[setting]] -key = "active_duration_minutes" -type = "int" -label_key = "settings.eyecare-active-duration.label" -description_key = "settings.eyecare-active-duration.description" -default = 20 -min = 1 -max = 180 - -[[setting]] -key = "break_duration_seconds" -type = "int" -label_key = "settings.eyecare-break-duration.label" -description_key = "settings.eyecare-break-duration.description" -default = 20 -min = 10 -max = 300 - -[[setting]] -key = "enable_sound" -type = "bool" -label_key = "settings.eyecare-sound.label" -description_key = "settings.eyecare-sound.description" -default = true - -[[setting]] -key = "enable_notifications" -type = "bool" -label_key = "settings.eyecare-notifications.label" -description_key = "settings.eyecare-notifications.description" -default = true diff --git a/eyecare/service.luau b/eyecare/service.luau deleted file mode 100644 index 50ffeb6..0000000 --- a/eyecare/service.luau +++ /dev/null @@ -1,311 +0,0 @@ ---!nonstrict - -local isSystemIdle = false -local activeTime = 0 -local idleTime = 0 -local breakTimer = 0 -local breakElapsed = 0 -local inBreak = false -local lastLineWasActiveChanged = false - --- Get setting values -local function getSettings() - return { - active_duration_minutes = tonumber(noctalia.getConfig("active_duration_minutes")) or 20, - break_duration_seconds = tonumber(noctalia.getConfig("break_duration_seconds")) or 20, - enable_sound = noctalia.getConfig("enable_sound") ~= false, - enable_notifications = noctalia.getConfig("enable_notifications") ~= false - } -end - -local settings = getSettings() - --- Support onConfigChanged to update settings in-place -function onConfigChanged() - settings = getSettings() - noctalia.log("eyecare: settings updated") - updateState() -end - --- Get Noctalia global sound volume (normalized between 0.0 and 1.0) -local function getSoundVolume() - local rawVol = noctalia.getConfig("sound_volume") - if rawVol == nil then rawVol = noctalia.getConfig("soundVolume") end - if rawVol == nil then rawVol = noctalia.getConfig("audio.sound_volume") end - if rawVol == nil and noctalia.sound and type(noctalia.sound.getVolume) == "function" then - rawVol = noctalia.sound.getVolume() - end - local vol = tonumber(rawVol) - if vol == nil then - return 1.0 - end - if vol > 1.0 then - vol = vol / 100.0 - end - return math.clamp(vol, 0.0, 1.0) -end - --- Check whether sound cues are permitted by both plugin and Noctalia global configuration -local function isSoundAllowed() - if not settings.enable_sound then - return false - end - - -- Check Noctalia global sound configuration options - local enableSounds = noctalia.getConfig("enable_sounds") - if enableSounds == false or enableSounds == "false" then - return false - end - - local soundEnabled = noctalia.getConfig("sound_enabled") - if soundEnabled == false or soundEnabled == "false" then - return false - end - - local audioEnableSounds = noctalia.getConfig("audio.enable_sounds") - if audioEnableSounds == false or audioEnableSounds == "false" then - return false - end - - if getSoundVolume() <= 0 then - return false - end - - return true -end - --- Play a notification sound using system players with volume scaling matching Noctalia's volume setting -local function playSound(soundName) - if not isSoundAllowed() then - return - end - - local vol = getSoundVolume() - if vol <= 0 then - return - end - - local path = "/usr/share/sounds/freedesktop/stereo/" .. soundName .. ".oga" - local paVol = math.floor(vol * 65536) - local pwVol = string.format("%.2f", vol) - - local cmd = string.format( - "pw-play --volume=%s %s || paplay --volume=%d %s || canberra-gtk-play -i %s || aplay %s || true", - pwVol, path, paVol, path, soundName, path - ) - noctalia.runAsync(cmd) -end - -local lastLoggedIdle = nil - --- Update in-memory state shared with widget -local function updateState() - if isSystemIdle ~= lastLoggedIdle then - lastLoggedIdle = isSystemIdle - noctalia.log("eyecare: system idle state changed to " .. tostring(isSystemIdle)) - end - - noctalia.state.set("eyecare-in-break", inBreak) - noctalia.state.set("eyecare-active-time", activeTime) - noctalia.state.set("eyecare-break-timer", breakTimer) - noctalia.state.set("eyecare-break-elapsed", breakElapsed) - noctalia.state.set("eyecare-idle-time", idleTime) - noctalia.state.set("eyecare-is-system-idle", isSystemIdle) - noctalia.state.set("eyecare-active-duration-minutes", settings.active_duration_minutes) - noctalia.state.set("eyecare-break-duration-seconds", settings.break_duration_seconds) -end - -local wasSystemIdle = false - --- Helper functions for timer state transitions -local function triggerBreak() - inBreak = true - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - - if settings.enable_notifications then - noctalia.notify( - noctalia.tr("notifications.eyecare-break-title") or "Time for a break", - noctalia.tr("notifications.eyecare-break-body", { seconds = settings.break_duration_seconds }) or string.format("Focus on an object 20 feet away for %d seconds.", settings.break_duration_seconds) - ) - end - if settings.enable_sound then - playSound("message") - end -end - -local function finishBreak() - inBreak = false - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - - if settings.enable_notifications then - noctalia.notify( - noctalia.tr("notifications.eyecare-break-finished-title") or "Break finished", - noctalia.tr("notifications.eyecare-break-finished-body") or "Your eyes are rested. You can return to your screen." - ) - end - if settings.enable_sound then - playSound("complete") - end -end - -local function abortBreak() - inBreak = false - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 -end - -local function resetTimer() - inBreak = false - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - idleTime = 0 - - if settings.enable_notifications then - noctalia.notify( - noctalia.tr("notifications.eyecare-reset-title") or "Eye-Care", - noctalia.tr("notifications.eyecare-reset-body") or "Timer has been reset." - ) - end -end - --- Tick cycle actions (every 1 second) -function update() - noctalia.setUpdateInterval(1000) - - -- Detect transition from idle to active (unlock/wake up) - local transitionedToActive = (wasSystemIdle and not isSystemIdle) - wasSystemIdle = isSystemIdle - - if inBreak then - breakTimer = breakTimer + 1 - breakElapsed = breakTimer -- Keep breakElapsed in sync for backward compatibility - - if transitionedToActive then - local grace_threshold = math.min(10, settings.break_duration_seconds) - if breakTimer >= grace_threshold then - -- User was away for at least the grace threshold and now returned, - -- so consider the break completed/accepted. - inBreak = false - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - else - -- User returned almost immediately, abort/cancel the break - inBreak = false - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - end - elseif breakTimer >= settings.break_duration_seconds then - -- Break completed successfully - finishBreak() - end - else - -- Not in break - if isSystemIdle then - idleTime = idleTime + 1 - -- Natural break detection (user rested without prompting) - if idleTime >= settings.break_duration_seconds then - activeTime = 0 - end - else - idleTime = 0 - activeTime = activeTime + 1 - if activeTime >= settings.active_duration_minutes * 60 then - -- Trigger Break Reminder - inBreak = true - breakTimer = 0 - breakElapsed = 0 - activeTime = 0 - - if settings.enable_notifications then - noctalia.notify( - noctalia.tr("notifications.eyecare-break-title") or "Time for a break", - noctalia.tr("notifications.eyecare-break-body", { seconds = settings.break_duration_seconds }) or string.format("Focus on an object 20 feet away for %d seconds.", settings.break_duration_seconds) - ) - end - if settings.enable_sound then - playSound("message") - end - end - end - end - - updateState() -end - --- Listen to compositor IPC commands -function onIpc(event, payload) - if event == "idled" then - isSystemIdle = true - elseif event == "active" then - isSystemIdle = false - elseif event == "trigger-break" then - triggerBreak() - elseif event == "finish-break" then - finishBreak() - elseif event == "abort-break" then - abortBreak() - elseif event == "reset" then - resetTimer() - end - updateState() -end - --- Watch widget-triggered requests in-process -noctalia.state.watch("eyecare-request", function(req) - if req == "trigger-break" then - triggerBreak() - noctalia.state.set("eyecare-request", nil) - elseif req == "abort-break" then - abortBreak() - noctalia.state.set("eyecare-request", nil) - elseif req == "reset" then - resetTimer() - noctalia.state.set("eyecare-request", nil) - end - updateState() -end) - --- Initialize automatic DBus monitor stream hooks (zero-config fallback) -if noctalia.commandExists("dbus-monitor") then - noctalia.log("eyecare: dbus-monitor found, starting automatic screensaver & lock streams") - - local sessionLoop = 'P=$PPID; while kill -0 "$P" 2>/dev/null; do dbus-monitor --session "interface=\'org.freedesktop.ScreenSaver\'" 2>/dev/null; sleep 3; done' - noctalia.runStream(sessionLoop, function(line) - if string.find(line, "ActiveChanged") then - lastLineWasActiveChanged = true - elseif lastLineWasActiveChanged then - lastLineWasActiveChanged = false - if string.find(line, "true") then - isSystemIdle = true - updateState() - elseif string.find(line, "false") then - isSystemIdle = false - updateState() - end - end - end) - - local systemLoop = 'P=$PPID; while kill -0 "$P" 2>/dev/null; do dbus-monitor --system "interface=\'org.freedesktop.login1.Session\'" 2>/dev/null; sleep 3; done' - noctalia.runStream(systemLoop, function(line) - if string.find(line, "member=Lock") then - isSystemIdle = true - updateState() - elseif string.find(line, "member=Unlock") then - isSystemIdle = false - updateState() - end - end) -else - noctalia.log("eyecare: dbus-monitor not found on system path") -end - --- Initialize the shared state -updateState() diff --git a/eyecare/thumbnail.webp b/eyecare/thumbnail.webp deleted file mode 100644 index d8f0aa34da814eb175d7b259bfb690dc4d7f4e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63194 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 F1^`kQM&bYf diff --git a/eyecare/translations/en.json b/eyecare/translations/en.json deleted file mode 100644 index c916c7a..0000000 --- a/eyecare/translations/en.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "notifications": { - "eyecare-break-body": "Focus on an object 20 feet away for {seconds} seconds.", - "eyecare-break-finished-body": "Your eyes are rested. You can return to your screen.", - "eyecare-break-finished-title": "Break finished", - "eyecare-break-title": "Time for a break", - "eyecare-reset-body": "Timer has been reset.", - "eyecare-reset-title": "Eye-Care" - }, - "settings": { - "eyecare-active-duration": { - "description": "Active screen time before triggering a break (minutes)", - "label": "Active Duration" - }, - "eyecare-break-duration": { - "description": "Required duration for eye-care breaks (seconds)", - "label": "Break Duration" - }, - "eyecare-notifications": { - "description": "Show system-level notifications for reminders", - "label": "Enable Notifications" - }, - "eyecare-sound": { - "description": "Play notification sound when breaks start or finish", - "label": "Enable Audio Feedback" - } - } -} diff --git a/eyecare/translations/fr.json b/eyecare/translations/fr.json deleted file mode 100644 index e39bd3f..0000000 --- a/eyecare/translations/fr.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "notifications": { - "eyecare-break-title": "Le temps d'une pause" - }, - "settings": { - "eyecare-break-duration": { - "label": "Durée de la pause" - } - } -} diff --git a/eyecare/widget.luau b/eyecare/widget.luau deleted file mode 100644 index c45c236..0000000 --- a/eyecare/widget.luau +++ /dev/null @@ -1,100 +0,0 @@ ---!nonstrict - -local inBreak = false -local activeTime = 0 -local breakTimer = 0 -local breakElapsed = 0 -local idleTime = 0 -local isSystemIdle = false -local activeDurationMinutes = 20 -local breakDurationSeconds = 20 - -local function formatTime(seconds) - local mins = math.floor(seconds / 60) - local secs = seconds % 60 - return string.format("%02d:%02d", mins, secs) -end - -local function render() - if isSystemIdle then - barWidget.setGlyph("coffee") - barWidget.setText(string.format("Idle: %ds", idleTime)) - barWidget.setTooltip("System is idle. Resting eyes...") - barWidget.setGlyphColor("#26a69a") -- Teal - barWidget.setColor("#ffffff") - return - end - - if inBreak then - barWidget.setGlyph("hourglass") - local remaining = math.max(0, breakDurationSeconds - breakTimer) - barWidget.setText(string.format("Break: %ds", remaining)) - barWidget.setTooltip(string.format("Break in progress! Look 20ft away.\nTime remaining: %ds\nClick to abort early\nRight-click to reset", remaining)) - barWidget.setGlyphColor("#ff5252") -- Soft Red - barWidget.setColor("#ff5252") - else - barWidget.setGlyph("eye") - local activeLimit = activeDurationMinutes * 60 - local remaining = math.max(0, activeLimit - activeTime) - barWidget.setText(formatTime(remaining)) - barWidget.setTooltip(string.format("Eye-Care timer active.\nTime remaining: %s\nClick to start break manually\nRight-click to reset", formatTime(remaining))) - barWidget.setGlyphColor("#00e676") -- Vibrant Green - barWidget.setColor("#ffffff") - end -end - --- Watch state updates -noctalia.state.watch("eyecare-in-break", function(val) - inBreak = val == true - render() -end) - -noctalia.state.watch("eyecare-active-time", function(val) - activeTime = tonumber(val) or 0 - render() -end) - -noctalia.state.watch("eyecare-break-timer", function(val) - breakTimer = tonumber(val) or 0 - render() -end) - -noctalia.state.watch("eyecare-break-elapsed", function(val) - breakElapsed = tonumber(val) or 0 - render() -end) - -noctalia.state.watch("eyecare-idle-time", function(val) - idleTime = tonumber(val) or 0 - render() -end) - -noctalia.state.watch("eyecare-is-system-idle", function(val) - isSystemIdle = val == true - render() -end) - -noctalia.state.watch("eyecare-active-duration-minutes", function(val) - activeDurationMinutes = tonumber(val) or 20 - render() -end) - -noctalia.state.watch("eyecare-break-duration-seconds", function(val) - breakDurationSeconds = tonumber(val) or 20 - render() -end) - -function onClick() - if inBreak then - noctalia.state.set("eyecare-request", "abort-break") - else - noctalia.state.set("eyecare-request", "trigger-break") - end -end - -function onRightClick() - noctalia.state.set("eyecare-request", "reset") -end - --- Initial render -render() diff --git a/file-search/README.md b/file-search/README.md deleted file mode 100644 index 4b64a93..0000000 --- a/file-search/README.md +++ /dev/null @@ -1,258 +0,0 @@ -# File Search - -A [noctalia](https://github.com/noctalia-dev/noctalia) v5 bar plugin: fuzzy -search files and folders as you type, with [fzf](https://github.com/junegunn/fzf) -as the matching subsystem. Click the bar glyph to open a search panel; picking -a result opens it with the system MIME association (`xdg-open`) — directories -open in your file manager. One button widens the search to the USB disks you -have plugged in, or narrows it to those alone. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `nightwatch75/file-search` | -| Entries | Bar widget: `file-search`; panel: `panel`; launcher provider: `launcher` | -| Launcher Prefix | `/fs` | - -## Usage - -Add the `file-search` widget from Noctalia's widget picker and click it to -open the search panel. You can also open the panel directly or bind it in -your compositor: - -```sh -noctalia msg panel-toggle nightwatch75/file-search:panel -``` - -| Action | Effect | -|--------------|-------------------------------------------------| -| Left click | Open/close the search panel | -| Right click | Open the search folder in the file manager | - -Middle click is not used: every bar widget carries a built-in binding for it -that opens the widget's own settings, and a bound gesture never reaches the -plugin. Use the panel's ⚙ button, or the command below, for the settings. - -In the panel: - -| Key | Action | -|---------|-------------------------------------| -| `Enter` | Open the top match | -| `Esc` | Close the panel (noctalia default) | - -On a result row: - -| Action | Effect | -|-------------|----------------------------------------------------------| -| Left click | Open it with the system MIME association | -| Right click | Copy its path, *or* reveal it in the file manager | - -The 🗐/🗁 button in the panel header picks which of the two, and remembers it. -*Reveal* opens the containing folder with the item selected. Both leave the -panel up, so several rows can be picked off in a row. (Middle click is not an -option: a panel row only ever receives left and right clicks.) - -A path too long for one row is shortened in the middle rather than at the end, -so the file name — the part the query matched — always stays readable: -`.local/share/flatpak/repo/tmp/cache/…dolphin.idx.sig`. - -The plugin version sits next to the panel title. The footer counts what is -listed and what is indexed, and on the right how long the walk behind that -index took — per scope, kept across restarts, and still visible while a new -walk runs, which is when knowing the last one's cost is most useful. - -### Search syntax - -The query goes to `fzf` as-is, so its extended-search operators work here. The -panel keeps a one-line reminder of them above the status bar. - -| Query | Matches | -|---|---| -| `panel luau` | both terms, in any order (space is AND) | -| `'panel.luau` | **exact**, not fuzzy — a single quote, not double quotes | -| `^src` | at the start | -| `.webp$` | at the end | -| `luau !src` | `luau`, excluding anything with `src` | -| `.toml$ \| .json$` | either one (spaces around the `\|` are required) | - -A lowercase query is case-insensitive; one uppercase letter anywhere makes it -case-sensitive. There is no regex: fzf does not have one. - -The 🗠/🗺 button in the header switches how matches are scored, and remembers it: - -| Glyph | Ranking | -|---|---| -| 🗺 | **path-aware** *(default)* — a match starting a file or folder name wins, so `config` finds `.ssh/config` and not the deepest `…/Steam Controller Configs/` | -| 🗠 | generic — fzf's own scoring, which mostly rewards the shortest path | - -Path-aware costs about a third more CPU per keystroke and needs fzf 0.36 or -newer; on an older build the button stays on generic and says so. - -### Searching external disks - -The 🗀 button in the panel header cycles what the search covers: - -| Glyph | Scope | Covers | -|-------|-------|--------| -| 🗀 | Search folder only *(default)* | The `search_folder` setting, as before | -| 🗀🗀 | Search folder + external disks | Both, in one index | -| ⚿ | External disks only | Only the mounted removable volumes | - -An *external disk* is a mounted volume that came from a USB port or reports -itself removable: sticks and drives (bus-powered SSDs and LUKS-encrypted ones -included), SD cards, optical media. Internal drives never count, not even a -second SATA/NVMe under `/mnt` — put that in `search_folder` instead. The plugin -mounts nothing; it only sees what your desktop has already mounted. - -The choice survives restarts and is shared with the `/fs` launcher, which offers -the same switch. Each scope keeps its own index, so switching to the disks and -back does not re-walk your home folder. - -**External disks are only ever indexed on command**, because walking a -multi-terabyte drive takes minutes. Switching scope, opening the panel, changing -a setting or plugging a disk in never start a walk: the index stays in use and -the footer says *out of date*. The ↻ button (or *Rebuild search index* in the -launcher) is what rebuilds it, and a scope never indexed says so and waits. The -search folder alone keeps re-indexing itself, as before — it takes seconds. - -The panel header also carries a ⚙ button that opens this plugin's page in -*Settings → Plugins*, and a ↻ button that rebuilds the index. The same settings -page opens from the command line, so it can be bound in your compositor too: - -```sh -noctalia msg settings-open-plugin nightwatch75/file-search -``` - -In the noctalia launcher (keyboard-first flow, native navigation): - -| Key | Action | -|-------------|-------------------------------------------| -| `/fs `| Fuzzy search files and folders | -| `↑` / `↓` | Move through the results | -| `Enter` | Open the selected result (MIME/xdg-open) | - -With an empty `/fs` query the list also offers *Rebuild search index* and the -scope switch; the index is shared with the panel. *Rebuild search index* walks -the tree there and then, keeping the launcher open, and is offered next to the -results whenever the index is out of date. - -## Features - -- Live results while you type: the search folder is walked once with `find` - into a cache, then every keystroke is fuzzy-matched through - `fzf --filter`, so typing stays responsive even on large trees -- Configurable bar glyph, search folder (defaults to `~`), excluded folder - names (`.git, node_modules, .cache, .venv` by default, matched anywhere in - the tree), hidden entries on/off, max results -- One button to search the mounted USB/removable disks as well, or only those: - one index per scope, and disks walked only when you ask -- `Enter` opens the top match; every result row opens on click via the - system MIME association — files in their default app, folders in the file - manager -- Launcher provider for a keyboard-first flow: type `/fs ` in the - noctalia launcher and navigate the results with the native arrow keys + - `Enter` (plugin panels cannot receive arrow keys in the current Luau API, - so the launcher is the keyboard way to browse results) -- Folder results are marked with a trailing `/` and a folder glyph -- Right click copies a result's path, or reveals it in the file manager with the - item selected (`org.freedesktop.FileManager1.ShowItems` — Thunar, Nautilus, - Dolphin, Nemo, Caja and PCManFM-Qt all implement it) -- The search-folder index rebuilds itself when the relevant settings change, and - on demand via the panel's refresh button; any index covering an external disk - rebuilds on demand only -- Panel placement (attached/floating), position and open-near-click are the - standard per-panel settings noctalia exposes in Settings → Plugins - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `search_folder` | `folder` | *(empty)* | Root folder the search indexes. Empty = your home folder. | -| `exclude_dirs` | `string` | `.git, node_modules, .cache, .venv` | Folder names skipped while indexing, separated by `,` or `;`, matched anywhere in the tree. | -| `show_hidden` | `bool` | `false` | Index files and folders whose name starts with a dot. | -| `max_results` | `int` | `50` | How many matches the panel lists at most (10–200). | -| `glyph` (widget) | `glyph` | `search` | Icon shown on the bar. | - -## Requirements - -- noctalia v5.0.0-beta.6 or newer — the first tagged release that accepts - `plugin_api = 15` (`noctalia.openSettings()`, the panel's ⚙ button) -- [`fzf`](https://github.com/junegunn/fzf) — the fuzzy matcher. 0.36 or newer - for the path-aware ranking; older builds work, with fzf's default ranking -- `find` (GNU findutils) — walks the roots into the index -- `xdg-open` (xdg-utils) — opens results with the MIME association -- `mktemp`, `mv`, `wc`, `head`, `rm`, `date` — GNU coreutils, standard on any - Linux desktop (`date` times the index walk for the footer) -- `lsblk` (util-linux) — lists the mounted USB/removable volumes; only run when - the scope includes them. Missing, it falls back to `/proc/mounts` and the - udisks2 layout (`/run/media//…`, `/media/…`) -- `gdbus` (glib2) — reveals a result in the file manager - (`FileManager1.ShowItems`); only run on that right click. Missing, or with no - file manager implementing it, the click opens the containing folder instead - -## Install - -Install **File Search** from Noctalia's plugin store (*Settings → Plugins*), -then add the widget to a bar from *Settings → Bar*. Plugin options live in -*Settings → Plugins*. - -For local development, add your working copy as a path source instead -(`.luau` edits hot-reload): - -```sh -noctalia msg plugins source add dev path /path/to/plugins -noctalia msg plugins enable nightwatch75/file-search -``` - -## Notes - -- The index lives in the plugin's private data directory - (`noctalia.pluginDataDir()`, by default - `~/.local/state/noctalia/plugins/data/nightwatch75/file-search/` — honors - `NOCTALIA_STATE_HOME`/`XDG_STATE_HOME`): `list-` is a plain list of - paths, `meta-` records the scope, roots and exclusions that built it, - `count-` its line count and the walk's duration in milliseconds, and - `scope`, `row-action` and `ranking` the one word each - header toggle cycles. A fingerprint that no longer matches — a settings - change, a scope change, a disk plugged in or removed — rebuilds the - search-folder index automatically and marks a disk index out of date. -- Several disks share one index, not one each: a rebuild walks every mounted - volume in a single pass. Records are relative to the root when there is only - one (the common case, and what keeps the rows short) and absolute when there - are several — and they are always read the way the index was *written*, so - unplugging one of two disks leaves the rest of the results openable. -- Volume metadata is pruned at every root, since a disk used on Windows or macOS - otherwise contributes tens of thousands of records that are not your files: - `lost+found`, `$RECYCLE.BIN`, `RECYCLER`, `System Volume Information`, - `.Trash-*`, `.Spotlight-V100`, `.fseventsd`, `.Trashes`, `.TemporaryItems`, - `.DocumentRevisions-V100`, `Backups.backupdb`, `*.sparsebundle`, - `*.backupbundle`, `._*`, `.DS_Store`, `.AppleDouble`, `.AppleDB`, - `.AppleDesktop`, `Network Trash Folder`, `Temporary Items`, - `TheVolumeSettingsFolder`. -- `find` is bound by metadata latency, so a spinning USB drive with a million - files runs for minutes — hence on-demand only. A walk covering disks gets 30 - minutes against 3 for the search folder, and the panel stays usable - throughout, scope button included: a second walk is never queued. -- Cheap by design elsewhere too: the mount scan is cached 30 seconds and never - concurrent, and the line count comes from a `count-` sidecar instead of - re-reading a >100 MB index. -- Detection reads the transport and removable flags of the parent disk, not of - the mounted partition — a USB partition reports neither. NVMe and SATA drives - advertising hot-plug are deliberately not treated as removable. -- Both files are written to `mktemp`-created private files and renamed into - place, so a rebuild never writes through a symlink planted at the cache - path. -- Names containing a newline are excluded from the index (they would break - the one-record-per-line format), and every record is validated against the - roots it claims to come from before being opened. -- Excluded entries match by folder/file *name* (`find -name`), not by path; - entries containing `/` are skipped and logged. -- With hidden entries off, anything starting with a dot is pruned — both - hidden folders (not descended into) and hidden files. -- Unreadable subtrees are silently skipped (permission errors don't fail the - index). - -## License - -MIT. diff --git a/file-search/file-search.luau b/file-search/file-search.luau deleted file mode 100644 index cffdb46..0000000 --- a/file-search/file-search.luau +++ /dev/null @@ -1,70 +0,0 @@ ---!nonstrict --- file-search — bar widget that toggles the fuzzy search panel. --- --- The panel (panel.luau) publishes its open state on the shared --- "file_search_open" state key; the glyph lights up while it is open. --- --- Click mapping: --- Left click — open/close the search panel --- Right click — open the search folder in the file manager --- --- Middle click is deliberately not handled: every bar widget carries a built-in --- `middle = settings-open-widget` binding, and a bound gesture is masked off the --- widget's own input area, so an onMiddleClick here would never be called. The --- manifest could reclaim it with `[widget.actions] middle = "none"` (plugin API --- 14) — this plugin stays at the upstream behaviour instead. - -local PANEL_ID = "nightwatch75/file-search:panel" - -local open = false - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function searchRoot() - local dir = noctalia.getConfig("search_folder") - if dir == nil or dir == "" then - dir = noctalia.getenv("HOME") or "/tmp" - else - dir = noctalia.expandPath(dir) - end - dir = dir:gsub("/+$", "") - if dir == "" then - dir = "/" - end - return dir -end - -local function render() - barWidget.setGlyph(noctalia.getConfig("glyph")) - local root = searchRoot() - if open then - barWidget.setGlyphColor("primary") - barWidget.setTooltip(noctalia.tr("tooltip_open", { path = root })) - else - barWidget.setGlyphColor("on_surface") - barWidget.setTooltip(noctalia.tr("tooltip_closed", { path = root })) - end -end - -noctalia.state.watch("file_search_open", function(value) - open = value == true - render() -end) - --- Periodic re-render keeps the glyph and tooltip in sync with settings changes. -function update() - render() -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - noctalia.runAsync("xdg-open " .. shellQuote(searchRoot()) .. " >/dev/null 2>&1") -end - -noctalia.setUpdateInterval(1000) -render() diff --git a/file-search/launcher.luau b/file-search/launcher.luau deleted file mode 100644 index 2ebf689..0000000 --- a/file-search/launcher.luau +++ /dev/null @@ -1,722 +0,0 @@ ---!nonstrict --- file-search — launcher provider: the same fuzzy search with the native --- keyboard flow of the noctalia launcher (type, arrows, Enter). --- --- `/fs ` fuzzy-matches over the index file the panel builds; when the --- index is missing it is built here on demand. Activating a result opens it --- with the system MIME association (xdg-open) — directories open in the --- file manager. Late async results map back through the query echo of --- launcher.setResults, so fzf can answer out of band. --- --- The search scope (search folder / + removable disks / disks only) is the one --- the panel persists in the plugin data directory; an empty `/fs` query offers --- a row that cycles it here too, and each scope keeps its own index, so --- switching back and forth never re-walks a tree twice. --- --- Every helper below the tr() line down to computeRoots() is a copy of the --- panel's: entries are separate scripts with no module system, so the two must --- be kept in step by hand — in particular indexKey(), which is the fingerprint --- that lets one entry reuse an index the other built. - -local MAX_RESULTS = 9 -local INDEX_FORMAT = "2" --- Seconds a mount scan stays good for. Long enough that a burst of keystrokes --- costs one lsblk at most, short enough that a disk plugged in mid-session --- shows up without a manual refresh. -local MOUNT_TTL = 30 - -local VOLUME_NOISE = { - "lost+found", - "$RECYCLE.BIN", "RECYCLER", "System Volume Information", - ".Trash-*", - ".Spotlight-V100", ".fseventsd", ".Trashes", ".TemporaryItems", - ".DocumentRevisions-V100", ".PKInstallSandboxManager", - "Backups.backupdb", "*.sparsebundle", "*.backupbundle", - "._*", ".DS_Store", ".AppleDouble", ".AppleDB", ".AppleDesktop", - "Network Trash Folder", "Temporary Items", "TheVolumeSettingsFolder", -} - -local SCOPE_GLYPHS = { folder = "folder", all = "folders", external = "usb" } -local NEXT_SCOPE = { folder = "all", all = "external", external = "folder" } -local DEFAULT_SCOPE = "folder" - -local BUILD_TIMEOUT_LOCAL = 180000 -local BUILD_TIMEOUT_DISKS = 1800000 - -local searching = false -local indexing = false -local probing = false -local forceBuild = false -- set by the rebuild row, consumed by the next onQuery -local pendingQuery = nil -- latest query typed while a search/index/probe ran -local scope = DEFAULT_SCOPE -local mounts = {} -local mountsAt = 0 -- unix seconds of the last mount scan (0 = never) -local roots = {} -local indexRoots = {} -- what the index ON DISK was built with (indexRootsOf) -local absoluteRecords = false -local staleIndex = false -- searching an index that no longer matches the disks -local ranking = "path" -- scoring scheme, as persisted by the panel's toggle -local schemeSupported = false -- whether this fzf understands --scheme at all - -local runQuery - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function trim(value) - return (value:gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function startsWith(value, prefix) - return value:sub(1, #prefix) == prefix -end - -local function now() - return tonumber(noctalia.formatTime("%s")) or 0 -end - --- Same version gate as the panel: fzf learned --scheme in 0.36 and an older one --- would exit on an unknown option, leaving the launcher with an empty list. -local function probeFzfScheme() - noctalia.runAsync("fzf --version 2>/dev/null", function(result) - local major, minor = (result.stdout or ""):match("(%d+)%.(%d+)") - major, minor = tonumber(major), tonumber(minor) - schemeSupported = major ~= nil and minor ~= nil and (major > 0 or minor >= 36) - end, 5000) -end - -local function rankingFlag() - return (ranking == "path" and schemeSupported) and " --scheme=path" or "" -end - --- The panel owns the toggle; the launcher just follows what it wrote, re-read --- per query like the scope so the two never rank the same index differently. -local function readRanking(dir) - local raw = noctalia.readFile(dir .. "/ranking") - if type(raw) == "string" then - local value = trim(raw) - if value == "path" or value == "default" then - return value - end - end - return "path" -end - --- Mirrors the panel: the search folder may be re-walked whenever its --- fingerprint goes stale, an external disk never is. A 5 TB mechanical drive --- takes minutes per walk, and a keystroke is not a mandate to spend them — the --- rebuild row below is. -local function autoIndexAllowed() - return scope == "folder" -end - --- Private per-plugin storage (XDG state); the host creates the directory on --- every call. nil (with a log line) when no state directory resolves. -local function dataDir() - local dir, err = noctalia.pluginDataDir() - if dir == nil then - noctalia.log("file-search: pluginDataDir failed: " .. tostring(err)) - return nil - end - return dir -end - --- Shell header shared by every cache command. One cache pair per scope; the --- .meta sidecar holds the settings fingerprint the cache was built with, so the --- panel and the launcher can both tell a stale index apart. -local function cacheSh(dir) - return "CACHE_DIR=" .. shellQuote(dir) - .. '\nCACHE="$CACHE_DIR/list-' .. scope .. '"' - .. '\nMETA="$CACHE_DIR/meta-' .. scope .. '"' - .. '\nCOUNTF="$CACHE_DIR/count-' .. scope .. '"' -end - -local function readScope(dir) - local raw = noctalia.readFile(dir .. "/scope") - if type(raw) == "string" then - local value = trim(raw) - if SCOPE_GLYPHS[value] ~= nil then - return value - end - end - return DEFAULT_SCOPE -end - -local function writeScope(dir, value) - local ok, err = noctalia.writeFile(dir .. "/scope", value) - if not ok then - noctalia.log("file-search: could not persist the scope: " .. tostring(err)) - end -end - -local function searchRoot() - local dir = noctalia.getConfig("search_folder") - if dir == nil or dir == "" then - dir = noctalia.getenv("HOME") or "/tmp" - else - dir = noctalia.expandPath(dir) - end - dir = dir:gsub("/+$", "") - if dir == "" then - dir = "/" - end - return dir -end - - --- Same exclusion set as the panel: names from the setting plus hidden --- entries unless enabled. -local function excludeNames() - local raw = noctalia.getConfig("exclude_dirs") - if type(raw) ~= "string" then - raw = "" - end - local names = {} - for entry in raw:gmatch("[^,;]+") do - local name = trim(entry) - if name ~= "" and not name:find("/") then - table.insert(names, name) - end - end - if noctalia.getConfig("show_hidden") ~= true then - table.insert(names, ".*") - end - return names -end - --- ── removable volume detection (mirrors panel.luau) ────────────────────────── - -local function usableMount(path) - if path == nil or path == "" or path:sub(1, 1) ~= "/" then - return false - end - if path == "/" or path:find("%c") ~= nil then - return false - end - return path ~= "/boot" and not startsWith(path, "/boot/") -end - --- nil for an escaped control byte, so the caller drops that mount point --- entirely (see panel.luau). -local function unescapeHex(value) - local rejected = false - local out = value:gsub("\\x(%x%x)", function(hex) - local code = tonumber(hex, 16) - if code == nil or code < 32 or code == 127 then - rejected = true - return "" - end - return string.char(code) - end) - if rejected then - return nil - end - return out -end - -local function pairValue(line, key) - return (" " .. line):match(" " .. key .. '="(.-)"') -end - --- USB/removable mount points. The transport lives on the disk, not on the --- mounted partition, so the PKNAME chain is walked upwards; see the long --- comment in panel.luau. -local function parseLsblk(out) - local rows, byName = {}, {} - for line in out:gmatch("[^\n]+") do - local name = pairValue(line, "NAME") - if name ~= nil and name ~= "" then - local row = { - parent = pairValue(line, "PKNAME") or "", - removable = pairValue(line, "RM") == "1", - transport = pairValue(line, "TRAN") or "", - mount = unescapeHex(pairValue(line, "MOUNTPOINT") or ""), - } - byName[name] = row - table.insert(rows, row) - end - end - local found = {} - for _, row in ipairs(rows) do - if usableMount(row.mount) then - local node, depth = row, 0 - while node ~= nil and depth < 4 do - if node.transport == "usb" or node.removable then - table.insert(found, row.mount) - break - end - node = (node.parent ~= "") and byName[node.parent] or nil - depth += 1 - end - end - end - return found -end - --- Fallback for a system without util-linux: the udisks2 mount convention. -local function fallbackMounts() - local text = noctalia.readFile("/proc/mounts") - if type(text) ~= "string" then - return {} - end - local found = {} - for line in text:gmatch("[^\n]+") do - local raw = line:match("^%S+%s+(%S+)%s") - if raw ~= nil then - local rejected = false - local path = raw:gsub("\\(%d%d%d)", function(octal) - local code = tonumber(octal, 8) - if code == nil or code < 32 or code == 127 then - rejected = true - return "" - end - return string.char(code) - end) - if rejected then - path = "" - end - local rest = path:match("^/run/media/[^/]+/(.+)$") or path:match("^/media/(.+)$") - if rest ~= nil and rest ~= "" and usableMount(path) then - table.insert(found, path) - end - end - end - return found -end - -local function computeRoots() - local list = {} - if scope ~= "external" then - table.insert(list, searchRoot()) - end - if scope ~= "folder" then - for _, mount in ipairs(mounts) do - table.insert(list, (mount:gsub("/+$", ""))) - end - end - table.sort(list) - local kept = {} - for _, path in ipairs(list) do - local nested = false - for _, parent in ipairs(kept) do - if path == parent or startsWith(path, parent == "/" and "/" or parent .. "/") then - nested = true - break - end - end - if path ~= "" and not nested then - table.insert(kept, path) - end - end - return kept -end - --- Must build the same string as the panel's indexKey(): the fingerprint in --- the .meta sidecar is how the two entries recognize each other's index. -local function indexKey() - return INDEX_FORMAT .. "\n" .. scope - .. "\n--\n" .. table.concat(roots, "\n") - .. "\n--\n" .. table.concat(excludeNames(), "\n") -end - --- The cache on disk is current when its fingerprint matches the settings, --- whether the panel or the launcher built it. -local function cacheFresh(dir) - return noctalia.readFile(dir .. "/meta-" .. scope) == indexKey() -end - --- The roots the index on disk was built with, read back out of its fingerprint --- (see panel.luau): records must be read the way they were written, or unplug --- one of two disks and every row stops resolving until the next rebuild. -local function indexRootsOf(dir) - local meta = noctalia.readFile(dir .. "/meta-" .. scope) - if type(meta) ~= "string" then - return nil - end - local section = meta:match("\n%-%-\n(.-)\n%-%-\n") - if section == nil then - return nil - end - local list = {} - for line in section:gmatch("[^\n]+") do - table.insert(list, line) - end - return #list > 0 and list or nil -end - --- One cache record, about to be turned into a path. The cache is a plain --- user-editable file, so records are untrusted: reject anything that could --- resolve outside the roots it claims to come from. -local function absolutePath(record) - if record == "" or record:find("%c") ~= nil then - return nil - end - local path = record:gsub("/+$", "") - for part in path:gmatch("[^/]+") do - if part == ".." then - return nil - end - end - -- Against the roots of the index the record came from, not of a walk that - -- would happen now: a record can still never escape a root. - local from = #indexRoots > 0 and indexRoots or roots - if absoluteRecords then - for _, root in ipairs(from) do - if startsWith(path, root == "/" and "/" or root .. "/") then - return path - end - end - return nil - end - local root = from[1] - if root == nil or path == "" or path:sub(1, 1) == "/" then - return nil - end - if root == "/" then - return root .. path - end - return root .. "/" .. path -end - -local function noopRow(titleKey) - return { id = "noop", title = tr(titleKey), glyph = "info-circle" } -end - --- Row that cycles the scope, offered whenever the query is empty (and whenever --- there is nothing to search), so the launcher is never a dead end when the --- scope points at disks that are not plugged in. -local function scopeRow() - return { - id = "scope", - title = tr("launcher.scope_title", { current = tr("scope." .. scope) }), - subtitle = tr("launcher.scope_next", { next = tr("scope." .. NEXT_SCOPE[scope]) }), - glyph = SCOPE_GLYPHS[scope], - } -end - --- Activating this is what authorises a walk. It is always offered on an empty --- query, and pushed to the top when the index for a disk scope is missing or --- out of date, since nothing else will rebuild it. -local function reindexRow() - return { - id = "reindex", - title = tr("launcher.reindex_title"), - subtitle = #roots > 0 and table.concat(roots, " · ") or tr("scope." .. scope), - glyph = "refresh", - } -end - -local function buildIndex(query) - if indexing then - pendingQuery = query - return - end - local dir = dataDir() - if dir == nil then - launcher.setResults(query, { noopRow("err_index") }) - return - end - if #roots == 0 then - -- Scope "external" with nothing plugged in: nothing to walk, and no - -- cache to write either. Say so, and keep the row that switches back. - launcher.setResults(query, { noopRow("no_external"), scopeRow() }) - return - end - indexing = true - pendingQuery = query - - local key = indexKey() - -- The format this walk writes follows the roots it is about to visit. - local builtRoots = roots - local absolute = #builtRoots > 1 - local builtScope = scope - -- Names containing a newline would each forge extra one-per-fragment - -- records (a crafted name can smuggle '..' lines into the index), so - -- they are pruned unconditionally, before the volume noise and the user's - -- own exclusions. - local names = { "-name " .. shellQuote("*\n*") } - for _, pattern in ipairs(VOLUME_NOISE) do - table.insert(names, "-iname " .. shellQuote(pattern)) - end - for _, name in ipairs(excludeNames()) do - table.insert(names, "-name " .. shellQuote(name)) - end - local prune = "\\( " .. table.concat(names, " -o ") .. " \\) -prune -o " - local args = {} - for _, root in ipairs(roots) do - table.insert(args, shellQuote(root)) - end - -- Relative records for a single root (short rows, and no common prefix for - -- fzf to match on), absolute when several roots share one index. - local printSpec = absolute - and "-type d -printf '%p/\\n' -o -printf '%p\\n'" - or "-type d -printf '%P/\\n' -o -printf '%P\\n'" - local walk = "find " .. table.concat(args, " ") .. " -mindepth 1 " .. prune - .. printSpec .. ' > "$TMP" 2>/dev/null' - -- find's own exit status is ignored, so permission errors inside the - -- tree don't fail the build. Cache and fingerprint are written to - -- mktemp-created private files and renamed into place: rename replaces - -- a planted symlink at the destination instead of following it. The - -- host guarantees $CACHE_DIR exists (created by pluginDataDir above). - local cmd = cacheSh(dir) - .. '\nrm -f "$CACHE_DIR/index.list" "$CACHE_DIR/index.meta"\n' - .. 'find "$CACHE_DIR" -maxdepth 1 \\( -name \'list-*.*\' -o -name \'meta-*.*\'' - .. " -o -name 'count-*.*' \\) -mmin +90 -delete 2>/dev/null\n" - .. 'START=$(date +%s%3N)\n' - .. 'TMP=$(mktemp "$CACHE_DIR/list-' .. scope .. '.XXXXXX") || exit 1\n' - .. walk .. "\n" - .. 'mv -f "$TMP" "$CACHE" || exit 1\n' - .. 'TMPM=$(mktemp "$CACHE_DIR/meta-' .. scope .. '.XXXXXX") || exit 1\n' - .. "printf '%s' " .. shellQuote(key) .. ' > "$TMPM"\n' - .. 'mv -f "$TMPM" "$META" || exit 1\n' - -- Same count sidecar the panel's footer reads — count and elapsed - -- milliseconds — written while the file is hot so nobody has to re-read - -- 100 MB to show a number. - .. 'COUNT=$(wc -l < "$CACHE") || exit 1\n' - .. 'ELAPSED=$(( $(date +%s%3N) - START ))\n' - .. 'TMPN=$(mktemp "$CACHE_DIR/count-' .. scope .. '.XXXXXX") || exit 1\n' - .. 'printf "%s %s" "$COUNT" "$ELAPSED" > "$TMPN"\n' - .. 'mv -f "$TMPN" "$COUNTF" || exit 1' - - launcher.setResults(query, { noopRow("launcher.indexing") }) - local timeout = (scope == "folder") and BUILD_TIMEOUT_LOCAL or BUILD_TIMEOUT_DISKS - local ok = noctalia.runAsync(cmd, function(result) - indexing = false - local queued = pendingQuery - pendingQuery = nil - if result.exitCode == 0 and not result.timedOut then - if builtScope ~= scope then - -- The scope row was activated while the walk ran: this index - -- is not the one the launcher is showing. Start the query over - -- so roots, records and freshness are derived for the scope - -- that is actually current. - onQuery(queued or query) - else - -- The file on disk is the one this walk just wrote: read it - -- the way it was written. - indexRoots = builtRoots - absoluteRecords = absolute - if indexKey() == key then - staleIndex = false - runQuery(queued or query) - elseif autoIndexAllowed() then - -- Roots or exclusions moved during the walk; chasing that - -- is fine for the search folder. - buildIndex(queued or query) - else - -- For a disk it would be a second unasked-for walk, which - -- is exactly what this plugin must not do. - staleIndex = true - runQuery(queued or query) - end - end - else - launcher.setResults(queued or query, { noopRow("err_index") }) - end - end, timeout) - if not ok then - indexing = false - launcher.setResults(query, { noopRow("err_spawn") }) - end -end - -runQuery = function(query) - if indexing then - pendingQuery = query - return - end - if searching then - pendingQuery = query - return - end - local dir = dataDir() - if dir == nil then - launcher.setResults(query, { noopRow("err_index") }) - return - end - local text = trim(query) - if #roots == 0 then - -- Scope "external" with nothing plugged in: say so, and keep the row - -- that switches back within reach. - launcher.setResults(query, { noopRow("no_external"), scopeRow() }) - return - end - searching = true - local cmd - if text == "" then - cmd = cacheSh(dir) .. '\nhead -n ' .. MAX_RESULTS .. ' "$CACHE" 2>/dev/null' - else - cmd = cacheSh(dir) .. "\nfzf" .. rankingFlag() .. " --filter=" .. shellQuote(text) - .. ' < "$CACHE" 2>/dev/null | head -n ' .. MAX_RESULTS - end - local ok = noctalia.runAsync(cmd, function(result) - searching = false - local rows = {} - if not result.timedOut then - for line in (result.stdout or ""):gmatch("[^\n]+") do - local isDir = line:sub(-1) == "/" - local rel = line:gsub("/+$", "") - table.insert(rows, { - id = "open:" .. line, - title = rel:match("[^/]+$") or rel, - subtitle = line, - glyph = isDir and "folder" or "file", - }) - end - end - if #rows == 0 and text ~= "" then - table.insert(rows, noopRow("launcher.no_results")) - end - if text == "" then - table.insert(rows, scopeRow()) - table.insert(rows, reindexRow()) - elseif staleIndex then - -- Results came from an index that no longer matches the disks; - -- the way to fix that travels with them. - table.insert(rows, reindexRow()) - end - launcher.setResults(query, rows) - if pendingQuery ~= nil and pendingQuery ~= query then - local nextQuery = pendingQuery - pendingQuery = nil - runQuery(nextQuery) - end - end, 15000) - if not ok then - searching = false - end -end - --- Refresh the mount list if the scope needs it and the last scan has aged out, --- then continue with whatever query is current by then. With the default scope --- no process is spawned at all. -local function withMounts(query, done) - if scope == "folder" then - mounts = {} - done(query) - return - end - if mountsAt > 0 and (now() - mountsAt) < MOUNT_TTL then - done(query) - return - end - if probing then - pendingQuery = query - return - end - probing = true - local function finish() - probing = false - mountsAt = now() - local queued = pendingQuery - pendingQuery = nil - done(queued or query) - end - if not noctalia.commandExists("lsblk") then - mounts = fallbackMounts() - finish() - return - end - local ok = noctalia.runAsync("lsblk -P -o NAME,PKNAME,RM,TRAN,MOUNTPOINT 2>/dev/null", function(result) - if result.exitCode == 0 and not result.timedOut then - mounts = parseLsblk(result.stdout or "") - else - mounts = fallbackMounts() - end - finish() - end, 10000) - if not ok then - mounts = fallbackMounts() - finish() - end -end - -function onQuery(query) - if not noctalia.commandExists("fzf") then - launcher.setResults(query, { noopRow("err_no_fzf") }) - return - end - local dir = dataDir() - if dir == nil then - launcher.setResults(query, { noopRow("err_index") }) - return - end - -- Re-read on every query: the panel may have cycled the scope or the - -- ranking since the last keystroke, and both files are a single word. - scope = readScope(dir) - ranking = readRanking(dir) - withMounts(query, function(current) - roots = computeRoots() - -- How to read what is on disk right now; a walk below overwrites both. - indexRoots = indexRootsOf(dir) or roots - absoluteRecords = #indexRoots > 1 - if cacheFresh(dir) then - staleIndex = false - runQuery(current) - return - end - -- A missing or stale index (no meta, or built with a different scope, - -- root set or exclusions) is rebuilt before searching — but only for - -- the search folder, or when the rebuild row asked for it. Records of - -- a vanished root are not joined to a new one either way: they are - -- validated against the current roots when activated. - if forceBuild or autoIndexAllowed() then - forceBuild = false - staleIndex = false - buildIndex(current) - return - end - staleIndex = true - if noctalia.fileExists(dir .. "/list-" .. scope) then - runQuery(current) - else - launcher.setResults(current, { noopRow("launcher.index_missing"), reindexRow(), scopeRow() }) - end - end) -end - -function onActivate(id) - if id == "scope" then - local dir = dataDir() - if dir == nil then - return - end - scope = NEXT_SCOPE[scope] or DEFAULT_SCOPE - writeScope(dir, scope) - mountsAt = 0 -- the new scope may need a mount list this one never took - -- Rewriting the query keeps the launcher open (the host only closes on - -- an activation that does not call setQuery) and re-enters onQuery with - -- an empty text, so the list comes back with the new scope applied. - launcher.setQuery("") - return - end - if id == "reindex" then - -- The explicit command to walk the tree. Rewriting the query keeps the - -- launcher open and re-enters onQuery, which consumes the flag and - -- starts the build with "Indexing files…" on screen. It does not drop - -- the current index first: if the walk fails or is aborted, the old one - -- is still there to search. - forceBuild = true - mountsAt = 0 -- rescan: a disk may have been plugged in since - launcher.setQuery("") - return - end - local rel = id:match("^open:(.+)$") - if rel == nil then - return - end - local path = absolutePath(rel) - if path == nil then - noctalia.log("file-search: refusing unsafe index record: " .. rel) - noctalia.notify(tr("title"), tr("err_bad_record")) - return - end - noctalia.runAsync("xdg-open " .. shellQuote(path) .. " >/dev/null 2>&1") -end - -probeFzfScheme() diff --git a/file-search/panel.luau b/file-search/panel.luau deleted file mode 100644 index fef82e0..0000000 --- a/file-search/panel.luau +++ /dev/null @@ -1,1390 +0,0 @@ ---!nonstrict --- file-search — fuzzy search panel, fzf as the matching subsystem. --- --- On open the active roots are walked once with `find` into a cache file --- (excluded directory names are pruned, hidden entries too unless enabled); --- after that every keystroke runs `fzf --filter=` over the cache, so --- typing stays responsive even on large trees. Results update live; picking --- one opens it with the system MIME association (xdg-open) — directories --- open in the file manager. Enter opens the top match. --- --- The roots come from the search scope, cycled with the panel's disk button --- and persisted in the plugin data directory so the launcher entry follows the --- same choice: the search folder alone (default), the search folder plus every --- mounted USB/removable volume, or those volumes alone. Mounts are detected --- with `lsblk` (see probeMounts), only when the scope needs them. --- --- The index is rebuilt when the panel opens with changed settings, a different --- scope or a different set of disks, and on demand via the refresh button. The --- bar widget mirrors the panel's open state through the shared --- "file_search_open" state key. - --- How many characters of a result path fit on one row, from the panel's 520 --- width in plugin.toml: 520 − 2 × Style::panelPadding (14) − the scrollbar --- gutter (scrollbarWidth 6 + scrollbarGap 8) = 478 usable, less the row --- Button's 2 × Style::spaceMd (12) horizontal padding, its 14px glyph and the --- 4px gap between them → 436px of text. Measured against a rendered row, a --- lowercase path averages 7.2px per character at Style::fontSizeBody, so 61 --- characters is the limit; 56 leaves headroom, because the font is --- proportional and capitals or digits measure wider than that average. --- --- A Button cannot do this itself: it has no maxLines, so constraining its --- width makes the label WRAP rather than ellipsize, and a plain flexGrow never --- shrinks it below the full text — which is why a long path used to run under --- the scrollbar and get clipped. -local PATH_MAX_CHARS = 56 -local ELLIPSIS = "…" - --- Bumped whenever the record format or the pruned-name list below changes: it --- is part of the cache fingerprint, so an index built by an older version of --- this plugin is rebuilt instead of being read with the wrong rules. -local INDEX_FORMAT = "2" - --- Volume metadata that other operating systems leave on removable media, plus --- the filesystem-level ones. None of it is a user file and some of it is huge --- (a Time Machine sparsebundle or a Spotlight store is tens of thousands of --- entries), so it is pruned at every root, not only on external disks — the --- names are vendor-fixed and never collide with real content. Matched with --- -iname because Windows has shipped both "$RECYCLE.BIN" and "$Recycle.Bin". --- Most of the macOS ones start with a dot and are already covered when hidden --- entries are off; they are listed so that turning hidden entries ON does not --- flood the index. -local VOLUME_NOISE = { - "lost+found", - -- Windows / NTFS - "$RECYCLE.BIN", "RECYCLER", "System Volume Information", - -- Linux XDG trash on removable media (.Trash-) - ".Trash-*", - -- macOS volume services - ".Spotlight-V100", ".fseventsd", ".Trashes", ".TemporaryItems", - ".DocumentRevisions-V100", ".PKInstallSandboxManager", - -- macOS Time Machine - "Backups.backupdb", "*.sparsebundle", "*.backupbundle", - -- AppleDouble sidecars and AFP/netatalk leftovers - "._*", ".DS_Store", ".AppleDouble", ".AppleDB", ".AppleDesktop", - "Network Trash Folder", "Temporary Items", "TheVolumeSettingsFolder", -} - --- Search scope: which roots the index covers. Persisted as a one-word file in --- the plugin data directory because a plugin cannot write its own settings — --- there is no setConfig in the host API — and the launcher entry has to read --- the same choice. -local SCOPE_GLYPHS = { folder = "folder", all = "folders", external = "usb" } -local NEXT_SCOPE = { folder = "all", all = "external", external = "folder" } -local DEFAULT_SCOPE = "folder" - --- What a right click on a result does, switched by the second header button --- and persisted next to the scope. Two actions, one gesture: a panel row can --- only ever receive left and right — the declarative UI wires BTN_LEFT, plus --- BTN_RIGHT once an onRightClick is attached, and nothing else. Middle click --- exists for bar widgets only (onMiddleClick), never inside a panel, so the --- second action lives on a toggle instead of a third button. -local ROW_ACTION_GLYPHS = { copy = "copy", reveal = "folder-open" } -local NEXT_ROW_ACTION = { copy = "reveal", reveal = "copy" } -local DEFAULT_ROW_ACTION = "copy" - --- How fzf scores a match, switched by the third header button and persisted --- like the others. "path" is fzf's --scheme=path: it treats / as a strong --- boundary, so a match that starts a file or folder name beats the same letters --- buried in a long directory. "default" is fzf's generic scoring, which mostly --- rewards the shortest path. Path wins on most queries here — "config" finds --- .ssh/config instead of a Steam directory five levels down — but not on all of --- them, which is exactly why it is a toggle and not a constant. -local RANKING_GLYPHS = { default = "arrows-sort", path = "sitemap" } -local NEXT_RANKING = { default = "path", path = "default" } -local DEFAULT_RANKING = "path" - --- A walk over a USB spinning disk is seek-bound and can run for tens of --- minutes on a multi-terabyte drive, where the search folder alone is seconds; --- the timeout follows the scope. Nothing at that price is ever started on its --- own — see autoIndexAllowed. -local BUILD_TIMEOUT_LOCAL = 180000 -local BUILD_TIMEOUT_DISKS = 1800000 - --- Seconds a mount scan stays good for, so that mashing the scope button spawns --- one lsblk instead of one per press. -local MOUNT_TTL = 30 - --- Read out of the plugin's own manifest (readFile resolves a relative path --- against the plugin directory), so the header cannot drift from the version --- the store shows. Empty when unreadable — a missing version is not worth an --- error line in the panel. -local pluginVersion = (function() - local text = noctalia.readFile("plugin.toml") - if type(text) ~= "string" then - return "" - end - return ("\n" .. text):match('\nversion%s*=%s*"([^"]+)"') or "" -end)() - --- Whether the installed fzf understands --scheme, decided once per script load --- (see probeFzfScheme). False until it answers, and on any fzf too old for it. -local schemeSupported = false - -local query = "" -local results = {} -- index records: relative to the root, or absolute -local total = nil -- entries in the index, shown in the footer -local buildMs = nil -- how long the walk behind that index took -local indexing = false -local searching = false -local errMsg = nil -local fzfMissing = false -local inputRev = 0 -- bumped to reseed the query input on open -local haveIndex = false -- the cache on disk matches the current settings -local scope = DEFAULT_SCOPE -local rowAction = DEFAULT_ROW_ACTION -local ranking = DEFAULT_RANKING -local mounts = {} -- mount points of the detected removable volumes -local mountsAt = 0 -- unix seconds of the last mount scan (0 = never) -local probing = false -local roots = {} -- what an index built now would cover, ancestors first -local indexRoots = {} -- what the index ON DISK was built with (see indexRootsOf) -local absoluteRecords = false -- records are absolute (set when #indexRoots > 1) -local indexState = "fresh" -- "fresh" | "stale" (usable, out of date) | "missing" -local reloading = false -- a refresh pass is in flight -local reloadQueued = false -local queuedForce = false -local queuedBuild = false -local totals = {} -- scope → { count, size, mtime }: see readTotal - -local render -local runSearch -local buildIndex -local applyState - -local function tr(key, args) - return noctalia.tr(key, args) -end - -local function trim(value) - return (value:gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function shellQuote(value) - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function startsWith(value, prefix) - return value:sub(1, #prefix) == prefix -end - -local function now() - return tonumber(noctalia.formatTime("%s")) or 0 -end - --- --scheme=path arrived in fzf 0.36; an older build exits with "unknown option" --- and the panel would show an empty list forever. So the flag is only ever used --- after the installed version says it is understood — one spawn per script --- load, generic ranking until it answers. -local function probeFzfScheme() - noctalia.runAsync("fzf --version 2>/dev/null", function(result) - local major, minor = (result.stdout or ""):match("(%d+)%.(%d+)") - major, minor = tonumber(major), tonumber(minor) - schemeSupported = major ~= nil and minor ~= nil and (major > 0 or minor >= 36) - end, 5000) -end - --- The scoring flag for the next search: what the toggle asks for, if fzf can. -local function rankingFlag() - return (ranking == "path" and schemeSupported) and " --scheme=path" or "" -end - --- Whether the plugin may walk the tree by itself. It may for the search folder, --- which is local and takes seconds; it may NOT once an external disk is in --- scope. A 5 TB mechanical USB drive takes minutes per walk and would otherwise --- be re-walked on every scope change, settings change, disk plug and panel --- open — the refresh button (and the launcher's rebuild row) is the only way. -local function autoIndexAllowed() - return scope == "folder" -end - --- Private per-plugin storage (XDG state); the host creates the directory on --- every call. nil (with a log line) when no state directory resolves. -local function dataDir() - local dir, err = noctalia.pluginDataDir() - if dir == nil then - noctalia.log("file-search: pluginDataDir failed: " .. tostring(err)) - return nil - end - return dir -end - --- Shell header shared by every cache command. One cache pair per scope, so --- switching to the disks and back does not re-walk the search folder; the --- .meta sidecar holds the settings fingerprint the cache was built with, so the --- panel and the launcher can both tell a stale index apart. The scope is a --- word from SCOPE_GLYPHS, never free text, so it is safe inside the path. -local function cacheSh(dir) - return "CACHE_DIR=" .. shellQuote(dir) - .. '\nCACHE="$CACHE_DIR/list-' .. scope .. '"' - .. '\nMETA="$CACHE_DIR/meta-' .. scope .. '"' - .. '\nCOUNTF="$CACHE_DIR/count-' .. scope .. '"' -end - -local function readScope(dir) - local raw = noctalia.readFile(dir .. "/scope") - if type(raw) == "string" then - local value = trim(raw) - if SCOPE_GLYPHS[value] ~= nil then - return value - end - end - return DEFAULT_SCOPE -end - -local function writeScope(dir, value) - local ok, err = noctalia.writeFile(dir .. "/scope", value) - if not ok then - noctalia.log("file-search: could not persist the scope: " .. tostring(err)) - end -end - -local function readRowAction(dir) - local raw = noctalia.readFile(dir .. "/row-action") - if type(raw) == "string" then - local value = trim(raw) - if ROW_ACTION_GLYPHS[value] ~= nil then - return value - end - end - return DEFAULT_ROW_ACTION -end - -local function writeRowAction(dir, value) - local ok, err = noctalia.writeFile(dir .. "/row-action", value) - if not ok then - noctalia.log("file-search: could not persist the row action: " .. tostring(err)) - end -end - -local function readRanking(dir) - local raw = noctalia.readFile(dir .. "/ranking") - if type(raw) == "string" then - local value = trim(raw) - if RANKING_GLYPHS[value] ~= nil then - return value - end - end - return DEFAULT_RANKING -end - -local function writeRanking(dir, value) - local ok, err = noctalia.writeFile(dir .. "/ranking", value) - if not ok then - noctalia.log("file-search: could not persist the ranking: " .. tostring(err)) - end -end - -local function searchRoot() - local dir = noctalia.getConfig("search_folder") - if dir == nil or dir == "" then - dir = noctalia.getenv("HOME") or "/tmp" - else - dir = noctalia.expandPath(dir) - end - dir = dir:gsub("/+$", "") - if dir == "" then - dir = "/" - end - return dir -end - -local function maxResults() - return math.max(10, math.min(200, tonumber(noctalia.getConfig("max_results")) or 50)) -end - --- Excluded directory names from the setting, split on ',' or ';'. Matching --- is by basename (find -name), so entries containing '/' are skipped and --- logged. Hidden entries are folded in as an extra '.*' pattern. -local function excludeNames() - local raw = noctalia.getConfig("exclude_dirs") - if type(raw) ~= "string" then - raw = "" - end - local names = {} - for entry in raw:gmatch("[^,;]+") do - local name = trim(entry) - if name:find("/") then - noctalia.log("file-search: ignoring exclude entry with '/': '" .. name .. "'") - elseif name ~= "" then - table.insert(names, name) - end - end - if noctalia.getConfig("show_hidden") ~= true then - table.insert(names, ".*") - end - return names -end - --- ── removable volume detection ─────────────────────────────────────────────── - --- A mount point worth indexing: absolute, not the system root, no control --- character (it becomes a shell word and a cache record), and not the boot --- partition, which is a mount of firmware files even when it sits on a stick. -local function usableMount(path) - if path == nil or path == "" or path:sub(1, 1) ~= "/" then - return false - end - if path == "/" or path:find("%c") ~= nil then - return false - end - return path ~= "/boot" and not startsWith(path, "/boot/") -end - --- lsblk --pairs quotes every value; depending on the util-linux version a --- space or a quote inside one can come back as a \xNN escape. nil for an --- escaped control byte: the whole mount point is then dropped by the caller, --- rather than kept with a literal "\x0a" in it that no path would match. -local function unescapeHex(value) - local rejected = false - local out = value:gsub("\\x(%x%x)", function(hex) - local code = tonumber(hex, 16) - if code == nil or code < 32 or code == 127 then - rejected = true - return "" - end - return string.char(code) - end) - if rejected then - return nil - end - return out -end - -local function pairValue(line, key) - return (" " .. line):match(" " .. key .. '="(.-)"') -end - --- Mount points of the volumes that came from a USB port or report themselves --- removable (sticks, SD cards, optical media). --- --- The interesting attribute lives on the DISK, not on the partition that is --- actually mounted: a USB partition row reports TRAN="" and, for a bus-powered --- SSD, RM="0" as well — only its parent disk says TRAN="usb". So the PKNAME --- chain is walked upwards (one more level for an encrypted stick: crypt → --- part → disk). HOTPLUG is deliberately not part of the test: some NVMe and --- hot-swap SATA controllers report HOTPLUG="1" for internal drives. -local function parseLsblk(out) - local rows, byName = {}, {} - for line in out:gmatch("[^\n]+") do - local name = pairValue(line, "NAME") - if name ~= nil and name ~= "" then - local row = { - parent = pairValue(line, "PKNAME") or "", - removable = pairValue(line, "RM") == "1", - transport = pairValue(line, "TRAN") or "", - mount = unescapeHex(pairValue(line, "MOUNTPOINT") or ""), - } - byName[name] = row - table.insert(rows, row) - end - end - local found = {} - for _, row in ipairs(rows) do - if usableMount(row.mount) then - local node, depth = row, 0 - -- Capped: PKNAME comes from outside and a cycle would hang here. - while node ~= nil and depth < 4 do - if node.transport == "usb" or node.removable then - table.insert(found, row.mount) - break - end - node = (node.parent ~= "") and byName[node.parent] or nil - depth += 1 - end - end - end - return found -end - --- Fallback for a system without util-linux: the mount table still exposes the --- udisks2 convention every mainstream desktop mounts removable media with --- (/run/media//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 diff --git a/gamer-mode/plugin.toml b/gamer-mode/plugin.toml deleted file mode 100644 index 9617256..0000000 --- a/gamer-mode/plugin.toml +++ /dev/null @@ -1,227 +0,0 @@ -id = "nomadcxx/gamer-mode" -name = "Gamer Mode" -version = "0.7.0" -plugin_api = 19 -author = "Nomadcxx" -license = "MIT" -dependencies = ["pgrep", "pkill", "powerprofilesctl", "systemctl"] -tags = ["bar", "panel", "service", "gaming", "system", "hardware"] -icon = "device-gamepad-2" -description = "Live CPU/RAM/GPU metrics and a one-click gamer mode that suspends and restores background resource hogs." - -[[setting]] -key = "glyph" -type = "glyph" -label_key = "settings.glyph.label" -description_key = "settings.glyph.description" -default = "device-gamepad-2" - -[[setting]] -key = "icon_file" -type = "file" -label_key = "settings.icon_file.label" -description_key = "settings.icon_file.description" -default = "" -extensions = ["svg", "png"] - -[[setting]] -key = "icon_file_active" -type = "file" -label_key = "settings.icon_file_active.label" -description_key = "settings.icon_file_active.description" -default = "" -extensions = ["svg", "png"] - -[[setting]] -key = "click_action" -type = "select" -label_key = "settings.click_action.label" -description_key = "settings.click_action.description" -default = "open_panel" -options = [ - { value = "open_panel", label_key = "settings.click_action.options.open_panel" }, - { value = "toggle", label_key = "settings.click_action.options.toggle" }, -] - -[[setting]] -key = "poll_interval" -type = "select" -label_key = "settings.poll_interval.label" -description_key = "settings.poll_interval.description" -default = "3" -options = [ - { value = "2", label_key = "settings.poll_interval.options.2" }, - { value = "3", label_key = "settings.poll_interval.options.3" }, - { value = "5", label_key = "settings.poll_interval.options.5" }, -] - -[[setting]] -key = "profile" -type = "select" -label_key = "settings.profile.label" -description_key = "settings.profile.description" -default = "light" -options = [ - { value = "light", label_key = "settings.profile.options.light" }, - { value = "heavy", label_key = "settings.profile.options.heavy" }, -] - -[[setting]] -key = "auto_performance" -type = "bool" -label_key = "settings.auto_performance.label" -description_key = "settings.auto_performance.description" -default = true - -[[setting]] -key = "show_temps" -type = "bool" -label_key = "settings.show_temps.label" -description_key = "settings.show_temps.description" -default = true - -[[setting]] -key = "targets" -type = "string" -label_key = "settings.targets.label" -description_key = "settings.targets.description" -default = "" -advanced = true - -[[service]] -id = "service" -entry = "service.luau" - -[[panel]] -id = "main" -entry = "panel.luau" -width = 560 -height = 820 -placement = "attached" -position = "auto" -# "on_demand" takes keyboard focus only when you click inside the panel, so opening it -# from the bar leaves focus where it was. "none" would refuse focus entirely, but the -# shell requires dismiss_on_outside_click = false alongside it, which would leave the -# panel on screen until you click the bar icon again. -keyboard_focus = "on_demand" - -[[widget]] -id = "gamermode" -entry = "widget.luau" - -[[widget]] -id = "monitor" -entry = "monitor.luau" - -[[widget.setting]] -key = "show_cpu" -type = "bool" -label_key = "settings.monitor.show_cpu.label" -description_key = "settings.monitor.show_cpu.description" -default = true - -[[widget.setting]] -key = "show_cpu_temp" -type = "bool" -label_key = "settings.monitor.show_cpu_temp.label" -default = true - -[[widget.setting]] -key = "show_ram" -type = "bool" -label_key = "settings.monitor.show_ram.label" -default = true - -[[widget.setting]] -key = "show_swap" -type = "bool" -label_key = "settings.monitor.show_swap.label" -default = false - -[[widget.setting]] -key = "show_gpu" -type = "bool" -label_key = "settings.monitor.show_gpu.label" -default = true - -[[widget.setting]] -key = "show_gpu_temp" -type = "bool" -label_key = "settings.monitor.show_gpu_temp.label" -default = true - -[[widget.setting]] -key = "show_vram" -type = "bool" -label_key = "settings.monitor.show_vram.label" -default = false - -[[widget.setting]] -key = "show_load" -type = "bool" -label_key = "settings.monitor.show_load.label" -default = false - -[[widget.setting]] -key = "show_net" -type = "bool" -label_key = "settings.monitor.show_net.label" -default = true - -[[widget.setting]] -key = "show_glyphs" -type = "bool" -label_key = "settings.monitor.show_glyphs.label" -description_key = "settings.monitor.show_glyphs.description" -default = true - -[[widget.setting]] -key = "label_min_width" -type = "int" -label_key = "settings.monitor.label_min_width.label" -description_key = "settings.monitor.label_min_width.description" -default = 0 -min = 0 -max = 200 - -[[widget.setting]] -key = "highlight_gamer_mode" -type = "bool" -label_key = "settings.monitor.highlight_gamer_mode.label" -description_key = "settings.monitor.highlight_gamer_mode.description" -default = true - -[[widget.setting]] -key = "flame_height" -type = "int" -label_key = "settings.monitor.flame_height.label" -description_key = "settings.monitor.flame_height.description" -default = 5 -min = 2 -max = 12 -visible_when = { key = "highlight_gamer_mode", values = ["true"] } - -[[widget.setting]] -key = "flame" -type = "select" -label_key = "settings.monitor.flame.label" -description_key = "settings.monitor.flame.description" -default = "flare" -visible_when = { key = "highlight_gamer_mode", values = ["true"] } -options = [ - { value = "off", label_key = "settings.monitor.flame.options.off" }, - { value = "flare", label_key = "settings.monitor.flame.options.flare" }, - { value = "always", label_key = "settings.monitor.flame.options.always" }, -] - -[[widget.setting]] -key = "flame_style" -type = "select" -label_key = "settings.monitor.flame_style.label" -description_key = "settings.monitor.flame_style.description" -default = "graph" -visible_when = { key = "highlight_gamer_mode", values = ["true"] } -options = [ - { value = "graph", label_key = "settings.monitor.flame_style.options.graph" }, - { value = "bars", label_key = "settings.monitor.flame_style.options.bars" }, -] diff --git a/gamer-mode/service.luau b/gamer-mode/service.luau deleted file mode 100644 index e69ffac..0000000 --- a/gamer-mode/service.luau +++ /dev/null @@ -1,1828 +0,0 @@ ---!nonstrict --- --- Gamer Mode service: publishes system metrics and owns the snapshot-based game-mode --- engine. The panel and widget are thin readers of `noctalia.state`; every mutation --- arrives here as a `command` state write. --- --- Luau's sandbox gives plugins no `io`, no `os.execute`/`os.remove` and no `load`, so --- all filesystem access goes through noctalia.readFile/writeFile/removeFile/mkdirAll --- and the snapshot is stored as JSON via noctalia.json. - -local M = {} - -local BYTES_PER_MIB = 1048576 - -local function clampFraction(percent) - local value = tonumber(percent) - if not value then - return 0 - end - return math.max(0, math.min(1, value / 100)) -end - --- normalize converts a noctalia.systemStats() sample into the published `metrics` --- shape: percentages as 0-1 fractions, memory in MiB. --- --- Optional readings stay nil rather than becoming zero, so the UI can say "unsupported" --- instead of drawing an empty bar that looks like a real 0% reading. -function M.normalize(raw) - if type(raw) ~= "table" then - return nil - end - - local cpu = type(raw.cpu) == "table" and raw.cpu or {} - local ram = type(raw.ram) == "table" and raw.ram or {} - local gpu = type(raw.gpu) == "table" and raw.gpu or {} - - local metrics = { - cpuPerc = clampFraction(cpu.usagePercent), - cpuTemp = tonumber(cpu.tempC), - memPerc = clampFraction(ram.usagePercent), - memUsedMb = tonumber(ram.usedMb) or 0, - memTotalMb = tonumber(ram.totalMb) or 0, - gpuAvailable = false, - } - - local gpuPercent = tonumber(gpu.usagePercent) - if gpuPercent then - metrics.gpuPerc = clampFraction(gpuPercent) - metrics.gpuAvailable = true - end - local gpuTemp = tonumber(gpu.tempC) - if gpuTemp then - metrics.gpuTemp = gpuTemp - metrics.gpuAvailable = true - end - - -- VRAM needs both halves: a used figure without a total cannot be drawn as a ratio. - local vramUsed = tonumber(gpu.vramUsedBytes) - local vramTotal = tonumber(gpu.vramTotalBytes) - if vramUsed and vramTotal and vramTotal > 0 then - metrics.vramUsedMb = vramUsed / BYTES_PER_MIB - metrics.vramTotalMb = vramTotal / BYTES_PER_MIB - metrics.vramPerc = math.max(0, math.min(1, vramUsed / vramTotal)) - metrics.gpuAvailable = true - end - - -- Swap reports used and total but no percentage of its own, and a machine with swap - -- turned off reports a total of zero, which is a ratio with no meaning. - local swap = type(raw.swap) == "table" and raw.swap or {} - local swapUsed = tonumber(swap.usedMb) - local swapTotal = tonumber(swap.totalMb) - if swapUsed and swapTotal and swapTotal > 0 then - metrics.swapUsedMb = swapUsed - metrics.swapTotalMb = swapTotal - metrics.swapPerc = math.max(0, math.min(1, swapUsed / swapTotal)) - end - - -- Load average arrives as a three-element array. It is not a percentage of anything - -- without a core count, so it is carried through as numbers and shown as numbers. - if type(raw.loadAvg) == "table" then - local one, five, fifteen = tonumber(raw.loadAvg[1]), tonumber(raw.loadAvg[2]), tonumber(raw.loadAvg[3]) - if one and five and fifteen then - metrics.load1, metrics.load5, metrics.load15 = one, five, fifteen - end - end - - -- Totals across every interface. The per-interface breakdown is left alone: on a - -- machine running containers it is mostly bridges and veth pairs. - local net = type(raw.net) == "table" and raw.net or {} - local rx = tonumber(net.rxBytesPerSec) - local tx = tonumber(net.txBytesPerSec) - if rx and tx then - metrics.netRxPerSec = math.max(0, rx) - metrics.netTxPerSec = math.max(0, tx) - end - - return metrics -end - --- ── suspend targets ── - -local VALID_KINDS = { - process = true, - ["user-service"] = true, - ["system-service"] = true, - ["user-timer"] = true, - ["system-timer"] = true, - container = true, -} - --- Timer kinds share systemctl with the service kinds but must name a *.timer unit, and --- cannot be frozen -- a timer has no process to signal. -local TIMER_KINDS = { ["user-timer"] = true, ["system-timer"] = true } - -local VALID_ACTIONS = { stop = true, freeze = true } - --- Targets that must never be stopped or frozen. Acting on any of these ends the session, --- kills audio or network, or kills the game gamer mode exists to serve. Deliberately not --- overridable: the cost of a wrong entry is a dead session, and an override flag is --- exactly the field a user copies from a forum post without reading. -local DENIED = {} -for _, name in ipairs({ - -- session and display - "niri", "hyprland", "sway", "river", "wayfire", "labwc", "gnome-shell", - "kwin_wayland", "plasmashell", "xorg", "xwayland", "greetd", "sddm", "gdm", - -- the shell hosting this plugin - "noctalia", "quickshell", - -- audio - "pipewire", "pipewire-pulse", "wireplumber", "pulseaudio", - -- core IPC and session management - "systemd", "systemd-logind", "dbus-broker", "dbus-daemon", "elogind", - -- network - "networkmanager", "wpa_supplicant", "iwd", "systemd-networkd", - -- the game stack itself - "steam", "steamwebhelper", "gamescope", "wine", "wineserver", "proton", - "lutris", "heroic", "bottles", "gamemoded", - -- GPU driver daemons. Stopping one of these mid-session costs the thing gamer mode - -- exists to protect: nvidia-persistenced holds the driver state that keeps a card - -- from reinitialising, and nvidia-powerd manages the dynamic power budget that lets - -- it reach its boost clocks. - "nvidia-persistenced", "nvidia-powerd", "nvidia-suspend", "nvidia-resume", - "nvidia-hibernate", "amdgpu", "amd-pstate", "switcheroo-control", -}) do - DENIED[name] = true -end - -local UNIT_SUFFIXES = { ".service", ".timer", ".socket" } - --- baseName lowercases and strips a unit suffix so "Steam", "steam" and "steam.service" --- all collapse onto the same denylist key. -local function baseName(match) - local name = tostring(match):lower() - for _, suffix in ipairs(UNIT_SUFFIXES) do - if #name > #suffix and name:sub(-#suffix) == suffix then - return name:sub(1, #name - #suffix) - end - end - return name -end - -function M.isDenied(match) - if type(match) ~= "string" or match == "" then - return false - end - return DENIED[baseName(match)] == true -end - --- Defaults aim to be plausible on an arbitrary Linux desktop rather than tuned to one --- machine. Breadth is close to free: a target that is not running probes as `down`, so it --- is never acted on and never restored -- an entry for absent software costs one pgrep. --- The risk is never "too many entries", it is "an entry that is present but should not be --- touched", which is what the denylist above exists for. --- --- `light` is background-only: nothing the user could be interacting with, and nothing that --- produces sound, voice or video they would want during a game. `heavy` adds the big --- foreground consumers as freezes plus the self-hosted service stacks as stops. -local LIGHT = { "light", "heavy" } -local HEAVY = { "heavy" } - -local function processes(names, profiles, out) - for _, name in ipairs(names) do - -- Always freeze: a bare process has no argv to relaunch from, so stopping one is - -- unrecoverable. - out[#out + 1] = { match = name, kind = "process", action = "freeze", profiles = profiles } - end - return out -end - -local function units(names, kind, profiles, out) - for _, name in ipairs(names) do - out[#out + 1] = { match = name, kind = kind, action = "stop", profiles = profiles } - end - return out -end - -local function buildDefaults() - local out = {} - - -- ── light: wallpaper and desktop-effect daemons ── - -- Animated and video wallpapers cost real GPU time. Freezing stops the rendering, - -- which is the entire win, and SIGCONT restores it perfectly -- where killing the - -- daemon would need a full relaunch-and-rewallpaper dance. - -- swww was archived and renamed to awww in Oct 2025; both names ship. - processes({ - "awww-daemon", "swww-daemon", "hyprpaper", "swaybg", "wpaperd", "mpvpaper", - "glpaper", "wbg", "oguri", "linux-wallpaperengine", "gslapper", - }, LIGHT, out) - - -- ── light: torrent and usenet ── - -- Sustained disk I/O plus network saturation; usenet unpack and par2 repair also burn - -- a lot of CPU. - processes({ - "qbittorrent", "qbittorrent-nox", "transmission-daemon", "transmission-gtk", - "deluged", "deluge-gtk", "rtorrent", "aria2c", "ktorrent", - "sabnzbd", "sabnzbdplus", "nzbget", - }, LIGHT, out) - units({ - "transmission.service", "qbittorrent-nox.service", "deluged.service", - "aria2.service", "sabnzbd.service", "nzbget.service", - }, "system-service", LIGHT, out) - - -- ── light: cloud sync ── - processes({ - "syncthing", "dropbox", "nextcloud", "insync", "megasync", "onedrive", - "maestral", "rclone", "seafile-applet", "owncloud", - }, LIGHT, out) - units({ "syncthing.service", "onedrive.service" }, "user-service", LIGHT, out) - - -- ── light: backup ── - processes({ "borg", "restic", "duplicati", "rsnapshot", "kopia" }, LIGHT, out) - units({ - "borgmatic.timer", "restic-backup.timer", "snapper-timeline.timer", - "snapper-cleanup.timer", "duplicati.timer", - }, "system-timer", LIGHT, out) - - -- ── light: file indexers ── - processes({ - "baloo_file", "baloo_file_extractor", "tracker-miner-fs-3", "tracker-extract-3", - "recollindex", "updatedb", "plocate", - }, LIGHT, out) - units({ "plocate-updatedb.timer", "updatedb.timer", "mlocate.timer" }, "system-timer", LIGHT, out) - - -- ── light: scheduled maintenance ── - -- Stopping a service does nothing if its timer re-fires it mid-game. fstrim in - -- particular stalls I/O hard. - units({ - "fstrim.timer", "smartd.timer", "paccache.timer", "pamac-cleancache.timer", - "reflector.timer", "archlinux-keyring-wkd-sync.timer", "pacman-filesdb-refresh.timer", - "systemd-tmpfiles-clean.timer", "man-db.timer", "dnf-makecache.timer", - "snapd.refresh.timer", "flatpak-system-update.timer", "e2scrub_all.timer", - }, "system-timer", LIGHT, out) - - -- ── light: update daemons ── - units({ - "packagekit.service", "pamac-daemon.service", "snapd.service", - "unattended-upgrades.service", - }, "system-service", LIGHT, out) - - -- ── light: AI / LLM runtimes ── - -- These hold VRAM, which only a real stop releases -- freezing keeps every page - -- resident. Service-kind only, because process + stop is unrecoverable. - units({ - "ollama.service", "localai.service", "comfyui.service", "open-webui.service", - }, "system-service", LIGHT, out) - - -- ── light: antivirus and telemetry ── - units({ - "clamav-daemon.service", "clamd.service", "clamav-freshclam.service", - }, "system-service", LIGHT, out) - units({ "clamav-freshclam.timer", "rkhunter.timer" }, "system-timer", LIGHT, out) - units({ - "whoopsie.service", "apport.service", "abrtd.service", "teamviewerd.service", - "anydesk.service", - }, "system-service", LIGHT, out) - - -- ── light: phone and emulator tooling ── - processes({ "adb", "scrcpy" }, LIGHT, out) - - -- ── heavy: browsers ── - -- Usually the single largest consumer of both RAM and CPU. Frozen, not killed: nobody - -- wants their tabs gone when they quit a game. - processes({ - "brave", "chrome", "google-chrome", "chromium", "firefox", "librewolf", - "vivaldi-bin", "opera", "microsoft-edge", "thorium", "zen-browser", "waterfox", - "qutebrowser", - }, HEAVY, out) - - -- ── heavy: editors, language servers, builds ── - -- `java`, `dotnet` and `node` are deliberately absent: they are game runtimes as well - -- as build tools. Minecraft and every PrismLauncher instance run as `java`, Unity and - -- .NET titles as `dotnet` -- freezing them would freeze the game. - processes({ - "code", "codium", "code-oss", "cursor", "zed", "idea", "pycharm", "webstorm", - "clion", "goland", "rider", "rustrover", "android-studio", "sublime_text", - }, HEAVY, out) - processes({ - "rust-analyzer", "gopls", "clangd", "pylsp", "pyright", - "typescript-language-server", "jdtls", "lua-language-server", "omnisharp", "ccls", - }, HEAVY, out) - processes({ - "cargo", "rustc", "gradle", "tsc", "webpack", "vite", "esbuild", "ninja", "make", - "cc1plus", "ccache", "sccache", "distccd", - }, HEAVY, out) - processes({ "claude", "opencode", "codex", "aider" }, HEAVY, out) - - -- ── heavy: CI runners ── - units({ - "gitlab-runner.service", "buildkite-agent.service", "jenkins.service", - }, "system-service", HEAVY, out) - - -- ── heavy: self-hosted media stack ── - units({ - "sonarr.service", "radarr.service", "lidarr.service", "readarr.service", - "prowlarr.service", "bazarr.service", "jackett.service", "jellyseerr.service", - "overseerr.service", "ombi.service", "tautulli.service", - }, "system-service", HEAVY, out) - units({ - "jellyfin.service", "plexmediaserver.service", "emby-server.service", - "audiobookshelf.service", "navidrome.service", "komga.service", "kavita.service", - "photoprism.service", "calibre-server.service", - }, "system-service", HEAVY, out) - - -- ── heavy: JVM databases ── - -- Multi-gigabyte heaps. Other databases (postgres, mysql, redis) are omitted because - -- other services depend on them. - units({ "elasticsearch.service", "opensearch.service" }, "system-service", HEAVY, out) - - return out -end - -M.DEFAULT_TARGETS = buildDefaults() - --- Every match string is interpolated into a shell command, so control characters are --- refused outright rather than escaped. -local function validateShellValue(value) - if type(value) ~= "string" or value == "" or value:find("[\n\r%z]") then - return nil - end - return value -end - -M.validateShellValue = validateShellValue - --- validEntry returns ok plus a human reason, so parseTargets can tell the user which of --- their entries was dropped and why rather than only how many. -local function validEntry(entry) - if type(entry) ~= "table" then - return false, "not an object" - end - if not VALID_KINDS[entry.kind] then - return false, "unknown kind " .. tostring(entry.kind) - end - if not validateShellValue(entry.match) then - return false, "match is empty or contains a control character" - end - if M.isDenied(entry.match) then - return false, "'" .. entry.match .. "' is protected and can never be suspended" - end - -- `systemctl is-active fstrim` resolves to fstrim.service, so a timer target that does - -- not name its unit would silently act on the wrong one. - if TIMER_KINDS[entry.kind] and entry.match:lower():sub(-6) ~= ".timer" then - return false, "timer target '" .. entry.match .. "' must name a .timer unit" - end - if entry.action ~= nil and not VALID_ACTIONS[entry.action] then - return false, "unknown action " .. tostring(entry.action) - end - if entry.action == "freeze" and TIMER_KINDS[entry.kind] then - return false, "a timer cannot be frozen, only stopped" - end - if type(entry.profiles) ~= "table" or #entry.profiles == 0 then - return false, "profiles must be a non-empty array" - end - for _, profile in ipairs(entry.profiles) do - if type(profile) ~= "string" or profile == "" then - return false, "profile names must be non-empty strings" - end - end - return true -end - -local function copyTargets(list) - local out = {} - for index, entry in ipairs(list) do - local profiles = {} - for profileIndex, profile in ipairs(entry.profiles) do - profiles[profileIndex] = profile - end - out[index] = { - match = entry.match, - kind = entry.kind, - action = entry.action, - profiles = profiles, - } - end - return out -end - --- parseTargets decodes the `targets` setting, dropping individual invalid entries. --- An unset, unparseable or wholly invalid setting falls back to DEFAULT_TARGETS so a --- typo can never leave gamer mode with an empty kill list and no explanation. -function M.parseTargets(raw) - if type(raw) == "string" and raw ~= "" then - local decoded, decodeError = noctalia.json.decode(raw) - if type(decoded) ~= "table" then - noctalia.log("gamermode: ignoring invalid targets setting: " .. tostring(decodeError or "not a JSON array")) - else - local out = {} - for _, entry in ipairs(decoded) do - local ok, reason = validEntry(entry) - if ok then - out[#out + 1] = { - match = entry.match, - kind = entry.kind, - action = entry.action, - profiles = entry.profiles, - } - else - noctalia.log("gamermode: dropped target: " .. tostring(reason)) - end - end - if #out > 0 then - -- Allowed, but the user should know it is a one-way trip. - for _, entry in ipairs(out) do - if entry.kind == "process" and M.actionOf(entry) == "stop" then - noctalia.log( - "gamermode: '" .. entry.match .. "' is a process with action=stop, which is " - .. "unrecoverable -- a bare process has no argv to relaunch from. " - .. "Use action=freeze, or target the unit that supervises it." - ) - end - end - return copyTargets(out) - end - noctalia.log("gamermode: targets setting had no usable entries, using defaults") - end - end - return copyTargets(M.DEFAULT_TARGETS) -end - -function M.targetsForProfile(targets, profile) - local out = {} - for _, target in ipairs(targets) do - for _, tagged in ipairs(target.profiles) do - if tagged == profile then - out[#out + 1] = target - break - end - end - end - return out -end - --- ── shell commands per target kind ── - --- shellQuote returns nil for anything that cannot be represented safely, and every --- command builder propagates that nil rather than emitting a half-quoted command. -local function shellQuote(value) - if not validateShellValue(value) then - return nil - end - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -M.shellQuote = shellQuote - --- safeMatch is the single choke point for shell interpolation: it refuses protected --- targets and anything that cannot be quoted. Builders return nil rather than emitting a --- command, so a denied entry surviving in an old session file still cannot act. -local function safeMatch(target) - if M.isDenied(target.match) then - noctalia.log("gamermode: refusing to act on protected target " .. tostring(target.match)) - return nil - end - return shellQuote(target.match) -end - --- Probes read state only, so none of them needs elevation -- `systemctl is-active` --- works unprivileged even for system units. -function M.probeCmd(target) - local match = safeMatch(target) - if not match then - return nil - end - if target.kind == "process" then - return "pgrep -x " .. match - elseif target.kind == "user-service" or target.kind == "user-timer" then - return "systemctl --user is-active " .. match - elseif target.kind == "system-service" or target.kind == "system-timer" then - return "systemctl is-active " .. match - elseif target.kind == "container" then - return "docker inspect -f '{{.State.Running}}' " .. match - end - return nil -end - --- Changing a system unit needs authorisation, and systemctl already knows how to ask for --- it: the call goes over D-Bus, systemd asks polkit, and polkit asks the desktop's --- authentication agent to prompt. `org.freedesktop.systemd1.manage-units` resolves to --- auth_admin_keep for an active local session, so an administrator is prompted once and --- the answer is cached for the rest of the batch. --- --- This is why none of the builders below shell out to sudo. `sudo -n` cannot prompt at --- all, so on any machine without a NOPASSWD rule -- which is most of them -- every system --- target failed and gamer mode quietly did a fraction of its job. --- --- Callers must route these through the privileged lane: see needsPrivilege. -function M.needsPrivilege(kind) - return kind == "system-service" or kind == "system-timer" -end - -function M.stopCmd(target) - local match = safeMatch(target) - if not match then - return nil - end - if target.kind == "process" then - return "pkill -x " .. match - elseif target.kind == "user-service" or target.kind == "user-timer" then - return "systemctl --user stop " .. match - elseif target.kind == "system-service" or target.kind == "system-timer" then - return "systemctl stop " .. match - elseif target.kind == "container" then - return "docker stop " .. match - end - return nil -end - --- Processes have no generic start: a bare process name carries no argv, environment or --- working directory, so gamer mode cannot honestly relaunch one. Users who need a --- process brought back should target the unit that supervises it instead. -function M.startCmd(target) - local match = safeMatch(target) - if not match then - return nil - end - if target.kind == "user-service" or target.kind == "user-timer" then - return "systemctl --user start " .. match - elseif target.kind == "system-service" or target.kind == "system-timer" then - return "systemctl start " .. match - elseif target.kind == "container" then - return "docker start " .. match - end - return nil -end - --- actionOf normalises the optional `action` field. Absent means "stop", which keeps every --- pre-existing config and session file meaning exactly what it did before. -function M.actionOf(target) - return target.action == "freeze" and "freeze" or "stop" -end - --- Authorising system units once, rather than once per unit. --- --- Two approaches were measured on a live machine and both cost one password prompt per --- unit -- seven units, seven dialogs: --- --- * one `systemctl` process per unit. polkit's auth_admin_keep retains an authorisation --- against the subject that gave it, and the subject systemd reports is the calling --- process, so seven processes are seven subjects with nothing to reuse. --- * one `systemctl` process naming all seven units. systemctl issues its StopUnit calls --- in parallel, so all seven polkit checks are outstanding before any of them has an --- answer, and again none can reuse a retained authorisation. --- --- pkexec authorises the exec itself, once, and systemd performs no polkit check at all for --- a caller running as root. That makes one dialog a property of the design rather than a --- hoped-for cache hit. org.freedesktop.policykit.exec is auth_admin with no keep, so each --- pkexec prompts -- which is why a verb's units all go in one invocation. The built-in --- targets only ever stop system units, never freeze them, so an enable and a disable are --- one prompt each; a config that mixes both verbs pays one per verb. --- --- Batching costs per-unit exit codes. It is affordable because nothing depends on them: --- the snapshot records what a target was doing before, not whether its stop returned zero, --- and restore probes live state rather than trusting a recorded outcome. systemctl still --- names each unit it could not act on, and that stderr is logged whole. -local BATCH_ARGS = { - stop = "stop", - start = "start", - freeze = "kill --kill-whom=all -s SIGSTOP", - thaw = "kill --kill-whom=all -s SIGCONT", -} - --- pkexec resolves a bare program name against a sanitised PATH, so the absolute path is --- the dependable form. init() replaces these from the live system. -M.systemctlPath = "/usr/bin/systemctl" -M.canElevate = true - -local function batchPrefix(verb) - local args = BATCH_ARGS[verb] - if not args then - return nil - end - if not M.canElevate then - -- No pkexec: fall back to asking systemd directly. It still works, at the cost of - -- the prompt-per-unit behaviour described above. - return "systemctl " .. args - end - return "pkexec " .. M.systemctlPath .. " " .. args -end - --- Timers have no process to signal, so they can only be stopped and started. -local function batchable(verb, kind) - if not M.needsPrivilege(kind) then - return false - end - if verb == "freeze" or verb == "thaw" then - return kind == "system-service" - end - return true -end - --- Returns the batched command and the targets it covers, so the caller can report against --- exactly what went in. Targets refused by safeMatch are left out of both. -function M.batchCmd(verb, targets) - local prefix = batchPrefix(verb) - if not prefix then - return nil, {} - end - local quoted, covered = {}, {} - for _, target in ipairs(targets) do - if batchable(verb, target.kind) then - local match = safeMatch(target) - if match then - quoted[#quoted + 1] = match - covered[#covered + 1] = target - end - end - end - if #quoted == 0 then - return nil, {} - end - return prefix .. " " .. table.concat(quoted, " "), covered -end - --- freeze suspends a target in place: SIGSTOP for processes and units, docker pause for --- containers. Unlike stop it is perfectly reversible and loses no state, which makes it --- the right action for anything the user might return to -- a browser, an editor, an --- animated wallpaper daemon. --- --- renice was measured and rejected as the reversible option: with RLIMIT_NICE=0 an --- unprivileged process can lower priority but never raise it back, so it would --- permanently degrade anything it touched. -function M.freezeCmd(target) - local match = safeMatch(target) - if not match then - return nil - end - if target.kind == "process" then - return "pkill -STOP -x " .. match - elseif target.kind == "user-service" then - -- --kill-whom=all is explicit because `systemctl kill --help` does not state its - -- default, and freezing a unit must reach every process in its cgroup. - return "systemctl --user kill --kill-whom=all -s SIGSTOP " .. match - elseif target.kind == "system-service" then - return "systemctl kill --kill-whom=all -s SIGSTOP " .. match - elseif target.kind == "container" then - -- docker pause is the cgroup freezer: an exact match for freeze semantics. - return "docker pause " .. match - end - -- Timer kinds fall through: there is no process to signal. - return nil -end - -function M.thawCmd(target) - local match = safeMatch(target) - if not match then - return nil - end - if target.kind == "process" then - return "pkill -CONT -x " .. match - elseif target.kind == "user-service" then - return "systemctl --user kill --kill-whom=all -s SIGCONT " .. match - elseif target.kind == "system-service" then - return "systemctl kill --kill-whom=all -s SIGCONT " .. match - elseif target.kind == "container" then - return "docker unpause " .. match - end - return nil -end - --- wasState maps probe stdout to the state recorded in the snapshot. Only "running" and --- "active" count as up; everything else -- including transitional states and any output --- that could not be read -- is "down", so nothing gets restarted on a guess. -function M.wasState(kind, output) - local text = (tostring(output or "")):gsub("%s+", "") - if kind == "process" then - return text ~= "" and "running" or "down" - elseif kind == "container" then - return text == "true" and "running" or "down" - end - return text == "active" and "active" or "down" -end - --- ── session snapshot ── - -local SNAPSHOT_VERSION = 1 -local UP_STATES = { running = true, active = true } - -local function snapshotPath() - local directory = noctalia.pluginDataDir() - if not directory then - return nil - end - return directory .. "/session.json" -end - --- The kernel boot id changes on every boot, which makes it an exact staleness marker for a --- session file. More reliable than inferring staleness from live state: a frozen process --- still appears in pgrep, so "is everything running again?" false-positives on every freeze --- target. -function M.currentBootId() - local contents = noctalia.readFile("/proc/sys/kernel/random/boot_id") - if not contents then - return nil - end - local id = contents:gsub("%s+", "") - return id ~= "" and id or nil -end - -function M.buildSnapshot(profile, powerProfileBefore, probedTargets) - return { - version = SNAPSHOT_VERSION, - profile = profile, - power_profile_before = powerProfileBefore, - boot_id = M.currentBootId(), - targets = probedTargets, - } -end - --- restorePlan answers "which stopped targets may be started again?". A target qualifies --- only if it was up when gamer mode began and is still down now: that keeps a manual --- restart from being stomped and keeps something that was already off from being started. --- `stateOf` returns the live state string, or nil when it could not be determined -- in --- which case the target is left alone. --- --- Freeze targets are deliberately excluded; they go through thawPlan, which needs no --- probe at all. -function M.restorePlan(snap, stateOf) - local plan = {} - for _, target in ipairs((snap and snap.targets) or {}) do - if UP_STATES[target.was] and M.actionOf(target) == "stop" and stateOf(target.match) == "down" then - plan[#plan + 1] = target - end - end - return plan -end - --- thawPlan returns every frozen target, with no live check. A frozen process still shows --- up in pgrep, so there is no probe that could distinguish "still frozen" from "running", --- and SIGCONT to a process that is not stopped is a verified no-op. Thawing --- unconditionally is therefore both simpler and strictly safer: it cannot misread a --- state, cannot stomp a manual restart, and cannot leave something frozen because a probe --- failed to start. -function M.thawPlan(snap) - local plan = {} - for _, target in ipairs((snap and snap.targets) or {}) do - if UP_STATES[target.was] and M.actionOf(target) == "freeze" then - plan[#plan + 1] = target - end - end - return plan -end - -local function validSnapshotTarget(entry) - return type(entry) == "table" - and validateShellValue(entry.match) ~= nil - and VALID_KINDS[entry.kind] ~= nil - and type(entry.was) == "string" - and (entry.action == nil or VALID_ACTIONS[entry.action] == true) -end - -function M.writeSnapshot(snap) - local path = snapshotPath() - if not path then - noctalia.log("gamermode: no plugin data dir, cannot persist the session") - return false - end - - local encoded, encodeError = noctalia.json.encode(snap) - if not encoded then - noctalia.log("gamermode: could not encode the session: " .. tostring(encodeError)) - return false - end - - noctalia.mkdirAll(noctalia.pluginDataDir()) - -- Write-then-rename: a shell crash mid-write must not leave a half-written session - -- that would be read back as "no session" while targets are still suspended. - local temporary = path .. ".tmp" - if not noctalia.writeFile(temporary, encoded) then - noctalia.log("gamermode: could not write the session file") - return false - end - if not noctalia.renameFile(temporary, path) then - noctalia.removeFile(temporary) - noctalia.log("gamermode: could not replace the session file") - return false - end - return true -end - --- readSnapshot returns nil for anything it cannot trust. Callers treat nil as "gamer --- mode is off", which is the safe reading: it never invents targets to restart. -function M.readSnapshot() - local path = snapshotPath() - if not path then - return nil - end - local contents = noctalia.readFile(path) - if not contents then - return nil - end - - local decoded, decodeError = noctalia.json.decode(contents) - if type(decoded) ~= "table" then - noctalia.log("gamermode: ignoring unreadable session file: " .. tostring(decodeError or "not an object")) - return nil - end - if decoded.version ~= SNAPSHOT_VERSION then - noctalia.log("gamermode: ignoring session file with version " .. tostring(decoded.version)) - return nil - end - if type(decoded.targets) ~= "table" then - noctalia.log("gamermode: ignoring session file without a target list") - return nil - end - - -- Keep the entries that are still usable rather than discarding the whole session: - -- dropping it would report gamer mode as off while targets stay suspended. - local targets = {} - local dropped = 0 - for _, entry in ipairs(decoded.targets) do - if validSnapshotTarget(entry) then - targets[#targets + 1] = { - match = entry.match, - kind = entry.kind, - action = entry.action, - was = entry.was, - } - else - dropped = dropped + 1 - end - end - if dropped > 0 then - noctalia.log("gamermode: dropped " .. dropped .. " unusable entries from the session file") - end - - return { - version = decoded.version, - profile = type(decoded.profile) == "string" and decoded.profile or "light", - power_profile_before = type(decoded.power_profile_before) == "string" and decoded.power_profile_before or nil, - boot_id = type(decoded.boot_id) == "string" and decoded.boot_id or nil, - targets = targets, - } -end - -function M.deleteSnapshot() - local path = snapshotPath() - if path then - noctalia.removeFile(path) - end -end - --- ── runtime ── - -local COMMAND_TIMEOUT_MS = 10000 --- A privileged command can sit at a polkit password dialog. Ten seconds is not enough time --- to read a prompt and type a password, and a timeout there kills the command mid-dialog. -local PRIVILEGED_TIMEOUT_MS = 120000 -local DEFAULT_POLL_SECONDS = 3 - -local busy = false -local lastHandledNonce = 0 -local powerState = { available = false, profiles = {} } - -local function trim(value) - return (tostring(value or ""):gsub("^%s+", ""):gsub("%s+$", "")) -end - --- The shell caps how many child processes may be in flight at once (8 in the build this --- was written against) and runAsync refuses rather than queueing once that cap is hit. --- Fanning the whole target list out in one pass therefore loses every command past the --- eighth, and a probe that never ran reads as "down" -- so enable would record an idle --- machine and suspend nothing. Commands go through a queue instead, a few at a time. --- --- The cap is shared with the rest of the shell, so a refusal does not always mean our own --- slots are full. Staying well under it leaves room for other plugins and makes a refusal --- rare enough to treat as transient. -local MAX_IN_FLIGHT = 4 - --- Privileged commands run one at a time. Polkit caches an administrator's answer, but only --- once it has one: firing four at a shell with no cached authorisation races four password --- dialogs onto the screen. Serialised, the first prompts and the rest ride the cache. -local lanes = { - default = { queued = {}, inFlight = 0, limit = MAX_IN_FLIGHT, timeoutMs = COMMAND_TIMEOUT_MS }, - privileged = { queued = {}, inFlight = 0, limit = 1, timeoutMs = PRIVILEGED_TIMEOUT_MS }, -} -local pumping = false --- Across both lanes, because the shell's cap is global: whether a refusal is worth waiting --- out depends on anything of ours still running, not just this lane. -local totalInFlight = 0 -local pump - --- Returns whether it disposed of anything, which is what tells the caller a second round --- is worth attempting rather than spinning. -local function pumpLane(lane) - local progressed = false - while lane.inFlight < lane.limit and #lane.queued > 0 do - local job = table.remove(lane.queued, 1) - lane.inFlight = lane.inFlight + 1 - totalInFlight = totalInFlight + 1 - local started = noctalia.runAsync(job.command, function(result) - lane.inFlight = lane.inFlight - 1 - totalInFlight = totalInFlight - 1 - job.callback(result) - pump() - end, lane.timeoutMs) - if not started then - lane.inFlight = lane.inFlight - 1 - totalInFlight = totalInFlight - 1 - if totalInFlight > 0 then - -- Something is still running and will pump again when it finishes, so the - -- job keeps its place rather than being reported as a failure. - table.insert(lane.queued, 1, job) - return progressed - end - -- Nothing is running to trigger a later pump. update() retries the queues on - -- the poll tick, but this job has waited long enough to answer now. - noctalia.log("gamermode: could not start command: " .. job.command) - job.callback(nil) - end - progressed = true - end - return progressed -end - --- A command that completes synchronously calls back into pump from inside pumpLane. --- Letting that recurse would nest one stack frame per queued command and overflow on a --- full target list, so the outer call keeps ownership of both queues. -pump = function() - if pumping then - return - end - pumping = true - -- Rounds, not one pass: a callback firing inside pumpLane can queue work for the lane - -- that was already visited this pass -- probes finishing is exactly what queues the - -- suspends -- and its own pump() call was swallowed by the guard above. Without the - -- loop that work sits in the queue with nothing left to start it. - local progressed = true - while progressed do - -- Privileged first: it is the lane that may block on a password dialog, so it - -- should be waiting on the human rather than on our own bookkeeping. - progressed = pumpLane(lanes.privileged) - progressed = pumpLane(lanes.default) or progressed - end - pumping = false -end - --- run always invokes `callback` exactly once. A command that could not be built or --- could not be started yields nil, which every caller reads as "state unknown" -- so a --- busy shell degrades into doing nothing rather than into a wrong decision. -local function run(command, callback, privileged) - if not command then - callback(nil) - return - end - local lane = privileged and lanes.privileged or lanes.default - lane.queued[#lane.queued + 1] = { command = command, callback = callback } - pump() -end - -local function succeeded(result) - return result ~= nil and result.exitCode == 0 -end - -local function describeFailure(result) - if result == nil then - return "command did not start" - end - local stderr = trim(result.stderr) - if stderr ~= "" then - return stderr - end - if result.timedOut then - return "timed out" - end - return "exit code " .. tostring(result.exitCode) -end - -local VALID_PROFILES = { light = true, heavy = true } - -local function configuredProfile() - local profile = noctalia.getConfig("profile") - return profile == "heavy" and "heavy" or "light" -end - --- resolveProfile lets a command name the profile to apply for one session. The panel needs --- this because a plugin reads its own settings and cannot write them, so choosing a profile --- in the panel has to travel with the enable rather than change the setting. -local function resolveProfile(override) - if override == nil then - return configuredProfile() - end - if VALID_PROFILES[override] then - return override - end - noctalia.log("gamermode: ignoring unknown profile " .. tostring(override)) - return configuredProfile() -end - -local function autoPerformance() - return noctalia.getConfig("auto_performance") ~= false -end - --- ── power profiles ── - --- parsePowerProfiles reads `powerprofilesctl list`, whose entries are lines like --- "* balanced:" (the leading star marks the active one) followed by indented details. -function M.parsePowerProfiles(text) - local profiles = {} - local active = nil - for line in tostring(text or ""):gmatch("[^\n]+") do - local star, name = line:match("^%s*(%*?)%s*([%w][%w%-_]*):%s*$") - if name then - profiles[#profiles + 1] = name - if star == "*" then - active = name - end - end - end - return profiles, active -end - -local function publishPower() - noctalia.state.set("power", powerState) -end - -local function powerSupports(profile) - for _, candidate in ipairs(powerState.profiles) do - if candidate == profile then - return true - end - end - return false -end - --- refreshPower republishes the power group and hands the active profile to `done`. --- Without powerprofilesctl the group is marked unavailable and `done` receives nil, so --- gamer mode still runs -- it just does not switch profiles. -function M.refreshPower(done) - done = done or function() end - if not noctalia.commandExists("powerprofilesctl") then - powerState = { available = false, profiles = {} } - publishPower() - done(nil) - return - end - run("powerprofilesctl list", function(result) - local profiles, active = M.parsePowerProfiles(succeeded(result) and result.stdout or "") - powerState = { available = true, profiles = profiles, active = active } - publishPower() - done(active) - end) -end - -function M.setPowerProfile(profile) - if not powerState.available then - noctalia.log("gamermode: powerprofilesctl is unavailable") - return - end - if type(profile) ~= "string" or not powerSupports(profile) then - noctalia.log("gamermode: refusing unsupported power profile " .. tostring(profile)) - return - end - run("powerprofilesctl set " .. shellQuote(profile), function(result) - if not succeeded(result) then - noctalia.log("gamermode: could not set the power profile: " .. describeFailure(result)) - end - M.refreshPower() - end) -end - --- ── published state ── - -function M.publishMetrics() - local metrics = M.normalize(noctalia.systemStats()) - if metrics then - metrics.available = true - else - -- No system monitor: say so rather than publishing zeroes that read as real - -- idle readings. - metrics = { available = false, gpuAvailable = false } - end - noctalia.state.set("metrics", metrics) -end - -M.pollMetrics = M.publishMetrics - --- publishGameMode derives the whole UI-visible state from the session file, so a shell --- restart mid-session still shows gamer mode as on with the right suspend list. -function M.publishGameMode() - local snap = M.readSnapshot() - local suspended = {} - if snap then - for _, target in ipairs(snap.targets) do - if UP_STATES[target.was] then - suspended[#suspended + 1] = { - match = target.match, - kind = target.kind, - action = M.actionOf(target), - } - end - end - end - noctalia.state.set("game_mode", { - enabled = snap ~= nil, - busy = busy, - profile = snap and snap.profile or configuredProfile(), - suspended = suspended, - power_profile_before = snap and snap.power_profile_before or nil, - }) -end - --- ── enable ── - --- probeAll fans out one probe per target and reports once every answer is in. Results --- keep the configured target order so snapshots are stable across runs. -local function probeAll(targets, done) - local slots = {} - local pending = #targets - if pending == 0 then - done({}) - return - end - - local function settle() - if pending > 0 then - return - end - local probed = {} - for index = 1, #targets do - if slots[index] then - probed[#probed + 1] = slots[index] - end - end - done(probed) - end - - for index, target in ipairs(targets) do - local command = M.probeCmd(target) - if not command then - noctalia.log("gamermode: skipping unusable target " .. tostring(target.match)) - pending = pending - 1 - settle() - else - run(command, function(result) - slots[index] = { - match = target.match, - kind = target.kind, - action = M.actionOf(target), - was = M.wasState(target.kind, result and result.stdout), - } - pending = pending - 1 - settle() - end) - end - end -end - --- suspendAll suspends every target that was up, using each target's own action. A failure --- is logged and the flow continues: a missing NOPASSWD rule for one system unit must not --- abandon the rest. -local function suspendAll(probed, done) - local jobs = {} - - -- System units go out in one invocation per verb, so the user answers one prompt - -- rather than one per unit. Everything else stays per-target: pkill and docker need - -- no authorisation, so batching them would only blur which one failed. - local grouped = { freeze = {}, stop = {} } - local loose = {} - for _, entry in ipairs(probed) do - if UP_STATES[entry.was] then - local action = M.actionOf(entry) - if batchable(action, entry.kind) then - table.insert(grouped[action], entry) - else - table.insert(loose, { entry = entry, action = action }) - end - end - end - - for verb, entries in pairs(grouped) do - local command, covered = M.batchCmd(verb, entries) - if command then - jobs[#jobs + 1] = { command = command, action = verb, entries = covered, privileged = true } - end - end - for _, item in ipairs(loose) do - local command = item.action == "freeze" and M.freezeCmd(item.entry) or M.stopCmd(item.entry) - if command then - jobs[#jobs + 1] = { command = command, action = item.action, entries = { item.entry } } - else - noctalia.log("gamermode: no " .. item.action .. " command for " .. tostring(item.entry.match)) - end - end - - local pending = #jobs - if pending == 0 then - done(0) - return - end - local suspended = 0 - for _, job in ipairs(jobs) do - run(job.command, function(result) - if succeeded(result) then - suspended = suspended + #job.entries - else - local names = {} - for _, entry in ipairs(job.entries) do - names[#names + 1] = entry.match - end - noctalia.log( - "gamermode: could not " .. job.action .. " " .. table.concat(names, ", ") - .. ": " .. describeFailure(result) - ) - end - pending = pending - 1 - if pending == 0 then - done(suspended) - end - end, job.privileged) - end -end - -function M.enable(profileOverride) - if busy then - return - end - -- Idempotent: an existing session means gamer mode is already on, and probing again - -- would overwrite the recorded "was" states with the suspended ones. - if M.readSnapshot() then - M.publishGameMode() - return - end - - busy = true - M.publishGameMode() - - local profile = resolveProfile(profileOverride) - local targets = M.targetsForProfile(M.parseTargets(noctalia.getConfig("targets")), profile) - - local function withPowerBefore(powerBefore) - probeAll(targets, function(probed) - -- The session file is the only record of what was running before gamer mode - -- touched it, so it is written before anything is suspended. A process frozen - -- with SIGSTOP or a unit stopped with nothing on disk to name it cannot be - -- restored: disable reads the session, finds none, and returns. A failed - -- write therefore aborts the enable with the machine still untouched. - -- - -- Ordering it this way can leave the snapshot naming a target whose suspend - -- command then failed, which is the harmless direction. Thawing is - -- unconditional and SIGCONT to a running process is a no-op, and a stop - -- target is only restarted after a live probe says it is still down. - if not M.writeSnapshot(M.buildSnapshot(profile, powerBefore, probed)) then - busy = false - M.publishGameMode() - noctalia.notifyError( - noctalia.tr("notify.session_failed_title"), - noctalia.tr("notify.session_failed") - ) - return - end - suspendAll(probed, function(stopped) - busy = false - M.publishGameMode() - if autoPerformance() and powerState.available and powerSupports("performance") then - M.setPowerProfile("performance") - end - if stopped > 0 then - noctalia.notify(noctalia.tr("notify.enabled_title"), noctalia.trp("notify.suspended_count", stopped)) - else - noctalia.notify(noctalia.tr("notify.enabled_title"), noctalia.tr("notify.nothing_suspended")) - end - end) - end) - end - - -- Capture the profile to hand back before switching away from it. - if autoPerformance() then - M.refreshPower(withPowerBefore) - else - withPowerBefore(nil) - end -end - --- ── disable ── - -function M.disable() - if busy then - return - end - local snap = M.readSnapshot() - if not snap then - M.publishGameMode() - return - end - - busy = true - M.publishGameMode() - - local thawTargets = M.thawPlan(snap) - -- Filter to stop targets recorded as up; the "still down" half of the check is a live - -- probe per target below, so a manual restart in the meantime wins. - local candidates = M.restorePlan(snap, function() - return "down" - end) - - local restored = 0 - -- Held at one until every job has been queued, so a batch that completes inline cannot - -- finish the session while later phases are still being set up. - local pending = 1 - - local function finish() - M.deleteSnapshot() - busy = false - M.publishGameMode() - if autoPerformance() and snap.power_profile_before then - M.setPowerProfile(snap.power_profile_before) - end - if restored > 0 then - noctalia.notify(noctalia.tr("notify.disabled_title"), noctalia.trp("notify.restored_count", restored)) - else - noctalia.notify(noctalia.tr("notify.disabled_title"), noctalia.tr("notify.nothing_restored")) - end - end - - local function step() - pending = pending - 1 - if pending == 0 then - finish() - end - end - - -- launch counts one job whatever it covers, so a batch and a single command are the - -- same thing to the caller. - local function launch(command, privileged, covered, verb) - pending = pending + 1 - run(command, function(result) - if succeeded(result) then - restored = restored + #covered - else - local names = {} - for _, target in ipairs(covered) do - names[#names + 1] = target.match - end - noctalia.log( - "gamermode: could not " .. verb .. " " .. table.concat(names, ", ") - .. ": " .. describeFailure(result) - ) - end - step() - end, privileged) - end - - -- Freeze targets: thaw unconditionally, no probe. A frozen process still appears in - -- pgrep so no probe could tell "still frozen" from "running", and SIGCONT to a running - -- process is a verified no-op. - local thawCommand, thawCovered = M.batchCmd("thaw", thawTargets) - if thawCommand then - launch(thawCommand, true, thawCovered, "thaw") - end - for _, target in ipairs(thawTargets) do - if not batchable("thaw", target.kind) then - local command = M.thawCmd(target) - if command then - launch(command, false, { target }, "thaw") - else - noctalia.log("gamermode: no thaw command for " .. tostring(target.match)) - end - end - end - - -- Stop targets: probe every candidate, then start only those still down. The probes - -- are unprivileged and run first so the single privileged start covers exactly the - -- units that need it, rather than prompting for units already back up. - local stillDown = {} - - local function startStillDown() - local startCommand, startCovered = M.batchCmd("start", stillDown) - if startCommand then - launch(startCommand, true, startCovered, "restart") - end - for _, target in ipairs(stillDown) do - if not batchable("start", target.kind) then - local command = M.startCmd(target) - if command then - launch(command, false, { target }, "restart") - end - end - end - step() - end - - local probesLeft = #candidates - if probesLeft == 0 then - startStillDown() - else - local function probeDone() - probesLeft = probesLeft - 1 - if probesLeft == 0 then - startStillDown() - end - end - for _, target in ipairs(candidates) do - if not M.startCmd(target) then - -- Processes cannot be relaunched generically; say so once, per target. - noctalia.log( - "gamermode: cannot restart " .. tostring(target.match) .. " (" .. tostring(target.kind) .. ")" - ) - probeDone() - else - run(M.probeCmd(target), function(probeResult) - if M.wasState(target.kind, probeResult and probeResult.stdout) == "down" then - stillDown[#stillDown + 1] = target - end - -- Anything already back up, by hand or by its own supervisor, is left - -- out of the start batch. - probeDone() - end) - end - end - end -end - --- toggle passes the override through to enable. Turning gamer mode off needs no profile: --- the session records which one was applied. -function M.toggle(profileOverride) - if M.readSnapshot() then - M.disable() - else - M.enable(profileOverride) - end -end - --- ── maintenance ── --- --- One-shot cleanups, run on demand from the panel rather than as part of gamer mode. --- Nothing here is undone by disabling gamer mode: a deleted cache is gone and a dropped --- page cache refills on its own, so none of it belongs in the session snapshot. - --- Shader caches, in the locations the drivers and Steam actually use. Deleting one costs --- a slower first launch while it recompiles and nothing else, which is the trade people --- want after a driver update leaves stale shaders behind. --- Covering both vendors, because which of these exists is the clearest sign of which --- driver stack a machine runs. -local SHADER_CACHES = { - -- Mesa: AMD radeonsi and RADV, Intel, and the software rasterisers. The _db suffix is - -- the newer single-file format; a machine mid-upgrade has both. - "~/.cache/mesa_shader_cache", - "~/.cache/mesa_shader_cache_db", - "~/.cache/radv_builtin_shaders", - -- AMDVLK and the AMD Pro stack keep their own, separate from Mesa's. - "~/.cache/AMD", - -- NVIDIA moved GLCache from ~/.nv to ~/.cache/nvidia. Drivers old enough to use the - -- first are still in service, so both are listed. - "~/.cache/nvidia/GLCache", - "~/.nv/GLCache", - -- Steam's own, for the native package and the Flatpak. A library on a second drive - -- keeps its shadercache beside it and is not covered: finding those means parsing - -- libraryfolders.vdf, which is more machinery than this is worth. - "~/.local/share/Steam/steamapps/shadercache", - "~/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/shadercache", -} - --- Every path is expanded from the fixed list above and then checked to be under the home --- directory. The list is not user-supplied today, and this makes sure a future setting --- cannot turn `rm -rf` on something outside it. -function M.shaderCachePaths() - local home = noctalia.expandPath("~") - if not home or home == "" or home == "/" then - return {} - end - local prefix = home:sub(-1) == "/" and home or (home .. "/") - local found = {} - for _, entry in ipairs(SHADER_CACHES) do - local path = noctalia.expandPath(entry) - if type(path) == "string" and path:sub(1, #prefix) == prefix and noctalia.fileExists(path) then - found[#found + 1] = path - end - end - return found -end - -function M.shaderSizeCmd(paths) - if not paths or #paths == 0 then - return nil - end - local quoted = {} - for _, path in ipairs(paths) do - quoted[#quoted + 1] = shellQuote(path) - end - -- -c adds a grand total as the last line; -s keeps each argument to one line. - return "du -sbc " .. table.concat(quoted, " ") .. " | tail -1 | cut -f1" -end - -function M.shaderClearCmd(paths) - if not paths or #paths == 0 then - return nil - end - local quoted = {} - for _, path in ipairs(paths) do - quoted[#quoted + 1] = shellQuote(path) - end - -- `--` stops a path that begins with a dash being read as an option. - return "rm -rf -- " .. table.concat(quoted, " ") -end - --- sysctl writes /proc/sys/vm/drop_caches without needing a root shell, so the elevated --- half stays a single fixed argv with nothing interpolated into it. -function M.dropCachesCmd() - return "pkexec /usr/bin/sysctl -w vm.drop_caches=3" -end - --- swapoff has to complete before swapon starts, which needs the two joined. The string is --- a fixed literal: nothing the user controls reaches it. -function M.reclaimSwapCmd() - return "pkexec /bin/sh -c 'swapoff -a && swapon -a'" -end - --- Reclaiming swap reads every swapped page back into RAM. If it does not fit, swapoff --- fails partway or the machine starts killing things, so the check runs first. -function M.canReclaimSwap(raw) - local swap = type(raw) == "table" and type(raw.swap) == "table" and raw.swap or nil - local ram = type(raw) == "table" and type(raw.ram) == "table" and raw.ram or nil - local swapUsed = swap and tonumber(swap.usedMb) - if not swapUsed then - return false, "swap_unknown" - end - if swapUsed <= 0 then - return false, "swap_empty" - end - local total = ram and tonumber(ram.totalMb) - local used = ram and tonumber(ram.usedMb) - if not total or not used then - return false, "swap_unknown" - end - -- A tenth of RAM in headroom, so this does not succeed straight into an out-of-memory - -- kill of the game it was meant to help. - if swapUsed > (total - used) - (total * 0.1) then - return false, "swap_no_room" - end - return true -end - -local cleanupJob = nil -local shaderSize = nil - -local function publishCleanup(message, ok) - noctalia.state.set("cleanup", { - running = cleanupJob, - message = message, - ok = ok, - shaderSize = shaderSize, - }) -end - -local function finishCleanup(messageKey, ok, subst) - cleanupJob = nil - publishCleanup(subst and noctalia.tr(messageKey, subst) or noctalia.tr(messageKey), ok) -end - --- Measuring is its own job because the panel arms the delete before performing it, and a --- confirmation that names a size is worth the round trip. Nothing is removed here. -local function measureShaderCaches() - local paths = M.shaderCachePaths() - if #paths == 0 then - shaderSize = nil - finishCleanup("cleanup.shaders_none", true) - return - end - run(M.shaderSizeCmd(paths), function(result) - shaderSize = M.humanBytes(tonumber(trim(result and result.stdout)) or 0) - finishCleanup("cleanup.shaders_confirm", nil, { size = shaderSize }) - end) -end - -local function clearShaderCaches() - local paths = M.shaderCachePaths() - if #paths == 0 then - shaderSize = nil - finishCleanup("cleanup.shaders_none", true) - return - end - local removed = shaderSize - run(M.shaderClearCmd(paths), function(result) - if succeeded(result) then - shaderSize = nil - finishCleanup("cleanup.shaders_done", true, { size = removed or "?" }) - else - noctalia.log("gamermode: could not clear shader caches: " .. describeFailure(result)) - finishCleanup("cleanup.failed", false) - end - end) -end - -local function dropPageCache() - -- sync first so dirty pages are written out; dropping them unwritten would lose data. - run("sync", function() - run(M.dropCachesCmd(), function(result) - if succeeded(result) then - finishCleanup("cleanup.pagecache_done", true) - else - noctalia.log("gamermode: could not drop the page cache: " .. describeFailure(result)) - finishCleanup("cleanup.failed", false) - end - end, true) - end) -end - -local function reclaimSwap() - local ok, reason = M.canReclaimSwap(noctalia.systemStats()) - if not ok then - finishCleanup("cleanup." .. reason, false) - return - end - run(M.reclaimSwapCmd(), function(result) - if succeeded(result) then - finishCleanup("cleanup.swap_done", true) - else - noctalia.log("gamermode: could not reclaim swap: " .. describeFailure(result)) - finishCleanup("cleanup.failed", false) - end - end, true) -end - -local CLEANUP_JOBS = { - ["shaders-measure"] = measureShaderCaches, - shaders = clearShaderCaches, - pagecache = dropPageCache, - swap = reclaimSwap, -} - -function M.humanBytes(bytes) - local value = tonumber(bytes) or 0 - if value >= 1024 * 1024 * 1024 then - return string.format("%.1f GiB", value / (1024 * 1024 * 1024)) - elseif value >= 1024 * 1024 then - return string.format("%.0f MiB", value / (1024 * 1024)) - end - return string.format("%.0f KiB", value / 1024) -end - -function M.runCleanup(job) - if cleanupJob then - return - end - local runner = CLEANUP_JOBS[job] - if not runner then - noctalia.log("gamermode: ignoring an unknown cleanup job " .. tostring(job)) - return - end - cleanupJob = job - publishCleanup(noctalia.tr("cleanup.running"), nil) - runner() -end - --- ── diagnostics ── - --- What this machine reports, written to the shell log. --- --- GPU readings come from the shell, which uses NVML for NVIDIA and sysfs for everything --- else, and the two do not expose the same fields. Rather than guess at what an AMD or --- Intel box provides, this prints the raw sample so anyone can say what their hardware --- actually reports. It is also the first thing to run when a target refuses to act. -function M.diagnose() - local raw = noctalia.systemStats() - noctalia.log("gamermode diagnose: stats = " .. tostring(noctalia.json.encode(raw))) - noctalia.log("gamermode diagnose: metrics = " .. tostring(noctalia.json.encode(M.normalize(raw)))) - - local tools = {} - for _, name in ipairs({ "pgrep", "pkill", "systemctl", "pkexec", "docker", "powerprofilesctl", "du" }) do - tools[#tools + 1] = name .. "=" .. tostring(noctalia.commandExists(name) == true) - end - noctalia.log("gamermode diagnose: tools " .. table.concat(tools, " ")) - noctalia.log( - "gamermode diagnose: elevation pkexec=" .. tostring(M.canElevate) .. " systemctl=" .. tostring(M.systemctlPath) - ) - - local caches = M.shaderCachePaths() - noctalia.log("gamermode diagnose: shader caches = " .. (#caches > 0 and table.concat(caches, " ") or "none")) - - local snap = M.readSnapshot() - noctalia.log( - "gamermode diagnose: session = " - .. (snap and (snap.profile .. ", " .. #snap.targets .. " targets") or "none") - ) -end - --- ── commands ── - --- Commands arrive as `command` state writes from the panel and widget. The nonce makes --- a replayed or duplicated write a no-op instead of a second toggle. -function M.handleCommand(command) - if type(command) ~= "table" then - noctalia.log("gamermode: ignoring a malformed command") - return - end - local nonce = tonumber(command.nonce) - if nonce then - if nonce <= lastHandledNonce then - return - end - lastHandledNonce = nonce - end - - local action = command.action - if action == "toggle" then - M.toggle(command.profile) - elseif action == "enable" then - M.enable(command.profile) - elseif action == "disable" then - M.disable() - elseif action == "set-power-profile" then - M.setPowerProfile(command.profile) - elseif action == "cleanup" then - M.runCleanup(command.job) - elseif action == "diagnose" then - M.diagnose() - else - noctalia.log("gamermode: unknown command action " .. tostring(action)) - end -end - --- reconcileSession decides what a session file found at startup means. A session from a --- previous boot is stale: nothing it froze still exists, and units it stopped may have come --- back on their own. It still gets a full restore pass before being cleared, because a --- stopped unit that is not `enabled` really is still down, and putting it back is what the --- user was told would happen. --- --- Within the same boot a session is always kept, even if everything looks running -- that --- is precisely the case where something may still be frozen and needs thawing. -function M.reconcileSession() - local snap = M.readSnapshot() - if not snap then - M.publishGameMode() - return - end - - local current = M.currentBootId() - -- A snapshot with no boot id was written by an older version; treat it as current - -- rather than abandoning targets that may still be suspended. Likewise when the boot - -- id cannot be read at all. - if not snap.boot_id or not current or snap.boot_id == current then - M.publishGameMode() - return - end - - noctalia.log("gamermode: session predates the current boot, restoring and clearing it") - M.disable() -end - -function M.init() - local directory = noctalia.pluginDataDir() - if directory then - noctalia.mkdirAll(directory) - end - - -- Resolve elevation before anything can need it. Without pkexec the plugin still works - -- through systemd's own polkit check, so this downgrades rather than disables. - M.canElevate = noctalia.commandExists("pkexec") == true - if not M.canElevate then - noctalia.log( - "gamermode: pkexec not found, so system units will ask for a password once per " - .. "unit instead of once per batch" - ) - else - run("command -v systemctl", function(result) - local path = result and trim(result.stdout) or "" - if path ~= "" and path:sub(1, 1) == "/" then - M.systemctlPath = path - end - end) - end - - -- Publish immediately so a panel opened before the first poll is not empty. - M.publishGameMode() - M.publishMetrics() - -- Reconciliation can restore the previous power profile, so it waits until the power - -- state is known. - M.refreshPower(function() - M.reconcileSession() - end) - - local seconds = tonumber(noctalia.getConfig("poll_interval")) or DEFAULT_POLL_SECONDS - noctalia.setUpdateInterval(math.max(1, seconds) * 1000) -end - --- ── shell entry points (must be globals) ── - -function update() - M.publishMetrics() - -- A queue can only stall if every start was refused while nothing of ours was running, - -- which needs the rest of the shell to hold the whole process cap. The poll tick is the - -- one thing guaranteed to keep firing, so it is what gets the queue moving again. - pump() -end - -function onConfigChanged() - local seconds = tonumber(noctalia.getConfig("poll_interval")) or DEFAULT_POLL_SECONDS - noctalia.setUpdateInterval(math.max(1, seconds) * 1000) - -- The configured profile shows in the panel even while gamer mode is off. - M.publishGameMode() -end - -function onIpc(event) - if event == "toggle" then - M.toggle() - elseif event == "enable" then - M.enable() - elseif event == "disable" then - M.disable() - elseif event == "diagnose" then - M.diagnose() - end -end - -noctalia.state.watch("command", M.handleCommand) -M.init() - -return M diff --git a/gamer-mode/thumbnail.webp b/gamer-mode/thumbnail.webp deleted file mode 100644 index cf6630d1722e7c6cb4c832cf8f922e9591844d90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46380 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 diff --git a/gamer-mode/translations/en.json b/gamer-mode/translations/en.json deleted file mode 100644 index 6d36377..0000000 --- a/gamer-mode/translations/en.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "cleanup": { - "failed": "That did not work. See the log.", - "pagecache": "Drop page cache", - "pagecache_done": "Page cache dropped.", - "running": "Working...", - "shaders": "Clear shader caches", - "shaders_confirm": "Delete {size}?", - "shaders_done": "Cleared {size} of shader cache.", - "shaders_none": "No shader caches found.", - "swap": "Reclaim swap", - "swap_done": "Swap reclaimed into RAM.", - "swap_empty": "Nothing is swapped out.", - "swap_no_room": "Not enough free RAM to hold what is swapped out.", - "swap_unknown": "Swap usage could not be read.", - "title": "Maintenance" - }, - "notify": { - "disabled_title": "Gamer mode disabled", - "enabled_title": "Gamer mode enabled", - "nothing_restored": "Nothing needed restarting.", - "nothing_suspended": "No background targets were running.", - "restored_count": { - "one": "Restored 1 target.", - "other": "Restored {count} targets." - }, - "session_failed": "The session file could not be written, so nothing was suspended.", - "session_failed_title": "Gamer mode could not start", - "suspended_count": { - "one": "Suspended 1 target.", - "other": "Suspended {count} targets." - } - }, - "panel": { - "close": "Close", - "disable": "Disable", - "enable": "Enable", - "frozen": "frozen", - "gpu_unsupported": "GPU metrics unsupported", - "load": "Load", - "metrics_unavailable": "System metrics unavailable", - "mode_profile": "Suspend profile", - "network": "Net", - "nothing_suspended": "Nothing suspended", - "performance": "Performance", - "power": { - "balanced": "Balanced", - "performance": "Performance", - "power-saver": "Power saver" - }, - "power_profile": "Power profile", - "power_unavailable": "powerprofilesctl unavailable", - "profiles": { - "heavy": "Heavy", - "light": "Light" - }, - "settings": "Settings", - "state_off": "Off", - "state_on": "Running", - "stopped": "stopped", - "suspended": "Suspended", - "title": "gamer-mode", - "working": "Working..." - }, - "settings": { - "auto_performance": { - "description": "Switch power profile to performance while gamer mode is on.", - "label": "Auto performance profile" - }, - "click_action": { - "description": "What left-clicking the bar icon does. Right-click always toggles gamer mode.", - "label": "Left-click action", - "options": { - "open_panel": "Open panel", - "toggle": "Toggle gamer mode" - } - }, - "glyph": { - "description": "Glyph shown on the bar.", - "label": "Bar icon" - }, - "icon_file": { - "description": "An SVG or PNG to use instead of the glyph. Edits to the file appear in the bar straight away.", - "label": "Custom icon" - }, - "icon_file_active": { - "description": "Shown while gamer mode is on. A custom icon cannot be recoloured, so without this the state is only in the tooltip.", - "label": "Custom icon, gamer mode on" - }, - "monitor": { - "flame": { - "description": "Burns while gamer mode is on, as hot as the machine is working. \"Always\" keeps it animating the whole session, which costs CPU while you play.", - "label": "Flame", - "options": { - "always": "Always", - "flare": "Flare on switch", - "off": "Off" - } - }, - "flame_height": { - "description": "Height of the flame band in pixels. The band is mirrored by an equal space above it so the readings stay centred, so it can only be half of whatever the pill has spare. Raise the bar's capsule thickness for a taller flame.", - "label": "Flame height" - }, - "flame_style": { - "description": "How the flame is drawn. \"Graph\" is one node and the cheapest; \"bars\" is crisper up close and costs 28.", - "label": "Flame style", - "options": { - "bars": "Bars", - "graph": "Graph" - } - }, - "highlight_gamer_mode": { - "description": "Tints the readout instead of adding an icon, so nothing moves when it switches.", - "label": "Highlight while gamer mode is on" - }, - "label_min_width": { - "description": "Pixels to reserve for each reading. Zero lets every value hug its text, so the readout is as wide as it needs to be. Raise it if you would rather the width held steady than stayed tight.", - "label": "Reserved value width" - }, - "show_cpu": { - "description": "Show processor load in the bar.", - "label": "CPU usage" - }, - "show_cpu_temp": { - "label": "CPU temperature" - }, - "show_glyphs": { - "description": "Show an icon beside each reading. Off gives numbers only.", - "label": "Icons" - }, - "show_gpu": { - "label": "GPU usage" - }, - "show_gpu_temp": { - "label": "GPU temperature" - }, - "show_load": { - "label": "Load average" - }, - "show_net": { - "label": "Network rates" - }, - "show_ram": { - "label": "RAM used" - }, - "show_swap": { - "label": "Swap used" - }, - "show_vram": { - "label": "VRAM used" - } - }, - "poll_interval": { - "description": "Seconds between metric updates.", - "label": "Poll interval", - "options": { - "2": "2s", - "3": "3s", - "5": "5s" - } - }, - "profile": { - "description": "How aggressive the suspend list is.", - "label": "Gamer mode profile", - "options": { - "heavy": "Heavy", - "light": "Light" - } - }, - "show_temps": { - "description": "Include CPU/GPU temperatures in tooltip and panel.", - "label": "Show temperatures" - }, - "targets": { - "description": "Advanced: JSON array of {match, kind, profiles}. Kind: process, user-service, system-service, container.", - "label": "Suspend targets (JSON)" - } - }, - "widget": { - "cpu": "CPU", - "cpu_temp": "CPU temp", - "gamer_mode": "Gamer mode", - "gamer_mode_off": "Off", - "gamer_mode_on": { - "one": "On, 1 suspended", - "other": "On, {count} suspended" - }, - "gpu": "GPU", - "gpu_temp": "GPU temp", - "load": "Load", - "net_rx": "Down", - "net_tx": "Up", - "ram": "RAM", - "swap": "Swap", - "tooltip_loading": "Gamer Mode: loading metrics...", - "vram": "VRAM" - } -} diff --git a/gamer-mode/widget.luau b/gamer-mode/widget.luau deleted file mode 100644 index 07afb00..0000000 --- a/gamer-mode/widget.luau +++ /dev/null @@ -1,145 +0,0 @@ ---!nonstrict --- --- Bar widget: a glyph plus a live tooltip. It owns no state -- it renders whatever the --- service publishes and sends commands back through `noctalia.state`. - -local PANEL_ID = "nomadcxx/gamer-mode:main" -local MIB_PER_GIB = 1024 - -local M = {} - -local metrics = noctalia.state.get("metrics") or { available = false } -local gameMode = noctalia.state.get("game_mode") or { enabled = false, suspended = {} } -local nonceCounter = 0 - -local function gibibytes(mib) - return string.format("%.1fG", (tonumber(mib) or 0) / MIB_PER_GIB) -end - -local function percent(fraction) - return string.format("%d%%", math.floor((tonumber(fraction) or 0) * 100 + 0.5)) -end - --- Rows rather than a joined string: setTooltip renders a list of {key, value} tables as --- an aligned two-column block. -function M.tooltipRows(m, showTemps, gm) - m = type(m) == "table" and m or {} - local rows = {} - if not m.available then - rows[#rows + 1] = { key = noctalia.tr("widget.tooltip_loading"), value = "—" } - else - rows[#rows + 1] = { key = noctalia.tr("widget.cpu"), value = percent(m.cpuPerc) } - if showTemps and tonumber(m.cpuTemp) then - rows[#rows + 1] = { key = noctalia.tr("widget.cpu_temp"), value = string.format("%d°C", math.floor(tonumber(m.cpuTemp) + 0.5)) } - end - rows[#rows + 1] = { key = noctalia.tr("widget.ram"), value = gibibytes(m.memUsedMb) } - - -- GPU and VRAM rows are omitted entirely when unsupported: an empty reading is - -- more honest than a zero that looks like an idle GPU. - if m.gpuAvailable and m.gpuPerc then - rows[#rows + 1] = { key = noctalia.tr("widget.gpu"), value = percent(m.gpuPerc) } - end - if showTemps and tonumber(m.gpuTemp) then - rows[#rows + 1] = { key = noctalia.tr("widget.gpu_temp"), value = string.format("%d°C", math.floor(tonumber(m.gpuTemp) + 0.5)) } - end - if m.vramUsedMb then - rows[#rows + 1] = { key = noctalia.tr("widget.vram"), value = gibibytes(m.vramUsedMb) } - end - end - - local validGm = type(gm) == "table" and gm or {} - local suspended = type(validGm.suspended) == "table" and validGm.suspended or {} - rows[#rows + 1] = { - key = noctalia.tr("widget.gamer_mode"), - value = validGm.enabled == true - and noctalia.trp("widget.gamer_mode_on", #suspended) - or noctalia.tr("widget.gamer_mode_off"), - } - return rows -end - --- Trimmed locally on purpose. The real binding is `noctalia.string.trim`, but the test --- harness exposes a top-level `noctalia.trim`, so code written against the mock would --- pass the suite and fail in the shell. A Lua pattern depends on neither. -local function trimmed(value) - return (tostring(value or ""):gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function iconFile() - local resting = trimmed(noctalia.getConfig("icon_file")) - if resting == "" then - return nil - end - if gameMode.enabled then - local active = trimmed(noctalia.getConfig("icon_file_active")) - if active ~= "" then - return active - end - end - return resting -end - -local function render() - local icon = iconFile() - if icon then - -- watch = true, so editing the file updates the bar without a reload. An image - -- cannot be tinted, which is what icon_file_active exists to work around. - barWidget.setImage(icon, true, 18) - else - barWidget.setGlyph(noctalia.getConfig("glyph") or "device-gamepad-2") - barWidget.setGlyphColor(gameMode.enabled and "primary" or "on_surface") - end - barWidget.setTooltip(M.tooltipRows(metrics, noctalia.getConfig("show_temps") ~= false, gameMode)) -end - -local function sendCommand(action) - nonceCounter = nonceCounter + 1 - noctalia.state.set("command", { - nonce = noctalia.nowMs() * 1000 + nonceCounter, - action = action, - }) -end - --- Left-click opens the panel by default. A first click should show what the machine is --- doing, not suspend a list of programs the user has not read yet. -function M.onClick() - if (noctalia.getConfig("click_action") or "open_panel") == "toggle" then - sendCommand("toggle") - else - noctalia.togglePanel(PANEL_ID) - end -end - --- Right-click always toggles, whatever click_action says, so the one-click path stays --- available without opening the panel first. -function M.onRightClick() - sendCommand("toggle") -end - -noctalia.state.watch("metrics", function(value) - metrics = type(value) == "table" and value or { available = false } - render() -end) - -noctalia.state.watch("game_mode", function(value) - gameMode = type(value) == "table" and value or { enabled = false, suspended = {} } - render() -end) - --- ── shell entry points (must be globals) ── - -function onClick() - M.onClick() -end - -function onRightClick() - M.onRightClick() -end - -function onConfigChanged() - render() -end - -render() - -return M diff --git a/gocryptfs/README.md b/gocryptfs/README.md deleted file mode 100644 index 0f29791..0000000 --- a/gocryptfs/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# Gocryptfs - -Mount, unmount, initialize, and auto-mount [gocryptfs](https://github.com/rfjakob/gocryptfs) encrypted volumes from Noctalia — bar status, manager panel, and optional auto-mount after login. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `davemhammer/gocryptfs` | -| Entries | Bar widget: `status`; panel: `manager`; service: `service` | - -## Requirements - -Install these on `PATH` (declared in `plugin.toml` `dependencies`): - -- `gocryptfs` — mount and `gocryptfs -init` -- `fusermount3` or `fusermount` — FUSE unmount (first found wins) -- `keyctl` — kernel user-keyring session cache for remembered passwords (package `keyutils`) -- `secret-tool` — Freedesktop Secret Service client for reboot-persistent passwords (package `libsecret` / `libsecret-tools`) -- `chmod` — mode bits on short-lived temp password files -- `xdg-open` — open the mount point in the file manager -- `cat` — read `/proc/mounts` for mount status - -**Desktop keyring:** persistent “Remember” needs a Secret Service backend (GNOME Keyring, KeePassXC as Secret Service, etc.) running and unlocked after login. If only `keyctl` is available, remember still works for the current login session. - -## Usage - -Add the **status** bar widget from Settings → Bar (`davemhammer/gocryptfs:status`). - -- **Left-click** — open the manager panel -- **Right-click** — refresh mount status - -In the panel you can: - -- Select a volume → **Mount** / **Unmount** / **Open** (file manager via `xdg-open`) -- **Edit → Remember / Forget** — store or clear the volume password (desktop keyring + session cache) -- **Add** an existing cipher directory, or **Init** a new one (`gocryptfs -init`) -- Mount with a remembered keyring password, an optional advanced passfile path, or a one-shot password prompt (optional “also remember”) - -```sh -noctalia msg panel-toggle davemhammer/gocryptfs:manager -``` - -### Auto-mount on login - -Requires all of: - -1. Plugin setting **Auto-mount on login** (default on) -2. Per-volume **Auto-mount** enabled -3. A remembered keyring password (**Remember**) or an advanced passfile path - -After reboot, the desktop keyring must unlock (normal login) so `secret-tool` can supply the password. The kernel session key is refilled automatically on mount. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `refresh_interval` | `int` | `3` | Seconds between `/proc/mounts` polls. | -| `notify_on_action` | `bool` | `true` | Notify after mount, unmount, init, remember, and forget. | -| `create_mountpoint` | `bool` | `true` | Create the mount directory if missing before mount. | -| `auto_mount` | `bool` | `true` | Global switch: on service start, queue volumes that have auto-mount + keyring/passfile. | -| `show_count` | `bool` (widget) | `true` | Show `mounted/total` on the bar. | -| `glyph_color` | `select` (widget) | `on_surface` | Lock icon color when nothing is mounted. | -| `mounted_color` | `select` (widget) | `tertiary` | Icon/dot color when at least one volume is mounted. | -| `unmounted_color` | `select` (widget) | `on_surface_variant` | Status-dot color when nothing is mounted. | - -## IPC - -```sh -noctalia msg panel-toggle davemhammer/gocryptfs:manager -noctalia msg plugin davemhammer/gocryptfs:service all refresh -noctalia msg plugin davemhammer/gocryptfs:service all reload -noctalia msg plugin davemhammer/gocryptfs:service all automount -``` - -- `refresh` — re-read `/proc/mounts` and refresh the snapshot -- `reload` — reload `volumes.json` from the plugin data dir, clear the auto-mount queue, then refresh -- `automount` — reset the auto-mount schedule and refresh (eligible volumes are queued again on the next status pass) - -## Notes - -### Data and filesystem - -- Volume definitions live under the plugin data directory as `volumes.json` (not inside the cipher directory). -- With **Create mount points** on, the service may `mkdir` the configured mount path before mounting. -- Cipher, mount, and passfile paths reject empty values, NUL, and `..` segments. Symlinks on those paths are followed by design (user-chosen paths). - -### Secrets (no long-lived plaintext under plugin data) - -**Remember password** does **not** write a long-lived password file under the plugin data dir. It stores the secret in: - -1. **Desktop keyring** via `secret-tool` — attributes `service=noctalia-gocryptfs`, `volume-id=`. Survives reboot while the login keyring is unlocked. -2. **Kernel session keyring** via `keyctl` — description `noctalia-gocryptfs:`. Fast cache for this login only; cleared on reboot/logout. - -On mount / auto-mount, the service prefers the session key; if missing, it hydrates from `secret-tool` into `keyctl`, then runs `gocryptfs -extpass keyctl pipe `. Fallback: `gocryptfs -extpass secret-tool lookup …`. - -- One-shot typed passwords use a short-lived file under a **private** tmpfs dir (`/dev/shm/noctalia-gocryptfs.$USER`, mode `0700`) when available, then delete it. Parent mode blocks other local users even if the file briefly inherits umask. -- Optional **advanced** passfile paths remain supported for users who manage their own files (plaintext by user choice; not recommended). -- **Forget** and volume remove clear both the desktop keyring entry and the session key. -- Passwords are not logged. - -### Processes and network - -- Spawns: `gocryptfs`, `fusermount3` or `fusermount`, `keyctl`, `secret-tool`, `chmod`, `cat` (`/proc/mounts`), `xdg-open`. -- **Network:** none. diff --git a/gocryptfs/panel.luau b/gocryptfs/panel.luau deleted file mode 100644 index d75cfda..0000000 --- a/gocryptfs/panel.luau +++ /dev/null @@ -1,878 +0,0 @@ ---!nonstrict --- Gocryptfs manager panel: list, mount/unmount, add/edit, init, password prompt. - -local STATE_KEY = "gocrypt_snapshot" -local COMMAND_KEY = "gocrypt_command" -local RESULT_KEY = "gocrypt_action_result" - -local snapshot = noctalia.state.get(STATE_KEY) or { - available = false, - loading = true, - busy = false, - volumes = {}, - mountedCount = 0, - totalCount = 0, - error = "", - updatedAt = 0, - revision = 0, -} - -local selectedId = "" -local requestCounter = 0 -local feedback = "" -local feedbackError = false -local dirty = true - --- views: "list" | "form" | "password" -local view = "list" -local formMode = "add" -- add | edit | init -local formGeneration = 0 -local formName = "" -local formCipher = "" -local formMount = "" -local formPassfile = "" -local formAllowOther = false -local formReadOnly = false -local formAutoMount = false -local formPlaintextNames = false -local formAesSiv = false -local formSavePassfile = true -local formPassword = "" -local formPasswordConfirm = "" -local formPasswordKey = 0 -local formError = "" -local formEditId = "" - -local passwordVolumeId = "" -local passwordVolumeName = "" -local passwordValue = "" -local passwordKey = 0 -local passwordError = "" --- "mount" | "store_keyring" -local passwordMode = "mount" -local passwordRememberKeyring = true - -local render - -local function tr(key, subst) - return noctalia.tr(key, subst) -end - -local function nextRequestId() - requestCounter += 1 - return `panel-{requestCounter}` -end - -local function sendCommand(action, values) - local command = { - action = action, - requestId = nextRequestId(), - } - if type(values) == "table" then - for key, value in pairs(values) do - command[key] = value - end - end - noctalia.state.set(COMMAND_KEY, command) - return command.requestId -end - -local function selectedVolume() - if selectedId == "" then - return nil - end - for _, vol in ipairs(snapshot.volumes or {}) do - if vol.id == selectedId then - return vol - end - end - return nil -end - -local function resetForm() - formName = "" - formCipher = "" - formMount = "" - formPassfile = "" - formAllowOther = false - formReadOnly = false - formAutoMount = true - formPlaintextNames = false - formAesSiv = false - formSavePassfile = true - formPassword = "" - formPasswordConfirm = "" - formPasswordKey += 1 - formError = "" - formEditId = "" - formGeneration += 1 -end - -local function fillFormFrom(vol) - formName = tostring(vol.name or "") - formCipher = tostring(vol.cipherDir or "") - formMount = tostring(vol.mountPoint or "") - formPassfile = tostring(vol.passfile or "") - formAllowOther = vol.allowOther == true - formReadOnly = vol.readOnly == true - formAutoMount = vol.autoMount == true - formPlaintextNames = false - formAesSiv = false - formSavePassfile = false - formPassword = "" - formPasswordConfirm = "" - formPasswordKey += 1 - formError = "" - formEditId = tostring(vol.id or "") - formGeneration += 1 -end - -local function statusColor(vol) - if vol.mounted then - return "tertiary" - end - if vol.cipherExists == false or vol.initialized == false then - return "error" - end - return "on_surface_variant" -end - -local function volumeCard(vol) - local selected = vol.id == selectedId - local statusText = vol.mounted and tr("panel.status.mounted") or tr("panel.status.unmounted") - local summary = `{vol.name} · {statusText} · {vol.mountPoint}` - - return ui.button({ - key = vol.id, - text = summary, - glyph = vol.mounted and "lock-open" or "lock", - contentAlign = "start", - variant = selected and "primary" or "outline", - selected = selected, - onClick = function() - selectedId = vol.id - feedback = "" - render() - end, - }) -end - -local function selectionToolbar() - local vol = selectedVolume() - if vol == nil then - return ui.label({ text = tr("panel.select_hint"), color = "on_surface_variant" }) - end - - local mounted = vol.mounted == true - local busy = snapshot.busy == true - local hasPassfile = type(vol.passfile) == "string" and vol.passfile ~= "" - local useKeyring = vol.useKeyring == true - local hints = {} - if useKeyring then - table.insert(hints, tr("panel.keyring_hint")) - elseif hasPassfile then - table.insert(hints, tr("panel.passfile_hint")) - end - if vol.autoMount == true and (useKeyring or hasPassfile) then - table.insert(hints, tr("panel.automount_hint")) - end - - local buttons = { - ui.button({ - text = mounted and tr("actions.unmount") or tr("actions.mount"), - glyph = mounted and "lock" or "lock-open", - variant = "primary", - enabled = not busy and snapshot.available == true, - onClick = "onToggleMount", - }), - ui.button({ - text = tr("actions.open"), - glyph = "folder-open", - variant = "outline", - enabled = not busy, - onClick = "onOpenMount", - }), - ui.button({ - text = tr("actions.edit"), - glyph = "edit", - variant = "outline", - enabled = not busy and not mounted, - onClick = "onEdit", - }), - ui.button({ - text = tr("actions.remove"), - glyph = "trash", - variant = "destructive", - enabled = not busy and not mounted, - onClick = "onRemove", - }), - } - - return ui.column({ gap = 4, padding = 10, fill = "surface_variant/0.45", radius = 10 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = mounted and "lock-open" or "lock", size = 18, color = statusColor(vol) }), - ui.label({ text = tostring(vol.name), fontWeight = "bold", flexGrow = 1, maxLines = 1 }), - ui.label({ - text = mounted and tr("panel.status.mounted") or tr("panel.status.unmounted"), - color = statusColor(vol), - fontSize = 12, - }), - }), - ui.label({ - text = tr("panel.cipher", { path = vol.cipherDir }), - color = "on_surface_variant", - fontSize = 12, - maxLines = 1, - }), - ui.label({ - text = tr("panel.mountpoint", { path = vol.mountPoint }), - color = "on_surface_variant", - fontSize = 12, - maxLines = 1, - }), - ui.label({ - text = table.concat(hints, " · "), - color = "on_surface_variant", - fontSize = 11, - visible = #hints > 0, - }), - ui.row({ gap = 6, align = "center" }, buttons), - }) -end - -local function volumeList() - local vols = snapshot.volumes or {} - if #vols == 0 then - return ui.column({ align = "center", padding = 24, gap = 8 }, { - ui.glyph({ name = "lock", size = 42, color = "on_surface_variant" }), - ui.label({ text = tr("panel.empty"), color = "on_surface_variant", textAlign = "center" }), - }) - end - local rows = {} - for _, vol in ipairs(vols) do - table.insert(rows, volumeCard(vol)) - end - return ui.column({ gap = 8 }, rows) -end - -local function formTitle() - if formMode == "edit" then - return tr("panel.edit_title") - end - if formMode == "init" then - return tr("panel.init_title") - end - return tr("panel.add_title") -end - -local function formView() - local isInit = formMode == "init" - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.label({ text = formTitle(), fontSize = 16, fontWeight = "bold", flexGrow = 1 }), - ui.button({ glyph = "close", onClick = "onCancelForm" }), - }), - ui.label({ - text = isInit and tr("panel.init_help") or "", - color = "on_surface_variant", - fontSize = 12, - visible = isInit, - }), - ui.label({ text = tr("panel.field.name"), color = "on_surface_variant" }), - ui.input({ - key = `form-name-{formGeneration}`, - value = formName, - placeholder = tr("panel.field.name_placeholder"), - onChange = "onFormName", - }), - ui.label({ text = tr("panel.field.cipher"), color = "on_surface_variant" }), - ui.input({ - key = `form-cipher-{formGeneration}`, - value = formCipher, - placeholder = tr("panel.field.cipher_placeholder"), - onChange = "onFormCipher", - }), - ui.label({ text = tr("panel.field.mount"), color = "on_surface_variant" }), - ui.input({ - key = `form-mount-{formGeneration}`, - value = formMount, - placeholder = tr("panel.field.mount_placeholder"), - onChange = "onFormMount", - }), - } - - if isInit then - table.insert(children, ui.label({ text = tr("panel.field.password"), color = "on_surface_variant" })) - table.insert(children, ui.input({ - key = `form-pw-{formGeneration}-{formPasswordKey}`, - value = "", - placeholder = tr("panel.password_placeholder"), - password = true, - onChange = "onFormPassword", - })) - table.insert(children, ui.label({ text = tr("panel.field.password_confirm"), color = "on_surface_variant" })) - table.insert(children, ui.input({ - key = `form-pw2-{formGeneration}-{formPasswordKey}`, - value = "", - placeholder = tr("panel.field.password_confirm_placeholder"), - password = true, - onChange = "onFormPasswordConfirm", - })) - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formPlaintextNames, onChange = "onFormPlaintextNames" }), - ui.label({ text = tr("panel.field.plaintextnames"), flexGrow = 1 }), - })) - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formAesSiv, onChange = "onFormAesSiv" }), - ui.label({ text = tr("panel.field.aessiv"), flexGrow = 1 }), - })) - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formSavePassfile, onChange = "onFormSavePassfile" }), - ui.label({ text = tr("panel.field.save_passfile"), flexGrow = 1 }), - })) - table.insert(children, ui.row({ gap = 10, align = "center", visible = formSavePassfile }, { - ui.toggle({ checked = formAutoMount, onChange = "onFormAutoMount" }), - ui.label({ text = tr("panel.field.auto_mount"), flexGrow = 1 }), - })) - else - -- Edit existing volume: keyring remember/forget + advanced passfile - local editVol = selectedVolume() - local editHasKeyring = editVol and editVol.useKeyring == true - table.insert(children, ui.label({ - text = tr("panel.field.keyring_section"), - color = "on_surface_variant", - fontWeight = "bold", - })) - table.insert(children, ui.label({ - text = editHasKeyring and tr("panel.keyring_hint") or tr("panel.keyring_not_set"), - color = editHasKeyring and "tertiary" or "on_surface_variant", - fontSize = 12, - })) - table.insert(children, ui.row({ gap = 8, align = "center" }, { - ui.button({ - text = tr("actions.remember"), - glyph = "key", - variant = "outline", - enabled = snapshot.busy ~= true, - onClick = "onRememberKeyring", - }), - ui.button({ - text = tr("actions.forget"), - glyph = "key-off", - variant = "destructive", - enabled = snapshot.busy ~= true and editHasKeyring == true, - onClick = "onForgetKeyring", - }), - })) - table.insert(children, ui.label({ - text = tr("panel.keyring_help"), - color = "on_surface_variant", - fontSize = 11, - maxLines = 4, - })) - table.insert(children, ui.label({ text = tr("panel.field.passfile"), color = "on_surface_variant" })) - table.insert(children, ui.input({ - key = `form-passfile-{formGeneration}`, - value = formPassfile, - placeholder = tr("panel.field.passfile_placeholder"), - onChange = "onFormPassfile", - })) - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formAutoMount, onChange = "onFormAutoMount" }), - ui.label({ text = tr("panel.field.auto_mount"), flexGrow = 1 }), - })) - table.insert(children, ui.label({ - text = tr("panel.field.auto_mount_help"), - color = "on_surface_variant", - fontSize = 11, - })) - end - - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formAllowOther, onChange = "onFormAllowOther" }), - ui.label({ text = tr("panel.field.allow_other"), flexGrow = 1 }), - })) - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = formReadOnly, onChange = "onFormReadOnly" }), - ui.label({ text = tr("panel.field.read_only"), flexGrow = 1 }), - })) - table.insert(children, ui.label({ text = formError, color = "error", visible = formError ~= "" })) - table.insert(children, ui.row({ justify = "end", gap = 8 }, { - ui.button({ text = tr("actions.cancel"), variant = "outline", onClick = "onCancelForm" }), - ui.button({ - text = isInit and tr("actions.init") or tr("actions.save"), - glyph = isInit and "shield-lock" or "check", - variant = "primary", - enabled = snapshot.busy ~= true, - onClick = "onSaveForm", - }), - })) - - return ui.scroll({ flexGrow = 1, gap = 10 }, children) -end - -local function passwordView() - local isStore = passwordMode == "store_keyring" - local title = isStore - and tr("panel.keyring_title", { name = passwordVolumeName }) - or tr("panel.password_title", { name = passwordVolumeName }) - local confirmText = isStore and tr("actions.remember") or tr("actions.mount") - local confirmGlyph = isStore and "key" or "lock-open" - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.label({ - text = title, - fontSize = 16, - fontWeight = "bold", - flexGrow = 1, - }), - ui.button({ glyph = "close", onClick = "onCancelPassword" }), - }), - ui.label({ - text = isStore and tr("panel.keyring_label") or tr("panel.password_label"), - color = "on_surface_variant", - }), - ui.input({ - key = "pw_" .. tostring(passwordKey), - value = "", - placeholder = tr("panel.password_placeholder"), - password = true, - focus = true, - onChange = "onPasswordChange", - onSubmit = "onConfirmPassword", - }), - } - if not isStore then - table.insert(children, ui.row({ gap = 10, align = "center" }, { - ui.toggle({ checked = passwordRememberKeyring, onChange = "onPasswordRemember" }), - ui.label({ text = tr("panel.remember_keyring"), flexGrow = 1 }), - })) - else - table.insert(children, ui.label({ - text = tr("panel.keyring_help"), - color = "on_surface_variant", - fontSize = 11, - maxLines = 4, - })) - end - table.insert(children, ui.label({ text = passwordError, color = "error", visible = passwordError ~= "" })) - table.insert(children, ui.row({ justify = "end", gap = 8 }, { - ui.button({ text = tr("actions.cancel"), variant = "outline", onClick = "onCancelPassword" }), - ui.button({ - text = confirmText, - glyph = confirmGlyph, - variant = "primary", - enabled = snapshot.busy ~= true, - onClick = "onConfirmPassword", - }), - })) - return ui.column({ flexGrow = 1, gap = 12 }, children) -end - -local function listView() - local statusRows = {} - if snapshot.loading == true then - table.insert(statusRows, ui.label({ text = tr("panel.loading"), color = "on_surface_variant" })) - end - if snapshot.busy == true then - table.insert(statusRows, ui.label({ text = tr("panel.busy"), color = "primary" })) - end - if type(snapshot.error) == "string" and snapshot.error ~= "" then - table.insert(statusRows, ui.label({ text = snapshot.error, color = "error", maxLines = 2 })) - end - if feedback ~= "" then - table.insert(statusRows, ui.label({ - text = feedback, - color = feedbackError and "error" or "tertiary", - maxLines = 2, - })) - end - - return ui.column({ flexGrow = 1, gap = 10 }, { - selectionToolbar(), - ui.column({ gap = 3 }, statusRows), - ui.scroll({ flexGrow = 1, gap = 8 }, { volumeList() }), - }) -end - -render = function() - dirty = false - - local content - if view == "form" then - content = formView() - elseif view == "password" then - content = passwordView() - else - content = listView() - end - - panel.render(ui.column({ flexGrow = 1, gap = 10 }, { - ui.row({ align = "center", gap = 8 }, { - ui.glyph({ - name = "lock", - size = 24, - color = snapshot.available and "primary" or "on_surface_variant", - }), - ui.column({ flexGrow = 1, gap = 0 }, { - ui.label({ text = tr("title"), fontSize = 18, fontWeight = "bold" }), - ui.label({ - text = tr("panel.subtitle"), - fontSize = 11, - color = "on_surface_variant", - }), - }), - ui.button({ - text = tr("actions.init"), - glyph = "shield-lock", - variant = "outline", - visible = view == "list", - onClick = "onInit", - }), - ui.button({ - text = tr("actions.add"), - glyph = "plus", - variant = "outline", - visible = view == "list", - onClick = "onAdd", - }), - ui.button({ - text = tr("actions.refresh"), - glyph = "refresh", - variant = "outline", - visible = view == "list", - onClick = "onRefresh", - }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - content, - ui.label({ - text = (snapshot.updatedAt or 0) > 0 - and tr("panel.updated", { time = noctalia.formatTime("%H:%M:%S", snapshot.updatedAt) }) - or "", - color = "on_surface_variant", - fontSize = 11, - visible = view == "list", - }), - })) -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) ~= "table" then - return - end - -- Always re-render on snapshot publish. Mounted flags live inside - -- volumes[] and must update the list immediately after mount/unmount. - snapshot = value - if selectedId ~= "" and selectedVolume() == nil then - selectedId = "" - end - dirty = true -end) - -noctalia.state.watch(RESULT_KEY, function(result) - if type(result) ~= "table" then - return - end - if type(result.requestId) ~= "string" or not result.requestId:match("^panel%-") then - return - end - feedback = tostring(result.message or "") - feedbackError = result.ok ~= true - if result.ok == true and ( - result.action == "add_volume" - or result.action == "update_volume" - or result.action == "init_volume" - ) then - view = "list" - resetForm() - end - if result.ok == true and result.action == "mount" then - view = "list" - passwordValue = "" - passwordError = "" - end - if result.ok ~= true and result.action == "mount" and view == "password" then - passwordError = feedback - passwordKey += 1 - passwordValue = "" - end - if result.ok ~= true and result.action == "init_volume" and view == "form" then - formError = feedback - formPassword = "" - formPasswordConfirm = "" - formPasswordKey += 1 - end - dirty = true -end) - -panel.setWantsSecondTicks(true) - -function onOpen(_context) - view = "list" - feedback = "" - sendCommand("refresh") - render() -end - -function update() - if dirty then - render() - end -end - -function onCloseClicked() - panel.close() -end - -function onRefresh() - sendCommand("refresh") -end - -function onAdd() - formMode = "add" - resetForm() - formAutoMount = false - view = "form" - render() -end - -function onInit() - formMode = "init" - resetForm() - formAutoMount = true - formSavePassfile = true - view = "form" - render() -end - -function onEdit() - local vol = selectedVolume() - if not vol then - return - end - formMode = "edit" - fillFormFrom(vol) - view = "form" - render() -end - -function onCancelForm() - view = "list" - formError = "" - formPassword = "" - formPasswordConfirm = "" - render() -end - -function onFormName(value) formName = value end -function onFormCipher(value) formCipher = value end -function onFormMount(value) formMount = value end -function onFormPassfile(value) formPassfile = value end -function onFormPassword(value) formPassword = if type(value) == "string" then value else "" end -function onFormPasswordConfirm(value) formPasswordConfirm = if type(value) == "string" then value else "" end - -function onFormAllowOther(value) - formAllowOther = value == "true" - render() -end -function onFormReadOnly(value) - formReadOnly = value == "true" - render() -end -function onFormAutoMount(value) - formAutoMount = value == "true" - render() -end -function onFormPlaintextNames(value) - formPlaintextNames = value == "true" - render() -end -function onFormAesSiv(value) - formAesSiv = value == "true" - render() -end -function onFormSavePassfile(value) - formSavePassfile = value == "true" - if not formSavePassfile then - formAutoMount = false - end - render() -end - -function onSaveForm() - local name = noctalia.string.trim(formName) - local cipher = noctalia.string.trim(formCipher) - local mount = noctalia.string.trim(formMount) - if name == "" or cipher == "" or mount == "" then - formError = tr("panel.field.required") - render() - return - end - - if formMode == "init" then - if formPassword == "" then - formError = tr("panel.password_required") - render() - return - end - if formPassword ~= formPasswordConfirm then - formError = tr("panel.field.password_mismatch") - formPassword = "" - formPasswordConfirm = "" - formPasswordKey += 1 - render() - return - end - formError = "" - sendCommand("init_volume", { - name = name, - cipherDir = cipher, - mountPoint = mount, - password = formPassword, - plaintextNames = formPlaintextNames, - aesSiv = formAesSiv, - savePassfile = formSavePassfile, - autoMount = formAutoMount and formSavePassfile, - allowOther = formAllowOther, - readOnly = formReadOnly, - }) - formPassword = "" - formPasswordConfirm = "" - formPasswordKey += 1 - render() - return - end - - formError = "" - local payload = { - name = name, - cipherDir = cipher, - mountPoint = mount, - passfile = noctalia.string.trim(formPassfile), - allowOther = formAllowOther, - readOnly = formReadOnly, - autoMount = formAutoMount, - } - if formMode == "edit" then - payload.id = formEditId - sendCommand("update_volume", payload) - else - sendCommand("add_volume", payload) - end - render() -end - -function onRemove() - local vol = selectedVolume() - if not vol then - return - end - sendCommand("remove_volume", { id = vol.id }) -end - --- Named onOpenMount so it does not override the panel lifecycle onOpen(). -function onOpenMount() - local vol = selectedVolume() - if not vol then - return - end - sendCommand("open", { id = vol.id }) -end - -local function openPasswordPrompt(vol, mode) - passwordVolumeId = vol.id - passwordVolumeName = vol.name - passwordValue = "" - passwordError = "" - passwordMode = mode or "mount" - passwordRememberKeyring = true - passwordKey += 1 - view = "password" - render() -end - -function onToggleMount() - local vol = selectedVolume() - if not vol then - return - end - if vol.mounted then - sendCommand("unmount", { id = vol.id }) - return - end - -- Prefer keyring or existing passfile without prompting. - if vol.useKeyring == true or (type(vol.passfile) == "string" and vol.passfile ~= "") then - sendCommand("mount", { id = vol.id }) - return - end - openPasswordPrompt(vol, "mount") -end - -function onRememberKeyring() - local vol = selectedVolume() - if not vol then - return - end - -- Keep edit context: after save, return to list via cancel/result - openPasswordPrompt(vol, "store_keyring") -end - -function onForgetKeyring() - local vol = selectedVolume() - if not vol then - return - end - sendCommand("forget_keyring", { id = vol.id }) - -- Stay on edit form; snapshot watch will refresh useKeyring flag - render() -end - -function onPasswordChange(value) - passwordValue = if type(value) == "string" then value else "" -end - -function onPasswordRemember(value) - passwordRememberKeyring = value == true or value == "true" -end - -function onCancelPassword() - passwordValue = "" - passwordError = "" - passwordMode = "mount" - view = "list" - render() -end - -function onConfirmPassword() - if snapshot.busy then - return - end - if passwordValue == "" then - passwordError = tr("panel.password_required") - render() - return - end - local pw = passwordValue - local mode = passwordMode - local id = passwordVolumeId - passwordValue = "" - passwordError = "" - passwordMode = "mount" - if mode == "store_keyring" then - sendCommand("store_keyring", { - id = id, - password = pw, - enableAutoMount = true, - }) - else - sendCommand("mount", { - id = id, - password = pw, - storeKeyring = passwordRememberKeyring == true, - }) - end - passwordKey += 1 - view = "list" - render() -end diff --git a/gocryptfs/plugin.toml b/gocryptfs/plugin.toml deleted file mode 100644 index d5267e8..0000000 --- a/gocryptfs/plugin.toml +++ /dev/null @@ -1,106 +0,0 @@ -# Manage gocryptfs encrypted volumes: mount, unmount, and status. - -id = "davemhammer/gocryptfs" -name = "Gocryptfs" -version = "1.3.1" -plugin_api = 10 -author = "davemhammer" -license = "MIT" -dependencies = ["gocryptfs", "fusermount3", "fusermount", "chmod", "xdg-open", "cat", "keyctl", "secret-tool"] -tags = ["privacy", "utility", "bar", "panel", "service"] -icon = "lock" -description = "Mount, unmount, and auto-mount gocryptfs encrypted volumes from Noctalia." - -[[setting]] -key = "refresh_interval" -type = "int" -label_key = "settings.refresh_interval.label" -description_key = "settings.refresh_interval.description" -default = 3 -min = 1 -max = 60 - -[[setting]] -key = "notify_on_action" -type = "bool" -label_key = "settings.notify_on_action.label" -description_key = "settings.notify_on_action.description" -default = true - -[[setting]] -key = "create_mountpoint" -type = "bool" -label_key = "settings.create_mountpoint.label" -description_key = "settings.create_mountpoint.description" -default = true - -[[setting]] -key = "auto_mount" -type = "bool" -label_key = "settings.auto_mount.label" -description_key = "settings.auto_mount.description" -default = true - -[[widget]] -id = "status" -entry = "widget.luau" - - [[widget.setting]] - key = "show_count" - type = "bool" - label_key = "settings.show_count.label" - description_key = "settings.show_count.description" - default = true - - [[widget.setting]] - key = "glyph_color" - type = "select" - label_key = "settings.glyph_color.label" - description_key = "settings.glyph_color.description" - default = "on_surface" - options = [ - { value = "on_surface", label_key = "colors.default" }, - { value = "primary", label_key = "colors.primary" }, - { value = "secondary", label_key = "colors.secondary" }, - { value = "tertiary", label_key = "colors.tertiary" } - ] - - [[widget.setting]] - key = "mounted_color" - type = "select" - label_key = "settings.mounted_color.label" - description_key = "settings.mounted_color.description" - default = "tertiary" - options = [ - { value = "primary", label_key = "colors.primary" }, - { value = "secondary", label_key = "colors.secondary" }, - { value = "tertiary", label_key = "colors.tertiary" } - ] - - [[widget.setting]] - key = "unmounted_color" - type = "select" - label_key = "settings.unmounted_color.label" - description_key = "settings.unmounted_color.description" - default = "on_surface_variant" - options = [ - { value = "error", label_key = "colors.error" }, - { value = "on_surface_variant", label_key = "colors.muted" }, - { value = "primary", label_key = "colors.primary" }, - { value = "tertiary", label_key = "colors.tertiary" } - ] - -[[panel]] -id = "manager" -entry = "panel.luau" -width = 540 -height = 620 -placement = "floating" -position = "center" -open_near_click = true -keyboard_focus = "exclusive" -dismiss_on_outside_click = true - -[[service]] -id = "service" -entry = "service.luau" diff --git a/gocryptfs/service.luau b/gocryptfs/service.luau deleted file mode 100644 index 336930b..0000000 --- a/gocryptfs/service.luau +++ /dev/null @@ -1,1659 +0,0 @@ ---!nonstrict --- Gocryptfs backend. Owns volume config, mount status, init, and mount/unmount. --- Other entries talk to this service through noctalia.state only. - -local VOLUMES_FILE = "volumes.json" -local STATE_KEY = "gocrypt_snapshot" -local COMMAND_KEY = "gocrypt_command" -local RESULT_KEY = "gocrypt_action_result" - -local snapshot = { - available = false, - loading = true, - busy = false, - volumes = {}, - mountedCount = 0, - totalCount = 0, - error = "", - updatedAt = 0, - revision = 0, -} - -local refreshGeneration = 0 -local refreshPending = false -local refreshAgain = false -local actionBusy = false -local dataSignature = "" -local volumes = {} -- array of volume tables -local nextId = 1 -local autoMountScheduled = false -local autoMountQueue = {} - -local function trim(value) - return noctalia.string.trim(tostring(value or "")) -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function shellCommand(args) - local quoted = {} - for _, value in ipairs(args) do - table.insert(quoted, shellQuote(value)) - end - return table.concat(quoted, " ") -end - -local function expand(path) - return noctalia.expandPath(trim(path)) -end - --- Reject path traversal after expand. Volume paths are user-chosen (often absolute); --- symlinks are followed by design. Empty paths, NUL, and ".." segments are refused. -local function isSafeFsPath(path) - path = expand(path) - if path == "" then - return false, "empty path" - end - if path:find("\0", 1, true) then - return false, "invalid path" - end - -- Reject .. as a path segment (//foo/../bar, /tmp/../etc, relative ../x, etc.) - for seg in (path:gsub("\\", "/") .. "/"):gmatch("([^/]*)/") do - if seg == ".." then - return false, "path must not contain .." - end - end - return true, path -end - -local function volumesPath() - local dir = noctalia.pluginDataDir() - if not dir then - return nil - end - return dir .. "/" .. VOLUMES_FILE -end - -local function passfilesDir() - local dir = noctalia.pluginDataDir() - if not dir then - return nil - end - local path = dir .. "/passfiles" - noctalia.mkdirAll(path) - return path -end - -local function newVolumeId() - local id = "vol-" .. tostring(os.time()) .. "-" .. tostring(nextId) - nextId += 1 - return id -end - -local function normalizeVolume(raw) - if type(raw) ~= "table" then - return nil - end - local name = trim(raw.name) - local cipherDir = trim(raw.cipherDir or raw.cipher_dir) - local mountPoint = trim(raw.mountPoint or raw.mount_point) - if name == "" or cipherDir == "" or mountPoint == "" then - return nil - end - local passfile = trim(raw.passfile) - local useKeyring = raw.useKeyring == true or raw.use_keyring == true - local autoMount = raw.autoMount - if autoMount == nil then - autoMount = raw.auto_mount - end - if autoMount == nil then - -- default: auto-mount when keyring or passfile is configured - autoMount = useKeyring or passfile ~= "" - else - autoMount = autoMount == true - end - return { - id = trim(raw.id) ~= "" and trim(raw.id) or newVolumeId(), - name = name, - cipherDir = cipherDir, - mountPoint = mountPoint, - passfile = passfile, - useKeyring = useKeyring, - allowOther = raw.allowOther == true or raw.allow_other == true, - readOnly = raw.readOnly == true or raw.read_only == true, - autoMount = autoMount, - } -end - -local function loadVolumes() - local path = volumesPath() - volumes = {} - if not path then - return - end - local raw = noctalia.readFile(path) - if not raw or raw == "" then - return - end - local decoded, err = noctalia.json.decode(raw) - if type(decoded) ~= "table" then - noctalia.log(`gocryptfs: could not parse volumes.json: {err or "unknown"}`) - return - end - local list = decoded.volumes - if type(list) ~= "table" then - return - end - for _, item in ipairs(list) do - local vol = normalizeVolume(item) - if vol then - table.insert(volumes, vol) - end - end -end - -local function saveVolumes() - local path = volumesPath() - if not path then - return false, "no plugin data dir" - end - local payload = { volumes = volumes } - local encoded, err = noctalia.json.encode(payload, true) - if not encoded then - return false, err or "encode failed" - end - local ok, writeErr = noctalia.writeFile(path, encoded) - if not ok then - return false, writeErr or "write failed" - end - return true -end - -local function findVolume(id) - id = trim(id) - for _, vol in ipairs(volumes) do - if vol.id == id then - return vol - end - end - return nil -end - -local function pathEqual(a, b) - a = expand(a) - b = expand(b) - a = a:gsub("/+$", "") - b = b:gsub("/+$", "") - if a == "" then a = "/" end - if b == "" then b = "/" end - return a == b -end - -local function parseMounts(stdout) - local mounts = {} - for line in (tostring(stdout or "") .. "\n"):gmatch("(.-)\n") do - line = trim(line) - if line ~= "" then - local source, target, fstype = line:match("^(%S+)%s+(%S+)%s+(%S+)") - if fstype and (fstype == "fuse.gocryptfs" or fstype:find("gocryptfs", 1, true)) then - local function unescape(s) - return (s:gsub("\\(%d%d%d)", function(oct) - return string.char(tonumber(oct, 8)) - end)) - end - mounts[unescape(target)] = unescape(source) - end - end - end - return mounts -end - -local function isMounted(vol, mounts) - local mp = expand(vol.mountPoint) - mp = mp:gsub("/+$", "") - if mp == "" then mp = "/" end - if mounts[mp] then - return true - end - for target, _ in pairs(mounts) do - if pathEqual(target, vol.mountPoint) then - return true - end - end - return false -end - -local function publishSnapshot() - snapshot.busy = actionBusy - snapshot.totalCount = #volumes - snapshot.volumes = {} - local mounted = 0 - for _, vol in ipairs(volumes) do - local entry = { - id = vol.id, - name = vol.name, - cipherDir = vol.cipherDir, - mountPoint = vol.mountPoint, - passfile = vol.passfile, - useKeyring = vol.useKeyring == true, - allowOther = vol.allowOther, - readOnly = vol.readOnly, - autoMount = vol.autoMount == true, - mounted = vol.mounted == true, - cipherExists = vol.cipherExists == true, - initialized = vol.initialized == true, - } - if entry.mounted then - mounted += 1 - end - table.insert(snapshot.volumes, entry) - end - snapshot.mountedCount = mounted - noctalia.state.set(STATE_KEY, snapshot) -end - -local function updateRevision(signature) - if signature ~= dataSignature then - dataSignature = signature - snapshot.revision += 1 - end -end - -local function refreshIntervalMs() - local seconds = tonumber(noctalia.getConfig("refresh_interval")) or 3 - seconds = math.max(1, math.min(60, math.floor(seconds))) - return seconds * 1000 -end - -local function shouldNotify() - return noctalia.getConfig("notify_on_action") ~= false -end - -local function autoMountEnabled() - return noctalia.getConfig("auto_mount") ~= false -end - -local refreshAll -local mountVolume -local kickAutoMount - -local refreshStartedAt = 0 - -refreshAll = function() - -- Recover if an in-flight /proc/mounts callback never completed. - if refreshPending and refreshStartedAt > 0 and (os.time() - refreshStartedAt) >= 15 then - noctalia.log("gocryptfs: forcing stuck refresh reset") - refreshPending = false - refreshStartedAt = 0 - snapshot.loading = false - end - - if refreshPending then - refreshAgain = true - return - end - refreshPending = true - refreshAgain = false - refreshStartedAt = os.time() - refreshGeneration += 1 - local generation = refreshGeneration - - if not noctalia.commandExists("gocryptfs") then - snapshot.available = false - snapshot.loading = false - snapshot.error = noctalia.tr("result.gocryptfs_missing") - for _, vol in ipairs(volumes) do - vol.mounted = false - vol.cipherExists = noctalia.fileExists(expand(vol.cipherDir)) - vol.initialized = noctalia.fileExists(expand(vol.cipherDir) .. "/gocryptfs.conf") - end - refreshPending = false - refreshStartedAt = 0 - updateRevision("gocryptfs-missing") - publishSnapshot() - return - end - - snapshot.available = true - -- Avoid flashing "Checking mounts…" on every poll when we already have data. - if (snapshot.updatedAt or 0) == 0 then - snapshot.loading = true - publishSnapshot() - end - - local started = noctalia.runAsync("cat /proc/mounts", function(result) - if generation ~= refreshGeneration then - return - end - local mounts = {} - if result and result.exitCode == 0 then - mounts = parseMounts(result.stdout) - snapshot.error = "" - else - snapshot.error = trim(result and result.stderr) - if snapshot.error == "" then - snapshot.error = "could not read /proc/mounts" - end - end - - local sigParts = {} - for _, vol in ipairs(volumes) do - vol.mounted = isMounted(vol, mounts) - local cipher = expand(vol.cipherDir) - vol.cipherExists = noctalia.fileExists(cipher) - vol.initialized = noctalia.fileExists(cipher .. "/gocryptfs.conf") - table.insert(sigParts, vol.id .. ":" .. tostring(vol.mounted) .. ":" .. vol.mountPoint) - end - - snapshot.loading = false - snapshot.updatedAt = os.time() - refreshPending = false - refreshStartedAt = 0 - updateRevision(table.concat(sigParts, "|") .. "|" .. tostring(#volumes)) - publishSnapshot() - - if not autoMountScheduled then - autoMountScheduled = true - if autoMountEnabled() then - for _, vol in ipairs(volumes) do - if vol.autoMount and not vol.mounted - and (vol.useKeyring == true or trim(vol.passfile) ~= "") - then - table.insert(autoMountQueue, vol.id) - end - end - if #autoMountQueue > 0 then - noctalia.log(`gocryptfs: auto-mount queue has {#autoMountQueue} volume(s)`) - kickAutoMount() - end - end - end - - if refreshAgain then - refreshAgain = false - refreshAll() - end - end) - - if not started then - snapshot.loading = false - snapshot.error = "could not start status check" - refreshPending = false - refreshStartedAt = 0 - publishSnapshot() - end -end - -local function actionResult(command, ok, message, extra) - local result = { - requestId = command and command.requestId or "", - action = command and command.action or "", - ok = ok, - message = message or "", - } - if type(extra) == "table" then - for key, value in pairs(extra) do - result[key] = value - end - end - noctalia.state.set(RESULT_KEY, result) -end - -local function notifyOk(message) - if shouldNotify() then - noctalia.notify(noctalia.tr("title"), message) - end -end - -local function notifyErr(message) - noctalia.notifyError(noctalia.tr("title"), message) -end - -local function unmountBinary() - if noctalia.commandExists("fusermount3") then - return "fusermount3" - end - if noctalia.commandExists("fusermount") then - return "fusermount" - end - return nil -end - -local function finishAction(command, ok, message) - actionBusy = false - local silent = command and command.silent == true - actionResult(command, ok, message) - if not silent then - if ok then - notifyOk(message) - else - notifyErr(message) - end - elseif not ok then - -- still surface auto-mount failures - notifyErr(message) - end - -- Always bump revision so panel/widget re-render even if mount flags - -- were updated optimistically to the same shape as a prior sample. - updateRevision( - "action:" - .. tostring(command and command.action or "") - .. ":" - .. tostring(command and command.id or "") - .. ":" - .. tostring(ok) - .. ":" - .. tostring(os.time()) - .. ":" - .. tostring(snapshot.mountedCount) - ) - publishSnapshot() - -- Confirm against /proc/mounts (may be briefly stale; optimistic flags already set). - refreshPending = false - refreshAgain = false - refreshAll() - if #autoMountQueue > 0 then - kickAutoMount() - end -end - -local function ensureDir(path) - local okPath, resolved = isSafeFsPath(path) - if not okPath then - return false, resolved or "unsafe path" - end - path = resolved - if noctalia.fileExists(path) then - local info = noctalia.fileInfo(path) - if info and info.isDir then - return true - end - return false, "not a directory" - end - local ok, err = noctalia.mkdirAll(path) - if not ok then - return false, err or "mkdir failed" - end - return true -end - -local function ensureMountPoint(path) - local okPath, resolved = isSafeFsPath(path) - if not okPath then - return false, resolved or "unsafe path" - end - path = resolved - if noctalia.fileExists(path) then - local info = noctalia.fileInfo(path) - if info and info.isDir then - return true - end - return false, "not a directory" - end - if noctalia.getConfig("create_mountpoint") == false then - return false, "does not exist" - end - return ensureDir(path) -end - -local function removePassfile(path) - if path and path ~= "" then - noctalia.removeFile(path) - end -end - --- Private dir for short-lived password material. Prefer tmpfs (/dev/shm) when present. --- Parent is mode 0700 (like lyrics' requestDir chmod) so a world-listable /dev/shm (1777) --- cannot expose files even if writeFile lands at umask 0644 before a per-file chmod. -local secureTempDirPath = nil -local secureTempDirReady = false - -local function secureTempDir() - if secureTempDirPath and noctalia.fileExists(secureTempDirPath) and secureTempDirReady then - return secureTempDirPath - end - local base = "/dev/shm" - if not noctalia.fileExists(base) then - base = noctalia.pluginDataDir() or "/tmp" - end - -- Per-user private subdirectory under the base (not a flat file on world-writable shm). - local dir = base .. "/noctalia-gocryptfs." .. tostring(os.getenv("USER") or "user") - noctalia.mkdirAll(dir) - secureTempDirPath = dir - return dir -end - --- Ensure dir is 0700, then run callback(dir). Same pattern as lyrics_service securing requestDir. -local function withSecureTempDir(callback) - local dir = secureTempDir() - noctalia.runAsync(shellCommand({ "chmod", "700", dir }), function(result) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - if ok then - secureTempDirReady = true - else - -- Still proceed under pluginDataDir/tmp if chmod failed; log for diagnostics. - noctalia.log(`gocryptfs: chmod 700 on temp dir failed: {dir}`) - end - callback(dir) - end, 5000) -end - -local function tempPassPath(suffix) - return secureTempDir() .. "/p-" .. tostring(suffix) -end - --- Write password material under the private temp dir. withNewline defaults true (gocryptfs -passfile). -local function writeSecurePassfile(path, password, withNewline) - local body = password - if withNewline ~= false then - body = password .. "\n" - end - local written, werr = noctalia.writeFile(path, body) - if not written then - return false, werr or "write failed" - end - -- Defense in depth; parent dir 0700 is the real multi-user protection. - noctalia.runAsync(shellCommand({ "chmod", "600", path })) - return true -end - --- Kernel user-keyring description (session cache; payload does not survive reboot). -local function keyringDesc(volumeId) - return "noctalia-gocryptfs:" .. tostring(volumeId or "") -end - --- Freedesktop Secret Service attributes (GNOME Keyring / KeePassXC / etc.). -local SECRET_SERVICE = "noctalia-gocryptfs" - -local function keyctlAvailable() - return noctalia.commandExists("keyctl") -end - -local function secretToolAvailable() - return noctalia.commandExists("secret-tool") -end - --- Store password in @u keyring (replaces any prior key with same description). --- Password is written only to a tmpfs temp file, then loaded via keyctl padd stdin. -local function storeSessionKeyring(volumeId, password, callback) - if type(callback) ~= "function" then - callback = function() end - end - if not keyctlAvailable() then - callback(false, "keyctl not found") - return - end - local desc = keyringDesc(volumeId) - if desc == "noctalia-gocryptfs:" or password == nil or password == "" then - callback(false, "invalid keyring store") - return - end - withSecureTempDir(function() - local tmp = tempPassPath("kr-" .. tostring(volumeId) .. "-" .. tostring(os.time())) - local written, werr = writeSecurePassfile(tmp, password, false) - if not written then - callback(false, werr or "temp write failed") - return - end - local cmd = "OLD=$(keyctl search @u user " - .. shellQuote(desc) - .. " 2>/dev/null); " - .. "[ -n \"$OLD\" ] && keyctl unlink \"$OLD\" @u 2>/dev/null; " - .. "keyctl padd user " - .. shellQuote(desc) - .. " @u < " - .. shellQuote(tmp) - .. "; EC=$?; rm -f " - .. shellQuote(tmp) - .. "; exit $EC" - noctalia.runAsync(cmd, function(result) - removePassfile(tmp) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - if ok then - callback(true, nil) - else - local err = trim(result and (result.stderr ~= "" and result.stderr or result.stdout) or "keyctl padd failed") - callback(false, err) - end - end, 10000) - end) -end - --- Persist password via libsecret (secret-tool → desktop keyring). Survives reboot --- once the login keyring is unlocked. -local function storePersistentPassword(volumeId, password, callback) - if type(callback) ~= "function" then - callback = function() end - end - if not secretToolAvailable() then - callback(false, "secret-tool not found") - return - end - local vid = tostring(volumeId or "") - if vid == "" or password == nil or password == "" then - callback(false, "invalid persistent store") - return - end - local label = "noctalia-gocryptfs:" .. vid - withSecureTempDir(function() - local tmp = tempPassPath("sec-" .. vid .. "-" .. tostring(os.time())) - local written, werr = writeSecurePassfile(tmp, password, false) - if not written then - callback(false, werr or "temp write failed") - return - end - -- Clear any previous entry first so store does not leave duplicates. - local cmd = "secret-tool clear service " - .. shellQuote(SECRET_SERVICE) - .. " volume-id " - .. shellQuote(vid) - .. " 2>/dev/null; " - .. "secret-tool store --label=" - .. shellQuote(label) - .. " service " - .. shellQuote(SECRET_SERVICE) - .. " volume-id " - .. shellQuote(vid) - .. " < " - .. shellQuote(tmp) - .. "; EC=$?; rm -f " - .. shellQuote(tmp) - .. "; exit $EC" - noctalia.runAsync(cmd, function(result) - removePassfile(tmp) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - if ok then - callback(true, nil) - else - local err = trim(result and (result.stderr ~= "" and result.stderr or result.stdout) or "secret-tool store failed") - callback(false, err) - end - end, 30000) - end) -end - --- Store in session keyctl and, when available, desktop Secret Service. --- Succeeds if at least one backend works (prefer both). -local function storeKeyringPassword(volumeId, password, callback) - if type(callback) ~= "function" then - callback = function() end - end - local desc = keyringDesc(volumeId) - if desc == "noctalia-gocryptfs:" or password == nil or password == "" then - callback(false, "invalid keyring store") - return - end - if not keyctlAvailable() and not secretToolAvailable() then - callback(false, "neither keyctl nor secret-tool found") - return - end - - local sessionDone = false - local persistDone = false - local sessionOk, sessionErr = false, nil - local persistOk, persistErr = false, nil - - local function maybeFinish() - if not sessionDone or not persistDone then - return - end - if sessionOk or persistOk then - if not persistOk and secretToolAvailable() and persistErr then - noctalia.log(`gocryptfs: secret-tool store failed (session key still set): {persistErr}`) - end - if not sessionOk and keyctlAvailable() and sessionErr then - noctalia.log(`gocryptfs: keyctl store failed (persistent secret still set): {sessionErr}`) - end - callback(true, nil) - else - callback(false, sessionErr or persistErr or "keyring store failed") - end - end - - if keyctlAvailable() then - storeSessionKeyring(volumeId, password, function(ok, err) - sessionOk = ok - sessionErr = err - sessionDone = true - maybeFinish() - end) - else - sessionDone = true - maybeFinish() - end - - if secretToolAvailable() then - storePersistentPassword(volumeId, password, function(ok, err) - persistOk = ok - persistErr = err - persistDone = true - maybeFinish() - end) - else - persistDone = true - maybeFinish() - end -end - -local function unlinkSessionKeyring(volumeId, callback) - if type(callback) ~= "function" then - callback = function() end - end - if not keyctlAvailable() then - callback(true) - return - end - local desc = keyringDesc(volumeId) - local cmd = "OLD=$(keyctl search @u user " - .. shellQuote(desc) - .. " 2>/dev/null); " - .. "[ -n \"$OLD\" ] && keyctl unlink \"$OLD\" @u 2>/dev/null; exit 0" - noctalia.runAsync(cmd, function() - callback(true) - end, 5000) -end - -local function clearPersistentPassword(volumeId, callback) - if type(callback) ~= "function" then - callback = function() end - end - if not secretToolAvailable() then - callback(true) - return - end - local vid = tostring(volumeId or "") - if vid == "" then - callback(true) - return - end - local cmd = "secret-tool clear service " - .. shellQuote(SECRET_SERVICE) - .. " volume-id " - .. shellQuote(vid) - .. " 2>/dev/null; exit 0" - noctalia.runAsync(cmd, function() - callback(true) - end, 15000) -end - --- Clear session key + desktop keyring entry. -local function unlinkKeyringPassword(volumeId, callback) - if type(callback) ~= "function" then - callback = function() end - end - local left = 2 - local function done() - left -= 1 - if left <= 0 then - callback(true) - end - end - unlinkSessionKeyring(volumeId, done) - clearPersistentPassword(volumeId, done) -end - --- Shell prelude: ensure session key exists, hydrating from secret-tool when needed. --- Sets shell var K to key id, or exits 2 if no password material is available. -local function ensureSessionKeyShell(volumeId) - local desc = keyringDesc(volumeId) - local vid = tostring(volumeId or "") - return "K=$(keyctl search @u user " - .. shellQuote(desc) - .. " 2>/dev/null) || true; " - .. "if [ -z \"$K\" ] && command -v secret-tool >/dev/null 2>&1 && command -v keyctl >/dev/null 2>&1; then " - .. "secret-tool lookup service " - .. shellQuote(SECRET_SERVICE) - .. " volume-id " - .. shellQuote(vid) - .. " 2>/dev/null | keyctl padd user " - .. shellQuote(desc) - .. " @u >/dev/null 2>&1 || true; " - .. "K=$(keyctl search @u user " - .. shellQuote(desc) - .. " 2>/dev/null) || true; " - .. "fi; " - .. "if [ -z \"$K\" ]; then exit 2; fi; " -end - --- Legacy managed plaintext path (no longer created; still cleaned on remove). -local function defaultPassfilePath(volumeId) - local dir = passfilesDir() - if not dir then - return nil - end - return dir .. "/" .. volumeId .. ".pass" -end - -local function canAutoMount(vol) - if not vol or vol.mounted then - return false - end - if not vol.autoMount then - return false - end - return vol.useKeyring == true or trim(vol.passfile) ~= "" -end - -mountVolume = function(command) - local vol = findVolume(command.id) - if not vol then - actionResult(command, false, noctalia.tr("result.not_found")) - kickAutoMount() - return - end - if vol.mounted then - actionResult(command, false, noctalia.tr("result.already_mounted", { name = vol.name })) - kickAutoMount() - return - end - - local okCipher, cipherOrErr = isSafeFsPath(vol.cipherDir) - if not okCipher then - local msg = noctalia.tr("result.failed", { error = cipherOrErr or "unsafe cipher path" }) - actionResult(command, false, msg) - notifyErr(msg) - kickAutoMount() - return - end - local cipher = cipherOrErr - local okMountPath, mountOrErr = isSafeFsPath(vol.mountPoint) - if not okMountPath then - local msg = noctalia.tr("result.failed", { error = mountOrErr or "unsafe mount path" }) - actionResult(command, false, msg) - notifyErr(msg) - kickAutoMount() - return - end - local mount = mountOrErr - - if not noctalia.fileExists(cipher) then - local msg = noctalia.tr("result.cipher_missing", { path = cipher }) - actionResult(command, false, msg) - if command.silent ~= true then - notifyErr(msg) - else - notifyErr(msg) - end - kickAutoMount() - return - end - - local okMp, mpErr = ensureMountPoint(mount) - if not okMp then - local msg = noctalia.tr("result.mount_create_failed", { path = mount }) .. " (" .. tostring(mpErr) .. ")" - actionResult(command, false, msg) - notifyErr(msg) - kickAutoMount() - return - end - - local args = { "gocryptfs", "-q" } - if vol.readOnly then - table.insert(args, "-ro") - end - if vol.allowOther then - table.insert(args, "-allow_other") - end - - local tempPassfile = nil - local passfile = trim(vol.passfile) - local password = type(command.password) == "string" and command.password or "" - local useKeyring = vol.useKeyring == true - local storeKeyring = command.storeKeyring == true or useKeyring - local mountCmd = nil -- full shell when using keyring (search + extpass) - - local function launchMount() - if mountCmd == nil then - table.insert(args, cipher) - table.insert(args, mount) - mountCmd = shellCommand(args) - end - - actionBusy = true - publishSnapshot() - - local launched = noctalia.runAsync(mountCmd, function(result) - removePassfile(tempPassfile) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - local message - if ok then - vol.mounted = true - message = noctalia.tr("result.mounted", { name = vol.name }) - if password ~= "" and storeKeyring then - storeKeyringPassword(vol.id, password, function(krOk, krErr) - if krOk then - vol.useKeyring = true - saveVolumes() - publishSnapshot() - else - noctalia.log(`gocryptfs: keyring store failed: {krErr}`) - end - end) - end - else - local err = trim(result and (result.stderr ~= "" and result.stderr or result.stdout)) - if err == "" then - if result and result.exitCode == 2 and useKeyring and password == "" then - err = "keyring password missing (Remember once, or unlock desktop keyring)" - else - err = result and result.timedOut and "timed out" or "unknown error" - end - end - message = noctalia.tr("result.failed", { error = err }) - end - finishAction(command, ok, message) - end, 60000) - - if not launched then - removePassfile(tempPassfile) - actionBusy = false - actionResult(command, false, noctalia.tr("result.failed", { error = "could not start gocryptfs" })) - publishSnapshot() - kickAutoMount() - end - end - - if password ~= "" then - -- One-shot: password via private temp dir (chmod 700 parent first — lyrics-style). - withSecureTempDir(function() - tempPassfile = tempPassPath("pass-" .. vol.id .. "-" .. tostring(os.time())) - local written, werr = writeSecurePassfile(tempPassfile, password) - if not written then - actionResult(command, false, noctalia.tr("result.failed", { error = werr or "could not write passfile" })) - kickAutoMount() - return - end - table.insert(args, "-passfile") - table.insert(args, tempPassfile) - launchMount() - end) - return - elseif useKeyring then - if not keyctlAvailable() and not secretToolAvailable() then - local msg = noctalia.tr("result.failed", { - error = "neither keyctl nor secret-tool found (install keyutils and/or libsecret)", - }) - actionResult(command, false, msg) - if command.silent ~= true then - notifyErr(msg) - end - kickAutoMount() - return - end - -- Prefer session keyctl (hydrated from secret-tool after reboot); else secret-tool -extpass. - local gocryptParts = {} - for _, a in ipairs(args) do - table.insert(gocryptParts, shellQuote(a)) - end - local cipherQ = shellQuote(cipher) - local mountQ = shellQuote(mount) - local vid = tostring(vol.id) - if keyctlAvailable() then - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("keyctl")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("pipe")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, "\"$K\"") - table.insert(gocryptParts, cipherQ) - table.insert(gocryptParts, mountQ) - local keyctlMount = table.concat(gocryptParts, " ") - if secretToolAvailable() then - -- Fallback: secret-tool -extpass when session hydrate cannot produce K - local secretParts = {} - for _, a in ipairs(args) do - table.insert(secretParts, shellQuote(a)) - end - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote("secret-tool")) - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote("lookup")) - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote("service")) - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote(SECRET_SERVICE)) - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote("volume-id")) - table.insert(secretParts, shellQuote("-extpass")) - table.insert(secretParts, shellQuote(vid)) - table.insert(secretParts, cipherQ) - table.insert(secretParts, mountQ) - -- ensureSessionKeyShell exits 2 when no material; override to allow secret-tool path - mountCmd = "K=$(keyctl search @u user " - .. shellQuote(keyringDesc(vid)) - .. " 2>/dev/null) || true; " - .. "if [ -z \"$K\" ] && command -v secret-tool >/dev/null 2>&1; then " - .. "secret-tool lookup service " - .. shellQuote(SECRET_SERVICE) - .. " volume-id " - .. shellQuote(vid) - .. " 2>/dev/null | keyctl padd user " - .. shellQuote(keyringDesc(vid)) - .. " @u >/dev/null 2>&1 || true; " - .. "K=$(keyctl search @u user " - .. shellQuote(keyringDesc(vid)) - .. " 2>/dev/null) || true; " - .. "fi; " - .. "if [ -n \"$K\" ]; then " - .. keyctlMount - .. "; else " - .. table.concat(secretParts, " ") - .. "; fi" - else - mountCmd = ensureSessionKeyShell(vid) .. keyctlMount - end - else - -- No keyctl: mount directly via secret-tool - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("secret-tool")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("lookup")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("service")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote(SECRET_SERVICE)) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote("volume-id")) - table.insert(gocryptParts, shellQuote("-extpass")) - table.insert(gocryptParts, shellQuote(vid)) - table.insert(gocryptParts, cipherQ) - table.insert(gocryptParts, mountQ) - mountCmd = table.concat(gocryptParts, " ") - end - elseif passfile ~= "" then - -- Optional legacy/custom plaintext passfile path (user-managed). - local okPf, pfOrErr = isSafeFsPath(passfile) - if not okPf then - local msg = noctalia.tr("result.failed", { error = pfOrErr or "unsafe passfile path" }) - actionResult(command, false, msg) - notifyErr(msg) - kickAutoMount() - return - end - local pf = pfOrErr - if not noctalia.fileExists(pf) then - local msg = noctalia.tr("result.failed", { error = "passfile not found: " .. pf }) - actionResult(command, false, msg) - notifyErr(msg) - kickAutoMount() - return - end - table.insert(args, "-passfile") - table.insert(args, pf) - else - actionResult(command, false, noctalia.tr("panel.password_required")) - kickAutoMount() - return - end - - launchMount() -end - -kickAutoMount = function() - if actionBusy then - return - end - if #autoMountQueue == 0 then - return - end - local id = table.remove(autoMountQueue, 1) - local vol = findVolume(id) - if not canAutoMount(vol) then - kickAutoMount() - return - end - noctalia.log(`gocryptfs: auto-mounting {vol.name}`) - mountVolume({ - action = "mount", - id = id, - requestId = "auto-" .. id, - silent = true, - }) -end - -local function unmountVolume(command) - local vol = findVolume(command.id) - if not vol then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - if not vol.mounted then - actionResult(command, false, noctalia.tr("result.not_mounted", { name = vol.name })) - return - end - - local bin = unmountBinary() - if not bin then - actionResult(command, false, noctalia.tr("result.failed", { error = "fusermount not found" })) - return - end - - local okMountPath, mountOrErr = isSafeFsPath(vol.mountPoint) - if not okMountPath then - actionResult(command, false, noctalia.tr("result.failed", { error = mountOrErr or "unsafe mount path" })) - return - end - local mount = mountOrErr - local args = { bin, "-u", mount } - - actionBusy = true - publishSnapshot() - - local launched = noctalia.runAsync(shellCommand(args), function(result) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - local message - if ok then - -- Optimistic: list must show unmounted even if the follow-up - -- /proc/mounts refresh is delayed or coalesced with an in-flight poll. - vol.mounted = false - message = noctalia.tr("result.unmounted", { name = vol.name }) - else - local err = trim(result and (result.stderr ~= "" and result.stderr or result.stdout)) - if err == "" then - err = "unknown error" - end - message = noctalia.tr("result.failed", { error = err }) - end - finishAction(command, ok, message) - end, 30000) - - if not launched then - actionBusy = false - actionResult(command, false, noctalia.tr("result.failed", { error = "could not start fusermount" })) - publishSnapshot() - end -end - -local function openMount(command) - local vol = findVolume(command.id) - if not vol then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - local okPath, pathOrErr = isSafeFsPath(vol.mountPoint) - if not okPath then - actionResult(command, false, noctalia.tr("result.failed", { error = pathOrErr or "unsafe mount path" })) - return - end - local path = pathOrErr - if not vol.mounted then - if not noctalia.fileExists(path) then - actionResult(command, false, noctalia.tr("result.not_mounted", { name = vol.name })) - return - end - end - noctalia.runAsync(shellCommand({ "xdg-open", path })) - actionResult(command, true, noctalia.tr("result.success")) -end - -local function conflictsWith(vol, excludeId) - for _, other in ipairs(volumes) do - if other.id ~= excludeId then - if pathEqual(other.cipherDir, vol.cipherDir) or pathEqual(other.mountPoint, vol.mountPoint) then - return true - end - end - end - return false -end - -local function addOrUpdateVolume(command, isUpdate) - local raw = { - id = isUpdate and command.id or nil, - name = command.name, - cipherDir = command.cipherDir, - mountPoint = command.mountPoint, - passfile = command.passfile, - useKeyring = command.useKeyring == true, - allowOther = command.allowOther == true, - readOnly = command.readOnly == true, - autoMount = command.autoMount, - } - if command.autoMount == nil and not isUpdate then - raw.autoMount = command.useKeyring == true or trim(command.passfile or "") ~= "" - end - local vol = normalizeVolume(raw) - if not vol then - actionResult(command, false, noctalia.tr("panel.field.required")) - return - end - - local okCipher, cipherOrErr = isSafeFsPath(vol.cipherDir) - if not okCipher then - actionResult(command, false, noctalia.tr("result.failed", { error = cipherOrErr or "unsafe cipher path" })) - return - end - vol.cipherDir = cipherOrErr - local okMountPath, mountOrErr = isSafeFsPath(vol.mountPoint) - if not okMountPath then - actionResult(command, false, noctalia.tr("result.failed", { error = mountOrErr or "unsafe mount path" })) - return - end - vol.mountPoint = mountOrErr - if trim(vol.passfile) ~= "" then - local okPf, pfOrErr = isSafeFsPath(vol.passfile) - if not okPf then - actionResult(command, false, noctalia.tr("result.failed", { error = pfOrErr or "unsafe passfile path" })) - return - end - vol.passfile = pfOrErr - end - - if isUpdate then - local existing = findVolume(command.id) - if not existing then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - if conflictsWith(vol, existing.id) then - actionResult(command, false, noctalia.tr("panel.field.duplicate")) - return - end - existing.name = vol.name - existing.cipherDir = vol.cipherDir - existing.mountPoint = vol.mountPoint - existing.passfile = vol.passfile - existing.useKeyring = vol.useKeyring - existing.allowOther = vol.allowOther - existing.readOnly = vol.readOnly - existing.autoMount = vol.autoMount - else - if conflictsWith(vol, nil) then - actionResult(command, false, noctalia.tr("panel.field.duplicate")) - return - end - table.insert(volumes, vol) - end - - local ok, err = saveVolumes() - if not ok then - actionResult(command, false, noctalia.tr("result.failed", { error = err or "save failed" })) - return - end - actionResult(command, true, noctalia.tr("result.saved", { name = vol.name })) - updateRevision("volumes-changed-" .. tostring(os.time())) - publishSnapshot() - refreshAll() -end - -local function removeVolume(command) - local id = trim(command.id) - local index = nil - local name = "" - local passfile = "" - local useKeyring = false - for i, vol in ipairs(volumes) do - if vol.id == id then - index = i - name = vol.name - passfile = vol.passfile - useKeyring = vol.useKeyring == true - if vol.mounted then - actionResult(command, false, noctalia.tr("result.failed", { error = "unmount before removing" })) - return - end - break - end - end - if not index then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - table.remove(volumes, index) - - -- remove managed passfile if it lives under our passfiles dir (legacy) - local managed = defaultPassfilePath(id) - if managed and passfile ~= "" and pathEqual(passfile, managed) then - noctalia.removeFile(expand(managed)) - end - if useKeyring then - unlinkKeyringPassword(id, function() end) - end - - local ok, err = saveVolumes() - if not ok then - actionResult(command, false, noctalia.tr("result.failed", { error = err or "save failed" })) - return - end - actionResult(command, true, noctalia.tr("result.removed", { name = name })) - updateRevision("volumes-removed-" .. tostring(os.time())) - publishSnapshot() - refreshAll() -end - -local function initVolume(command) - if actionBusy then - actionResult(command, false, noctalia.tr("result.busy")) - return - end - - local name = trim(command.name) - local cipherDir = trim(command.cipherDir) - local mountPoint = trim(command.mountPoint) - local password = type(command.password) == "string" and command.password or "" - local plaintextNames = command.plaintextNames == true - local aesSiv = command.aesSiv == true - -- "savePassfile" UI flag now means store in kernel keyring (no plaintext at rest). - local saveKeyring = command.savePassfile == true or command.saveKeyring == true - local autoMount = command.autoMount == true - local allowOther = command.allowOther == true - local readOnly = command.readOnly == true - - if name == "" or cipherDir == "" or mountPoint == "" then - actionResult(command, false, noctalia.tr("panel.field.required")) - return - end - if password == "" then - actionResult(command, false, noctalia.tr("panel.password_required")) - return - end - if saveKeyring and not keyctlAvailable() and not secretToolAvailable() then - actionResult(command, false, noctalia.tr("result.failed", { - error = "neither keyctl nor secret-tool found (install keyutils and/or libsecret)", - })) - return - end - - local vol = normalizeVolume({ - name = name, - cipherDir = cipherDir, - mountPoint = mountPoint, - passfile = "", - useKeyring = saveKeyring, - allowOther = allowOther, - readOnly = readOnly, - autoMount = autoMount and saveKeyring, - }) - if not vol then - actionResult(command, false, noctalia.tr("panel.field.required")) - return - end - if conflictsWith(vol, nil) then - actionResult(command, false, noctalia.tr("panel.field.duplicate")) - return - end - - local okCipher, cipherOrErr = isSafeFsPath(vol.cipherDir) - if not okCipher then - actionResult(command, false, noctalia.tr("result.failed", { error = cipherOrErr or "unsafe cipher path" })) - return - end - local cipher = cipherOrErr - local okMountPath, mountOrErr = isSafeFsPath(vol.mountPoint) - if not okMountPath then - actionResult(command, false, noctalia.tr("result.failed", { error = mountOrErr or "unsafe mount path" })) - return - end - - if noctalia.fileExists(cipher .. "/gocryptfs.conf") then - actionResult(command, false, noctalia.tr("result.already_initialized", { path = cipher })) - return - end - - local okDir, dirErr = ensureDir(cipher) - if not okDir then - actionResult(command, false, noctalia.tr("result.failed", { error = "cipher dir: " .. tostring(dirErr) })) - return - end - - actionBusy = true - publishSnapshot() - - withSecureTempDir(function() - local tempPassfile = tempPassPath("init-" .. vol.id .. "-" .. tostring(os.time())) - local written, werr = writeSecurePassfile(tempPassfile, password) - if not written then - actionBusy = false - actionResult(command, false, noctalia.tr("result.failed", { error = werr or "could not write passfile" })) - publishSnapshot() - return - end - - local args = { "gocryptfs", "-init", "-q", "-passfile", tempPassfile } - if plaintextNames then - table.insert(args, "-plaintextnames") - end - if aesSiv then - table.insert(args, "-aessiv") - end - table.insert(args, cipher) - - local launched = noctalia.runAsync(shellCommand(args), function(result) - removePassfile(tempPassfile) - local ok = result ~= nil and result.exitCode == 0 and not result.timedOut - if not ok then - local err = trim(result and (result.stderr ~= "" and result.stderr or result.stdout)) - if err == "" then - err = result and result.timedOut and "timed out" or "unknown error" - end - finishAction(command, false, noctalia.tr("result.failed", { error = err })) - return - end - - local function finishInit() - table.insert(volumes, vol) - local saved, saveErr = saveVolumes() - if not saved then - finishAction(command, false, noctalia.tr("result.failed", { error = saveErr or "save failed" })) - return - end - finishAction(command, true, noctalia.tr("result.initialized", { name = vol.name })) - end - - if saveKeyring then - storeKeyringPassword(vol.id, password, function(krOk, krErr) - if krOk then - vol.useKeyring = true - vol.autoMount = autoMount - else - noctalia.log(`gocryptfs: keyring store failed: {krErr}`) - vol.useKeyring = false - vol.autoMount = false - end - finishInit() - end) - else - finishInit() - end - end, 120000) - - if not launched then - removePassfile(tempPassfile) - actionBusy = false - actionResult(command, false, noctalia.tr("result.failed", { error = "could not start gocryptfs -init" })) - publishSnapshot() - end - end) -end - --- Store password in kernel keyring for an existing volume (no mount required). -local function storeKeyringAction(command) - local vol = findVolume(command.id) - if not vol then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - local password = type(command.password) == "string" and command.password or "" - if password == "" then - actionResult(command, false, noctalia.tr("panel.password_required")) - return - end - if not keyctlAvailable() and not secretToolAvailable() then - actionResult(command, false, noctalia.tr("result.failed", { - error = "neither keyctl nor secret-tool found (install keyutils and/or libsecret)", - })) - return - end - - actionBusy = true - publishSnapshot() - - storeKeyringPassword(vol.id, password, function(ok, err) - actionBusy = false - if not ok then - local msg = noctalia.tr("result.failed", { error = err or "keyring store failed" }) - actionResult(command, false, msg) - notifyErr(msg) - publishSnapshot() - return - end - vol.useKeyring = true - if command.enableAutoMount == true then - vol.autoMount = true - end - local saved, saveErr = saveVolumes() - if not saved then - local msg = noctalia.tr("result.failed", { error = saveErr or "save failed" }) - actionResult(command, false, msg) - notifyErr(msg) - publishSnapshot() - return - end - local msg = noctalia.tr("result.keyring_saved", { name = vol.name }) - actionResult(command, true, msg) - notifyOk(msg) - publishSnapshot() - refreshAll() - end) -end - -local function executeAction(command) - if type(command) ~= "table" or type(command.action) ~= "string" then - return - end - - if command.action == "refresh" then - refreshAll() - return - end - - if command.action == "reload_config" then - loadVolumes() - autoMountScheduled = false - autoMountQueue = {} - refreshAll() - return - end - - if command.action == "add_volume" then - addOrUpdateVolume(command, false) - return - end - if command.action == "update_volume" then - addOrUpdateVolume(command, true) - return - end - if command.action == "remove_volume" then - removeVolume(command) - return - end - if command.action == "open" then - openMount(command) - return - end - if command.action == "init_volume" then - initVolume(command) - return - end - if command.action == "store_keyring" then - storeKeyringAction(command) - return - end - - if command.action == "forget_keyring" then - local vol = findVolume(command.id) - if not vol then - actionResult(command, false, noctalia.tr("result.not_found")) - return - end - actionBusy = true - publishSnapshot() - unlinkKeyringPassword(vol.id, function() - vol.useKeyring = false - -- Do not force autoMount off if user still has a passfile path - if trim(vol.passfile) == "" then - vol.autoMount = false - end - local saved, saveErr = saveVolumes() - actionBusy = false - if not saved then - local msg = noctalia.tr("result.failed", { error = saveErr or "save failed" }) - actionResult(command, false, msg) - notifyErr(msg) - publishSnapshot() - return - end - local msg = noctalia.tr("result.keyring_forgotten", { name = vol.name }) - actionResult(command, true, msg) - notifyOk(msg) - publishSnapshot() - refreshAll() - end) - return - end - - if actionBusy then - actionResult(command, false, noctalia.tr("result.busy")) - return - end - - if command.action == "mount" then - mountVolume(command) - elseif command.action == "unmount" then - unmountVolume(command) - else - actionResult(command, false, `Unknown action: {command.action}`) - end -end - --- boot -loadVolumes() --- Prime private temp dir (0700) early so first mount/keyring write is not a race. -withSecureTempDir(function() end) -noctalia.state.watch(COMMAND_KEY, executeAction) -noctalia.setUpdateInterval(refreshIntervalMs()) -refreshAll() - -function update() - refreshAll() -end - -function onConfigChanged() - noctalia.setUpdateInterval(refreshIntervalMs()) - -- re-run auto-mount if user turned it on - if autoMountEnabled() and autoMountScheduled then - for _, vol in ipairs(volumes) do - if canAutoMount(vol) then - local already = false - for _, id in ipairs(autoMountQueue) do - if id == vol.id then - already = true - break - end - end - if not already then - table.insert(autoMountQueue, vol.id) - end - end - end - kickAutoMount() - end - refreshAll() -end - -function onIpc(event, _payload) - if event == "refresh" then - refreshAll() - elseif event == "reload" then - loadVolumes() - autoMountScheduled = false - autoMountQueue = {} - refreshAll() - elseif event == "automount" then - autoMountScheduled = false - autoMountQueue = {} - refreshAll() - end -end diff --git a/gocryptfs/thumbnail.webp b/gocryptfs/thumbnail.webp deleted file mode 100644 index 8e362ef6df49dd197aded41847acc9e37f75fee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50042 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%0A0J;kM~U1-QjlTaHu{IxZj-K=CS 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 X;P!3-ud}LI`5CtQU%RF-FfafBhf^*S diff --git a/gocryptfs/translations/en.json b/gocryptfs/translations/en.json deleted file mode 100644 index d6139cf..0000000 --- a/gocryptfs/translations/en.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "actions": { - "add": "Add", - "cancel": "Cancel", - "close": "Close", - "edit": "Edit", - "forget": "Forget", - "init": "Init", - "mount": "Mount", - "open": "Open", - "refresh": "Refresh", - "remember": "Remember", - "remove": "Remove", - "save": "Save", - "unmount": "Unmount" - }, - "colors": { - "default": "Default", - "error": "Error", - "muted": "Muted", - "primary": "Primary", - "secondary": "Secondary", - "tertiary": "Tertiary" - }, - "panel": { - "add_title": "Add existing volume", - "automount_hint": "Auto-mount", - "busy": "Working…", - "cipher": "Cipher: {path}", - "edit_title": "Edit volume", - "empty": "No volumes yet. Initialize a new volume or add an existing one.", - "field": { - "aessiv": "AES-SIV encryption (-aessiv)", - "allow_other": "Allow other users (-allow_other)", - "auto_mount": "Auto-mount on login", - "auto_mount_help": "Requires a remembered keyring password or advanced passfile. Global auto-mount must also be on. Desktop keyring must unlock after login for reboot-safe auto-mount.", - "cipher": "Cipher directory", - "cipher_placeholder": "~/Encrypted/docs", - "duplicate": "A volume with that cipher directory or mount point already exists.", - "keyring_section": "Password (desktop keyring)", - "mount": "Mount point", - "mount_placeholder": "~/Private/docs", - "name": "Name", - "name_placeholder": "Documents", - "passfile": "Passfile path (optional, advanced)", - "passfile_placeholder": "Leave empty — prefer desktop keyring", - "password": "Password", - "password_confirm": "Confirm password", - "password_confirm_placeholder": "Re-enter password", - "password_mismatch": "Passwords do not match.", - "plaintextnames": "Plaintext file names (-plaintextnames)", - "read_only": "Read-only (-ro)", - "required": "Name, cipher directory, and mount point are required.", - "save_passfile": "Remember password in keyring (desktop + this login)" - }, - "init_help": "Runs gocryptfs -init on the cipher directory, then registers it for mounting.", - "init_title": "Initialize new volume", - "keyring_help": "Saved in your desktop keyring (survives reboot when unlocked) and cached for this login. No password file under plugin data.", - "keyring_hint": "Password in keyring", - "keyring_label": "Volume password (desktop keyring + session cache)", - "keyring_not_set": "No remembered password for this volume.", - "keyring_title": "Remember password for {name}", - "loading": "Checking mounts…", - "mountpoint": "Mount: {path}", - "passfile_hint": "Using passfile", - "password_label": "Password", - "password_placeholder": "Volume password", - "password_required": "Password is required.", - "password_title": "Password for {name}", - "remember_keyring": "Also remember in keyring (desktop + this login)", - "select_hint": "Select a volume to manage it.", - "status": { - "mounted": "Mounted", - "unknown": "Unknown", - "unmounted": "Unmounted" - }, - "subtitle": "Encrypted volumes", - "updated": "Updated {time}" - }, - "result": { - "already_initialized": "Already a gocryptfs volume: {path}", - "already_mounted": "{name} is already mounted.", - "busy": "Another operation is already running.", - "cipher_missing": "Cipher directory does not exist: {path}", - "failed": "Failed: {error}", - "gocryptfs_missing": "gocryptfs is not on PATH. Install gocryptfs and try again.", - "initialized": "Initialized and saved {name}", - "keyring_forgotten": "Keyring password cleared for {name}", - "keyring_saved": "Password for {name} saved in desktop keyring", - "mount_create_failed": "Could not create mount point: {path}", - "mounted": "Mounted {name}", - "not_found": "Volume not found.", - "not_mounted": "{name} is not mounted.", - "removed": "Removed {name}", - "saved": "Saved {name}", - "success": "Done", - "unmounted": "Unmounted {name}" - }, - "settings": { - "auto_mount": { - "description": "When Noctalia starts, mount volumes that have auto-mount enabled and a keyring password or passfile.", - "label": "Auto-mount on login" - }, - "create_mountpoint": { - "description": "Create the mount directory if it does not exist before mounting.", - "label": "Create mount points" - }, - "glyph_color": { - "description": "Color of the lock icon when gocryptfs is available.", - "label": "Icon color" - }, - "mounted_color": { - "description": "Status-dot color when at least one volume is mounted.", - "label": "Mounted indicator" - }, - "notify_on_action": { - "description": "Show a notification when a volume mounts or unmounts.", - "label": "Notify on mount/unmount" - }, - "refresh_interval": { - "description": "How often the service rechecks mount status.", - "label": "Refresh interval (seconds)" - }, - "show_count": { - "description": "Display mounted/total on the bar widget.", - "label": "Show mounted count" - }, - "unmounted_color": { - "description": "Status-dot color when nothing is mounted.", - "label": "Unmounted indicator" - } - }, - "title": "Gocryptfs", - "widget": { - "refresh_requested": "Refreshing volume status…", - "tooltip": "{mounted} of {total} mounted", - "tooltip_none": "No volumes configured", - "unavailable": "gocryptfs is not installed" - } -} diff --git a/gocryptfs/widget.luau b/gocryptfs/widget.luau deleted file mode 100644 index dbe411d..0000000 --- a/gocryptfs/widget.luau +++ /dev/null @@ -1,93 +0,0 @@ ---!nonstrict - -local PANEL_ID = "davemhammer/gocryptfs:manager" -local STATE_KEY = "gocrypt_snapshot" -local COMMAND_KEY = "gocrypt_command" - -local snapshot = noctalia.state.get(STATE_KEY) or { - available = false, - loading = true, - mountedCount = 0, - totalCount = 0, -} - -local requestId = 0 - -local function configString(key, fallback) - local value = noctalia.getConfig(key) - return type(value) == "string" and value or fallback -end - -local function render() - local mounted = tonumber(snapshot.mountedCount) or 0 - local total = tonumber(snapshot.totalCount) or 0 - local available = snapshot.available == true - local showCount = noctalia.getConfig("show_count") ~= false - local anyMounted = mounted > 0 - - local glyphName = anyMounted and "lock-open" or "lock" - local glyphColor = available and configString("glyph_color", "on_surface") or "on_surface_variant" - if anyMounted then - glyphColor = configString("mounted_color", "tertiary") - end - - local children = { - ui.glyph({ - name = glyphName, - size = 16, - color = glyphColor, - }), - } - - if showCount and available and total > 0 then - table.insert(children, ui.label({ - text = `{mounted}/{total}`, - fontWeight = "bold", - color = "on_surface", - })) - end - - if available and total > 0 then - table.insert(children, ui.box({ - width = 7, - height = 7, - radius = 4, - fill = anyMounted and configString("mounted_color", "tertiary") or configString("unmounted_color", "on_surface_variant"), - })) - end - - local container = barWidget.isVertical() and ui.column or ui.row - barWidget.render(container({ gap = 5, align = "center" }, children)) - - if not available then - barWidget.setTooltip(noctalia.tr("widget.unavailable")) - elseif total == 0 then - barWidget.setTooltip(noctalia.tr("widget.tooltip_none")) - else - barWidget.setTooltip(noctalia.tr("widget.tooltip", { mounted = mounted, total = total })) - end -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -noctalia.setUpdateInterval(5000) -render() - -function update() - render() -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - requestId += 1 - noctalia.state.set(COMMAND_KEY, { action = "refresh", requestId = `widget-{requestId}` }) - noctalia.notify(noctalia.tr("title"), noctalia.tr("widget.refresh_requested")) -end diff --git a/godot-provider/README.md b/godot-provider/README.md deleted file mode 100644 index c965b03..0000000 --- a/godot-provider/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# Godot Provider - -![Godot Provider thumbnail](thumbnail.webp) - -Godot Provider integrates all projects within the project manager with the -Noctalia launcher so you can open a project quickly without leaving the shell. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `ramosdetrigo/godot-provider` | -| Entry | Launcher provider: `provider` | -| Launcher Prefix | `/gd` | - -## Requirements - -Install [Godot](https://godotengine.org/) and ensure `godot` is available on -`PATH` as `godot`. Alternatively, you can set the path to the godot binary in -the plugin's settings. The `nohup` command is required to launch Godot. - -## Usage - -Open the Noctalia launcher and type `/gd` to list local Godot projects. -Continue typing to filter projects by name, then select one to open it with -`godot`. - -## Settings - -- `sort_by` — Sort projects by last used or most opened projects in the launcher. -- `projects_path` — The path to Godot's projets.cfg file. -- `godot_command` — The shell command to open godot. - -## Notes - -Projects are read from Godot's projects.cfg file, typically at -`~/.local/share/godot/projets.cfg`. The list is cached for the launcher session -and refreshed when you clear the query. - -The `sort_by` setting sorts by writing the project's ids in a json inside the plugins' -[`pluginDataDir`](https://docs.noctalia.dev/noctalia/plugins/development/runtime-api/?section=filesystem#filesystem). - -Small parts of the code were taken or based upon the [zed-provider](https://github.com/noctalia-dev/community-plugins/tree/main/zed-provider) plugin. diff --git a/godot-provider/godot_provider.luau b/godot-provider/godot_provider.luau deleted file mode 100644 index 029b97e..0000000 --- a/godot-provider/godot_provider.luau +++ /dev/null @@ -1,170 +0,0 @@ -local HOME = noctalia.getenv("HOME") or "" -local tinsert = table.insert -local tremove = table.remove -local tfind = table.find -local tsort = table.sort -local sformat = string.format - -local projectsCache -local projectsPath: string = noctalia.getConfig("projects_path") or noctalia.expandPath("~/.local/share/godot/projects.cfg") -local godot_command: string = noctalia.getConfig("godot_command") or "godot" -local sort_by: string = noctalia.getConfig("sort_by") or "history" -local dataDir = noctalia.pluginDataDir() - -if godot_command == "" then godot_command = "godot" end - -local function shellQuote(s: string): string - return "'" .. s:gsub("'", "'\"'\"'") .. "'" -end - -local function trim(s: string): string - return s:match("^%s*(.-)%s*$") :: string -end - --- Gets the project name in project.godot - fallbacks to the folder name -local function projectName(path: string): string - local p_godot: string = noctalia.readFile(path .. "/project.godot") or "" - local project_name = p_godot:match('config/name="(.-)"%s*\n') - - return project_name and project_name:gsub("\\(.)", "%1") or path:match("([^/]+)$") or path -end - --- Get table with projects -local function getProjects(file_string: string, query: string) - local projects = {} - - -- Gets the projects inside the projects.cfg (They're wrapped in "[]") - for project_path in file_string:gmatch("%[([^%]]+)%]") do - local project_name: string = projectName(project_path) - tinsert(projects, { - id = project_path, - title = project_name, - subtitle = project_path:gsub(HOME, "~"), - icon = "godot", - }) - end - - -- sort alphabetically - tsort(projects, function(a, b) return a.title < b.title end) - - return projects -end - --- filter the projects based on the query with fuzzyScore -function filterProjects(query, projects) - local result = {} - for i = 1, #projects do - local project = projects[i] - - -- score from title or id - local project_score: number? - - if query == "" then - -- query empty: sort based on the sort_by key - project_score = getSortScore(project.id) - else - project_score = noctalia.fuzzyScore(query, project.title) or noctalia.fuzzyScore(query, project.id) - end - - if query == "" or project_score ~= nil then - project.score = project_score -- this will be overriden every time so no problem - tinsert(result, project) - end - end - - return result -end - --- sends launcher results, warning the user if no projects found -function showResults(query, projects) - if #projects > 0 then - launcher.setResults(query, projects) - return - end - - launcher.setResults(query, { - { - id = "", - title = noctalia.tr("no-projects-found"), - subtitle = noctalia.tr("no-projects-subtitle"), - glyph = "loader", - }, - }) -end - -function onQuery(query: string) - query = trim(query) - - -- resets cache on new prompt - if query == "" or projectsCache == nil then - local file = noctalia.readFile(projectsPath) - projectsCache = if file then getProjects(file, query) else {} - end - - launcher.setResults(query, filterProjects(query, projectsCache)) -end - -function getSortScore(id: string): number - if id == "" then - return 0 - end - - if dataDir then - if sort_by == "history" then - local file_path = dataDir .. "/history.json" - local file = noctalia.readFile(file_path) - local data = {} - if file then - data = noctalia.json.decode(file) - local i = tfind(data, id) or #data + 1 - local score = #data - i - return score - end - else -- usage_count - local file_path = dataDir .. "/usage.json" - local file = noctalia.readFile(file_path) - if file then - return noctalia.json.decode(file)[id] or 0 - end - end - end - - return 0 -end - --- Open godot editor on the selected project -function onActivate(id: string) - if id == "" then - return - end - - if dataDir then - local file: string? - local file_path: string = dataDir .. (sort_by == "history" and "/history.json" or "/usage.json") - file = noctalia.readFile(file_path) - - if sort_by == "history" then - local data = {} - if file then data = noctalia.json.decode(file) end - - local i: number? = tfind(data, id) - if i then - tremove(data, i) - tinsert(data, 1, id) - else - tinsert(data, 1, id) - end - - local json_str: string = noctalia.json.encode(data) :: string - noctalia.writeFile(file_path, json_str) - else -- usage_count - local data = {} - if file then data = noctalia.json.decode(file) end - data[id] = data[id] and data[id] + 1 or 1 - local json_str = noctalia.json.encode(data) - noctalia.writeFile(file_path, json_str) - end - end - - noctalia.runAsync(sformat("nohup %s -e %s &>/dev/null &", shellQuote(godot_command), shellQuote(id.."/project.godot"))) -end diff --git a/godot-provider/plugin.toml b/godot-provider/plugin.toml deleted file mode 100644 index bef8d45..0000000 --- a/godot-provider/plugin.toml +++ /dev/null @@ -1,43 +0,0 @@ -id = "ramosdetrigo/godot-provider" -name = "Godot Provider" -author = "ramosdetrigo" -version = "1.0.0" -plugin_api = 3 -license = "MIT" -dependencies = ["godot", "nohup"] -icon = "folder-open" -description = "Open a recent Godot project from the launcher. Type /gd to list your projects." -tags = ["launcher", "development", "productivity"] - -[[setting]] -key = "sort_by" -type = "select" -label_key = "settings.sort_by.label" -description_key = "settings.sort_by.description" -default = "history" -options = [ - {label_key="settings.history", value = "history"}, - {label_key="settings.usage_count", value = "usage_count"}, -] - -[[setting]] -key = "projects_path" -type = "file" -label_key = "settings.projects_path.label" -description_key = "settings.projects_path.description" -default = "~/.local/share/godot/projects.cfg" - -[[setting]] -key = "godot_command" -type = "string" -label_key = "settings.godot_command.label" -description_key = "settings.godot_command.description" -default = "godot" - -[[launcher_provider]] -id = "provider" -entry = "godot_provider.luau" -prefix = "gd" -glyph = "robot" -include_in_global_search = false -debounce_ms = 0 diff --git a/godot-provider/thumbnail.webp b/godot-provider/thumbnail.webp deleted file mode 100644 index c5f276d0cdb54e3ceba89775ebe3f56d49c0c1c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60322 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ॳTMy5BZ8-yZ{$fSwxO5^^f*)sEP-|vpZ!l#;R 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 i_qv Requires Noctalia v5 and plugin API 19. Noctalia v4 uses a different QML -> plugin format and will not list or load this source. - -Video playback uses [gSlapper](https://github.com/Nomadcxx/gSlapper) instead of -mpvpaper. gSlapper uses GStreamer rather than libmpv; its README documents lower -CPU, memory, and GPU use than mpvpaper. Tests cover Niri, Hyprland, and Sway. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `nomadcxx/gslapper` | -| Entries | Bar widget: `wallpaper`; panel: `picker`; service: `service` | - -## Requirements - -- `find` indexes the wallpaper roots -- [gSlapper](https://github.com/Nomadcxx/gSlapper) 1.5.2 or newer provides the - `gslapper` command and renders video wallpapers -- `gst-launch-1.0` creates image and video previews -- `pkill` cleans up a plugin-owned process if its socket stops responding -- `socat` sends gSlapper IPC commands - -Arch Linux provides `gst-launch-1.0` in `gstreamer`. Debian and Ubuntu provide -it in `gstreamer1.0-tools`. Preview generation can fail without blocking image -selection or video playback. - -## Install - -Add the canonical repository as a custom plugin source: - -1. Open **Settings → Plugins → Sources**. -2. Choose **Add custom repository**. -3. Enter `https://github.com/Nomadcxx/noctalia-gslapper`. -4. Open **Settings → Plugins → Install** and select **gSlapper Wallpaper**. - -Or install it from a shell: - -```sh -noctalia msg plugins source add gslapper git https://github.com/Nomadcxx/noctalia-gslapper -noctalia msg plugins enable nomadcxx/gslapper -``` - -Choose this source or the Noctalia community source. If you add both, Noctalia -uses the copy from the last user source. Remove the other source with: - -```sh -noctalia msg plugins source remove -``` - -## Usage - -In Noctalia Settings, open your existing bar, choose a widget section, select -Add Widget, then add **gSlapper Wallpaper**. You can remove Noctalia's -Wallpaper widget if you want one wallpaper button. - -Left-click the gSlapper widget to open the picker. Select **All outputs** or a -connector such as `eDP-1` or `DP-1`, then choose an image or video. The All -view can pause assigned videos or restore every output. - -Toggle the picker from a shell: - -```sh -noctalia msg panel-toggle nomadcxx/gslapper:picker -``` - -The service indexes your image and video roots when Noctalia starts. It creates -224 by 126 JPEG previews in the plugin data directory. The picker shows 24 -media files per page in a four-column grid and lists child folders in a -separate selector. - -## Settings - -| Setting | Default | Description | -| --- | --- | --- | -| Video directory | `~/Videos/Wallpapers` | Root for video wallpapers. Noctalia's wallpaper directory supplies images. | -| Video scale | `fill` | Uses gSlapper's fill, stretch, original, or panscan scaling mode. | -| When hidden | `none` | Keeps playing unless you select Auto Pause or Auto Stop. | -| Loop videos | On | Restarts video playback at the end. | -| FPS cap | `30` | Caps video wallpaper playback at 30, 60, or 100 FPS. | -| Fade between videos | Off | Enables gSlapper's fade transition. | -| Fade duration | `0.5` seconds | Sets the transition duration when you enable fading. | -| Additional GStreamer options | Empty | Appends options to gSlapper's GStreamer option list. | -| Widget glyph | `wallpaper-selector` | Changes the icon shown in the bar. | - -The service restarts active video wallpapers after you change a playback -setting. - -## Self-check - -Run the built-in model and trust-boundary checks with: - -```sh -noctalia msg plugin nomadcxx/gslapper:service all self-test -``` - -## Notes - -- The plugin starts one `gslapper` process and one Unix socket under - `$XDG_RUNTIME_DIR/noctalia-gslapper/` for each output with a video. -- The plugin stores assignments, its self-check report, its media index, and - cached preview JPEGs in Noctalia's plugin data directory. It makes no network - requests. -- The picker skips filenames that do not use UTF-8. -- Static images use Noctalia's wallpaper renderer. For video assignments, the - plugin disables Noctalia's wallpaper surface on that output while gSlapper - owns it, then restores the native surface when you select **Restore**. -- Use **Restore all** before disabling or reloading the plugin. This stops its - processes, removes its sockets, and re-enables Noctalia's wallpaper surfaces. -- The current plugin API does not report static wallpaper changes made outside - this plugin, so its saved image assignment can become stale. -- Assignments follow connector names, not monitor serial numbers. Review them - after GPU, dock, or cabling changes that rename outputs. diff --git a/gslapper/panel.luau b/gslapper/panel.luau deleted file mode 100644 index dfd2ef4..0000000 --- a/gslapper/panel.luau +++ /dev/null @@ -1,1002 +0,0 @@ ---!nonstrict - -local IMAGE_EXTENSIONS = { jpg = true, jpeg = true, png = true, webp = true, jxl = true, bmp = true } -local VIDEO_EXTENSIONS = { mp4 = true, mkv = true, webm = true, mov = true, avi = true, m4v = true, gif = true } -local GRID_BATCH_SIZE = 12 -local PAGE_SIZE = 24 - -local filter = "all" -local search = "" -local page = 1 -local currentRoot = nil -local currentDirectory = nil -local entries = {} -local scanError = nil -local library = noctalia.state.get("library") or {} -local libraryStatus = noctalia.state.get("library_status") or { phase = "scanning" } -local scanning = libraryStatus.phase == "scanning" -local assignments = noctalia.state.get("assignments") or {} -local runtime = noctalia.state.get("runtime") or {} -local capabilities = noctalia.state.get("capabilities") or { video = false, checking = true } -local outputs = noctalia.state.get("outputs") or {} -local commandResult = noctalia.state.get("command_result") -local selectedOutput = "*" -local nonceCounter = 0 -local outputOptions = {} -local folderEntries = {} -local gridRows = nil -local gridBuilding = false -local gridGeneration = 0 -local gridProgress = 0 -local indexBuilding = false -local indexGeneration = 0 -local indexProgress = 0 -local loadedLibraryVersion = nil -local viewMedia = {} -local viewDirectories = {} -local viewBuilding = false -local viewDirty = true -local viewGeneration = 0 -local viewProgress = 0 -local loadingPulse = 0 -local loadingElapsed = 0 -local render - -local function tr(key, substitutions) - return noctalia.tr(key, substitutions) -end - -local function trimTrailingSlash(path) - if type(path) ~= "string" then - return nil - end - path = path:gsub("/+$", "") - return path == "" and "/" or path -end - -local function classifyName(name) - if type(name) ~= "string" then - return nil - end - local extension = name:match("%.([^./]+)$") - extension = extension and extension:lower() or nil - if extension == "gif" then - return "video" - elseif extension and IMAGE_EXTENSIONS[extension] then - return "image" - elseif extension and VIDEO_EXTENSIONS[extension] then - return "video" - end - return nil -end - -local function safeChild(root, directory, name) - root = trimTrailingSlash(root) - directory = trimTrailingSlash(directory) - if not root or not directory or type(name) ~= "string" or name == "" or name == "." or name == ".." - or name:find("/", 1, true) or name:find("[\n\r%z]") then - return nil - end - if directory ~= root and directory:sub(1, #root + 1) ~= root .. "/" then - return nil - end - return (directory == "/" and "" or directory) .. "/" .. name -end - -local function sortEntries(values) - table.sort(values, function(left, right) - if left.kind == "directory" and right.kind ~= "directory" then - return true - elseif left.kind ~= "directory" and right.kind == "directory" then - return false - end - local leftName = left.name:lower() - local rightName = right.name:lower() - return leftName == rightName and left.name < right.name or leftName < rightName - end) -end - -local function assignmentMatchCount(values, connectors, path) - local count = 0 - for _, connector in ipairs(connectors or {}) do - if values[connector] and values[connector].path == path then - count = count + 1 - end - end - return count -end - -local function mixedCounts(values, connectors) - local counts = { video = 0, image = 0, unassigned = 0 } - for _, connector in ipairs(connectors or {}) do - local assignment = values[connector] - if assignment and assignment.kind == "video" then - counts.video = counts.video + 1 - elseif assignment and assignment.kind == "image" then - counts.image = counts.image + 1 - else - counts.unassigned = counts.unassigned + 1 - end - end - return counts -end - -local function videoPlaybackAction(values, liveState, connectors) - local videoCount = 0 - for _, connector in ipairs(connectors or {}) do - if values[connector] and values[connector].kind == "video" then - videoCount = videoCount + 1 - if not liveState[connector] or liveState[connector].status ~= "paused" then - return "pause" - end - end - end - return videoCount > 0 and "resume" or "pause" -end - -local function fnv1a32(value) - -- ponytail: this mirrors the service cache key; use a wider digest if a real collision appears. - local hash = 2166136261 - for index = 1, #value do - hash = bit32.bxor(hash, value:byte(index)) - local low = (hash % 65536) * 16777619 - local high = (math.floor(hash / 65536) * 16777619) % 65536 - hash = (low + high * 65536) % 4294967296 - end - return string.format("%08x", hash) -end - -local function thumbnailPath(path, size, mtime) - local directory = noctalia.pluginDataDir() - if not directory then - return nil - end - return directory .. "/thumb-" .. fnv1a32("v3:" .. path .. ":" .. tostring(size) .. ":" .. tostring(mtime)) .. ".jpg" -end - -local function invalidateGrid() - gridGeneration = gridGeneration + 1 - gridRows = nil - gridBuilding = false - gridProgress = 0 -end - -local function invalidateView() - viewGeneration = viewGeneration + 1 - viewMedia = {} - viewDirectories = {} - viewBuilding = false - viewDirty = true - viewProgress = 0 - invalidateGrid() -end - -local function nextNulField(raw, offset) - local boundary = raw:find("\0", offset, true) - if not boundary then - return nil, offset - end - return raw:sub(offset, boundary - 1), boundary + 1 -end - -local function acceptsMedia(rootKind, kind, name) - if rootKind == "mixed" or rootKind == "video" then - return rootKind == "mixed" or kind == "video" - end - return kind == "image" or name:lower():match("%.gif$") ~= nil -end - -local function finishIndexBuild(generation, value) - if generation ~= indexGeneration then - return - end - library = value - loadedLibraryVersion = value.version - indexBuilding = false - indexProgress = 1 - invalidateView() - local started = noctalia.runAsync(":", render, 2000) - if not started then - render() - end -end - -local function loadLibrary(value) - if type(value) ~= "table" then - return false - end - if value.version == loadedLibraryVersion and not indexBuilding then - return true - end - if type(value.entries) == "table" then - library = value - entries = value.entries - sortEntries(entries) - loadedLibraryVersion = value.version - indexBuilding = false - invalidateView() - return true - end - if type(value.sources) ~= "table" then - return false - end - - indexGeneration = indexGeneration + 1 - local generation = indexGeneration - local tasks = {} - local totalBytes = 0 - local consumedBytes = 0 - entries = {} - indexBuilding = true - indexProgress = 0 - for _, source in ipairs(value.sources) do - local raw = noctalia.readFile(source.path) - if type(raw) == "string" then - totalBytes = totalBytes + #raw - table.insert(tasks, { - raw = raw, - offset = 1, - root = source.root, - rootKind = source.rootKind, - }) - else - scanError = "Wallpaper index is unavailable" - end - end - - local processBatch - processBatch = function() - if generation ~= indexGeneration then - return - end - local remaining = GRID_BATCH_SIZE - while remaining > 0 and #tasks > 0 do - local task = tasks[1] - local previousOffset = task.offset - local fileType - fileType, task.offset = nextNulField(task.raw, task.offset) - if not fileType then - table.remove(tasks, 1) - else - local size - local mtime - local path - size, task.offset = nextNulField(task.raw, task.offset) - mtime, task.offset = nextNulField(task.raw, task.offset) - path, task.offset = nextNulField(task.raw, task.offset) - consumedBytes = consumedBytes + task.offset - previousOffset - remaining = remaining - 1 - if path and utf8.len(path) ~= nil then - local name = path:match("([^/]+)$") - local parent = path:match("^(.*)/[^/]+$") - if fileType == "d" then - table.insert(entries, { - name = name, - path = path, - parent = parent, - kind = "directory", - root = task.root, - rootKind = task.rootKind, - }) - elseif fileType == "f" then - local kind = classifyName(name) - if kind and acceptsMedia(task.rootKind, kind, name) then - local numericSize = tonumber(size) or 0 - local numericMtime = tonumber(mtime) or 0 - table.insert(entries, { - name = name, - path = path, - parent = parent, - kind = kind, - root = task.root, - rootKind = task.rootKind, - thumbnail = thumbnailPath(path, numericSize, numericMtime), - }) - end - end - end - end - end - indexProgress = totalBytes > 0 and math.min(1, consumedBytes / totalBytes) or 1 - if #tasks == 0 then - finishIndexBuild(generation, value) - return - end - local started = noctalia.runAsync(":", processBatch, 2000) - if not started then - indexBuilding = false - scanError = "Noctalia command capacity is busy" - render() - end - end - - processBatch() - return true -end - -local function partitionEntries(values, needle) - local directories = {} - local media = {} - needle = tostring(needle or ""):lower() - for _, entry in ipairs(values or {}) do - local inDirectory = currentDirectory and entry.parent == currentDirectory or not currentDirectory and entry.parent == entry.root - if inDirectory and entry.kind == "directory" then - table.insert(directories, entry) - elseif inDirectory - and (filter == "all" or filter == "images" and entry.kind == "image" or filter == "videos" and entry.kind == "video") - and (needle == "" or entry.name:lower():find(needle, 1, true)) then - table.insert(media, entry) - end - end - return directories, media -end - -local function beginViewBuild() - viewGeneration = viewGeneration + 1 - local generation = viewGeneration - local index = 1 - local needle = search:lower() - viewMedia = {} - viewDirectories = {} - viewBuilding = true - viewDirty = false - viewProgress = 0 - - local processBatch - processBatch = function() - if generation ~= viewGeneration then - return - end - local last = math.min(#entries, index + GRID_BATCH_SIZE - 1) - while index <= last do - local entry = entries[index] - local inDirectory = currentDirectory and entry.parent == currentDirectory - or not currentDirectory and entry.parent == entry.root - if inDirectory and entry.kind == "directory" then - table.insert(viewDirectories, entry) - elseif inDirectory - and (filter == "all" or filter == "images" and entry.kind == "image" - or filter == "videos" and entry.kind == "video") - and (needle == "" or entry.name:lower():find(needle, 1, true)) then - table.insert(viewMedia, entry) - end - index = index + 1 - end - viewProgress = #entries == 0 and 1 or math.min(1, (index - 1) / #entries) - if index > #entries then - sortEntries(viewDirectories) - sortEntries(viewMedia) - viewBuilding = false - invalidateGrid() - render() - return - end - local started = noctalia.runAsync(":", processBatch, 2000) - if not started then - viewBuilding = false - scanError = "Noctalia command capacity is busy" - render() - end - end - - processBatch() -end - -local function paginate(values, requestedPage) - local pages = math.max(1, math.ceil(#values / PAGE_SIZE)) - local currentPage = math.max(1, math.min(requestedPage, pages)) - local first = (currentPage - 1) * PAGE_SIZE + 1 - local visible = {} - for index = first, math.min(#values, first + PAGE_SIZE - 1) do - table.insert(visible, values[index]) - end - return visible, currentPage, pages -end - -local function visibleEntries() - local visible, currentPage, pages = paginate(viewMedia, page) - page = currentPage - return visible, #viewMedia, pages, viewDirectories -end - -local function connectorNames() - local names = {} - for _, output in ipairs(outputs or {}) do - local name = type(output) == "table" and output.name or output - if type(name) == "string" and name ~= "" then - table.insert(names, name) - end - end - table.sort(names) - return names -end - -local function nextNonce() - nonceCounter = nonceCounter + 1 - return noctalia.nowMs() * 1000 + nonceCounter -end - -local function sendCommand(action, entry) - local command = { - nonce = nextNonce(), - action = action, - target = action == "restore-all" and "*" or selectedOutput, - } - if entry then - command.path = entry.path - command.preview_path = entry.thumbnail and noctalia.fileExists(entry.thumbnail) and entry.thumbnail or nil - end - noctalia.state.set("command", command) -end - -local function selectedConnectors() - return selectedOutput == "*" and connectorNames() or { selectedOutput } -end - -local function selectionBusy() - for _, connector in ipairs(selectedConnectors()) do - if runtime[connector] and runtime[connector].status == "starting" then - return true - end - end - return false -end - -local function navigateDirectory(entry) - if type(entry) ~= "table" or entry.kind ~= "directory" - or type(entry.root) ~= "string" or type(entry.path) ~= "string" - or (entry.path ~= entry.root and entry.path:sub(1, #entry.root + 1) ~= entry.root .. "/") then - scanError = tr("panel.navigation_blocked") - render() - return - end - currentRoot = { kind = entry.rootKind, path = entry.root } - currentDirectory = entry.path - search = "" - page = 1 - scanError = libraryStatus.error - invalidateView() - render() -end - -local function navigateUp() - if not currentDirectory or not currentRoot then - return - end - if currentDirectory == currentRoot.path then - currentDirectory = nil - currentRoot = nil - else - local parent = currentDirectory:match("^(.*)/[^/]+$") - if not parent or parent == currentRoot.path then - currentDirectory = nil - currentRoot = nil - else - currentDirectory = parent - end - end - search = "" - page = 1 - invalidateView() - render() -end - -local function tileFor(entry, connectors) - local matches = assignmentMatchCount(assignments, connectors, entry.path) - local selected = #connectors > 0 and matches == #connectors - local videoDisabled = entry.kind == "video" and not capabilities.video - local busy = selectionBusy() - local choose - if not videoDisabled and not busy then - choose = function() - sendCommand(entry.kind == "image" and "assign-image" or "assign-video", entry) - end - end - local preview - if entry.thumbnail and noctalia.fileExists(entry.thumbnail) then - preview = ui.image({ - path = entry.thumbnail, - height = 96, - fit = "cover", - radius = 8, - border = selected and "primary" or "outline/0.45", - borderWidth = selected and 2 or 1, - onClick = choose, - }) - else - preview = ui.button({ - height = 96, - glyph = entry.kind == "image" and "photo" or "player-play", - glyphSize = 36, - variant = "ghost", - enabled = choose ~= nil, - selected = selected, - onClick = choose, - }) - end - - local detail = entry.name - if entry.kind == "video" then - detail = tr("panel.video_badge") .. " · " .. detail - end - if selectedOutput == "*" and matches > 0 and matches < #connectors then - detail = detail .. " · " .. tr("panel.partial_badge", { count = matches, total = #connectors }) - end - - return ui.column({ - key = entry.path, - width = 210, - gap = 5, - opacity = videoDisabled and 0.55 or 1, - }, { - preview, - ui.label({ - text = detail, - maxLines = 1, - fontSize = 11, - color = entry.kind == "video" and "secondary" or "on_surface", - }), - }) -end - -local function beginGridBuild(values, connectors) - gridGeneration = gridGeneration + 1 - local generation = gridGeneration - gridRows = {} - gridBuilding = true - gridProgress = 0 - local index = 1 - local row = {} - - local processBatch - processBatch = function() - if generation ~= gridGeneration then - return - end - local last = math.min(#values, index + GRID_BATCH_SIZE - 1) - while index <= last do - table.insert(row, tileFor(values[index], connectors)) - if #row == 4 then - table.insert(gridRows, ui.row({ gap = 10, align = "start" }, row)) - row = {} - end - index = index + 1 - end - gridProgress = #values == 0 and 1 or math.min(1, (index - 1) / #values) - if index > #values then - if #row > 0 then - table.insert(gridRows, ui.row({ gap = 10, align = "start" }, row)) - end - gridBuilding = false - render() - return - end - local started = noctalia.runAsync(":", function() - processBatch() - end, 2000) - if not started then - gridBuilding = false - scanError = "Noctalia command capacity is busy" - render() - end - end - - processBatch() -end - -local function loadingState(label, progress) - local rows = {} - for rowIndex = 1, 2 do - local cards = {} - for cardIndex = 1, 4 do - local offset = ((rowIndex - 1) * 4 + cardIndex - 1) * 0.08 - local opacity = 0.22 + 0.28 * math.abs(math.sin((loadingPulse + offset) * math.pi)) - table.insert(cards, ui.column({ - width = 210, - height = 128, - radius = 10, - fill = "surface_variant", - opacity = opacity, - })) - end - table.insert(rows, ui.row({ gap = 10 }, cards)) - end - return ui.column({ flexGrow = 1, gap = 10, justify = "center" }, { - ui.row({ align = "center", gap = 8 }, { - ui.label({ text = label, color = "on_surface_variant", flexGrow = 1 }), - ui.label({ text = tostring(math.floor(progress * 100)) .. "%", color = "on_surface_variant", fontSize = 11 }), - }), - ui.progress({ height = 4, progress = progress, fill = "primary", track = "surface_variant", radius = 2 }), - ui.column({ gap = 10 }, rows), - }) -end - -local function folderStrip(directories) - if #directories == 0 then - folderEntries = {} - return nil - end - folderEntries = directories - local options = { tr("panel.folders") } - for _, entry in ipairs(directories) do - table.insert(options, entry.name) - end - return ui.row({ align = "center", gap = 8 }, { - ui.glyph({ name = "folder", color = "on_surface_variant", size = 18 }), - ui.select({ - options = options, - selectedIndex = 0, - flexGrow = 1, - onChange = "onFolderChanged", - }), - }) -end - -local function activeStrip(connectors) - if selectedOutput == "*" then - local counts = mixedCounts(assignments, connectors) - local playbackAction = videoPlaybackAction(assignments, runtime, connectors) - return ui.row({ align = "center", gap = 8, padding = 9, radius = 9, fill = "surface_variant/0.40" }, { - ui.glyph({ name = "devices", color = "primary", size = 18 }), - ui.label({ - text = tr("panel.mixed_summary", { - outputs = #connectors, - videos = counts.video, - images = counts.image, - }), - flexGrow = 1, - maxLines = 1, - }), - ui.button({ - text = tr(playbackAction == "resume" and "panel.resume_videos" or "panel.pause_videos"), - variant = "ghost", - enabled = counts.video > 0 and not selectionBusy(), - onClick = function() sendCommand(playbackAction) end, - }), - ui.button({ - text = tr("panel.restore_all"), - variant = "ghost", - enabled = #connectors > 0 and not selectionBusy(), - onClick = function() sendCommand("restore-all") end, - }), - }) - end - - local assignment = assignments[selectedOutput] - local live = runtime[selectedOutput] - if not assignment then - return nil - end - local isVideo = assignment.kind == "video" - local paused = live and live.status == "paused" - return ui.row({ align = "center", gap = 8, padding = 9, radius = 9, fill = "surface_variant/0.40" }, { - ui.glyph({ name = isVideo and "movie" or "photo", color = isVideo and "secondary" or "primary", size = 18 }), - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = assignment.path:match("([^/]+)$") or assignment.path, fontWeight = "bold", maxLines = 1 }), - ui.label({ - text = live and tr("panel.status_" .. tostring(live.status)) or tr("panel.status_static"), - fontSize = 10, - color = live and live.error and "error" or "on_surface_variant", - }), - }), - ui.button({ - text = tr(paused and "panel.resume" or "panel.pause"), - variant = "ghost", - visible = isVideo, - enabled = live ~= nil and not selectionBusy(), - onClick = function() sendCommand(paused and "resume" or "pause") end, - }), - ui.button({ - text = tr("panel.restore"), - variant = "ghost", - enabled = not selectionBusy(), - onClick = function() sendCommand("restore") end, - }), - }) -end - -local function resultBanner() - if not commandResult or type(commandResult.summary) ~= "table" then - return nil - end - local summary = commandResult.summary - if (summary.pending or 0) > 0 then - return ui.label({ text = tr("panel.applying"), color = "on_surface_variant" }) - end - local errors = {} - for connector, result in pairs(commandResult.results or {}) do - if result.ok == false then - table.insert(errors, connector .. ": " .. tostring(result.error)) - end - end - table.sort(errors) - if #errors > 0 then - return ui.label({ text = table.concat(errors, " · "), color = "error", maxLines = 2 }) - end - return nil -end - -render = function() - if not scanning and not indexBuilding and viewDirty and not viewBuilding then - beginViewBuild() - end - local visible, total, pages, directories = visibleEntries() - local connectors = connectorNames() - if not indexBuilding and not viewBuilding and total > 0 and gridRows == nil and not gridBuilding then - beginGridBuild(visible, selectedConnectors()) - end - local loading = scanning or indexBuilding or viewBuilding or gridBuilding - panel.setNeedsFrameTick(loading) - outputOptions = { tr("panel.all_outputs") } - local selectedIndex = 0 - for index, connector in ipairs(connectors) do - table.insert(outputOptions, connector) - if selectedOutput == connector then - selectedIndex = index - end - end - if selectedOutput ~= "*" and selectedIndex == 0 then - selectedOutput = "*" - end - - local children = { - ui.row({ align = "center", gap = 8 }, { - ui.label({ text = tr("panel.title"), fontSize = 18, fontWeight = "bold", flexGrow = 1 }), - ui.button({ glyph = "settings", variant = "ghost", tooltip = tr("panel.settings"), onClick = "onOpenSettings" }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("panel.close"), onClick = "onCloseClicked" }), - }), - ui.row({ align = "center", gap = 8 }, { - ui.input({ - key = "search-" .. filter .. "-" .. selectedOutput, - value = search, - placeholder = tr("panel.search"), - focus = true, - flexGrow = 1, - onChange = "onSearchChanged", - }), - ui.select({ - options = outputOptions, - selectedIndex = selectedIndex, - width = 170, - onChange = "onOutputChanged", - }), - }), - ui.row({ align = "center", gap = 6 }, { - ui.button({ text = tr("panel.filter_all"), selected = filter == "all", variant = "ghost", onClick = "onFilterAll" }), - ui.button({ text = tr("panel.filter_images"), selected = filter == "images", variant = "ghost", onClick = "onFilterImages" }), - ui.button({ text = tr("panel.filter_videos"), selected = filter == "videos", variant = "ghost", onClick = "onFilterVideos" }), - ui.spacer({ flexGrow = 1 }), - ui.button({ - glyph = "arrow-up", - text = tr("panel.up"), - variant = "ghost", - visible = currentDirectory ~= nil, - onClick = "onNavigateUp", - }), - }), - } - - local folders = folderStrip(directories) - if folders then table.insert(children, folders) end - - if capabilities.checking then - table.insert(children, ui.label({ text = tr("panel.checking_dependencies"), color = "on_surface_variant" })) - elseif not capabilities.video then - table.insert(children, ui.column({ - gap = 3, - padding = 9, - radius = 8, - fill = "error/0.10", - border = "error/0.45", - borderWidth = 1, - }, { - ui.label({ text = tr("panel.video_unavailable"), color = "error", fontWeight = "bold" }), - ui.label({ text = tostring(capabilities.error or ""), fontSize = 11, color = "on_surface_variant" }), - })) - end - - if scanError and total > 0 then - table.insert(children, ui.label({ - text = tr("panel.directory_unreadable") .. ": " .. scanError, - color = "error", - maxLines = 2, - })) - end - local active = activeStrip(connectors) - if active then table.insert(children, active) end - local result = resultBanner() - if result then table.insert(children, result) end - - if scanning then - local consumed = tonumber(libraryStatus.consumed_bytes) or 0 - local bytes = tonumber(libraryStatus.bytes) or 0 - table.insert(children, loadingState(tr("panel.scanning"), bytes > 0 and math.min(1, consumed / bytes) or 0)) - elseif scanError and total == 0 then - table.insert(children, ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 8 }, { - ui.glyph({ name = "alert-circle", size = 32, color = "error" }), - ui.label({ text = tr("panel.directory_unreadable"), color = "error", fontWeight = "bold" }), - ui.label({ text = scanError, color = "on_surface_variant", maxLines = 2 }), - })) - elseif indexBuilding then - table.insert(children, loadingState(tr("panel.preparing_library"), indexProgress)) - elseif viewBuilding then - table.insert(children, loadingState(tr("panel.preparing_library"), viewProgress)) - elseif gridBuilding then - table.insert(children, loadingState(tr("panel.preparing_library"), gridProgress)) - elseif total == 0 then - table.insert(children, ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 8 }, { - ui.glyph({ name = "photo-off", size = 36, color = "outline" }), - ui.label({ - text = search ~= "" and tr("panel.no_search_results") or tr("panel.directory_empty"), - color = "on_surface_variant", - }), - })) - else - table.insert(children, ui.scroll({ - key = "media:" .. filter .. ":" .. tostring(currentDirectory or "") .. ":" .. tostring(page) .. ":" .. search, - gap = 10, - flexGrow = 1, - align = "stretch", - }, gridRows or {})) - end - - if libraryStatus.phase == "thumbnails" and (libraryStatus.thumbnails_total or 0) > 0 then - local done = tonumber(libraryStatus.thumbnails_done) or 0 - local thumbnails = tonumber(libraryStatus.thumbnails_total) or 0 - table.insert(children, ui.column({ gap = 4 }, { - ui.label({ - text = tr("panel.generating_previews", { count = done, total = thumbnails }), - color = "on_surface_variant", - fontSize = 11, - }), - ui.progress({ - height = 3, - progress = thumbnails > 0 and math.min(1, done / thumbnails) or 0, - fill = "primary", - track = "surface_variant", - radius = 2, - }), - })) - end - - table.insert(children, ui.row({ align = "center", gap = 8 }, { - ui.label({ text = tr("panel.media_count", { count = total }), color = "on_surface_variant", fontSize = 11, flexGrow = 1 }), - ui.button({ glyph = "chevron-left", variant = "ghost", enabled = page > 1, onClick = "onPreviousPage" }), - ui.label({ text = tr("panel.page", { page = page, pages = pages }), fontSize = 11 }), - ui.button({ glyph = "chevron-right", variant = "ghost", enabled = page < pages, onClick = "onNextPage" }), - })) - panel.render(ui.column({ padding = 16, gap = 10, flexGrow = 1 }, children)) -end - -function onOpen(_context) - outputs = noctalia.state.get("outputs") or noctalia.outputs() or {} - assignments = noctalia.state.get("assignments") or {} - runtime = noctalia.state.get("runtime") or {} - capabilities = noctalia.state.get("capabilities") or capabilities - libraryStatus = noctalia.state.get("library_status") or libraryStatus - scanError = libraryStatus.error - scanning = libraryStatus.phase == "scanning" - loadLibrary(noctalia.state.get("library") or library) - render() -end - -function onCloseClicked() - panel.close() -end - -function onOpenSettings() - noctalia.openSettings() -end - -function onSearchChanged(value) - search = tostring(value or "") - page = 1 - invalidateView() - render() -end - -local function setFilter(value) - filter = value - currentDirectory = nil - currentRoot = nil - page = 1 - invalidateView() - render() -end - -function onFilterAll() setFilter("all") end -function onFilterImages() setFilter("images") end -function onFilterVideos() setFilter("videos") end - -function onOutputChanged(index, _label) - selectedOutput = index == 0 and "*" or outputOptions[index + 1] or "*" - invalidateGrid() - render() -end - -function onNavigateUp() navigateUp() end - -function onPreviousPage() - page = math.max(1, page - 1) - invalidateGrid() - render() -end - -function onNextPage() - page = page + 1 - invalidateGrid() - render() -end - -function onFolderChanged(index, _label) - if index > 0 and folderEntries[index] then - navigateDirectory(folderEntries[index]) - end -end - -function onFrameTick(deltaMs) - if not scanning and not indexBuilding and not viewBuilding and not gridBuilding then - panel.setNeedsFrameTick(false) - return - end - loadingElapsed = loadingElapsed + (tonumber(deltaMs) or 0) - if loadingElapsed >= 100 then - loadingElapsed = loadingElapsed - 100 - loadingPulse = (loadingPulse + 0.08) % 1 - render() - end -end - -noctalia.state.watch("assignments", function(value) - assignments = type(value) == "table" and value or {} - invalidateGrid() - render() -end) -noctalia.state.watch("runtime", function(value) - runtime = type(value) == "table" and value or {} - render() -end) -noctalia.state.watch("capabilities", function(value) - capabilities = type(value) == "table" and value or capabilities - invalidateGrid() - render() -end) -noctalia.state.watch("outputs", function(value) - outputs = type(value) == "table" and value or {} - invalidateGrid() - render() -end) -noctalia.state.watch("command_result", function(value) - commandResult = value - invalidateGrid() - render() -end) -noctalia.state.watch("library", function(value) - if loadLibrary(value) then - scanError = libraryStatus.error - render() - end -end) -noctalia.state.watch("library_status", function(value) - local previousPhase = libraryStatus.phase - libraryStatus = type(value) == "table" and value or libraryStatus - scanError = libraryStatus.error - scanning = libraryStatus.phase == "scanning" - if libraryStatus.phase == "ready" and previousPhase ~= "ready" then - invalidateGrid() - end - render() -end) - -return { - classifyName = classifyName, - safeChild = safeChild, - sortEntries = sortEntries, - fnv1a32 = fnv1a32, - assignmentMatchCount = assignmentMatchCount, - mixedCounts = mixedCounts, - videoPlaybackAction = videoPlaybackAction, - partitionEntries = partitionEntries, - paginate = paginate, - pageSize = PAGE_SIZE, -} diff --git a/gslapper/plugin.toml b/gslapper/plugin.toml deleted file mode 100644 index d456088..0000000 --- a/gslapper/plugin.toml +++ /dev/null @@ -1,111 +0,0 @@ -id = "nomadcxx/gslapper" -name = "gSlapper Wallpaper" -version = "0.1.1" -plugin_api = 19 -author = "Nomadcxx" -license = "MIT" -dependencies = ["find", "gslapper", "gst-launch-1.0", "pkill", "socat"] -tags = ["bar", "panel", "service", "video", "wallpaper"] -icon = "wallpaper-selector" -description = "Choose an image or video wallpaper for each output." - -[[setting]] -key = "video_directory" -type = "folder" -label_key = "settings.video_directory.label" -description_key = "settings.video_directory.description" -default = "~/Videos/Wallpapers" - -[[setting]] -key = "scale" -type = "select" -label_key = "settings.scale.label" -description_key = "settings.scale.description" -default = "fill" -options = [ - { value = "fill", label_key = "settings.scale.options.fill" }, - { value = "stretch", label_key = "settings.scale.options.stretch" }, - { value = "original", label_key = "settings.scale.options.original" }, - { value = "panscan", label_key = "settings.scale.options.panscan" }, -] - -[[setting]] -key = "hidden_behavior" -type = "select" -label_key = "settings.hidden_behavior.label" -description_key = "settings.hidden_behavior.description" -default = "none" -options = [ - { value = "none", label_key = "settings.hidden_behavior.options.none" }, - { value = "auto-pause", label_key = "settings.hidden_behavior.options.auto_pause" }, - { value = "auto-stop", label_key = "settings.hidden_behavior.options.auto_stop" }, -] - -[[setting]] -key = "loop" -type = "bool" -label_key = "settings.loop.label" -description_key = "settings.loop.description" -default = true - -[[setting]] -key = "fps_cap" -type = "select" -label_key = "settings.fps_cap.label" -description_key = "settings.fps_cap.description" -default = "30" -options = [ - { value = "30", label_key = "settings.fps_cap.options.fps_30" }, - { value = "60", label_key = "settings.fps_cap.options.fps_60" }, - { value = "100", label_key = "settings.fps_cap.options.fps_100" }, -] - -[[setting]] -key = "fade" -type = "bool" -label_key = "settings.fade.label" -description_key = "settings.fade.description" -default = false - -[[setting]] -key = "fade_duration" -type = "double" -label_key = "settings.fade_duration.label" -description_key = "settings.fade_duration.description" -default = 0.5 -min = 0.1 -max = 5.0 -step = 0.1 -visible_when = { key = "fade", values = ["true"] } - -[[setting]] -key = "gst_options" -type = "string" -label_key = "settings.gst_options.label" -description_key = "settings.gst_options.description" -default = "" -advanced = true - -[[setting]] -key = "glyph" -type = "glyph" -label_key = "settings.glyph.label" -description_key = "settings.glyph.description" -default = "wallpaper-selector" - -[[service]] -id = "service" -entry = "service.luau" - -[[panel]] -id = "picker" -entry = "panel.luau" -width = 980 -height = 1100 -placement = "attached" -position = "auto" -keyboard_focus = "exclusive" - -[[widget]] -id = "wallpaper" -entry = "widget.luau" diff --git a/gslapper/service.luau b/gslapper/service.luau deleted file mode 100644 index d04ba4f..0000000 --- a/gslapper/service.luau +++ /dev/null @@ -1,1699 +0,0 @@ ---!nonstrict - -local assignments = {} -local runtime = {} -local generations = {} -local pending = {} -local capabilities = { video = false, checking = true } -local previousConnectors = {} -local lastHandledNonce = 0 -local commandBatches = {} -local activeRequests = {} -local restartSettingsSignature = "" -local NOTIFICATION_TITLE = "gSlapper" -local IMAGE_EXTENSIONS = { jpg = true, jpeg = true, png = true, webp = true, jxl = true, bmp = true } -local VIDEO_EXTENSIONS = { mp4 = true, mkv = true, webm = true, mov = true, avi = true, m4v = true, gif = true } -local LIBRARY_BATCH_SIZE = 6 -local THUMBNAIL_LIMIT = 2 -local libraryGeneration = 0 -local libraryVersion = 0 -local libraryTasks = {} -local librarySources = {} -local libraryErrors = {} -local libraryProcessed = 0 -local libraryBytes = 0 -local libraryConsumedBytes = 0 -local libraryInvalidUtf8 = 0 -local thumbnailQueue = {} -local thumbnailActive = 0 -local thumbnailReady = 0 -local thumbnailDone = 0 -local thumbnailTotal = 0 -local thumbnailsAvailable = false -local libraryRootSignature = "" - -local REQUIRED_FLAGS = { - "--fork", - "--ipc-socket", - "--no-save-state", - "--auto-pause", - "--auto-stop", - "--fps-cap", - "--gst-options", - "--transition-type", - "--transition-duration", -} - -local VIDEO_CHANGE_RESTART_ERROR = "ERROR: cannot update path (use --auto-stop for video changes)" - -local function copyTable(value) - local result = {} - for key, item in pairs(value or {}) do - result[key] = item - end - return result -end - -local function copyList(values) - local result = {} - for index, value in ipairs(values or {}) do - result[index] = value - end - return result -end - -local function validateShellValue(value) - if type(value) ~= "string" or value:find("[\n\r%z]") then - return nil, "value contains a forbidden control character" - end - return value -end - -local function shellQuote(value) - local valid, message = validateShellValue(value) - if not valid then - return nil, message - end - return "'" .. value:gsub("'", "'\\''") .. "'" -end - -local function trimTrailingSlash(path) - if type(path) ~= "string" then - return nil - end - path = path:gsub("/+$", "") - return path == "" and "/" or path -end - -local function mediaRoots() - local image = trimTrailingSlash(noctalia.wallpaperDirectory()) - local configured = noctalia.getConfig("video_directory") - local video = trimTrailingSlash(type(configured) == "string" and noctalia.expandPath(configured) or nil) - return image, video -end - -local function validMediaRoot(path) - return type(path) == "string" and path:sub(1, 1) == "/" and validateShellValue(path) -end - -local function classifyMedia(name) - if type(name) ~= "string" then - return nil - end - local extension = name:match("%.([^./]+)$") - extension = extension and extension:lower() or nil - if extension == "gif" then - return "video" - elseif extension and IMAGE_EXTENSIONS[extension] then - return "image" - elseif extension and VIDEO_EXTENSIONS[extension] then - return "video" - end - return nil -end - -local function fnv1a32(value) - -- ponytail: 32-bit FNV keeps cache names short; use a wider digest if a real collision appears. - local hash = 2166136261 - for index = 1, #value do - hash = bit32.bxor(hash, value:byte(index)) - local low = (hash % 65536) * 16777619 - local high = (math.floor(hash / 65536) * 16777619) % 65536 - hash = (low + high * 65536) % 4294967296 - end - return string.format("%08x", hash) -end - -local function thumbnailPath(path, size, mtime) - local directory = noctalia.pluginDataDir() - if not directory then - return nil - end - return directory .. "/thumb-" .. fnv1a32("v3:" .. path .. ":" .. tostring(size) .. ":" .. tostring(mtime)) .. ".jpg" -end - -local function publishLibraryStatus(phase, errorMessage) - noctalia.state.set("library_status", { - phase = phase, - generation = libraryGeneration, - version = libraryVersion, - processed = libraryProcessed, - bytes = libraryBytes, - consumed_bytes = libraryConsumedBytes, - skipped_invalid_utf8 = libraryInvalidUtf8, - thumbnails_ready = thumbnailReady, - thumbnails_done = thumbnailDone, - thumbnails_total = thumbnailTotal, - error = errorMessage, - }) -end - -local function nextNulField(raw, offset) - local boundary = raw:find("\0", offset, true) - if not boundary then - return nil, offset - end - return raw:sub(offset, boundary - 1), boundary + 1 -end - -local function isWithinRoot(path, root) - return path == root or path:sub(1, #root + 1) == root .. "/" -end - -local function acceptsMedia(rootKind, kind, name) - if rootKind == "mixed" or rootKind == "video" then - return rootKind == "mixed" or kind == "video" - end - return kind == "image" or name:lower():match("%.gif$") ~= nil -end - -local startThumbnailJobs -local function finishLibraryIndex(generation) - if generation ~= libraryGeneration then - return - end - libraryVersion = libraryVersion + 1 - local imageRoot, videoRoot = mediaRoots() - noctalia.state.set("library", { - version = libraryVersion, - roots = { image = imageRoot, video = videoRoot }, - sources = librarySources, - }) - thumbnailTotal = thumbnailReady + #thumbnailQueue - thumbnailDone = thumbnailReady - if thumbnailTotal == thumbnailReady then - publishLibraryStatus("ready", #libraryErrors > 0 and table.concat(libraryErrors, "; ") or nil) - else - publishLibraryStatus("thumbnails", #libraryErrors > 0 and table.concat(libraryErrors, "; ") or nil) - startThumbnailJobs(generation) - end -end - -local scheduleLibraryBatch -local function processLibraryBatch(generation) - if generation ~= libraryGeneration then - return - end - local remaining = LIBRARY_BATCH_SIZE - while remaining > 0 and #libraryTasks > 0 do - local task = libraryTasks[1] - local previousOffset = task.offset - local fileType - fileType, task.offset = nextNulField(task.raw, task.offset) - if not fileType then - table.remove(libraryTasks, 1) - else - local size - local mtime - local path - size, task.offset = nextNulField(task.raw, task.offset) - mtime, task.offset = nextNulField(task.raw, task.offset) - path, task.offset = nextNulField(task.raw, task.offset) - libraryConsumedBytes = libraryConsumedBytes + task.offset - previousOffset - remaining = remaining - 1 - libraryProcessed = libraryProcessed + 1 - if path and utf8.len(path) == nil then - libraryInvalidUtf8 = libraryInvalidUtf8 + 1 - elseif path and validateShellValue(path) and isWithinRoot(path, task.root) then - local name = path:match("([^/]+)$") - if fileType == "f" then - local kind = classifyMedia(name) - if kind and acceptsMedia(task.rootKind, kind, name) then - local numericSize = tonumber(size) or 0 - local numericMtime = tonumber(mtime) or 0 - local thumbnail = thumbnailPath(path, numericSize, numericMtime) - local entry = { path = path, thumbnail = thumbnail } - if thumbnail and noctalia.fileExists(thumbnail) then - thumbnailReady = thumbnailReady + 1 - elseif thumbnail and thumbnailsAvailable then - table.insert(thumbnailQueue, entry) - end - end - end - end - end - end - if #libraryTasks == 0 then - finishLibraryIndex(generation) - else - publishLibraryStatus("scanning") - scheduleLibraryBatch(generation) - end -end - -scheduleLibraryBatch = function(generation) - local started = noctalia.runAsync(":", function() - processLibraryBatch(generation) - end, 2000) - if not started and generation == libraryGeneration then - publishLibraryStatus("error", "Noctalia command capacity is busy") - end -end - -startThumbnailJobs = function(generation) - while generation == libraryGeneration and thumbnailActive < THUMBNAIL_LIMIT and #thumbnailQueue > 0 do - local entry = table.remove(thumbnailQueue, 1) - thumbnailActive = thumbnailActive + 1 - local temporary = entry.thumbnail .. ".tmp-" .. tostring(generation) - local command = "gst-launch-1.0 -q filesrc location=" .. shellQuote(entry.path) - .. " ! decodebin ! videoconvert ! videoscale" - .. " ! video/x-raw,width=224,height=126,pixel-aspect-ratio=1/1" - .. " ! jpegenc quality=80 snapshot=true ! filesink location=" .. shellQuote(temporary) - local started = noctalia.runAsync(command, function(result) - if generation ~= libraryGeneration then - noctalia.removeFile(temporary) - return - end - thumbnailActive = thumbnailActive - 1 - if result.exitCode == 0 and noctalia.fileExists(temporary) - and noctalia.renameFile(temporary, entry.thumbnail) then - thumbnailReady = thumbnailReady + 1 - else - noctalia.removeFile(temporary) - end - thumbnailDone = thumbnailDone + 1 - if #thumbnailQueue == 0 and thumbnailActive == 0 then - publishLibraryStatus("ready", #libraryErrors > 0 and table.concat(libraryErrors, "; ") or nil) - elseif thumbnailDone % 8 == 0 then - publishLibraryStatus("thumbnails", #libraryErrors > 0 and table.concat(libraryErrors, "; ") or nil) - end - startThumbnailJobs(generation) - end, 15000) - if not started then - thumbnailActive = thumbnailActive - 1 - thumbnailDone = thumbnailDone + 1 - if #thumbnailQueue == 0 and thumbnailActive == 0 then - publishLibraryStatus("ready", "could not start thumbnail generation") - end - end - end -end - -local function startLibraryIndex() - local imageRoot, videoRoot = mediaRoots() - local signature = tostring(imageRoot or "") .. "\0" .. tostring(videoRoot or "") - libraryRootSignature = signature - libraryGeneration = libraryGeneration + 1 - local generation = libraryGeneration - libraryTasks = {} - librarySources = {} - libraryErrors = {} - libraryProcessed = 0 - libraryBytes = 0 - libraryConsumedBytes = 0 - libraryInvalidUtf8 = 0 - thumbnailQueue = {} - thumbnailActive = 0 - thumbnailReady = 0 - thumbnailDone = 0 - thumbnailTotal = 0 - thumbnailsAvailable = noctalia.commandExists("gst-launch-1.0") - publishLibraryStatus("scanning") - - local roots = {} - if imageRoot and videoRoot == imageRoot then - if validMediaRoot(imageRoot) then - table.insert(roots, { root = imageRoot, rootKind = "mixed" }) - else - table.insert(libraryErrors, "Wallpaper directory must be an absolute path without control characters") - end - else - if imageRoot then - if validMediaRoot(imageRoot) then - table.insert(roots, { root = imageRoot, rootKind = "image" }) - else - table.insert(libraryErrors, "Wallpaper directory must be an absolute path without control characters") - end - end - if videoRoot then - if validMediaRoot(videoRoot) then - table.insert(roots, { root = videoRoot, rootKind = "video" }) - else - table.insert(libraryErrors, "Video directory must be an absolute path without control characters") - end - end - end - if #roots == 0 then - publishLibraryStatus("error", #libraryErrors > 0 and table.concat(libraryErrors, "; ") - or "No wallpaper directories are configured") - return - end - - local pendingRoots = #roots - for _, root in ipairs(roots) do - local quoted = shellQuote(root.root) - local command = "find -P " .. quoted .. " -mindepth 1 -printf '%y\\0%s\\0%T@\\0%p\\0'" - local started = noctalia.runAsync(command, function(result) - if generation ~= libraryGeneration then - return - end - pendingRoots = pendingRoots - 1 - if result.exitCode == 0 then - local raw = result.stdout or "" - local indexPath = noctalia.pluginDataDir() .. "/library-" .. root.rootKind .. ".index" - noctalia.writeFile(indexPath, raw) - libraryBytes = libraryBytes + #raw - table.insert(librarySources, { - root = root.root, - rootKind = root.rootKind, - path = indexPath, - }) - table.insert(libraryTasks, { - root = root.root, - rootKind = root.rootKind, - raw = raw, - offset = 1, - }) - else - table.insert(libraryErrors, result.stderr ~= "" and result.stderr or (root.root .. " is unreadable")) - end - if pendingRoots == 0 then - scheduleLibraryBatch(generation) - end - end, 30000) - if not started then - pendingRoots = pendingRoots - 1 - table.insert(libraryErrors, "could not scan " .. root.root) - end - end - if pendingRoots == 0 then - scheduleLibraryBatch(generation) - end -end - -local function runtimeDirectory() - local base = noctalia.getenv("XDG_RUNTIME_DIR") - if not validateShellValue(base) or base == "" or base:sub(1, 1) ~= "/" then - return nil, "XDG_RUNTIME_DIR is unavailable" - end - return base .. "/noctalia-gslapper" -end - -local function socketPathFor(connector, directory) - if type(connector) ~= "string" or connector == "" or type(directory) ~= "string" then - return nil - end - local safeConnector = connector:gsub("[^A-Za-z0-9_.-]", "_") - return directory .. "/" .. safeConnector .. ".sock" -end - -local function isOwnedSocket(path, directory) - if type(path) ~= "string" or type(directory) ~= "string" then - return false - end - local prefix = directory .. "/" - if path:sub(1, #prefix) ~= prefix then - return false - end - local filename = path:sub(#prefix + 1) - return filename ~= "" and not filename:find("/", 1, true) and filename:match("^[A-Za-z0-9_.-]+%.sock$") ~= nil -end - -local function processMatchNeedles(socketPath) - return { "gslapper", "--ipc-socket", socketPath } -end - -local function hiddenFlags(behavior) - if behavior == "auto-pause" then - return { "--auto-pause" } - elseif behavior == "auto-stop" then - return { "--auto-stop" } - end - return {} -end - -local function trim(value) - return (value:gsub("^%s+", ""):gsub("%s+$", "")) -end - -local function parseIpcResponse(command, raw) - raw = trim(raw or "") - if command == "query" then - local status, kind, path = raw:match("^STATUS: (%S+) (%S+) (.+)$") - if (status == "playing" or status == "paused") and (kind == "image" or kind == "video") then - return { ok = true, status = status, kind = kind, path = path, raw = raw } - end - elseif raw == "OK" or raw:sub(1, 4) == "OK: " then - return { ok = true, raw = raw } - elseif command == "change" and raw == VIDEO_CHANGE_RESTART_ERROR then - return { ok = false, restart = true, error = raw, raw = raw } - end - - return { ok = false, error = raw ~= "" and raw or "gSlapper returned no response", raw = raw } -end - -local COMMAND_ACTIONS = { - ["assign-image"] = true, - ["assign-video"] = true, - ["pause"] = true, - ["resume"] = true, - ["restore"] = true, - ["restore-all"] = true, - ["self-test"] = true, -} - -local function validateCommand(command) - if type(command) ~= "table" or type(command.nonce) ~= "number" or command.nonce % 1 ~= 0 then - return false, "command nonce must be an integer" - end - if not COMMAND_ACTIONS[command.action] then - return false, "unknown command action" - end - if type(command.target) ~= "string" or command.target == "" then - return false, "command target is required" - end - if command.action == "assign-image" or command.action == "assign-video" then - if type(command.path) ~= "string" or command.path:sub(1, 1) ~= "/" or command.path == "/" - or not validateShellValue(command.path) then - return false, "assignment path must be absolute" - end - end - return true -end - -local function summarizeResults(results) - local summary = { total = 0, successful = 0, failed = 0, pending = 0 } - for _, result in pairs(results or {}) do - summary.total = summary.total + 1 - if result.pending then - summary.pending = summary.pending + 1 - elseif result.ok then - summary.successful = summary.successful + 1 - else - summary.failed = summary.failed + 1 - end - end - return summary -end - -local function targetsFor(target, connectors) - if target ~= "*" then - return { target } - end - - local targets = copyList(connectors) - table.sort(targets) - return targets -end - -local function commandTargets(action, target, connectors, durable) - local targets = targetsFor(target, connectors) - if (action ~= "pause" and action ~= "resume") or target ~= "*" then - return targets - end - local videos = {} - for _, connector in ipairs(targets) do - if durable[connector] and durable[connector].kind == "video" then - table.insert(videos, connector) - end - end - return videos -end - -local function detectedConnectors() - local connectors = {} - for _, output in ipairs(noctalia.outputs()) do - if type(output.name) == "string" and output.name ~= "" then - table.insert(connectors, output.name) - end - end - table.sort(connectors) - return connectors -end - -local function connectorDetected(connector) - if type(connector) ~= "string" or connector == "" then - return false - end - for _, detected in ipairs(detectedConnectors()) do - if connector == detected then - return true - end - end - return false -end - -local function connectorBusy(connector) - return pending[connector] ~= nil or (runtime[connector] and runtime[connector].status == "starting") -end - -local function nextGeneration(connector, store) - store = store or generations - store[connector] = (store[connector] or 0) + 1 - return store[connector] -end - -local function isCurrent(connector, generation, store) - store = store or generations - return store[connector] == generation -end - -local function generationGuardedSet(store, generationStore, connector, generation, value) - if not isCurrent(connector, generation, generationStore) then - return false - end - store[connector] = value - return true -end - -local function connectorSet(connectors) - local result = {} - for _, connector in ipairs(connectors) do - result[connector] = true - end - return result -end - -local function ownedConnectors(durable, liveState) - local seen = {} - local connectors = {} - for connector in pairs(durable or {}) do - seen[connector] = true - table.insert(connectors, connector) - end - for connector in pairs(liveState or {}) do - if not seen[connector] then - table.insert(connectors, connector) - end - end - table.sort(connectors) - return connectors -end - -local function reconcileOutputs(previousConnectors, currentConnectors, durable, live) - local previous = connectorSet(previousConnectors) - local current = connectorSet(currentConnectors) - local stops = {} - local restores = {} - - for connector in pairs(previous) do - if not current[connector] then - live[connector] = nil - table.insert(stops, connector) - end - end - - for connector in pairs(current) do - local assignment = durable[connector] - if not previous[connector] and assignment and assignment.kind == "video" then - table.insert(restores, connector) - end - end - - table.sort(stops) - table.sort(restores) - return stops, restores -end - -local function applyAssignmentBatch(target, connectors, assignment, durable, apply) - local results = {} - for _, connector in ipairs(targetsFor(target, connectors)) do - local ok, message = apply(connector, assignment) - results[connector] = { ok = ok, error = ok and nil or message } - if ok then - durable[connector] = copyTable(assignment) - end - end - return results -end - -local function validAbsolutePath(path) - return type(path) == "string" and path:sub(1, 1) == "/" and path ~= "/" -end - -local function validateAssignment(connector, record) - if type(connector) ~= "string" or connector == "" or type(record) ~= "table" then - return nil - end - if record.kind ~= "image" and record.kind ~= "video" then - return nil - end - if not validAbsolutePath(record.path) then - return nil - end - if record.desired_playback ~= "playing" and record.desired_playback ~= "paused" then - return nil - end - if record.preview_path ~= nil and not validAbsolutePath(record.preview_path) then - return nil - end - - return { - kind = record.kind, - path = record.path, - preview_path = record.preview_path, - desired_playback = record.desired_playback, - } -end - -local function assignmentsPath() - local directory = noctalia.pluginDataDir() - if not directory then - return nil - end - return directory .. "/assignments.json" -end - -local function loadAssignments() - local path = assignmentsPath() - if not path then - return {} - end - - local contents = noctalia.readFile(path) - if not contents then - return {} - end - - local decoded, decodeError = noctalia.json.decode(contents) - if type(decoded) ~= "table" or type(decoded.assignments) ~= "table" then - noctalia.log("Ignoring invalid assignments file: " .. tostring(decodeError or "invalid shape")) - return {} - end - - local loaded = {} - for connector, record in pairs(decoded.assignments) do - local valid = validateAssignment(connector, record) - if valid then - loaded[connector] = valid - end - end - return loaded -end - -local function saveAssignments() - local path = assignmentsPath() - if not path then - return false, "plugin data directory is unavailable" - end - - -- ponytail: assignments are rewritten as one small JSON object; split storage - -- only if real configurations make write size measurable. - local encoded, encodeError = noctalia.json.encode({ version = 1, assignments = assignments }, true) - if not encoded then - return false, encodeError or "could not encode assignments" - end - - local temporaryPath = path .. ".tmp" - local written, writeError = noctalia.writeFile(temporaryPath, encoded) - if not written then - return false, writeError or "could not write assignments" - end - - local renamed, renameError = noctalia.renameFile(temporaryPath, path) - if not renamed then - noctalia.removeFile(temporaryPath) - return false, renameError or "could not replace assignments" - end - return true -end - -local function publishRuntime() - noctalia.state.set("runtime", runtime) -end - -local function publishAssignments() - noctalia.state.set("assignments", assignments) -end - -local function publishBatch(batch) - local record = { - nonce = batch.nonce, - action = batch.action, - results = batch.results, - summary = summarizeResults(batch.results), - } - noctalia.state.set("command_result", record) -end - -local function completeRequest(connector, ok, message) - local request = activeRequests[connector] - if not request then - return - end - activeRequests[connector] = nil - local batch = commandBatches[request.nonce] - if not batch then - return - end - batch.results[connector] = { ok = ok, error = ok and nil or message } - publishBatch(batch) - if summarizeResults(batch.results).pending == 0 then - commandBatches[request.nonce] = nil - end -end - -local function setPending(connector, operation) - pending[connector] = operation - noctalia.setUpdateInterval(100) -end - -local function clearPending(connector, operation) - if operation == nil or pending[connector] == operation then - pending[connector] = nil - end - if next(pending) == nil then - noctalia.setUpdateInterval(1000) - end -end - -local function validateMediaPath(path) - local valid, message = validateShellValue(path) - if not valid or path:sub(1, 1) ~= "/" or path == "/" then - return nil, message or "media path must be absolute" - end - local info, infoError = noctalia.fileInfo(path) - if not info or info.isDir then - return nil, infoError or "media path is not a file" - end - return path -end - -local function ipcCommand(socketPath, command, callback) - if not isOwnedSocket(socketPath, runtimeDirectory()) then - callback({ ok = false, error = "refusing IPC outside the plugin runtime directory" }) - return false - end - if not validateShellValue(command) then - callback({ ok = false, error = "IPC command contains a forbidden control character" }) - return false - end - - local quotedCommand = shellQuote(command) - local quotedSocket = shellQuote(socketPath) - local shellCommand = "printf '%s\\n' " .. quotedCommand .. " | socat -T 2 - UNIX-CONNECT:" .. quotedSocket - local started = noctalia.runAsync(shellCommand, function(result) - if result.exitCode ~= 0 then - callback({ - ok = false, - error = trim(result.stderr ~= "" and result.stderr or "gSlapper IPC failed"), - notConnectable = not result.timedOut, - raw = result.stdout, - }) - return - end - callback(parseIpcResponse(command:match("^(%S+)") or command, result.stdout)) - end, 2000) - if not started then - callback({ ok = false, retryable = true, error = "Noctalia command capacity is busy" }) - end - return started -end - -local function normalizedSettings() - local scale = noctalia.getConfig("scale") - if scale ~= "fill" and scale ~= "stretch" and scale ~= "original" and scale ~= "panscan" then - scale = "fill" - end - if scale == "panscan" then - scale = "panscan=1.0" - end - - local hidden = noctalia.getConfig("hidden_behavior") - if hidden ~= "none" and hidden ~= "auto-pause" and hidden ~= "auto-stop" then - hidden = "none" - end - - local fps = tostring(noctalia.getConfig("fps_cap") or "30") - if fps ~= "30" and fps ~= "60" and fps ~= "100" then - fps = "30" - end - - local duration = tonumber(noctalia.getConfig("fade_duration")) or 0.5 - duration = math.max(0.1, math.min(5.0, duration)) - - return { - scale = scale, - hidden = hidden, - loop = noctalia.getConfig("loop") ~= false, - fps = fps, - fade = noctalia.getConfig("fade") == true, - fadeDuration = duration, - gstOptions = tostring(noctalia.getConfig("gst_options") or ""), - } -end - -local function buildLaunchCommand(connector, path, socketPath) - local directory = runtimeDirectory() - if not directory or not isOwnedSocket(socketPath, directory) then - return nil, "invalid plugin socket path" - end - - local settings = normalizedSettings() - if not validateShellValue(settings.gstOptions) then - return nil, "GStreamer options contain a forbidden control character" - end - - local gst = settings.scale .. " no-audio" - if settings.loop then - gst = gst .. " loop" - end - if settings.gstOptions ~= "" then - gst = gst .. " " .. settings.gstOptions - end - - local arguments = { - "gslapper", - "--fork", - "--ipc-socket", - socketPath, - "--no-save-state", - } - for _, flag in ipairs(hiddenFlags(settings.hidden)) do - table.insert(arguments, flag) - end - table.insert(arguments, "--gst-options") - table.insert(arguments, gst) - table.insert(arguments, "--fps-cap") - table.insert(arguments, settings.fps) - table.insert(arguments, "--transition-type") - table.insert(arguments, settings.fade and "fade" or "none") - table.insert(arguments, "--transition-duration") - table.insert(arguments, tostring(settings.fadeDuration)) - table.insert(arguments, connector) - table.insert(arguments, path) - - local quoted = {} - for index, argument in ipairs(arguments) do - local value, message = shellQuote(argument) - if not value then - return nil, message - end - quoted[index] = value - end - return table.concat(quoted, " ") -end - -local function setConnectorError(connector, generation, message) - if not isCurrent(connector, generation) then - return - end - clearPending(connector) - runtime[connector] = { status = "error", error = message } - noctalia.setWallpaperEnabled(connector, true) - publishRuntime() - completeRequest(connector, false, message) -end - -local function setLiveError(connector, generation, message) - if not isCurrent(connector, generation) then - return - end - clearPending(connector) - local live = runtime[connector] or {} - runtime[connector] = { - status = "error", - error = message, - socket_path = live.socket_path, - } - publishRuntime() - completeRequest(connector, false, message) -end - -local stopOwned - -local function commitVideo(connector, generation, assignment, query) - if not isCurrent(connector, generation) then - return - end - if not query.ok or query.kind ~= "video" or query.path ~= assignment.path then - setConnectorError(connector, generation, query.error or "gSlapper reported unexpected media") - return - end - if assignment.desired_playback == "paused" and query.status ~= "paused" then - local live = runtime[connector] - ipcCommand(live.socket_path, "pause", function(paused) - if not isCurrent(connector, generation) then - return - end - if not paused.ok then - setConnectorError(connector, generation, paused.error) - return - end - ipcCommand(live.socket_path, "query", function(pausedQuery) - commitVideo(connector, generation, assignment, pausedQuery) - end) - end) - return - end - - local previous = assignments[connector] - assignments[connector] = copyTable(assignment) - local saved, saveError = saveAssignments() - if not saved then - assignments[connector] = previous - setConnectorError(connector, generation, saveError) - stopOwned(connector, generation) - return - end - - clearPending(connector) - noctalia.setWallpaperEnabled(connector, false) - runtime[connector] = { - status = query.status, - error = nil, - socket_path = runtime[connector] and runtime[connector].socket_path, - } - publishAssignments() - publishRuntime() - completeRequest(connector, true) -end - -local function awaitVideo(connector, generation, assignment, socketPath) - local operation = { - kind = "ready", - generation = generation, - assignment = assignment, - socketPath = socketPath, - deadline = noctalia.nowMs() + 5000, - inFlight = false, - } - setPending(connector, operation) -end - -local function launchVideo(connector, generation, assignment) - if not isCurrent(connector, generation) then - return - end - - local directory, directoryError = runtimeDirectory() - if not directory then - setConnectorError(connector, generation, directoryError) - return - end - local made, makeError = noctalia.mkdirAll(directory) - if not made then - setConnectorError(connector, generation, makeError or "could not create runtime directory") - return - end - - local socketPath = socketPathFor(connector, directory) - local command, commandError = buildLaunchCommand(connector, assignment.path, socketPath) - if not command then - setConnectorError(connector, generation, commandError) - return - end - - runtime[connector] = { status = "starting", socket_path = socketPath } - publishRuntime() - local started = noctalia.runAsync(command, function(result) - if not isCurrent(connector, generation) then - return - end - if result.exitCode ~= 0 then - setConnectorError(connector, generation, trim(result.stderr ~= "" and result.stderr or "gSlapper failed to start")) - return - end - awaitVideo(connector, generation, assignment, socketPath) - end, 5000) - if not started then - setConnectorError(connector, generation, "Noctalia command capacity is busy") - end -end - -local function regexEscape(value) - return (value:gsub("([^%w])", "%%%1")) -end - -local function processFallback(connector, generation, socketPath, after) - local directory = runtimeDirectory() - if not directory or not isOwnedSocket(socketPath, directory) then - setConnectorError(connector, generation, "refusing process fallback for an unowned socket") - return - end - local needles = processMatchNeedles(socketPath) - local started = noctalia.processMatches(function(matched) - if not isCurrent(connector, generation) then - return - end - if not matched then - if after then - after() - end - return - end - - local pattern = "[g]slapper.*--ipc-socket[ =]" .. regexEscape(socketPath) - local command = "pkill -TERM -f -- " .. shellQuote(pattern) - local killStarted = noctalia.runAsync(command, function() - if isCurrent(connector, generation) and after then - after() - end - end, 2000) - if not killStarted and after then - after() - end - end, needles[1], needles[2], needles[3]) - if not started and after then - after() - end -end - -stopOwned = function(connector, generation, after) - if not isCurrent(connector, generation) then - return - end - - local directory = runtimeDirectory() - local socketPath = directory and socketPathFor(connector, directory) - if not socketPath or not noctalia.fileExists(socketPath) then - if socketPath then - processFallback(connector, generation, socketPath, after) - elseif after then - after() - end - return - end - - ipcCommand(socketPath, "stop", function() - if not isCurrent(connector, generation) then - return - end - setPending(connector, { - kind = "stop", - generation = generation, - socketPath = socketPath, - deadline = noctalia.nowMs() + 2000, - after = after, - inFlight = false, - }) - end) -end - -local function changeVideo(connector, generation, assignment, socketPath) - ipcCommand(socketPath, "change " .. assignment.path, function(change) - if not isCurrent(connector, generation) then - return - end - if change.ok then - awaitVideo(connector, generation, assignment, socketPath) - elseif change.restart then - stopOwned(connector, generation, function() - launchVideo(connector, generation, assignment) - end) - else - setLiveError(connector, generation, change.error) - end - end) -end - -local function assignVideo(connector, path, previewPath, desiredPlayback) - if not connectorDetected(connector) then - return false, "output is not connected" - end - if connectorBusy(connector) then - return false, "output switch is already in progress" - end - local validPath, pathError = validateMediaPath(path) - if not validPath then - return false, pathError - end - if previewPath ~= nil and not validateMediaPath(previewPath) then - previewPath = nil - end - if not capabilities.video then - return false, capabilities.error or "video support is unavailable" - end - - local generation = nextGeneration(connector) - local assignment = { - kind = "video", - path = validPath, - preview_path = previewPath, - desired_playback = desiredPlayback == "paused" and "paused" or "playing", - } - if previewPath then - noctalia.setWallpaper(connector, previewPath) - end - - local directory = runtimeDirectory() - local socketPath = directory and socketPathFor(connector, directory) - if socketPath and noctalia.fileExists(socketPath) then - runtime[connector] = { status = "starting", socket_path = socketPath } - publishRuntime() - ipcCommand(socketPath, "query", function(query) - if not isCurrent(connector, generation) then - return - end - if query.ok and query.kind == "video" and query.path == assignment.path then - commitVideo(connector, generation, assignment, query) - elseif query.ok then - changeVideo(connector, generation, assignment, socketPath) - elseif query.notConnectable then - if isOwnedSocket(socketPath, directory) then - noctalia.removeFile(socketPath) - end - processFallback(connector, generation, socketPath, function() - launchVideo(connector, generation, assignment) - end) - else - setLiveError(connector, generation, query.error) - end - end) - else - if socketPath then - processFallback(connector, generation, socketPath, function() - launchVideo(connector, generation, assignment) - end) - else - launchVideo(connector, generation, assignment) - end - end - return true -end - -local function assignImage(connector, path) - if not connectorDetected(connector) then - return false, "output is not connected" - end - if connectorBusy(connector) then - return false, "output switch is already in progress" - end - local validPath, pathError = validateMediaPath(path) - if not validPath then - return false, pathError - end - - local generation = nextGeneration(connector) - local previous = assignments[connector] - noctalia.setWallpaper(connector, validPath) - assignments[connector] = { - kind = "image", - path = validPath, - desired_playback = "playing", - } - local saved, saveError = saveAssignments() - if not saved then - assignments[connector] = previous - return false, saveError - end - - noctalia.setWallpaperEnabled(connector, true) - runtime[connector] = { status = "static" } - publishAssignments() - publishRuntime() - stopOwned(connector, generation) - completeRequest(connector, true) - return true -end - -local function setPlayback(connector, desired) - local assignment = assignments[connector] - local live = runtime[connector] - if not assignment or assignment.kind ~= "video" or not live or not live.socket_path then - return false, "output has no active video" - end - if connectorBusy(connector) then - return false, "output switch is already in progress" - end - - local generation = nextGeneration(connector) - local previousDesired = assignment.desired_playback - live.status = "starting" - live.error = nil - publishRuntime() - ipcCommand(live.socket_path, desired == "paused" and "pause" or "resume", function(result) - if not isCurrent(connector, generation) or not result.ok then - if isCurrent(connector, generation) and not result.ok then - setLiveError(connector, generation, result.error) - end - return - end - ipcCommand(live.socket_path, "query", function(query) - if not isCurrent(connector, generation) then - return - end - if not query.ok or query.status ~= desired then - setLiveError(connector, generation, query.error or "playback state did not change") - return - end - assignment.desired_playback = desired - local saved, saveError = saveAssignments() - if not saved then - assignment.desired_playback = previousDesired - setLiveError(connector, generation, saveError) - return - end - runtime[connector].status = query.status - publishAssignments() - publishRuntime() - completeRequest(connector, true) - end) - end) - return true -end - -local function restoreConnector(connector) - if not connectorDetected(connector) then - return false, "output is not connected" - end - if connectorBusy(connector) then - return false, "output switch is already in progress" - end - - local generation = nextGeneration(connector) - local previous = assignments[connector] - assignments[connector] = nil - local saved, saveError = saveAssignments() - if not saved then - assignments[connector] = previous - return false, saveError - end - - noctalia.setWallpaperEnabled(connector, true) - runtime[connector] = { status = "static" } - publishAssignments() - publishRuntime() - stopOwned(connector, generation, function() - completeRequest(connector, true) - end) - return true -end - -local function restoreAssignment(connector) - local assignment = assignments[connector] - if not assignment then - return - end - if assignment.kind == "image" then - runtime[connector] = { status = "static" } - noctalia.setWallpaperEnabled(connector, true) - publishRuntime() - elseif capabilities.video then - assignVideo(connector, assignment.path, assignment.preview_path, assignment.desired_playback) - else - runtime[connector] = { status = "error", error = capabilities.error or "video support is unavailable" } - noctalia.setWallpaperEnabled(connector, true) - publishRuntime() - end -end - -local function restoreConnectedAssignments() - previousConnectors = detectedConnectors() - noctalia.state.set("outputs", previousConnectors) - for _, connector in ipairs(previousConnectors) do - restoreAssignment(connector) - end -end - -local function settingsSignature() - local settings = normalizedSettings() - return table.concat({ - settings.scale, - settings.hidden, - tostring(settings.loop), - settings.fps, - tostring(settings.fade), - tostring(settings.fadeDuration), - settings.gstOptions, - }, "\0") -end - -local function restartActiveVideos() - for _, connector in ipairs(detectedConnectors()) do - local assignment = assignments[connector] - local live = runtime[connector] - if assignment and assignment.kind == "video" and live and not connectorBusy(connector) then - local generation = nextGeneration(connector) - live.status = "starting" - live.error = nil - publishRuntime() - stopOwned(connector, generation, function() - launchVideo(connector, generation, copyTable(assignment)) - end) - end - end -end - -local function reconcileDetectedOutputs() - local current = detectedConnectors() - local stops, restores = reconcileOutputs(previousConnectors, current, assignments, runtime) - previousConnectors = current - noctalia.state.set("outputs", current) - - for _, connector in ipairs(stops) do - completeRequest(connector, false, "output disconnected") - local generation = nextGeneration(connector) - noctalia.setWallpaperEnabled(connector, true) - stopOwned(connector, generation) - end - for _, connector in ipairs(restores) do - restoreAssignment(connector) - end - publishRuntime() -end - -local capabilitiesReady -local function probeCapabilities() - if not noctalia.commandExists("gslapper") then - capabilities = { video = false, checking = false, error = "gSlapper is not installed" } - noctalia.state.set("capabilities", capabilities) - if capabilitiesReady then - capabilitiesReady() - end - return - end - if not noctalia.commandExists("socat") then - capabilities = { video = false, checking = false, error = "socat is not installed" } - noctalia.state.set("capabilities", capabilities) - if capabilitiesReady then - capabilitiesReady() - end - return - end - - noctalia.state.set("capabilities", capabilities) - local started = noctalia.runAsync("gslapper --help", function(result) - local missing = {} - local help = result.stdout .. result.stderr - for _, flag in ipairs(REQUIRED_FLAGS) do - if not help:find(flag, 1, true) then - table.insert(missing, flag) - end - end - if result.exitCode == 0 and #missing == 0 then - capabilities = { video = true, checking = false, tested_version = "1.5.2" } - else - capabilities = { - video = false, - checking = false, - error = "gSlapper is missing required IPC options: " .. table.concat(missing, ", "), - } - end - noctalia.state.set("capabilities", capabilities) - if capabilitiesReady then - capabilitiesReady() - end - end, 2000) - if not started then - capabilities = { video = false, checking = false, error = "could not run the gSlapper compatibility check" } - noctalia.state.set("capabilities", capabilities) - if capabilitiesReady then - capabilitiesReady() - end - end -end - -local function runModelChecks() - local connectors = { "eDP-1", "DP-1", "DP-3" } - - local durable = { - ["eDP-1"] = { kind = "image", path = "/wallpapers/still.jpg", desired_playback = "playing" }, - ["DP-1"] = { kind = "video", path = "/wallpapers/motion.mp4", desired_playback = "paused" }, - } - assert(durable["eDP-1"].path ~= durable["DP-1"].path, "outputs lost independent assignments") - - local targets = targetsFor("*", connectors) - assert(table.concat(targets, ",") == "DP-1,DP-3,eDP-1", "All target was not sorted") - - local testGenerations = {} - local testRuntime = {} - local stale = nextGeneration("DP-1", testGenerations) - local current = nextGeneration("DP-1", testGenerations) - assert(not generationGuardedSet(testRuntime, testGenerations, "DP-1", stale, "stale"), "stale generation mutated state") - assert(generationGuardedSet(testRuntime, testGenerations, "DP-1", current, "ready"), "current generation did not mutate state") - - local live = { ["DP-1"] = { status = "playing" } } - local stops = reconcileOutputs(connectors, { "eDP-1", "DP-3" }, durable, live) - assert(durable["DP-1"] ~= nil and live["DP-1"] == nil and stops[1] == "DP-1", "disconnect did not retain durable state") - - local _, restores = reconcileOutputs({ "eDP-1", "DP-3" }, connectors, durable, live) - assert(restores[1] == "DP-1", "reconnect did not schedule retained video") - - local batchDurable = {} - local results = applyAssignmentBatch("*", connectors, durable["DP-1"], batchDurable, function(connector) - if connector == "DP-1" then - return false, "fixture failure" - end - return true - end) - assert(not results["DP-1"].ok, "fixture failure was not reported") - assert(batchDurable["eDP-1"] ~= nil and batchDurable["DP-3"] ~= nil, "partial failure erased successful targets") - - assert(shellQuote("/tmp/a b's.mp4") == "'/tmp/a b'\\''s.mp4'", "apostrophe quoting failed") - assert(validateShellValue("line\nbreak") == nil and validateShellValue("nul\0byte") == nil, "control character accepted") - assert(validMediaRoot("/wallpapers") and not validMediaRoot("wallpapers") - and not validMediaRoot("/wall\npapers"), "media root validation failed") - - local testDirectory = "/run/user/1000/noctalia-gslapper" - local socketPath = socketPathFor("../DP/1", testDirectory) - assert(socketPath == testDirectory .. "/.._DP_1.sock", "connector escaped runtime directory") - assert(isOwnedSocket(socketPath, testDirectory) and not isOwnedSocket("/tmp/DP-1.sock", testDirectory), "socket ownership failed") - - local needles = processMatchNeedles(socketPath) - assert(needles[1] == "gslapper" and needles[3] == socketPath, "process match omitted exact socket") - assert(#hiddenFlags("none") == 0 and #hiddenFlags("auto-pause") == 1 and #hiddenFlags("auto-stop") == 1, "hidden flags conflict") - - local query = parseIpcResponse("query", "STATUS: paused video /tmp/a b.mp4\n") - assert(query.ok and query.status == "paused" and query.path == "/tmp/a b.mp4", "query response parsing failed") - assert(parseIpcResponse("pause", "OK\n").ok, "success response parsing failed") - assert(parseIpcResponse("change", VIDEO_CHANGE_RESTART_ERROR .. "\n").restart, "video-change recovery parsing failed") - - assert(validateCommand({ nonce = 1, action = "assign-video", target = "*", path = "/tmp/a.mp4" }), "valid command rejected") - assert(not validateCommand({ nonce = 1, action = "unknown", target = "*" }), "unknown command accepted") - assert(not validateCommand({ nonce = 1, action = "assign-video", target = "*", path = "relative.mp4" }), "relative path accepted") - - local summary = summarizeResults({ - ["DP-1"] = { ok = true }, - ["DP-3"] = { ok = false, error = "fixture" }, - ["eDP-1"] = { pending = true }, - }) - assert(summary.total == 3 and summary.successful == 1 and summary.failed == 1 and summary.pending == 1, "batch summary failed") - - local newOutputDurable = { ["DP-1"] = durable["DP-1"] } - local _, newOutputRestores = reconcileOutputs({ "DP-1" }, { "DP-1", "DP-3" }, newOutputDurable, {}) - assert(#newOutputRestores == 0, "unassigned new output received a video") - - local allThenOne = {} - applyAssignmentBatch("*", connectors, durable["DP-1"], allThenOne, function() - return true - end) - allThenOne["DP-1"] = copyTable(durable["eDP-1"]) - assert(allThenOne["DP-3"].kind == "video" and allThenOne["eDP-1"].kind == "video", "individual override changed other outputs") - - local pauseTargets = commandTargets("pause", "*", connectors, { - ["DP-1"] = { kind = "video" }, - ["DP-3"] = { kind = "image" }, - ["eDP-1"] = { kind = "video" }, - }) - assert(table.concat(pauseTargets, ",") == "DP-1,eDP-1", "All pause targeted non-video outputs") - assert(table.concat(ownedConnectors({ ["DP-1"] = {} }, { ["DP-3"] = {} }), ",") == "DP-1,DP-3", "teardown omitted durable output") -end - -local function publishSelfTest(report) - local directory = noctalia.pluginDataDir() - if directory then - local encoded = noctalia.json.encode(report, true) - if encoded then - noctalia.writeFile(directory .. "/selftest.json", encoded) - end - end - noctalia.state.set("self_test", report) -end - -local function runSelfTest(quiet) - local ok, message = pcall(runModelChecks) - local report = { - passed = ok, - checks = 22, - error = not ok and tostring(message) or nil, - } - - if not quiet then - publishSelfTest(report) - if ok then - noctalia.notify(NOTIFICATION_TITLE, "Self-test passed.") - else - noctalia.notifyError(NOTIFICATION_TITLE, report.error) - error(report.error) - end - end - return report -end - -local function handleCommand(command) - local valid, validationError = validateCommand(command) - if not valid or command.nonce <= lastHandledNonce then - return false, validationError or "command nonce was already handled" - end - lastHandledNonce = command.nonce - - if command.action == "self-test" then - local report = runSelfTest(true) - noctalia.state.set("command_result", { - nonce = command.nonce, - action = command.action, - results = { self_test = { ok = report.passed, error = report.error } }, - summary = { total = 1, successful = report.passed and 1 or 0, failed = report.passed and 0 or 1, pending = 0 }, - }) - publishSelfTest(report) - return report.passed, report.error - end - - local connectors = detectedConnectors() - local target = command.action == "restore-all" and "*" or command.target - local targets = commandTargets(command.action, target, connectors, assignments) - local batch = { nonce = command.nonce, action = command.action, results = {} } - commandBatches[command.nonce] = batch - - for _, connector in ipairs(targets) do - if activeRequests[connector] or connectorBusy(connector) then - batch.results[connector] = { ok = false, error = "output switch is already in progress" } - else - batch.results[connector] = { pending = true } - activeRequests[connector] = { nonce = command.nonce, action = command.action } - - local ok, message - if command.action == "assign-image" then - ok, message = assignImage(connector, command.path) - elseif command.action == "assign-video" then - ok, message = assignVideo(connector, command.path, command.preview_path) - elseif command.action == "pause" then - ok, message = setPlayback(connector, "paused") - elseif command.action == "resume" then - ok, message = setPlayback(connector, "playing") - else - ok, message = restoreConnector(connector) - end - - if not ok then - activeRequests[connector] = nil - batch.results[connector] = { ok = false, error = message } - end - end - end - - publishBatch(batch) - if summarizeResults(batch.results).pending == 0 then - commandBatches[command.nonce] = nil - end - return true -end - -function onIpc(event, _payload) - if event == "self-test" then - runSelfTest(false) - end -end - -function onOutputsChanged() - reconcileDetectedOutputs() -end - -function onConfigChanged() - local currentSignature = settingsSignature() - if restartSettingsSignature ~= "" and currentSignature ~= restartSettingsSignature then - restartActiveVideos() - end - restartSettingsSignature = currentSignature - local imageRoot, videoRoot = mediaRoots() - local rootsSignature = tostring(imageRoot or "") .. "\0" .. tostring(videoRoot or "") - if noctalia.pluginDataDir() and rootsSignature ~= libraryRootSignature then - startLibraryIndex() - end -end - -function onExit() - local directory = runtimeDirectory() - if not directory then - return - end - for _, connector in ipairs(ownedConnectors(assignments, runtime)) do - local live = runtime[connector] or {} - noctalia.setWallpaperEnabled(connector, true) - local socketPath = live.socket_path or socketPathFor(connector, directory) - if isOwnedSocket(socketPath, directory) and noctalia.fileExists(socketPath) then - local command = "printf '%s\\n' 'stop' | socat -T 2 - UNIX-CONNECT:" .. shellQuote(socketPath) - noctalia.runAsync(command) - end - end -end - -function update() - local now = noctalia.nowMs() - for connector, operation in pairs(pending) do - if not isCurrent(connector, operation.generation) then - clearPending(connector, operation) - elseif operation.kind == "ready" and not operation.inFlight then - operation.inFlight = true - ipcCommand(operation.socketPath, "query", function(query) - if pending[connector] ~= operation or not isCurrent(connector, operation.generation) then - return - end - operation.inFlight = false - if query.ok and query.kind == "video" and query.path == operation.assignment.path then - commitVideo(connector, operation.generation, operation.assignment, query) - elseif noctalia.nowMs() >= operation.deadline then - setConnectorError(connector, operation.generation, query.error or "gSlapper readiness timed out") - stopOwned(connector, operation.generation) - end - end) - elseif operation.kind == "stop" then - if not noctalia.fileExists(operation.socketPath) then - clearPending(connector, operation) - if operation.after then - operation.after() - end - elseif now >= operation.deadline and not operation.inFlight then - operation.inFlight = true - ipcCommand(operation.socketPath, "query", function(query) - if pending[connector] ~= operation or not isCurrent(connector, operation.generation) then - return - end - clearPending(connector, operation) - local directory = runtimeDirectory() - if query.notConnectable and directory and isOwnedSocket(operation.socketPath, directory) then - noctalia.removeFile(operation.socketPath) - end - processFallback(connector, operation.generation, operation.socketPath, operation.after) - end) - end - end - end -end - -noctalia.setUpdateInterval(1000) -assignments = loadAssignments() -publishAssignments() -capabilitiesReady = restoreConnectedAssignments -if type(noctalia.commandExists) == "function" then - restartSettingsSignature = settingsSignature() - noctalia.state.watch("command", handleCommand) - probeCapabilities() - if noctalia.pluginDataDir() then - startLibraryIndex() - end -end - -return { - assignments = assignments, - runtime = runtime, - detectedConnectors = detectedConnectors, - targetsFor = targetsFor, - commandTargets = commandTargets, - nextGeneration = nextGeneration, - isCurrent = isCurrent, - reconcileOutputs = reconcileOutputs, - ownedConnectors = ownedConnectors, - validateAssignment = validateAssignment, - saveAssignments = saveAssignments, - validateShellValue = validateShellValue, - shellQuote = shellQuote, - socketPathFor = socketPathFor, - isOwnedSocket = isOwnedSocket, - processMatchNeedles = processMatchNeedles, - hiddenFlags = hiddenFlags, - parseIpcResponse = parseIpcResponse, - validateCommand = validateCommand, - summarizeResults = summarizeResults, - buildLaunchCommand = buildLaunchCommand, - assignVideo = assignVideo, - assignImage = assignImage, - setPlayback = setPlayback, - handleCommand = handleCommand, - runSelfTest = runSelfTest, - classifyMedia = classifyMedia, - fnv1a32 = fnv1a32, - validMediaRoot = validMediaRoot, - requiredFlags = REQUIRED_FLAGS, -} diff --git a/gslapper/thumbnail.webp b/gslapper/thumbnail.webp deleted file mode 100644 index 3857b2b1ac2c79d83c747f9ab0415c0bdd647af9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41686 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 g{@-+3Y0oRga-myO?ML(NsQ>@~ diff --git a/gslapper/translations/en.json b/gslapper/translations/en.json deleted file mode 100644 index c75d32f..0000000 --- a/gslapper/translations/en.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "panel": { - "all_outputs": "All outputs", - "applying": "Applying wallpaper…", - "checking_dependencies": "Checking video support…", - "close": "Close", - "directory_empty": "No supported wallpapers in this directory", - "directory_unreadable": "Directory unavailable", - "filter_all": "All", - "filter_images": "Images", - "filter_videos": "Videos", - "folders": "Folders", - "generating_previews": "Generating previews · {count} / {total}", - "media_count": "{count} items", - "mixed_summary": "{outputs} outputs · {videos} video · {images} image", - "navigation_blocked": "The selected directory is outside its wallpaper root.", - "no_search_results": "No wallpapers match your search", - "page": "{page} / {pages}", - "partial_badge": "{count} / {total}", - "pause": "Pause", - "pause_videos": "Pause videos", - "preparing_library": "Preparing wallpaper library…", - "restore": "Restore", - "restore_all": "Restore all", - "resume": "Resume", - "resume_videos": "Resume videos", - "scanning": "Indexing wallpaper library…", - "search": "Search wallpapers", - "settings": "Settings", - "status_error": "Error", - "status_paused": "Paused", - "status_playing": "Playing", - "status_starting": "Starting", - "status_static": "Static", - "thumbnail_unavailable": "Video preview unavailable", - "title": "Wallpaper", - "up": "Up", - "video_badge": "VIDEO", - "video_unavailable": "Video wallpapers are unavailable" - }, - "service": { - "self_test_failed": "Self-test failed.", - "self_test_passed": "Self-test passed." - }, - "settings": { - "fade": { - "description": "Use a fade when changing media.", - "label": "Fade between videos" - }, - "fade_duration": { - "description": "Fade duration in seconds.", - "label": "Fade duration" - }, - "fps_cap": { - "description": "Maximum video wallpaper frame rate.", - "label": "FPS cap", - "options": { - "fps_100": "100", - "fps_30": "30", - "fps_60": "60" - } - }, - "glyph": { - "description": "Glyph shown in the bar.", - "label": "Widget glyph" - }, - "gst_options": { - "description": "Extra options passed to gSlapper's GStreamer pipeline.", - "label": "Additional GStreamer options" - }, - "hidden_behavior": { - "description": "Playback control when the wallpaper is hidden.", - "label": "When hidden", - "options": { - "auto_pause": "Auto Pause", - "auto_stop": "Auto Stop", - "none": "None" - } - }, - "loop": { - "description": "Restart a video when it reaches the end.", - "label": "Loop videos" - }, - "scale": { - "description": "How videos fit the output.", - "label": "Video scale", - "options": { - "fill": "Fill", - "original": "Original", - "panscan": "Panscan", - "stretch": "Stretch" - } - }, - "video_directory": { - "description": "Directory containing video wallpapers.", - "label": "Video directory" - } - }, - "widget": { - "tooltip": "Choose wallpaper" - } -} diff --git a/gslapper/widget.luau b/gslapper/widget.luau deleted file mode 100644 index 7198eff..0000000 --- a/gslapper/widget.luau +++ /dev/null @@ -1,18 +0,0 @@ ---!nonstrict - -local PANEL_ID = "nomadcxx/gslapper:picker" - -local function render() - barWidget.setGlyph(noctalia.getConfig("glyph") or "wallpaper-selector") - barWidget.setTooltip(noctalia.tr("widget.tooltip")) -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onConfigChanged() - render() -end - -render() diff --git a/hassio/README.md b/hassio/README.md deleted file mode 100644 index 58e8714..0000000 --- a/hassio/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# Home Assistant - -Monitor and control your Home Assistant entities from the Noctalia bar and control center. Useful for quickly toggling lights, checking sensor states, and opening a full entity manager panel for richer controls. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `pozzoo/hassio` | -| Entries | Widget: `status`; Service: `connection`; Shortcuts: `ha_toggle_1`, `ha_toggle_2`, `ha_toggle_3`, `ha_toggle_4`, `ha_panel`; Panel: `entity_manager` | -| Launcher Prefix | — | - -## Requirements - -- A running Home Assistant instance with API access enabled -- A Long-lived Access Token (Profile → Security → Long-lived access tokens) -- `xdg-open` available on `PATH` (used to open the Home Assistant URL in your browser) - -## Usage - -1. Configure the plugin: open **Settings → Plugins → Home Assistant** and set: - - | Setting | Description | - | --- | --- | - | Home Assistant URL | The URL to your HA instance, for example `http://homeassistant.local:8123` | - | Long-Lived Access Token | Token created in HA under Profile → Security | - | Quick Toggle 1–4 — Entity ID | (Optional) Entity IDs to assign to each quick-toggle tile (e.g. `light.living_room`) | - -2. Add the bar widget: add the **status** widget from the widget picker to show connection state and (optionally) the number of monitored entities. Right-click the widget to open your Home Assistant URL in the default browser. - -3. Add control-center tiles: go to **Settings → Control Center** and add any combination of: - - **Home Assistant** (×4) — Quick-toggle tiles. Each corresponds to one of the four entity slots configured in plugin settings. - - **Home Assistant** (panel opener) — Opens the entity manager panel. - -4. Open the entity manager panel: use the panel opener tile or the panel IPC command to open the full browser and pin entities for monitoring. - -```sh -noctalia msg panel-toggle pozzoo/hassio:entity_manager -``` - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `ha_url` | `string` | `""` | Home Assistant base URL used for API requests (include protocol and port if needed). | -| `ha_token` | `string` | `""` | Long-lived access token for Home Assistant. Keep this secret. | -| `shortcut_entity_1` | `string` | `""` | Entity ID used by Quick Toggle 1 (e.g. `light.kitchen`). | -| `shortcut_entity_2` | `string` | `""` | Entity ID used by Quick Toggle 2. | -| `shortcut_entity_3` | `string` | `""` | Entity ID used by Quick Toggle 3. | -| `shortcut_entity_4` | `string` | `""` | Entity ID used by Quick Toggle 4. | -| `show_entity_count` | `bool` | `false` | Show the number of monitored entities next to the connection status in the `status` bar widget. | - -## IPC - -- Open the panel: - -```sh -noctalia msg panel-toggle pozzoo/hassio:entity_manager -``` - -- Force a refresh of the connection and entity states: - -```sh -noctalia msg plugin pozzoo/hassio:status focused refresh -``` - -Use `all` in place of `focused` to target every bar instance. This triggers the same refresh as sending the `refresh` command internally, and shows a notification when it starts. - -Notes: the plugin forwards Home Assistant state updates internally and uses Noctalia's state routing to update widgets and shortcuts. - -## Notes - -- The plugin maintains a live SSE connection to Home Assistant to receive real-time state changes. Noctalia's native HTTP streaming API is used for this connection; all other requests (fetching states, toggling entities, browsing) go through Noctalia's native HTTP API. -- The pinned entity list is saved to `managed_entities.json` in the plugin's persistent data directory (`noctalia.pluginDataDir()`), so it survives plugin updates. -- To authenticate the SSE connection without exposing the access token on the command line, the plugin uses Noctalia's native streaming request headers. -- The plugin issues HTTP requests to your HA instance; do not install untrusted plugins if you do not want them to access your network or tokens. -- If authentication fails, generate a new long-lived access token in Home Assistant and paste it into plugin settings. diff --git a/hassio/panel.luau b/hassio/panel.luau deleted file mode 100644 index d8d1cee..0000000 --- a/hassio/panel.luau +++ /dev/null @@ -1,821 +0,0 @@ ---!nonstrict - -local haUrlRaw = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") - -local entityStates = {} -local status = "unconfigured" -local expandedEntityId = nil -local sliderDraft = {} -local sliderDirty = {} - -local pendingToggle = {} -local pendingSince = {} -- entity_id -> os.clock() when toggle was requested - -local PENDING_TIMEOUT_SECONDS = 8 - -local view = "list" -- "list" | "browser" -local allEntities = {} -local browserLoading = false -local browserLoadingSince = nil -local browserFailed = false - -local BROWSER_TIMEOUT_SECONDS = 20 -local MAX_BROWSER_ROWS = 200 -local searchText = "" -local monitoredEntities = {} -- current monitored list (owned here, saved to file) -local panelOpenCount = 0 - -local function getCleanUrl() - if type(haUrlRaw) ~= "string" then return "" end - return (haUrlRaw:gsub("/$", "")) -end - -local function tr(key, subst) - return noctalia.tr("panel." .. key, subst) -end - -local function getStatusText() - if status == "connected" then - return noctalia.tr("widget.status_connected") - elseif status == "connecting" then - return noctalia.tr("widget.status_connecting") - elseif status == "disconnected" then - return noctalia.tr("widget.status_disconnected") - elseif status == "unreachable" then - return noctalia.tr("widget.status_unreachable") - elseif status == "auth_failed" then - return noctalia.tr("widget.status_auth_failed") - else - return noctalia.tr("widget.status_unconfigured") - end -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return haToken:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function haPost(path, body, onFailure) - local url = getCleanUrl() - local cleanToken = getCleanToken() - if not url or url == "" or cleanToken == "" then - if onFailure then onFailure() end - return - end - local encodedBody = noctalia.json.encode(body) - - noctalia.http({ - url = url .. path, - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = encodedBody, - }, function(response: HttpResponse) - local httpStatus = response and response.status or 0 - if httpStatus >= 200 and httpStatus < 300 then return end - noctalia.log("Home Assistant rejected " .. path .. ": status " .. tostring(httpStatus)) - if onFailure then onFailure() end - end) -end - -local function callService(domain, service, entityId, onFailure) - haPost("/api/services/" .. domain .. "/" .. service, { entity_id = entityId }, onFailure) -end - -local MANAGED_ENTITIES_FILE = "managed_entities.json" - -local function managedEntitiesPath() - local dataDir, dirErr = noctalia.pluginDataDir() - if not dataDir then - noctalia.log("Cannot resolve plugin data dir: " .. (dirErr or "unknown")) - return nil - end - return dataDir .. "/" .. MANAGED_ENTITIES_FILE -end - -local function loadMonitoredEntities() - local path = managedEntitiesPath() - local data = path and noctalia.readFile(path) - if data and data ~= "" then - local parsed = noctalia.json.decode(data) - if type(parsed) == "table" then - monitoredEntities = parsed - return - end - end - monitoredEntities = {} -end - -local function saveMonitoredEntities() - local path = managedEntitiesPath() - if not path then - noctalia.notifyError(noctalia.tr("shortcut.title"), tr("save_failed_no_data_dir")) - return - end - - local encodedEntities = noctalia.json.encode(monitoredEntities) - local ok, writeErr = noctalia.writeFile(path, encodedEntities) - if not ok then - noctalia.log("Failed to save managed entities: " .. (writeErr or "unknown")) - noctalia.notifyError(noctalia.tr("shortcut.title"), tr("save_failed")) - return - end - noctalia.state.set("entities_override", monitoredEntities) - noctalia.state.set("command", "reload_entities") -end - -local function isPinned(entityId) - for _, eid in ipairs(monitoredEntities) do - if eid == entityId then return true end - end - return false -end - -local function toggleBrowserPin(entityId) - if not entityId then return end - local newList, found = {}, false - for _, eid in ipairs(monitoredEntities) do - if eid == entityId then found = true - else table.insert(newList, eid) end - end - if not found then table.insert(newList, entityId) end - monitoredEntities = newList - saveMonitoredEntities() - render() -end - --- /api/states is megabytes on a large instance and decoding it overruns the host's --- per-callback CPU budget. The tab and newline outside the {{ }} are the record --- separators; the ones inside replace() are escapes for Jinja to interpret. -local ENTITY_LIST_TEMPLATE = - "{% for s in states %}{{ s.entity_id }}\t{{ s.name | replace('\\t',' ') | replace('\\n',' ') }}\n{% endfor %}" - --- Same shape minus the friendly names, for instances that reject the template above. -local ENTITY_ID_TEMPLATE = - "{% for s in states %}{{ s.entity_id }}\n{% endfor %}" - -local MAX_ENTITY_ID_LENGTH = 255 -local MAX_FRIENDLY_NAME_LENGTH = 255 --- Comfortably past id + name, so a record is never cut short by it. -local MAX_RECORD_SCAN = 1024 - --- Scans with plain string.find only. A Lua pattern such as "([^\t\n]+)\t" backtracks --- through every separator-free byte and gmatch then restarts one byte later, so a --- response that lost its tabs costs O(bytes^2) inside a single uninterruptible C call: --- seconds of CPU, which the host kills for overrunning the callback budget. -local function parseEntityList(body) - local list = {} - local len = #body - -- Without any newline the whole body is one record, so a space is not a separator. - local splitOnSpace = string.find(body, "\n", 1, true) ~= nil - local pos = 1 - while pos <= len do - local eol = string.find(body, "\n", pos, true) or (len + 1) - local lineEnd = eol - 1 - if string.sub(body, lineEnd, lineEnd) == "\r" then lineEnd -= 1 end - - -- Searching the body itself would re-scan to the far end on every separator-less - -- line, which is the quadratic behaviour this parser exists to avoid. - local record = string.sub(body, pos, math.min(lineEnd, pos + MAX_RECORD_SCAN - 1)) - local sep = string.find(record, "\t", 1, true) - if not sep and splitOnSpace then sep = string.find(record, " ", 1, true) end - - local entityId = sep and string.sub(record, 1, sep - 1) or record - local dot = string.find(entityId, ".", 1, true) - if dot and dot > 1 and dot < #entityId and #entityId <= MAX_ENTITY_ID_LENGTH then - local name = sep and string.sub(record, sep + 1) or "" - if #name > MAX_FRIENDLY_NAME_LENGTH then name = string.sub(name, 1, MAX_FRIENDLY_NAME_LENGTH) end - table.insert(list, { - entity_id = entityId, - friendly_name = name ~= "" and name or entityId, - domain = string.sub(entityId, 1, dot - 1), - }) - end - pos = eol + 1 - end - return list -end - --- HA iterates `states` in entity_id order, so this is normally just the linear check. -local function sortEntitiesIfNeeded(list) - for i = 2, #list do - if list[i].entity_id < list[i - 1].entity_id then - table.sort(list, function(a, b) return a.entity_id < b.entity_id end) - return - end - end -end - -local function finishBrowserLoad(list, failed) - allEntities = list - browserLoading = false - browserLoadingSince = nil - browserFailed = failed == true - render() -end - --- /api/states on a large instance decodes for longer than one callback is allowed to --- run, so the conversion is resumable: whatever is left over is finished by update(), --- which gets a fresh budget on every tick. -local pendingStates = nil -local pendingList = nil -local pendingCursor = 1 -local STATES_PER_TICK = 1000 - -local function consumePendingStates() - local states = pendingStates - if states == nil then return end - - if type(states) ~= "table" then - pendingStates = nil - pendingList = nil - noctalia.log("Could not list entities: /api/states was not decodable") - finishBrowserLoad({}, true) - return - end - - local list = pendingList - local total = #states - local i = pendingCursor - local last = math.min(i + STATES_PER_TICK - 1, total) - while i <= last do - local s = states[i] - local entityId = type(s) == "table" and s.entity_id or nil - if type(entityId) == "string" then - local attrs = s.attributes - local dot = string.find(entityId, ".", 1, true) - table.insert(list, { - entity_id = entityId, - friendly_name = (type(attrs) == "table" and attrs.friendly_name) or entityId, - domain = dot and string.sub(entityId, 1, dot - 1) or entityId, - }) - end - i += 1 - -- Kept in step with `list` so an aborted chunk resumes without duplicating. - pendingCursor = i - end - - if i > total then - -- Cleared only once the sort is through, so an abort here retries next tick. - sortEntitiesIfNeeded(list) - pendingStates = nil - pendingList = nil - finishBrowserLoad(list) - end -end - --- Continues an already-started load, so it deliberately doesn't re-check browserLoading. -local function fetchAllEntitiesFromStates() - local cleanToken = getCleanToken() - local url = getCleanUrl() - - noctalia.http({ - url = url .. "/api/states", - headers = { - "Authorization: Bearer " .. cleanToken, - } - }, function(response: HttpResponse) - local httpStatus = response and response.status or 0 - local body = response and response.body or "" - if httpStatus < 200 or httpStatus >= 300 or body == "" then - noctalia.log("Could not list entities: /api/states returned " .. tostring(httpStatus)) - finishBrowserLoad({}, true) - return - end - - local states = noctalia.json.decode(body) - -- Nothing but plain assignments may sit between the decode and here. The decode - -- alone can outlast the budget, and the host only aborts at the next call or - -- loop instruction, so these stores still commit and update() can take over. - pendingStates = states - pendingList = {} - pendingCursor = 1 - consumePendingStates() - end) -end - --- Continues an already-started load, so it deliberately doesn't re-check browserLoading. -local function fetchAllEntitiesFromTemplate(template, label, onUnusable) - local cleanToken = getCleanToken() - local url = getCleanUrl() - - noctalia.http({ - url = url .. "/api/template", - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = noctalia.json.encode({ template = template }), - }, function(response: HttpResponse) - local httpStatus = response and response.status or 0 - local body = response and response.body or "" - - if httpStatus < 200 or httpStatus >= 300 or body == "" then - noctalia.log(label .. " template unavailable (status " .. tostring(httpStatus) .. ")") - onUnusable() - return - end - - local list = parseEntityList(body) - - if #list == 0 then - -- The preview is what tells us how a given instance actually answers. - local preview = string.gsub(string.sub(body, 1, 120), "%c", ".") - noctalia.log(label .. " template returned nothing usable (" .. #body - .. " bytes, starts with: " .. preview .. ")") - onUnusable() - return - end - - sortEntitiesIfNeeded(list) - finishBrowserLoad(list) - end) -end - -local function fetchAllEntities() - if browserLoading then return end - pendingStates = nil - pendingList = nil - local cleanToken = getCleanToken() - local url = getCleanUrl() - if not url or url == "" or cleanToken == "" then - allEntities = {} - browserLoading = false - browserLoadingSince = nil - render() - return - end - - browserLoading = true - browserLoadingSince = os.clock() - browserFailed = false - render() - - -- Cheapest source first. The id-only template needs no filters and no `name` - -- attribute, so it still answers on instances where the full one doesn't, and - -- /api/states is only reached when neither template works. - fetchAllEntitiesFromTemplate(ENTITY_LIST_TEMPLATE, "Entity list", function() - fetchAllEntitiesFromTemplate(ENTITY_ID_TEMPLATE, "Entity id", fetchAllEntitiesFromStates) - end) -end - -local function initDraft(entityId) - if sliderDraft[entityId] then return end - local e = entityStates[entityId] - local ct = e and e.color_temp or -1 - local ctKelvin - if ct > 500 then ctKelvin = math.floor(ct + 0.5) - elseif ct > 0 then ctKelvin = math.floor(1000000 / ct + 0.5) - else ctKelvin = 4000 end - sliderDraft[entityId] = { - brightness = e and (e.brightness > 0 and e.brightness or 255) or 255, - color_temp = ctKelvin, - hue = e and (e.hue or 0) or 0, - } -end - -local function markDirty(key) - if not expandedEntityId then return end - if not sliderDirty[expandedEntityId] then sliderDirty[expandedEntityId] = {} end - sliderDirty[expandedEntityId][key] = true -end - -local function clearPending(entityId) - pendingToggle[entityId] = nil - pendingSince[entityId] = nil -end - -local function isPendingTimedOut(entityId, now) - local startedAt = pendingSince[entityId] - if not startedAt then return false end - return (now or os.clock()) - startedAt >= PENDING_TIMEOUT_SECONDS -end - -local function reconcilePending(now) - local changed = false - for entityId, expected in pairs(pendingToggle) do - local real = entityStates[entityId] - if not real or real.state == expected or isPendingTimedOut(entityId, now) then - clearPending(entityId) - changed = true - end - end - return changed -end - -local function actEntity(eid) - local entity = entityStates[eid] - if not entity then return end - local d = entity.domain - if d == "script" then callService("script", "turn_on", eid) - elseif d == "automation" then callService("automation", "trigger", eid) - else - local newState = entity.state == "on" and "off" or "on" - pendingToggle[eid] = newState - pendingSince[eid] = os.clock() - callService(d, "toggle", eid, function() - clearPending(eid) - render() - end) - render() - end -end - -local function expandEntity(eid) - if expandedEntityId == eid then - expandedEntityId = nil - else - sliderDraft[eid] = nil - sliderDirty[eid] = nil - expandedEntityId = eid - end - render() -end - -function onBrightness(value) - if not expandedEntityId then return end - initDraft(expandedEntityId) - sliderDraft[expandedEntityId].brightness = math.floor((tonumber(value) or 255) + 0.5) - markDirty("brightness") - render() -end - -function onColorTemp(value) - if not expandedEntityId then return end - initDraft(expandedEntityId) - sliderDraft[expandedEntityId].color_temp = math.floor((tonumber(value) or 4000) + 0.5) - markDirty("color_temp") - render() -end - -function onHue(value) - if not expandedEntityId then return end - initDraft(expandedEntityId) - sliderDraft[expandedEntityId].hue = math.floor((tonumber(value) or 0) + 0.5) - markDirty("hue") - render() -end - -function onApplyLight() - if not expandedEntityId then return end - local draft = sliderDraft[expandedEntityId] - local dirty = sliderDirty[expandedEntityId] or {} - local entity = entityStates[expandedEntityId] - if not draft or not entity then return end - - local data = { entity_id = expandedEntityId } - if dirty.hue and entity.supports_rgb then - data.hs_color = { draft.hue, 100 } - if dirty.brightness and entity.supports_brightness then - data.brightness = draft.brightness - end - else - if dirty.brightness and entity.supports_brightness then - data.brightness = draft.brightness - end - if dirty.color_temp and entity.supports_color_temp then - data.color_temp_kelvin = draft.color_temp - end - end - - if dirty.brightness or dirty.color_temp or dirty.hue then - haPost("/api/services/light/turn_on", data) - sliderDirty[expandedEntityId] = {} - end -end - -function onNoop() end - -function onOpenBrowser() - view = "browser" - searchText = "" - fetchAllEntities() -end - -function onBackToList() - view = "list" - allEntities = {} - searchText = "" - browserFailed = false - render() -end - -function onSearchChange(value) - searchText = value or "" - render() -end - -local function isControllable(domain) - return domain == "light" or domain == "switch" or domain == "input_boolean" - or domain == "fan" or domain == "cover" or domain == "lock" -end - -local function isSensor(domain) - return domain == "sensor" or domain == "binary_sensor" or domain == "weather" or domain == "number" -end - -local function isAutomation(domain) - return domain == "automation" or domain == "script" -end - -local function domainGlyph(domain) - local g = { - light = "bulb", switch = "toggle-right", input_boolean = "toggle-right", - sensor = "chart-line", binary_sensor = "activity", climate = "temperature", - cover = "door", fan = "wind", lock = "lock", media_player = "device-speaker", - weather = "cloud", automation = "robot", script = "player-play", - } - return g[domain] or "smart-home" -end - -local function stateGlyph(domain, isOn) - if domain == "light" then return isOn and "bulb" or "bulb-off" - elseif domain == "switch" or domain == "input_boolean" then return isOn and "toggle-right" or "toggle-left" - elseif domain == "fan" then return isOn and "wind" or "wind-off" - elseif domain == "lock" then return isOn and "lock" or "lock-open" - elseif domain == "cover" then return isOn and "door-open" or "door" - end - return domainGlyph(domain) -end - -local function entityStateLabel(entity) - if isSensor(entity.domain) then - return entity.state .. (entity.unit ~= "" and " " .. entity.unit or "") - end - if entity.domain == "light" and entity.state == "on" and entity.brightness >= 0 then - local pct = math.floor(entity.brightness / 255 * 100 + 0.5) - return tr("state_on_brightness", { percent = pct }) - end - return entity.state -end - -local function buildExpandedSection(entity) - local eid = entity.entity_id - initDraft(eid) - local draft = sliderDraft[eid] - local rows = {} - - if entity.supports_brightness then - local bv = draft.brightness - table.insert(rows, ui.row({ align = "center", gap = 8 }, { - ui.label({ text = tr("brightness"), color = "on_surface_variant" }), - ui.slider({ min = 1, max = 255, step = 1, value = bv, onChange = "onBrightness", flexGrow = 1 }), - ui.label({ text = math.floor(bv / 255 * 100 + 0.5) .. "%" }), - })) - end - - if entity.supports_color_temp then - local ctk = draft.color_temp - table.insert(rows, ui.row({ align = "center", gap = 8 }, { - ui.label({ text = tr("color_temp"), color = "on_surface_variant" }), - ui.slider({ min = 2000, max = 6500, step = 50, value = ctk, onChange = "onColorTemp", flexGrow = 1 }), - ui.label({ text = math.floor(ctk) .. "K" }), - })) - end - - if entity.supports_rgb then - local hv = draft.hue - table.insert(rows, ui.row({ align = "center", gap = 8 }, { - ui.label({ text = tr("hue"), color = "on_surface_variant" }), - ui.slider({ min = 0, max = 360, step = 1, value = hv, onChange = "onHue", flexGrow = 1 }), - ui.label({ text = math.floor(hv) .. "°" }), - })) - end - - if #rows == 0 then return nil end - - table.insert(rows, ui.row({ justify = "end" }, { - ui.button({ glyph = "check", onClick = "onApplyLight" }), - })) - - return ui.column({ gap = 8 }, rows) -end - -local function buildEntityCard(entity) - local pending = pendingToggle[entity.entity_id] - local isOn = (pending or entity.state) == "on" - local domain = entity.domain - local canExpand = domain == "light" - and (entity.supports_brightness or entity.supports_color_temp or entity.supports_rgb) - local isExpanded = expandedEntityId == entity.entity_id - - local expandBtn - if canExpand then - expandBtn = ui.button({ - glyph = isExpanded and "chevron-up" or "chevron-down", - onClick = function() expandEntity(entity.entity_id) end, - }) - end - - local isPending = pending ~= nil - local iconClick = isPending and "onNoop" - or (isControllable(domain) or isAutomation(domain)) and function() actEntity(entity.entity_id) end or "onNoop" - local iconGlyph = isPending and "loader" - or isAutomation(domain) and "player-play" or stateGlyph(domain, isOn) - - local rowChildren = { - ui.button({ glyph = iconGlyph, onClick = iconClick }), - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = entity.friendly_name or entity.entity_id, fontWeight = "medium" }), - ui.label({ text = entityStateLabel(entity), color = "on_surface_variant", fontSize = 12 }), - }), - } - if expandBtn then table.insert(rowChildren, expandBtn) end - - local cardChildren = { ui.row({ align = "center", gap = 8 }, rowChildren) } - - if isExpanded then - local expanded = buildExpandedSection(entity) - if expanded then table.insert(cardChildren, expanded) end - end - - return ui.column({ gap = 8 }, cardChildren) -end - -local function getOrderedIds() - local ids, seen = {}, {} - for _, eid in ipairs(monitoredEntities) do - if entityStates[eid] then - table.insert(ids, eid) - seen[eid] = true - end - end - for eid in pairs(entityStates) do - if not seen[eid] then - table.insert(ids, eid) - end - end - return ids -end - -local function buildListBody(ids) - if not getCleanUrl() or getCleanUrl() == "" or getCleanToken() == "" then - return ui.label({ text = tr("not_configured"), color = "on_surface_variant" }) - end - if status == "auth_failed" then - return ui.label({ text = tr("auth_failed"), color = "error" }) - end - if status == "connecting" then - return ui.label({ text = tr("connecting"), color = "on_surface_variant" }) - end - if status == "disconnected" then - return ui.label({ text = tr("disconnected_reconnecting"), color = "error" }) - end - if status == "unreachable" then - return ui.label({ text = tr("unreachable"), color = "error" }) - end - if #ids == 0 then - return ui.label({ - text = status == "connected" - and tr("no_entities_monitored") - or tr("status_fallback", { status = status }), - color = "on_surface_variant", - }) - end - local cards = {} - for _, eid in ipairs(ids) do - table.insert(cards, buildEntityCard(entityStates[eid])) - end - return ui.scroll({ flexGrow = 1, gap = 8 }, cards) -end - -local function buildBrowserBody() - if browserLoading then - return ui.label({ text = tr("loading_entities"), color = "on_surface_variant" }) - end - if browserFailed then - return ui.label({ text = tr("load_entities_failed"), color = "error" }) - end - if #allEntities == 0 then - return ui.label({ text = tr("no_entities_found"), color = "on_surface_variant" }) - end - - local q = searchText:lower() - local filtered = {} - -- A row is six UI nodes and a closure, so rendering every match on a large instance - -- overruns the callback budget on each keystroke. Nobody scrolls past a few hundred. - local truncated = false - for _, e in ipairs(allEntities) do - if q == "" - or e.entity_id:lower():find(q, 1, true) - or e.friendly_name:lower():find(q, 1, true) - then - if #filtered >= MAX_BROWSER_ROWS then - truncated = true - break - end - table.insert(filtered, e) - end - end - - if #filtered == 0 then - return ui.label({ text = tr("no_entities_match"), color = "on_surface_variant" }) - end - - local rows = {} - for _, e in ipairs(filtered) do - local entityId = e.entity_id - local pinned = isPinned(entityId) - table.insert(rows, ui.row({ align = "center", gap = 8 }, { - ui.column({ flexGrow = 1, gap = 2 }, { - ui.label({ text = e.friendly_name, fontWeight = "medium" }), - ui.label({ text = e.entity_id, color = "on_surface_variant", fontSize = 12 }), - }), - ui.button({ glyph = pinned and "pin-filled" or "pin", onClick = function() toggleBrowserPin(entityId) end }), - })) - end - - if truncated then - table.insert(rows, ui.label({ - text = tr("browser_truncated", { count = MAX_BROWSER_ROWS }), - color = "on_surface_variant", - fontSize = 12, - })) - end - - return ui.scroll({ flexGrow = 1, gap = 4 }, rows) -end - -function render() - reconcilePending(os.clock()) - - if view == "browser" then - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", gap = 8 }, { - ui.button({ glyph = "arrow-left", onClick = "onBackToList" }), - ui.label({ text = tr("manage_entities_title"), fontSize = 16, fontWeight = "bold", color = "primary", flexGrow = 1 }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - ui.input({ key = "entity_search", placeholder = tr("search_placeholder"), onChange = "onSearchChange" }), - buildBrowserBody(), - })) - else - local ids = getOrderedIds() - panel.render(ui.column({ flexGrow = 1, gap = 16 }, { - ui.row({ align = "center", gap = 8 }, { - ui.glyph({ name = "smart-home", size = 20, color = "primary" }), - ui.label({ text = noctalia.tr("shortcut.title"), fontSize = 16, fontWeight = "bold", color = "primary", flexGrow = 1 }), - ui.label({ text = getStatusText(), color = status == "connected" and "primary" or "on_surface_variant" }), - ui.button({ glyph = "list-search", onClick = "onOpenBrowser" }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - buildListBody(ids), - })) - end -end - -function onOpen(_context) - status = noctalia.state.get("connection_status") or "unconfigured" - entityStates = noctalia.state.get("entities") or {} - loadMonitoredEntities() - panelOpenCount = panelOpenCount + 1 - panel.setWantsSecondTicks(true) - noctalia.state.set("panel_open_signal", panelOpenCount) - render() -end - -function onClose() - panel.setWantsSecondTicks(false) -end - -function update() - local now = os.clock() - - -- A load that is still converting is making progress, so it outranks the timeout. - if pendingStates ~= nil then - consumePendingStates() - return - end - - if browserLoading and browserLoadingSince and (now - browserLoadingSince) > BROWSER_TIMEOUT_SECONDS then - browserLoading = false - browserLoadingSince = nil - browserFailed = true - reconcilePending(now) - render() - return - end - - if reconcilePending(now) then - render() - end -end - -function onCloseClicked() - panel.close() -end - -noctalia.state.watch("entities", function(value) - entityStates = value or {} - reconcilePending(os.clock()) - render() -end) - -noctalia.state.watch("connection_status", function(value) - status = value or "unconfigured" - render() -end) diff --git a/hassio/plugin.toml b/hassio/plugin.toml deleted file mode 100644 index d057da0..0000000 --- a/hassio/plugin.toml +++ /dev/null @@ -1,95 +0,0 @@ -id = "pozzoo/hassio" -name = "Home Assistant" -version = "2.0.6" -plugin_api = 9 -author = "Pozzoo" -license = "MIT" -tags = ["bar", "panel", "service", "shortcut", "network", "indicator"] -icon = "smart-home" -dependencies = ["xdg-open"] -description = "Monitor and control Home Assistant entities from the bar. Displays entity states and provides quick toggles." - -[[setting]] -key = "ha_url" -type = "string" -label_key = "settings.url.label" -description_key = "settings.url.description" -default = "" - -[[setting]] -key = "ha_token" -type = "string" -label_key = "settings.token.label" -description_key = "settings.token.description" -default = "" - -[[setting]] -key = "shortcut_entity_1" -type = "string" -label_key = "settings.shortcut_entity_1.label" -description_key = "settings.shortcut_entity.description" -default = "" - -[[setting]] -key = "shortcut_entity_2" -type = "string" -label_key = "settings.shortcut_entity_2.label" -description_key = "settings.shortcut_entity.description" -default = "" - -[[setting]] -key = "shortcut_entity_3" -type = "string" -label_key = "settings.shortcut_entity_3.label" -description_key = "settings.shortcut_entity.description" -default = "" - -[[setting]] -key = "shortcut_entity_4" -type = "string" -label_key = "settings.shortcut_entity_4.label" -description_key = "settings.shortcut_entity.description" -default = "" - -[[widget]] -id = "status" -entry = "widget.luau" - - [[widget.setting]] - key = "show_entity_count" - type = "bool" - label_key = "settings.show_entity_count.label" - default = false - -# Native streaming background service maintaining a live connection to HA -[[service]] -id = "connection" -entry = "service_sse.luau" - -[[shortcut]] -id = "ha_toggle_1" -entry = "shortcut.luau" - -[[shortcut]] -id = "ha_toggle_2" -entry = "shortcut_2.luau" - -[[shortcut]] -id = "ha_toggle_3" -entry = "shortcut_3.luau" - -[[shortcut]] -id = "ha_toggle_4" -entry = "shortcut_4.luau" - -[[shortcut]] -id = "ha_panel" -entry = "shortcut_panel.luau" - -[[panel]] -id = "entity_manager" -entry = "panel.luau" -width = 450 -height = 560 -placement = "floating" -position = "center" diff --git a/hassio/service_sse.luau b/hassio/service_sse.luau deleted file mode 100644 index 82b6a4a..0000000 --- a/hassio/service_sse.luau +++ /dev/null @@ -1,564 +0,0 @@ ---!nonstrict - -local haUrlRaw = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") - -local MANAGED_ENTITIES_FILE = "managed_entities.json" - -local function getCleanUrl() - if type(haUrlRaw) ~= "string" then return "" end - return (haUrlRaw:gsub("/$", "")) -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return noctalia.string.trim(haToken) -end - -local function isConfigured() - return getCleanUrl() ~= "" and getCleanToken() ~= "" -end - -local function loadManagedEntities() - local dataDir, dirErr = noctalia.pluginDataDir() - if not dataDir then - noctalia.log("Cannot resolve plugin data dir: " .. (dirErr or "unknown")) - return {} - end - - local data = noctalia.readFile(dataDir .. "/" .. MANAGED_ENTITIES_FILE) - if data and data ~= "" then - local parsed = noctalia.json.decode(data) - if type(parsed) == "table" then return parsed end - end - return {} -end - -local entities = {} -local managedSet = {} - -local function setEntities(list) - entities = list - managedSet = {} - for _, id in ipairs(entities) do - managedSet[id] = true - end -end - -setEntities(loadManagedEntities()) - -local status = "unconfigured" -local entityStates = {} -local sseActive = false -local streamHandle = nil - -local MAX_RECONNECT_RETRIES = 10 -local CONNECTED_POLL_INTERVAL_MS = 1000 -local RECONNECT_POLL_INTERVAL_MS = 1000 -local BACKOFF_POLL_INTERVAL_MS = 60000 --- The host allows 30s transfer + 10s connect, so past 35s the callback is gone. -local REQUEST_TIMEOUT_SECONDS = 35 --- The host allows 8 async callbacks per runtime. -local MAX_SNAPSHOT_REQUESTS_IN_FLIGHT = 4 -local ENTITY_FLUSH_INTERVAL_SECONDS = 0.2 - -local retryCount = 0 -local maxRetriesNotified = false -local authFailureNotified = false -local backoff = false -local connectionRequestInFlight = false -local requestStartedAt = nil - -local entitiesDirty = false -local lastEntityFlush = 0 - -local snapshotToken = 0 -local snapshotActive = false -local snapshotStartedAt = 0 -local snapshotQueue = {} -local snapshotPending = {} -local snapshotInFlight = 0 - -local function syncUpdateInterval() - if status == "connected" and sseActive then - noctalia.setUpdateInterval(CONNECTED_POLL_INTERVAL_MS) - elseif backoff then - noctalia.setUpdateInterval(BACKOFF_POLL_INTERVAL_MS) - else - noctalia.setUpdateInterval(RECONNECT_POLL_INTERVAL_MS) - end -end - -local function setStatus(next, reason) - if status == next then return end - status = next - noctalia.state.set("connection_status", status) - noctalia.log("connection status -> " .. status .. (reason and (" (" .. reason .. ")") or "")) - - if status == "connected" then - authFailureNotified = false - elseif status == "auth_failed" and not authFailureNotified then - authFailureNotified = true - noctalia.notifyError(noctalia.tr("notifications.auth_failed")) - end - - syncUpdateInterval() -end - -local function haRequest(endpoint, method, body, callback) - if not isConfigured() then return false end - - local url = getCleanUrl() .. endpoint - local cleanToken = getCleanToken() - - local jsonBody - if body then - jsonBody = noctalia.json.encode(body) - end - - local headers = { - "Authorization: Bearer " .. cleanToken, - } - if jsonBody then - table.insert(headers, "Content-Type: application/json") - end - - return noctalia.http({ - url = url, - method = method, - body = jsonBody, - headers = headers, - }, function(response: HttpResponse) - if not response then - callback({ ok = false, status = 0, body = "No response" }) - return - end - - callback({ - ok = response.status >= 200 and response.status < 300, - status = response.status, - body = response.body - }) - end) -end - -local function supportsColorMode(modes, targets) - if type(modes) ~= "table" then return false end - for _, mode in ipairs(modes) do - for _, target in ipairs(targets) do - if mode == target then return true end - end - end - return false -end - -local function processEntity(state) - if not state then return nil end - - local attrs = state.attributes or {} - local modes = attrs.supported_color_modes or {} - - -- stored as mireds for the panel slider - local colorTemp = -1 - if attrs.color_temp_kelvin and attrs.color_temp_kelvin > 0 then - colorTemp = math.floor(1000000 / attrs.color_temp_kelvin + 0.5) - elseif attrs.color_temp and attrs.color_temp > 0 then - colorTemp = attrs.color_temp - end - - local currentColor = "" - if type(attrs.rgb_color) == "table" and #attrs.rgb_color == 3 then - currentColor = attrs.rgb_color[1] .. "," .. attrs.rgb_color[2] .. "," .. attrs.rgb_color[3] - end - - return { - entity_id = state.entity_id, - state = state.state, - friendly_name = attrs.friendly_name or state.entity_id, - domain = state.entity_id:match("^([^.]+)"), - unit = attrs.unit_of_measurement or "", - brightness = attrs.brightness or -1, - color_temp = colorTemp, - hue = (type(attrs.hs_color) == "table") and (attrs.hs_color[1] or 0) or 0, - current_color = currentColor, - supports_brightness = supportsColorMode(modes, {"brightness","color_temp","hs","xy","rgb","rgbw","rgbww"}), - supports_color_temp = supportsColorMode(modes, {"color_temp"}), - supports_rgb = supportsColorMode(modes, {"hs","xy","rgb","rgbw","rgbww"}), - } -end - -local function publishEntities() - local count = 0 - for _ in pairs(entityStates) do - count = count + 1 - end - noctalia.state.set("entities", entityStates) - noctalia.state.set("entity_count", count) - entitiesDirty = false - lastEntityFlush = os.clock() -end - --- Every publish is re-decoded by every watcher, so bursts get coalesced. -local function markEntitiesDirty() - entitiesDirty = true - if (os.clock() - lastEntityFlush) >= ENTITY_FLUSH_INTERVAL_SECONDS then - publishEntities() - end -end - -local function isManaged(entityId) - return managedSet[entityId] == true -end - -local function updateEntity(entityId, newState) - if not isManaged(entityId) then return end - - local processed = processEntity(newState) - if not processed then return end - - entityStates[entityId] = processed - if snapshotActive then - -- don't let the in-flight round overwrite fresher live data - snapshotPending[entityId] = processed - end - markEntitiesDirty() -end - -local currentEvent = { - data = "", - event = "", -} - -local function eventTypeOf(parsed) - if currentEvent.event and currentEvent.event ~= "" then - return currentEvent.event - end - return parsed.event_type -end - -local function tryDispatch() - if not currentEvent.data then return end - local parsed = noctalia.json.decode(currentEvent.data) - if not parsed then return end - if eventTypeOf(parsed) ~= "state_changed" then return end - local inner = parsed.data or {} - if inner.entity_id and inner.new_state then - updateEntity(inner.entity_id, inner.new_state) - end -end - -local function processSSELine(line) - if line == "" then - tryDispatch() - currentEvent = {} - elseif line:match("^event:") then - if currentEvent.data then tryDispatch() end - currentEvent = { event = line:match("^event:%s*(.+)") or "" } - elseif line:match("^data:") then - local data = line:match("^data:%s*(.+)") or "" - local parsed = noctalia.json.decode(data) - if parsed then - if eventTypeOf(parsed) == "state_changed" then - local inner = parsed.data or {} - if inner.entity_id and inner.new_state then - updateEntity(inner.entity_id, inner.new_state) - currentEvent = {} - return - end - end - end - if currentEvent.data and currentEvent.data ~= "" then - currentEvent.data = currentEvent.data .. "\n" .. data - else - currentEvent.data = data - end - end -end - -local pumpSnapshot -local finishSnapshot -local fetchSnapshot -local startSSEStream -local connect - -function finishSnapshot() - snapshotActive = false - snapshotToken = snapshotToken + 1 - - local merged = {} - for _, id in ipairs(entities) do - merged[id] = snapshotPending[id] or entityStates[id] - end - entityStates = merged - snapshotPending = {} - snapshotQueue = {} - publishEntities() -end - -function pumpSnapshot() - if not snapshotActive then return end - - local token = snapshotToken - - while snapshotInFlight < MAX_SNAPSHOT_REQUESTS_IN_FLIGHT and #snapshotQueue > 0 do - local entityId = snapshotQueue[1] - snapshotInFlight = snapshotInFlight + 1 - - local launched = haRequest("/api/states/" .. entityId, "GET", nil, function(res) - if token ~= snapshotToken then return end - snapshotInFlight = snapshotInFlight - 1 - - if res.status == 404 then - noctalia.log("Entity not found in Home Assistant: " .. entityId) - elseif res.ok and res.body and res.body ~= "" then - local state = noctalia.json.decode(res.body) - if type(state) == "table" and state.entity_id then - snapshotPending[entityId] = processEntity(state) - end - end - - pumpSnapshot() - if snapshotActive and snapshotInFlight == 0 and #snapshotQueue == 0 then - finishSnapshot() - end - end) - - if not launched then - snapshotInFlight = snapshotInFlight - 1 - return - end - - table.remove(snapshotQueue, 1) - end - - if snapshotInFlight == 0 and #snapshotQueue == 0 then - finishSnapshot() - end -end - -function fetchSnapshot() - snapshotToken = snapshotToken + 1 - snapshotActive = true - snapshotStartedAt = os.clock() - snapshotInFlight = 0 - snapshotPending = {} - snapshotQueue = {} - for _, id in ipairs(entities) do - if type(id) == "string" and id ~= "" then - table.insert(snapshotQueue, id) - end - end - pumpSnapshot() -end - -function connect() - if not isConfigured() or connectionRequestInFlight then return end - - requestStartedAt = os.clock() - connectionRequestInFlight = true - - local launched = haRequest("/api/", "GET", nil, function(res) - connectionRequestInFlight = false - requestStartedAt = nil - - if res.status == 0 then - noctalia.log("Cannot reach Home Assistant (connection failed)") - setStatus("unreachable", "transport failure") - return - end - - if res.status == 401 or res.status == 403 then - setStatus("auth_failed", "http " .. tostring(res.status)) - return - end - - if not res.ok then - noctalia.log("Home Assistant API probe failed: status " .. tostring(res.status)) - setStatus("disconnected", "http " .. tostring(res.status)) - return - end - - retryCount = 0 - maxRetriesNotified = false - backoff = false - setStatus("connected", "api reachable") - - if not startSSEStream() then - setStatus("disconnected", "stream failed to start") - return - end - - fetchSnapshot() - syncUpdateInterval() - end) - - if not launched then - connectionRequestInFlight = false - requestStartedAt = nil - setStatus("unreachable", "request not launched") - end -end - -function startSSEStream() - if sseActive then return true end - - local cleanToken = getCleanToken() - if cleanToken == "" then - return false - end - - local url = getCleanUrl() .. "/api/stream?restrict=state_changed" - - noctalia.log("Starting SSE stream") - currentEvent = { data = "", event = "" } - - local handle - handle = noctalia.httpStream({ - url = url, - headers = { - "Accept: text/event-stream", - "Authorization: Bearer " .. cleanToken, - }, - }, function(line) - processSSELine(line) - end, function(result) - if streamHandle ~= handle then return end - - streamHandle = nil - sseActive = false - currentEvent = {} - - if result and (result.status == 401 or result.status == 403) then - setStatus("auth_failed", "stream http " .. tostring(result.status)) - return - end - - -- 404 here means this HA serves no /api/stream, which otherwise looks like a flaky link. - noctalia.log("SSE stream closed (status " .. tostring(result and result.status or 0) .. ")") - setStatus("disconnected", "stream closed") - syncUpdateInterval() - end) - - if not handle then - noctalia.log("Failed to start SSE stream") - return false - end - - streamHandle = handle - sseActive = true - syncUpdateInterval() - return true -end - -noctalia.state.watch("command", function(cmd) - if cmd == "refresh" then - -- Do NOT clear sseActive: that bypasses startSSEStream()'s duplicate guard. - if status == "connected" then - if not sseActive then startSSEStream() end - fetchSnapshot() - else - connect() - end - elseif cmd == "reload_entities" then - local override = noctalia.state.get("entities_override") - if type(override) == "table" then - setEntities(override) - else - setEntities(loadManagedEntities()) - end - -- Filtering is client-side, so only the snapshot needs refetching. - if status == "connected" then - fetchSnapshot() - else - connect() - end - end -end) - -noctalia.state.watch("panel_open_signal", function(value) - if value then - retryCount = 0 - maxRetriesNotified = false - backoff = false - syncUpdateInterval() - end -end) - -function update() - if not isConfigured() then - setStatus("unconfigured", "no url or token") - if streamHandle then - streamHandle.stop() - streamHandle = nil - end - sseActive = false - syncUpdateInterval() - return - end - - if entitiesDirty and (os.clock() - lastEntityFlush) >= ENTITY_FLUSH_INTERVAL_SECONDS then - publishEntities() - end - - if snapshotActive then - if (os.clock() - snapshotStartedAt) > REQUEST_TIMEOUT_SECONDS then - noctalia.log("Entity snapshot timed out; publishing what arrived") - finishSnapshot() - else - pumpSnapshot() - end - end - - if connectionRequestInFlight and (os.clock() - (requestStartedAt or 0)) > REQUEST_TIMEOUT_SECONDS then - connectionRequestInFlight = false - requestStartedAt = nil - setStatus("disconnected", "request timed out") - end - - if status == "connected" and not sseActive then - setStatus("disconnected", "stream missing") - end - - -- Reconverge the store in case a publish was dropped mid-callback. - if noctalia.state.get("connection_status") ~= status then - noctalia.state.set("connection_status", status) - end - - if status ~= "connected" and not connectionRequestInFlight then - retryCount = retryCount + 1 - if retryCount >= MAX_RECONNECT_RETRIES and not backoff then - backoff = true - if not maxRetriesNotified then - maxRetriesNotified = true - if not authFailureNotified then - noctalia.notifyError(noctalia.tr("notifications.reconnect_failed", { count = MAX_RECONNECT_RETRIES })) - end - end - end - - setStatus("connecting", "attempt " .. tostring(retryCount)) - connect() - end - - syncUpdateInterval() -end - -function onExit() - if streamHandle then - streamHandle.stop() - streamHandle = nil - end - sseActive = false - snapshotActive = false -end - -noctalia.state.set("connection_status", status) -noctalia.state.set("entity_count", 0) -noctalia.state.set("entities", {}) - -if isConfigured() then - setStatus("connecting", "startup") - connect() -end - -syncUpdateInterval() diff --git a/hassio/shortcut.luau b/hassio/shortcut.luau deleted file mode 100644 index e5aba23..0000000 --- a/hassio/shortcut.luau +++ /dev/null @@ -1,155 +0,0 @@ ---!nonstrict - -local haUrl = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") -local configuredEntityId = noctalia.getConfig("shortcut_entity_1") or "" -local SLOT_LABEL = noctalia.tr("shortcut.label_1") - -local entityStates = {} -local pendingToggle = {} -local pendingSince = {} -local pendingTimerToken = {} -local pendingTimerSeq = 0 - -local PENDING_TIMEOUT_SECONDS = 8 -local render - -local function getCleanUrl() - if type(haUrl) ~= "string" then return "" end - return (haUrl:gsub("/$", "")) -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return haToken:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function stateGlyph(domain, isOn) - if domain == "light" then return isOn and "bulb" or "bulb-off" - elseif domain == "switch" or domain == "input_boolean" then return isOn and "toggle-right" or "toggle-left" - elseif domain == "fan" then return isOn and "wind" or "wind-off" - elseif domain == "lock" then return isOn and "lock" or "lock-open" - elseif domain == "cover" then return isOn and "door-open" or "door" - end - return "smart-home" -end - -local function getEntity() - if configuredEntityId == "" then return nil end - return entityStates[configuredEntityId] -end - -local function clearPending(entityId) - pendingToggle[entityId] = nil - pendingSince[entityId] = nil - pendingTimerToken[entityId] = nil -end - -local function isPendingTimedOut(entityId, now) - local startedAt = pendingSince[entityId] - if not startedAt then return false end - return (now or os.clock()) - startedAt >= PENDING_TIMEOUT_SECONDS -end - -local function reconcilePending(now) - for entityId, expected in pairs(pendingToggle) do - local real = entityStates[entityId] - if not real or real.state == expected or isPendingTimedOut(entityId, now) then - clearPending(entityId) - end - end -end - -local function schedulePendingTimeout(entityId) - pendingTimerSeq = pendingTimerSeq + 1 - local token = pendingTimerSeq - pendingSince[entityId] = os.clock() - pendingTimerToken[entityId] = token - - noctalia.runAsync("sleep " .. tostring(PENDING_TIMEOUT_SECONDS), function(_result) - if pendingTimerToken[entityId] ~= token then return end - if pendingToggle[entityId] and isPendingTimedOut(entityId) then - clearPending(entityId) - render() - end - end) -end - -render = function() - reconcilePending(os.clock()) - - local entity = getEntity() - - if not entity then - shortcut.setLabel(configuredEntityId ~= "" and configuredEntityId or SLOT_LABEL) - shortcut.setIcon("smart-home") - shortcut.setActive(false) - shortcut.setEnabled(false) - return - end - - local eid = entity.entity_id - local pending = pendingToggle[eid] - - if pending then - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon("loader") - shortcut.setActive(pending == "on") - shortcut.setEnabled(false) - return - end - - local isOn = entity.state == "on" - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon(stateGlyph(entity.domain, true), stateGlyph(entity.domain, false)) - shortcut.setActive(isOn) - shortcut.setEnabled(true) -end - -noctalia.state.watch("entities", function(value) - entityStates = value or {} - reconcilePending(os.clock()) - render() -end) - -noctalia.state.watch("connection_status", function(_value) - render() -end) - -function onClick() - reconcilePending(os.clock()) - - local entity = getEntity() - local cleanToken = getCleanToken() - if not entity or getCleanUrl() == "" or cleanToken == "" then return end - - local eid = entity.entity_id - if pendingToggle[eid] then return end - - local newState = entity.state == "on" and "off" or "on" - pendingToggle[eid] = newState - schedulePendingTimeout(eid) - - local encoded = noctalia.json.encode({ entity_id = eid }) - - noctalia.http({ - url = getCleanUrl() .. "/api/services/" .. entity.domain .. "/toggle", - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = encoded, - }, function(response) - local httpStatus = response and response.status or 0 - if httpStatus >= 200 and httpStatus < 300 then return end - noctalia.log("Home Assistant rejected toggle for " .. eid .. ": status " .. tostring(httpStatus)) - clearPending(eid) - render() - end) - - render() -end - -entityStates = noctalia.state.get("entities") or {} -render() diff --git a/hassio/shortcut_2.luau b/hassio/shortcut_2.luau deleted file mode 100644 index 690cd68..0000000 --- a/hassio/shortcut_2.luau +++ /dev/null @@ -1,155 +0,0 @@ ---!nonstrict - -local haUrl = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") -local configuredEntityId = noctalia.getConfig("shortcut_entity_2") or "" -local SLOT_LABEL = noctalia.tr("shortcut.label_2") - -local entityStates = {} -local pendingToggle = {} -local pendingSince = {} -local pendingTimerToken = {} -local pendingTimerSeq = 0 - -local PENDING_TIMEOUT_SECONDS = 8 -local render - -local function getCleanUrl() - if type(haUrl) ~= "string" then return "" end - return (haUrl:gsub("/$", "")) -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return haToken:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function stateGlyph(domain, isOn) - if domain == "light" then return isOn and "bulb" or "bulb-off" - elseif domain == "switch" or domain == "input_boolean" then return isOn and "toggle-right" or "toggle-left" - elseif domain == "fan" then return isOn and "wind" or "wind-off" - elseif domain == "lock" then return isOn and "lock" or "lock-open" - elseif domain == "cover" then return isOn and "door-open" or "door" - end - return "smart-home" -end - -local function getEntity() - if configuredEntityId == "" then return nil end - return entityStates[configuredEntityId] -end - -local function clearPending(entityId) - pendingToggle[entityId] = nil - pendingSince[entityId] = nil - pendingTimerToken[entityId] = nil -end - -local function isPendingTimedOut(entityId, now) - local startedAt = pendingSince[entityId] - if not startedAt then return false end - return (now or os.clock()) - startedAt >= PENDING_TIMEOUT_SECONDS -end - -local function reconcilePending(now) - for entityId, expected in pairs(pendingToggle) do - local real = entityStates[entityId] - if not real or real.state == expected or isPendingTimedOut(entityId, now) then - clearPending(entityId) - end - end -end - -local function schedulePendingTimeout(entityId) - pendingTimerSeq = pendingTimerSeq + 1 - local token = pendingTimerSeq - pendingSince[entityId] = os.clock() - pendingTimerToken[entityId] = token - - noctalia.runAsync("sleep " .. tostring(PENDING_TIMEOUT_SECONDS), function(_result) - if pendingTimerToken[entityId] ~= token then return end - if pendingToggle[entityId] and isPendingTimedOut(entityId) then - clearPending(entityId) - render() - end - end) -end - -render = function() - reconcilePending(os.clock()) - - local entity = getEntity() - - if not entity then - shortcut.setLabel(configuredEntityId ~= "" and configuredEntityId or SLOT_LABEL) - shortcut.setIcon("smart-home") - shortcut.setActive(false) - shortcut.setEnabled(false) - return - end - - local eid = entity.entity_id - local pending = pendingToggle[eid] - - if pending then - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon("loader") - shortcut.setActive(pending == "on") - shortcut.setEnabled(false) - return - end - - local isOn = entity.state == "on" - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon(stateGlyph(entity.domain, true), stateGlyph(entity.domain, false)) - shortcut.setActive(isOn) - shortcut.setEnabled(true) -end - -noctalia.state.watch("entities", function(value) - entityStates = value or {} - reconcilePending(os.clock()) - render() -end) - -noctalia.state.watch("connection_status", function(_value) - render() -end) - -function onClick() - reconcilePending(os.clock()) - - local entity = getEntity() - local cleanToken = getCleanToken() - if not entity or getCleanUrl() == "" or cleanToken == "" then return end - - local eid = entity.entity_id - if pendingToggle[eid] then return end - - local newState = entity.state == "on" and "off" or "on" - pendingToggle[eid] = newState - schedulePendingTimeout(eid) - - local encoded = noctalia.json.encode({ entity_id = eid }) - - noctalia.http({ - url = getCleanUrl() .. "/api/services/" .. entity.domain .. "/toggle", - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = encoded, - }, function(response) - local httpStatus = response and response.status or 0 - if httpStatus >= 200 and httpStatus < 300 then return end - noctalia.log("Home Assistant rejected toggle for " .. eid .. ": status " .. tostring(httpStatus)) - clearPending(eid) - render() - end) - - render() -end - -entityStates = noctalia.state.get("entities") or {} -render() diff --git a/hassio/shortcut_3.luau b/hassio/shortcut_3.luau deleted file mode 100644 index 9961f71..0000000 --- a/hassio/shortcut_3.luau +++ /dev/null @@ -1,155 +0,0 @@ ---!nonstrict - -local haUrl = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") -local configuredEntityId = noctalia.getConfig("shortcut_entity_3") or "" -local SLOT_LABEL = noctalia.tr("shortcut.label_3") - -local entityStates = {} -local pendingToggle = {} -local pendingSince = {} -local pendingTimerToken = {} -local pendingTimerSeq = 0 - -local PENDING_TIMEOUT_SECONDS = 8 -local render - -local function getCleanUrl() - if type(haUrl) ~= "string" then return "" end - return (haUrl:gsub("/$", "")) -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return haToken:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function stateGlyph(domain, isOn) - if domain == "light" then return isOn and "bulb" or "bulb-off" - elseif domain == "switch" or domain == "input_boolean" then return isOn and "toggle-right" or "toggle-left" - elseif domain == "fan" then return isOn and "wind" or "wind-off" - elseif domain == "lock" then return isOn and "lock" or "lock-open" - elseif domain == "cover" then return isOn and "door-open" or "door" - end - return "smart-home" -end - -local function getEntity() - if configuredEntityId == "" then return nil end - return entityStates[configuredEntityId] -end - -local function clearPending(entityId) - pendingToggle[entityId] = nil - pendingSince[entityId] = nil - pendingTimerToken[entityId] = nil -end - -local function isPendingTimedOut(entityId, now) - local startedAt = pendingSince[entityId] - if not startedAt then return false end - return (now or os.clock()) - startedAt >= PENDING_TIMEOUT_SECONDS -end - -local function reconcilePending(now) - for entityId, expected in pairs(pendingToggle) do - local real = entityStates[entityId] - if not real or real.state == expected or isPendingTimedOut(entityId, now) then - clearPending(entityId) - end - end -end - -local function schedulePendingTimeout(entityId) - pendingTimerSeq = pendingTimerSeq + 1 - local token = pendingTimerSeq - pendingSince[entityId] = os.clock() - pendingTimerToken[entityId] = token - - noctalia.runAsync("sleep " .. tostring(PENDING_TIMEOUT_SECONDS), function(_result) - if pendingTimerToken[entityId] ~= token then return end - if pendingToggle[entityId] and isPendingTimedOut(entityId) then - clearPending(entityId) - render() - end - end) -end - -render = function() - reconcilePending(os.clock()) - - local entity = getEntity() - - if not entity then - shortcut.setLabel(configuredEntityId ~= "" and configuredEntityId or SLOT_LABEL) - shortcut.setIcon("smart-home") - shortcut.setActive(false) - shortcut.setEnabled(false) - return - end - - local eid = entity.entity_id - local pending = pendingToggle[eid] - - if pending then - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon("loader") - shortcut.setActive(pending == "on") - shortcut.setEnabled(false) - return - end - - local isOn = entity.state == "on" - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon(stateGlyph(entity.domain, true), stateGlyph(entity.domain, false)) - shortcut.setActive(isOn) - shortcut.setEnabled(true) -end - -noctalia.state.watch("entities", function(value) - entityStates = value or {} - reconcilePending(os.clock()) - render() -end) - -noctalia.state.watch("connection_status", function(_value) - render() -end) - -function onClick() - reconcilePending(os.clock()) - - local entity = getEntity() - local cleanToken = getCleanToken() - if not entity or getCleanUrl() == "" or cleanToken == "" then return end - - local eid = entity.entity_id - if pendingToggle[eid] then return end - - local newState = entity.state == "on" and "off" or "on" - pendingToggle[eid] = newState - schedulePendingTimeout(eid) - - local encoded = noctalia.json.encode({ entity_id = eid }) - - noctalia.http({ - url = getCleanUrl() .. "/api/services/" .. entity.domain .. "/toggle", - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = encoded, - }, function(response) - local httpStatus = response and response.status or 0 - if httpStatus >= 200 and httpStatus < 300 then return end - noctalia.log("Home Assistant rejected toggle for " .. eid .. ": status " .. tostring(httpStatus)) - clearPending(eid) - render() - end) - - render() -end - -entityStates = noctalia.state.get("entities") or {} -render() diff --git a/hassio/shortcut_4.luau b/hassio/shortcut_4.luau deleted file mode 100644 index 33e911d..0000000 --- a/hassio/shortcut_4.luau +++ /dev/null @@ -1,155 +0,0 @@ ---!nonstrict - -local haUrl = noctalia.getConfig("ha_url") -local haToken = noctalia.getConfig("ha_token") -local configuredEntityId = noctalia.getConfig("shortcut_entity_4") or "" -local SLOT_LABEL = noctalia.tr("shortcut.label_4") - -local entityStates = {} -local pendingToggle = {} -local pendingSince = {} -local pendingTimerToken = {} -local pendingTimerSeq = 0 - -local PENDING_TIMEOUT_SECONDS = 8 -local render - -local function getCleanUrl() - if type(haUrl) ~= "string" then return "" end - return (haUrl:gsub("/$", "")) -end - -local function getCleanToken() - if type(haToken) ~= "string" then return "" end - return haToken:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function stateGlyph(domain, isOn) - if domain == "light" then return isOn and "bulb" or "bulb-off" - elseif domain == "switch" or domain == "input_boolean" then return isOn and "toggle-right" or "toggle-left" - elseif domain == "fan" then return isOn and "wind" or "wind-off" - elseif domain == "lock" then return isOn and "lock" or "lock-open" - elseif domain == "cover" then return isOn and "door-open" or "door" - end - return "smart-home" -end - -local function getEntity() - if configuredEntityId == "" then return nil end - return entityStates[configuredEntityId] -end - -local function clearPending(entityId) - pendingToggle[entityId] = nil - pendingSince[entityId] = nil - pendingTimerToken[entityId] = nil -end - -local function isPendingTimedOut(entityId, now) - local startedAt = pendingSince[entityId] - if not startedAt then return false end - return (now or os.clock()) - startedAt >= PENDING_TIMEOUT_SECONDS -end - -local function reconcilePending(now) - for entityId, expected in pairs(pendingToggle) do - local real = entityStates[entityId] - if not real or real.state == expected or isPendingTimedOut(entityId, now) then - clearPending(entityId) - end - end -end - -local function schedulePendingTimeout(entityId) - pendingTimerSeq = pendingTimerSeq + 1 - local token = pendingTimerSeq - pendingSince[entityId] = os.clock() - pendingTimerToken[entityId] = token - - noctalia.runAsync("sleep " .. tostring(PENDING_TIMEOUT_SECONDS), function(_result) - if pendingTimerToken[entityId] ~= token then return end - if pendingToggle[entityId] and isPendingTimedOut(entityId) then - clearPending(entityId) - render() - end - end) -end - -render = function() - reconcilePending(os.clock()) - - local entity = getEntity() - - if not entity then - shortcut.setLabel(configuredEntityId ~= "" and configuredEntityId or SLOT_LABEL) - shortcut.setIcon("smart-home") - shortcut.setActive(false) - shortcut.setEnabled(false) - return - end - - local eid = entity.entity_id - local pending = pendingToggle[eid] - - if pending then - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon("loader") - shortcut.setActive(pending == "on") - shortcut.setEnabled(false) - return - end - - local isOn = entity.state == "on" - shortcut.setLabel(entity.friendly_name or eid) - shortcut.setIcon(stateGlyph(entity.domain, true), stateGlyph(entity.domain, false)) - shortcut.setActive(isOn) - shortcut.setEnabled(true) -end - -noctalia.state.watch("entities", function(value) - entityStates = value or {} - reconcilePending(os.clock()) - render() -end) - -noctalia.state.watch("connection_status", function(_value) - render() -end) - -function onClick() - reconcilePending(os.clock()) - - local entity = getEntity() - local cleanToken = getCleanToken() - if not entity or getCleanUrl() == "" or cleanToken == "" then return end - - local eid = entity.entity_id - if pendingToggle[eid] then return end - - local newState = entity.state == "on" and "off" or "on" - pendingToggle[eid] = newState - schedulePendingTimeout(eid) - - local encoded = noctalia.json.encode({ entity_id = eid }) - - noctalia.http({ - url = getCleanUrl() .. "/api/services/" .. entity.domain .. "/toggle", - method = "POST", - headers = { - "Authorization: Bearer " .. cleanToken, - "Content-Type: application/json", - }, - body = encoded, - }, function(response) - local httpStatus = response and response.status or 0 - if httpStatus >= 200 and httpStatus < 300 then return end - noctalia.log("Home Assistant rejected toggle for " .. eid .. ": status " .. tostring(httpStatus)) - clearPending(eid) - render() - end) - - render() -end - -entityStates = noctalia.state.get("entities") or {} -render() diff --git a/hassio/shortcut_panel.luau b/hassio/shortcut_panel.luau deleted file mode 100644 index 3b0e832..0000000 --- a/hassio/shortcut_panel.luau +++ /dev/null @@ -1,10 +0,0 @@ ---!nonstrict - -shortcut.setLabel(noctalia.tr("shortcut.panel_label")) -shortcut.setIcon("layout-list") -shortcut.setActive(false) -shortcut.setEnabled(true) - -function onClick() - noctalia.togglePanel("pozzoo/hassio:entity_manager") -end diff --git a/hassio/thumbnail.webp b/hassio/thumbnail.webp deleted file mode 100644 index af01f61374330db347408d6605c99918f8fde22e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48548 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 MU3)pVsyQ$K0J{R*Q2+n{ diff --git a/hassio/translations/en.json b/hassio/translations/en.json deleted file mode 100644 index dfa43ac..0000000 --- a/hassio/translations/en.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "notifications": { - "auth_failed": "Authentication failed. Check your access token.", - "reconnect_failed": "Unable to reconnect to Home Assistant after {count} attempts." - }, - "panel": { - "auth_failed": "Authentication failed. Check your access token.", - "brightness": "Brightness", - "browser_truncated": "Showing the first {count} matches. Refine your search to narrow it down.", - "color_temp": "Color Temperature", - "connecting": "Connecting…", - "disconnected_reconnecting": "Disconnected. Reconnecting…", - "hue": "Hue", - "load_entities_failed": "Could not load the entity list. Try again.", - "loading_entities": "Loading entities…", - "manage_entities_title": "Manage Entities", - "no_entities_found": "No entities found", - "no_entities_match": "No entities match your search", - "no_entities_monitored": "No entities monitored yet. Use the browser to add some.", - "not_configured": "Not configured. Set your Home Assistant URL and token in settings.", - "save_failed": "Failed to save monitored entities", - "save_failed_no_data_dir": "Could not save: plugin data directory unavailable", - "search_placeholder": "Search entities…", - "state_on_brightness": "On · {percent}%", - "status_fallback": "Status: {status}", - "unreachable": "Cannot reach Home Assistant. Check the URL and that the server is running." - }, - "settings": { - "shortcut_entity": { - "description": "Home Assistant entity ID to show and toggle on this tile (e.g. light.living_room)." - }, - "shortcut_entity_1": { - "label": "Quick Toggle 1 - Entity ID" - }, - "shortcut_entity_2": { - "label": "Quick Toggle 2 - Entity ID" - }, - "shortcut_entity_3": { - "label": "Quick Toggle 3 - Entity ID" - }, - "shortcut_entity_4": { - "label": "Quick Toggle 4 - Entity ID" - }, - "show_entity_count": { - "label": "Show entity count in widget" - }, - "token": { - "description": "Create a token in Home Assistant under Profile → Security → Long-lived access tokens", - "label": "Long-Lived Access Token" - }, - "url": { - "description": "The URL to your Home Assistant instance (e.g., http://homeassistant.local:8123)", - "label": "Home Assistant URL" - } - }, - "shortcut": { - "label_1": "Quick Toggle 1", - "label_2": "Quick Toggle 2", - "label_3": "Quick Toggle 3", - "label_4": "Quick Toggle 4", - "panel_label": "Entity Manager", - "title": "Home Assistant" - }, - "widget": { - "refreshing_connection": "Refreshing connection…", - "status_auth_failed": "Auth Failed", - "status_connected": "Connected", - "status_connecting": "Connecting", - "status_disconnected": "Disconnected", - "status_unconfigured": "Not Configured", - "status_unreachable": "Unreachable", - "tooltip": "Home Assistant: {status}", - "tooltip_entities": "Home Assistant: {status} ({count} entities)" - } -} diff --git a/hassio/translations/pt-BR.json b/hassio/translations/pt-BR.json deleted file mode 100644 index 57f2e99..0000000 --- a/hassio/translations/pt-BR.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "notifications": { - "auth_failed": "Falha na autenticação. Verifique seu token de acesso.", - "reconnect_failed": "Não foi possível reconectar ao Home Assistant após {count} tentativas." - }, - "panel": { - "auth_failed": "Falha na autenticação. Verifique seu token de acesso.", - "brightness": "Brilho", - "browser_truncated": "Mostrando as primeiras {count} correspondências. Refine sua busca para reduzir a lista.", - "color_temp": "Temperatura de Cor", - "connecting": "Conectando…", - "disconnected_reconnecting": "Desconectado. Reconectando…", - "hue": "Matiz", - "load_entities_failed": "Não foi possível carregar a lista de entidades. Tente novamente.", - "loading_entities": "Carregando entidades…", - "manage_entities_title": "Gerenciar Entidades", - "no_entities_found": "Nenhuma entidade encontrada", - "no_entities_match": "Nenhuma entidade corresponde à sua busca", - "no_entities_monitored": "Nenhuma entidade monitorada ainda. Use o navegador para adicionar.", - "not_configured": "Não configurado. Defina a URL e o token do Home Assistant nas configurações.", - "save_failed": "Falha ao salvar as entidades monitoradas", - "save_failed_no_data_dir": "Não foi possível salvar: diretório de dados do plugin indisponível", - "search_placeholder": "Buscar entidades…", - "state_on_brightness": "Ligado · {percent}%", - "status_fallback": "Status: {status}", - "unreachable": "Não foi possível acessar o Home Assistant. Verifique a URL e se o servidor está em execução." - }, - "settings": { - "shortcut_entity": { - "description": "ID da entidade do Home Assistant para mostrar e alternar neste espaço (e.g. light.living_room)." - }, - "shortcut_entity_1": { - "label": "Botão Rápido 1 - ID da Entidade" - }, - "shortcut_entity_2": { - "label": "Botão Rápido 2 - ID da Entidade" - }, - "shortcut_entity_3": { - "label": "Botão Rápido 3 - ID da Entidade" - }, - "shortcut_entity_4": { - "label": "Botão Rápido 4 - ID da Entidade" - }, - "show_entity_count": { - "label": "Mostrar o Número de Entidades" - }, - "token": { - "description": "Crie um token no Home Assistant em Profile → Security → Long-lived access tokens", - "label": "Token de Acesso Longo" - }, - "url": { - "description": "A URL para sua instância do Home Assistant (e.g., http://homeassistant.local:8123)", - "label": "URL do Home Assistant" - } - }, - "shortcut": { - "label_1": "Botão Rápido 1", - "label_2": "Botão Rápido 2", - "label_3": "Botão Rápido 3", - "label_4": "Botão Rápido 4", - "panel_label": "Gerenciador de Entidades", - "title": "Home Assistant" - }, - "widget": { - "refreshing_connection": "Atualizando conexão…", - "status_auth_failed": "Falha de Autenticação", - "status_connected": "Conectado", - "status_connecting": "Conectando", - "status_disconnected": "Desconectado", - "status_unconfigured": "Não Configurado", - "status_unreachable": "Inacessível", - "tooltip": "Home Assistant: {status}", - "tooltip_entities": "Home Assistant: {status} ({count} entidades)" - } -} diff --git a/hassio/widget.luau b/hassio/widget.luau deleted file mode 100644 index d616fab..0000000 --- a/hassio/widget.luau +++ /dev/null @@ -1,104 +0,0 @@ ---!nonstrict - -local haUrlRaw = noctalia.getConfig("ha_url") -local showEntityCount = noctalia.getConfig("show_entity_count") - -local status = "unconfigured" -local entityCount = 0 - -local render - -local function getCleanUrl() - if type(haUrlRaw) ~= "string" then return "" end - return (haUrlRaw:gsub("/$", "")) -end - -local function tr(key, subst) - return noctalia.tr("widget." .. key, subst) -end - -noctalia.state.watch("connection_status", function(value) - status = value or "unconfigured" - if render then render() end -end) - -noctalia.state.watch("entity_count", function(value) - entityCount = value or 0 - if render then render() end -end) - -local function getStatusText() - if status == "connected" then - return tr("status_connected") - elseif status == "connecting" then - return tr("status_connecting") - elseif status == "disconnected" then - return tr("status_disconnected") - elseif status == "unreachable" then - return tr("status_unreachable") - elseif status == "auth_failed" then - return tr("status_auth_failed") - else - return tr("status_unconfigured") - end -end - -local function getStatusColor() - if status == "connected" then - return "primary" - elseif status == "connecting" then - return "on_error" - elseif status == "disconnected" or status == "unreachable" or status == "auth_failed" then - return "error" - else - return "on_surface_variant" - end -end - -render = function() - barWidget.setGlyph("smart-home") - barWidget.setGlyphColor(getStatusColor()) - - if showEntityCount and entityCount > 0 then - barWidget.setText(tostring(entityCount)) - barWidget.setTooltip(tr("tooltip_entities", { - status = getStatusText(), - count = entityCount - })) - else - barWidget.setTooltip(tr("tooltip", { - status = getStatusText() - })) - end -end - -function update() - noctalia.setUpdateInterval(5000) - - if status == "unconfigured" then - local serviceStatus = noctalia.state.get("connection_status") - if serviceStatus then - status = serviceStatus - end - end - - render() -end - -function onClick() - noctalia.togglePanel("pozzoo/hassio:entity_manager") -end - -function onRightClick() - local url = getCleanUrl() - if url and url ~= "" then - noctalia.runAsync("xdg-open " .. ("'" .. url:gsub("'", "'\\''") .. "'")) - end -end - -function onIpc(event, payload) - if event == "refresh" then - noctalia.state.set("command", "refresh") - noctalia.notify(noctalia.tr("shortcut.title"), tr("refreshing_connection")) - end -end diff --git a/hotspot/README.md b/hotspot/README.md deleted file mode 100644 index 20d1933..0000000 --- a/hotspot/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# Wi-Fi Hotspot - -Start and stop a NetworkManager Wi-Fi hotspot from the bar, inspect connected -devices in a panel, and control the service over IPC. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `cleboost/hotspot` | -| Entries | Bar widget: `toggle`; shortcut: `cc-toggle`; panel: `panel`; service: `hotspot` | - -## Requirements - -Install `nmcli` from NetworkManager, plus `iw` and `ip` from iproute2, on -`PATH`. The active user must be allowed to manage NetworkManager connections -(the default on most desktop setups). - -## Usage - -1. Open the plugin settings and set the hotspot name and password. -2. Add the `toggle` widget to a bar and/or the `cc-toggle` shortcut in Settings → Control Center. -3. Left-click the bar widget to open the panel with the connected device list. -4. Right-click the bar widget, or click the Control Center shortcut, to start or stop the hotspot. - -```sh -noctalia msg panel-toggle cleboost/hotspot:panel -``` - -Starting a hotspot may disconnect the Wi-Fi adapter from its current network -while the access point is active. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `ssid` | `string` | `Noctalia Hotspot` | Network name broadcast to clients. | -| `password` | `string` | *(empty)* | WPA password. Must be at least 8 characters before starting. | -| `interface` | `string` | *(empty)* | Optional Wi-Fi interface such as `wlan0`. Auto-detected when empty. | -| `refresh_interval` | `int` | `5` | Seconds between status and client-list refreshes. | - -## IPC - -```sh -noctalia msg plugin cleboost/hotspot:hotspot all enable -noctalia msg plugin cleboost/hotspot:hotspot all disable -noctalia msg plugin cleboost/hotspot:hotspot all toggle -noctalia msg plugin cleboost/hotspot:hotspot all refresh -``` - -The `enable`, `disable`, and `toggle` events change the hotspot state. -`refresh` and `status` re-read NetworkManager without changing it. IPC events -take no payload. - -## Notes - -- The plugin uses `nmcli device wifi hotspot` to create the access point and - `nmcli connection down` to stop the active AP profile. -- Connected devices are discovered with `iw station dump` and `ip neigh`. -- The plugin makes no network requests and writes no user content to disk. -- Notifications use the host `notification-show` IPC with Wi-Fi glyphs (`wifi`, - `wifi-off`, `alert-circle`) because `noctalia.notify()` does not accept a - custom icon yet. -- Hotspots started outside Noctalia are detected when NetworkManager reports an - active `802-11-wireless` connection in `ap` mode. diff --git a/hotspot/panel.luau b/hotspot/panel.luau deleted file mode 100644 index 2097d45..0000000 --- a/hotspot/panel.luau +++ /dev/null @@ -1,208 +0,0 @@ ---!nonstrict - -local opened = false -local render - -local status = noctalia.state.get("hotspot_status") or { - active = false, - busy = false, - available = true, - clients = {}, - clientCount = 0, - error = "", -} - -local function sendCommand(action) - noctalia.state.set("hotspot_command", { action = action }) -end - -local function phaseDetails() - if status.busy == true then - if status.active == true then - return noctalia.tr("panel.status.stopping_title"), noctalia.tr("panel.status.stopping_message"), "on_surface_variant", "loader-2" - end - return noctalia.tr("panel.status.starting_title"), noctalia.tr("panel.status.starting_message"), "on_surface_variant", "loader-2" - end - - if status.active == true then - return noctalia.tr("panel.status.active_title"), noctalia.tr("panel.status.active_message", { - ssid = status.ssid or "?", - interface = status.interface or "?", - }), "tertiary", "router" - end - - if status.available == false then - local message = status.error - if message == nil or message == "" then - message = noctalia.tr("error.missing_dependencies") - end - return noctalia.tr("panel.status.error_title"), message, "error", "alert-circle" - end - - return noctalia.tr("panel.status.inactive_title"), noctalia.tr("panel.status.inactive_message"), "on_surface_variant", "wifi-off" -end - -local function clientRow(client) - local subtitle = client.mac - if client.ip ~= nil and client.ip ~= "" then - subtitle = client.ip .. " · " .. client.mac - end - - local trailing = nil - if client.signal ~= nil then - trailing = ui.label({ - text = tostring(client.signal) .. " dBm", - fontSize = 11, - color = "on_surface_variant", - }) - end - - return ui.row({ - align = "center", - gap = 10, - paddingH = 14, - paddingV = 10, - fill = "surface_variant/0.35", - radius = 10, - }, { - ui.glyph({ name = "device-mobile", size = 18, color = "primary" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = client.ip ~= "" and client.ip or client.mac, fontWeight = "medium", maxLines = 1 }), - ui.label({ text = subtitle, fontSize = 11, color = "on_surface_variant", maxLines = 1 }), - }), - trailing, - }) -end - -render = function() - local busy = status.busy == true - local active = status.active == true - local canToggle = status.available ~= false and not busy - local stateTitle, stateMessage, stateColor, stateGlyph = phaseDetails() - - local actionText = noctalia.tr("panel.action.start") - local actionGlyph = "player-play" - local actionVariant = "primary" - - if active then - actionText = noctalia.tr("panel.action.stop") - actionGlyph = "player-stop" - actionVariant = "destructive" - elseif busy then - actionText = active and noctalia.tr("panel.action.stopping") or noctalia.tr("panel.action.starting") - actionGlyph = "loader-2" - end - - local children = { - ui.row({ align = "center", justify = "space_between", gap = 8 }, { - ui.row({ align = "center", gap = 9, flexGrow = 1 }, { - ui.glyph({ name = "router", size = 18, color = "primary" }), - ui.label({ text = noctalia.tr("title"), fontSize = 16, fontWeight = "bold" }), - }), - ui.button({ - glyph = "refresh", - variant = "ghost", - tooltip = noctalia.tr("panel.refresh"), - enabled = not busy, - onClick = "onRefresh", - }), - ui.button({ - glyph = "close", - variant = "ghost", - tooltip = noctalia.tr("panel.close"), - onClick = "onCloseClicked", - }), - }), - ui.row({ - align = "center", - gap = 10, - fill = "surface_variant/0.45", - radius = 10, - padding = 12, - }, { - ui.glyph({ name = stateGlyph, size = 18, color = stateColor }), - ui.column({ gap = 3, flexGrow = 1 }, { - ui.label({ text = stateTitle, fontWeight = "medium", color = stateColor }), - ui.label({ text = stateMessage, color = "on_surface_variant", maxLines = 3 }), - }), - }), - } - - if status.gateway ~= nil and status.gateway ~= "" then - table.insert(children, ui.label({ - text = noctalia.tr("panel.gateway", { address = status.gateway }), - fontSize = 11, - color = "on_surface_variant", - })) - end - - table.insert(children, ui.button({ - text = actionText, - glyph = actionGlyph, - variant = actionVariant, - controlSize = "lg", - enabled = canToggle, - onClick = "onToggle", - })) - - table.insert(children, ui.row({ align = "center", justify = "space_between" }, { - ui.label({ - text = noctalia.tr("panel.clients_title"), - fontWeight = "medium", - color = "on_surface_variant", - }), - ui.label({ - text = tostring(status.clientCount or #(status.clients or {})), - fontSize = 11, - color = "on_surface_variant", - }), - })) - - local clients = status.clients or {} - if #clients == 0 then - table.insert(children, ui.label({ - text = active and noctalia.tr("panel.no_clients") or noctalia.tr("panel.clients_inactive"), - color = "on_surface_variant", - maxLines = 2, - padding = 12, - })) - else - local listChildren = {} - for _, client in ipairs(clients) do - table.insert(listChildren, clientRow(client)) - end - table.insert(children, ui.scroll({ flexGrow = 1, gap = 8 }, listChildren)) - end - - panel.render(ui.column({ flexGrow = 1, gap = 12 }, children)) -end - -noctalia.state.watch("hotspot_status", function(value) - if type(value) ~= "table" then return end - status = value - if opened then render() end -end) - -function onOpen(_context) - opened = true - status = noctalia.state.get("hotspot_status") or status - sendCommand("refresh") - render() -end - -function onClose() - opened = false -end - -function onCloseClicked() - panel.close() -end - -function onToggle() - if status.busy == true or status.available == false then return end - sendCommand("toggle") -end - -function onRefresh() - sendCommand("refresh") -end diff --git a/hotspot/plugin.toml b/hotspot/plugin.toml deleted file mode 100644 index a6d0f6c..0000000 --- a/hotspot/plugin.toml +++ /dev/null @@ -1,67 +0,0 @@ -id = "cleboost/hotspot" -name = "Wi-Fi Hotspot" -version = "1.1.0" -plugin_api = 9 -author = "Cleboost" -license = "MIT" -icon = "router" -description = "Start and stop a Wi-Fi hotspot from the bar or Control Center, with connected device list and IPC control." -tags = ["network", "bar", "panel", "service", "shortcut", "utility", "system", "indicator"] -dependencies = ["nmcli", "iw", "ip"] - -[[setting]] -key = "ssid" -type = "string" -label_key = "settings.ssid.label" -description_key = "settings.ssid.description" -default = "Noctalia Hotspot" - -[[setting]] -key = "password" -type = "string" -label_key = "settings.password.label" -description_key = "settings.password.description" -default = "" - -[[setting]] -key = "interface" -type = "string" -label_key = "settings.interface.label" -description_key = "settings.interface.description" -default = "" - -[[setting]] -key = "refresh_interval" -type = "int" -label_key = "settings.refresh_interval.label" -description_key = "settings.refresh_interval.description" -default = 5 -min = 2 -max = 60 - -[[service]] -id = "hotspot" -entry = "service.luau" - -[[widget]] -id = "toggle" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - default = "router" - -[[shortcut]] -id = "cc-toggle" -entry = "shortcut.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 420 -height = 520 -placement = "attached" -position = "top_right" -open_near_click = true diff --git a/hotspot/service.luau b/hotspot/service.luau deleted file mode 100644 index c4232e8..0000000 --- a/hotspot/service.luau +++ /dev/null @@ -1,502 +0,0 @@ ---!nonstrict - -local STATUS_KEY = "hotspot_status" -local COMMAND_KEY = "hotspot_command" - -local busy = false -local revision = 0 -local available = noctalia.commandExists("nmcli") -local iwAvailable = noctalia.commandExists("iw") -local ipAvailable = noctalia.commandExists("ip") -local refreshing = false -local refreshAgain = false - -local status = { - active = false, - busy = false, - available = available, - error = "", - revision = 0, - ssid = "", - interface = "", - connection = "", - gateway = "", - clients = {}, - clientCount = 0, -} - -local refresh -local setActive - -local function publish(errorMessage) - revision += 1 - status.busy = busy - status.available = available - status.revision = revision - status.error = errorMessage or status.error or "" - status.clientCount = #(status.clients or {}) - noctalia.state.set(STATUS_KEY, status) -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function showNotification(title, body, icon, urgency) - local payload = noctalia.json.encode({ - app_name = noctalia.tr("title"), - summary = title, - body = body or "", - icon = icon, - urgency = urgency, - }) - if payload == nil then - if urgency == "critical" then - noctalia.notifyError(title, body) - else - noctalia.notify(title, body) - end - return - end - - noctalia.runAsync("noctalia msg notification-show " .. shellQuote(payload)) -end - -local function runCommand(command, callback, timeoutMs) - local started = noctalia.runAsync(command, callback, timeoutMs or 15000) - if not started and type(callback) == "function" then - callback({ - exitCode = -1, - stdout = "", - stderr = noctalia.tr("error.command_start"), - timedOut = false, - }) - end - return started -end - -local function validateSettings() - local ssid = noctalia.string.trim(noctalia.getConfig("ssid") or "") - if ssid == "" then - return false, noctalia.tr("error.missing_ssid") - end - - local password = tostring(noctalia.getConfig("password") or "") - if #password < 8 then - return false, noctalia.tr("error.password_too_short") - end - - return true, ssid, password -end - -local function parseNmcliTriple(stdout, filterType) - local entries = {} - for line in tostring(stdout or ""):gmatch("[^\n]+") do - local name, entryType, extra = line:match("^([^:]+):([^:]+):([^:]*)$") - if entryType == filterType and name ~= nil and name ~= "" then - table.insert(entries, { name = name, device = extra or "" }) - end - end - return entries -end - -local function pickWifiInterface(callback) - local configured = noctalia.string.trim(noctalia.getConfig("interface") or "") - if configured ~= "" then - callback(configured) - return - end - - runCommand("nmcli -t -f DEVICE,TYPE,STATE device status", function(result) - local devices = parseNmcliTriple(result.stdout, "wifi") - callback(devices[1] and devices[1].name or nil) - end) -end - -local function parseIwStations(stdout) - local clients = {} - local current = nil - - for line in tostring(stdout or ""):gmatch("[^\n]+") do - local mac = line:match("^Station ([%x:]+)") - if mac ~= nil then - current = { mac = mac:lower(), ip = "", signal = nil } - table.insert(clients, current) - elseif current ~= nil then - local signal = line:match("signal:%s*([%-%d]+)") - if signal ~= nil then - current.signal = tonumber(signal) - end - end - end - - return clients -end - -local function parseIpNeigh(stdout) - local byMac = {} - for line in tostring(stdout or ""):gmatch("[^\n]+") do - local ip, mac = line:match("^([%d%.]+)%s+lladdr%s+([%x:]+)") - if ip ~= nil and mac ~= nil then - byMac[mac:lower()] = ip - end - end - return byMac -end - -local function mergeClients(stations, neighByMac) - local merged = {} - local seen = {} - - for _, client in ipairs(stations) do - table.insert(merged, { - mac = client.mac, - ip = neighByMac[client.mac] or client.ip or "", - signal = client.signal, - }) - seen[client.mac] = true - end - - for mac, ip in pairs(neighByMac) do - if not seen[mac] then - table.insert(merged, { mac = mac, ip = ip, signal = nil }) - end - end - - table.sort(merged, function(left, right) - if left.ip ~= right.ip then - if left.ip == "" then return false end - if right.ip == "" then return true end - return left.ip < right.ip - end - return left.mac < right.mac - end) - - return merged -end - -local function fetchClients(iface, callback) - if iface == nil or iface == "" then - callback({}) - return - end - - local stations = {} - local neighByMac = {} - local remaining = 0 - - local function finish() - remaining -= 1 - if remaining > 0 then return end - callback(mergeClients(stations, neighByMac)) - end - - if iwAvailable then - remaining += 1 - runCommand("iw dev " .. shellQuote(iface) .. " station dump", function(result) - if result.exitCode == 0 then - stations = parseIwStations(result.stdout) - end - finish() - end) - end - - if ipAvailable then - remaining += 1 - runCommand("ip neigh show dev " .. shellQuote(iface), function(result) - if result.exitCode == 0 then - neighByMac = parseIpNeigh(result.stdout) - end - finish() - end) - end - - if remaining == 0 then - callback({}) - end -end - -local function inspectConnection(entry, callback) - local command = "nmcli -g 802-11-wireless.mode,802-11-wireless.ssid,IP4.ADDRESS connection show " - .. shellQuote(entry.name) - runCommand(command, function(result) - if result.exitCode ~= 0 then - callback(nil) - return - end - - local mode, ssid, gateway - local index = 0 - for line in tostring(result.stdout or ""):gmatch("[^\n]+") do - index += 1 - local value = noctalia.string.trim(line) - if index == 1 then mode = value - elseif index == 2 then ssid = value - elseif index == 3 then gateway = value end - end - - if mode ~= "ap" then - callback(nil) - return - end - - callback({ - active = true, - connection = entry.name, - interface = entry.device, - ssid = ssid or "", - gateway = gateway or "", - }) - end) -end - -local function findActiveHotspot(callback) - runCommand("nmcli -t -f NAME,TYPE,DEVICE connection show --active", function(result) - if result.exitCode ~= 0 then - local detail = noctalia.string.trim(result.stderr or "") - callback(nil, detail ~= "" and detail or noctalia.tr("error.status_failed")) - return - end - - local entries = parseNmcliTriple(result.stdout, "802-11-wireless") - if #entries == 0 then - callback(nil) - return - end - - local index = 1 - local function nextEntry() - local entry = entries[index] - if entry == nil then - callback(nil) - return - end - - inspectConnection(entry, function(info) - if info ~= nil then - callback(info) - return - end - index += 1 - nextEntry() - end) - end - - nextEntry() - end) -end - -local function completeRefresh(callback, active) - refreshing = false - if callback then callback(active) end - if refreshAgain then - refreshAgain = false - refresh() - end -end - -refresh = function(callback) - if not available then - status.active = false - status.clients = {} - publish(noctalia.tr("error.missing_dependencies")) - if callback then callback(false) end - return - end - - if refreshing then - refreshAgain = true - if callback then callback(status.active) end - return - end - - refreshing = true - - findActiveHotspot(function(info, err) - if err ~= nil then - status.active = false - status.clients = {} - publish(err) - completeRefresh(callback, false) - return - end - - if info == nil then - status.active = false - status.ssid = "" - status.interface = "" - status.connection = "" - status.gateway = "" - status.clients = {} - publish() - completeRefresh(callback, false) - return - end - - status.active = true - status.ssid = info.ssid - status.interface = info.interface - status.connection = info.connection - status.gateway = info.gateway - - fetchClients(info.interface, function(clients) - status.clients = clients - publish() - completeRefresh(callback, true) - end) - end) -end - -local function finishToggle(expectedActive, result) - if result.exitCode ~= 0 then - busy = false - local detail = noctalia.string.trim(result.stderr or "") - if detail == "" then detail = noctalia.string.trim(result.stdout or "") end - if detail == "" then detail = noctalia.tr("error.command_failed") end - publish(detail) - showNotification(noctalia.tr("title"), detail, "alert-circle", "critical") - refresh() - return - end - - refresh(function(currentActive) - busy = false - publish() - - if currentActive ~= expectedActive then - showNotification(noctalia.tr("title"), noctalia.tr("error.state_mismatch"), "alert-circle", "critical") - elseif currentActive then - showNotification( - noctalia.tr("notification.enabled.title"), - noctalia.tr("notification.enabled.body", { ssid = status.ssid or noctalia.getConfig("ssid") or "" }), - "wifi", - "normal" - ) - else - showNotification( - noctalia.tr("notification.disabled.title"), - noctalia.tr("notification.disabled.body"), - "wifi-off", - "normal" - ) - end - end) -end - -local function startHotspot() - local ok, ssidOrError, password = validateSettings() - if not ok then - busy = false - publish(ssidOrError) - showNotification(noctalia.tr("title"), ssidOrError, "alert-circle", "critical") - return - end - - pickWifiInterface(function(iface) - if iface == nil or iface == "" then - busy = false - local message = noctalia.tr("error.no_wifi_device") - publish(message) - showNotification(noctalia.tr("title"), message, "alert-circle", "critical") - return - end - - local command = table.concat({ - "nmcli device wifi hotspot", - "ifname " .. shellQuote(iface), - "ssid " .. shellQuote(ssidOrError), - "password " .. shellQuote(password), - }, " ") - - runCommand(command, function(result) - finishToggle(true, result) - end, 30000) - end) -end - -local function stopHotspot() - if status.connection ~= nil and status.connection ~= "" then - runCommand("nmcli connection down " .. shellQuote(status.connection), function(result) - finishToggle(false, result) - end) - return - end - - findActiveHotspot(function(info) - if info == nil then - busy = false - status.active = false - status.clients = {} - publish() - showNotification( - noctalia.tr("notification.disabled.title"), - noctalia.tr("notification.disabled.body"), - "wifi-off", - "normal" - ) - return - end - - runCommand("nmcli connection down " .. shellQuote(info.connection), function(result) - finishToggle(false, result) - end) - end) -end - -setActive = function(nextActive) - if busy or not available then return end - - if nextActive then - local ok, message = validateSettings() - if not ok then - publish(message) - showNotification(noctalia.tr("title"), message, "alert-circle", "critical") - return - end - end - - busy = true - publish() - - if nextActive then - startHotspot() - else - stopHotspot() - end -end - -local function handleCommand(action) - if action == "toggle" then - setActive(not status.active) - elseif action == "enable" then - setActive(true) - elseif action == "disable" then - setActive(false) - elseif action == "refresh" or action == "status" then - refresh() - end -end - -noctalia.state.watch(COMMAND_KEY, function(command) - if type(command) ~= "table" or type(command.action) ~= "string" then return end - handleCommand(command.action) -end) - -publish(available and "" or noctalia.tr("error.missing_dependencies")) -refresh() - -function update() - local seconds = tonumber(noctalia.getConfig("refresh_interval")) or 5 - noctalia.setUpdateInterval(math.max(2, seconds) * 1000) - if not busy then - refresh() - end -end - -function onConfigChanged() - update() -end - -function onIpc(event, _payload) - handleCommand(event) -end diff --git a/hotspot/shortcut.luau b/hotspot/shortcut.luau deleted file mode 100644 index 247ed13..0000000 --- a/hotspot/shortcut.luau +++ /dev/null @@ -1,35 +0,0 @@ ---!nonstrict - -local COMMAND_KEY = "hotspot_command" - -local status = noctalia.state.get("hotspot_status") or { - active = false, - busy = false, - available = true, -} - -local function sendCommand(action) - noctalia.state.set(COMMAND_KEY, { action = action }) -end - -local function render() - local active = status.active == true - shortcut.setLabel(if active then noctalia.tr("shortcut.active") else noctalia.tr("shortcut.inactive")) - shortcut.setIcon("router", "wifi-off") - shortcut.setActive(active) - shortcut.setEnabled(status.available ~= false and status.busy ~= true) -end - -noctalia.state.watch("hotspot_status", function(value) - if type(value) == "table" then - status = value - render() - end -end) - -render() - -function onClick() - if status.available == false or status.busy == true then return end - sendCommand("toggle") -end diff --git a/hotspot/thumbnail.webp b/hotspot/thumbnail.webp deleted file mode 100644 index 77b53679f20e3dacaf3e475d0c0c10449bf2c907..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57032 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 z z=ZQ;Y>Ab?HzpOu1Vesl~)4w^f^S00Z`d4ej1&r1_Od^qt&W$Bhy%?_Q^E z#u2@y(SJ9GYt`pq7N`1yvu___(wd$Kt6g2Q?C#nHv)ZO7l=d=#+DBVzJ`wkWTS z&Tf<5Hprf|Ib?Hqj@Zfd4;-1lBu@%zTXUdjf>KJ54JxhyIDZkiUF)#{YJ%X*HLnAA0#ONH*b>juS38x976_{3mP74rqy;-0t%2&R#x; zCm!inHve?E5kD(C=~{@@sqD%fZF=JN;Y_>PTMo`Dnz`nR((HQE-JY(BkA|al4WKDMbv5KY7 z+V2)s>+ZVj74M&W@J{oj-)0}`Dpvjdf9+3aXUu7jsml-N-ZfggI!5y3VsE=8Yr}TE zd;6RJM59{C?(bG#(lio%=H8Iq`tAMJm|~{;XYwu1oMB#H%yRxw-3-p!jheCQ6)$pH zZmU1(di3!D?>qIKg_9@wb3d+C751EQrSI^TgHevN46Z)@lo3=f?d{)73CrkX(Z@LGVJ+&u4@Kj;x4usA{`CDZ{i43dTo3hr_^&X{cN@!$V=F}% zEVNq8mf!3-Xb^ZLg;(K^5pP_F#oN@YReTS2e%q_-5!WeaQ+|2D9^I(tn_A;4j_|K~ zAm(QjxJAm_FDHH3_2jbNa@iv#7vDZeH|}dcaI3AQMtg#Zr}L}@m5&$ug+FHAzlpJ8 z$#%9!(>ac4Gwia_+;}BW`E1OJI9rEV{jNu|PeU05XUslu8y_nqQ%j|~S?ckD^#S*_@$y;4vuYW>neON|GZ%KXl?nz`peH! z**f1zU(Qu`Qdqf6W~Z~<-T9jtS|&cu*w)s~S*S1YP37*6coVBlXLm1{HGR_Y)&JU> zHYqMuuoO`IT<5~CniBnAZmZsz2PR1;au4Bc;f_E>z{Ma|^mm&MDv{Mqoj3<;GHSP!* z%zF36xai${d(n%RcHX(KctWev@s)Dkag)p~$p=>)X03mB|InNCzq5HO9lAG`N1Xb5 z{_ZNyRP{pT8^(-tmx>ji{VMq7f%(qYb&{uJ6L<_FCm8=dzU^LtjPmzaDcAe|+&Wp1 zb!p+bc3W%x(u`F{>i7(_!n7Vr@&1>1`#rMX?uYU*&HAM0>8zzk+>+m{G;p{u=a{9yH)ymcYF(weahzFy;iQYu65!m4Y&2> zH;(B2c-1xOiru?FyXF7&(m!#wtN2af6kwkc_;w3})}o^9{ks^G(%XdpT+%JQ<)~DA zO=Qu9X4QASKe*nBNU47PxIxoI@sO{r9>1skwH-{aHXd5~@I?RTISa0S-`S${bGoiq z`0a&0e;R^9Ec)0#HLtEVpL}g;>&oUIQ&#!Z=7pOniRT60{FeEZ@r%djy}9XAKPJdb z`W4o|d!}9O zJZ_mk;kkGF{S*5`e|N9fWAfDa*Z1f_wDDDe13Ujt^Z&N(%4)rEzs|;rDc1#KVy?~7 z;F~_9OoLa;e1lYe;oh^HOERS@)I1lxI}#(c{Gd_u&La2z>yOe;-MRZuuud$MWp7lt zzZdIawN)iD8iK36CjRw(e2IJQefA^8E{b*vg_5tfe0!#JXT5J4Lr6-R6SvFUJ?*<@ zZvXIIKJ?wbLtEc8aOm*7{v~tp`CNfho>JZSvNj)&`DMOfb?6VR{QEia<@|r9dh7MF zZ#$f!YH;f8MK+e4|8BeXJI(29`MGPF#gU_SA*qq;nt9nLExJ>;Q<(p`i@fQk?eCWz zVT)-y+11WBYelw^Zer@4&+aWg3zn2LJ)ZjN{lope*G~33iy51ok~aw7wtivS6iM~z z|NmIN6}C0BZC+qGFQa7tlvxW+GEZyPdRHBM|eg*W$fBy<9b?5AtWd^f;=K z-d^|MY*GG_pNcG8`>!49O69l8-MU}Dh~Fvqmz02A`ICg)wU(v#%6jiFbC}*9qWrnu zBeB&edGWis<&wW9o38sK{^BckD{4{o25!cWyH#zv1F8q|=uDi@P$)JV#M#p)J&pf-@POj6Pb@|r*6SdpK+^%KFGoDn5 zYx4GQy4~fxZELxSeB9LZ?q%IOWTGQn%1yF%Iwr6eCBI|VQIY!QUH1Qg#m5&fdmQ(v zZajO$L1BmMO#SN$Gw$CD=2gt*K5}cTN|bz;Q(K?4a>}ynjjO*VPCC_NI+yX^pH-J< z&D2_V?3}h(o;1@l&9oA?hu4?yI;YN@^&$N9flR*Aw2y73t3sb9G3>4mZ7sf7Hubrc z%`CZhic7xk^?O<`J;lo5<7w;D|JIuCwG)wg?dqxTt@^I{{cF$K-}aF!Pj`LceD|lZ zKGyf;8kZG0*>M+-&NhBJrH7&5@{3OoKDY)vE;#;s>z5TzxMx@$zs52}NNnHgMy1Pr z?;dA_CMumouEYho@aNytvuR(afMMv@Pjq` zO0C!@y7VtN@AoloGiE`*h20Y(=L;-(zDB-kg0uV^jpe{}+?mcbE5v{H(g$E%EnB{kzf!IZ78R`p(e0$=7FF zu*{ZbdS5klA^VO;y=R!XXGng%dqnH{CgbR9TRsQv{>q$rR;tH1eTR(N%`@LRQ8tS?Bhgk~0&YJ)LK0XxMjZf!asG zOH+ zYunTpu~nL3`rX%7U9m}YjoUP3+TxtgZOWAodNyub`f=l&vl0ctwmhG+F3(80zWk=; zta8rVSNk#_IP58Yo%pKPj#Xi?Vwj$hz(2vcKU#{S4{BVs(AxKJPkJz`U)uJ~?D>CP zx0ZP>zgGBBh5g=&^^?p_M~9tKnB?f}sh^Vb`J*)7RN<`+pH>||rBiJkYAZLzy(7pj zN&JIDv6GKicG*gt%a+QWA--{$JGm{jI zop+m*jViK4XC3BD>i^K-e~rID`F<9!)S=WRN27O0S&DQ-igkQ`an9bse2xBwRa=;z z|Kim)i1#?Os%poyoo^;qcsVzhSZL^)g(yheE;KbveZOR)tXOzMe@dX$e;tj3w`$Y# z-2NTmCk%?$3k$FfdcxUy!EypZ;$ ztk#;RmGgNog=+6C-cl^PypZQpU!@u2Mv2c>hrE9DUbvkq!9M$y`diW9-#(h#@9+NV zRrN+P_U$jzmV1V?)5V^JoU|@@+h^|SnzE+LLvhRF>bFt9H^feTo$=o4zNX29{priD zX{f&}6i;HDdW3(??v5o(e`nMLBu#zSH92;bYP9H%bN+{;>RxZH=wFu+d*Jhwsag)2 z#XEQV&Wtvb+R!jB?6+a@Wd>iJt$d>VMpfCo*LL_w&v`Lfr^IJ1U&ZRKYm7bi-m{{m z4joG6IdJ}7$>CVD&m5t9JNxF#yH)r5@71{#^6lUG8{b!So%!|C@K(nW&ih;1Hf*|c zO2@~ggWq7c(XmW}?$myRn`O!U zUuL**%GEb6CpaIqzVQC? zvy*X(-{x~qoAri?>7Zozx-tzbMGw)Ph7X%cp%7D z&gIfRC#mFhyNowE9R1G`$NunayQaoB$xQoPXTQvoGFcVjO&ui?xG8aOuJOEny8UjB3RjCp(8WEGi2z z_O870IL+|iJ=t++ zw@PCloAQ(L51*tC@EM$3B4``l{wcVOOVaQ42~C~H$_#o+Us`kI1cH+@_geVXcmEbx zxk@AU@xr^8Rqg5|4owe|Nt|$L`zni1Zhx7SgSsnvw&Y$|W&Y2M(OveMV_A`W;rhkj zte)HG^jxmcCv|5lW{5@Pv1DNy%~ z?0&1}&4m+I=$PfYu=1ALDRL+u_#6GN{K2A|$3K1STJhpa_@aoac`--2wXb;U{9XEB z>*h6GE30OH=)CrCnRdF8{_bSQY3GAg?=POmC3f0$hG3xRyq?*2J0B|Kb|04DU8JY3 zWzDIAp2XTyO;2)|Dx?7jAEysE4_Zbz{N=;u53=s!R#mA z(=PZtd93OBjzmrOr6XS&9Arl)se z77NJj>*Y0R&_7wHJ!|(K)|mH4+;&#-yFWiOEz)DkhwLSG&r&VL-@aSh{aI0<;;dPun#NAHClL;ptjxbx)wfO47H~+K zSm5zD@u&QqKHe{9J?ySn75i=3qVA(5~^KxO`6Q5&Mr&WU9C~$QP{@75GB)e(lffE56x19`gR@)oCueN=~=F{+KvyOqT@vDg$8-Z4;2WVLuV)h+3={73z= z{A3ZAF0Ra~hV8FqCoGob{{5WKb* z2&3;&3bPt*I@35D<9Q!<)h)bT?W48$*tgEQe}Q|amR|{%w(ql!Kl=OI>-VQucQ0I? z-md?tDBN8w^y4($2a4L0ZoCux&aZLWk2PBHvW9l+W!1uk_lcbbXDJ| z7ID`2omv0C=KoJ^UEcRfLguEXs$mOn-SAp;UP4?W!Y`hsuT^>0G~?>OS#PWt>8@X< zt@&I^Yr{)F!=``}XST=kWyo!o`}#+Bzl6+UrP<%lGTCr7#!ktRnxe3zs^`bbg=@6! z7ruJ!Q2w+iW#94E0z;*h*`75Y8q;t?@aEel?zbW~dM`1R&CzNb;_ zZ`E(cIR29SVR&Bcq3LU@6(3xsWL}7@*!SQ>ZN;sPTuU+^9yHza_UyWvmq~7n@i&U< zpKsprMs3l|y2F1154}|qyJ2HI&*<}l7ZWqoSDavZzS%*`b$?&P3!S*EY=>3Z2jn6= zog@kxjMlQ~)J$V#^4=N9`)$k3?{Bu*XJ`IOzifTyykm?&z1t`5+}Yc--)=djvRzg= zbMKMeJ|eZbS9~wra} z^oi<8)AySG+%{#^m8Lp{_{xb9Upq5Hmn<~e7f@-@^RnQjUz>R5>wu*TH&44EU-&cg z<&B?K3woHJ?fsyd(s$(dl&kVq)dgu~M*nAY6eOHE;P>lYf#4hdx}6htWFC*;;4f>a z=;D2Ov4XF?K-pxi^8TC27H@vHSFX3KUe&wl9nTw8hP$>xwh?=0PrsoNklkX_@vS@i zfs}ks@+%MP8xX8Ky#tO+ljP79U;e9`Y@Y z!6n44r6=<7{Etg-ev>-7OS;LyglZ*2x;B3T8wEdkpK{ci=E+RDw2 z44T%ZAZxcu+Os5MHM{uv4bv}JH`s*Vd7b(@{iBcE=8$&3f&2L`%pXZdmL$CDdk%o7ZwHNx{IoyOwPX7u6ME}m;&y_Zb?S2IVyDYk|6Z|OSrFJ}MrCso?>DowJM7x|uL zE+Q&nzEAecO{1enCzU9?nfFPi`OW6M=D)oBJSHzV$*K#0T#c-0WWq zPN=o&@W^ubd;Wn}G0(A21?sPy<4(N|dNjS@b^My@zsKJf_WhVG8F{cFtl#OQ6;HDK z{0Zj&Hl5!+kH70sluMe}f`>~#?u?f=)VNtzojBcX-yy|P!#@+8xBSnr&JWMj-8IiS zQtyRV=aaSE8#5m7%2G++D|{z+kGOE1??t7*_qFfc_Ud)JY%ocgwV>e9y7g>t1;idK zR`|=Xq4Q;fgxG_=%Qn+?f84R}tFWAKo1?;8hREbs{N2XCrresBB){j&Z?R}!voGzg zqPjL8x4t-bs$MUCyGQ%iH@r=2p73TaSkqK(S=jdPcFl=cn@i4bni7|^6+PLue!ut9 zmdmSUXCDl7U1najou_Ecr-z%5x*C^R>Giu;on0X*v#HCIb;WF!2AhAAjmyg&S*H1% zIr?8_k-_rM$1VhMBzrpko3hKP+Jzx`$~B(ZKgA!GZ0wm8|MywK-UTv8_I==XFwU|Q zbQN$jx4KfT67}qL$NH1Yu6DbBn)y>x?Y!o$?W`wnJehvqjrHu}wiZF1DY7otRA%0t z|G7W@fmOH61pfCeR~_p=l$Gq9@bUF_x4WJ$mprb7#|UpL7gE#E5_ z?_}{+s_1OGmL;JJy9pZ21wKvhkKhzOB*ILg8h+evJhgD$Ce%>hlkH*s<`H z3#2#A7XCV)p?CMrX(6U(n_h1*i?Mr_&G@6u&SHMk&BSnvI|~(6<(*=fz3$)n_(?12 zW^D1&DNjBNncn;~xi3$mL|>?1I#+ems|~7$g01BAm!3|rse2Ojwd&aW7dPS>BqGzM z&buyH6l_|y!v5;9O`8fty5z(7n0sHk)`qTEHe{Z;+qCdk=buCQFB)7IDQRv>-pj*M z)?=~3^Gp2s%}r;uHr=$IR`PY#k=UAInaN5i=T`Q{KDe=I7ek5L)|q{u{>GQLB`5y2 zo9LpsZQ1Ovmz<`XY_U}|sedLLsj%hbG0(?EJ0!2puZq5lA%WRnokq@;H_4i23f&N7V-ZWf%W>5~*#UT<(5}1e|0b1Ah7iE1JBH??5i_)b3@N} z>4ePRJ}0_0V(Hs?5oLED@Lb&8UOJ1_Dzkg#nJXWrzaiE;$&gIRPvDdTgKt`HS=62nCQjH)!yHjprZcT zg116fIRD|sZlP~}e_rZ|X{;@Kw0qwECs$@=#ho*06-@mW$EjI2DUM@vs5`%o|J}39 zelKtMMrT&5Jr>J@aQLJnsF=(bFT(FYwR(z=_|JUmy8=k6lIK zne?ZwsmFHuSjAoMum8MqZjlI z@!7fWOvm)_lh;%tRtc?t-7RD@CnCGpR%lLI9cQ)EoV6SDH?8r?u-~m1#FnggT!YlJnH)|>j-8SCWUi-}FqqO?9A7UmIr;a{* zbL4nSmeG^|*c-HULHNkyHnA^H!viJRbbW7mQmKF2!u76*%o9T$= zgq6u&i+qzR4(xV)#iYB-D+3N8$o6-+OY)z)+ywX8NlB4}lh$8j2|^xV{!GW!|Y? zF!!t5m16;XmCfZ$fAzPW+o@^9x$|f6{Cm@v-;5RgEY{@9E>$(Tt5V*$bebmX@~nzx zh8YHPt=6;cpL$?t;-#PW&%O9=5j^?s_UFIveqUPgjazM@`nzLpb!U#%cK1(O{7+`B z@}gHKH}kA}x;F3O%k@84tAuww+Q0CsD^u;tGxD zkOaqYZnx)QcL67v9?p{o0IzT$!t>!pIK|U{S}j+H_!LE$>RFe)`ih;0_MGT z{K*)p9Mo<9gS{a9$<~gQ+h%g6aOhi{bJ+PT(zujN$K?KoS#ys zr&KM8Kj|T-Wm~yCJbBVaIiXsEt=(H|8J8yAWci;s`^GerwHbcF+U|ce*|Qjy2WVY2 z=M#_7ohtroLS@lakEvO!^{r-`IYmBGYC31ee5}~`>}kRMzg_k*$Z7Q$hp@GUAK&xk zvE<_^SDkoM754p>-7kAVOV0Jcq6?9N73{)tbLTtnF3tF}uj_B8$`3e%6}S*tj3_DpntGI`p`uq5FUp5`Bxb)_?SH#Byhaz7( zFkb#vQ1EkV@QIhd)?Ry9nxw@a^m0eO+NR~}l#1<+JhEwcQFxY(=-M&ARf!!&gpI$SDw)@2Zx#7rLp~LErJbiTCr>!SWm`(SNq~8gBo& zFRt38g+=On>zuNk4zu{=XIgLTsM&fk;{CkXB%PGX=PO?EF8nF`B7yh7oasGhH@YtT zId8$df}kx^79~o)n0fU#|H98z#}n>wi^Oa*<4>P7KTuQT70dkPg4XQI^EOX9H1Toh z#9%IlIcxVh{oZXDrq=)QwB+AZSC3;y^h!?22@77hTIifn_UZ1wx8{#_SvzJX=%2Pc z?vObnxLdFCSfB78`GU@W3+rZ|*#7p!uA^VC26$ETG?Ih$**@@D=Gg3){9n&+Osa+zyo`ogz=i$32xI9d0GiBi$G z2le^0jVI(DTHBJrs?8nsTjPy=YsjnpHE(3N2~+WgqUL*v5cIbV)88=Bt_>T&vR{f_HzR%fm`@2hPKow(Sf zcCJ`%`Tt~BZ)wxiDf9Weo1`s2mcEEBjqP6B*&9(VcDKOH=Z$??!rG0E>-V#EGn#K) z`exyr<9}UFE!%yi^Qv&ctGpd$XC_%#dcBIR+kDB*&Gx0~4-=RB7nhnms^|U?vp(zk z*Rq_CK3y}nFTcF|*XkQet86MncJe%D*5>Q5UTa}}EiK_s`Q|SxGaS=C85B=_(bCKG zzdBu1%9nYc%XKC5QWKd=>dXa6mu{toS(gViXu7ISmHMtKed^e4qnxOPY+94cL`R;Agew(b>E?wTN=#X|d)FC-k-X?8d(q(tOqt<-E-y4qBI~Z9# zIe$6x{l-<#AAMTv`0VS6FVlo}#NYZiV^zVOHx|Kky~ERLd0)|SM0yi^6t-r2_o}01*U5*5mR50clofhwC$Zpy=v2Z z`#CdBO(xs*FPS{$&8p23WtDFXMXDExDxRLq{3iKeS3v2y*(MveR%ooQTNDt&qF*Y1 zaa(-Xe)*gATQ%f_EqjH}oH#%Ig)pC0`|rKRY(pUH4rwnQo{wY}|F{A(Vu6&=4_Q)3hipW988 zu9~O89Cb$eYw*9BO9ChU7yJBvaZBH0p`ujpmF4Wax2^mV8M@r7ZrQV)(=7H+%YNaT zinV2wG` z8IKK9`NiejIgbe%U3eU9mUiRD?9T}+F67Vt{^V!u?GOB2?>81KwkWz+wNhKNI{ogW zym^Z{oo$=U=jIhOx&*kMtY7)?P`Em?YA44|+w5bL>touiAD11pi82;Xc_|W9&~PFA zq?oq;=X`691trCNQHH%oM3PiGRvR!d>L0pz#Cwb|rM$Zk;Kg(k<g{{M&y;iQY)zc<{2<*2Ces|B^KQlm|1b zyknn-b@Qre7#+K@$bIYIg)1iIJX^&iw45=6<>nQ0+$oTPkcUi(X!$7w$|9j zDeo>^GT8NFV*JjI;>laW>ULb<{?%o6u{|f`ZGf?^qETS5_YA%NQKpj(oh;?HZ;_F? zrPVm=xb&06UFv!H+5IcbH-&b#uMW?zn&uhwFC+6^ihyC#Bh75%#Bw{KUyb$|M__>GxtmhMkCvs&6A{~UsP@J?c1kR zv9IuL&|BxL!WNl4D;iwCzJBp?er4J34|`5avtHhGecE{rF7ZQar-~f*<5tz?wA6^M zy7c*sa$!IkKKaFhwU6)=PGzSD6{WSQ`olaoMZORH9Fph?@rlg-n{5a zpsv}*ew!_`B$j`R7t=D@U2(Cs#&^roExbIJg{B$C|L(bR-uC}To`=S)?T2HZxx7hv zs21wdYI!m5UWoS}Tbp$YTp16axw4z%?n_w~9;m&nuHtoF>#-si&Ku|baz{Sbi zMpyZ$lKqpLm5;<0aNIpQP2f*᥮cZJ_?RQ^}X*1F1@T6S^y-Bw+Wj+Z&M=X(D- z`o?A0uiS0a^{k*&ZM%8Z42GRO=QqS1pL3J{LcfC9*693A-_3j6p@aQp_n9-i znfB)kl{bD9nq9j;vT1%&NnL7Coh{SZi>94dG#H++KYUdc@PEM%!wD;kyr)PUyI^!X z-$lXf)~@A~q>g{+6IrmmC|CQu;1t9BQ_n;%O!#y`UPWw8z*;5khzy$**S@ExW_Y+X z|G50K%lX<9<@;PW+)}3PyK%f@`Dq)k?Y|!XX$>&V%03=E|Lhw%i*l6^fz>W?{j4oJ z*2JCC{}Z9JyNSX2rq2n-H#=132nq>r;h537iLGYyp+DLM_huJvJ5|^F$tq{pDYw#> zyPPJTU#uykv*Y%`-E7j)zN!6LErRlDw|;DWCB10s=9S^gB<2_1y_7X6{dQ!D$kPAu zFP^`>CfY3KdjIJp-rUJOzHiumY8~d9@4%(I^RQ0jnrWN+Zs^o|h~#T6+^Z{?!dh<3 z^;f63ChgN4xftPSwexb<4ppbwv(L1N2M1C%$xQ0o`71(>shN(T%UwrJ6Cb+>@9B#B~G)PK*zXhkC}_> z_wz_G7oJ_VPKfcHT~EitgS)0*w6ja;kiX#GwQKJxrJ^T#omqK*Bg1dZ-adDl`DW3I zZjl*(wEnV$nWk>O%(p20-o&Qzf{X*(HP;vJG&cUx?&JC~tCdas$~@(78&g@dK6v-N z^!D#tdr4S0&!I@3ciDdSd3tAGZD{dd6wVlN(^{}f>R^z0!=70or3yHnLoDYV&Eg_+`taqn-PBWWn48lupUweJY=FFP2J=WYNt{-pwsW{i$pZC*rwv~y2#oN0< z9Spw4Pr|<3%s6uP_T7mWZ`uam_>z9~$GzDGO>PR-(^D9WZyRdg(ec?bqdQyT`V{XO z3?YUYIxh1saNd#K@a2^Fg5N2#4Q4s5O4`q9&T%r1**t6gdpBl@5}Zn;#<1EoJkM;e~+trads0^Z(!r=rwjJppYiNpF>{j3Cri%5>nmR` o%Gy|OoLakO0^>EdHAj0EGW^}HY4?sVRcHOD)}WIg#8Ltn0Gh)=j{pDw diff --git a/hotspot/translations/en.json b/hotspot/translations/en.json deleted file mode 100644 index d4347d8..0000000 --- a/hotspot/translations/en.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "error": { - "command_failed": "The NetworkManager command failed.", - "command_start": "Noctalia could not start the hotspot command.", - "missing_dependencies": "nmcli is required to manage the hotspot.", - "missing_ssid": "Set a hotspot name in the plugin settings.", - "no_wifi_device": "No Wi-Fi adapter was found.", - "password_too_short": "The hotspot password must be at least 8 characters.", - "state_mismatch": "The requested hotspot state could not be confirmed.", - "status_failed": "NetworkManager status could not be read." - }, - "notification": { - "disabled": { - "body": "The Wi-Fi hotspot has been turned off.", - "title": "Hotspot disabled" - }, - "enabled": { - "body": "Clients can connect to {ssid}.", - "title": "Hotspot enabled" - } - }, - "panel": { - "action": { - "start": "Start hotspot", - "starting": "Starting…", - "stop": "Stop hotspot", - "stopping": "Stopping…" - }, - "clients_inactive": "Start the hotspot to see connected devices here.", - "clients_title": "Connected devices", - "close": "Close", - "gateway": "Gateway: {address}", - "no_clients": "No device is connected right now.", - "refresh": "Refresh", - "status": { - "active_message": "{ssid} is broadcasting on {interface}.", - "active_title": "Hotspot active", - "error_title": "Unavailable", - "inactive_message": "Configure the name and password in settings, then start the hotspot.", - "inactive_title": "Hotspot off", - "starting_message": "NetworkManager is creating the access point…", - "starting_title": "Starting", - "stopping_message": "NetworkManager is shutting down the access point…", - "stopping_title": "Stopping" - } - }, - "shortcut": { - "active": "Hotspot on", - "inactive": "Hotspot off" - }, - "settings": { - "glyph": { - "label": "Bar glyph" - }, - "interface": { - "description": "Optional Wi-Fi interface name. Leave empty to use the first adapter NetworkManager reports.", - "label": "Wi-Fi interface" - }, - "password": { - "description": "WPA password shared with connecting devices. Must be at least 8 characters.", - "label": "Password" - }, - "refresh_interval": { - "description": "How often the service refreshes hotspot status and the connected device list, in seconds.", - "label": "Refresh interval" - }, - "ssid": { - "description": "Network name broadcast by the hotspot.", - "label": "Hotspot name" - } - }, - "title": "Wi-Fi Hotspot", - "tooltip": { - "active": "{ssid} is active · {count} device(s) connected · click for panel · right-click to stop", - "changing": "Changing hotspot state…", - "inactive": "Hotspot is off · click for panel · right-click to start", - "unavailable": "NetworkManager is not available" - } -} diff --git a/hotspot/widget.luau b/hotspot/widget.luau deleted file mode 100644 index cc81a94..0000000 --- a/hotspot/widget.luau +++ /dev/null @@ -1,75 +0,0 @@ ---!nonstrict - -local PANEL_ID = "cleboost/hotspot:panel" -local COMMAND_KEY = "hotspot_command" - -local status = noctalia.state.get("hotspot_status") or { - active = false, - busy = false, - available = true, - clients = {}, - clientCount = 0, -} - -local glyph = noctalia.getConfig("glyph") or "router" - -local function sendCommand(action) - noctalia.state.set(COMMAND_KEY, { action = action }) -end - -local function render() - if status.available == false then - barWidget.setGlyph("wifi-off") - barWidget.setGlyphColor("error") - barWidget.setTooltip(status.error ~= "" and status.error or noctalia.tr("tooltip.unavailable")) - elseif status.busy == true then - barWidget.setGlyph("loader-2") - barWidget.setGlyphColor("primary") - barWidget.setTooltip(noctalia.tr("tooltip.changing")) - elseif status.active == true then - barWidget.setGlyph(glyph) - barWidget.setGlyphColor("tertiary") - local count = status.clientCount or #(status.clients or {}) - barWidget.setText(count > 0 and tostring(count) or "") - barWidget.setTooltip(noctalia.tr("tooltip.active", { - ssid = status.ssid or "?", - count = tostring(count), - })) - else - barWidget.setGlyph(glyph) - barWidget.setGlyphColor("on_surface_variant") - barWidget.setText("") - barWidget.setTooltip(noctalia.tr("tooltip.inactive")) - end -end - -noctalia.state.watch("hotspot_status", function(value) - if type(value) == "table" then - status = value - render() - end -end) - -render() - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - if status.available == false then - noctalia.notifyError(noctalia.tr("title"), status.error or noctalia.tr("error.missing_dependencies")) - return - end - if status.busy == true then return end - sendCommand("toggle") -end - -function onMiddleClick() - sendCommand("refresh") -end - -function onConfigChanged() - glyph = noctalia.getConfig("glyph") or "router" - render() -end diff --git a/hypr-layout-switcher/plugin.toml b/hypr-layout-switcher/plugin.toml index f3f31b9..acd19c2 100644 --- a/hypr-layout-switcher/plugin.toml +++ b/hypr-layout-switcher/plugin.toml @@ -1,9 +1,9 @@ -id = "maddingo/hypr-layout-switcher" +id = "feliscatus/hypr-layout-switcher" name = "Hyprland Layout Switcher" description = "Shows and cycles the active workspace's layout" version = "0.1.1" plugin_api = 3 -author = "maddingo" +author = "feliscatus" license = "MIT" icon = "layout-grid" tags = ["hyprland"] diff --git a/hypr-screen-mirror/README.md b/hypr-screen-mirror/README.md deleted file mode 100644 index b482f56..0000000 --- a/hypr-screen-mirror/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Hypr Screen Mirror - -This plugin allows you to easily toggle screen mirroring in Hyprland. - -## Plugin - -| Field | Value | -| ------- | -------------------------------------------------------- | -| ID | `profidev/hypr-screen-mirror` | -| Entries | Bar widget: `widget`; panel: `panel`; service: `service` | - -## Requirements - -- `hyprctl` available on `PATH` (used to control Hyprland and query monitor information) -- `socat` available on `PATH` (used to watch Hyprland socket for monitor events) - -## Usage - -1. Add the widget to your bar -2. Open the panel and select your source and target monitors for mirroring -3. Click on "Mirror" to start mirroring, or "Stop" to stop mirroring - -```sh -noctalia msg panel-toggle profidev/hypr-screen-mirror:panel -``` - -## Settings - -| Setting | Type | Default | Description | -| ------- | ------- | -------------- | ------------------------------- | -| `glyph` | `glyph` | `screen-share` | The glyph to display in the bar | - -## Notes - -- Only supports Hyprland 0.55.0 or newer, as it relies on the `hyprctl eval` command to execute lua code for mirroring. diff --git a/hypr-screen-mirror/panel.luau b/hypr-screen-mirror/panel.luau deleted file mode 100644 index a0914c5..0000000 --- a/hypr-screen-mirror/panel.luau +++ /dev/null @@ -1,88 +0,0 @@ -function tr(key) - return noctalia.tr(key) -end - -local function render() - local monitors = noctalia.state.get("monitors") or {} - local focusedMonitor = noctalia.state.get("focusedMonitor") - local sourceMonitor = noctalia.state.get("sourceMonitor") - local targetMonitor = noctalia.state.get("targetMonitor") - local isMirroring = noctalia.state.get("isMirroring") - - local buttonColor = isMirroring and "destructive" or "primary" - local buttonGlyph = isMirroring and "player-stop" or "player-play" - local buttonText = isMirroring and tr("panel.stop_mirroring") or tr("panel.start_mirroring") - - panel.render(ui.column({ flexGrow = 1, gap = 8 }, { - ui.row({ align = "center", justify = "space-between", gap = 8 }, { - ui.label({ text = tr("panel.title"), fontSize = 14, fontWeight = "bold", color = "primary", flexGrow = 1 }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - ui.row({ align = "center", justify = "space-between", gap = 8 }, { - ui.label({ text = tr("panel.focused_monitor") .. ":" , fontSize = 14, color = "on_surface_variant", flexGrow = 1 }), - ui.label({ text = focusedMonitor, fontSize = 14, color = "on_surface" }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("panel.source_monitor"), fontSize = 14, color = "on_surface_variant" }), - ui.select({ options = monitors, onChange = "onSourceChange", selectedIndex = sourceMonitor, enabled = not isMirroring }), - }), - ui.column({ gap = 4 }, { - ui.label({ text = tr("panel.target_monitor"), fontSize = 14, color = "on_surface_variant" }), - ui.select({ options = monitors, onChange = "onTargetChange", selectedIndex = targetMonitor, enabled = not isMirroring }), - }), - ui.row({ align = "center", justify = "space-between", gap = 8 }, { - ui.button({ text = tr("panel.refresh"), glyph = "refresh", onClick = "onRefreshClicked", flexGrow = 1 }), - ui.button({ text = buttonText, glyph = buttonGlyph, onClick = "onStartMirroringClicked", flexGrow = 1, variant = buttonColor, enabled = sourceMonitor ~= nil and targetMonitor ~= nil and sourceMonitor ~= targetMonitor }), - }), - })) -end - -function onOpen(_context) - render() -end - -function onCloseClicked() - panel.close() -end - -function onSourceChange(selected) - noctalia.state.set("sourceMonitor", tonumber(selected)) - render() -end - -function onTargetChange(selected) - noctalia.state.set("targetMonitor", tonumber(selected)) - render() -end - -function onRefreshClicked() - noctalia.state.set("monitor_refresh", os.clock()) -end - -function onStartMirroringClicked() - noctalia.state.set("mirrorRequest", { - enabled = not noctalia.state.get("isMirroring"), - sourceMonitor = noctalia.state.get("sourceMonitor"), - targetMonitor = noctalia.state.get("targetMonitor"), - }) -end - -noctalia.state.watch("monitors", function() - render() -end) - -noctalia.state.watch("focusedMonitor", function() - render() -end) - -noctalia.state.watch("sourceMonitor", function() - render() -end) - -noctalia.state.watch("targetMonitor", function() - render() -end) - -noctalia.state.watch("isMirroring", function() - render() -end) diff --git a/hypr-screen-mirror/plugin.toml b/hypr-screen-mirror/plugin.toml deleted file mode 100644 index 7cfee70..0000000 --- a/hypr-screen-mirror/plugin.toml +++ /dev/null @@ -1,33 +0,0 @@ -id = "profidev/hypr-screen-mirror" -name = "Hypr-Screen-Mirror" -version = "0.1.0" -plugin_api = 5 -author = "profidev" -license = "MIT" -dependencies = ["hyprctl", "socat"] -tags = ["utility", "hyprland"] -icon = "screen-share" -description = "A plugin to quickly enable and disable screen mirroring in Hyprland." - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "widget.glyph.label" - description_key = "widget.glyph.description" - default = "screen-share" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 300 -height = 265 -placement = "floating" -position = "center" - -[[service]] -id = "service" -entry = "service.luau" diff --git a/hypr-screen-mirror/service.luau b/hypr-screen-mirror/service.luau deleted file mode 100644 index ea21e5a..0000000 --- a/hypr-screen-mirror/service.luau +++ /dev/null @@ -1,201 +0,0 @@ -function tr(key) - return noctalia.tr(key) -end - -local function shellQuote(s) - return "'" .. tostring(s):gsub("'", "'\\''") .. "'" -end - --- This could be replaced by noctalia.outputs() and noctalia.focusedOutputName() but currently the focusedOutputName() function returns nil when testing so we can't use it -local function updateMonitors() - noctalia.runAsync("hyprctl monitors all -j", function(output) - if output.timedOut or output.exitCode ~= 0 then - noctalia.notify(tr("notification.monitor_list_failed"), output.stderr or tr("notification.timed_out")) - return - end - - local ok, msg = pcall(noctalia.json.decode, output.stdout) - if not ok or type(msg) ~= "table" then - noctalia.notify(tr("notification.monitor_list_failed"), msg) - return - end - - local monitors = {} - local focusedMonitor = nil - for i, monitor in ipairs(msg) do - monitors[i] = monitor.name - focusedMonitor = monitor.focused and monitor.name or focusedMonitor - end - - if #monitors == 0 then - noctalia.notify(tr("notification.monitor_list_failed"), tr("notification.no_monitors_found")) - return - end - - -- update monitor data - noctalia.state.set("monitors", monitors) - noctalia.state.set("focusedMonitor", focusedMonitor) - - -- update source and target monitor indices if they are out of bounds or not set - local sourceMonitor = tonumber(noctalia.state.get("sourceMonitor")) or 0 - local targetMonitor = tonumber(noctalia.state.get("targetMonitor")) or 0 - local isMirroring = false - - if sourceMonitor >= #monitors then - sourceMonitor = 0 - end - if targetMonitor >= #monitors then - targetMonitor = 0 - end - - -- check if there is an active mirror and set the source and target monitors accordingly - for _, monitor in ipairs(msg) do - if monitor.mirrorOf == "none" then - continue - end - - local mirrorId = tonumber(monitor.mirrorOf) - local targetIndex = table.find(monitors, monitor.name) - if mirrorId ~= nil and targetIndex ~= nil then - for _, source in ipairs(msg) do - if tonumber(source.id) == mirrorId then - local sourceIndex = table.find(monitors, source.name) - if sourceIndex ~= nil then - sourceMonitor = sourceIndex - 1 - targetMonitor = targetIndex - 1 - isMirroring = true - end - break - end - end - end - - if isMirroring then - break - end - end - - noctalia.state.set("sourceMonitor", sourceMonitor) - noctalia.state.set("targetMonitor", targetMonitor) - noctalia.state.set("isMirroring", isMirroring) - - end, 5000) -end - -local function hyprlandSocketPath() - local runtimeDir = noctalia.getenv("XDG_RUNTIME_DIR") - local instanceSig = noctalia.getenv("HYPRLAND_INSTANCE_SIGNATURE") - - if not runtimeDir or not instanceSig then - return nil - end - - return string.format("%s/hypr/%s/.socket2.sock", runtimeDir, instanceSig) -end - -local function handleHyprEvent(line) - local event, data = line:match("^([^>]+)>>(.*)$") - -- we can not use the event data itself for the monitor events because hyprland treats a mirror as a monitor remove/add so this would remove a mirrored screen from the list - if event == "monitoradded" then - updateMonitors() - elseif event == "monitorremoved" then - updateMonitors() - elseif event == "focusedmon" then - -- data is MONNAME,WORKSPACENAME - local monitorName = data:match("([^,]+)") - if not monitorName then - return - end - noctalia.state.set("focusedMonitor", monitorName) - end -end - --- Watches the Hyprland socket for monitor events and updates the state accordingly -local function watchMonitors() - local socketPath = hyprlandSocketPath() - if not socketPath then - noctalia.notify(tr("notification.monitor_watch_failed"), tr("notification.hyprland_socket_not_found")) - return - end - - local cmd = "socat -U - UNIX-CONNECT:" .. shellQuote(socketPath) - noctalia.runStream(cmd, handleHyprEvent) -end - --- main -updateMonitors() -watchMonitors() - -noctalia.state.watch("monitor_refresh", function() - updateMonitors() -end) - -local function stopMirroring(targetIndex) - targetIndex = tonumber(targetIndex) - local monitors = noctalia.state.get("monitors") or {} - - if not targetIndex then - noctalia.notify(tr("notification.stop_mirroring_failed"), tr("notification.invalid_monitor_selection")) - return - end - - local targetMonitor = monitors[targetIndex + 1] - - if not targetMonitor then - noctalia.notify(tr("notification.stop_mirroring_failed"), tr("notification.invalid_monitor_selection")) - return - end - - local expr = string.format("hl.monitor({ output = %q, mirror = \"\" })", targetMonitor) - local cmd = "hyprctl eval " .. shellQuote(expr) - - noctalia.runAsync(cmd, function(output) - if output.timedOut or output.exitCode ~= 0 then - noctalia.notify(tr("notification.stop_mirroring_failed"), output.stderr or tr("notification.timed_out")) - return - end - updateMonitors() - end, 5000) -end - -local function startMirroring(sourceIndex, targetIndex) - sourceIndex = tonumber(sourceIndex) - targetIndex = tonumber(targetIndex) - local monitors = noctalia.state.get("monitors") or {} - - if not sourceIndex or not targetIndex or sourceIndex == targetIndex then - noctalia.notify(tr("notification.start_mirroring_failed"), tr("notification.invalid_monitor_selection")) - return - end - - local sourceMonitor = monitors[sourceIndex + 1] - local targetMonitor = monitors[targetIndex + 1] - - if not sourceMonitor or not targetMonitor then - noctalia.notify(tr("notification.start_mirroring_failed"), tr("notification.invalid_monitor_selection")) - return - end - - local expr = string.format("hl.monitor({ output = %q, mirror = %q })", targetMonitor, sourceMonitor) - local cmd = "hyprctl eval " .. shellQuote(expr) - - noctalia.runAsync(cmd, function(output) - if output.timedOut or output.exitCode ~= 0 then - noctalia.notify(tr("notification.start_mirroring_failed"), output.stderr or tr("notification.timed_out")) - return - end - updateMonitors() - end, 5000) -end - -noctalia.state.watch("mirrorRequest", function(request) - if type(request) ~= "table" then - return - end - - if request.enabled == true then - startMirroring(request.sourceMonitor, request.targetMonitor) - else - stopMirroring(request.targetMonitor) - end -end) diff --git a/hypr-screen-mirror/thumbnail.webp b/hypr-screen-mirror/thumbnail.webp deleted file mode 100644 index a803f3bf333201f876fa757dfc0701e3f8d97ae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47364 zcmWIYbaVT&gMlI3)hQq>z#@W+fq_ARfq`K^GlMh}gQv4|zzIeM1_lPk6CjesfPo=5 zucRo*-AN%LGD?B{0RtlgSe}6)F}b(^qy`6OWMKGq4Wjn4E)F&LggH}Ei<21`7(OsC zFsKwoL`E?%Fp4lRFo>i>*cu>q5`=97VwaZ`lrS(b27uT_AwkXz42&rZ3=A6SNbDpe zc5*=xNPQ0j1A|R&PASMPkb6MB<4Mg64Q60q;9y{2kYOlh2x4$&a02-sq=11Te-Q(N z#a9Lf<_QR~q?rs1+glkJByJ(ZR2DEW@V789Y&(w-Lxf2|Vo@U4JQfB92Bx$$28K_| z85npY85o2wFfedMgXI_)7;v}^6lpRH?hN@1`3&g{ISi=`3JjhMc?`)6dJGB-MhpfF zh74w50Tv2;+Zh-F+?nPwY8_yfVY1_7YIJBcWnd7PHtoSG?aA|vw^^qxsTZ3U*ybP- z`Tw!u)`K}_t)8J(>_x_3+ItpzZ$ADv{x{~mu{ey07;{y*_A{@?lk^;g=z z&HonvyZ-C{z4Ht6U&!CFzwz(N|FeJp|6l)u@&EoS%>VgUuxEzn zn?Gv*p8t#gvpoMl?XU8e>o@&dT_68H^PlsF+o%1_>zn`e|6PB&zPP@xHtCoCxA!0F zZ`5zDKltDAhw!`iA2)w{|L6S9`kDWI|BHXR{rmlE^Bek)<{#U?sJ`ZJ(!Y!U&HtQ# zu%y#e{9pW2@dNSe>^1(~{QLON{2%k*-v9Cc&OiR@>p$#I%h&E-^6&1y$)DQ)Y`?+( zasK1~*Xp{{(rOo^#6SSWB$|q|Nme3%lXgp&-vfWzw3Xh zf3bge{g3~}-z(oN|JHwF_Sf+D@!$Xd|1n`5r&COmfpl%-+$28#sUJ6rY$<#D^u{iQ z@_W8wArF+Fzf`lTP`>gr@?N^Ywr%;l7^PRmZS`=w_dV+TYtwrV+X8aFZFz9CRGFb; z@#&c5UyVyz7eDhAjaYK?+XCI$rrD_qZ=WuWy)ZART$yR&k<+>NR&omF9-Me}r8&>{ zlI+hx4;f=GNXY(u{X2=f%i2D2BG*rg)C2sIQFf6Q|E9TWY!mU@ux#&V>4X>khrj7* z&wOygrSZ$p@R!P)c_qsJR@{r8l*jPWZS^dEx01rzIU8gSM4!FD_K;v_r));2-@f+`02b@*%MJG z@d|H6f%me^yN>iYpG?^sZgg|oMDe!=E)?u&oXnCQxHLVdcWW-6t<4VTy=Q;qXL2#nWuLRJM&X{t^63ZluiyT4#l(4GA4Bc2#){`HRcFk*3+8IuIQQLb+sd*>^y#0O zR}A|f%DTTZ4K|qTm~VZB@z?f;VK3%=4!pszSdPc=ZBItcs)V@x)vTf=JhPwXJ1VT? z%nH$M*LpXj@#XS!w%V(bWnS#LcF6d&nctRvVa`nT>^sF@#ZHM|_*oSA^8S?TkxWM? zReMV{^6suX_`_YCft z?j^sjV0_NIQ?6p0s=H{F_W!%uV#johrs-?Nibh;gnyM!qTeld4_l^&ufdR95#%_i>@L)wB3D6)z>| z&B)sDX7f@r!_>5U?A^A-Q;Yb#qP(78(g^-DHQTY!TX+53YaNRY2OZXpe!RK%Q%ZjR zIk_t=wSGUj_D*tJDs}tbwnJy$_4alik^MgDgf)NqS8mO9n9W^is>a zHGjIhqL1&>I^J_rC41_llXLG>uiGi8Q*$D#X{Wi>2~M4Z3_mlS_dIB**|IRJE^Pg_ z&=dRe0w=z`Y8uya*iWKgXqyjTzhn~Av?J;9R}B{Ic)~4XQ@tr`kA%quzbQ+WJUwAi zdv_1>683j4zjn`;nJ#h1$m56ydm5|VPwkv(%h_C+7&#L!PP0=uF5u|8@T$I}=OXb( zPwJd_*IzMFvQ!bNSR*Z6E9lfx;ocfy(X)~{I0zIwcvEAh?J zy83c=_QW@PY^44#eIZ~x%Xzy;-2Vsq3pcE6O-}O73Awj^t8!_P?5x@!ogP zQ~Up}w+Agh9*jwGir9PNnvrIK&9uB;>#9}rG(+02n{Tc9QFSH1{zyx4M0@-5||Q5c?u*(#H9@mjkCwu|CJa<~ZA` zF)HEIoNKRq?M@f#uRnV@FJN6=wC)P${oW6~_S6`1om!dad%=fG;%NLu7X4RRK31lW zKkD>!@A6H0`ay10lm3>PEer1zIM_u6yth!0H~g-=-gnA3<;ABjHXPq0D%G%Wda``w zZCgjT*|YcaE}G(2VZ&L)*5grge6D(^zF(xF+Hw>AA1fW}ZT+^t&+Utv@ax=VPvIGJ zcdX{>h)msmKguu2VJ45}v|C^JChEm-I;1{UKQ}8_pN0A9QodKE@kbozDsJ2Fcm2~X z<}SUgJWcQTwB2IC1&cUe?^(FT`QGnDw?$1AZo5T_?i>_Mv(0+yfAuWGE`3Rrv;&)C zcJI^4>OUv5hJTW9vgyC?0hi{~*@f7BEZnunJ?O8D#ZhUye&2hyPw7s3EOM@1TV6kFGDZ6XTVU*L zr|D0F1^*u7;qpCQHN}1X_dSIY>$_5}=!Gva*g9qMyf?LfcAL)HbMa4-*Co~ZGeN0t z2ksax4QPJ2F6A^AM{Ji=-=CDcKlHCkvjE9SXS>n)?{J1I?F!9r$D&vm6=(U;(Ept^AwK?8ZKD> z=}~e{(&lJMn6szI^OgT-0Eo`TQ^|#~XWA zw(YkUFWU82bk!lflE{k}F0J{tBkJ1o6!*h>cXqPG|Ju8$@80=EVGHK1wMf=@IY;sS zrGif^I!k}~$vLz}#E5BZ6Y$(1uxa{Bi%KR*21m#KUvsZ-Qv27r{p0h=!7*L_XU|Tz za*i(C{aJ10$;VSaO_?B_%gSYcUdigC!nXChKi&)Zu0O5#*zGFc|3_M9x_p!R%C2R> zBK2^pdgIZk`5T|D$`rK>ZZ;J%6~6qzcJs~4@k{ob9yxQ9+vGO?ju&OqL{<5xIZaa0 zxHEHI;7OI~S59nNKc784B+>T7uR~P zC2jmu%%E^pI#@7L_(a*h80P2S>aJLygCr3a=EwVkd;ZB86uDo^Wl1UxuvNO8Q8M2q z!~JxmH{30>o~6}_l*}{%xm5A;q_xakFN*Yy;i8ae|bh+PDcMv`YG!l ze}q2seX{&i8*HF!@pGE=6wcpi8Ehvlr;6FE%6#gl_$A}^#uq|Q*bbgp$S%$ew@RaY zZrv0W<~{4QxDVG^?q5>4FU0@CTAAL4;4X~^d}<<$9mdO^H!#?6ORFsTD^YtSGOWtW z_`^~=iIZ}ioO75x65j460dHu4l)3 zdOdbbe?IHUp(z(;bTZZJHKmudtdI@4^;)`_?eYry+@iNGk*wiOUcHeA`773Iwj6LP}TKa%eKt=YzxlvM=3?Gr#IZHbTUA?8B|7W}{Xwkb)!Z|32j-rWg~tLu9#8E?!8RPfmQ z@rB71)_$>&A8*;+S8}diCbCRoKl71YR%Pz13f6V**zLPmdI!JH;V0h9&#b;wWgPZR zCwS7cODa|&3mxJ-K{R>HB~Z~p0))VK1w8s&2Y1Vs1gI3Jfd@;CqcmX6O^w|2j_ zJvZ5ySA=61zdo;@{nIzE73X=}y73~Y+<0C0`Ok&fsry*exiXguYvpy?{PN3L(DnP| zLj`kznm~aF|E)!z8P=zjF>^3od79(P?EJ0Z8CQh-@$Kuhp0SFk&e*hWLB;MLvzp{D zMLR^Uy}78WLMLZJ|Hh3*7873{3fX$-_mqcQpG>~E`I_O%U#mCy9{R1k{+D`{39OfYmo)p>32^zz!u)hebA#UO6O}Bb-~O9ti0G~;`*5k>#%eV~Q8HiN z?LW8Lv>tO-&QA{D;HzkEvfjT|tPCItq)dHKHm#Lwfx`KLZksQtOI zx!|Pv*NVVHavWw0TQuT-1}FhtGdX*!j{-c>j`ntF%7Iu3}qbY}u66_fVnu zCuiV)ZB~cs_(STm=1<9W``_~9YSOmCoWiQlkM4wVyM1b|6$^iCdS>p^%M;QTX>!j6gS(mcZD>nUdqw|~Dv#L6?D?i^k9lyY3zy4As4z-$NXV`Dc&Afh2 zovCBhR|O+IGpX=j4>D)6y*MY5&E-JkMp<@#&&>d1mza+I45<>9Q(ZDsXt@A)se*{7eYtQ7P-?fpA?Q|@--9ld&G zf+sAaFBwniZMex2q25;Xm-EIZ)5!flLf5|qwFY6V|X21R7oGrb4yM;Bh z#JV@%juBf{uTlKurD@f_Gpptq&13z{Xz^budFk`e{KG4~y;?gDJik8U-a^)Vmi4EX z7Vm7ca;=`!VwXAp_uTnU?X3$p3Y}|NEkB*#{@{-5_R=rdm{xJCiY!_9^O{83(GX$D zE(O&uZjw$9)J;D-0~vV#V-CQeD(>kHeZXfJR~4J-&LBiiA%-jYtiZJ*QDJ) zPMqpGt?scd_Y&d!?&jIvTjn;OuDlq+didO2&N$VZe9t}}EO%s`U>(>$<7h(9%(bj&&_?LR9tQv1JLa=KMTKj%tkzJKd;Rr}?2YSbnyx#a_@8tA-M#+$ zhtQYDnQH8wcO9y67hKKz^LNtE%|9}iJYO^8kNdNZgiThtuUem;Ot-fYUVhC{%%uIf z_Q$H@KN;@WRrLR<2c=02Rg$Gl<9Y>kZGtD6lX?mcdO zmM=H$m8kyzoE39ePAukJ8TYQ8x%1+g_H!>)8V;!V7;Kc8#-{LIr*+=nNoj@F7vBC^ z9$dRWf35o3`2B}dxIWvdFS@QLwNzQ!qJ8PpgUO#g_D4UeWBQk|@0qjX>D*l9r^k)< z+KNo$aQU329rIl1oSuwab6>ckzL(^Wum#K1&KZ0;)68*tVszP6GHf*3QDY9A6|#j3aesn7d1^ds;oaH*r-yM`s@EUy)z-NiRzEnpzhb z-+H*$+<)fVN4|V&?_W&2niCehK-8(t@f=Tl+K#tbTQbtWF*bfZlzwQMfM>j3_$G^} zwuR@M_Hs;rQoATh`lpSql6>|zj^z7_YgFU4)gtc8yB=xE`P44F?SRE^=m8SUu|Kteq@vcB#6dKU?97#Epg@EZ%nm zRFh9d%84YY=OxQm)hAEQh*{fUy&~9A+uZ-^+Mfabd$(`i8NE?S zw)Kvv`i_sA1iHTcJS^vC!T|!yQdb(cJy}Kr;ZXKVl*}u@bxOwj3 zmlHkzPk5f}KI!=0nvRFy_1|A_E><4>DmRKbcgrCNlTMr_W3d zgx@t6Y+7Y%_de;MZVuasTkF#ZmF!_H6AZ?*r=9c1H))E)iDp51O=;y+gnThwodqa98JMZN7YVjrJ`0jWK)byB~d;C;s}j zX<GXCnAA^%nJsO+Xhn*!G_h9Y^Pm(I7fln1Y0 zlGgXhtZRb-pM5+}^!)e#Babg#{rkP$-i7ZzZttsdw&iu*gEZ#&EkvsE03BR zxA?44Rh3ocy!6SsJ7U)S041^SEX%5{-}!TKs^8nAB}ulvg1;VoJnv_Ex?@>=BO}L` zd9FN0*WWjt^WwEvzT+pa|J(QeH6g*^seKn`Ni=n{aGv3mI>T97vm>@`zB;=@_}jjJ zrD?6@2bUYQ9{scQ*8>qn#)SXts~7suR5~oyxc5=bnj>L_!CaeeYOj)?lGXiyH%Lo! z;XN_K)W*{XZCc9es?S%QP`oK*?R6r#X5+!N+}BJ!C7pEA%+jmbjs+^1Y;+4-rV z+H}i*^nP?ihqL6@|A=)L7o6NJt$Eevl#mF+7v7&wxA--GZB7<7TpxL~GgNK&`Y*SA z)mus#_V^vj$O!ej=-H-$?WnQgKIoOMb;t9SsObye&b#YPrRN;~zG7jj zi%6l-{u@1_(I0Mb$ZlM{>VYt~efg*5YgCt72xSzCb+j&0J?rRkvUT?DtUQ$kLUqsF zi>?U$?_9Jw$EfZ>xkQAWnTlkC%j>@_((bP~ZdyzTN;F-xeIxf|sSnL={xeUnYf88` zaa!h)xAviHl~g|-pY~a3&w_}GP3 zuw8TM+-Xlg+>#D22<5D84K#7p%xC|&fg?yfrObMd=Z!Vbuk7PG%hV>+$mZiw9x3)v zcuUEWlGfbh;-}rrvm8JWqzw;U%R;P9MIQL!HAH=roCjadBhgToY6Z-J>lv`x< zeTLqgIb1c31+Uk~#C>5YTJUI}x&wm*^O3N}^ZoKS&EB)QNW*rOh4X5T%6j|LensaJ z@@B`>)K=+>1$i~K-(?7qH<3{|9=`8X;q8TPUppjHByYLQ+?wHev;N0BU)8Ud#Mk^k zU0;3ww(NxLOGd0kjvr3s)z5ns7E-GnFllRw#+^A+3?DD`+~0LEm06fCZ2n8nz(sS_ zH?p%AZ0jphNR7|-nrLm7`YtaoKkUH4le3SXzQJoRx9fvg(-~gbA4RJgr7m9jn#*^) ziuwPxb=E(&-{vhZGI_IFN=){sa!I+icIDL~8Ein}3V%vZ>^vkG6JNZ%FZ|*5oVDj& ze9r$`T-w67LnKG}>x{QI-)ODh_OH!zkK@aO=S6sV-h|s)z44qben9A%i`LiQ=O<=d z%l&wM&c}a$y98I=5^>x%?cSVOD$3guoz`tU5O&BXP&^`|v~SJ4+1@AjNz`xNe$e9k zMCLc#U#xFA%0HT{xbwiV-~N-{6jyvbX7Fw4o}~Tzv;!2SSKfJ}m}~dts>h#N)U@VD|4r#RiRC)BS^gF z#7d#-dtE==>YTqc-P{mp~v?6to2A-U3$;(VSv5M z0rn+!2|P~Kx0KffpW?WCLi%>#nurq1iHFzrec@o^Vs?7b{_V;3Zk6)DqwQ~$efPN+ z<(0Tkt(vibWzMcC9G$(Bo>*MnG4t}J_#1y7>}q}dZHa0F_munoUAHRs@8#l}{qV$A zkB`Ob3+^qpdv|lAv6?Bj!~H)Eo7(>H#hm`)+u4c>{!OblZY{xBU{kT;>Khx(c>zl=#|3jPQll^ObQWxmtZZ65w zd{_SePM5^(6})S%-jCdJW8R?`$JT|NHBtU?i^Hn5D}W=$)Tc7D=Cwn_gP?U;Q%xW8 z=Loc%P>_&6V&7-c5S~$B80~fL*sI^QlbQ=AtFGhS-B+@o@5x24OW9=}B9|oIp7yc- zf4=6Zs9~c}_1zyb2BPmPkNGG^6Bi< zv#ed=vYBbStT~F}{^mUo%V&AF;?LSRC5fQjeiv?q2TC*FVq~k_dm-g+%-p7}iX~eg z*;O^k-YD3weBLQ5_*;~{f3%Xn9dB?{lujW-bfxvou47gDb97ElIAV9Cm}${0tq0py z1XP=IT>Gne`F6q1Q9xCQW$N&>LA^JpIIT9qFdIQ{F9H z=vQ*_r<>}v?b$Og#@U_rpXaO*_r|l+;-D?__0D4_b{IAYw3zjrkbdB`rvK*Rb9EgT zUnI1$IL%%4aCypnhSVEAeN%UqU;E$CH%ZuXVm@b_h12A}0Wm4el25K(nf=vqX06(v z+iSgzFMZqoEUl8wXwf&(2YcQWyNhVLbfo?=(@nKone(*k+wz>|CktmBslDu^mXW)D zZoq_osp9m^v&C(dlC_tv{W)3sxW#>53U}S@=bmR5tUSSBl~D5W(JZyO=K23uu2Q|8 z+Q#tLlY@KrS-qD5tcc_-v6hxuaV!f zc-Q(Hn^!0Ou#CF2C;YbZ@+XJ=-%gzxyK}_}<`+Q|CttL?9sBI1hGI^5&V#ruw~n1Z z|Le}J$2)UbtYRL9KTUbQCZoXhvVnr+mEUV`Jbe4BXnQ?AUpbo@)NlG(gEudZK(hr`>KTFl`#uY?RuSytLH}_`@Mh1oMwjIAzu{^G@Gtum~?WD_>mP>!M#~I zo2;!aIG+sc-Cz7|lR@<4_tUNzKYzv&>brYQ_By7|9qDr}m6X0cV3f7w!S_x3JAeGT zEv|p%QLX+(-Z%Pv&lfSwY2v;Xdb&Exf_>-5ZOxaj=B?iP=F&0qgxmL;gioBGaYefOigj4tr!yDcOE&Jh z@ADz{TBRu}ls; zx+U?a-cfUv__-ZvvoD`*w%We@K0Eh{_c~W6xOkW>UVk`;b=QOPXZ$CB{ExC^e=9ac zP*HhZoU;9t(}wez-j;0fUoX!cy(ur|P`7VXMCWX|zZ)lf{G;JxyEypkELX8_jPICa z`BQX5&d-iGboh?J`}336>I*2ZRV@_!9sbb7D|1i&(S60Lg=*ig`To4~B3+=^QPQEQ z*wOpR4lNooHyk^}_a|4eRx8-uG!(2U_G=g@r?+IwA`0mn^ zT|as15uTgh4zHOzZ`Hw4w+Ux93(Edva*2GKkg--nJe9t|KFQb`DJbe|`^?Z85xoFn9<w8>xY%o;*I{EJ0{1=+4y&q<%oH@NNzrXDbTl(pDS?@Odskp)zR=snE z_`_pO6I_{}9Jvw~?t47bMZ>DSI~SL<&wdZ?zc z)I7g@=8UsVNtzlF-!GMGRxcF2dnm+UWf9Z7hSbC7&8Mt?uG(o9``(5N(@YNAc{r==nmo~M2j5cD_matNk6gAf$u>`Q&+NJP zVvp{rcOnIb`xoiowXc7X_$Npz=G(-$@*~21;&mnm)j!ld(|6dFaNwiqpNDPH-7PQf z-2SMm`o~IcMK~AN!S5$lm5ZG#XX!Rh6}rOd$q>gk`^cy5Hs`aZEqRu{)p?9oN%tMpOttNIXZZ?|BDN~Nc?It7|2NwPMij{W z|FbPvQ^eWg2=n<>J31CuzFN`yD(ry!U;jyca=N0a%Zqgn+r2+6zUWL*xZtzxlU1&z zp7PE6Vv%vNphCCfS?SE`N4cirKWAJme(P6Uf5*R8;eFEGIg6MttNhfIJXE=fdCvxp zjn%DsAHUs~asT}Lp>k<`{>|F*xbPA_MV>o{->_(uyT2pAE$RyIdsCw#~S-o0+y}cu}^H$%?G?|+{Gt} zo^!C@{_^j_eQ~owCncHBvHZ8S{Ds~BlgnN{iLvL5*e@MDgQ?5(LD7TCGhbIu6nXji zNosOWJGUvj;kD`EDpHCj&%34_ak}Z|a%D_0QAr?{+L@xh$u{*j=4?#it$~(sF12lTDe`V8eK3JdSsy>Gv9^{$CmZfyRZ^hoaJ38_;jQe$}J+vY4S z%Xz=8_?o2jrfvN(mhzik+5cO1yJKfp+`2>6ym}5?za`s`YHw9-GdjC!`RrrovXs2r zrT-h$aJnuRR}NcvdT%^S*Ucw9|Ap7Ov>8ZrMO}%O58qq)cwu%OW23FP>9bj~rdMx& zJkl$2+0pN?XcgPEZ5b|e-u!*vZYClZWV@#0LiS}3{R?(%Dt#K2u%0>O;agGDH)%)h9_$r+lD8sl zjp4@K{ayW`GwnqrXPjKeux8>djtF7KiPGL(d_T|rN)?^=IAZak8lg=M;j6Z)ylOsZ zCztHDXV-5}+a!n8RTJKvVXUiq?=fL@c+zp^T|G*@Q`gG<33H3=JN0MEC7q|+j`2=r zJ8`XPsnMJs7uI{OdKU^0Rr7!PuW6ASk>l~~&LSNJM~?_U$;oTB{fo_6TXj$K&b^MT z0~@3AA5H67HsilyR(tcoojrNI8#Gous*h2(&+Bt>`}088;g4+1_lS?tg`g=}F1TR{d|8 zDnDE#t#?0=TN1N;Mb>Tk!obPdeX76XpZdtP**%@H{f3zS%%m@ENrl(akH6W-FjGD+ zt72h>gDtOrk^bsjYLxR=GP@RHe{6l zK5<0nV!_9KbG3m+AKW@|aW;IT`|H0tTMae$F z|0OryG(7)4=|OgW-?#XgO{)^bFS6N9o`03aN_ger3AIb#>c0H4>%pPs$j`5S?0*~f zwc+Z`xtk9-OgqjN`|(ET^DTSN9y&)nUy0T1<_z{O4^+v6-hg{19EIviu(Z>XkvPZ7#`++ZJ4fE#hXd zyB9ufp6O?&<*5%kH#D#EI>&3^dbH5%b_##5_GT{au(VY^|4afsjD$8fp17gx@_rug z?Zt79oXL_LhRHwNkCv~f+hoZaT&-O#GKt}+OZXbGP~+U~rMFfwq^mCHm{aOjd8jVO zmHA(3Y;*eBd-bk~eXA{xs=N&5b_uL|ZpWe?)Ssx@s65N-i(BjN_=S%fI9UUYx}HsK z>Ahd8$GP`+(7UM4pS@ALVy#vLulvovC}y6~z1FO%yQehS_8;*N<8#<`mZe}ei>+bYlGKY)Q}UEnE^nVS^MV#l}0xne?z`>7Kr#A9AuYX@PaZtfI}KmTwlx^2@Kc{L1uMb9s&O!9@X^ z*1Fz*@b4@+U(yeUf8HebwPj`Sy1yN}g%l?{H81df$-p#UU|;0N^1L^?24{u;x-69A z+WC8y)!oUSn$9WQ3l3X-Tl?fN_h-L=$!0Yz*Visw`b<&nvs&F(zfBI0Wz(7DSf6&V zsY?5_@5@-Y-cjEpaMg_0rPtMtKQ-UIPo(_L&xPTE8r3a6VQ=koC1)Q!*I3x-o2z(W zkHjkHISn^nEp#lLI0T-Ocb5$1>uulech1mT@vr7_gt6S~T+7V?#ZNmk+NZHu zZ3+BP>)a4KqwC@03sdta*7NyHI+qk-ojWh-Y>0+~SA*du54k(cPx>fYLx=$5?f;^i&n_I|9g@2`Bdt#9->pW%3eMZ56G`&c>V(8l_A z`9c$t`VYL3v;Ecl#cpTSf)_D@Q-mMqZF1t{-BGzC_0N3{ZB6I6`Nhn}4`=bnl=#fy z{byNavcsIu!+cYQI@gi~9g{eg_&f_f~ixtP6S6{muHTj<+7rOau^RhUw09Sy&)d2`1lk9F?QavBJ1t#=cBVSd zNN;(X(q>3k3FRmd*3+ew7*_E|NhlQPwWo=VU0cg@KXJxc^_6wB(J;8asS=o zw#lrAO7u*$yxbDsazzDx+qd#(fEZhq?9;5M?xiv!?)hsaP&-Srml?gE!(1W zvsHUUo|ktny|e1i(fTJddCsTZxTLt|?EY0+eMeJUv`mZM2W~&)ad~z!<2lXgmr^=C zM4oLr`0nDDbAEDbpT6aLa5$TPVV$we1BusbyLZ|B?cVeKSyc81hnZ3-xiLHLyxekV z@_EBgwsXwXdn9888vA#DTCO7)slP+Ybzhh5b?3^{t1dhf2v2c%vhvNeLtmfQ`z)&c z7{9|?oJ0ECazFN4kws$cTaTUS*#Gj;30_II-$6#J_T5@(z2xQB?`l`;#4~*g{pQSk z@G-!=Y1a1^P18@y3{$W9-G8ur>Gja9|5P*u&h2nrSQawpt%k>Tzm9$Fdu89$F5UN> zzyIV6){ox>zp-qH5Yhb<`O5YGE;;T7j-2ze^{@P%E%5jI*Doh#BxFnO$<98gdq8)3 zkB0VC^H++6kIx<9ob#}C-=BwDCu~s3yJ4_)iRU_Bo~m}ME!yeLYeI|{3T#{a;V^4z zf>?;Je7Oy$<=mJ5dQ(-`{LL>)-ywHBukh-@)e8@}9AuxJWO(HEo9d*x4L*ia3-{QY zEqc~|Lv{OvEuXilhN+!+ySytldn3bv>>P%b6W1e6K5Sx+Bk{GG+j zx~k;#TWyi|hf5uOlIK5|@5>!z`7mbNovYsuFi5-2J;iu`>A|^Cx8#2}O(@SR4|{m! zyYZJLTke*i$@-y#h@1NR~9eyB_@%>lX79lb9MYRicq~yM|yc)B-bmG6nT<7mNn<#qelyYG%P zHEpuns9P(qqrCZ@-2ofZw#YX+*}f@rU&zNzpLn<>VaKbxt2QclJvnIl(qGNw!*lfs z8aE%sFRsulZ$JIX?xydIBexx_7p|SP_V(PIL##v2kky_ zWpA*aseOF$qW>?O13K4*izvBJn(%l!^n z-t}po^1ZHGwQh3My(8O2LN47Akj&5AaP*huI>mxBv%>B;vd?^}d|ue$!-8ui8;{AS zW%kTz&y#x^K1KM$CXYQ!SFC>5Icd)R<3cvQ?*%z({#n_b7C7LsY5vT$h5N1NJQ8_* z;EehFMxJs@!>x1XZT(royZMDA@5zobgI$^2QIBjIofOMGuQwHe9~*=!UwpyvO)@tFkBVywJcS_(tuued#~Zt3MJMb6EcU zR+{@OP$_hxet^S-x;yK#-A^97)%=dLtqQ*O>-;fq-_TU8S?iXGPdD5n??)i6R%(aicWE{D98kfQ+73~*pLALd84yzX5 zGF4u=_m}p9H`V`rUr6_AF>jHwjb3`CE8qUbquAp?d)g1aU=5kb&*bmD?tfsf5La>;%lyl{Z>kyYgm(En`Yp?rjD17 zWA0*}2r-RwA6c2gIkl98cc0_t$(52~`Kg>8)$y;|U;ZOs(c8k@koaTQWontGwJdEa z`6Jo5y>)hF-_{>*E-3D6RPZUhB>3Rf#`bx->}io#CW}9nn%z9%!x_ILIUM~_H9>B# z=DZY66aSoXo6+IbI+l{3+n=ue5Vy$3yLRTopqiT}f}T9|JNKobLQZLJkU%2Gw^pGr z{%zB^&HCiMt0u-9s$Sc@ZmXOB{lAyQu34SNcLH`NHAOO zzTKNV{W*{Efe*YLd3>9Tx!3)k61R4;QQfzSNmrc@Yh-!cpeTO5u!&tNqW-=v`m1DaqWi!T;Hn)+INbtxpTSF?<#jv9(NA<#UW$cPK~Y zB+U@+E)o4!-lbq!i@ag(75PH{*SA}5o=d)&k(4^oBv|$|cVPQ= z_h;Lsb|=kU-rk&P|CrfdnBx?ilvVwfTkpI)b*DQYXkkAztzfazB&F2SfYlm$N-LeO zX?=ZsCiuqTmgSKP`izeYty35MWu6pth2e6S?$2F&`fLxf%6y+`qH_rpy!hqMfYE?W&epE-~Rb@+-FP)gzN#jmwif56UTUwlTC{ zH>tU%k-0@V>|#Z>v~-nJuZi1X=|#%#Tk|IEy!0ud6X)Cs@@G!Z}|*QxQi$&RzA7p9`o2ZqPLj4E3YFvIW46ByzOynX0<@I+~(J-O*b7mAGkxmQ@c-3$l!1er{F8s0}B?uiQdsY zkMCLL-@DE&ol+f}7QYgja9=Pi==7wD^5=ivP4UdD;cb}NY*cmG;>+(|)}|8a^{Ye} zZZ_Aj{<-r`$!ELGs>h|z?+R?$kZtH1@uo@Gu6<+3+G+9+)>-Ncv4&m|G&=rDYsVh$ zRIi*robv6eVOhNHJ#s%?G~P{~Jp22FdX{eLDiVF1gC7kZ z@ddg~kZCZveP-Iqtuyu~uQDt9T3Av4&ryD2;8US}&%0Ch_SlAGaEnMZ{(BlcnO|Y6 zR%mHh;_{~lzW1`#uitR5$^4YawvHRgzy6dlJX}5R>&^7~A5IeNnsc_@VPnbNv~knY zf1<8W4N`tbyt=b=+tie!F}m$Pf3+1Zbm}n?=$@dbrTE#*H^_YDyaV9@$6V$-lJmW~ z>d(I`=3U&o1rED)_{uH%owPK=(D~9ttrtp9r&mQAd* z|0?#KNhkbCb@@eFxY~_lDiA*%VZ>Qh$pM)6_1@tv}|d zEN?HcVKYke`TyJD=IvyW{~ik>z4VzSp7XLqo_u*f@9nwiTRR@z6Zsk8;}V|yeUi^3 zwNxX6OSTLA)Z*&ge^zMkvpB4pkbixq_B4KNt+h*c96f68Ez!B-RMK=;)i1Jl_jhg6 zyFQnJJv+MPT%PFfkBba@{e8^I z?_NaS^PREE|3mM6!N2AcXYO6Uv;N|-1BkzkpHzdORx6S7D zEiboXzV%gVZ%&gDhC&|S0b^Yu@4H{*5AdVFdM z+1ovXPx9jJ`sT-*zL_jCHTS%8PB=I0_=eCgSC~%8{kxhWf8_%2!=@Q}c5Itx)o{q} zS6lw;9<%I`U49p)EkE?fieXQX{oa-QN1dMA+&ZeSZ2tE9i%t6uJd$Z>-tST5I`2aI z;rKr1=JEq+fx_?#6wd_{%%7=aC+R}TBZfSDWebj09Q@MUHI>5!w zf6@Ky_SFt9M(0JjHcIpK$!gq{^oj^w`0>n+cQeZNzi_mhdFMpN{&h?2ytYj}7W{nE z0;Z?DGg3+q`%Dsl_N{h*U*^ez%x}*FtFIjYSJsx?f5ln7IqhrYPJ>Mm{hiy*+^#KT zD7C)w&M;H-Nf4K{Ub%M0j#9UU%t>9-%vD`Pv(j(eN&J>}l^a-78QIkz9Z^! z@BQ1fOCOpZYUr4JU$F7Bqpa6CL!Mi6BBwiQ2}g1~zUyIGsQlzt;vd_$Zj%@oLoUqS zd>|oZZBVz=+IEhKK6{p4pVOcaZWzY%FF1Yc|C%@IoHsg+`)<}B=q?Zc>n~_qeW~`% znpy2@R1@E*Iyf*ePPu)uRm}LB@g!w|{+p4rb>wS4oYW6_peeY-q2KKFL!(;FlSdC6 zYuh>1t~pyTpm@oV#=t#-eTAv^qEZ`YM2r6xi&2^GANO<#-=sM$l4X)Ni|UIfMt|}t zU3G9{-%9zNSynSSz2t5*>@|PzypVa)9p)oh6PTH$>JXI@(U((&6&k@ zR{K(p?c`>w_u(ZET*^x=7;Co6Hy)GC)u2FkWFU!`8dmh zbBlDl!z!kh+C7`<_eJqgKS5P!EE0>JyJX%>c9(ZuiNEeM&2yTg?X+_D)3{x4CdWN8IVJLio1@%0 z#OLZFpT$ns=J(akRqkti`1{_H{}~%+9NJ|xdGXAsEt@OFx3JZ)U;QV{l2W$l`O$-B zY5zqUYvXO^z3J50o7mx*YWK}j*Yf7I_6I2)D%Tji7krrN9XILnq(xtK(}I6%zA}sr zTW#C~{LL^~ds`3xnq$nsRrOjIOuur_Bwz7r571 zaGJV*<~gzJ+Lo|c|D}sUtmleE_?1=)eGa;_-fDx4?9@#g?%%GSl_um8&C6NzWAplF zb()fw)YeAI{tymeYu@r!bGz*K1E-EXtuKD6zvIz{-Dh?zJk;W_NJ#5}8Ldp7QL&yqtfGe;#BPvw1v{)mW`@JVA1e z`-3o#V%`@Dua+HXKUmVW`l)YpSG+`{@LZRDdh!#FMqHh-c&CEQdvE{sFOmdJjD5dO z_GmmYBgno%wOnS+u0D1Ct1%aDFu*~j#`{StT*KTGZ-=|i2~1pSBRXYL7w1Wq*b{aq zZ149ZozDKi=g+&Lr0D;Z6o+D)|K5*23;($(&9S^UbFbLCeJcA3PpSo#ms_mAp6{wJ zRejUKCudKRexTudnRVRpKl>6tNc3Et=zly{aNT^9%`QF{yb{Hu7CX&8d{ux=;k>qK z|J$?QwjX(z!gtVjLd?R(mGzfqI!u}N=Zc4*R7BP7$Xm5DpPt$DF!ss!33J4^8o8Q0 zpCs!VsjnE*YyaqRbZymy!1JN3Q>2#UGcWtkIJr6F$(JuKPY%iDOV8N5js2eL$%(-h z7ReW)4>BmHG_zf+KBHNF`^(NIpV@0_2_@j0fbbQv^!&*m~| zsr1*kOO0zZb+*{7)=7|B_t3~)ZjYpl)4n!AsrNkYD?RvjO_ne0idoIYcgoQIt>%xs z2Yr9d(jsQhwAOGiFLTRTREc3T!(Nwa3OYS#i_ZY0*iXEB}@J z?Y*Y&u6!*tV1CpJY5r%|Cj}|lh&%l4pLH-#_FCGL6?5zvwwtv7tai2I&FpaT{8?w- zbgk&m5D?MOUv@^wqBETE4_rX>!)uuGemFiYyH;osBP2 z737JQn;q`V^n7!<(No7O5>w4gw8ZVTGxC)_u=E-<#P1S(YMxZQ(O2Ik=T86e+aGSu zDfQpOE-JV6{q3Zk4qvmM1Z#39s7&S-7V}8`yZ!nUskk$2>rY&H>E@#;@981^@WLTe zPB&BWvI$9FHmdpP-Hy6!d12j`o|_XBwO3|a&X49T5m1?0^-OGf+p*^jVJTO*cgOz8 zn8W;f!dB}G_6cf=x`q!gS6sHM*DYSfd2PYD(48tJ2WIen{IF_j>@3SoEFNcMJyrT& zoJ`16HVRmA;C625`F9#|8yCDWbXLkZdoH!iaErvf*RQXN7F{^dEHLNHs=YJzSv0&1 z42>~0W&Yu`p^NWf*z!qXRXY`gl;kE%()C}w;+?_toAS>VJv($t4zS7eAA=9#MaOz3$@MuJ~cbs`Ir>CH>8kM)xKPE1g+o z_-v75oP@`GzxLj@Yf|HCt{&O*NH^}R{RJP@xYgg6*|#!HR^2M@m(3%b!+-Yi*KKcX z!ri`BY}jk=x^nBIS6{NX>Mm6Kuz52Me)Cs?oFXhi%u)w zUb2Xp`(*CBIgD?_;}Uky?q9t3prDpjkm;j1na2wraY;T;QjH4T<&wED*WadqYh_RH zJWKH|uQPMpnWRtLSH4m3Y}KYT*Nkbr`DY6Fnfh*WvT8VZJlj$-OEA)em1DL<;Kcf= zGV8;pe+aW}^7>T%tvY>0ozh0Td+DJC3n%3+{Ugf~Evu1SCa7fX|8GKni`~n-<<%vI zyVb%bFV<-KFZkuSo^@0?mz?xA#;c2cZCMR({;JSCW!jUptX6W}Pr14l(UogW%hiKK zV&6~woFg)|n0Is7y$}D))$~@!XU#X!-kWQB?&aaOqPX{YXLY7XvbSEl@-ZfLvc->B z#uL*uW|wbrzFxf1P`q*XD#gTktM^@=srmfHd%La2g={CiIr99y*y4_^&_9MjLJ|c@ zv6I}>O*abG7dLZwchx(n&bhGo#OX)+PZ_FGH=HWSo&Wt}mV(!-#MACq*Y>^C>AI1o zyknzhOMAHTythAFS6d}BhBLZZd|Yn%Ch9`OB=S^JN?T^Z@t5 zzbrMK>T7@X&e&hsah_qTLy))m&584$S}jdjaVV>EoBFXiPSdtpY6Q*us2DIwe8G=i zL9VBBetdN(yjNm(T=~qDHILs%6g%(Dl>Z{G8~Oa=d8O}u3Bj_q?)^J|&1U3P=JnO% zlwN)4=Yqrq{>K(%@xSJgnCWP3djHt8#hpBU{j>GeUMBc`d(Qp&jEniwqzw%v>TcFIQh$DX}&_ik~qR!)?@YV2S z>gyJjyuR~tb3^;q@j~u(V%!pWdgn@zK$;%Gu zsFaqe*YiJqTbX)`O;EXdm4Wkz1FRe(i<5bSe$BPJ5a#&6<@4`PRlMAxACCCwS7}WV zsG2m>=kK$GayFHTT5DH+emdLb)Q9LP*;{vduDq?>aIXDiW8#X;$H`THm`7j>7 z-tKpv@7Hs_k`49RF~%}4`|3}Nf8E!{Yi~WZ_xjZvU#_y%998qKnl_oCa~0F<9V?&C z{Glf?Ij3@Ka(VNg=>?*xoVT+U+&Jy;$H-=F&pqqt4b2PB*8NYN=xxX!bDr~3f~N7g zj~XFQZL`bYUwp26ry)$_;=M1;ronj~fzdpRw(jcxn;$yg*0#z+{AK5!xy}BZ3zZ_G zR!r$KdKTg27pu4A+3cPF&t3TbU}r}}(~c-t%O^&Uzr4H6@wxBuj*7i{mi_4$bbtPR z)Eu2M&sMgDr_`kPfOq4se+`L;ZtQhDqFwTf!Tw=;#UAah2SJ<%bPB%~%=wrhyLjE1 z3#S5Ivmb6z{qR#{@k(=h^>=0`IP3#?WLeDL6x-Hq=1*vRx%|z_zJmDrN$G}h=0;cU zyIJ(|9ew{kM~-`a$oekUov^iZESzOp@`$lUe!bUyS}K4y}FhsxyRiI7rU=`DwVEy*S>q{4_*15ksb3i&gOwG}{ zacWgu!$Qk>YdpiSX3oX;;&7YQE@Nf1<&5J8Obe(n&`ykufuqOPE+v%Q%c1O>u zxx^~jFXFlF`XudczV0&adtYj^EoOEY9oyE>)mMDwB*PlD7xMZwE9$MKJSDtKyYkOR z^P9yAX*Pw3#^)94=P&#+;n%!!oww%C_6zoKWV88reQ^#G<~berQef-CXNj6B{Jq~a z;^I3)GkBb@KG|2(8rkz^>q65^q35%@*e-I-6LI=}XZsTVf6MQl;R(+!FMB#`U4vcd zNx$n|Icf=$AHArKvyI+vb^YGsX;QqRKO4jtqHeUx7p@P1mg#9ADFT zbHhdrpXA%(CV$k#}zzmUf;aWQ~&URcf$Wq7dPE}x4`5~*IUE17WW zJZpyf^d)RdckY~YZo`rNCik9R`?76=+?kzi28|A$n=Y-n!}#oa`o7(_dOgbS94g5w z?fCW8fOkXw|3uLs9r684sgKh74%YlSzt@AOTzuKoNeg9;EBY_#yKi%*-O6WD?QD~e zyDg*jlPlRcf871xw)EC6{_u*!A_*&#Y6JIN4V-;k%qsiQqr!K><+&+Ooj&H||F-Mi zRdfHzqOEaD6wj?XvzYJJ>w@Q-^>l8Y^f30X{VTC6>T<&S0>=O6nfGK(WnLC`VP)kt zbB)x-EAA{(Yi`H<-S(lr?CrFq%m*Qd>aX2AuFNWFwCmIv&+-im%hrfZKD2T2^+l8a zH%~o3HDs+E>*@YAVKT)vGuHnL6<0K#bZYw&Cv%>20t|PjKi#U$9{WD!)WlzPBKO^% z+?@0;;ls?rx0@%5vCeNedUsx-N><5KDb{byIoW=9=Dm~o#-$hkV&?gWIr(n&3^JD& z-M!r0rug%*XPU~}J2z&}%2~D3)@!FQv&qM^dGF5a>|u)uz2dm%_>%>Od9R*?F)mwo zLiiHjDZSn0bLEs*KG?~z>VEvAU4Ai5Ct{9jtj<*T$>?G?uPazvC0AV>RpoZ2-2ITK z;`(>1wWM$SyUDb4tu|i{+pQXz$5Wmh<6XG+-%*QHg@RqvjMXNV=h-z|URZGN_@*rf zu6+3`{3@owbH}@<>*t9a<+a@xVDa&((_XWnj2~RJM=nlU%CKrz+nJdCfn0YlwuHQ^ zs&w~0zWo-9cU!8gjc@X~;8UmKC-2Ow`6uQszSL;OW|1rVxr{zt`+Tz4*!X2kXPk@R zCb^4;&!i-JzBxBx)hX^S$A*I+#SRJ=8i|FSPuc!gbKhF&4@%c=?0KzG5u>nl)4Bua zS$}^nb(*MkkCS8VEQz=f-+eRg{oS{KIlz6f&_~e^(+u`Kddqv!ZlCsowC#QsGMWsX zUmf=ZO(@}YTj{qkp(Jk2x!~V7E01j;s;6IyGvs)# zEcs^su4(_;l5@I2+y0rB=u}Gehl`$N-Y)hqZQkB1A*a)~OY;0zd93)jNl*9AuRD#B zDJD#_qSZf1Ix8m4@_TH*?V-W*EnlYdmNR~SH+yBgg?Lk+Bk#q1-amHpi(c3`U%Wd1 zwrhm9OWmnek&A+){!i9cGnJN`UVT)-<=9QGb+^uZ{Hv`$b^6A?zw)zoyy{Udd$omq zU2Dtv+Dp4PT#lT-e67M&^DUcas63p>cIb&hVenrYRZ)p)@w}&h?!Bqo+he{o>ZHkQ zjorCl^&Z`ME>dx@Z|SE`C*1O9EZ7~tWlP$j{$5v?}74_;M&uos_M<11?YZ-|f^Yomld?AEL^RwjJypdp_1Tix-?69TcO96s)ymXR zn!9pY;LAnv5v-kFQ>?NRtL-)Vnbf-jC%kN2I>&Zt+}s~_KPCr%;JjpcYSq){>jP$Y zYgJ`VzjcOPDrU8Edh}73n)s;|b012`S#6M2GTNcXce$-i$Y$2EKlhSOJ_=&^^iuz` z%%y$zL+7k*+V=e>|5v{oW(uWA+pa9*Il1siuW6@fe&)-!(x%e)s$PrTnXJC}L2%35 z3GaUjwpW)gUDd$w;jE89Kwf0DbkRSVyoV{y!M%IgG&FBsFj~X=x3Jyy-TyW7s^;&{ zF5fL%=h_?r{|#=i$>@2lT=YpZT)gtpy+fNe+&sQasckL$!&h1CewJbSS1-wM zeTWuzuiw|jo6dgaBj?V4A8&Q4-oCf@$8I;Sn`)lljg5Z@9aPG!%?(jMwEtkH*B6(k zxdCGGAKI?2c_?@P&6oD4A!TLHo!43hnH<@FX4O{JrEmVt6H2g=WOcZ7=-9^JsSip+ zU(T~!{`Pc^-N(lCf45D)xO&v99f~&5i)%HVvg_or>t|26^nQHv)HEt_)2$W07abh$ z7@z0gR_XHiZZ_NNbB5jPm_?PMrm1O`IbXf2`sBb0ZAoQ6*Vm7~eKQSV_WPl{aI2+T z`E$q9Co%<=O%*n5H(EJ4FYk=zxroUx*Bm+ z;#ntMN<3aATg^S7nVhi2SVZTb@TtjvrBg$6=jSZ?5Un)%6uU#rwiSz>NXIT;e9Y#g z;!0hO<=@PoE$edau-s?W-LPx3c3@?2_hOc7UF~6~eOE1X?M+rm49!n{|58t8Biq3> zCz3l#?>02=+xEUh&SS38!uV5*7d+Ipi`&OKC2Mc3+_}YkpC+wo+RADs%{}GxCc$=w z+jDXP#I2>A>z$kT{JwnBa!ukD_o}ly#Q(-0J^uX1dgqIa^}LpK2|UnD=5q^d*L-ua zG_~&7q$?Re#KZQpvNGkWOP~6osjJZNe)3Vb{9i%ObAxN2EZrNNs8HkcS4yBKDLd+H z$6}+sUeT8o_vmTt{xny=g8x@X|6jR+$9tpSb}L=$_Ygl2E86kMx%{m{UFQy|x%X3f z9_Why-N|~q@RK5!wc71vnjFglR`6G>wOpTPSQ9F9%x;BL0%-iZ_yYrjf&&9PKjb#Kj6Ohg4onoYub0I z=&0P_h$;5#Y;dtCwG;KNZMo6cev<*mmK-zdMw#BX`Y7Y%%zidQ)le_Si}gmLqp zMGK3hqk5xF)wVxwyV7^B=}1Bim-eB0x7m_0=S-HiJ>r-#>!oeco=+Rqe|%#~X*PWL z`Smi-Rl3irIC;nBrIUCHf^0v%Kd-h=sAl`-(;*u! z&L~u~3KD&|chXLUsY)%v8;kC4V81hS=k<>a^L~`RS6rihYw7hzMKWIBpX}hgW&iPd zWyoIH#R+wFj0!g5Pi3=Sjc7J_vYT| z$@^yiR@m+QFRyve@7A+Zsxt#$JexaXWA~|wghwAkKfYGZj*R^+m!Ev|@Yko0t;0c=*uamN#tb5_K1tk{N7#U3NOp|8rv5ZBtD)m)8$gIYc{k zHkj!4?3Ctb4g9O@_x~>225WWQJ88Yoa|7d8%>}-s9zAH1960yiriUDtY<}#IpZ)QT zu1L?-zaI=HUMXDkNaW_wo?eJig^wndNquL-UVp z{@q+>qOjQe`-Q44xdl?8xvQ3FyK=t#cx=7sB#&(hjHe%^Pq15(+Zz6xz37~Z&&dM} zeKP}=&GeqrJj1Cr^YPrU@H0WDBhLA;gepDnH(uQ{>!()o4d#{Elf8=Drr&m(Fk_lW z?+=~5B6F81%BbI;?6+9@LEW8TmVgy)28{B{^`-?>b;NkROWsq~z_~cR_>PzE^at*| z88Wvv33kO4M2fIlpSxe#ex5-$H|L>tUi$O6%Gv*l*Sb$^KHoK;{hIg6=+6%(#m1Fd z{>}|4IHj;Y@R8!4z5=IXjDc@z{rfj)Wog`*R6b!=_5y7~hA9tqCa<$Jzq_+oPFpYI z-Rv-iplv&DUHh{)%wV4Dhba?8RT}NnuFPqkbEKwTeD{MpXZY_~CM@Nef9dJZAD}$W zD1R_9_2L>S*O-#~+-+=5e|R}A87i2ROqz_vEh$ zHp{#`c5_viho22@-pH(1GufQ8Hhl6;qgxG6mS^vFNWbW9F|F}>*SsP5{17ORUIr||1N52__oznYaCU@{xoZfHw(<{uz1k%@c)S_$&|fZg7N0wh8mJD z`NZ?h_S&25iY|=*xb3KMooYx%*O@%^3BvF8XIF%MVP9mMGI8Q(&7JMD;#Ui_?yu(E z{^sRO>pJB*FD5UA#-4AvXM*&n=FgqzAKX^ zuP%E1cYXR~EooJSUR_DUC8r-shJ4@&mYezUIJRBKtC40$}(Dh5TuFnvv`*QAsTJ=Ylv#b1q zzCYg8eY@mG=p06_XTLh1H7cb<9g998F7lndB6j_suGMvdHsMF@_DlFboA~h4{oV!d z@^>&SVRU^wN8e18@%8TNYpQn5GZntA5}0M8&2(+?vul$=S^Z|Q?#RCNY7xU>m$n5y z>z`hJZnS0hvQ_zCGj(qjA9$#AaG&|knFYF?sdLzFtnj#bz|U*5!`#m;F>cHDP1$QL zkrXNZNqe3CwVoc^52nIteU--rY%JQpdY?84o^(aF_1K?f9pC@2*%W2@@6Md+6xENH zMZGN}_Ak1mxHs9-O6m80!`ohg+^hSp_?`Y<-S&51_0^3*xVTjB-d)^&V*8ov$13hWlzJ`UsUmVyaE*=JTg`HZ-lBVZoW&#kR~Xq9sx=*K zEdOb1`>*c3*hBf~4R)5|jJsSbua)~N2$$;ZVB7pcb%ub}#A4fH#liiWyUZjV#{uZ^j*+z@BTyedPqp2@NIzw@@=jU7(6I+lF9 zSZyqPI&8tGMN=ze>$mGO1;?qDn;U*K4`_V6{Km9JPqaA2ethFyAiAoM`&h;9&Bn7V zigoWB79WXwutIyO!`AT0vwj@8dg;_EHhYn8hfPZMO+4Xx>)`4cXV0ABTvnl*c7Ll| zOpor3j~n^t%ZBvkc7L!{?%TX1F<`-Y#c4GLvHwHc89whjqWv}P$^+{~&x_ft6gFF| zpPBu)Vwpj9f$ZBOesbTR^1WND`*_1dbyty}#+LKm?>?BS@4^0Z>Va_GwfE`*xIO2p zmPLIskJ7lKt$k%GFKbWo_Z;g-{Qr#q#{|08%s)1b<0!-X>|V{XuHu(}g_6$nMeBZH zJL_k4)Au=N|JA>I3x7>3`#WJ#2Jh<+XAd+7J`p$?wmWm$nmqjjhJONr10UQy; z{EB%+@+a)Jjr`5xFZ?z9&zARB z1lNbT@W`Ip@b$ETKv%`N*@kl z!@psB# z;pB|SWY_ZFic1({dD0mFF753!$v-)#X};~H4IGoJ>|fel*9w|==(T3fLE-o6VXDI6 zf%jw<*o3XUE^H|O;E~`YGtM67!#kvWD!zGGuAO7Wx~{CKTu|=F`#ai8CD%%w%U4>p zaK#lpBb}|!E}mmfl=-;&+hgf~5{36uOg2o5+WG0Y@Za4J%Ji?qO04m`-r1_@W1O&O zR_D1F!BzA5b;bHVZ}dr$7J?m@8;Gs2X+7w@(?7b{DuK)EOB%VIb z|GHH`zc$@yYW<{_nqk4Mv;R1icjk)e;L?|Dkzv=9PVaQV}Nn<A22mfMc2sEpZb)98{`#MCmC1fVXXmu)y7U@X-Maddf@glz+|$cCK6`$8 z=8`q=ylU0aNV&B~w!GC|zF|{m^{4#z4ENV~ ztyHeQaXK%i-SMdZ!P$u$+;?o>v7*~FLo0CRR=+@V{?&23lQ%RurK&8^;=8tUW_qde zj5TZP&!s4&RTu=Fy=1a*{gZR7@~a9q&QA|}`~T?2oimCIUI^`9t19<@*XP9h%PPNL ztv88Zud?>B$SMDcif48Nr<}RbP-OS)`m#NWKHB~3>ax}~U3k`7u_d()`fFHxm$ifoSDbn?#Q;+)YPMM~umKz(il_{J%VeXlu%*!^-lPX%E zul@62gva~~KQ>OTR$tVwXMgn(=dI1Qdf7soWe>AGFI*?V_Jeok0iR!@xm&6pI&Im< zbSQb+o$vxp9#`+yI`C=I6{ja{1UH5cr z#%Y!0+-nh?Pm4d+U2XZ_sIjffY!sm7$eaH-Y;AK{pNBHn#L9;Gzdw6zd^_p>5z#51k4L`0dUT#;(Ug!{5aGhT$2q}Is`Wn5peQ@FG8nVL+JeBrvE^V}Ed%l^DDdE#NU zqXB*GQy*NK>Ru`p_+WW{_$z5$WtZ7=4jQn|^?NMLn;-MQagw(8&IMZcEpyIyX0j^r z^ZadCd2U(Wip?^H5neZ}ebi=jO`V?`Vqdw3QB$I6>hY%8+g{ufe7>_4{Tuz=NT1J(G5_4jJ44NZ4t2St4s z_Dn3X zXpQ>@VH0w7daED(o9r)8-srqoGBEFm)A_v8H&dJ}<8=&fu3D0^E#ZZot4G04<^o~Q zSDV9M?m1qZReD>jW?r`K%c$dxEh(8ZtxxPt;7ZUu{K8R3xAWorDQe6nnzMf}sp`(G zKk_2=ocaveu7%6|KF?nCtajJmGjHM&e@zh&dEL(U@(}af4Dol<4+W-khKKt6Ts~P^ z>L*{QAn*KKlYVQb(j%wrSYL=fzO{Ptsa@xVXFT|q?rX8>byKPEy~=#Ml7$Z0OO8bG z-8ZS?neX>eMMSXpjM7@3JKGN4?s><{_WYjV)xO}k@K4vSOf@F?mB4=l(aVjI(n*%CwIfdvfmHz2eB5CZW3Qm#gOd4$L}wA-w&3y>i~$ z#n%k>WZEfsE|OccWqL%E^asv|YObGGR;~SQax~&kPR5p!Eu~&^W(LncZ!Wm)Xws{- zdX}!~M5SET^CvCVPg)t}aITv7;+OE9%|280qdsisc@if$!)M>5m;Wj|G!6fX|B@7x zmD)7-h8zF3`OZ7rX7r^Q&xl~oGO=vA$|HPz-5d+EozomwYp-YB_j-%NzX$1Q??fh8 zzK&*!SbNxGQ~Iw@{Fm1n7Ry#%ILqa9%WLE3XL0#kKYU7PTy$J+@9a-^K7CHHKTx=& zE-~kyJjZ&{upRyL4N%fwhcM z;RUx6kp};6$0qsISdr6vh3+$cQFoT?ne^=PkqbfXciO&B;?EE|vUAS7FJgv5OJbx$ zr@!F1Fz;ye#~o*O+KF@)tUGgb$D9Q(4@XGz=q*_GNb!{XGtKM!LKNP+UwC!ruA9PT^M$AqvDqK=SmAwcrWOf>MHvfugof%a&TM2 zX|L`3x>OGH?)`YkO8d&jzKK&Ll|rxlImpC(xaxsUB7gDeHlNOCMe^23aa%VOE%v{7 zxN6nCL%DNW%0Cd>?@iM+UKw7|*{Q+) zp)lFr#^FxTs`~Hz95=VhoiTB7s*z?KaLwk!C%4)XuKBXNR7BBW=M(45sKpG7Z(=oru4LtWx98vM zdv|M{{NS}jagE%iUs^AB6we5akDBBp7V%DS+Ad*Vp{2`D7*9EovQFpb{iqqWcW37x zDc(1SFJ`szo|^?-?icxM)W1GUGSvtQX*sr1VB@`mmo!$yOl&JT>L=(>_0os0d$pLt z7g@e@taIv}S2{_iB%Bdr+;aWWF9*Th3!W56pZw~xS>njmWk=tBT%fOfXiiPG$W@65 zp99vmU5y>e8z%d+ZT!CaqM!fd%R186kB8s?KUKZ%r1Po!{vnL>XZ%W-v2fSE7>|wG z(>F}N>m4Tbqr6|h@!^Kkha#Kq{4e_Z>y3!#tF_xtag{&uwESJR=3_$iA>WPnrTnHj zXt(UW%Obl+{k~-S9VeUhOfw{xN39F|uD4it$K_oSPCxjfJAYR13X@;@r_Lqm{Kdc1 z<38wBGgriWe@|iBz^8bM*;HUznL|=_L-OjU+gCHKP=DFKZN_|s66p!jpLG1!Fb2K~ z-m5&TL3n!L%*6TTF>=#yw4LU>U+g7+epl(_Tbqu2b^W=S#UN|*1J}1r0w36dYg2#z z|9)9WlIz&-h=uc?*&mP$`%$&_VTr6m=X;?UQI4^`Y_D_U2p9?_88bozk!thc`fuFPHQ>7QfrnA1g` zkCV;bcm3t$Q1inFWHe+hhqJyGJK25GG)Bxie~uq-%DKZTCaUs#EckqQE!7y-@6`;h zeQ)I0IHB|1-!SD_&%fvIZ_#=6ZO?xRtqIaf3Uj2)BttW9vH0IR*Zf&IBSUo}vzx?H zVTHcwi?8y>ua!EaUue1L>ncryAOBSxvgR6`?+xpb+`GImX7LuY9Ik@zDJg#xTTd>Q zxwCmugI>(+?5B4fdt*P|E7G6rxhuzg^ELJD6I3@STwmILy)5mXCwGi%GP|AAu@$Q< zzjnA3e3hBx^77NshE3_NUjwT1|G9sZ4&$EUTemLfcYT%3yn=-?TV|9dy%n7MzI4jn z4e#1F`bWf0-27kj+5-96rS+d3qPZQXF;4WoQ*36`**#b5*^8uPrYm=seO#%VuA}x| z_m1w}-L}7Hyx!nGS*2~Mz2L*rRjX7MEmhbvkL&8EjhrkcQ7o4Bm);!`n|#C|mpIvdJFS23Ia&x;R0i${D zQ$#N;%Gq}A>qhRbUwdw7p8N6ZdqBs7Tjy2&)p6~ep3wP?qwdJvPa!_(ebF*G89sZx zv^Pv$y6$!9fzstOV~)!BG|d)YbTTPHzp7Yj#z!$%$tyw61TKV6d$MoYr&ZJBAD)U@ zT_3@8Em25(&D6(D>kmxGo}m84HsCkgWOq}}$ClDpi^Au|?|$2}LixGvj9ZrdXN-3$ z-cEh}&uNKqaAclh*ROZ(pI4lDCXn!bMx?e+P|bhU=Z@8!ZQ>Ftw;vtf>Y(!eNPGJu z;WNKIdY@}uUntXF-D$*QRG@5iS2(RZZH@cO05e04Oh2)je;WJ$p7|u>;@EMl!M~wz zu3U58EGxb=_JgH=RhRnLh%g*nej>_kg5B5rX$>~VWIEZ-thSW?d(gCaX+)Q8SoN%i zqet}w{!JBOjW}Qaia}L4>(Ly^LuWd*{pWhwxw%TGnQH(#Zy+K4=!M~~Cspsyndq<-hobTTJbLUOQpR{RJ zCe4Qna=-9xYtr_+p{Nsl zPh4$y(oknjizGwzzRo#QFHd{&ONUrk%qWF^VI z_?=>Rd(Df#FB+~LuL`ov_g7!$X4heU_JoW3nYE{Nl}^u4(C(eE;n;zvhwnOE=AD$t z^4&O5LU>lZ^SLMc(#;MvJy%Lq`+58qkF{F+(V*fvnqp4%zZ;BCTVuR8*{Sc0#KVEnTDhzG>gv7gt|}bb^M9_UKt^?fhD7bfZDo zbEB5lnT`KHxAr&H|8+ZjFyht9(-}+d8k_6ZM|Y~8|GV$&<$W{Ouhy$N&6p*1^~Q;( z=T<$tb%R&(@w5p3v)w2DO%9&gm6hy%X4Au>`Hos~sxAr>jEe)#WmsMPbUOUtxyAdB zESlf1m+W-!)3TRwW~zZ3YPy>ePuBgjU01+akgMj}wqGDQnRR>3=AiRFe-7q-)qLn5 z>vJW4W3u`4n&fW{FF)72a0>-k7%5G%{{7)V|Ec`8oQ0Qs&u`R=le#b7a#>tncScK| z=cE0Zu{$mPF8i~#Hs$7BKmWj@vP&`2@p2o^hj6o{>Q9PnWSzS%Qls0h>L}~YbC>JF z4nMhY&C2oVyS8=~yK9e6D+fQBxMNl6tYv!~LIkXZ?kddVn(_XL+oKOp9%xJN^Obw} zchAkH^R-c`-W?8VMb`sei`$PF{l4VJqxQ`Cke7@2{^_^!j<6NDeC7Z7?W+-g9P3Tj z%RWvnGbV+ye!Z}_f8J5v;19ZC*)1u1QWz)aUanW1?Nltbq0oQ+>%!;LRsIx(Mb6xo zs2n}fG5yH3C}n2zOM!pg*fdS$d5hZ>X6CvGxhK7;QAz!9&HBtDS2e+qzVvjjUbmLu zQ)k+|74!41FwJ_KGgX3P-^JqSqfto~oV({AU{kWY;cENA$MoSDcV}_=#b5Kn#TK1# za$iy%`MP1le`U2m1M&MV6V^{XwSa3*n0)~>EAcPUb<|+0{24nh^GRZn;moA>?n{$Y z?InNkWu~x9{pfXR$K)?t)prT+npCJ~{rt`;`8BhDOC9Z(Si;erXBc(!u1wDjy)P#H z-0gfJS>97FWLdEM+aGsg;{oS=@tcFUUyI>cubo8l+b$Q-xu^(H^VolQDY{4@U= zf6?1M>u*F!`t8Rxd9T*LS|82uPUWn@{8Q~mpIEEc#9u!kG;!mu?>3MBa<=jZ@5qd? z`Q)blQm?C8E06KA=|q-IhxTj8cvqJ_Z~WPKBx|l?O_5Zl^y#Zo#r4jc)YnbAu}=8? zzi+v7OKt|w;8U=89P&DLj=AsiKlW=bxd-k)wr}R7kd8Z%<=Wpv>Q~R#J5jLlO!`8z zbd#(5C8TyhEH&=*_hLSg-5;!+CG*tWTBQwChsf@t=HItZUis4>^~PYfrtB75dJOq5Sz; zz2~BqFEuYsU8B|ZuSVDP>D3SUv#s6k`b_t2{&MY{m&m``)<^p1g>}Cgn;cYU;u88EgORX{+wMy2G_{`AYu{Pvz_Xdl~)WEnDp7 zm*rw#f^+pWZ!q25XgT#=-D}Ma*Z!?czWtL?$96$bvO}jK=RB!m4Hx~X&qVs-yDW1U z1dr@{_J-$%kT`RxA=(SO-tm(LuTR32EJQNQE|i%h3mZDPJK>vUf3>sJ4c@U33w{J&jhv*Z?5 zBZFCYHwqVgyxT33_%45H^6IPI8Z58(oQbh6xpeNxqE-C!N)x}C8}ct&d_7sy@aeg& zt3@(gPZla&zwFU^gF`9D^hi};nthT&s@IjJC-YQXt$dS0Iwq`g`4(dOT}#w;Q%>*v zoLy579&pwBu)B;a+$^>AYv=>p+J(GldN!yi)Q3iHP_g~L>ut{3-Ak7yBv1QuBh>qG zmY}4-4@RlDo^+n0(=yI{XxZ`GbH?V~J&pEJI#>5r8EJ-T%dIJL`jfmxtR!^Ew%S8$UVTAFHIu(CoZAU}Nn4v-vYGPJX8He#y7PaZj)86p#~;7httoIYsCE zcgvQ~KXs-PUA&pdj0cf-1A%R5W=$iLLC z4o^EMed_4vPcN6=yei)vxj)q|wpv0$v~j^IL9I?Tg~wSBJ}NjF#ELemOS}}R*>SnY zao^8luE|^fByH}WX8Swh;GrkA{2c%N{=EOMV9j$u;n9A-Hy8RZ9nevk@+tKTgVDB= z_ZW!z?=XvsMpdf?Z8Rr`<1yIMsg5~@u&n|PL& zbvS77FW-D(rtXp(f1doVf2whEZ>4Euho_C+QuY?R4VJI}^&XJRH{qII?96-mrGtxI zNAJ;!O?O)tepB4i=Fr&|6#d|2|rJS`rw|`Tc`Uq@hn>=czpX( z6aCN3a{o+UxF6A3pc5%-F=^MI44JpP5BmBTyIhmwRsC2o^YZ!Ub6-d$=&04~xEo%z zw{p>@P*%w`omLB9?sHaHd-re7yB*uNB`^K7U-Dtoqob-z%3Nz%SX$;uf3dJWzoR-& zplJRqBgbtMVhb0u6+M6SYL2T#-FL~K<}D1f&V7HGd?jw%{*GIW*}gv=PDy0FRkh4` z>>=}`IVaMQ?OdPd&*nY9H)NI8bTm6FME~=;=vwby^FibcKT~kB)P%gL^{(gbaUs(L-v7N7CJ_ZIuT53_`9R(D!H$(r&#eBgACP!VqPb^w zy!DIKhu)cL#IwnMsJ-Z*=6}pkY)=hid05+y&(@I)!q#CLW-DFWADjN)7uxW}klCcC zF|%*wln39t^tRfYiOR(#p5FLj=can$zZJ2k0~c}I@+D80^K8fReM0_W>iL&K^RGqv zyOi3iYHoe4`*7N4$wzY>xx6Y@K8|!U+h6l3J@i{fLqWIsov;9B?*^90!r--?@|>Tl z|1p0nWz0GBn)&SdgZ0VUE7;O@{=fS4+icC)Ki~Q~cdbo1S6w~%g}KJOk{f?(;}RM` zl_BH$ng1{Cb7Tz@w0V}@@Gt1~q~}Zjv35_k(U@S{6)M!#Te59i_%4^{F{KM5MOF&< zcFg*^mg&5&g+&zA*;5;Y_nqNV*>tvg zir70&RSlPas|+_N&rLYUXxXnOR4&AJa&Ea{zd-*s+vC12PW_8SJI<w!} zTj>(EZQu05+vJUw%FmI_GT!HWapKMCRv$NQa5#T)-dV-)Vy(~f9*gTYzA62o{&PiG z@NF*E^(#(q{p_r|<5k$<=^O6~CiF<|<&XP*pXub3AIv2#zZXAq`{pZBQ_eZ@)E?`L zZ>yg&&p-S7(B%ew-G+dcHtvgtfg(5Dr@a!84bGcz%kRHq`Tk8;zdR||-#+ou?rxq< zf{bcx558COS1mYxeetKNn{QGYWz#LvuidgdZfjkB{XI@=gvf=OM=M1TA3r;ayo?ofZ9&~$6gSxwpfAiLVW+lcq<-gk)OA+-t7qc2~md4 zu3Jh49ky)_sVovaP$PTuNTScSide{j?k@`o7;^yuUC5hg#E&Ft@gZSc}EzY#d2SH-&r~3y1MwD?)Dib zduIH9x72V!;{{{(-2Kf0Eqm|3ILiDlttxc6Xx!4h)3YyauwA>;qQ=jdv!_5^;-=dX zu0;+CDj|E=Yv*6q^m*cvblg|2w_8eXih$M9ZRzzVW!%r$&7Ae`zVeFW2U+i(RAw^V zv36Va@(XW6cW;tktUzr zTjDQB6`Wyg)sH#Rrr+OgzV=Mr<2=o#q+51Ag)z2I0AkBr>{&CS2ORXe!F>7-Dd z+Crx1C*>4!PV

    n&MozVUHmcS0kF=;0YrHXN2;)udnV$erNIz2$ekZ)f7pkKCNr zjB;l*du;E!oQ~6(yMtlk!FrS4e?|MYO!~9dPF?VM{ek12=Ej9izT4S!-6ZGF&{onm zP`l6hb7tNun~tex3(CU3eEwMWcJ7`P-tVILUQ60~?VJ2LgV#(>D&p1cyALe3o<70M zpjhYmY2TjrE{Eh5DjW73pH;Zgz0hoz;MD{_ZK)jj+bcgU{(m@a&$=1Q%_G+>FPxXB zVD>9%->o^1iu1!_i~n+_R^sEPBO6*wj9#l;{W#&!rvEcEzc0$I6-i;&zIybiU7V@@T6V#g zi>)PjpGLn*ob%O>mvFyrH2JYhlA z1XGa`*QyUW9UGfiCk1Y?KL2!{nplRi)y(j-Dy^>$#@yKBRG#+x!j0VCh-(jb?Oc-g z=E0mR@hs~#yO#4R_?H74!Osho9N}UZ(s#+Amu;Et|||9o(1mc}gkcicj?_4rinc#|$mwwWb;`I^#S@zCdnuvqxonPL%A+djTnGRHCHdA&xZ z=|+vRX0aZQr9-w68g|4{1px33p%KhRV6 zv2fE;E5TcJxi@+}*#C*IF_hPRxb5r_1t(t(70&;Mw)HeDFW($&mA}U2+r6hpwkd}3 zRdO~j7xc@!)RfS{dcRopY^P%OJI~DA=Ej8=zAfLMt9x5ayW{waEng2W))zFf>9xEf zw{*uhzqZ#>QoBynvY44nEwPeGY*ov?c0e&!H$0kY+utAWPQ*HT-#99H-n{N;4J$hb ze`4|%j{sSYFsGNZCWVzv%HQZ-c_NCr?m>$2&vpAu9slGA{&tHII~u?1$=RQL%zHkc zeRc5Zgz2Srv&Ekp9DU2{llOm9=9M3pkF0z@$6{mcN0A##q~`IQV^7q*IsYBUvwQa$ zCUfSr8dw-TQ+kzg&+XOj?}s0#O_y_)FiATj#b_ybDZoX>yxncW{N`_OvcF4mDk(K= z%sTLyM|WTQ;+_S$+ZcRTcCfM4MZ57g9ewQfWc{R`y9XyX@dj--x8E}RSCCWbts7qR zURH0sm4E8NL*b*hw^f?&-XPYwzVq|N6<12lm;E@We#M5xO5S5v{BLo+?Nx@io%bxM zke)Evam~Z@WpB23Nqja~w&e8t7nx^&FS<~5A>q|ewV8+3{z-Ss_<6$go#>op^-X%R zg=a~o=K)X729khc1BKJAdh2fVO8puI4f4c@&@_WOv}sqR614q6Z4PBNM6Z& z^}|^r_WhByZd_FZfq3jA`C+ne@# z8^-&T@Cs?%E&teZm;I+>jMmS2=ac<8U77E5I50bUZ=IVja-lM4vd7;@Hq9;i6Vx_6 z<4vFK)%sH?bCQ^C=AO*%EsMQo{67;=J6(h6>4UYN-#H@Xmd(AQaDJJoaO+*CU8P6f zeQsS56E`dV?kme3Cblt&r?hz+Uo?B`{QWG#>>GV!=R020kA5fK_noTOcG&o!X4m$4 zXH5g*2f(ES&!PhuylVAJc;O9sApuq@YqIbE4}^YvxOpBHq1!o8KRQ{BT`PQe8(B|JT(F ze0g_T4<_AC(Q2J&w9&w#|HstXQ^TG&e_FV`bV&ntIsv&v#Vc4c#nT#Dz_A57Zc zKISxp8~ZA)jBo2%x#O4kCC~i*Q*~eeQQWfWx&_M)mM%|aPL;D$U4yHy{5*1bX7VSI zn=*1I_Jx{HobgjBIqT)^>iyog`@EZZ+GC8)uIDqHFqg~aneYQnKk;K54w-6ANSt%w zte9Nkl@1%NkBlWxH!t1Yxb63%6P$vGLH!WorWtZ~c^=u-1HM7~k*R?w)&n3(l_lY%<;T1 z8hd=~;TB!EBP_k5pjpE@@l)0!oy_ARO=50$e(n^rt+`pUKb9})vEGEg(R!!O_D0zU z9lI4K&NAPul%-EXsr} z9{tLPB}pM3%c5?{o#KewDr|90yz=*Kd$~Sld3{y-`d1r-;{LZhWMJ@}z`($8kMZedcfQjm_JFr=i=2<+nRxZR1uK2TOxx{}fa8MA>Ev?9z~W#VmQ~-16#0nGG+OGDY?;|Gi*#HS3Rc zQs%j`zznXO5ffbVeYH;&e{j2o?zH}Z(3#fA43D_V&-#_)|Y~PoB4QG zOf3`;I<%5$-{*HK2CiM}LgUzvMtcZrZO^Jsy zJ#}U2E`#m1Z`9ws`eDAi?fTMZ*PDMNrcP(N@#6%KXZGDfW&PAm3L95k%(H&>En-Jv z8J|II-L;D|SNzZh+~@?bi~TD)rZKKW_yFFF@K`xCltWt-Cj)+duy-_Ez!vrXH; z&b{a&lVQQGvx=XlB=LEM*mmbDwL41g`_aG7t$JEi+8l?IUn9&Py*q4mS}VuU;h(}n ztBC>Yn|D>db4l{r6zQwGK6j<`owYSdd#5gAin>;H=G`;*tzWOkyxhL_gNsDR-QSbT zc6GHJ?D1SJ_I<0T!KXd!8)8Mb=|6t;PWfKoB=9Bv*MBC+%3-EoaOXp8XHD_VbP)&TwGqYY zhc@rmNod{pH}EZMc)^1;hFAN3+nVi?;L+Rl{L2Z~s_h!TB2*qFYW5roPrW&NJ7;$H zbl=H~G8jTstsl+3ZU1Q6x6Q1(lnMp5s58ZJ9Nv33_x>-wd;gC8b&LNnzr(7mb^n=G z=Em*k|D%66Ui?45x2y5c)`tFF3T1ZP3v0ckuL{WAloB*h(Mm8- z7TGD>{CH;J=D8EzW?auwF@2|D_ft0i)qT6Rvck5FuhPCAj+nft;?B&QdAfDqjhbBd zmFD+NnpL&;z3$r5Ta7d2qW9TwH2yOAmj3AU#;-CO_kVOuiP_N2Df7@LG|Bp4)w2u+ ziS1M8hClA}o_Y0I{*QSzllI;G@r*Umdrcf?vh7`cuNmuWzHjec-={9SG=?L0?(+UU zKdd>O|Ie?Q*5aTvTl&4bUtPKAvfxQapRD29c2HP2<$z`VUgMJX$f@tQFA5T#nWz5c zs{hiJ&u0{^U_IXyKDoZ`vGoZa$)y219~}CB^1u7O`zB?Zrv&eLEK|^Qh-q%{clm~g z++7Q|GvBb^5))^x+xcSCaw-;rsYz*jmVVR#cJ*}@h)9jIa&pM0pTElCqe-GYNl9TmF{W+IM@@CJ< z8SP(R)W6Z1|GI@m_w>H_8TUCxKMoj!N{!`VDpQw{fZ*k5~|u;sXV%KlfkxhkJ$ zI$Zf$p7`#vn`Dey-a_AKW}OxP-mZ4bI&;0D@%p^IVy|vapZKh-rYUvy!;ANe&tI3> zzVj=CU$)N5iRtTJ70i%Q<9L%dcgf^KT6uNROQvnx7AaLc$^W6wLS^oo8}~Zxk+NRQ zHPK%#a)J8Ew+sx6HZa6LSg<)uGQi9sdb(m>v)HXH8@tGukU4F;7Z**tyP!vU-qQ

    l)K%WprZLu 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 diff --git a/hypr-screen-mirror/translations/en.json b/hypr-screen-mirror/translations/en.json deleted file mode 100644 index 2501bd7..0000000 --- a/hypr-screen-mirror/translations/en.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "notification": { - "hyprland_socket_not_found": "Hyprland socket not found", - "invalid_monitor_selection": "Invalid monitor selection", - "monitor_list_failed": "Failed to list monitors", - "monitor_watch_failed": "Failed to watch monitors", - "no_monitors_found": "No monitors found", - "start_mirroring_failed": "Failed to start mirroring", - "stop_mirroring_failed": "Failed to stop mirroring", - "timed_out": "Command timed out" - }, - "panel": { - "focused_monitor": "Current Monitor", - "refresh": "Refresh", - "source_monitor": "Source Monitor", - "start_mirroring": "Mirror", - "stop_mirroring": "Stop", - "target_monitor": "Target Monitor", - "title": "Hypr Screen Mirror" - }, - "widget": { - "glyph": { - "description": "Glyph shown in the bar", - "label": "Glyph" - } - } -} diff --git a/hypr-screen-mirror/widget.luau b/hypr-screen-mirror/widget.luau deleted file mode 100644 index 22972a5..0000000 --- a/hypr-screen-mirror/widget.luau +++ /dev/null @@ -1,14 +0,0 @@ -local glyph = noctalia.getConfig("glyph") - -local function render() - barWidget.setGlyph(glyph) -end - -function update() - noctalia.setUpdateInterval(1000) - render() -end - -function onClick() - noctalia.togglePanel("profidev/hypr-screen-mirror:panel") -end diff --git a/hypr-submap/README.md b/hypr-submap/README.md deleted file mode 100644 index 3f6b897..0000000 --- a/hypr-submap/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Hyprland Submap - -Add simple bar widget to show Hyprland's current submap. - -## Plugin - - -| Field | Value | -| --- | --- | -| ID | `k4n4t4/hypr-submap` | -| Entries | Bar widget: `hypr-submap` | - -## Requirements - -The following utilities must be installed and available on `PATH`: -- `socat` -- `stdbuf` -- `hyprctl` -Execution within a Hyprland environment is required. - -## Usage - -Add the widget to the bar via the Noctalia Settings. -Clicking the widget executes `hyprctl dispatch 'hl.dsp.submap("reset")'`. - -## Settings - - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `hide_when_default` | `bool` | `false` | Hides the bar widget when the current submap is default. | -| `prefix` | `string` | `""` | Add the prefix text to the submap name displayed on the widget. | -| `glyph` | `glyph` | `"keyboard"` | Specifies the glyph displayed on the widget. | - - -## Notes - -This plugin continuously runs a background subprocess using `socat` and `stdbuf` to monitor Hyprland's IPC socket for submap changes. diff --git a/hypr-submap/plugin.toml b/hypr-submap/plugin.toml deleted file mode 100644 index d2f0667..0000000 --- a/hypr-submap/plugin.toml +++ /dev/null @@ -1,37 +0,0 @@ -id = "k4n4t4/hypr-submap" -name = "Hyprland Submap" -version = "1.0.0" -plugin_api = 6 -author = "k4n4t4" -license = "MIT" -dependencies = ["socat", "stdbuf", "hyprctl"] -deprecated = false -tags = ["hyprland", "bar"] -icon = "keyboard" -description = "Hyprland submap plugin for Noctalia" - - -[[widget]] -id = "hypr-submap" -entry = "submap.luau" - - [[widget.setting]] - key = "hide_when_default" - type = "bool" - label_key = "settings.hide_when_default.label" - description_key = "settings.hide_when_default.description" - default = false - - [[widget.setting]] - key = "prefix" - type = "string" - label_key = "settings.prefix.label" - description_key = "settings.prefix.description" - default = "" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "keyboard" diff --git a/hypr-submap/submap.luau b/hypr-submap/submap.luau deleted file mode 100644 index c260cd2..0000000 --- a/hypr-submap/submap.luau +++ /dev/null @@ -1,58 +0,0 @@ -local currentSubmap = "" - -local function socketPath() - local sig = noctalia.getenv("HYPRLAND_INSTANCE_SIGNATURE") - local runtimeDir = noctalia.getenv("XDG_RUNTIME_DIR") - if sig == nil or runtimeDir == nil then - return nil - end - return `{runtimeDir}/hypr/{sig}/.socket2.sock` -end - -local function render() - local hideWhenDefault = noctalia.getConfig("hide_when_default") - local prefix = noctalia.getConfig("prefix") - local glyph = noctalia.getConfig("glyph") - - if glyph and glyph ~= "" then - barWidget.setGlyph(glyph) - end - - if currentSubmap == "" or currentSubmap == "default" then - if hideWhenDefault then - barWidget.setVisible(false) - return - end - barWidget.setVisible(true) - barWidget.setText(`{prefix}default`) - return - end - - barWidget.setVisible(true) - barWidget.setText(`{prefix}{currentSubmap}`) -end - -local sock = socketPath() -if sock ~= nil then - noctalia.runAsync("hyprctl submap", function(output) - if output ~= nil then - currentSubmap = noctalia.string.trim(output) - render() - end - end) - noctalia.runStream(`stdbuf -oL -eL socat -u UNIX-CONNECT:{sock} -`, function(line) - local match = line:match("submap>>(.*)") - if match ~= nil then - currentSubmap = noctalia.string.trim(match) - render() - end - end) -end - -function update() - render() -end - -function onClick() - noctalia.runAsync("hyprctl dispatch 'hl.dsp.submap(\"reset\")' ") -end diff --git a/hypr-submap/thumbnail.webp b/hypr-submap/thumbnail.webp deleted file mode 100644 index 8fae36728cda6dafbd0a3cf8109be6b5e2a44d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43338 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

    @SiEyd^U5BQkBT%T}p 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 diff --git a/hypr-submap/translations/en.json b/hypr-submap/translations/en.json deleted file mode 100644 index 2cab392..0000000 --- a/hypr-submap/translations/en.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "settings": { - "glyph": { - "description": "Specifies the glyph displayed on the widget.", - "label": "Icon to show on bar" - }, - "hide_when_default": { - "description": "Hides the bar widget when the current submap is default.", - "label": "Hide when default submap" - }, - "prefix": { - "description": "Add the prefix text to the submap name displayed on the widget.", - "label": "Add a prefix to the submap name" - } - } -} diff --git a/hypr-submap/translations/tr.json b/hypr-submap/translations/tr.json deleted file mode 100644 index 4aed816..0000000 --- a/hypr-submap/translations/tr.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "settings": { - "glyph": { - "description": "Bileşende gösterilen simgeyi belirler.", - "label": "Çubukta gösterilen " - }, - "hide_when_default": { - "description": "Varsayılan submap'teyken çubuk bileşenini gizle.", - "label": "Varsayılan submap'teyken gizle" - }, - "prefix": { - "description": "Bileşende sergilenen submap ismine ön ek metni ekle.", - "label": "Submap ismine bir önek ekle" - } - } -} diff --git a/ideapad-conservation-mode/README.md b/ideapad-conservation-mode/README.md deleted file mode 100644 index 7328bb4..0000000 --- a/ideapad-conservation-mode/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# IdeaPad Conservation Mode -![IdeaPad Conservation Mode thumbnail](thumbnail.webp) - -**IdeaPad Conservation Mode** is a Control Center shortcut plugin for [Noctalia](https://docs.noctalia.dev) (v5) that toggles **Conservation Mode** — capping charging around ~60% to preserve battery health — via the `ideapad_acpi` kernel driver's `conservation_mode` sysfs attribute. That driver covers Lenovo IdeaPad and Legion laptops alike, not just Legion. - -Writing that attribute needs root by default. The first time you click the tile and the write fails, the plugin opens a terminal and runs a bundled one-time setup script with `sudo`. It creates a `lenovoctl` group, adds you to it, and installs a udev rule so future writes are unprivileged. Log out and back in once afterward; every click after that just works, with no further prompts. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `lux/ideapad-conservation-mode` | -| Entries | Shortcut: `conservation-mode` | - -## Requirements - -The bundled setup script (`scripts/setup-permissions.sh`) shells out to `sudo`, `dirname`, `env`, `bash`, `chgrp`, `chmod`, `getent`, `groupadd`, `usermod`, `cat`, and `udevadm`. All of these ship by default on essentially every mainstream Linux distribution (coreutils, util-linux, shadow-utils, systemd/udev). - -## Usage - -Add the `conservation-mode` shortcut under Settings → Control Center shortcuts. Click it to toggle Conservation Mode; the label shows the current state (On / Off / N/A if the sysfs attribute can't be found). The first click may open a terminal for the one-time `sudo` setup described above. - -## NixOS - -`/etc/udev/rules.d` is generated from system config on NixOS, so the setup script exits instead of writing to it. Add the equivalent declaratively instead: - -```nix -{ - users.groups.lenovoctl = {}; - users.users..extraGroups = [ "lenovoctl" ]; - - services.udev.extraRules = '' - ACTION=="add|change", SUBSYSTEM=="platform", DRIVER=="ideapad_acpi", RUN+="${pkgs.coreutils}/bin/chgrp lenovoctl /sys%p/conservation_mode", RUN+="${pkgs.coreutils}/bin/chmod 664 /sys%p/conservation_mode" - ''; -} -``` - -Rebuild, log out and back in, then click the tile. diff --git a/ideapad-conservation-mode/conservation_mode.luau b/ideapad-conservation-mode/conservation_mode.luau deleted file mode 100644 index 4be282e..0000000 --- a/ideapad-conservation-mode/conservation_mode.luau +++ /dev/null @@ -1,144 +0,0 @@ ---!nonstrict --- Control-center [[shortcut]] entry: toggles Lenovo IdeaPad/Legion battery --- Conservation Mode (caps charging around ~60% to preserve battery health) --- via the ideapad_acpi driver's conservation_mode sysfs attribute. --- --- Writing that attribute needs root by default. The first time a write --- fails, onClick() opens a terminal running a bundled one-time setup script --- (scripts/setup-permissions.sh) via sudo, instead of just failing -- see --- that script for what it changes. Every write after that is a plain, --- unprivileged noctalia.writeFile(). - -local DRIVER_DIR = "/sys/bus/platform/drivers/ideapad_acpi" -local ATTR_NAME = "conservation_mode" - --- The ACPI instance name (e.g. "VPC2004:00") isn't hardcoded: we discover it --- by scanning the driver's bound devices, so this keeps working if it ever --- differs. Cached in plugin state under a generic key since other future --- entries (fan mode, camera power, ...) live under the same device dir. -local function findDevicePath() - local cached = noctalia.state.get("ideapad_device_path") - if cached then - return cached - end - - local entries = noctalia.listDir(DRIVER_DIR) - if not entries then - return nil - end - - for _, name in ipairs(entries) do - if name ~= "uevent" and name ~= "bind" and name ~= "unbind" and name ~= "module" then - local path = DRIVER_DIR .. "/" .. name - if noctalia.fileExists(path .. "/" .. ATTR_NAME) then - noctalia.state.set("ideapad_device_path", path) - return path - end - end - end - - return nil -end - -local function attrPath() - local devicePath = findDevicePath() - if not devicePath then - return nil - end - return devicePath .. "/" .. ATTR_NAME -end - --- true/false for a known state, nil when the attribute couldn't be read. -local function readState() - local path = attrPath() - if not path then - return nil - end - local contents = noctalia.readFile(path) - if not contents then - return nil - end - return noctalia.string.trim(contents) == "1" -end - -local function render(on, enabled) - shortcut.setLabel(noctalia.tr("shortcut.label")) - shortcut.setIcon("battery-charging", "battery") - shortcut.setActive(on) - shortcut.setEnabled(enabled) -end - -local on = readState() -render(on == true, on ~= nil) -if on == nil then - shortcut.setLabel(noctalia.tr("shortcut.na")) -end - -function onClick() - local path = attrPath() - if not path then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("error.device_not_found")) - return - end - - local current = readState() - if current == nil then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("error.read_failed")) - return - end - - local flipped = not current - local ok, err = noctalia.writeFile(path, if flipped then "1" else "0") - if ok then - render(flipped, true) - noctalia.notify( - noctalia.tr("title"), - noctalia.tr(if flipped then "notify.enabled" else "notify.disabled") - ) - return - end - - render(current, true) - runSetup(err) -end - --- POSIX single-quote escaping: wraps s in '...', turning any embedded ' into --- '\'' so the result is safe to splice into a shell command string. Needed --- because pluginDir and $USER are attacker/environment-influenced strings --- spliced into a command that runs through sh -lc. -local function shQuote(s) - return "'" .. string.gsub(s, "'", "'\\''") .. "'" -end - --- Not set up yet (or permissions regressed): run the bundled setup script in --- a terminal via sudo. Deliberately not pkexec -- minimal Wayland setups --- (niri, sway, ...) commonly have no polkit GUI agent registered, so pkexec --- would fail silently with no prompt at all. A terminal + sudo has no such --- dependency. -function runSetup(writeErr) - local pluginDir = noctalia.pluginDir() - if not pluginDir then - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("error.write_failed", { error = writeErr or "permission denied" }) - ) - return - end - - local setupScript = pluginDir .. "/scripts/setup-permissions.sh" - local user = noctalia.string.trim(noctalia.getenv("USER") or "") - local cmd = "sudo " - .. shQuote(setupScript) - .. " " - .. shQuote(user) - .. " && echo && echo 'Setup complete. Log out and back in, then click the tile again.' && read -r -p 'Press Enter to close...'" - - if noctalia.runInTerminal(cmd) then - noctalia.notify(noctalia.tr("title"), noctalia.tr("notify.setup_needed")) - else - noctalia.notifyError( - noctalia.tr("title"), - noctalia.tr("error.write_failed_manual", { error = writeErr or "permission denied" }) - ) - end -end diff --git a/ideapad-conservation-mode/plugin.toml b/ideapad-conservation-mode/plugin.toml deleted file mode 100644 index a3e457f..0000000 --- a/ideapad-conservation-mode/plugin.toml +++ /dev/null @@ -1,14 +0,0 @@ -id = "lux/ideapad-conservation-mode" -name = "IdeaPad Conservation Mode" -version = "0.3.1" -plugin_api = 3 -author = "lux" -license = "MIT" -tags = ["hardware", "shortcut", "system"] -icon = "device-laptop" -description = "Toggles battery conservation mode via the ideapad_acpi driver, on Lenovo IdeaPad and Legion laptops." -dependencies = ["sudo", "dirname", "env", "bash", "chgrp", "chmod", "getent", "groupadd", "usermod", "cat", "udevadm"] - -[[shortcut]] -id = "conservation-mode" -entry = "conservation_mode.luau" diff --git a/ideapad-conservation-mode/scripts/setup-permissions.sh b/ideapad-conservation-mode/scripts/setup-permissions.sh deleted file mode 100755 index 595469b..0000000 --- a/ideapad-conservation-mode/scripts/setup-permissions.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# One-time setup: lets the "lenovoctl" group toggle Lenovo IdeaPad/Legion ACPI -# features (currently battery conservation_mode) without root. -# -# Run via sudo (the plugin invokes this itself, in a terminal, the first time -# a write fails). Idempotent -- safe to re-run. -# -# NOTE: udev's GROUP=/MODE= rule keys only apply to the /dev device node they -# create, NOT to arbitrary sysfs ATTR files (see udev(7)) -- a rule matching -# ATTR{conservation_mode} with GROUP=/MODE= is a silent no-op here. We use -# RUN+= to chmod/chgrp the resolved sysfs path directly instead. -set -euo pipefail - -if [ "$EUID" -ne 0 ]; then - echo "Run this with sudo." >&2 - exit 1 -fi - -TARGET_USER="${SUDO_USER:-${1:-}}" -if [ -z "$TARGET_USER" ]; then - echo "No target user specified (expected \$SUDO_USER or \$1)." >&2 - exit 1 -fi - -GROUP_NAME=lenovoctl -RULE_FILE=/etc/udev/rules.d/99-ideapad-conservation-mode.rules - -if [ ! -w "$(dirname "$RULE_FILE")" ]; then - echo "Cannot write to $(dirname "$RULE_FILE") -- this looks like an immutable" >&2 - echo "/etc (e.g. NixOS, where udev rules are generated from system config)." >&2 - echo "See this plugin's README.md for the declarative NixOS setup instead." >&2 - exit 1 -fi - -CHGRP_BIN="$(command -v chgrp)" -CHMOD_BIN="$(command -v chmod)" - -echo "Creating group '$GROUP_NAME' (if missing) and adding $TARGET_USER..." -getent group "$GROUP_NAME" >/dev/null || groupadd "$GROUP_NAME" -usermod -aG "$GROUP_NAME" "$TARGET_USER" - -echo "Writing $RULE_FILE..." -cat >"$RULE_FILE" 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 diff --git a/ideapad-conservation-mode/translations/de.json b/ideapad-conservation-mode/translations/de.json deleted file mode 100644 index 3d6a338..0000000 --- a/ideapad-conservation-mode/translations/de.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "error": { - "device_not_found": "Die ideapad_acpi conservation_mode sysfs-Datei wurde auf diesem Gerät nicht gefunden.", - "read_failed": "Der aktuelle conservation_mode-Status konnte nicht gelesen werden.", - "write_failed": "Schreiben von conservation_mode fehlgeschlagen ({error}); das Plugin-Verzeichnis zum Ausführen des Setups konnte nicht gefunden werden.", - "write_failed_manual": "Schreiben von conservation_mode fehlgeschlagen ({error}). Führe scripts/setup-permissions.sh manuell mit sudo aus und melde dich dann ab und wieder an." - }, - "notify": { - "disabled": "Deaktiviert – laden bis 100%", - "enabled": "Aktiviert – laden begrenzt für Akkugesundheit", - "setup_needed": "Einmalige Einrichtung erforderlich. Überprüfe das gerade geöffnete Terminalfenster." - }, - "shortcut": { - "label": "Erhaltung", - "na": "Erhaltung N/V" - }, - "title": "Erhaltungsmodus" -} diff --git a/ideapad-conservation-mode/translations/en.json b/ideapad-conservation-mode/translations/en.json deleted file mode 100644 index 6adf0ca..0000000 --- a/ideapad-conservation-mode/translations/en.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "error": { - "device_not_found": "Could not find the ideapad_acpi conservation_mode sysfs file on this machine.", - "read_failed": "Could not read the current conservation_mode state.", - "write_failed": "Failed to write conservation_mode ({error}) and could not locate the plugin directory to run setup.", - "write_failed_manual": "Failed to write conservation_mode ({error}). Run scripts/setup-permissions.sh with sudo manually, then log out and back in." - }, - "notify": { - "disabled": "Disabled – charging to 100%", - "enabled": "Enabled – charging capped for battery health", - "setup_needed": "One-time setup is needed. Check the terminal window that just opened." - }, - "shortcut": { - "label": "Conservation", - "na": "Conservation N/A" - }, - "title": "Conservation mode" -} diff --git a/iio_lock/README.md b/iio_lock/README.md deleted file mode 100644 index e8738bf..0000000 --- a/iio_lock/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# iio-lock - -iio-lock provides orientation controls for 2-in-1 devices, allowing automatic -screen rotation to be locked and manual output transforms to be selected. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `nikolaj-zwergius/iio_lock` | -| Entries | Bar widgets: `iio-lock`, `lock-panel`; panel: `panel`; shortcut: `toggle`; service: `iio-service` | - -## Requirements - -The plugin supports Hyprland with `iio-hyprland` and `hyprctl`. Sway support -uses `iio-sway` and `swaymsg` and is currently experimental. The helper -commands `pgrep` and `pkill` must also be available on `PATH`. - -## Usage - -Add the `iio-lock` widget to toggle the orientation lock with a left click and -open the transform panel with a right click. The `lock-panel` widget opens the -transform panel with a left click. You can also add the `toggle` shortcut under -Settings → Control Center shortcuts. - -Open the transform panel directly with: - -```sh -noctalia msg panel-toggle nikolaj-zwergius/iio_lock:panel -``` - -Locking stops the configured IIO rotation helper; unlocking starts it again. -The panel applies the selected transform to the chosen output. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `iio` | `select` | `iio-hyprland` | Automatic rotation helper to start and stop. | -| `transform-order` | `string` | `0,1,2,3` | Transform values shown by the panel, in order. | -| `vm` | `select` | `hyprland` | Selects the Hyprland or Sway command backend. | -| `locked` | `glyph` | `lock` | Glyph used while orientation is locked. | -| `unlocked` | `glyph` | `lock-open-2` | Glyph used while orientation is unlocked. | - -## Notes - -Hyprland is the tested backend. Verify the configured rotation helper works on -its own before using the plugin, especially on Sway and similar compositors. diff --git a/iio_lock/cc-toggle.luau b/iio_lock/cc-toggle.luau deleted file mode 100644 index 974fa24..0000000 --- a/iio_lock/cc-toggle.luau +++ /dev/null @@ -1,32 +0,0 @@ - --!nonstrict - -local locked = noctalia.state.get("iio-state") -local glyph_unlocked = noctalia.getConfig("unlocked") -local glyph_locked = noctalia.getConfig("locked") -local locked_text = noctalia.tr("widget.locked") -local unlocked_text = noctalia.tr("widget.unlocked") - -local function render() - shortcut.setLabel(if locked then locked_text else unlocked_text) - if locked then - shortcut.setIcon(glyph_locked) - else - shortcut.setIcon(glyph_unlocked) - end - shortcut.setActive(locked) -end - -noctalia.state.watch("iio-state", function (value) - locked = value - render() - end) - -function onClick() - locked = not locked - noctalia.state.set("iio-state", locked) - render() -end - - --- Initial state at load. -render() diff --git a/iio_lock/iio-lock.luau b/iio_lock/iio-lock.luau deleted file mode 100644 index adbfa23..0000000 --- a/iio_lock/iio-lock.luau +++ /dev/null @@ -1,38 +0,0 @@ - --!nonstrict - -- Config - local glyph_unlocked = noctalia.getConfig("unlocked") - local glyph_locked = noctalia.getConfig("locked") - - -- State - local locked = false - local glyph = glyph_unlocked - -local function render() - barWidget.setGlyph(glyph) -end - -local function apply_lock_state() - if locked then - glyph = glyph_locked - else - glyph = glyph_unlocked - end -end - -function onClick() - locked = not locked - noctalia.state.set("iio-state",locked) - render() -end - -noctalia.state.watch("iio-state", function (value) - locked = value - apply_lock_state() - render() -end) - -function onRightClick() - noctalia.togglePanel("nikolaj-zwergius/iio_lock:panel") -end - -render() diff --git a/iio_lock/iio-panel.luau b/iio_lock/iio-panel.luau deleted file mode 100644 index fccf2d1..0000000 --- a/iio_lock/iio-panel.luau +++ /dev/null @@ -1,30 +0,0 @@ - --!nonstrict - local glyph_unlocked = noctalia.getConfig("unlocked") - local glyph_locked = noctalia.getConfig("locked") - - local locked = false - local glyph = glyph_unlocked - - local function render() - barWidget.setGlyph(glyph) - end - -local function apply_lock_state() - if locked then - glyph = glyph_locked - else - glyph = glyph_unlocked - end -end - -noctalia.state.watch("iio-state", function (value) - locked = value - apply_lock_state() - render() -end) - -function onClick() - noctalia.togglePanel("nikolaj-zwergius/iio_lock:panel") -end - -render() diff --git a/iio_lock/iio-service.luau b/iio_lock/iio-service.luau deleted file mode 100644 index 2393dc4..0000000 --- a/iio_lock/iio-service.luau +++ /dev/null @@ -1,39 +0,0 @@ ---!nonstrict - -local iio_tool = noctalia.getConfig("iio") -local locked = false - --- Detect initial state by checking whether the IIO tool is running -local function refresh_state() - noctalia.runAsync("pgrep -fx "..iio_tool, function(result) - local pid = noctalia.string.trim(result.stdout) - if pid ~= "" then - noctalia.state.set("iio-state",false) - else - noctalia.state.set("iio-state",true) - end - end) -end - -refresh_state() - -local function kill_iio() - noctalia.runAsync("pkill -x "..iio_tool) -end - -local function start_iio() - noctalia.runAsync(iio_tool) -end - -local function apply_lock_state() - if locked then - kill_iio() - else - start_iio() - end -end - -noctalia.state.watch("iio-state", function (value) - locked = value - apply_lock_state() -end) diff --git a/iio_lock/panel.luau b/iio_lock/panel.luau deleted file mode 100644 index 4b9c1f2..0000000 --- a/iio_lock/panel.luau +++ /dev/null @@ -1,136 +0,0 @@ ---!nonstrict - ---config -local used_vm = noctalia.getConfig("vm") -local transform_order_string = noctalia.getConfig("transform-order") -local transform_order = {} - - -local function set_transform_order(order_string) - local index = 0 - for i in string.gmatch(order_string, "%d+") do - transform_order[index] = tonumber(i) - index += 1 - end -end - -set_transform_order(transform_order_string) - ---vm functions -function hl(value,screen) - screen = screen or "eDP-1" - local cmd = string.format([[hyprctl eval 'hl.monitor({ output = "%s", transform = %d })']], screen, value) - noctalia.runAsync(cmd) - cmd = string.format([[hyprctl eval 'hl.config({input = {touchdevice = { transform = %d },tablet= { transform = %d }}})']],value,value) - noctalia.runAsync(cmd) - cmd = string.format([[hyprctl eval 'hl.workspace_rule({workspace = "m[%s]"})']],screen) - noctalia.runAsync(cmd) -end - -function sw(value,screen) - screen = screen or "eDP-1" - local cmd = string.format("swaymsg \"output %s transform %d\"",screen,value) - noctalia.runAsync(cmd) -end - -local wm = { - hyprland = hl, - sway = sw, -} - - ---render and layout -local function section(title, control) - return ui.column({ gap = 8 }, { - ui.label({ text = title, fontWeight = "medium", color = "on_surface_variant" }), - control, - }) -end - -local function render() - panel.render(ui.column({ flexGrow = 1, gap = 12 }, { - ui.row({ align = "center", justify = "space_between", gap = 12 }, { - ui.label({ text = noctalia.tr("panel.title"), fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), - ui.button({ glyph = "close", onClick = "onCloseClicked" }), - }), - - section("", ui.column({ gap = 12, align = "center" }, { - ui.button({width = 60 , height=100, onClick = "onUp",glyph="arrow-big-up-filled",glyphSize=50}), - section("", ui.row({ gap = 12, align = "center" }, { - ui.button({width = 100 , height=60, onClick = "onLeft",glyph="arrow-big-left-filled",glyphSize=50}), - ui.button({width = 100 , height=60, onClick = "onLock",glyph="lock",glyphSize=50}), - ui.button({width = 100 , height=60, onClick = "onRight",glyph="arrow-big-right-filled",glyphSize=50}) - })), - ui.button({width = 60 , height=100, onClick = "onDown",glyph="arrow-big-down-filled",glyphSize=50}), - - })), - - - })) -end - ---actions -function onOpen(_context) - render() -end - -function onLock() - local locked = noctalia.state.get("iio-state") - noctalia.state.set("iio-state",not locked) - panel.close() -end - - -function onUp() - wm[used_vm](transform_order[0]) - noctalia.state.set("iio-state",true) - set_transform_order(table.concat({ - transform_order[0], - transform_order[1], - transform_order[2], - transform_order[3], - }, ",")) - panel.close() -end -function onLeft() - wm[used_vm](transform_order[1]) - noctalia.state.set("iio-state",true) - set_transform_order(table.concat({ - transform_order[1], - transform_order[2], - transform_order[3], - transform_order[0], - }, ",")) - panel.close() -end -function onDown() - wm[used_vm](transform_order[2]) - noctalia.state.set("iio-state",true) - set_transform_order(table.concat({ - transform_order[2], - transform_order[3], - transform_order[0], - transform_order[1], - }, ",")) - panel.close() -end -function onRight() - wm[used_vm](transform_order[3]) - noctalia.state.set("iio-state",true) - set_transform_order(table.concat({ - transform_order[3], --up - transform_order[0], --left - transform_order[1], --rig - transform_order[2], --down - }, ",")) - panel.close() -end -function onCloseClicked() - panel.close() -end - -noctalia.state.watch("iio-state", function (value) - if not value then - set_transform_order(transform_order_string) - end -end) diff --git a/iio_lock/plugin.toml b/iio_lock/plugin.toml deleted file mode 100644 index cc0cba7..0000000 --- a/iio_lock/plugin.toml +++ /dev/null @@ -1,95 +0,0 @@ -id = "nikolaj-zwergius/iio_lock" -name = "iio-lock" -version = "1.0.0" -plugin_api = 3 -author = "nikolaj-zwergius" -license = "MIT" -dependencies = ["pgrep","pkill","iio-hyprland","iio-sway","hyprctl","swaymsg"] -tags = ["hyprland","sway","desktop","utility"] -icon = "lock" -description = "Orientation lock for 2‑in‑1 devices using iio-hyprland and similar." - - -[[setting]] -key = "iio" -type = "select" -label_key = "settings.iio.label" -description_key = "settings.iio.description" -default = "iio-hyprland" -options = [ - { value = "iio-hyprland", label_key = "settings.iio.options.hyprland" }, - { value = "iio-sway", label_key = "settings.iio.options.sway" }, -] - -[[setting]] -key = "transform-order" -type = "string" -label_key = "settings.transform.label" -description_key = "settings.transform.description" -default = "0,1,2,3" - -[[setting]] -key = "vm" -type = "select" -label_key = "settings.wm.label" -description_key = "settings.wm.description" -default = "hyprland" -options = [ - { value = "hyprland", label_key = "settings.wm.options.hyprland" }, - { value = "sway", label_key = "settings.wm.options.sway" }, -] - -[[setting]] -key = "locked" -type = "glyph" -label_key = "settings.glyph.locked.label" -description_key = "settings.glyph.locked.description" -default = "lock" - -[[setting]] -key = "unlocked" -type = "glyph" -label_key = "settings.glyph.unlocked.label" -description_key = "settings.glyph.unlocked.description" -default = "lock-open-2" - - -[[service]] -id = "iio-service" -entry = "iio-service.luau" - -[[widget]] -id = "iio-lock" -entry = "iio-lock.luau" - -[[widget]] -id = "lock-panel" -entry = "iio-panel.luau" - -[[widget.setting]] -key = "unlocked" -type = "glyph" -label_key = "settings.glyph.unlocked.label" -description_key = "settings.glyph.unlocked.description" -default = "rotate-rectangle" - -[[widget.setting]] -key = "locked" -type = "glyph" -label_key = "settings.glyph.locked.label" -description_key = "settings.glyph.locked.description" -default = "rotate-rectangle" - - - -[[shortcut]] -id = "toggle" -entry = "cc-toggle.luau" - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 420 -height = 410 -placement = "floating" -position = "center" \ No newline at end of file diff --git a/iio_lock/thumbnail.webp b/iio_lock/thumbnail.webp deleted file mode 100644 index 21e1c4cb5e8409fd330ed9282b943faa77f81f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36076 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 QIce*pSrRMWF)%Oy02PzF(EtDd diff --git a/iio_lock/translations/en.json b/iio_lock/translations/en.json deleted file mode 100644 index b3762e1..0000000 --- a/iio_lock/translations/en.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "panel": { - "lock": "Toggle Lock", - "title": "iio-lock" - }, - "settings": { - "glyph": { - "locked": { - "description": "Icon displayed when the device is locked.", - "label": "Locked Glyph" - }, - "unlocked": { - "description": "Icon displayed when the device is unlocked.", - "label": "Unlocked Glyph" - } - }, - "iio": { - "description": "Executable used to control orientation", - "label": "IIO Tool", - "options": { - "hyprland": "iio-hyprland", - "sway": "iio-sway" - } - }, - "transform": { - "description": "Rotation values for Up, Left, Down, Right.", - "label": "Transform Order" - }, - "wm": { - "description": "Choose the window manager backend.", - "label": "Window Manager", - "options": { - "hyprland": "Hyprland", - "sway": "Sway" - } - } - }, - "toggle": { - "description": "Toggle orientation lock" - }, - "widget": { - "locked": "Locked", - "unlocked": "Unlocked" - } -} diff --git a/imagemagick-clock/README.md b/imagemagick-clock/README.md deleted file mode 100644 index cf9c91e..0000000 --- a/imagemagick-clock/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# ImageMagick Clock - -ImageMagick Clock draws a custom clock using ImageMagick (or any other CLI image drawing tool). - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `jinliu/imagemagick-clock` | -| Entries | Bar widget: `clock` | - -## Requirements - -* `magick` from `ImageMagick`. -* `mv` from `coreutils`. -* (Optional) [7-Segment font](https://www.dafont.com/seven-segment.font) for a classic digital clock look. - -## Usage - -Add `ImageMagick Clock` from the Add-widget picker. The widget displays a -custom clock image generated by ImageMagick (or any other CLI image drawing tool). - -The default command line is: - -```bash -magick -size 270x100 canvas:black -transparent black -pointsize 128 -fill '#FF2400' -draw 'text 0,100 \"%H\"' -fill white -pointsize 84 -draw 'text 120,100 \":%M\"' -fill '#FF2400' -stroke '#FF2400' -strokewidth 5 -draw 'line 225,0 225,100' -strokewidth 0 -stroke white -fill white -pointsize 32 -draw 'text 235, 25 \"%m\"' -draw 'text 235, 60 \"%d\"' -draw 'text 235, 95 \"%a\"' '%output_file' -``` - -You can customize the command line in the widget's configuration to change how the clock looks. The "%output_file" placeholder will be replaced with the path to the file where the clock image should be saved. Other placeholders like "%H", "%M", "%a" will be replaced with the hour, minute, and day of the week, etc. See `man strftime` for the complete list of placeholders. - -You might want to install the `7-Segment` font to get a classic digital clock look. Add `-font '7-Segment'` to the command line after `magick` to use it. The command line would then look like this: - -```bash -magick -font '7-Segment' -size 270x100 canvas:black -transparent black -pointsize 128 -fill '#FF2400' -draw 'text 0,100 \"%H\"' -fill white -pointsize 84 -draw 'text 120,100 \":%M\"' -fill '#FF2400' -stroke '#FF2400' -strokewidth 5 -draw 'line 225,0 225,100' -strokewidth 0 -stroke white -fill white -pointsize 32 -draw 'text 235, 25 \"%m\"' -draw 'text 235, 60 \"%d\"' -draw 'text 235, 95 \"%a\"' '%output_file' -``` - -If your locale uses characters that are not supported by the `7-Segment` font (e.g., Chinese), you might want to set a different font before the last `-draw` command. For example: - -```bash -magick -font '7-Segment' -size 270x100 canvas:black -transparent black -pointsize 128 -fill '#FF2400' -draw 'text 0,100 \"%H\"' -fill white -pointsize 84 -draw 'text 120,100 \":%M\"' -fill '#FF2400' -stroke '#FF2400' -strokewidth 5 -draw 'line 225,0 225,100' -strokewidth 0 -stroke white -fill white -pointsize 32 -draw 'text 235, 25 \"%m\"' -draw 'text 235, 60 \"%d\"' -stroke none -font Noto-Sans-CJK-SC-Bold -draw 'text 235, 95 \"%a\"' '%output_file' -``` - -(Note: You can list all available fonts on your system by running `magick -list font`.) - -You can use any command-line drawing tool, not just ImageMagick, as long as it generates an image file at the specified output path. The plugin will call the command at the beginning of every minute to generate a new clock image for the next minute. Therefore, your command can take up to a full minute to generate one image, though I wouldn't recommend something that heavy. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `command_line` | `string` | (too long, omitted) | The command line to draw the clock | -| `image_width` | `int` | 54 | The width of the clock image | -| `image_height` | `int` | 20 | The height of the clock image | diff --git a/imagemagick-clock/plugin.toml b/imagemagick-clock/plugin.toml deleted file mode 100644 index b1fbea2..0000000 --- a/imagemagick-clock/plugin.toml +++ /dev/null @@ -1,39 +0,0 @@ -id = "jinliu/imagemagick-clock" -name = "ImageMagick Clock" -version = "1.0.0" -plugin_api = 3 -author = "Jin Liu" -tags = ["clock"] -icon = "clock" -description = "A custom clock drawn with ImageMagick." -dependencies = ["magick", "mv"] -license = "MIT" - -[[widget]] -id = "clock" -entry = "widget.luau" - - [[widget.setting]] - key = "command_line" - type = "string" - label_key = "settings.cmdline.label" - description_key = "settings.cmdline.description" - default = "magick -size 270x100 canvas:black -transparent black -pointsize 128 -fill '#FF2400' -draw 'text 0,100 \"%H\"' -fill white -pointsize 84 -draw 'text 120,100 \":%M\"' -fill '#FF2400' -stroke '#FF2400' -strokewidth 5 -draw 'line 225,0 225,100' -strokewidth 0 -stroke white -fill white -pointsize 32 -draw 'text 235, 25 \"%m\"' -draw 'text 235, 60 \"%d\"' -draw 'text 235, 95 \"%a\"' '%output_file'" - - [[widget.setting]] - key = "image_width" - type = "int" - label_key = "settings.image_width.label" - description_key = "settings.image_width.description" - default = 54 - min = 1 - max = 1000 - - [[widget.setting]] - key = "image_height" - type = "int" - label_key = "settings.image_height.label" - description_key = "settings.image_height.description" - default = 20 - min = 1 - max = 1000 diff --git a/imagemagick-clock/thumbnail.webp b/imagemagick-clock/thumbnail.webp deleted file mode 100644 index b12126ba8ed427dfaa155b0f2d73349822f3049c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44064 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 nextClockFaceTimestamp - 60) then - return - end - - if not nextClockFaceTimestamp or timestamp >= nextClockFaceTimestamp + 60 or timestamp < nextClockFaceTimestamp - 60 then - -- Next clock face unavailable (startup), or doesn't match current time (resume from sleep, or system clock changed). - -- Either case, draw the current clock face immediately. - drawCurrentClockFace() - return - end - - if nextClockFaceReady then - nextClockFaceReady = false - movingClockFace = true - noctalia.runAsync("mv -f '" .. NEXT_CLOCK_FACE_PATH .. "' '" .. CURRENT_CLOCK_FACE_PATH .. "'", function(result) - movingClockFace = false - if result.exitCode == 0 then - barWidget.setImage(CURRENT_CLOCK_FACE_PATH, true, IMAGE_WIDTH, IMAGE_HEIGHT) - else - print("Error moving new clock face: " .. result.stderr .. " (command: mv -f " .. NEXT_CLOCK_FACE_PATH .. " " .. CURRENT_CLOCK_FACE_PATH .. ") " .. "output: " .. result.stdout) - end - drawNextClockFace() - end) - else - drawNextClockFace() - end -end - -function onClick() - noctalia.runAsync("noctalia msg panel-toggle control-center calendar", function(result) - if result.exitCode ~= 0 then - print("Error toggling calendar panel: " .. result.stderr .. " (command: noctalia msg panel-toggle control-center calendar) " .. "output: " .. result.stdout) - end - end) -end - -noctalia.setUpdateInterval(1000) diff --git a/ip-monitor/README.md b/ip-monitor/README.md deleted file mode 100644 index 9e53ee8..0000000 --- a/ip-monitor/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# IP Monitor - -A Noctalia bar and desktop widget to monitor network IPs. -It supports fetching IPs from network interfaces, custom commands, or via IPC. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `3ri4ng0ld/ip-monitor` | -| Entries | Bar widget: `widget`, Desktop widget: `desktop` | - -## Requirements - -- `ip` (part of `iproute2`): Required to resolve IP and gateway in Interface mode. -- `curl`: Required if using the default custom command to fetch public IPs. - -## Settings - -### Bar Widget Settings (`widget`) - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `glyph` | `glyph` | `network` | The icon glyph displayed on the widget | -| `glyph_color` | `color` | `on_surface` | Color of the icon | -| `mode` | `select` | `interface` | Operating mode: Interface, Custom Command, or IPC | -| `iface` | `string` | `wlan*` | Network interface wildcard to fetch IP from | -| `custom_command` | `string` | `curl -s ifconfig.me` | Shell command to execute in custom command mode | -| `text_color` | `color` | `on_surface` | Color of the IP text | -| `name` | `string` | `""` | A custom name to display alongside the IP | -| `ipc_id` | `string` | `default` | Identifier used to target this specific widget via IPC | -| `name_color` | `color` | `on_surface` | Color of the name text | -| `separator` | `string` | `-` | Separator symbol between IP and Name | -| `separator_color` | `color` | `on_surface` | Color of the separator | -| `hide_on_empty` | `boolean` | `true` | Hide the widget completely if no IP is found | -| `refresh_interval` | `int` | `60` | Refresh interval in seconds (max 3600) | -| `hidden_fields` | `string` | `""` | Comma-separated fields to hide in tooltip (e.g. `network,mask`). Options: `iface`, `ip`, `network`, `gateway`, `mask`, `broadcast` | -| `left_click_action` | `select` | `copy_ip` | Action to perform on left click (Copy IP, Copy Name, None) | -| `right_click_action` | `select` | `copy_name` | Action to perform on right click (Copy IP, Copy Name, None) | - -### Desktop Widget Settings (`desktop`) - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `glyph` | `glyph` | `network` | The icon glyph displayed on the widget | -| `glyph_color` | `color` | `on_surface` | Color of the icon | -| `mode` | `select` | `interface` | Operating mode: Interface, Custom Command, or IPC | -| `iface` | `string` | `wlan*` | Network interface wildcard to fetch IP from | -| `custom_command` | `string` | `curl -s ifconfig.me` | Shell command to execute in custom command mode | -| `text_color` | `color` | `on_surface` | Color of the IP text | -| `name` | `string` | `""` | A custom name to display alongside the IP | -| `ipc_id` | `string` | `default` | Identifier used to target this specific widget via IPC | -| `name_color` | `color` | `on_surface` | Color of the name text | -| `separator` | `string` | `-` | Separator symbol between IP and Name | -| `separator_color` | `color` | `on_surface` | Color of the separator | -| `hide_on_empty` | `boolean` | `true` | Hide the widget completely if no IP is found | -| `refresh_interval` | `int` | `60` | Refresh interval in seconds (max 3600) | -| `ip_font_size` | `int` | `32` | Font size for the IP and name text | -| `details_font_size` | `int` | `16` | Font size for the network details text | -| `details_key_color` | `color` | `primary` | Color for detail label keys (e.g. Network, Mask) | -| `details_value_color` | `color` | `on_surface` | Color for detail values | -| `hidden_fields` | `string` | `""` | Comma-separated fields to hide in details table (e.g. `network,mask`). Options: `iface`, `ip`, `network`, `gateway`, `mask`, `broadcast` | - -## Usage - -Add the widget to a bar from *Settings → Bar*. Plugin options live in *Settings → Plugins*. - -### Modes - -1. **Interface**: Fetches the IP from a local network interface. The `Interface` setting supports wildcards, for example `wlan*` or `eth*`, and will select the first matching interface that has a valid IP address. -2. **Custom Command**: Runs a shell command to fetch the IP. For example, `curl -s ifconfig.me` for the public IP. -3. **IPC**: Listens to external events to set the IP and name. - -### IPC - -The widget listens to the `set` event. By default, the widget is assigned the IPC ID `default`. To set the IP and name for a default widget, use the following command (you don't need to specify an ID in the JSON, it defaults to `default`): - -```sh -noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"ip":"192.168.1.5","name":"MyIP"}' -``` - -If you have multiple `ip-monitor` widgets in IPC mode and want to update them independently, you can change the **IPC ID** setting for each widget. Then, target them by passing their ID string in the JSON payload: - -```sh -noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"id":"my_vpn","ip":"100.64.0.1","name":"VPN"}' -noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"id":"my_local_iface","ip":"192.168.1.5","name":"Ethernet"}' -``` - -### Tooltips - -Hovering over the widget displays detailed network information if available: -- **Interface**: Network interface name (e.g. `eth0`) -- **IP**: IPv4 address -- **Network**: Network range (e.g. `192.168.1.0/24`) -- **Default route**: Gateway address (e.g. `192.168.1.1`) -- **Mask**: Subnet mask (e.g. `255.255.255.0`) -- **Broadcast**: Broadcast address (e.g. `192.168.1.255`) - -> [!TIP] -> You can selectively hide any of these fields by listing their internal keys (`iface, ip, network, gateway, mask, broadcast`) separated by commas in the **Hide Tooltip Options** (for the bar widget) or **Hide Details Options** (for the desktop widget) configuration. - -In **IPC Mode**, tooltip fields can be passed optionally in the JSON payload (either as top-level keys or nested inside a `tooltip` object): - -```sh -noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{ - "id": "my_vpn", - "ip": "100.64.0.2", - "name": "Tailscale", - "iface": "tailscale0", - "network": "100.64.0.0/10", - "gateway": "100.64.0.1", - "mask": "255.192.0.0" -}' -``` - -### Click Actions - -By default, left-clicking the widget copies the IP address to the clipboard and right-clicking copies the display name. - -These bindings can be changed or disabled from the **Settings** section in the widget's bar settings. diff --git a/ip-monitor/desktop.luau b/ip-monitor/desktop.luau deleted file mode 100644 index 3e156a4..0000000 --- a/ip-monitor/desktop.luau +++ /dev/null @@ -1,157 +0,0 @@ -------------------------------------------------------------------------------- --- IP Monitor Desktop Widget for Noctalia --- --- Monitors network IP addresses and displays details on the desktop. -------------------------------------------------------------------------------- - -local utils = require("./utils.luau") - --- Current runtime state -local currentIp = "" -local currentIpcName = "" -local currentTooltip = nil - -------------------------------------------------------------------------------- --- HELPER FUNCTIONS -------------------------------------------------------------------------------- - ---- Resolves the active display name according to active mode and IPC state. -local function getDisplayName() - return utils.getDisplayName(noctalia.getConfig("mode"), currentIpcName, noctalia.getConfig("name")) -end - -local function copyNotifyAndLog(text, optionKey, logMessage) - if text and text ~= "" then - noctalia.copyToClipboard(text, "text/plain") - noctalia.notify(noctalia.tr("name"), noctalia.tr(optionKey) .. ": " .. text) - noctalia.log("ip-monitor: " .. logMessage .. ": " .. text) - end -end - -local function applyAction(action) - if action == "copy_ip" then - copyNotifyAndLog(currentIp, "settings.click.options.copy_ip", "copied IP to clipboard") - elseif action == "copy_name" then - copyNotifyAndLog(getDisplayName(), "settings.click.options.copy_name", "copied name to clipboard") - end -end - -------------------------------------------------------------------------------- --- UI RENDERING -------------------------------------------------------------------------------- - ---- Renders the desktop widget UI based on current state and user settings. -local function render() - local hideOnEmpty = noctalia.getConfig("hide_on_empty") - if hideOnEmpty == nil then hideOnEmpty = true end - - -- Omit rendering completely if no IP is present and hide_on_empty is active - if hideOnEmpty and (not currentIp or currentIp == "") then - desktopWidget.render(ui.row({}, {})) - return - end - - local ipFontSize = noctalia.getConfig("ip_font_size") or 32 - local detailsFontSize = noctalia.getConfig("details_font_size") or 16 - - local displayName = getDisplayName() - local topRowContent = utils.buildTopRow(currentIp, displayName, ipFontSize) - - local content = {} - table.insert(content, ui.row({ gap = 8, align = "center", justify = "center" }, topRowContent)) - - -- Add Details - if currentTooltip then - local hiddenConfig = noctalia.getConfig("hidden_fields") - local hiddenFields = utils.parseHiddenFields(hiddenConfig) - - local colKeys = {} - local colValues = {} - local fields = { "iface", "ip", "network", "gateway", "mask", "broadcast" } - for _, field in ipairs(fields) do - if not hiddenFields[field] then - local val = currentTooltip[field] - if val and val ~= "" then - table.insert(colKeys, ui.label({ - text = noctalia.tr("tooltip." .. field), - fontSize = detailsFontSize, - color = noctalia.getConfig("details_key_color") or "primary" - })) - table.insert(colValues, ui.label({ - text = val, - fontSize = detailsFontSize, - color = noctalia.getConfig("details_value_color") or "on_surface" - })) - end - end - end - - if #colKeys > 0 then - table.insert(content, ui.row({ gap = 12, align = "center", justify = "center" }, { - ui.column({ gap = 4, align = "start" }, colKeys), - ui.column({ gap = 4, align = "start" }, colValues) - })) - end - end - - desktopWidget.render(ui.column({ gap = 12, align = "center" }, content)) -end - -------------------------------------------------------------------------------- --- LIFECYCLE HOOKS -------------------------------------------------------------------------------- - ---- Handler for IPC messages dispatched to this widget. -function onIpc(event, payload) - if noctalia.getConfig("mode") ~= "ipc" then return end - - if event == "set" then - local myId = noctalia.getConfig("ipc_id") or "default" - local data = utils.handleIpcPayload(payload, myId) - if data then - currentIp = data.ip - currentIpcName = data.name - currentTooltip = data.tooltip - render() - end - end -end - ---- Primary update entry point called periodically by Noctalia script runtime. -function update() - local mode = noctalia.getConfig("mode") - if mode == "interface" then - utils.fetchInterfaceIp(noctalia.getConfig("iface"), function(ip, tooltip) - currentIp = ip - currentTooltip = tooltip - render() - end) - elseif mode == "custom_command" then - utils.fetchCustomCommandIp(noctalia.getConfig("custom_command"), function(ip, tooltip) - currentIp = ip - currentTooltip = tooltip - render() - end) - end -end - ---- Config change handler called automatically when user alters widget settings. -function onConfigChanged() - local mode = noctalia.getConfig("mode") - currentIp = "" - currentIpcName = "" - currentTooltip = nil - - if mode == "interface" or mode == "custom_command" then - local interval = noctalia.getConfig("refresh_interval") or 60 - noctalia.setUpdateInterval(interval * 1000) - update() - else - -- IPC mode doesn't need periodic updates - noctalia.setUpdateInterval(0) - render() - end -end - --- Initial setup upon loading widget -onConfigChanged() diff --git a/ip-monitor/plugin.toml b/ip-monitor/plugin.toml deleted file mode 100644 index 2e106e6..0000000 --- a/ip-monitor/plugin.toml +++ /dev/null @@ -1,298 +0,0 @@ -# ip-monitor — monitor network IPs - -id = "3ri4ng0ld/ip-monitor" -name = "IP Monitor" -version = "0.0.1" -plugin_api = 3 -author = "3ri4nG0ld" -license = "MIT" -deprecated = false -icon = "network" -description = "Bar widget to monitor IPs from interfaces, custom commands, or IPC." -tags = ["network"] -dependencies = ["ip", "curl"] - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "mode" - type = "select" - label_key = "settings.mode.label" - description_key = "settings.mode.description" - default = "interface" - options = [ - { value = "interface", label_key = "settings.mode.options.interface" }, - { value = "ipc", label_key = "settings.mode.options.ipc" }, - { value = "custom_command", label_key = "settings.mode.options.custom_command" }, - ] - - [[widget.setting]] - key = "iface" - type = "string" - label_key = "settings.iface.label" - description_key = "settings.iface.description" - default = "wlan*" - visible_when = { key = "mode", values = ["interface"] } - - [[widget.setting]] - key = "custom_command" - type = "string" - label_key = "settings.custom_command.label" - description_key = "settings.custom_command.description" - default = "curl -s ifconfig.me" - visible_when = { key = "mode", values = ["custom_command"] } - - [[widget.setting]] - key = "ipc_id" - type = "string" - label_key = "settings.ipc_id.label" - description_key = "settings.ipc_id.description" - default = "default" - visible_when = { key = "mode", values = ["ipc"] } - - [[widget.setting]] - key = "refresh_interval" - type = "int" - label_key = "settings.refresh_interval.label" - description_key = "settings.refresh_interval.description" - default = 60 - min = 10 - max = 3600 - visible_when = { key = "mode", values = ["interface", "custom_command"] } - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "network" - - [[widget.setting]] - key = "glyph_color" - type = "color" - label_key = "settings.glyph_color.label" - description_key = "settings.glyph_color.description" - default = "on_surface" - - [[widget.setting]] - key = "text_color" - type = "color" - label_key = "settings.text_color.label" - description_key = "settings.text_color.description" - default = "on_surface" - - [[widget.setting]] - key = "name" - type = "string" - label_key = "settings.name.label" - description_key = "settings.name.description" - default = "" - visible_when = { key = "mode", values = ["interface", "custom_command"] } - - [[widget.setting]] - key = "name_color" - type = "color" - label_key = "settings.name_color.label" - description_key = "settings.name_color.description" - default = "on_surface" - - [[widget.setting]] - key = "separator" - type = "string" - label_key = "settings.separator.label" - description_key = "settings.separator.description" - default = "-" - - [[widget.setting]] - key = "separator_color" - type = "color" - label_key = "settings.separator_color.label" - description_key = "settings.separator_color.description" - default = "on_surface" - - [[widget.setting]] - key = "hide_on_empty" - type = "bool" - label_key = "settings.hide_on_empty.label" - description_key = "settings.hide_on_empty.description" - default = true - - [[widget.setting]] - key = "left_click_action" - type = "select" - label_key = "settings.left_click_action.label" - description_key = "settings.left_click_action.description" - default = "copy_ip" - options = [ - { value = "copy_ip", label_key = "settings.click.options.copy_ip" }, - { value = "copy_name", label_key = "settings.click.options.copy_name" }, - { value = "none", label_key = "settings.click.options.none" }, - ] - - [[widget.setting]] - key = "right_click_action" - type = "select" - label_key = "settings.right_click_action.label" - description_key = "settings.right_click_action.description" - default = "copy_name" - options = [ - { value = "copy_ip", label_key = "settings.click.options.copy_ip" }, - { value = "copy_name", label_key = "settings.click.options.copy_name" }, - { value = "none", label_key = "settings.click.options.none" }, - ] - - [[widget.setting]] - key = "hidden_fields" - type = "string" - label_key = "settings.hide_tooltip_options.label" - description_key = "settings.hide_tooltip_options.description" - default = "" - - -[[desktop_widget]] -id = "desktop" -entry = "desktop.luau" - - [[desktop_widget.setting]] - key = "mode" - type = "select" - label_key = "settings.mode.label" - description_key = "settings.mode.description" - default = "interface" - options = [ - { value = "interface", label_key = "settings.mode.options.interface" }, - { value = "ipc", label_key = "settings.mode.options.ipc" }, - { value = "custom_command", label_key = "settings.mode.options.custom_command" }, - ] - - [[desktop_widget.setting]] - key = "iface" - type = "string" - label_key = "settings.iface.label" - description_key = "settings.iface.description" - default = "wlan*" - visible_when = { key = "mode", values = ["interface"] } - - [[desktop_widget.setting]] - key = "custom_command" - type = "string" - label_key = "settings.custom_command.label" - description_key = "settings.custom_command.description" - default = "curl -s ifconfig.me" - visible_when = { key = "mode", values = ["custom_command"] } - - [[desktop_widget.setting]] - key = "ipc_id" - type = "string" - label_key = "settings.ipc_id.label" - description_key = "settings.ipc_id.description" - default = "default" - visible_when = { key = "mode", values = ["ipc"] } - - [[desktop_widget.setting]] - key = "refresh_interval" - type = "int" - label_key = "settings.refresh_interval.label" - description_key = "settings.refresh_interval.description" - default = 60 - min = 10 - max = 3600 - visible_when = { key = "mode", values = ["interface", "custom_command"] } - - [[desktop_widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "network" - - [[desktop_widget.setting]] - key = "glyph_color" - type = "color" - label_key = "settings.glyph_color.label" - description_key = "settings.glyph_color.description" - default = "on_surface" - - [[desktop_widget.setting]] - key = "text_color" - type = "color" - label_key = "settings.text_color.label" - description_key = "settings.text_color.description" - default = "on_surface" - - [[desktop_widget.setting]] - key = "name" - type = "string" - label_key = "settings.name.label" - description_key = "settings.name.description" - default = "" - visible_when = { key = "mode", values = ["interface", "custom_command"] } - - [[desktop_widget.setting]] - key = "name_color" - type = "color" - label_key = "settings.name_color.label" - description_key = "settings.name_color.description" - default = "on_surface" - - [[desktop_widget.setting]] - key = "separator" - type = "string" - label_key = "settings.separator.label" - description_key = "settings.separator.description" - default = "-" - - [[desktop_widget.setting]] - key = "separator_color" - type = "color" - label_key = "settings.separator_color.label" - description_key = "settings.separator_color.description" - default = "on_surface" - - [[desktop_widget.setting]] - key = "hide_on_empty" - type = "bool" - label_key = "settings.hide_on_empty.label" - description_key = "settings.hide_on_empty.description" - default = true - - [[desktop_widget.setting]] - key = "ip_font_size" - type = "int" - label_key = "settings.ip_font_size.label" - description_key = "settings.ip_font_size.description" - default = 32 - min = 10 - max = 100 - - [[desktop_widget.setting]] - key = "details_font_size" - type = "int" - label_key = "settings.details_font_size.label" - description_key = "settings.details_font_size.description" - default = 16 - min = 10 - max = 100 - - [[desktop_widget.setting]] - key = "details_key_color" - type = "color" - label_key = "settings.details_key_color.label" - description_key = "settings.details_key_color.description" - default = "primary" - - [[desktop_widget.setting]] - key = "details_value_color" - type = "color" - label_key = "settings.details_value_color.label" - description_key = "settings.details_value_color.description" - default = "on_surface" - - [[desktop_widget.setting]] - key = "hidden_fields" - type = "string" - label_key = "settings.hide_details_options.label" - description_key = "settings.hide_details_options.description" - default = "" diff --git a/ip-monitor/thumbnail.webp b/ip-monitor/thumbnail.webp deleted file mode 100644 index d6b84bd7130b703133f750c525288a7e0fdc6972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55574 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 w$k}l(Z0(zHwv|It#;8U_Xi0Dtd4iU0rr diff --git a/ip-monitor/translations/en.json b/ip-monitor/translations/en.json deleted file mode 100644 index 4f4eb7b..0000000 --- a/ip-monitor/translations/en.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "description": "Bar widget to monitor IPs from interfaces, custom commands, or IPC.", - "name": "IP Monitor", - "settings": { - "click": { - "options": { - "copy_ip": "Copy IP", - "copy_name": "Copy Name", - "none": "None" - } - }, - "custom_command": { - "description": "Command to run to fetch the IP.", - "label": "Custom Command" - }, - "details_font_size": { - "description": "Font size for the network details text.", - "label": "Details Font Size" - }, - "details_key_color": { - "description": "Color for the detail labels (e.g. Network, Mask).", - "label": "Details Key Color" - }, - "details_value_color": { - "description": "Color for the detail values.", - "label": "Details Value Color" - }, - "glyph": { - "description": "Icon to show before the IP.", - "label": "Icon" - }, - "glyph_color": { - "description": "Color of the icon.", - "label": "Icon Color" - }, - "hide_details_options": { - "description": "Comma-separated list of fields to hide in the details table (e.g. network,mask,iface).", - "label": "Hide Details Options" - }, - "hide_on_empty": { - "description": "Hide the widget entirely when no IP is found.", - "label": "Hide on Empty" - }, - "hide_tooltip_options": { - "description": "Comma-separated list of fields to hide in the tooltip (e.g. network,mask,iface).", - "label": "Hide Tooltip Options" - }, - "iface": { - "description": "Pattern to match network interfaces (e.g. wlan*, eth0).", - "label": "Interface" - }, - "ip_font_size": { - "description": "Font size for the IP and name text.", - "label": "IP Font Size" - }, - "ipc_id": { - "description": "String ID used to target this specific widget via IPC JSON payload.", - "label": "IPC ID" - }, - "left_click_action": { - "description": "Action to perform on left click.", - "label": "Left Click Action" - }, - "mode": { - "description": "How to fetch the IP.", - "label": "Mode", - "options": { - "custom_command": "Custom Command", - "interface": "Network Interface", - "ipc": "IPC" - } - }, - "name": { - "description": "Optional name to show next to the IP.", - "label": "Name" - }, - "name_color": { - "description": "Color of the name text.", - "label": "Name Text Color" - }, - "refresh_interval": { - "description": "How often to refresh the IP (in seconds).", - "label": "Refresh Interval" - }, - "right_click_action": { - "description": "Action to perform on right click.", - "label": "Right Click Action" - }, - "separator": { - "description": "Character to separate the IP and the name (e.g. -).", - "label": "Separator" - }, - "separator_color": { - "description": "Color of the separator.", - "label": "Separator Color" - }, - "text_color": { - "description": "Color of the IP text.", - "label": "IP Text Color" - } - }, - "tooltip": { - "broadcast": "Broadcast", - "gateway": "Default route", - "iface": "Interface", - "ip": "IP", - "mask": "Mask", - "network": "Network" - } -} diff --git a/ip-monitor/utils.luau b/ip-monitor/utils.luau deleted file mode 100644 index 6485eb7..0000000 --- a/ip-monitor/utils.luau +++ /dev/null @@ -1,262 +0,0 @@ -------------------------------------------------------------------------------- --- IP Monitor Shared Utilities -------------------------------------------------------------------------------- -local utils = {} - ---- Calculates IPv4 subnet mask string (e.g. "255.255.255.0") from a CIDR prefix length (0-32). -function utils.cidrToSubnetMask(prefix) - local n = tonumber(prefix) - if not n or n < 0 or n > 32 then return "" end - - local mask32 = (n == 0) and 0 or bit32.lshift(0xFFFFFFFF, 32 - n) - local o1 = bit32.rshift(mask32, 24) - local o2 = bit32.band(bit32.rshift(mask32, 16), 0xFF) - local o3 = bit32.band(bit32.rshift(mask32, 8), 0xFF) - local o4 = bit32.band(mask32, 0xFF) - - return string.format("%d.%d.%d.%d", o1, o2, o3, o4) -end - ---- Converts a simple glob pattern (e.g. "wlan*", "eth0") into a standard Lua pattern. -function utils.globToPattern(glob) - local escaped = glob:gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]", "%%%1") - local pattern = escaped:gsub("%%%*", ".*") - return "^" .. pattern .. "$" -end - ---- Calculates network address (e.g. "192.168.1.0/24") from IP, Subnet Mask, and CIDR prefix. -function utils.calculateNetwork(ipStr, maskStr, cidrStr) - local a, b, c, d = ipStr:match("(%d+)%.(%d+)%.(%d+)%.(%d+)") - local m1, m2, m3, m4 = maskStr:match("(%d+)%.(%d+)%.(%d+)%.(%d+)") - if not (a and b and c and d and m1 and m2 and m3 and m4) then return "" end - - local net1 = bit32.band(tonumber(a), tonumber(m1)) - local net2 = bit32.band(tonumber(b), tonumber(m2)) - local net3 = bit32.band(tonumber(c), tonumber(m3)) - local net4 = bit32.band(tonumber(d), tonumber(m4)) - - return string.format("%d.%d.%d.%d/%s", net1, net2, net3, net4, cidrStr) -end - ---- Fetches IPv4 address and detailed network interface metadata. -function utils.fetchInterfaceIp(ifaceSetting, callback) - if not ifaceSetting or ifaceSetting == "" then - callback("", nil) - return - end - - local pattern = utils.globToPattern(ifaceSetting) - - noctalia.runAsync("ip -4 -o addr show", function(result) - if result.exitCode ~= 0 then - noctalia.log("ip-monitor: failed to get ip addr: " .. result.stderr) - callback("", nil) - return - end - - local matchedIface = nil - local foundIp = "" - local foundCidr = "" - local foundBrd = "" - - for line in result.stdout:gmatch("[^\r\n]+") do - local ifaceName, inetInfo = line:match("%d+:%s+([^%s]+)%s+inet%s+([^%s]+)") - if ifaceName and inetInfo and ifaceName:match(pattern) then - local ipOnly, cidr = inetInfo:match("([^/]+)/(%d+)") - if ipOnly then - matchedIface = ifaceName - foundIp = ipOnly - foundCidr = cidr or "" - foundBrd = line:match("%s+brd%s+([^%s]+)") or "" - break - end - end - end - - if not matchedIface or foundIp == "" then - callback("", nil) - return - end - - -- Calculate Mask and Network Range - local mask = utils.cidrToSubnetMask(foundCidr) - local network = "" - if foundIp ~= "" and mask ~= "" and foundCidr ~= "" then - network = utils.calculateNetwork(foundIp, mask, foundCidr) - end - - -- Fetch gateway - noctalia.runAsync("ip route show", function(routeResult) - local gateway = "" - if routeResult.exitCode == 0 then - -- 1. Try finding default route for matched interface - for line in routeResult.stdout:gmatch("[^\r\n]+") do - local lineDev = line:match("%sdev%s+([^%s]+)") - if lineDev == matchedIface then - local g = line:match("default via ([^%s]+)") - if g then - gateway = g - break - end - end - end - -- 2. Fallback: find any route with via for matched interface - if gateway == "" then - for line in routeResult.stdout:gmatch("[^\r\n]+") do - local lineDev = line:match("%sdev%s+([^%s]+)") - if lineDev == matchedIface then - local g = line:match("via ([^%s]+)") - if g then - gateway = g - break - end - end - end - end - end - - local tooltip = { - iface = matchedIface, - ip = foundIp, - network = network, - gateway = gateway, - mask = mask, - broadcast = foundBrd - } - callback(foundIp, tooltip) - end) - end) -end - ---- Fetches IP address by executing a custom shell command. -function utils.fetchCustomCommandIp(cmd, callback) - if not cmd or cmd == "" then - callback("", nil) - return - end - - noctalia.runAsync(cmd, function(result) - if result.exitCode ~= 0 then - noctalia.log("ip-monitor: custom command failed: " .. result.stderr) - callback("", nil) - return - end - - local newIp = noctalia.string.trim(result.stdout) - local tooltip = { ip = newIp } - callback(newIp, tooltip) - end) -end - ---- Parses an IPC payload and extracts data if it matches the configured ID. -function utils.handleIpcPayload(payload, myId) - local ok, data = pcall(noctalia.json.decode, payload) - if not ok or type(data) ~= "table" then return nil end - - local targetId = data.id or "default" - if targetId ~= myId then return nil end - - local tt = (type(data.tooltip) == "table") and data.tooltip or {} - local tooltip = { - iface = tt.iface or data.iface or data.interface or nil, - ip = tt.ip or data.ip or nil, - network = tt.network or data.network or nil, - gateway = tt.gateway or data.gateway or data.default_route or nil, - mask = tt.mask or data.mask or nil, - broadcast = tt.broadcast or data.broadcast or nil - } - - return { - ip = data.ip or "", - name = data.name or "", - tooltip = tooltip - } -end - ---- Parses a comma-separated string of hidden fields into a Set for O(1) lookups. --- Also maps some common aliases (e.g., "net" to "network"). -function utils.parseHiddenFields(configStr) - local hidden = {} - if type(configStr) ~= "string" or configStr == "" then - return hidden - end - - local aliases = { - ["net"] = "network", - ["gw"] = "gateway", - ["def"] = "gateway", - ["route"] = "gateway" - } - - for field in configStr:gmatch("[^,]+") do - local cleanField = field:match("^%s*(.-)%s*$"):lower() - if cleanField ~= "" then - local actualField = aliases[cleanField] or cleanField - hidden[actualField] = true - end - end - return hidden -end - ---- Resolves the active display name according to the active mode and IPC state. -function utils.getDisplayName(mode, currentIpcName, staticName) - if mode == "ipc" and currentIpcName and currentIpcName ~= "" then - return currentIpcName - end - return staticName or "" -end - ---- Builds the top row UI components (Glyph, IP Label, Separator, Name Label). --- @param currentIp string The IP address string --- @param displayName string The resolved display name --- @param fontSize integer|nil Optional font size for desktop widget --- @return table List of UI component elements -function utils.buildTopRow(currentIp, displayName, fontSize) - local content = {} - - local glyph = noctalia.getConfig("glyph") - if glyph and glyph ~= "" then - local glyphOpts = { - name = glyph, - color = noctalia.getConfig("glyph_color") - } - if fontSize then - glyphOpts.size = fontSize - end - table.insert(content, ui.glyph(glyphOpts)) - end - - local hasIp = currentIp and currentIp ~= "" - local hasName = displayName and displayName ~= "" - - local function addLabel(text, colorKey) - if text and text ~= "" then - local labelOpts = { - text = text, - color = noctalia.getConfig(colorKey) - } - if fontSize then - labelOpts.fontSize = fontSize - end - table.insert(content, ui.label(labelOpts)) - end - end - - if hasIp then - addLabel(currentIp, "text_color") - end - - if hasIp and hasName then - local sep = noctalia.getConfig("separator") - if sep == nil then sep = "-" end - addLabel(sep, "separator_color") - end - - if hasName then - addLabel(displayName, "name_color") - end - - return content -end - -return utils diff --git a/ip-monitor/widget.luau b/ip-monitor/widget.luau deleted file mode 100644 index 7c34e7e..0000000 --- a/ip-monitor/widget.luau +++ /dev/null @@ -1,176 +0,0 @@ -------------------------------------------------------------------------------- --- IP Monitor Widget for Noctalia --- --- Monitors network IP addresses from network interfaces (with glob matching), --- custom shell commands, or external IPC events. -------------------------------------------------------------------------------- - -local utils = require("./utils.luau") - --- Current runtime state -local currentIp = "" -local currentIpcName = "" -local currentTooltip = nil - -------------------------------------------------------------------------------- --- HELPER FUNCTIONS -------------------------------------------------------------------------------- - ---- Resolves the active display name according to active mode and IPC state. -local function getDisplayName() - return utils.getDisplayName(noctalia.getConfig("mode"), currentIpcName, noctalia.getConfig("name")) -end - ---- Updates the widget hover tooltip from the currentTooltip table. -local function updateTooltip() - if not currentTooltip then - barWidget.setTooltip(nil) - return - end - - local hiddenConfig = noctalia.getConfig("hidden_fields") - local hiddenFields = utils.parseHiddenFields(hiddenConfig) - - local rows = {} - local fields = { "iface", "ip", "network", "gateway", "mask", "broadcast" } - for _, field in ipairs(fields) do - if not hiddenFields[field] then - local val = currentTooltip[field] - if val and val ~= "" then - table.insert(rows, { key = noctalia.tr("tooltip." .. field), value = val }) - end - end - end - - if #rows > 0 then - barWidget.setTooltip(rows) - else - barWidget.setTooltip(nil) - end -end - -------------------------------------------------------------------------------- --- UI RENDERING -------------------------------------------------------------------------------- - ---- Renders the bar widget UI based on current state and user settings. -local function render() - local hideOnEmpty = noctalia.getConfig("hide_on_empty") - if hideOnEmpty == nil then hideOnEmpty = true end - - -- Omit widget rendering completely if no IP is present and hide_on_empty is active - if hideOnEmpty and (not currentIp or currentIp == "") then - barWidget.setTooltip(nil) - barWidget.render(ui.row({}, {})) - return - end - - -- Update widget hover tooltip - updateTooltip() - - local displayName = getDisplayName() - local content = utils.buildTopRow(currentIp, displayName) - - -- Layout container according to bar orientation (Vertical -> column, Horizontal -> row) - local container = barWidget.isVertical() and ui.column or ui.row - barWidget.render(container({ gap = 6, align = "center" }, content)) -end - -------------------------------------------------------------------------------- --- ACTIONS & HANDLERS -------------------------------------------------------------------------------- - -local function copyNotifyAndLog(text, optionKey, logMessage) - if text and text ~= "" then - noctalia.copyToClipboard(text, "text/plain") - noctalia.notify(noctalia.tr("name"), noctalia.tr(optionKey) .. ": " .. text) - noctalia.log("ip-monitor: " .. logMessage .. ": " .. text) - end -end - ---- Executes click / IPC actions (e.g. copy IP or copy Name to clipboard). --- @param action string The action identifier ("copy_ip" or "copy_name") -local function applyClickAction(action) - if action == "copy_ip" then - copyNotifyAndLog(currentIp, "settings.click.options.copy_ip", "copied IP to clipboard") - elseif action == "copy_name" then - copyNotifyAndLog(getDisplayName(), "settings.click.options.copy_name", "copied name to clipboard") - end -end - ---- Handler for left click action on the bar widget. -function onClick() - local action = noctalia.getConfig("left_click_action") or "copy_ip" - if action ~= "none" then - applyClickAction(action) - end -end - ---- Handler for right click action on the bar widget. -function onRightClick() - local action = noctalia.getConfig("right_click_action") or "copy_name" - if action ~= "none" then - applyClickAction(action) - end -end - ---- Handler for IPC messages dispatched to this widget. --- @param event string The IPC event name --- @param payload string The JSON payload string -function onIpc(event, payload) - if noctalia.getConfig("mode") ~= "ipc" then return end - - if event == "set" then - local myId = noctalia.getConfig("ipc_id") or "default" - local data = utils.handleIpcPayload(payload, myId) - if data then - currentIp = data.ip - currentIpcName = data.name - currentTooltip = data.tooltip - render() - end - end -end - -------------------------------------------------------------------------------- --- LIFECYCLE HOOKS -------------------------------------------------------------------------------- - ---- Primary update entry point called periodically by Noctalia script runtime. -function update() - local mode = noctalia.getConfig("mode") - if mode == "interface" then - utils.fetchInterfaceIp(noctalia.getConfig("iface"), function(ip, tooltip) - currentIp = ip - currentTooltip = tooltip - render() - end) - elseif mode == "custom_command" then - utils.fetchCustomCommandIp(noctalia.getConfig("custom_command"), function(ip, tooltip) - currentIp = ip - currentTooltip = tooltip - render() - end) - end -end - ---- Config change handler called automatically when user alters widget settings. -function onConfigChanged() - local mode = noctalia.getConfig("mode") - currentIp = "" - currentIpcName = "" - currentTooltip = nil - - if mode == "interface" or mode == "custom_command" then - local interval = noctalia.getConfig("refresh_interval") or 60 - noctalia.setUpdateInterval(interval * 1000) - update() - else - -- IPC mode doesn't need periodic updates - noctalia.setUpdateInterval(0) - render() - end -end - --- Initial setup upon loading widget -onConfigChanged() diff --git a/jetbrains-provider/README.md b/jetbrains-provider/README.md deleted file mode 100644 index 23db2ca..0000000 --- a/jetbrains-provider/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# JetBrains Provider - -![JetBrains Provider thumbnail](thumbnail.webp) - -JetBrains Provider integrates recent projects from supported JetBrains-based IDEs -with the Noctalia launcher so you can reopen a project quickly without leaving -the shell. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `cleboost/jetbrains-provider` | -| Entry | Launcher provider: `provider` | -| Launcher Prefix | `/jb` | - -## Requirements - -Install at least one supported IDE (via Toolbox or standalone). The plugin uses -`bash` and `awk` to scan recent-project files and `nohup` to launch IDEs in the -background. - -## Usage - -Open the Noctalia launcher and type `/jb` to list recent projects from your -installed IDEs. Continue typing to filter projects by name, then select one to -open it with the IDE that last used it. - -## Supported IDEs - -IntelliJ IDEA (Ultimate and Community `IdeaIC`), Android Studio, WebStorm, -CLion, GoLand, RustRover, PyCharm (including Community `PyCharmCE`), PhpStorm, -RubyMine, DataGrip, and Rider. - -## Settings - -- `config_dir` — root directory for JetBrains IDE configuration folders. -- `toolbox_dir` — JetBrains Toolbox apps directory used to locate IDE launchers. -- `max_results` — maximum number of projects shown in the launcher. -- `ignored_ides` — IDE names to exclude (e.g. `WebStorm`, `CLion`). - -## Notes - -Projects are read from each IDE's `recentProjects.xml`, typically under -`~/.config/JetBrains//options/`. When the same project -appears in multiple IDEs, only the most recently activated entry is shown. -Backup config folders and ignored IDEs are skipped. The list is cached for the -launcher session and refreshed when you clear the query. diff --git a/jetbrains-provider/jb_provider.luau b/jetbrains-provider/jb_provider.luau deleted file mode 100644 index e7ac92d..0000000 --- a/jetbrains-provider/jb_provider.luau +++ /dev/null @@ -1,219 +0,0 @@ ---!nonstrict - -local cachedProjects = nil -local productIcons = {} - -local PRODUCTS = { - IntelliJIdea = { cmd = "idea", slug = "intellij-idea" }, - AndroidStudio = { cmd = "studio", slug = "android-studio" }, - WebStorm = { cmd = "webstorm", slug = "webstorm" }, - CLion = { cmd = "clion", slug = "clion" }, - GoLand = { cmd = "goland", slug = "goland" }, - RustRover = { cmd = "rustrover", slug = "rustrover" }, - PyCharm = { cmd = "pycharm", slug = "pycharm" }, - PhpStorm = { cmd = "phpstorm", slug = "phpstorm" }, - RubyMine = { cmd = "rubymine", slug = "rubymine" }, - DataGrip = { cmd = "datagrip", slug = "datagrip" }, - Rider = { cmd = "rider", slug = "rider" }, -} - -local function trim(s) - return s:match("^%s*(.-)%s*$") -end - -local function shellQuote(s) - return "'" .. s:gsub("'", "'\"'\"'") .. "'" -end - -local function getConfigDir() - local configured = noctalia.getConfig("config_dir") - if type(configured) == "string" and configured ~= "" then - return noctalia.expandPath(configured) - end - return noctalia.expandPath("~/.config/JetBrains") -end - -local function getToolboxDir() - local configured = noctalia.getConfig("toolbox_dir") - if type(configured) == "string" and configured ~= "" then - return noctalia.expandPath(configured) - end - return noctalia.expandPath("~/.local/share/JetBrains/Toolbox/apps") -end - -local function getMaxResults() - local n = noctalia.getConfig("max_results") - return (type(n) == "number" and n > 0) and math.floor(n) or 20 -end - -local function ignoredIdes() - local raw = noctalia.getConfig("ignored_ides") - if type(raw) ~= "table" then - return {} - end - local list = {} - for _, entry in ipairs(raw) do - local name = trim(tostring(entry)) - if name ~= "" then - table.insert(list, name) - end - end - return list -end - -local function projectName(path) - return path:match("([^/]+)$") or path -end - -local function buildScanCommand() - local script = shellQuote(noctalia.pluginDir() .. "/scan_projects.sh") - local ignoreArgs = "" - for _, name in ipairs(ignoredIdes()) do - ignoreArgs = ignoreArgs .. " " .. shellQuote(name) - end - - return string.format( - "JB_CONFIG_DIR=%s JB_TOOLBOX_DIR=%s JB_MAX_RESULTS=%d bash %s%s 2>/dev/null", - shellQuote(getConfigDir()), - shellQuote(getToolboxDir()), - getMaxResults(), - script, - ignoreArgs - ) -end - -local function parseScanOutput(stdout) - local projects = {} - productIcons = {} - - for line in stdout:gmatch("[^\n]+") do - local kind, product, value = line:match("^(%w+)\t([^%c]+)\t(.+)$") - if kind == "ICON" and product and value then - productIcons[product] = value - elseif kind and tonumber(kind) and product and value then - table.insert(projects, { - timestamp = tonumber(kind) or 0, - product = product, - path = value, - }) - end - end - - return projects -end - -local function makeRows(projects, filter) - local home = noctalia.getenv("HOME") or "" - local rows = {} - for _, project in ipairs(projects) do - local path = project.path - local name = projectName(path) - local score = filter == "" and 0 or noctalia.fuzzyScore(filter, name) - if score == nil then - score = noctalia.fuzzyScore(filter, path) - end - if filter == "" or score ~= nil then - local display = (home ~= "" and path:sub(1, #home) == home) and "~" .. path:sub(#home + 1) or path - local iconPath = productIcons[project.product] - local row = { - id = project.product .. "|" .. path, - title = name, - subtitle = project.product .. " · " .. display, - score = filter == "" and nil or score, - } - if iconPath then - row.icon = iconPath - else - row.glyph = "code" - end - table.insert(rows, row) - end - end - return rows -end - -local function showResults(query, projects, filter) - local rows = makeRows(projects, filter) - if #rows == 0 then - launcher.setResults(query, { - { - id = "", - title = noctalia.tr("no-projects-found"), - subtitle = filter ~= "" and noctalia.tr("filter-empty", { filter = filter }) or noctalia.tr("database-empty"), - glyph = "folder-x", - }, - }) - else - launcher.setResults(query, rows) - end -end - -local function loadProjects(onDone) - noctalia.runAsync(buildScanCommand(), function(result) - local projects = {} - if result.exitCode == 0 and type(result.stdout) == "string" then - projects = parseScanOutput(result.stdout) - end - cachedProjects = projects - onDone(projects) - end) -end - -local function resolveLauncher(product) - local meta = PRODUCTS[product] - if meta == nil then - return nil - end - - local script = getToolboxDir() .. "/" .. meta.slug .. "/bin/" .. meta.cmd .. ".sh" - if noctalia.fileExists(script) then - return script - end - - return meta.cmd -end - -function onQuery(query) - local filter = trim(query or "") - - if filter == "" then - cachedProjects = nil - productIcons = {} - end - - if cachedProjects then - showResults(query, cachedProjects, filter) - return - end - - launcher.setResults(query, { - { - id = "", - title = noctalia.tr("loading"), - subtitle = noctalia.tr("loading-subtitle"), - glyph = "loader", - }, - }) - - loadProjects(function(projects) - showResults(query, projects, filter) - end) -end - -function onActivate(id) - if id == "" then - return - end - - local product, path = id:match("^(.-)|(.+)$") - if product == nil or path == nil or path == "" then - return - end - - local launcherCmd = resolveLauncher(product) - if launcherCmd == nil then - return - end - - noctalia.runAsync(string.format("nohup %s %s &>/dev/null &", shellQuote(launcherCmd), shellQuote(path))) -end diff --git a/jetbrains-provider/plugin.toml b/jetbrains-provider/plugin.toml deleted file mode 100644 index d5db694..0000000 --- a/jetbrains-provider/plugin.toml +++ /dev/null @@ -1,48 +0,0 @@ -id = "cleboost/jetbrains-provider" -name = "JetBrains Provider" -version = "1.0.0" -plugin_api = 3 -author = "Cleboost" -license = "MIT" -icon = "folder-open" -description = "Open a recent JetBrains project from the launcher. Type /jb to list your projects." -tags = ["launcher", "development", "productivity"] -dependencies = ["bash", "awk", "nohup"] - -[[setting]] -key = "config_dir" -type = "folder" -label_key = "settings.config_dir.label" -description_key = "settings.config_dir.description" -default = "~/.config/JetBrains" - -[[setting]] -key = "toolbox_dir" -type = "folder" -label_key = "settings.toolbox_dir.label" -description_key = "settings.toolbox_dir.description" -default = "~/.local/share/JetBrains/Toolbox/apps" - -[[setting]] -key = "max_results" -type = "int" -label_key = "settings.max_results.label" -description_key = "settings.max_results.description" -default = 20 -min = 1 -max = 100 - -[[setting]] -key = "ignored_ides" -type = "string_list" -label_key = "settings.ignored_ides.label" -description_key = "settings.ignored_ides.description" -default = [] - -[[launcher_provider]] -id = "provider" -entry = "jb_provider.luau" -prefix = "jb" -glyph = "code" -include_in_global_search = false -debounce_ms = 0 diff --git a/jetbrains-provider/scan_projects.sh b/jetbrains-provider/scan_projects.sh deleted file mode 100755 index 38002fb..0000000 --- a/jetbrains-provider/scan_projects.sh +++ /dev/null @@ -1,236 +0,0 @@ -#!/usr/bin/env bash -set -eu - -CONFIG="${JB_CONFIG_DIR:-$HOME/.config/JetBrains}" -TOOLBOX="${JB_TOOLBOX_DIR:-$HOME/.local/share/JetBrains/Toolbox/apps}" -MAX_RESULTS="${JB_MAX_RESULTS:-20}" -IGNORED=("$@") - -PRODUCT_PREFIXES=( - IdeaIC:IntelliJIdea - IntelliJIdea:IntelliJIdea - AndroidStudio:AndroidStudio - WebStorm:WebStorm - CLion:CLion - GoLand:GoLand - RustRover:RustRover - PyCharm:PyCharm - PhpStorm:PhpStorm - RubyMine:RubyMine - DataGrip:DataGrip - Rider:Rider -) - -declare -A PRODUCT_CMD=( - [IntelliJIdea]=idea - [AndroidStudio]=studio - [WebStorm]=webstorm - [CLion]=clion - [GoLand]=goland - [RustRover]=rustrover - [PyCharm]=pycharm - [PhpStorm]=phpstorm - [RubyMine]=rubymine - [DataGrip]=datagrip - [Rider]=rider -) - -declare -A PRODUCT_SLUG=( - [IntelliJIdea]=intellij-idea - [AndroidStudio]=android-studio - [WebStorm]=webstorm - [CLion]=clion - [GoLand]=goland - [RustRover]=rustrover - [PyCharm]=pycharm - [PhpStorm]=phpstorm - [RubyMine]=rubymine - [DataGrip]=datagrip - [Rider]=rider -) - -declare -A PRODUCT_ICON=( - [IntelliJIdea]=jetbrains-intellij-idea - [AndroidStudio]=com.google.AndroidStudio - [WebStorm]=com.jetbrains.WebStorm - [CLion]=com.jetbrains.CLion - [GoLand]=com.jetbrains.GoLand - [RustRover]=com.jetbrains.RustRover - [PyCharm]=com.jetbrains.PyCharm - [PhpStorm]=com.jetbrains.PhpStorm - [RubyMine]=com.jetbrains.RubyMine - [DataGrip]=com.jetbrains.DataGrip - [Rider]=com.jetbrains.Rider -) - -declare -A seen_icons=() - -product_name() { - local dir="$1" entry prefix canonical - for entry in "${PRODUCT_PREFIXES[@]}"; do - prefix="${entry%%:*}" - canonical="${entry#*:}" - if [[ "$dir" == "$prefix"* ]]; then - printf '%s\n' "$canonical" - return 0 - fi - done - return 1 -} - -is_ignored() { - local dir="$1" - local lower="${dir,,}" - local ig lower_ig - for ig in "${IGNORED[@]}"; do - lower_ig="${ig,,}" - if [[ "$lower" == "$lower_ig"* ]]; then - return 0 - fi - done - return 1 -} - -find_icon() { - local product="$1" - local cmd="${PRODUCT_CMD[$product]:-}" - local slug="${PRODUCT_SLUG[$product]:-}" - local icon_name="${PRODUCT_ICON[$product]:-}" - local base name path root ext - - [[ -n "$cmd" && -n "$slug" ]] || return 1 - - base="${TOOLBOX}/${slug}/bin" - for name in "${cmd}.svg" "${cmd}.png" "idea.svg"; do - path="${base}/${name}" - if [[ -f "$path" ]]; then - printf '%s\n' "$path" - return 0 - fi - done - - [[ -n "$icon_name" ]] || return 1 - for root in \ - "${HOME}/.local/share/icons" \ - "/usr/share/icons/hicolor/scalable/apps" \ - "/usr/share/icons/WhiteSur/apps/scalable" \ - "/usr/share/pixmaps"; do - for ext in .svg .png; do - path="${root}/${icon_name}${ext}" - if [[ -f "$path" ]]; then - printf '%s\n' "$path" - return 0 - fi - done - done - - return 1 -} - -parse_xml() { - local xml="$1" - local product="$2" - awk -v product="$product" -v home="$HOME" ' - function decode_xml(text) { - gsub(""", "\"", text) - gsub("'", "\047", text) - gsub("<", "<", text) - gsub(">", ">", text) - gsub("&", "\\&", text) - return text - } - - function expand_path(path, pos, needle) { - needle = "$USER_HOME$" - while ((pos = index(path, needle)) > 0) { - path = substr(path, 1, pos - 1) home substr(path, pos + length(needle)) - } - needle = "$APPLICATION_HOME_DIR$" - while ((pos = index(path, needle)) > 0) { - path = substr(path, 1, pos - 1) substr(path, pos + length(needle)) - } - return path - } - - BEGIN { RS = "" } - /"$projects_file" - -for xml in "$CONFIG"/*/options/recentProjects.xml; do - [[ -f "$xml" ]] || continue - dir="$(basename "$(dirname "$(dirname "$xml")")")" - [[ "$dir" == *-backup ]] && continue - is_ignored "$dir" && continue - product="$(product_name "$dir" || true)" - [[ -n "$product" ]] || continue - - if [[ -z "${seen_icons[$product]:-}" ]]; then - seen_icons[$product]=1 - if icon="$(find_icon "$product" || true)" && [[ -n "$icon" ]]; then - printf 'ICON\t%s\t%s\n' "$product" "$icon" - fi - fi - - parse_xml "$xml" "$product" >>"$projects_file" -done - -awk -F '\t' -v limit="$MAX_RESULTS" ' - { - path = $3 - if (!(path in best_ts) || $1 > best_ts[path]) { - best_ts[path] = $1 - best_line[path] = $0 - } - } - END { - count = 0 - for (path in best_line) { - split(best_line[path], fields, "\t") - count++ - ts[count] = fields[1] + 0 - out[count] = best_line[path] - } - for (i = 1; i <= count; i++) { - for (j = i + 1; j <= count; j++) { - if (ts[j] > ts[i]) { - tmp = ts[i]; ts[i] = ts[j]; ts[j] = tmp - tmp = out[i]; out[i] = out[j]; out[j] = tmp - } - } - } - if (limit < 1) { - limit = 20 - } - max = count < limit ? count : limit - for (i = 1; i <= max; i++) { - print out[i] - } - } -' "$projects_file" diff --git a/jetbrains-provider/thumbnail.webp b/jetbrains-provider/thumbnail.webp deleted file mode 100644 index 66269b703f074717c7fd6f31fdd81c0a73c0bab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68154 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 diff --git a/jetbrains-provider/translations/en.json b/jetbrains-provider/translations/en.json deleted file mode 100644 index 30d6bfe..0000000 --- a/jetbrains-provider/translations/en.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "database-empty": "No JetBrains projects found", - "filter-empty": "Filter: \"{filter}\"", - "loading": "Loading…", - "loading-subtitle": "Reading JetBrains projects", - "no-projects-found": "No projects found", - "settings": { - "config_dir": { - "description": "Root directory for JetBrains IDE configuration folders.", - "label": "JetBrains config directory" - }, - "ignored_ides": { - "description": "IDE names to exclude (e.g. WebStorm, CLion). Matches the start of each config folder name.", - "label": "Ignored IDEs" - }, - "max_results": { - "description": "Maximum number of projects to display.", - "label": "Maximum results" - }, - "toolbox_dir": { - "description": "JetBrains Toolbox apps directory used to locate IDE launchers.", - "label": "Toolbox apps directory" - } - } -} diff --git a/jetbrains-provider/translations/fr.json b/jetbrains-provider/translations/fr.json deleted file mode 100644 index b8f4ced..0000000 --- a/jetbrains-provider/translations/fr.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "database-empty": "Aucun projet JetBrains trouvé", - "filter-empty": "Filtre : « {filter} »", - "loading": "Chargement…", - "loading-subtitle": "Lecture des projets JetBrains", - "no-projects-found": "Aucun projet trouvé", - "settings": { - "config_dir": { - "description": "Répertoire racine des dossiers de configuration JetBrains.", - "label": "Répertoire de config JetBrains" - }, - "ignored_ides": { - "description": "Noms d'IDE à exclure (ex. WebStorm, CLion). Correspond au début du nom du dossier de config.", - "label": "IDE ignorés" - }, - "max_results": { - "description": "Nombre maximum de projets à afficher.", - "label": "Nombre maximum de résultats" - }, - "toolbox_dir": { - "description": "Répertoire des apps JetBrains Toolbox pour localiser les lanceurs d'IDE.", - "label": "Répertoire Toolbox apps" - } - } -} diff --git a/k8s-status/README.md b/k8s-status/README.md deleted file mode 100644 index d0f51c7..0000000 --- a/k8s-status/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# K8s Status - -Monitor Kubernetes nodes, pods, and deployments from Noctalia, with a `/kube` launcher for common actions. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `davemhammer/k8s-status` | -| Entries | Bar widget: `status`; panel: `manager`; service: `service`; launcher: `kube` | -| Launcher Prefix | `/kube` | - -## Requirements - -Install these on `PATH` (declared in `plugin.toml` `dependencies`): - -- `kubectl` — cluster queries and actions (or set `kubectl_bin`) -- `less` — pager for describe/logs in the terminal - -Optional (not declared; used only if present): - -- `k9s` — open-k9s action - -Cluster access uses your kubeconfig (passed to kubectl as `--kubeconfig`; the plugin does not parse the file itself). - -## Usage - -Add the **status** bar widget (`davemhammer/k8s-status:status`). Click for the panel; right-click requests a refresh. - -Panel tabs: **Nodes**, **Pods**, **Deployments**, **Namespaces**. Select a row for describe / logs / shell / restart actions (where applicable). - -Launcher examples: - -- `/kube` — categories (pods, problems, nodes, …) -- `/kube pods nginx` — filter pods -- `/kube problems` — problem pods only - -```sh -noctalia msg panel-toggle davemhammer/k8s-status:manager -``` - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `kubeconfig` | `file` | `~/.kube/config` | Path passed to kubectl as `--kubeconfig`. | -| `context` | `string` | _(empty)_ | Context name; empty uses current-context. | -| `namespace` | `string` | _(empty)_ | Limit pods/deployments; empty = all namespaces. | -| `refresh_interval` | `int` | `15` | Poll interval in seconds. | -| `problems_only` | `bool` | `false` | Prefer problem pods in the panel list. | -| `notify_on_not_ready` | `bool` | `true` | Notify when a node becomes NotReady. | -| `kubectl_bin` | `string` | `kubectl` | kubectl command or absolute path. | -| `show_counts` | `bool` (widget) | `true` | Show ready nodes / problem pods on the bar. | -| `ok_color` | `select` (widget) | `tertiary` | Bar color when cluster looks healthy. | -| `warn_color` | `select` (widget) | `error` | Bar color when there are problems. | - -## IPC - -```sh -noctalia msg panel-toggle davemhammer/k8s-status:manager -noctalia msg plugin davemhammer/k8s-status:service all refresh -``` - -## Notes - -- Shells out to `kubectl` and `less` (and optionally a terminal via `runInTerminal` for logs/shell/`k9s`). -- Refresh: nodes, deployments, and namespaces use compact **jsonpath** queries; pods use `kubectl get pods` table output for ready/restart columns. -- Does not modify cluster state unless you run restart/delete-style actions from the panel or launcher. -- Network: only via `kubectl` to the API server from your kubeconfig. No cluster credentials are written into the plugin tree. diff --git a/k8s-status/launcher.luau b/k8s-status/launcher.luau deleted file mode 100644 index 579508f..0000000 --- a/k8s-status/launcher.luau +++ /dev/null @@ -1,791 +0,0 @@ ---!nonstrict --- /kube launcher: drill into pods/nodes/deploys with autocomplete + actions. --- --- /kube categories --- /kube pods [filter] list pods --- /kube pods ns/name actions (logs, shell, …) --- /kube problems problem pods only --- /kube nodes|deploys|ns same pattern --- /kube panel|k9s|status|refresh - -local STATE_KEY = "k8s_snapshot" -local COMMAND_KEY = "k8s_command" -local PANEL_ID = "davemhammer/k8s-status:manager" -local MAX_ROWS = 40 - -local snapshot = noctalia.state.get(STATE_KEY) or { - available = false, - loading = true, - pods = {}, - nodes = {}, - deployments = {}, - namespaces = {}, - readyNodes = 0, - nodeCount = 0, - problemPods = 0, - podCount = 0, - context = "", - error = "", -} - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - end -end) - -local function trim(s) - return noctalia.string.trim(tostring(s or "")) -end - -local function lower(s) - return string.lower(tostring(s or "")) -end - -local function send(action, values) - local command = { action = action, requestId = "launcher-" .. tostring(os.time()) } - if type(values) == "table" then - for k, v in pairs(values) do - command[k] = v - end - end - noctalia.state.set(COMMAND_KEY, command) -end - -local function scoreText(filter, ...) - if filter == "" then - return 1 - end - local best = nil - for i = 1, select("#", ...) do - local text = tostring(select(i, ...) or "") - if text ~= "" then - local s = noctalia.fuzzyScore(filter, text) - if s ~= nil and (best == nil or s > best) then - best = s - end - -- also plain substring - if best == nil and lower(text):find(lower(filter), 1, true) then - best = 0.5 - end - end - end - return best -end - -local function statusRow(title, subtitle, glyph) - return { - id = "", - title = title, - subtitle = subtitle, - glyph = glyph or "hexagon", - } -end - -local function ensureSnapshot() - if snapshot.loading or (not snapshot.available and (snapshot.podCount or 0) == 0) then - send("refresh") - end -end - -local function topCategories() - local ctx = snapshot.context ~= "" and snapshot.context or "—" - local summary = `{snapshot.readyNodes or 0}/{snapshot.nodeCount or 0} nodes · {snapshot.problemPods or 0} problems · {snapshot.podCount or 0} pods` - return { - { - id = "cat:pods", - title = noctalia.tr("launcher.cat.pods"), - subtitle = noctalia.tr("launcher.cat.pods-sub"), - glyph = "box", - score = 100, - }, - { - id = "cat:problems", - title = noctalia.tr("launcher.cat.problems"), - subtitle = noctalia.tr("launcher.cat.problems-sub") .. " · " .. tostring(snapshot.problemPods or 0), - glyph = "circle-x", - score = 95, - }, - { - id = "cat:nodes", - title = noctalia.tr("launcher.cat.nodes"), - subtitle = noctalia.tr("launcher.cat.nodes-sub"), - glyph = "server", - score = 90, - }, - { - id = "cat:deploys", - title = noctalia.tr("launcher.cat.deploys"), - subtitle = noctalia.tr("launcher.cat.deploys-sub"), - glyph = "packages", - score = 85, - }, - { - id = "cat:ns", - title = noctalia.tr("launcher.cat.ns"), - subtitle = noctalia.tr("launcher.cat.ns-sub"), - glyph = "folder", - score = 80, - }, - { - id = "act:status", - title = noctalia.tr("launcher.cat.status"), - subtitle = summary .. " · " .. ctx, - glyph = "info-circle", - score = 70, - }, - { - id = "act:panel", - title = noctalia.tr("launcher.cat.panel"), - subtitle = noctalia.tr("launcher.cat.panel-sub"), - glyph = "layout-dashboard", - score = 60, - }, - { - id = "act:k9s", - title = noctalia.tr("launcher.cat.k9s"), - subtitle = noctalia.tr("launcher.cat.k9s-sub"), - glyph = "terminal-2", - score = 50, - }, - { - id = "act:refresh", - title = noctalia.tr("launcher.cat.refresh"), - subtitle = noctalia.tr("launcher.cat.refresh-sub"), - glyph = "refresh", - score = 40, - }, - } -end - -local function podActions(ns, name) - local ref = ns .. "/" .. name - return { - { - id = "podact:logs:" .. ref, - title = noctalia.tr("launcher.action.logs"), - subtitle = ref .. " · " .. noctalia.tr("launcher.action.logs-sub"), - glyph = "file-text", - score = 100, - }, - { - id = "podact:shell:" .. ref, - title = noctalia.tr("launcher.action.shell"), - subtitle = ref .. " · " .. noctalia.tr("launcher.action.shell-sub"), - glyph = "terminal", - score = 95, - }, - { - id = "podact:describe:" .. ref, - title = noctalia.tr("launcher.action.describe"), - subtitle = noctalia.tr("launcher.action.describe-sub"), - glyph = "file-description", - score = 90, - }, - { - id = "podact:yaml:" .. ref, - title = noctalia.tr("launcher.action.yaml"), - subtitle = noctalia.tr("launcher.action.yaml-sub"), - glyph = "code", - score = 85, - }, - { - id = "podact:portforward:" .. ref, - title = noctalia.tr("launcher.action.portforward"), - subtitle = noctalia.tr("launcher.action.portforward-sub"), - glyph = "arrows-exchange", - score = 80, - }, - { - id = "podact:copy:" .. ref, - title = noctalia.tr("launcher.action.copy"), - subtitle = noctalia.tr("launcher.action.copy-sub"), - glyph = "copy", - score = 75, - }, - { - id = "podact:delete:" .. ref, - title = noctalia.tr("launcher.action.delete"), - subtitle = noctalia.tr("launcher.action.delete-sub"), - glyph = "trash", - score = 10, - }, - } -end - -local function nodeActions(name) - return { - { - id = "nodeact:describe:" .. name, - title = noctalia.tr("launcher.action.describe"), - subtitle = name, - glyph = "file-description", - score = 100, - }, - { - id = "nodeact:yaml:" .. name, - title = noctalia.tr("launcher.action.yaml"), - subtitle = name, - glyph = "code", - score = 90, - }, - { - id = "nodeact:copy:" .. name, - title = noctalia.tr("launcher.action.copy"), - subtitle = name, - glyph = "copy", - score = 80, - }, - } -end - -local function deployActions(ns, name) - local ref = ns .. "/" .. name - return { - { - id = "depact:restart:" .. ref, - title = noctalia.tr("launcher.action.restart"), - subtitle = ref .. " · " .. noctalia.tr("launcher.action.restart-sub"), - glyph = "refresh", - score = 100, - }, - { - id = "depact:describe:" .. ref, - title = noctalia.tr("launcher.action.describe"), - subtitle = ref, - glyph = "file-description", - score = 90, - }, - { - id = "depact:yaml:" .. ref, - title = noctalia.tr("launcher.action.yaml"), - subtitle = ref, - glyph = "code", - score = 85, - }, - { - id = "depact:copy:" .. ref, - title = noctalia.tr("launcher.action.copy"), - subtitle = ref, - glyph = "copy", - score = 80, - }, - } -end - -local function filterActions(actions, filter) - if filter == "" then - return actions - end - local out = {} - for _, row in ipairs(actions) do - local s = scoreText(filter, row.title, row.id) - if s ~= nil then - row.score = s - table.insert(out, row) - end - end - return out -end - -local function listPods(filter, problemsOnly) - local rows = {} - for _, p in ipairs(snapshot.pods or {}) do - if problemsOnly and not p.problem then - -- skip - else - local ref = p.namespace .. "/" .. p.name - local s = scoreText(filter, p.name, p.namespace, ref, p.status, p.node) - if s ~= nil then - table.insert(rows, { - id = "pod:" .. ref, - title = ref, - subtitle = `{p.ready} · {p.status} · r{p.restarts}` .. (p.node ~= "" and (" · " .. p.node) or ""), - glyph = p.problem and "circle-x" or "box", - score = s + (p.problem and 5 or 0), - }) - end - end - end - table.sort(rows, function(a, b) - if (a.score or 0) == (b.score or 0) then - return a.title < b.title - end - return (a.score or 0) > (b.score or 0) - end) - while #rows > MAX_ROWS do - table.remove(rows) - end - if #rows == 0 then - rows[1] = statusRow(noctalia.tr("launcher.no-matches"), filter, "search") - end - return rows -end - -local function listNodes(filter) - local rows = {} - for _, n in ipairs(snapshot.nodes or {}) do - local s = scoreText(filter, n.name, n.status, n.version, n.ip) - if s ~= nil then - table.insert(rows, { - id = "node:" .. n.name, - title = n.name, - subtitle = `{n.status} · {n.version} · {n.ip}`, - glyph = "server", - score = s, - }) - end - end - table.sort(rows, function(a, b) - return (a.score or 0) > (b.score or 0) - end) - if #rows == 0 then - rows[1] = statusRow(noctalia.tr("launcher.no-matches"), filter, "search") - end - return rows -end - -local function listDeploys(filter) - local rows = {} - for _, d in ipairs(snapshot.deployments or {}) do - local ref = d.namespace .. "/" .. d.name - local s = scoreText(filter, d.name, d.namespace, ref) - if s ~= nil then - table.insert(rows, { - id = "deploy:" .. ref, - title = ref, - subtitle = `{d.ready}/{d.desired} ready`, - glyph = "packages", - score = s + (d.problem and 5 or 0), - }) - end - end - table.sort(rows, function(a, b) - return (a.score or 0) > (b.score or 0) - end) - while #rows > MAX_ROWS do - table.remove(rows) - end - if #rows == 0 then - rows[1] = statusRow(noctalia.tr("launcher.no-matches"), filter, "search") - end - return rows -end - -local function listNamespaces(filter) - local rows = {} - for _, n in ipairs(snapshot.namespaces or {}) do - local s = scoreText(filter, n.name, n.phase) - if s ~= nil then - table.insert(rows, { - id = "ns:" .. n.name, - title = n.name, - subtitle = n.phase, - glyph = "folder", - score = s, - }) - end - end - table.sort(rows, function(a, b) - return (a.score or 0) > (b.score or 0) - end) - if #rows == 0 then - rows[1] = statusRow(noctalia.tr("launcher.no-matches"), filter, "search") - end - return rows -end - -local function findPod(ref) - ref = trim(ref) - for _, p in ipairs(snapshot.pods or {}) do - local id = p.namespace .. "/" .. p.name - if id == ref or p.name == ref then - return p - end - end - -- partial unique match - local hits = {} - local q = lower(ref) - for _, p in ipairs(snapshot.pods or {}) do - local id = p.namespace .. "/" .. p.name - if lower(id):find(q, 1, true) or lower(p.name):find(q, 1, true) then - table.insert(hits, p) - end - end - if #hits == 1 then - return hits[1] - end - return nil -end - -local function findDeploy(ref) - ref = trim(ref) - for _, d in ipairs(snapshot.deployments or {}) do - local id = d.namespace .. "/" .. d.name - if id == ref or d.name == ref then - return d - end - end - local hits = {} - local q = lower(ref) - for _, d in ipairs(snapshot.deployments or {}) do - local id = d.namespace .. "/" .. d.name - if lower(id):find(q, 1, true) or lower(d.name):find(q, 1, true) then - table.insert(hits, d) - end - end - if #hits == 1 then - return hits[1] - end - return nil -end - -local function findNode(name) - name = trim(name) - for _, n in ipairs(snapshot.nodes or {}) do - if n.name == name then - return n - end - end - local hits = {} - local q = lower(name) - for _, n in ipairs(snapshot.nodes or {}) do - if lower(n.name):find(q, 1, true) then - table.insert(hits, n) - end - end - if #hits == 1 then - return hits[1] - end - return nil -end - -local POD_ACTION_WORDS = { - logs = true, - log = true, - shell = true, - sh = true, - exec = true, - describe = true, - desc = true, - yaml = true, - yml = true, - pf = true, - portforward = true, - forward = true, - copy = true, - delete = true, - del = true, - rm = true, -} - -local function normalizePodAction(word) - word = lower(word) - if word == "log" then return "logs" end - if word == "sh" or word == "exec" then return "shell" end - if word == "desc" then return "describe" end - if word == "yml" then return "yaml" end - if word == "pf" or word == "forward" then return "portforward" end - if word == "del" or word == "rm" then return "delete" end - if POD_ACTION_WORDS[word] then - return word - end - return nil -end - -local function runPodAction(action, ns, name) - if action == "logs" then - send("logs", { namespace = ns, name = name }) - elseif action == "shell" then - send("shell", { namespace = ns, name = name }) - elseif action == "describe" then - send("describe", { kind = "pod", namespace = ns, name = name }) - elseif action == "yaml" then - send("yaml", { kind = "pod", namespace = ns, name = name }) - elseif action == "portforward" then - send("port_forward", { namespace = ns, name = name, ports = "8080:8080" }) - elseif action == "copy" then - send("copy_name", { namespace = ns, name = name }) - elseif action == "delete" then - send("delete_pod", { namespace = ns, name = name }) - end -end - --- tokens after /kube -local function parseTokens(text) - local tokens = {} - for t in trim(text):gmatch("%S+") do - table.insert(tokens, t) - end - return tokens -end - -function onQuery(query) - ensureSnapshot() - - if not snapshot.available and snapshot.loading then - launcher.setResults(query, { - statusRow(noctalia.tr("launcher.loading"), snapshot.context, "loader"), - }) - return - end - - if not snapshot.available then - launcher.setResults(query, { - statusRow(noctalia.tr("launcher.unavailable"), snapshot.error or "", "cloud-off"), - { - id = "act:refresh", - title = noctalia.tr("launcher.cat.refresh"), - subtitle = noctalia.tr("launcher.cat.refresh-sub"), - glyph = "refresh", - }, - }) - return - end - - local text = trim(query) - if text == "" then - launcher.setResults(query, topCategories()) - return - end - - local tokens = parseTokens(text) - local head = lower(tokens[1] or "") - - -- fuzzy match top categories if first token is incomplete - local function isKind(name, aliases) - if head == name then - return true - end - for _, a in ipairs(aliases) do - if head == a then - return true - end - end - return false - end - - if isKind("pods", { "pod", "po", "p" }) or isKind("problems", { "problem", "bad", "fail" }) then - local problemsOnly = isKind("problems", { "problem", "bad", "fail" }) - local rest = {} - for i = 2, #tokens do - table.insert(rest, tokens[i]) - end - - -- /kube pods ns/name action - if #rest >= 1 then - local maybeAction = normalizePodAction(rest[#rest]) - local refParts = {} - local endIdx = #rest - if maybeAction and #rest >= 2 then - endIdx = #rest - 1 - else - maybeAction = nil - end - for i = 1, endIdx do - table.insert(refParts, rest[i]) - end - local ref = table.concat(refParts, " ") - - local pod = findPod(ref) - if pod and maybeAction then - -- show only matching action (or run via activate of filtered list) - local actions = filterActions(podActions(pod.namespace, pod.name), maybeAction) - if #actions == 0 then - actions = podActions(pod.namespace, pod.name) - end - launcher.setResults(query, actions) - return - end - - if pod and not maybeAction and (#rest >= 1) then - -- exact/unique pod selected via typing full ref — show actions - -- if filter still ambiguous, list pods - local exact = false - local full = pod.namespace .. "/" .. pod.name - if lower(ref) == lower(full) or lower(ref) == lower(pod.name) then - exact = true - end - -- if only one fuzzy hit for ref, treat as drill-in when user typed a slash ref - if exact or ref:find("/", 1, true) then - launcher.setResults(query, podActions(pod.namespace, pod.name)) - return - end - end - end - - local filter = table.concat(rest, " ") - launcher.setResults(query, listPods(filter, problemsOnly)) - return - end - - if isKind("nodes", { "node", "no" }) then - local rest = table.concat(tokens, " ", 2) - local node = findNode(rest) - if node and (lower(rest) == lower(node.name) or rest:find(node.name, 1, true)) and rest ~= "" then - -- if unique and reasonably exact, show actions - if lower(rest) == lower(node.name) then - launcher.setResults(query, nodeActions(node.name)) - return - end - end - launcher.setResults(query, listNodes(rest)) - return - end - - if isKind("deploys", { "deploy", "deployment", "deployments", "dep", "d" }) then - local rest = table.concat(tokens, " ", 2) - local dep = findDeploy(rest) - if dep and rest:find("/", 1, true) then - launcher.setResults(query, deployActions(dep.namespace, dep.name)) - return - end - if dep and lower(rest) == lower(dep.name) then - launcher.setResults(query, deployActions(dep.namespace, dep.name)) - return - end - launcher.setResults(query, listDeploys(rest)) - return - end - - if isKind("ns", { "namespace", "namespaces", "n" }) then - local rest = table.concat(tokens, " ", 2) - launcher.setResults(query, listNamespaces(rest)) - return - end - - -- fallback: filter top categories + quick pod search - local rows = {} - for _, row in ipairs(topCategories()) do - local s = scoreText(text, row.title, row.id) - if s ~= nil then - row.score = s - table.insert(rows, row) - end - end - -- also inject matching pods for convenience - for _, p in ipairs(listPods(text, false)) do - if p.id ~= "" then - table.insert(rows, p) - end - end - if #rows == 0 then - rows[1] = statusRow(noctalia.tr("launcher.no-matches"), text, "search") - end - launcher.setResults(query, rows) -end - -function onActivate(id) - if id == nil or id == "" then - return - end - - if id == "cat:pods" then - launcher.setQuery("pods ") - return - end - if id == "cat:problems" then - launcher.setQuery("problems ") - return - end - if id == "cat:nodes" then - launcher.setQuery("nodes ") - return - end - if id == "cat:deploys" then - launcher.setQuery("deploys ") - return - end - if id == "cat:ns" then - launcher.setQuery("ns ") - return - end - - if id == "act:panel" then - noctalia.togglePanel(PANEL_ID) - return - end - if id == "act:k9s" then - send("k9s", {}) - return - end - if id == "act:refresh" then - send("refresh") - noctalia.notify(noctalia.tr("title"), noctalia.tr("widget.refresh_requested")) - return - end - if id == "act:status" then - local body = noctalia.tr("panel.summary", { - ready = snapshot.readyNodes or 0, - nodes = snapshot.nodeCount or 0, - problems = snapshot.problemPods or 0, - pods = snapshot.podCount or 0, - }) - local ctx = snapshot.context ~= "" and snapshot.context or "default" - noctalia.notify(noctalia.tr("title") .. " · " .. ctx, body) - return - end - - local podRef = id:match("^pod:(.+)$") - if podRef then - launcher.setQuery("pods " .. podRef .. " ") - return - end - - local nodeName = id:match("^node:(.+)$") - if nodeName then - launcher.setQuery("nodes " .. nodeName .. " ") - return - end - - local deployRef = id:match("^deploy:(.+)$") - if deployRef then - launcher.setQuery("deploys " .. deployRef .. " ") - return - end - - local nsName = id:match("^ns:(.+)$") - if nsName then - noctalia.copyToClipboard(nsName, "text/plain") - noctalia.notify(noctalia.tr("title"), noctalia.tr("result.copied", { name = nsName })) - return - end - - local podAct, pref = id:match("^podact:([%w]+):(.+)$") - if podAct and pref then - local ns, name = pref:match("^([^/]+)/(.+)$") - if ns and name then - runPodAction(podAct, ns, name) - end - return - end - - local nodeAct, nname = id:match("^nodeact:([%w]+):(.+)$") - if nodeAct and nname then - if nodeAct == "describe" then - send("describe", { kind = "node", name = nname }) - elseif nodeAct == "yaml" then - send("yaml", { kind = "node", name = nname }) - elseif nodeAct == "copy" then - send("copy_name", { name = nname }) - end - return - end - - local depAct, dref = id:match("^depact:([%w]+):(.+)$") - if depAct and dref then - local ns, name = dref:match("^([^/]+)/(.+)$") - if ns and name then - if depAct == "restart" then - send("restart_deploy", { namespace = ns, name = name }) - elseif depAct == "describe" then - send("describe", { kind = "deploy", namespace = ns, name = name }) - elseif depAct == "yaml" then - send("yaml", { kind = "deploy", namespace = ns, name = name }) - elseif depAct == "copy" then - send("copy_name", { namespace = ns, name = name }) - end - end - return - end -end diff --git a/k8s-status/panel.luau b/k8s-status/panel.luau deleted file mode 100644 index 8d76adf..0000000 --- a/k8s-status/panel.luau +++ /dev/null @@ -1,732 +0,0 @@ ---!nonstrict --- K8s Status panel: nodes, pods, deployments, namespaces. - -local STATE_KEY = "k8s_snapshot" -local COMMAND_KEY = "k8s_command" -local RESULT_KEY = "k8s_action_result" - -local snapshot = noctalia.state.get(STATE_KEY) or { - available = false, - loading = true, - busy = false, - context = "", - nodes = {}, - pods = {}, - deployments = {}, - namespaces = {}, - readyNodes = 0, - nodeCount = 0, - problemPods = 0, - podCount = 0, - error = "", - updatedAt = 0, - revision = 0, -} - -local tab = "nodes" -- nodes | pods | deploys | namespaces -local selectedId = "" -local problemsOnly = noctalia.getConfig("problems_only") == true -local filterText = "" -local filterKey = 0 -local requestCounter = 0 -local feedback = "" -local feedbackError = false -local dirty = true - --- Prefer neutral cluster icons (avoid missing glyphs / grim fallbacks) -local ICON_MAIN = "hexagon" -local ICON_NODE = "server" -local ICON_POD = "box" -local ICON_POD_BAD = "circle-x" -local ICON_DEPLOY = "packages" -local ICON_NS = "folder" - -local render - -local function tr(key, subst) - return noctalia.tr(key, subst) -end - -local function nextRequestId() - requestCounter += 1 - return `panel-{requestCounter}` -end - -local function sendCommand(action, values) - local command = { - action = action, - requestId = nextRequestId(), - } - if type(values) == "table" then - for key, value in pairs(values) do - command[key] = value - end - end - noctalia.state.set(COMMAND_KEY, command) - return command.requestId -end - -local function lower(s) - return string.lower(tostring(s or "")) -end - -local function haystackContains(needle, ...) - if needle == "" then - return true - end - for i = 1, select("#", ...) do - local part = lower(select(i, ...)) - if part ~= "" and part:find(needle, 1, true) then - return true - end - end - return false -end - --- Space-separated terms; prefix a term with ! to exclude matches. --- Examples: !Running gitea !Completed !Ready -local function matchesFilter(...) - local q = noctalia.string.trim(filterText) - if q == "" then - return true - end - for raw in q:gmatch("%S+") do - local neg = false - local term = raw - if term:sub(1, 1) == "!" then - neg = true - term = term:sub(2) - end - term = lower(term) - if term ~= "" then - local hit = haystackContains(term, ...) - if neg then - if hit then - return false - end - else - if not hit then - return false - end - end - end - end - return true -end - -local function selectedNode() - if tab ~= "nodes" then return nil end - for _, n in ipairs(snapshot.nodes or {}) do - if n.id == selectedId then return n end - end - return nil -end - -local function selectedPod() - if tab ~= "pods" then return nil end - for _, p in ipairs(snapshot.pods or {}) do - if p.id == selectedId then return p end - end - return nil -end - -local function selectedDeploy() - if tab ~= "deploys" then return nil end - for _, d in ipairs(snapshot.deployments or {}) do - if d.id == selectedId then return d end - end - return nil -end - -local function selectedNs() - if tab ~= "namespaces" then return nil end - for _, n in ipairs(snapshot.namespaces or {}) do - if n.id == selectedId then return n end - end - return nil -end - -local function statusColor(ok) - return ok and "tertiary" or "error" -end - -local function listButton(props) - -- Full-width list rows, left-aligned content (never centered chips). - props.contentAlign = "start" - props.controlSize = props.controlSize or "md" - return ui.button(props) -end - -local function nodeCard(node) - local selected = node.id == selectedId - local text = `{node.name} · {node.status} · {node.version} · {node.ip}` - return listButton({ - key = "node-" .. node.id, - text = text, - glyph = ICON_NODE, - variant = selected and "primary" or "outline", - selected = selected, - onClick = function() - selectedId = node.id - feedback = "" - render() - end, - }) -end - -local function podCard(pod) - local selected = pod.id == selectedId - local text = `{pod.namespace}/{pod.name} · {pod.ready} · {pod.status} · r{pod.restarts}` - return listButton({ - key = "pod-" .. pod.id, - text = text, - glyph = pod.problem and ICON_POD_BAD or ICON_POD, - variant = selected and "primary" or "outline", - selected = selected, - onClick = function() - selectedId = pod.id - feedback = "" - render() - end, - }) -end - -local function deployCard(dep) - local selected = dep.id == selectedId - local text = `{dep.namespace}/{dep.name} · {dep.ready}/{dep.desired}` - return listButton({ - key = "deploy-" .. dep.id, - text = text, - glyph = ICON_DEPLOY, - variant = selected and "primary" or "outline", - selected = selected, - onClick = function() - selectedId = dep.id - feedback = "" - render() - end, - }) -end - -local function nsCard(ns) - local selected = ns.id == selectedId - return listButton({ - key = "ns-" .. ns.id, - text = `{ns.name} · {ns.phase}`, - glyph = ICON_NS, - variant = selected and "primary" or "outline", - selected = selected, - onClick = function() - selectedId = ns.id - feedback = "" - render() - end, - }) -end - -local function toolbar() - local busy = snapshot.busy == true - if tab == "nodes" then - local node = selectedNode() - if not node then - return ui.label({ text = tr("panel.select_hint"), color = "on_surface_variant" }) - end - return ui.column({ gap = 4, padding = 10, fill = "surface_variant/0.45", radius = 10 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = ICON_NODE, size = 18, color = statusColor(node.ready) }), - ui.label({ text = node.name, fontWeight = "bold", flexGrow = 1, maxLines = 1 }), - ui.label({ text = node.status, color = statusColor(node.ready), fontSize = 12 }), - }), - ui.label({ text = tr("node.version", { version = node.version }), color = "on_surface_variant", fontSize = 12 }), - ui.label({ text = tr("node.ip", { ip = node.ip }), color = "on_surface_variant", fontSize = 12 }), - ui.row({ gap = 6 }, { - ui.button({ - text = tr("actions.describe"), - glyph = "file-description", - variant = "outline", - enabled = not busy, - onClick = "onDescribeNode", - }), - }), - }) - end - - if tab == "pods" then - local pod = selectedPod() - if not pod then - return ui.label({ text = tr("panel.select_hint"), color = "on_surface_variant" }) - end - return ui.column({ gap = 4, padding = 10, fill = "surface_variant/0.45", radius = 10 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = ICON_POD, size = 18, color = statusColor(not pod.problem) }), - ui.label({ text = `{pod.namespace}/{pod.name}`, fontWeight = "bold", flexGrow = 1, maxLines = 1 }), - ui.label({ text = pod.status, color = statusColor(not pod.problem), fontSize = 12 }), - }), - ui.label({ - text = `{pod.ready} · {tr("pod.restarts", { count = pod.restarts })}`, - color = "on_surface_variant", - fontSize = 12, - }), - ui.label({ - text = pod.node ~= "" and tr("pod.node", { node = pod.node }) or "", - color = "on_surface_variant", - fontSize = 12, - visible = pod.node ~= "", - }), - ui.row({ gap = 6 }, { - ui.button({ text = tr("actions.logs"), glyph = "file-text", variant = "primary", enabled = not busy, onClick = "onLogs" }), - ui.button({ text = tr("actions.describe"), glyph = "file-description", variant = "outline", enabled = not busy, onClick = "onDescribePod" }), - ui.button({ text = tr("actions.delete_pod"), glyph = "trash", variant = "destructive", enabled = not busy, onClick = "onDeletePod" }), - }), - }) - end - - if tab == "deploys" then - local dep = selectedDeploy() - if not dep then - return ui.label({ text = tr("panel.select_hint"), color = "on_surface_variant" }) - end - return ui.column({ gap = 4, padding = 10, fill = "surface_variant/0.45", radius = 10 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = ICON_DEPLOY, size = 18, color = statusColor(not dep.problem) }), - ui.label({ text = `{dep.namespace}/{dep.name}`, fontWeight = "bold", flexGrow = 1, maxLines = 1 }), - ui.label({ - text = tr("deploy.replicas", { ready = dep.ready, desired = dep.desired }), - color = statusColor(not dep.problem), - fontSize = 12, - }), - }), - ui.row({ gap = 6 }, { - ui.button({ text = tr("actions.restart"), glyph = "refresh", variant = "primary", enabled = not busy, onClick = "onRestart" }), - ui.button({ text = tr("actions.describe"), glyph = "file-description", variant = "outline", enabled = not busy, onClick = "onDescribeDeploy" }), - }), - }) - end - - local ns = selectedNs() - if not ns then - return ui.label({ text = tr("panel.select_hint"), color = "on_surface_variant" }) - end - return ui.column({ gap = 4, padding = 10, fill = "surface_variant/0.45", radius = 10 }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = ICON_NS, size = 18, color = "primary" }), - ui.label({ text = ns.name, fontWeight = "bold", flexGrow = 1, maxLines = 1 }), - ui.label({ text = tr("ns.phase", { phase = ns.phase }), color = "on_surface_variant", fontSize = 12 }), - }), - ui.row({ gap = 6 }, { - ui.button({ text = tr("actions.describe"), glyph = "file-description", variant = "outline", enabled = not busy, onClick = "onDescribeNs" }), - }), - }) -end - -local function filteredNodes() - local out = {} - for _, n in ipairs(snapshot.nodes or {}) do - if matchesFilter(n.name, n.status, n.version, n.ip, n.roles) then - table.insert(out, n) - end - end - return out -end - -local function filteredPods() - local out = {} - for _, p in ipairs(snapshot.pods or {}) do - if (not problemsOnly or p.problem) - and matchesFilter(p.namespace, p.name, p.status, p.node, p.ready, p.id) - then - table.insert(out, p) - end - end - return out -end - -local function filteredDeploys() - local out = {} - for _, d in ipairs(snapshot.deployments or {}) do - if matchesFilter(d.namespace, d.name, d.id, tostring(d.ready), tostring(d.desired)) then - table.insert(out, d) - end - end - return out -end - -local function filteredNamespaces() - local out = {} - for _, n in ipairs(snapshot.namespaces or {}) do - if matchesFilter(n.name, n.phase) then - table.insert(out, n) - end - end - return out -end - -local function emptyList(message) - -- Distinct key from the item list so align="center" is never retained on results. - return ui.column({ - key = "empty-" .. tab, - align = "center", - justify = "center", - padding = 24, - gap = 8, - flexGrow = 1, - }, { - ui.glyph({ name = "search", size = 36, color = "on_surface_variant" }), - ui.label({ text = message, color = "on_surface_variant", textAlign = "center" }), - }) -end - -local function itemColumn(rows) - -- Always stretch full width; unique key per tab+mode so filter toggles - -- do not reuse empty-state layout props. - return ui.column({ - key = "items-" .. tab, - align = "stretch", - justify = "start", - gap = 8, - flexGrow = 1, - }, rows) -end - -local function itemList() - if tab == "nodes" then - local nodes = filteredNodes() - if #nodes == 0 then - return emptyList(tr("panel.empty_nodes")) - end - local rows = {} - for _, n in ipairs(nodes) do - table.insert(rows, nodeCard(n)) - end - return itemColumn(rows) - end - if tab == "pods" then - local pods = filteredPods() - if #pods == 0 then - return emptyList(tr("panel.empty_pods")) - end - local rows = {} - for _, p in ipairs(pods) do - table.insert(rows, podCard(p)) - end - return itemColumn(rows) - end - if tab == "deploys" then - local deps = filteredDeploys() - if #deps == 0 then - return emptyList(tr("panel.empty_deploys")) - end - local rows = {} - for _, d in ipairs(deps) do - table.insert(rows, deployCard(d)) - end - return itemColumn(rows) - end - local nss = filteredNamespaces() - if #nss == 0 then - return emptyList(tr("panel.empty_namespaces")) - end - local rows = {} - for _, n in ipairs(nss) do - table.insert(rows, nsCard(n)) - end - return itemColumn(rows) -end - -local function tabButton(label, id, cb) - return ui.button({ - text = label, - selected = tab == id, - variant = tab == id and "primary" or "ghost", - onClick = cb, - }) -end - -local function filterPlaceholder() - if tab == "nodes" then - return tr("filter.placeholder_nodes") - end - if tab == "pods" then - return tr("filter.placeholder_pods") - end - if tab == "deploys" then - return tr("filter.placeholder_deploys") - end - return tr("filter.placeholder_namespaces") -end - -render = function() - dirty = false - local statusRows = {} - if snapshot.loading == true and not snapshot.available then - table.insert(statusRows, ui.label({ text = tr("panel.loading"), color = "on_surface_variant" })) - end - if snapshot.busy == true then - table.insert(statusRows, ui.label({ text = tr("panel.busy"), color = "primary" })) - end - if type(snapshot.error) == "string" and snapshot.error ~= "" then - table.insert(statusRows, ui.label({ text = snapshot.error, color = "error", maxLines = 3 })) - end - if feedback ~= "" then - table.insert(statusRows, ui.label({ - text = feedback, - color = feedbackError and "error" or "tertiary", - maxLines = 2, - })) - end - - local summary = tr("panel.summary", { - ready = snapshot.readyNodes or 0, - nodes = snapshot.nodeCount or 0, - problems = snapshot.problemPods or 0, - pods = snapshot.podCount or 0, - }) - - panel.render(ui.column({ flexGrow = 1, gap = 10 }, { - ui.row({ align = "center", gap = 8 }, { - ui.glyph({ - name = ICON_MAIN, - size = 24, - color = snapshot.available and "primary" or "on_surface_variant", - }), - ui.column({ flexGrow = 1, gap = 0 }, { - ui.label({ text = tr("title"), fontSize = 18, fontWeight = "bold" }), - ui.label({ - text = tr("panel.context", { name = snapshot.context ~= "" and snapshot.context or "—" }), - fontSize = 11, - color = "on_surface_variant", - }), - }), - ui.button({ - text = tr("actions.open_k9s"), - glyph = "terminal-2", - variant = "outline", - onClick = "onK9s", - }), - ui.button({ - glyph = "refresh", - variant = "ghost", - onClick = "onRefresh", - }), - ui.button({ glyph = "close", onClick = "onClose" }), - }), - - -- Tabs only (summary lives on its own row so it cannot overflow) - ui.row({ gap = 4, align = "center" }, { - tabButton(tr("tabs.nodes"), "nodes", "onTabNodes"), - tabButton(tr("tabs.pods"), "pods", "onTabPods"), - tabButton(tr("tabs.deploys"), "deploys", "onTabDeploys"), - tabButton(tr("tabs.namespaces"), "namespaces", "onTabNamespaces"), - }), - - ui.label({ - text = summary, - color = "on_surface_variant", - fontSize = 11, - maxLines = 1, - }), - - -- Search filter for every tab - ui.row({ gap = 8, align = "center" }, { - ui.input({ - key = `filter-{tab}-{filterKey}`, - value = filterText, - placeholder = filterPlaceholder(), - flexGrow = 1, - controlSize = "sm", - onChange = "onFilterChange", - }), - ui.button({ - text = problemsOnly and tr("filter.problems") or tr("filter.all"), - glyph = "filter", - variant = problemsOnly and "primary" or "outline", - visible = tab == "pods", - onClick = "onToggleFilter", - }), - ui.button({ - glyph = "x", - variant = "ghost", - visible = filterText ~= "", - onClick = "onClearFilter", - }), - }), - - toolbar(), - ui.column({ gap = 3, align = "stretch" }, statusRows), - -- Scroll owns the list; stretch so rows span the panel width while filtering. - ui.scroll({ - key = "scroll-" .. tab, - flexGrow = 1, - gap = 8, - align = "stretch", - }, { - itemList(), - }), - ui.label({ - text = (snapshot.updatedAt or 0) > 0 - and tr("panel.updated", { time = noctalia.formatTime("%H:%M:%S", snapshot.updatedAt) }) - or "", - color = "on_surface_variant", - fontSize = 11, - }), - })) -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) ~= "table" then - return - end - local changed = value.revision ~= snapshot.revision - or value.busy ~= snapshot.busy - or value.error ~= snapshot.error - or value.problemPods ~= snapshot.problemPods - or value.loading ~= snapshot.loading - or value.available ~= snapshot.available - or value.nodeCount ~= snapshot.nodeCount - or value.podCount ~= snapshot.podCount - snapshot = value - if selectedId ~= "" then - local still = selectedNode() or selectedPod() or selectedDeploy() or selectedNs() - if not still then - selectedId = "" - end - end - if changed then - dirty = true - end -end) - -noctalia.state.watch(RESULT_KEY, function(result) - if type(result) ~= "table" then - return - end - if type(result.requestId) ~= "string" or not result.requestId:match("^panel%-") then - return - end - feedback = tostring(result.message or "") - feedbackError = result.ok ~= true - dirty = true -end) - -panel.setWantsSecondTicks(true) - -function onOpen(_context) - feedback = "" - sendCommand("refresh") - render() -end - -function update() - if dirty then - render() - end -end - -function onClose() panel.close() end -function onRefresh() sendCommand("refresh") end - -local function switchTab(next) - tab = next - selectedId = "" - -- keep filter text across tabs; re-key input so placeholder updates cleanly - filterKey += 1 - render() -end - -function onTabNodes() switchTab("nodes") end -function onTabPods() switchTab("pods") end -function onTabDeploys() switchTab("deploys") end -function onTabNamespaces() switchTab("namespaces") end - -function onFilterChange(value) - filterText = if type(value) == "string" then value else "" - -- drop selection if it no longer matches - if selectedId ~= "" then - local still = selectedNode() or selectedPod() or selectedDeploy() or selectedNs() - if still then - if tab == "nodes" and not matchesFilter(still.name, still.status, still.version, still.ip) then - selectedId = "" - elseif tab == "pods" and not matchesFilter(still.namespace, still.name, still.status, still.node) then - selectedId = "" - elseif tab == "deploys" and not matchesFilter(still.namespace, still.name) then - selectedId = "" - elseif tab == "namespaces" and not matchesFilter(still.name, still.phase) then - selectedId = "" - end - end - end - -- re-render list without re-keying the input (uncontrolled field keeps typed text) - render() -end - -function onClearFilter() - filterText = "" - filterKey += 1 - render() -end - -function onToggleFilter() - problemsOnly = not problemsOnly - render() -end - -function onK9s() - local ns = "" - local pod = selectedPod() - local dep = selectedDeploy() - if pod then - ns = pod.namespace - elseif dep then - ns = dep.namespace - end - sendCommand("k9s", { namespace = ns }) -end - -function onDescribeNode() - local n = selectedNode() - if n then - sendCommand("describe", { kind = "node", name = n.name }) - end -end - -function onDescribePod() - local p = selectedPod() - if p then - sendCommand("describe", { kind = "pod", name = p.name, namespace = p.namespace }) - end -end - -function onDescribeDeploy() - local d = selectedDeploy() - if d then - sendCommand("describe", { kind = "deploy", name = d.name, namespace = d.namespace }) - end -end - -function onDescribeNs() - local n = selectedNs() - if n then - sendCommand("describe", { kind = "namespace", name = n.name }) - end -end - -function onLogs() - local p = selectedPod() - if p then - sendCommand("logs", { name = p.name, namespace = p.namespace }) - end -end - -function onDeletePod() - local p = selectedPod() - if p then - sendCommand("delete_pod", { name = p.name, namespace = p.namespace }) - end -end - -function onRestart() - local d = selectedDeploy() - if d then - sendCommand("restart_deploy", { name = d.name, namespace = d.namespace }) - end -end diff --git a/k8s-status/plugin.toml b/k8s-status/plugin.toml deleted file mode 100644 index 7b5e64a..0000000 --- a/k8s-status/plugin.toml +++ /dev/null @@ -1,120 +0,0 @@ -# Kubernetes cluster status: nodes, pods, deployments. - -id = "davemhammer/k8s-status" -name = "K8s Status" -version = "1.1.5" -plugin_api = 10 -author = "davemhammer" -license = "MIT" -dependencies = ["kubectl", "less"] -tags = ["system", "development", "utility", "bar", "panel", "service", "launcher"] -icon = "hexagon" -description = "Monitor Kubernetes nodes, pods, and deployments; panel and /kube launcher." - -[[setting]] -key = "kubeconfig" -type = "file" -label_key = "settings.kubeconfig.label" -description_key = "settings.kubeconfig.description" -default = "~/.kube/config" - -[[setting]] -key = "context" -type = "string" -label_key = "settings.context.label" -description_key = "settings.context.description" -default = "" - -[[setting]] -key = "namespace" -type = "string" -label_key = "settings.namespace.label" -description_key = "settings.namespace.description" -default = "" - -[[setting]] -key = "refresh_interval" -type = "int" -label_key = "settings.refresh_interval.label" -description_key = "settings.refresh_interval.description" -default = 15 -min = 5 -max = 120 - -[[setting]] -key = "problems_only" -type = "bool" -label_key = "settings.problems_only.label" -description_key = "settings.problems_only.description" -default = false - -[[setting]] -key = "notify_on_not_ready" -type = "bool" -label_key = "settings.notify_on_not_ready.label" -description_key = "settings.notify_on_not_ready.description" -default = true - -[[setting]] -key = "kubectl_bin" -type = "string" -label_key = "settings.kubectl_bin.label" -description_key = "settings.kubectl_bin.description" -default = "kubectl" -advanced = true - -[[widget]] -id = "status" -entry = "widget.luau" - - [[widget.setting]] - key = "show_counts" - type = "bool" - label_key = "settings.show_counts.label" - description_key = "settings.show_counts.description" - default = true - - [[widget.setting]] - key = "ok_color" - type = "select" - label_key = "settings.ok_color.label" - default = "tertiary" - options = [ - { value = "tertiary", label_key = "colors.tertiary" }, - { value = "primary", label_key = "colors.primary" }, - { value = "secondary", label_key = "colors.secondary" } - ] - - [[widget.setting]] - key = "warn_color" - type = "select" - label_key = "settings.warn_color.label" - default = "error" - options = [ - { value = "error", label_key = "colors.error" }, - { value = "primary", label_key = "colors.primary" }, - { value = "on_surface_variant", label_key = "colors.muted" } - ] - -[[panel]] -id = "manager" -entry = "panel.luau" -width = 720 -height = 640 -placement = "floating" -position = "center" -open_near_click = true -keyboard_focus = "exclusive" -dismiss_on_outside_click = true - -[[service]] -id = "service" -entry = "service.luau" - -[[launcher_provider]] -id = "kube" -entry = "launcher.luau" -prefix = "kube" -glyph = "hexagon" -include_in_global_search = false -debounce_ms = 80 diff --git a/k8s-status/service.luau b/k8s-status/service.luau deleted file mode 100644 index 0ad7e6a..0000000 --- a/k8s-status/service.luau +++ /dev/null @@ -1,962 +0,0 @@ ---!nonstrict --- Kubernetes status backend: nodes, pods, deployments via kubectl. - -local STATE_KEY = "k8s_snapshot" -local COMMAND_KEY = "k8s_command" -local RESULT_KEY = "k8s_action_result" - -local snapshot = { - available = false, - loading = true, - busy = false, - context = "", - nodes = {}, - pods = {}, - deployments = {}, - namespaces = {}, - readyNodes = 0, - nodeCount = 0, - problemPods = 0, - podCount = 0, - deployCount = 0, - error = "", - updatedAt = 0, - revision = 0, -} - -local refreshGeneration = 0 -local refreshPending = false -local refreshAgain = false -local refreshStartedAt = 0 -local actionBusy = false -local dataSignature = "" -local prevNotReady = {} -- name -> true -local STUCK_REFRESH_SEC = 90 - -local function trim(value) - return noctalia.string.trim(tostring(value or "")) -end - -local function shellQuote(value) - return "'" .. tostring(value):gsub("'", "'\\''") .. "'" -end - -local function shellCommand(args) - local quoted = {} - for _, value in ipairs(args) do - table.insert(quoted, shellQuote(value)) - end - return table.concat(quoted, " ") -end - -local function expand(path) - return noctalia.expandPath(trim(path)) -end - -local function kubectlBin() - local bin = trim(noctalia.getConfig("kubectl_bin")) - if bin == "" then - return "kubectl" - end - return bin -end - -local function refreshIntervalMs() - local seconds = tonumber(noctalia.getConfig("refresh_interval")) or 15 - seconds = math.max(5, math.min(120, math.floor(seconds))) - return seconds * 1000 -end - -local function baseKubectlArgs() - local args = { kubectlBin() } - local kubeconfig = trim(noctalia.getConfig("kubeconfig")) - if kubeconfig ~= "" then - table.insert(args, "--kubeconfig") - table.insert(args, expand(kubeconfig)) - end - local context = trim(noctalia.getConfig("context")) - if context ~= "" then - table.insert(args, "--context") - table.insert(args, context) - end - return args -end - -local function nsArgs(args) - local ns = trim(noctalia.getConfig("namespace")) - if ns ~= "" then - table.insert(args, "-n") - table.insert(args, ns) - else - table.insert(args, "-A") - end - return args -end - -local function nowSec() - if type(noctalia.nowMs) == "function" then - local ms = noctalia.nowMs() - if type(ms) == "number" and ms > 0 then - return math.floor(ms / 1000) - end - end - return os.time() -end - -local function runKubectl(args, callback, timeoutMs) - local cmd = shellCommand(args) - local started = noctalia.runAsync(cmd, function(result) - if type(callback) == "function" then - local ok, err = pcall(callback, result) - if not ok then - noctalia.log(`k8s-status: kubectl callback failed: {tostring(err)}`) - end - end - end, timeoutMs or 45000) - if not started and type(callback) == "function" then - -- Ensure callers always get a callback so refresh cannot hang forever. - callback({ - exitCode = -1, - stdout = "", - stderr = "could not start kubectl", - timedOut = false, - }) - end - return started -end - -local function updateRevision(signature) - if signature ~= dataSignature then - dataSignature = signature - snapshot.revision += 1 - end -end - -local function publishSnapshot() - snapshot.busy = actionBusy - noctalia.state.set(STATE_KEY, snapshot) -end - -local function actionResult(command, ok, message, extra) - local result = { - requestId = command and command.requestId or "", - action = command and command.action or "", - ok = ok, - message = message or "", - } - if type(extra) == "table" then - for key, value in pairs(extra) do - result[key] = value - end - end - noctalia.state.set(RESULT_KEY, result) -end - -local function notifyOk(message) - noctalia.notify(noctalia.tr("title"), message) -end - -local function notifyErr(message) - noctalia.notifyError(noctalia.tr("title"), message) -end - -local function isProblemPhase(phase) - phase = tostring(phase or "") - if phase == "Running" or phase == "Succeeded" or phase == "Completed" then - return false - end - return true -end - -local function parseReady(ready) - -- "1/1" or "0/1" - local have, want = tostring(ready or ""):match("^(%d+)/(%d+)$") - if have and want then - return tonumber(have) or 0, tonumber(want) or 0 - end - return 0, 0 -end - --- jsonpath with tab separators (reliable under shell quoting) --- Use plain strings so shell quoting of jsonpath=... stays simple. -local NODE_JSONPATH = '{range .items[*]}{.metadata.name}{"|"}{range .status.conditions[?(@.type=="Ready")]}{.status}{end}{"|"}{.status.nodeInfo.kubeletVersion}{"|"}{range .status.addresses[?(@.type=="InternalIP")]}{.address}{end}{"\\n"}{end}' - -local DEPLOY_JSONPATH = '{range .items[*]}{.metadata.namespace}{"|"}{.metadata.name}{"|"}{.status.readyReplicas}{"|"}{.status.replicas}{"|"}{.status.availableReplicas}{"\\n"}{end}' - -local NS_JSONPATH = '{range .items[*]}{.metadata.name}{"|"}{.status.phase}{"\\n"}{end}' - -local function splitLines(text) - local lines = {} - for line in (tostring(text or "") .. "\n"):gmatch("(.-)\n") do - line = trim(line) - if line ~= "" then - table.insert(lines, line) - end - end - return lines -end - -local function splitFields(line) - local parts = {} - -- prefer pipe separators from jsonpath; fall back to tabs - local sep = line:find("|", 1, true) and "|" or "\t" - for part in (line .. sep):gmatch("(.-)" .. (sep == "|" and "|" or "\t")) do - table.insert(parts, part) - end - return parts -end - -local function parseNodes(stdout) - local nodes = {} - for _, line in ipairs(splitLines(stdout)) do - local parts = splitFields(line) - local name = parts[1] or "" - local readyRaw = parts[2] or "" - local version = parts[3] or "" - local ip = parts[4] or "" - local ready = readyRaw == "True" - if name ~= "" then - table.insert(nodes, { - id = name, - name = name, - ready = ready, - status = ready and "Ready" or "NotReady", - version = version, - ip = ip, - roles = "", - }) - end - end - table.sort(nodes, function(a, b) - return a.name < b.name - end) - return nodes -end - -local function parsePodsWide(stdout) - -- fallback parser for: kubectl get pods -A --no-headers - -- NS NAME READY STATUS RESTARTS AGE [NODE ...] - local pods = {} - for _, line in ipairs(splitLines(stdout)) do - local fields = {} - for f in line:gmatch("%S+") do - table.insert(fields, f) - end - if #fields >= 5 then - local ns = fields[1] - local name = fields[2] - local ready = fields[3] - local status = fields[4] - local restarts = fields[5] - -- if restarts looks like "(", merge - local idx = 6 - if restarts:match("^%d+$") and fields[6] and fields[6]:match("^%(") then - -- skip age tokens that are part of restart age? actually format is: - -- restarts can be "0" or "6" then "(20d" "ago)" then AGE - -- get pods: RESTARTS is one column "6 (20d ago)" in wide? default is single token or with paren - while fields[idx] and not fields[idx]:match("^%d+[dhms]") and fields[idx] ~= "" and idx < #fields do - if fields[idx]:match("^%(") or fields[idx]:match("ago%)") or fields[idx] == "ago)" then - idx += 1 - else - break - end - end - end - -- after restarts comes AGE then optional NODE for -o wide - local age = fields[idx] or "" - local node = fields[idx + 1] or "" - local have, want = parseReady(ready) - local restartsNum = tonumber((restarts:match("^(%d+)"))) or 0 - local problem = isProblemPhase(status) or (want > 0 and have < want) or restartsNum > 5 - table.insert(pods, { - id = ns .. "/" .. name, - namespace = ns, - name = name, - ready = ready, - readyHave = have, - readyWant = want, - status = status, - restarts = restartsNum, - age = age, - node = node, - problem = problem, - }) - end - end - return pods -end - -local function parsePodsSimple(stdout) - local pods = {} - for _, line in ipairs(splitLines(stdout)) do - local parts = splitFields(line) - local ns = parts[1] or "" - local name = parts[2] or "" - local phase = parts[3] or "" - local node = parts[4] or "" - if ns ~= "" and name ~= "" then - local problem = isProblemPhase(phase) - table.insert(pods, { - id = ns .. "/" .. name, - namespace = ns, - name = name, - ready = problem and "0/?" or "?/?", - readyHave = 0, - readyWant = 0, - status = phase, - restarts = 0, - age = "", - node = node, - problem = problem, - }) - end - end - return pods -end - -local function parseDeploys(stdout) - local items = {} - for _, line in ipairs(splitLines(stdout)) do - local parts = splitFields(line) - local ns = parts[1] or "" - local name = parts[2] or "" - -- jsonpath may emit empty fields for nil replicas - local ready = tonumber(parts[3]) or 0 - local desired = tonumber(parts[4]) or 0 - local available = tonumber(parts[5]) or 0 - if ns ~= "" and name ~= "" then - local problem = desired > 0 and ready < desired - table.insert(items, { - id = ns .. "/" .. name, - namespace = ns, - name = name, - ready = ready, - desired = desired, - available = available, - problem = problem, - }) - end - end - table.sort(items, function(a, b) - if a.problem ~= b.problem then - return a.problem - end - if a.namespace == b.namespace then - return a.name < b.name - end - return a.namespace < b.namespace - end) - return items -end - -local function parseNamespaces(stdout) - local items = {} - for _, line in ipairs(splitLines(stdout)) do - local parts = splitFields(line) - local name = parts[1] or "" - local phase = parts[2] or "" - if name ~= "" then - table.insert(items, { id = name, name = name, phase = phase }) - end - end - table.sort(items, function(a, b) - return a.name < b.name - end) - return items -end - -local function checkNotReadyNotifications(nodes) - if noctalia.getConfig("notify_on_not_ready") == false then - return - end - local current = {} - for _, node in ipairs(nodes) do - if not node.ready then - current[node.name] = true - if not prevNotReady[node.name] then - notifyErr(noctalia.tr("result.node_not_ready", { name = node.name })) - end - end - end - prevNotReady = current -end - -local refreshAll - -local function forceUnstick(reason) - noctalia.log(`k8s-status: {reason}`) - refreshPending = false - refreshStartedAt = 0 - snapshot.loading = false - if snapshot.error == "" and not snapshot.available then - snapshot.error = reason - end - publishSnapshot() -end - -refreshAll = function() - -- Recover from hung refreshes (callback never fired / stuck pending). - if refreshPending and refreshStartedAt > 0 and (nowSec() - refreshStartedAt) >= STUCK_REFRESH_SEC then - forceUnstick("refresh timed out") - end - if refreshPending then - refreshAgain = true - return - end - refreshPending = true - refreshAgain = false - refreshStartedAt = nowSec() - refreshGeneration += 1 - local generation = refreshGeneration - - if not noctalia.commandExists(kubectlBin()) then - snapshot.available = false - snapshot.loading = false - snapshot.error = noctalia.tr("result.kubectl_missing") - snapshot.nodes = {} - snapshot.pods = {} - snapshot.deployments = {} - snapshot.namespaces = {} - snapshot.readyNodes = 0 - snapshot.nodeCount = 0 - snapshot.problemPods = 0 - snapshot.podCount = 0 - snapshot.deployCount = 0 - refreshPending = false - refreshStartedAt = 0 - updateRevision("kubectl-missing") - publishSnapshot() - return - end - - -- Only show "Querying cluster…" when we have never loaded data. - if not snapshot.available then - snapshot.loading = true - publishSnapshot() - end - - local function doneRefresh() - if generation ~= refreshGeneration then - return - end - refreshPending = false - refreshStartedAt = 0 - if refreshAgain then - refreshAgain = false - refreshAll() - end - end - - local function fail(err) - if generation ~= refreshGeneration then - return - end - snapshot.available = false - snapshot.loading = false - snapshot.error = trim(err) ~= "" and trim(err) or noctalia.tr("result.unreachable") - updateRevision("err:" .. snapshot.error) - publishSnapshot() - doneRefresh() - end - - local function applySuccess(ctx, nodes, pods, deploys, namespaces) - if generation ~= refreshGeneration then - return - end - local readyCount = 0 - for _, n in ipairs(nodes) do - if n.ready then - readyCount += 1 - end - end - local problemCount = 0 - for _, p in ipairs(pods) do - if p.problem then - problemCount += 1 - end - end - pcall(checkNotReadyNotifications, nodes) - - snapshot.available = true - snapshot.loading = false - snapshot.error = "" - snapshot.context = ctx or "" - snapshot.nodes = nodes - snapshot.pods = pods - snapshot.deployments = deploys - snapshot.namespaces = namespaces - snapshot.readyNodes = readyCount - snapshot.nodeCount = #nodes - snapshot.problemPods = problemCount - snapshot.podCount = #pods - snapshot.deployCount = #deploys - snapshot.updatedAt = nowSec() - - updateRevision(table.concat({ - snapshot.context, - tostring(readyCount), - tostring(#nodes), - tostring(problemCount), - tostring(#pods), - tostring(#deploys), - }, "|")) - publishSnapshot() - doneRefresh() - end - - -- Parallel queries (pending counter) — avoids deep nesting and partial hangs. - local bag = { - context = "", - nodesOut = nil, - nodesErr = nil, - podsOut = "", - deploysOut = "", - nsOut = "", - } - local pending = 5 - local finished = false - - local function finishOne() - if generation ~= refreshGeneration or finished then - return - end - pending -= 1 - if pending > 0 then - return - end - finished = true - - if bag.nodesOut == nil then - fail(bag.nodesErr or "nodes failed") - return - end - - local okN, nodesOrErr = pcall(parseNodes, bag.nodesOut) - local nodes = (okN and nodesOrErr) or {} - if not okN then - noctalia.log(`k8s-status: parseNodes: {tostring(nodesOrErr)}`) - nodes = {} - end - - local pods = {} - local okP, podsOrErr = pcall(parsePodsWide, bag.podsOut) - if okP and type(podsOrErr) == "table" then - pods = podsOrErr - elseif not okP then - noctalia.log(`k8s-status: parsePods: {tostring(podsOrErr)}`) - end - table.sort(pods, function(a, b) - if a.problem ~= b.problem then - return a.problem - end - if a.namespace == b.namespace then - return a.name < b.name - end - return a.namespace < b.namespace - end) - - local deploys = {} - local okD, depOrErr = pcall(parseDeploys, bag.deploysOut) - if okD and type(depOrErr) == "table" then - deploys = depOrErr - end - - local namespaces = {} - local okNs, nsOrErr = pcall(parseNamespaces, bag.nsOut) - if okNs and type(nsOrErr) == "table" then - namespaces = nsOrErr - end - - applySuccess(bag.context, nodes, pods, deploys, namespaces) - end - - -- context - local ctxArgs = baseKubectlArgs() - table.insert(ctxArgs, "config") - table.insert(ctxArgs, "current-context") - runKubectl(ctxArgs, function(ctxResult) - if generation ~= refreshGeneration then - return - end - if ctxResult and ctxResult.exitCode == 0 then - bag.context = trim(ctxResult.stdout) - else - local configured = trim(noctalia.getConfig("context")) - bag.context = configured ~= "" and configured or "" - end - finishOne() - end, 15000) - - -- nodes (required) - local nodeArgs = baseKubectlArgs() - table.insert(nodeArgs, "get") - table.insert(nodeArgs, "nodes") - table.insert(nodeArgs, "-o") - table.insert(nodeArgs, "jsonpath=" .. NODE_JSONPATH) - runKubectl(nodeArgs, function(nodeResult) - if generation ~= refreshGeneration then - return - end - if nodeResult and nodeResult.exitCode == 0 and not nodeResult.timedOut then - bag.nodesOut = nodeResult.stdout or "" - else - local err = "" - if nodeResult then - err = trim(nodeResult.stderr) - if err == "" then - err = trim(nodeResult.stdout) - end - if nodeResult.timedOut then - err = err ~= "" and err or "nodes timed out" - end - end - bag.nodesErr = err ~= "" and err or "nodes failed" - bag.nodesOut = nil - end - finishOne() - end, 30000) - - -- pods - local podArgs = baseKubectlArgs() - table.insert(podArgs, "get") - table.insert(podArgs, "pods") - nsArgs(podArgs) - table.insert(podArgs, "--no-headers") - runKubectl(podArgs, function(podResult) - if generation ~= refreshGeneration then - return - end - if podResult and podResult.exitCode == 0 then - bag.podsOut = podResult.stdout or "" - end - finishOne() - end, 45000) - - -- deployments - local deployArgs = baseKubectlArgs() - table.insert(deployArgs, "get") - table.insert(deployArgs, "deploy") - nsArgs(deployArgs) - table.insert(deployArgs, "-o") - table.insert(deployArgs, "jsonpath=" .. DEPLOY_JSONPATH) - runKubectl(deployArgs, function(deployResult) - if generation ~= refreshGeneration then - return - end - if deployResult and deployResult.exitCode == 0 then - bag.deploysOut = deployResult.stdout or "" - end - finishOne() - end, 30000) - - -- namespaces - local nsArgsList = baseKubectlArgs() - table.insert(nsArgsList, "get") - table.insert(nsArgsList, "ns") - table.insert(nsArgsList, "-o") - table.insert(nsArgsList, "jsonpath=" .. NS_JSONPATH) - runKubectl(nsArgsList, function(nsResult) - if generation ~= refreshGeneration then - return - end - if nsResult and nsResult.exitCode == 0 then - bag.nsOut = nsResult.stdout or "" - end - finishOne() - end, 20000) -end - -local function finishAction(command, ok, message) - actionBusy = false - actionResult(command, ok, message) - if ok then - notifyOk(message) - else - notifyErr(message) - end - publishSnapshot() - refreshAll() -end - -local function resourceRef(command) - local ns = trim(command.namespace) - local name = trim(command.name) - return ns, name -end - -local function openInTerminal(cmd) - noctalia.runInTerminal(cmd) -end - -local function kubectlPrefixShell() - local parts = baseKubectlArgs() - return table.concat(parts, " ") -- already will be used carefully -end - -local function describeResource(command) - local kind = trim(command.kind) - local ns, name = resourceRef(command) - if name == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing name" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "describe") - table.insert(args, kind) - table.insert(args, name) - if ns ~= "" and kind ~= "node" and kind ~= "namespace" then - table.insert(args, "-n") - table.insert(args, ns) - end - -- keep terminal open with less/pager - local cmd = shellCommand(args) .. " | less -R" - openInTerminal(cmd) - actionResult(command, true, noctalia.tr("result.describe_started", { name = name })) -end - -local function logsPod(command) - local ns, name = resourceRef(command) - if name == "" or ns == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing pod" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "logs") - table.insert(args, "-n") - table.insert(args, ns) - table.insert(args, name) - table.insert(args, "--tail=200") - table.insert(args, "-f") - openInTerminal(shellCommand(args)) - actionResult(command, true, noctalia.tr("result.logs_started", { name = name })) -end - -local function deletePod(command) - if actionBusy then - actionResult(command, false, noctalia.tr("result.busy")) - return - end - local ns, name = resourceRef(command) - if name == "" or ns == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing pod" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "delete") - table.insert(args, "pod") - table.insert(args, name) - table.insert(args, "-n") - table.insert(args, ns) - actionBusy = true - publishSnapshot() - runKubectl(args, function(result) - local ok = result ~= nil and result.exitCode == 0 - if ok then - finishAction(command, true, noctalia.tr("result.deleted", { name = ns .. "/" .. name })) - else - local err = trim(result and result.stderr or "") - finishAction(command, false, noctalia.tr("result.failed", { error = err ~= "" and err or "delete failed" })) - end - end, 60000) -end - -local function restartDeploy(command) - if actionBusy then - actionResult(command, false, noctalia.tr("result.busy")) - return - end - local ns, name = resourceRef(command) - if name == "" or ns == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing deploy" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "rollout") - table.insert(args, "restart") - table.insert(args, "deploy/" .. name) - table.insert(args, "-n") - table.insert(args, ns) - actionBusy = true - publishSnapshot() - runKubectl(args, function(result) - local ok = result ~= nil and result.exitCode == 0 - if ok then - finishAction(command, true, noctalia.tr("result.restarted", { name = ns .. "/" .. name })) - else - local err = trim(result and result.stderr or "") - finishAction(command, false, noctalia.tr("result.failed", { error = err ~= "" and err or "restart failed" })) - end - end, 60000) -end - -local function openK9s(command) - if not noctalia.commandExists("k9s") then - actionResult(command, false, noctalia.tr("result.failed", { error = "k9s not found" })) - notifyErr(noctalia.tr("result.failed", { error = "k9s not found" })) - return - end - local args = { "k9s" } - local kubeconfig = trim(noctalia.getConfig("kubeconfig")) - if kubeconfig ~= "" then - table.insert(args, "--kubeconfig") - table.insert(args, expand(kubeconfig)) - end - local context = trim(noctalia.getConfig("context")) - if context ~= "" then - table.insert(args, "--context") - table.insert(args, context) - end - local ns = trim(command.namespace or noctalia.getConfig("namespace") or "") - if ns ~= "" then - table.insert(args, "-n") - table.insert(args, ns) - end - openInTerminal(shellCommand(args)) - actionResult(command, true, noctalia.tr("result.k9s_started")) -end - -local function shellPod(command) - local ns, name = resourceRef(command) - if name == "" or ns == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing pod" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "exec") - table.insert(args, "-it") - table.insert(args, "-n") - table.insert(args, ns) - table.insert(args, name) - table.insert(args, "--") - table.insert(args, "sh") - table.insert(args, "-c") - table.insert(args, "command -v bash >/dev/null && exec bash || exec sh") - openInTerminal(shellCommand(args)) - actionResult(command, true, noctalia.tr("result.shell_started", { name = ns .. "/" .. name })) -end - -local function portForwardPod(command) - local ns, name = resourceRef(command) - local ports = trim(command.ports) - if name == "" or ns == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing pod" })) - return - end - if ports == "" then - ports = "8080:8080" - end - local args = baseKubectlArgs() - table.insert(args, "port-forward") - table.insert(args, "-n") - table.insert(args, ns) - table.insert(args, "pod/" .. name) - table.insert(args, ports) - openInTerminal(shellCommand(args)) - actionResult(command, true, noctalia.tr("result.portforward_started", { name = ns .. "/" .. name, ports = ports })) -end - -local function getYaml(command) - local kind = trim(command.kind) - local ns, name = resourceRef(command) - if name == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing name" })) - return - end - local args = baseKubectlArgs() - table.insert(args, "get") - table.insert(args, kind) - table.insert(args, name) - if ns ~= "" and kind ~= "node" and kind ~= "namespace" and kind ~= "ns" then - table.insert(args, "-n") - table.insert(args, ns) - end - table.insert(args, "-o") - table.insert(args, "yaml") - openInTerminal(shellCommand(args) .. " | less -R") - actionResult(command, true, noctalia.tr("result.yaml_started", { name = name })) -end - -local function copyResourceName(command) - local ns, name = resourceRef(command) - local text = name - if ns ~= "" then - text = ns .. "/" .. name - end - if text == "" then - actionResult(command, false, noctalia.tr("result.failed", { error = "missing name" })) - return - end - noctalia.copyToClipboard(text, "text/plain") - actionResult(command, true, noctalia.tr("result.copied", { name = text })) - notifyOk(noctalia.tr("result.copied", { name = text })) -end - -local function executeAction(command) - if type(command) ~= "table" or type(command.action) ~= "string" then - return - end - if command.action == "refresh" then - refreshAll() - return - end - if command.action == "describe" then - describeResource(command) - return - end - if command.action == "logs" then - logsPod(command) - return - end - if command.action == "shell" then - shellPod(command) - return - end - if command.action == "port_forward" then - portForwardPod(command) - return - end - if command.action == "yaml" then - getYaml(command) - return - end - if command.action == "copy_name" then - copyResourceName(command) - return - end - if command.action == "delete_pod" then - deletePod(command) - return - end - if command.action == "restart_deploy" then - restartDeploy(command) - return - end - if command.action == "k9s" then - openK9s(command) - return - end - actionResult(command, false, `Unknown action: {command.action}`) -end - -noctalia.state.watch(COMMAND_KEY, executeAction) -noctalia.setUpdateInterval(refreshIntervalMs()) -refreshAll() - -function update() - refreshAll() -end - -function onConfigChanged() - noctalia.setUpdateInterval(refreshIntervalMs()) - refreshPending = false - refreshStartedAt = 0 - refreshAll() -end - -function onIpc(event, _payload) - if event == "refresh" then - refreshPending = false - refreshStartedAt = 0 - refreshAll() - end -end diff --git a/k8s-status/thumbnail.webp b/k8s-status/thumbnail.webp deleted file mode 100644 index 6557dc73f7e68aef72a02b3b128639ab8702ed4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60436 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 diff --git a/k8s-status/translations/en.json b/k8s-status/translations/en.json deleted file mode 100644 index 112e682..0000000 --- a/k8s-status/translations/en.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "actions": { - "delete_pod": "Delete pod", - "describe": "Describe", - "logs": "Logs", - "open_k9s": "k9s", - "refresh": "Refresh", - "restart": "Restart", - "toggle_filter": "Filter" - }, - "colors": { - "error": "Error", - "muted": "Muted", - "primary": "Primary", - "secondary": "Secondary", - "tertiary": "Tertiary" - }, - "deploy": { - "replicas": "{ready}/{desired} ready" - }, - "filter": { - "all": "All", - "placeholder_deploys": "Filter… e.g. ai or !1/1", - "placeholder_namespaces": "Filter… e.g. !Active", - "placeholder_nodes": "Filter… (!Ready excludes Ready)", - "placeholder_pods": "Filter… e.g. gitea or !Running", - "problems": "Problems" - }, - "launcher": { - "action": { - "copy": "Copy name", - "copy-sub": "Copy namespace/name to clipboard", - "delete": "Delete pod", - "delete-sub": "kubectl delete pod", - "describe": "Describe", - "describe-sub": "kubectl describe", - "logs": "Logs", - "logs-sub": "kubectl logs -f --tail=200", - "portforward": "Port-forward", - "portforward-sub": "kubectl port-forward 8080:8080", - "restart": "Restart", - "restart-sub": "kubectl rollout restart", - "shell": "Shell", - "shell-sub": "kubectl exec -it (bash/sh)", - "yaml": "YAML", - "yaml-sub": "kubectl get -o yaml" - }, - "cat": { - "deploys": "Deployments", - "deploys-sub": "Rollout restart and describe", - "k9s": "Open k9s", - "k9s-sub": "Terminal cluster UI", - "nodes": "Nodes", - "nodes-sub": "Node status and describe", - "ns": "Namespaces", - "ns-sub": "Browse namespaces", - "panel": "Open panel", - "panel-sub": "Full K8s Status manager", - "pods": "Pods", - "pods-sub": "Browse pods — logs, shell, describe…", - "problems": "Problem pods", - "problems-sub": "Non-running / unhealthy pods only", - "refresh": "Refresh", - "refresh-sub": "Rescan cluster now", - "status": "Status summary", - "status-sub": "Notify ready nodes / problem pods" - }, - "deploy-actions": "Choose an action", - "hint-type": "Type to filter, Enter to open", - "loading": "Loading cluster snapshot…", - "no-matches": "No matches", - "node-actions": "Choose an action", - "pod-actions": "Choose an action", - "unavailable": "Cluster unavailable" - }, - "node": { - "ip": "IP: {ip}", - "not_ready": "NotReady", - "ready": "Ready", - "roles": "Roles: {roles}", - "version": "Version: {version}" - }, - "ns": { - "phase": "{phase}" - }, - "panel": { - "busy": "Working…", - "context": "Context: {name}", - "empty_deploys": "No deployments match the current filter.", - "empty_namespaces": "No namespaces match the current filter.", - "empty_nodes": "No nodes match the current filter.", - "empty_pods": "No pods match the current filter.", - "loading": "Querying cluster…", - "select_hint": "Select an item for actions.", - "subtitle": "Nodes, pods, and workloads", - "summary": "{ready}/{nodes} nodes ready · {problems} problem pods · {pods} pods", - "updated": "Updated {time}" - }, - "pod": { - "node": "Node: {node}", - "restarts": "{count} restarts" - }, - "result": { - "busy": "Another operation is running.", - "copied": "Copied {name}", - "deleted": "Deleted pod {name}", - "describe_started": "Describing {name}…", - "failed": "Failed: {error}", - "k9s_started": "Opening k9s…", - "kubectl_missing": "kubectl is not available.", - "logs_started": "Opening logs for {name}…", - "node_not_ready": "Node {name} is NotReady", - "portforward_started": "Port-forward {name} ({ports})…", - "restarted": "Restarted {name}", - "shell_started": "Opening shell in {name}…", - "success": "Done", - "unreachable": "Cannot reach cluster", - "yaml_started": "Showing YAML for {name}…" - }, - "settings": { - "context": { - "description": "Kubernetes context name. Leave empty for current-context.", - "label": "Context" - }, - "kubeconfig": { - "description": "Path to kubeconfig (empty uses default).", - "label": "Kubeconfig" - }, - "kubectl_bin": { - "description": "kubectl command name or absolute path.", - "label": "kubectl binary" - }, - "namespace": { - "description": "Limit pods/deployments to this namespace. Empty = all namespaces.", - "label": "Namespace filter" - }, - "notify_on_not_ready": { - "description": "Desktop notification when a node becomes NotReady.", - "label": "Notify on node NotReady" - }, - "ok_color": { - "label": "Healthy indicator" - }, - "problems_only": { - "description": "In the panel pod list, hide healthy Running pods by default.", - "label": "Problems-only pod list" - }, - "refresh_interval": { - "description": "How often to poll the cluster.", - "label": "Refresh interval (seconds)" - }, - "show_counts": { - "description": "Display ready nodes and problem pods on the widget.", - "label": "Show counts on bar" - }, - "warn_color": { - "label": "Problem indicator" - } - }, - "tabs": { - "deploys": "Deployments", - "namespaces": "Namespaces", - "nodes": "Nodes", - "pods": "Pods" - }, - "title": "K8s Status", - "widget": { - "refresh_requested": "Refreshing cluster status…", - "tooltip_down": "Cluster unreachable: {error}", - "tooltip_missing": "kubectl not found", - "tooltip_ok": "{context} · {ready}/{nodes} nodes ready · {problems} problem pods" - } -} diff --git a/k8s-status/widget.luau b/k8s-status/widget.luau deleted file mode 100644 index f74ae3c..0000000 --- a/k8s-status/widget.luau +++ /dev/null @@ -1,107 +0,0 @@ ---!nonstrict - -local PANEL_ID = "davemhammer/k8s-status:manager" -local STATE_KEY = "k8s_snapshot" -local COMMAND_KEY = "k8s_command" - -local snapshot = noctalia.state.get(STATE_KEY) or { - available = false, - readyNodes = 0, - nodeCount = 0, - problemPods = 0, - context = "", - error = "", -} - -local requestId = 0 - -local function configString(key, fallback) - local value = noctalia.getConfig(key) - return type(value) == "string" and value or fallback -end - -local function render() - local available = snapshot.available == true - local ready = tonumber(snapshot.readyNodes) or 0 - local nodes = tonumber(snapshot.nodeCount) or 0 - local problems = tonumber(snapshot.problemPods) or 0 - local healthy = available and ready == nodes and nodes > 0 and problems == 0 - local showCounts = noctalia.getConfig("show_counts") ~= false - local okColor = configString("ok_color", "tertiary") - local warnColor = configString("warn_color", "error") - local color = available and (healthy and okColor or warnColor) or "on_surface_variant" - - local children = { - ui.glyph({ - name = "hexagon", - size = 16, - color = color, - }), - } - - if showCounts and available then - table.insert(children, ui.label({ - text = `{ready}/{nodes}`, - fontWeight = "bold", - color = "on_surface", - })) - if problems > 0 then - table.insert(children, ui.label({ - text = tostring(problems), - fontWeight = "bold", - color = warnColor, - })) - end - table.insert(children, ui.box({ - width = 7, - height = 7, - radius = 4, - fill = healthy and okColor or warnColor, - })) - end - - local container = barWidget.isVertical() and ui.column or ui.row - barWidget.render(container({ gap = 5, align = "center" }, children)) - - if not available then - local err = tostring(snapshot.error or "") - if err:find("kubectl", 1, true) then - barWidget.setTooltip(noctalia.tr("widget.tooltip_missing")) - else - barWidget.setTooltip(noctalia.tr("widget.tooltip_down", { - error = err ~= "" and err or "unknown", - })) - end - else - barWidget.setTooltip(noctalia.tr("widget.tooltip_ok", { - context = snapshot.context ~= "" and snapshot.context or "default", - ready = ready, - nodes = nodes, - problems = problems, - })) - end -end - -noctalia.state.watch(STATE_KEY, function(value) - if type(value) == "table" then - snapshot = value - render() - end -end) - -noctalia.setUpdateInterval(8000) -render() - -function update() - render() -end - -function onClick() - noctalia.togglePanel(PANEL_ID) -end - -function onRightClick() - requestId += 1 - noctalia.state.set(COMMAND_KEY, { action = "refresh", requestId = `widget-{requestId}` }) - noctalia.notify(noctalia.tr("title"), noctalia.tr("widget.refresh_requested")) -end diff --git a/keybind-cheatsheet/README.md b/keybind-cheatsheet/README.md deleted file mode 100644 index f9e4575..0000000 --- a/keybind-cheatsheet/README.md +++ /dev/null @@ -1,170 +0,0 @@ -# Keybind Cheatsheet - -Keybind Cheatsheet opens a searchable Noctalia panel containing the active -Mango, Hyprland, or Niri shortcuts. It follows split configuration files, -formats common hardware keys, and keeps custom descriptions and hidden rows. - -![Keybind Cheatsheet panel](thumbnail.webp) - -## Acknowledgements - -Keybind Cheatsheet was inspired by the original -[Keybind Cheatsheet for Noctalia v4](https://github.com/4rmcyt/noctalia-plugins/tree/main/keybind-cheatsheet) -created by [blackbartblues](https://github.com/blackbartblues). - -This Noctalia v5 plugin is an independent implementation rather than a direct -port. It has its own user interface, service and cache lifecycle, persistence -model, tests, and integration with the current Noctalia plugin API. - -## Plugin - -| Field | Value | -| --- | --- | -| ID | `kenn/keybind-cheatsheet` | -| Entries | Data service: `data`; bar widget: `keybinds`; panel: `cheatsheet` | - -`kenn` is the plugin's fixed publisher namespace, not your local Linux -username. Copy the plugin IDs in the commands below unchanged. User-specific -configuration paths use the portable `~/.config/...` form. - -## Requirements - -Install `hyprctl` on `PATH` when using a Hyprland Lua configuration. Mango, -Niri, and classic Hyprland configurations do not spawn external commands. - -No clipboard command is required. Color paste uses Noctalia's native clipboard -API. - -## Usage - -Enable the plugin, then add the `keybinds` widget from Noctalia's bar widget -picker. Clicking its keyboard glyph toggles the cheatsheet. - -Open or close the panel without a bar widget: - -```sh -noctalia msg panel-toggle kenn/keybind-cheatsheet:cheatsheet -``` - -Bind that command in the active compositor. - -Mango: - -```ini -bind=SUPER,F1,spawn,noctalia msg panel-toggle kenn/keybind-cheatsheet:cheatsheet -``` - -Hyprland classic configuration: - -```ini -bind = SUPER, F1, exec, noctalia msg panel-toggle kenn/keybind-cheatsheet:cheatsheet -``` - -Niri: - -```kdl -Mod+F1 { spawn "noctalia" "msg" "panel-toggle" "kenn/keybind-cheatsheet:cheatsheet"; } -``` - -Type in the search field to filter by key, description, action, or category. -Use the header pencil to enter edit mode. Edit mode keeps hidden bindings -visible with muted content while descriptions and visibility are changed with -the row's pencil and eye buttons; leaving edit mode applies those visibility -choices to the main keymap. The palette button opens key-color controls with -native color picking, clipboard paste, and reset actions. - -## Supported configuration - -| Compositor | Default | Parsing | -| --- | --- | --- | -| Mango | `~/.config/mango/config.conf` | `bind`, `axisbind`, `mousebind`, `gesturebind`, `switchbind`, `source`, and `source-optional` | -| Hyprland classic | `~/.config/hypr/hyprland.conf` | `bind*` directives, variables, and recursive `source` paths | -| Hyprland Lua | `~/.config/hypr/hyprland.lua` | Live `hyprctl binds -j` data plus category and description scanning through `require()` files | -| Niri | `~/.config/niri/config.kdl` | KDL `binds` blocks, action categorization, and recursive `include` paths | - -Includes support `*`, `?`, and bracket glob components. Traversal is limited to -32 levels and 256 files, and repeated paths are visited once to stop cycles. - -Category comments use the same forms as the earlier Noctalia plugin: - -```ini -# Applications -bind=SUPER,T,spawn,foot #"Terminal" -``` - -```ini -# 1. Applications -bind = SUPER, T, exec, foot #"Terminal" -``` - -```kdl -// #"Applications" -Mod+T hotkey-overlay-title="Terminal" { spawn "foot"; } -``` - -Hyprland Lua category scanning recognizes `-- 1. Applications` headings and -literal `description` or `desc` fields. Concatenated descriptions such as -`"Workspace " .. i` are treated as prefixes. - -## Settings - -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `compositor` | `select` | `auto` | Detect Mango, Hyprland, or Niri, or force one parser. | -| `mango_config` | `file` | `~/.config/mango/config.conf` | Main Mango configuration. | -| `hyprland_config` | `file` | `~/.config/hypr/hyprland.conf` | Main classic Hyprland configuration. | -| `hyprland_lua_config` | `file` | `~/.config/hypr/hyprland.lua` | Lua file scanned for categories. | -| `hyprland_parser` | `select` | `auto` | Select live Lua or classic parsing. | -| `niri_config` | `file` | `~/.config/niri/config.kdl` | Main Niri configuration. | -| `columns` | `int` | `3` | Maximum balanced columns, from 1 to 4. | -| `show_undescribed` | `bool` | `true` | Show bindings that have no description. | -| `show_actions` | `bool` | `false` | Show the compositor action under descriptions. | -| `glyph` | `glyph` | `keyboard` | Bar widget icon. | - -Noctalia v5 owns panel dimensions and does not expose runtime auto-height. -This plugin uses a wide 1500 x 760 panel, scrolling, and a responsive cap on -the requested column count. - -## IPC - -Refresh the snapshot after editing compositor configuration: - -```sh -noctalia msg plugin kenn/keybind-cheatsheet:data all refresh -``` - -The data service refreshes even when the panel is closed. Opening and reopening -the panel only renders the prepared snapshot. The bar entry also accepts -`toggle` and `refresh` when a widget instance exists: - -```sh -noctalia msg plugin kenn/keybind-cheatsheet:keybinds focused toggle -noctalia msg plugin kenn/keybind-cheatsheet:keybinds focused refresh -``` - -For parser development, run the fixture suite inside Noctalia: - -```sh -noctalia msg plugin kenn/keybind-cheatsheet:data all self-test -``` - -The report is logged and written to the plugin's persistent data directory as -`selftest.json`. - -## Notes - -One event-driven data service loads the durable binding cache and parses the -selected compositor configuration once when Noctalia loads the plugin. It then -remains idle until settings change or a refresh is explicitly requested. It -uses no update interval, filesystem watcher, polling loop, network request, or -persistent subprocess. Hyprland Lua mode runs the fixed command -`hyprctl binds -j` asynchronously. - -The last successful parsed snapshot is stored as `bindings-cache.json`. The -panel reads the shared in-memory snapshot and performs no configuration I/O in -`onOpen()`. A failed refresh keeps the previous bindings visible and reports -the error without replacing the durable cache. - -Custom descriptions, hidden binding identities, and color overrides are stored -in Noctalia's per-plugin state directory as `preferences.json`. The file -contains no command output or configuration contents. diff --git a/keybind-cheatsheet/panel.luau b/keybind-cheatsheet/panel.luau deleted file mode 100644 index 6b62190..0000000 --- a/keybind-cheatsheet/panel.luau +++ /dev/null @@ -1,869 +0,0 @@ ---!nonstrict --- Snapshot-driven keybind viewer for Mango, Hyprland, and Niri. --- --- Parsing, durable cache ownership, and refreshes live in service.luau. This --- panel only reads the shared snapshot and renders it. - -local noctalia = noctalia -local ui = ui -local panel = panel -if noctalia == nil then - local host = require("./tests/host_mock") - noctalia = host.noctalia - ui = host.ui - panel = host.panel -end - -local PANEL_ID = "kenn/keybind-cheatsheet:cheatsheet" -local SNAPSHOT_KEY = "keybind-cheatsheet.snapshot" -local REFRESH_REQUEST_KEY = "keybind-cheatsheet.refresh-request" -local SELF_TEST_REQUEST_KEY = "keybind-cheatsheet.self-test-request" -local PREFERENCES_FILE = "preferences.json" - -local bindings = {} -local parseWarnings = {} -local currentCompositor = "" -local loading = false -local panelOpen = false -local panelError = nil -local refreshError = nil -local snapshot = nil -local query = "" -local searchRevision = 0 -local view = "bindings" -local editingId = nil -local editDraft = "" -local preferences = { version = 1, hidden = {}, descriptions = {}, colors = {} } -local refreshing = false - -local render -local refresh - -local function tr(key, values) - return noctalia.tr(key, values) -end - -local function trim(value) - local result = (value or ""):gsub("^%s+", ""):gsub("%s+$", "") - return result -end - -local function lower(value) - return string.lower(value or "") -end - -local function startsWith(value, prefix) - return value:sub(1, #prefix) == prefix -end - -local KEY_LABELS = { - XF86AudioRaiseVolume = "Vol Up", - XF86AudioLowerVolume = "Vol Down", - XF86AudioMute = "Mute", - XF86AudioMicMute = "Mic Mute", - XF86MonBrightnessUp = "Bright Up", - XF86MonBrightnessDown = "Bright Down", - XF86AudioPlay = "Play/Pause", - XF86AudioPause = "Pause", - XF86AudioNext = "Next", - XF86AudioPrev = "Previous", - Print = "PrtSc", - Prior = "PgUp", - Next = "PgDn", - Return = "Enter", - Escape = "Esc", - space = "Space", - btn_left = "Mouse Left", - btn_right = "Mouse Right", - btn_middle = "Mouse Middle", - btn_side = "Mouse Side", - btn_extra = "Mouse Extra", -} - -local function formatKey(key) - return KEY_LABELS[key] or key:gsub("^mouse:", "Mouse ") -end - -local function niriCategoryFor(action) - local value = lower(action) - if startsWith(value, "spawn") then return "Applications" end - if startsWith(value, "focus-column-") then return "Column Navigation" end - if startsWith(value, "focus-window-") then return "Window Focus" end - if startsWith(value, "focus-workspace-") then return "Workspace Navigation" end - if startsWith(value, "move-column-") then return "Move Columns" end - if startsWith(value, "move-window-") then return "Move Windows" end - if startsWith(value, "screenshot") then return "Screenshots" end - if startsWith(value, "close-window") or startsWith(value, "fullscreen-window") then return "Window Management" end - if startsWith(value, "power-off-monitors") then return "Power" end - if startsWith(value, "quit") then return "System" end - return "Other" -end - - -local function preferencesPath() - local directory, err = noctalia.pluginDataDir() - if directory == nil then - noctalia.log("Could not resolve plugin data directory: " .. (err or "unknown error")) - return nil - end - return directory .. "/" .. PREFERENCES_FILE -end - -local function normalizePreferences(decoded) - local result = { version = 1, hidden = {}, descriptions = {}, colors = {} } - if type(decoded) ~= "table" then - return result - end - for id, hidden in pairs(type(decoded.hidden) == "table" and decoded.hidden or {}) do - if type(id) == "string" and hidden == true then - result.hidden[id] = true - end - end - for id, description in pairs(type(decoded.descriptions) == "table" and decoded.descriptions or {}) do - if type(id) == "string" and type(description) == "string" and trim(description) ~= "" then - result.descriptions[id] = trim(description) - end - end - for bucket, colors in pairs(type(decoded.colors) == "table" and decoded.colors or {}) do - if type(bucket) == "string" and type(colors) == "table" then - result.colors[bucket] = {} - if type(colors.background) == "string" then result.colors[bucket].background = colors.background end - if type(colors.text) == "string" then result.colors[bucket].text = colors.text end - end - end - return result -end - -local function loadPreferences() - local path = preferencesPath() - if path == nil then - preferences = normalizePreferences(nil) - return - end - local raw = noctalia.readFile(path) - if raw == nil or raw == "" then - preferences = normalizePreferences(nil) - return - end - local decoded = noctalia.json.decode(raw) - preferences = normalizePreferences(decoded) -end - -local function savePreferences() - local path = preferencesPath() - if path == nil then return end - local encoded = noctalia.json.encode(preferences, true) - if encoded == nil then return end - local ok, err = noctalia.writeFile(path, encoded) - if not ok then - noctalia.notifyError(tr("title"), err or "Could not save preferences") - end -end - -local function applySnapshot(value) - snapshot = type(value) == "table" and value or nil - if snapshot == nil then - bindings = {} - parseWarnings = {} - currentCompositor = "" - loading = true - refreshing = false - panelError = nil - refreshError = nil - return - end - - bindings = type(snapshot.bindings) == "table" and snapshot.bindings or {} - parseWarnings = type(snapshot.warnings) == "table" and snapshot.warnings or {} - currentCompositor = type(snapshot.compositor) == "string" and snapshot.compositor or "" - refreshing = snapshot.refreshing == true - loading = (snapshot.status == "loading" or snapshot.status == "idle") and #bindings == 0 - panelError = snapshot.status == "error" and (snapshot.error or tr("missing_config")) or nil - refreshError = snapshot.status == "ready" and type(snapshot.error) == "string" - and snapshot.error ~= "" and snapshot.error or nil -end - -refresh = function() - local current = tonumber(noctalia.state.get(REFRESH_REQUEST_KEY)) or 0 - refreshing = true - noctalia.state.set(REFRESH_REQUEST_KEY, current + 1) - render() -end - - -local COLOR_BUCKETS = { - { id = "super", label = "Super", background = "primary", text = "on_primary", picker = "#6750A4" }, - { id = "ctrl", label = "Ctrl", background = "secondary", text = "on_secondary", picker = "#625B71" }, - { id = "shift", label = "Shift", background = "tertiary", text = "on_tertiary", picker = "#7D5260" }, - { id = "alt", label = "Alt", background = "error", text = "on_error", picker = "#B3261E" }, - { id = "xf86", label = "Media", background = "secondary/0.25", text = "secondary", picker = "#E8DEF8" }, - { id = "number", label = "Numbers", background = "tertiary/0.25", text = "tertiary", picker = "#FFD8E4" }, - { id = "mouse", label = "Mouse", background = "error/0.2", text = "error", picker = "#F9DEDC" }, - { id = "print", label = "Print", background = "primary/0.25", text = "primary", picker = "#EADDFF" }, - { id = "default", label = "Other keys", background = "surface_variant", text = "on_surface_variant", picker = "#E7E0EC" }, - { id = "description", label = "Descriptions", background = "surface", text = "on_surface", picker = "#1D1B20" }, -} - -local COLOR_BY_ID = {} -for _, bucket in ipairs(COLOR_BUCKETS) do COLOR_BY_ID[bucket.id] = bucket end - -local function colorValue(bucketId, property) - local custom = preferences.colors[bucketId] - if custom ~= nil and custom[property] ~= nil then - return custom[property] - end - local bucket = COLOR_BY_ID[bucketId] or COLOR_BY_ID.default - return bucket[property] -end - -local function bucketForKey(key) - local value = lower(key) - if startsWith(value, "xf86") then return "xf86" end - if value:match("^%d$") then return "number" end - if startsWith(value, "mouse") or startsWith(value, "btn_") or value:find("wheel", 1, true) ~= nil then return "mouse" end - if value == "print" or value == "prior" or value == "next" then return "print" end - return "default" -end - -local function bucketForModifier(modifier) - local value = lower(modifier) - if value == "super" or value == "mod4" or value == "logo" then return "super" end - if value == "ctrl" or value == "control" then return "ctrl" end - if value == "shift" then return "shift" end - if value == "alt" or value == "mod1" then return "alt" end - return "default" -end - -local function isHexColor(value) - if type(value) ~= "string" then return false end - return value:match("^#%x%x%x%x%x%x$") ~= nil or value:match("^#%x%x%x%x%x%x%x%x$") ~= nil -end - -local function setColor(bucketId, property, value) - preferences.colors[bucketId] = preferences.colors[bucketId] or {} - preferences.colors[bucketId][property] = value - savePreferences() - render() -end - -local function chooseColor(bucketId, property) - local bucket = COLOR_BY_ID[bucketId] or COLOR_BY_ID.default - local current = colorValue(bucketId, property) - local initial = isHexColor(current) and current:sub(1, 7) or bucket.picker - noctalia.openColorPicker(initial, function(color) - if color ~= nil then - setColor(bucketId, property, color) - end - end) -end - -local function pasteColor(bucketId, property) - local value = trim(noctalia.clipboardText() or "") - if isHexColor(value) then - setColor(bucketId, property, string.upper(value)) - else - noctalia.notifyError(tr("title"), "Clipboard does not contain a #RRGGBB color") - end -end - -local function bindingContentOpacity(hidden) - return hidden and 0.45 or 1 -end - -local function keyPill(text, bucketId, key) - return ui.column({ - key = key, - fill = colorValue(bucketId, "background"), - radius = 4, - paddingH = 7, - paddingV = 3, - align = "center", - }, { - ui.label({ text = text, color = colorValue(bucketId, "text"), fontSize = 12, fontWeight = "bold", maxLines = 1 }), - }) -end - -local function authoredDescription(binding) - return preferences.descriptions[binding.id] or binding.description or "" -end - -local function titleCase(value) - value = trim(value):gsub("[_%-]+", " ") - return (value:gsub("(%a)([%w']*)", function(first, rest) - return string.upper(first) .. lower(rest) - end)) -end - -local function friendlySpawn(commandLine) - local value = lower(trim(commandLine)) - if value:find("noctalia msg panel-toggle launcher", 1, true) ~= nil then return "Application Launcher" end - if value:find("noctalia msg panel-toggle session", 1, true) ~= nil then return "Power Menu" end - if value:find("noctalia msg session lock", 1, true) ~= nil then return "Lock Screen" end - if value:find("playerctl play-pause", 1, true) ~= nil then return "Play / Pause" end - if value:find("playerctl next", 1, true) ~= nil then return "Next Track" end - if value:find("playerctl previous", 1, true) ~= nil then return "Previous Track" end - if value:find("playerctl stop", 1, true) ~= nil then return "Stop Playback" end - if value:find("wpctl set-volume", 1, true) ~= nil then - return value:find("+", 1, true) ~= nil and "Volume Up" or "Volume Down" - end - if value:find("wpctl set-mute", 1, true) ~= nil then - return value:find("source", 1, true) ~= nil and "Toggle Microphone Mute" or "Toggle Mute" - end - if value:find("brightnessctl", 1, true) ~= nil then - return value:find("+", 1, true) ~= nil and "Brightness Up" or "Brightness Down" - end - - local program = trim(commandLine):match("^([^%s]+)") or "Application" - program = program:match("([^/]+)$") or program - local programs = { - alacritty = "Terminal", - chromium = "Browser", - dolphin = "File Manager", - firefox = "Browser", - foot = "Terminal", - kitty = "Terminal", - nautilus = "File Manager", - thunar = "File Manager", - } - return programs[lower(program)] or ("Launch " .. titleCase(program)) -end - -local ACTION_LABELS = { - close_window = "Close Window", - killactive = "Close Window", - killclient = "Close Window", - minimized = "Minimize Window", - quit = "Exit Compositor", - reload_config = "Reload Configuration", - restore_minimized = "Restore Minimized Window", - switch_proportion_preset = "Cycle Width Preset", - toggle_named_scratchpad = "Toggle Scratchpad", - togglefakefullscreen = "Toggle Fake Fullscreen", - togglefloating = "Toggle Floating", - togglefullscreen = "Toggle Fullscreen", - togglegaps = "Toggle Gaps", - toggleglobal = "Toggle Global Window", - togglemaximizescreen = "Toggle Maximize", - toggleoverlay = "Toggle Overlay", - toggleoverview = "Workspace Overview", -} - -local function friendlyAction(binding) - local action = trim(binding.action) - local command, arguments = action:match("^(%S+)%s*(.*)$") - command = lower(command or ""):gsub("%-", "_") - arguments = trim(arguments or "") - if command == "spawn" or command == "spawn_shell" or command == "exec" then - return friendlySpawn(arguments) - end - if ACTION_LABELS[command] ~= nil then return ACTION_LABELS[command] end - - local argument = arguments:match("^([^,%s]+)") or "" - local direction = argument ~= "" and titleCase(argument) or "" - if command == "focusdir" or command == "movefocus" then return "Focus " .. direction end - if command == "exchange_client" or command == "movewindow" then return "Move Window " .. direction end - if command == "focusmon" then return "Focus Monitor " .. direction end - if command == "tagmon" then return "Move to Monitor " .. direction end - if command == "scroller_stack" then return "Move Within Stack " .. direction end - if command == "view" or command == "workspace" then return "Workspace " .. argument end - if command == "tag" or command == "movetoworkspace" then return "Send to Workspace " .. argument end - if command == "viewtoleft" or command == "viewtoleft_have_client" then return "Previous Workspace" end - if command == "viewtoright" or command == "viewtoright_have_client" then return "Next Workspace" end - if command == "setlayout" then return titleCase(argument) .. " Layout" end - if command == "set_proportion" then return "Set Window Proportion " .. argument end - if command == "setmfact" then return "Set Layout Size " .. argument end - if command == "moveresize" then - return arguments:find("curresize", 1, true) ~= nil and "Resize Window with Mouse" or "Move Window with Mouse" - end - return titleCase(action) -end - -local function effectiveDescription(binding) - local description = authoredDescription(binding) - return description ~= "" and description or friendlyAction(binding) -end - -local function effectiveCategory(binding) - if binding.baseCategory ~= nil and binding.baseCategory ~= "" then - return binding.baseCategory - end - if authoredDescription(binding) == "" and binding.compositor ~= "niri" then - return tr("without_description") - end - return binding.compositor == "niri" and niriCategoryFor(binding.action) or tr("other") -end - -local function bindingMatches(binding) - local needle = lower(trim(query)) - if needle == "" then return true end - local haystack = lower(table.concat({ - table.concat(binding.modifiers, " "), - binding.key, - formatKey(binding.key), - effectiveDescription(binding), - binding.action, - effectiveCategory(binding), - }, " ")) - return haystack:find(needle, 1, true) ~= nil -end - -local CATEGORY_PRIORITIES = { - { "applications", 10 }, - { "system", 20 }, - { "window management", 30 }, - { "focus", 40 }, - { "navigation", 40 }, - { "moving windows", 45 }, - { "workspace", 50 }, - { "tags", 50 }, - { "monitor", 50 }, - { "media", 60 }, - { "brightness", 60 }, - { "layout", 70 }, - { "mouse", 80 }, - { "touchpad", 90 }, - { "gesture", 90 }, - { "integration", 100 }, - { lower(tr("without_description")), 900 }, - { lower(tr("other")), 950 }, -} - -local function categoryPriority(name) - local value = lower(name) - for _, entry in ipairs(CATEGORY_PRIORITIES) do - if value:find(entry[1], 1, true) ~= nil then return entry[2] end - end - return 500 -end - -local function bindingAvailableInView(hidden, undescribed, managing, showUndescribed) - if managing then return true end - return not hidden and (showUndescribed or not undescribed) -end - -local function hiddenBindingCount(bindingList, hiddenPreferences) - local currentIds = {} - for _, binding in ipairs(bindingList or {}) do - currentIds[binding.id] = true - end - local count = 0 - for id in pairs(currentIds) do - if hiddenPreferences[id] == true then count += 1 end - end - return count -end - -local function restoreHiddenBindings(bindingList, hiddenPreferences) - for _, binding in ipairs(bindingList or {}) do - hiddenPreferences[binding.id] = nil - end -end - -local function visibleGroups() - local showUndescribed = noctalia.getConfig("show_undescribed") ~= false - local managing = view == "edit" - local groups = {} - local byName = {} - for index, binding in ipairs(bindings) do - local hidden = preferences.hidden[binding.id] == true - local undescribed = authoredDescription(binding) == "" and binding.compositor ~= "niri" - if bindingAvailableInView(hidden, undescribed, managing, showUndescribed) and bindingMatches(binding) then - local category = effectiveCategory(binding) - local group = byName[category] - if group == nil then - group = { name = category, bindings = {}, sourceOrder = #groups + 1, order = 0, weight = 1 } - byName[category] = group - table.insert(groups, group) - end - binding.displayIndex = index - table.insert(group.bindings, binding) - group.weight += 1 - end - end - table.sort(groups, function(a, b) - local left = categoryPriority(a.name) - local right = categoryPriority(b.name) - if left ~= right then return left < right end - return a.sourceOrder < b.sourceOrder - end) - for index, group in ipairs(groups) do group.order = index end - return groups -end - -local function columnCount() - local configured = math.clamp(tonumber(noctalia.getConfig("columns")) or 3, 1, 4) - local outputWidth = 1920 - local focused = noctalia.focusedOutputName() - for _, output in ipairs(noctalia.outputs()) do - if output.name == focused or output.focused then - outputWidth = output.width / math.max(output.scale or 1, 1) - break - end - end - local responsive = outputWidth < 760 and 1 or (outputWidth < 1100 and 2 or (outputWidth < 1500 and 3 or 4)) - return math.min(configured, responsive) -end - -local function balancedColumns(groups, count) - local columns = {} - for index = 1, count do columns[index] = { groups = {}, weight = 0 } end - for _, group in ipairs(groups) do - local target = 1 - for index = 2, count do - if columns[index].weight < columns[target].weight then target = index end - end - table.insert(columns[target].groups, group) - columns[target].weight += group.weight - end - for _, column in ipairs(columns) do - table.sort(column.groups, function(a, b) return a.order < b.order end) - end - return columns -end - -local function saveCustomDescription(binding, value) - value = trim(value) - if value == "" or value == binding.description then - preferences.descriptions[binding.id] = nil - else - preferences.descriptions[binding.id] = value - end - editingId = nil - editDraft = "" - savePreferences() - render() -end - -local function bindingRow(binding, occurrence) - local hidden = preferences.hidden[binding.id] == true - local contentOpacity = bindingContentOpacity(hidden) - local pills = {} - for index, modifier in ipairs(binding.modifiers) do - table.insert(pills, keyPill(modifier == "SUPER" and "Super" or modifier:sub(1, 1) .. lower(modifier:sub(2)), bucketForModifier(modifier), "mod-" .. index)) - end - table.insert(pills, keyPill(formatKey(binding.key), bucketForKey(binding.key), "key")) - - local description = effectiveDescription(binding) - local identity = binding.id .. "#" .. occurrence - if view == "edit" and editingId == identity then - local visibilityChanged = function() - if hidden then - preferences.hidden[binding.id] = nil - else - preferences.hidden[binding.id] = true - end - savePreferences() - render() - end - local inputChanged = function(value) editDraft = value end - local submit = function(value) saveCustomDescription(binding, value) end - local save = function() saveCustomDescription(binding, editDraft) end - local cancel = function() - editingId = nil - editDraft = "" - render() - end - return ui.row({ key = "edit-" .. identity, gap = 6, align = "center", paddingV = 0 }, { - ui.row({ minWidth = 188, gap = 3, align = "center", opacity = contentOpacity }, pills), - ui.input({ key = "description-" .. identity, value = editDraft, placeholder = tr("edit_description"), focus = true, controlSize = "sm", flexGrow = 1, onChange = inputChanged, onSubmit = submit }), - ui.button({ glyph = "check", width = 22, height = 22, glyphSize = 12, variant = "ghost", controlSize = "sm", tooltip = tr("save"), onClick = save }), - ui.button({ glyph = "close", width = 22, height = 22, glyphSize = 12, variant = "ghost", controlSize = "sm", tooltip = tr("cancel"), onClick = cancel }), - ui.button({ glyph = hidden and "eye-off" or "eye", width = 22, height = 22, glyphSize = 13, variant = "ghost", controlSize = "sm", selected = hidden, tooltip = hidden and tr("show_binding") or tr("hide_binding"), onClick = visibilityChanged }), - }) - end - - local labels = { - ui.label({ - text = description, - color = colorValue("description", "text"), - fontWeight = "bold", - fontSize = 13, - maxLines = 1, - }), - } - if noctalia.getConfig("show_actions") ~= false and description ~= "" and binding.action ~= "" then - table.insert(labels, ui.label({ text = binding.action, color = "on_surface_variant", fontSize = 11, maxLines = 1 })) - end - local row = { - ui.row({ minWidth = 188, gap = 3, align = "center", opacity = contentOpacity }, pills), - ui.column({ flexGrow = 1, gap = 0, opacity = contentOpacity }, labels), - } - if view == "edit" then - local edit = function() - editingId = identity - editDraft = description - render() - end - local visibilityChanged = function() - if hidden then - preferences.hidden[binding.id] = nil - else - preferences.hidden[binding.id] = true - end - savePreferences() - render() - end - table.insert(row, ui.button({ glyph = "pencil", width = 22, height = 22, glyphSize = 12, variant = "ghost", controlSize = "sm", tooltip = tr("edit_description"), onClick = edit })) - table.insert(row, ui.button({ glyph = hidden and "eye-off" or "eye", width = 22, height = 22, glyphSize = 13, variant = "ghost", controlSize = "sm", selected = hidden, tooltip = hidden and tr("show_binding") or tr("hide_binding"), onClick = visibilityChanged })) - end - return ui.row({ key = identity, gap = 6, align = "center", paddingV = 0 }, row) -end - -local function categoryNode(group) - local children = { - ui.label({ text = string.upper(group.name), color = "primary", fontSize = 14, fontWeight = "bold" }), - ui.separator({ color = "outline", thickness = 1, spacing = 1 }), - } - local occurrences = {} - for _, binding in ipairs(group.bindings) do - occurrences[binding.id] = (occurrences[binding.id] or 0) + 1 - table.insert(children, bindingRow(binding, occurrences[binding.id])) - end - return ui.column({ key = "category-" .. group.name, gap = 1, paddingV = 3, align = "stretch" }, children) -end - -local function bindingsBody() - local groups = visibleGroups() - if #groups == 0 then - return ui.column({ flexGrow = 1, align = "center", justify = "center" }, { - ui.glyph({ name = "search-off", size = 32, color = "on_surface_variant" }), - ui.label({ text = tr("no_results"), color = "on_surface_variant" }), - }) - end - local columns = balancedColumns(groups, columnCount()) - local columnNodes = {} - for index, column in ipairs(columns) do - local categoryNodes = {} - for _, group in ipairs(column.groups) do table.insert(categoryNodes, categoryNode(group)) end - table.insert(columnNodes, ui.column({ key = "column-" .. index, flexGrow = 1, gap = 8, align = "stretch" }, categoryNodes)) - end - return ui.scroll({ flexGrow = 1, gap = 0 }, { - ui.row({ key = "binding-columns", gap = 22, align = "stretch" }, columnNodes), - }) -end - -local function hiddenCount() - return hiddenBindingCount(bindings, preferences.hidden) -end - -local function colorControl(bucket, property) - local choose = function() chooseColor(bucket.id, property) end - local paste = function() pasteColor(bucket.id, property) end - local reset = function() - if preferences.colors[bucket.id] ~= nil then - preferences.colors[bucket.id][property] = nil - if next(preferences.colors[bucket.id]) == nil then preferences.colors[bucket.id] = nil end - savePreferences() - render() - end - end - return ui.row({ gap = 5, align = "center", flexGrow = 1 }, { - ui.box({ width = 24, height = 24, radius = 5, fill = colorValue(bucket.id, property), border = "outline", borderWidth = 1 }), - ui.button({ text = property == "background" and tr("background") or tr("text"), variant = "ghost", controlSize = "sm", flexGrow = 1, onClick = choose }), - ui.button({ glyph = "clipboard", variant = "ghost", controlSize = "sm", tooltip = tr("paste"), onClick = paste }), - ui.button({ glyph = "restore", variant = "ghost", controlSize = "sm", tooltip = tr("reset"), onClick = reset }), - }) -end - -local function appearanceBody() - local rows = { - ui.label({ text = tr("customize_colors"), color = "on_surface_variant" }), - } - for _, bucket in ipairs(COLOR_BUCKETS) do - table.insert(rows, ui.column({ key = "color-" .. bucket.id, gap = 5, paddingV = 4 }, { - ui.label({ text = bucket.label, fontWeight = "medium" }), - ui.row({ gap = 12, align = "center" }, { - colorControl(bucket, "background"), - colorControl(bucket, "text"), - }), - })) - end - local resetAll = function() - preferences.colors = {} - savePreferences() - render() - end - table.insert(rows, ui.separator({ spacing = 6 })) - table.insert(rows, ui.row({ gap = 8, align = "center" }, { - ui.button({ glyph = "restore", text = tr("reset_colors"), onClick = resetAll }), - })) - return ui.scroll({ flexGrow = 1, gap = 4 }, rows) -end - -local function renderHeader() - local refreshClick = function() refresh() end - local editMode = function() - view = view == "edit" and "bindings" or "edit" - editingId = nil - editDraft = "" - render() - end - local appearance = function() - view = view == "appearance" and "bindings" or "appearance" - editingId = nil - editDraft = "" - render() - end - local title = tr("title") - if currentCompositor ~= "" then - title = (currentCompositor == "mango" and "Mango" or (currentCompositor == "niri" and "Niri" or "Hyprland")) .. " Keymap" - end - local children = { - ui.row({ minWidth = 230, gap = 7, align = "center", flexGrow = 1 }, { - ui.glyph({ name = "keyboard", size = 16, color = "primary" }), - ui.label({ text = title, fontSize = 15, fontWeight = "bold", color = "on_surface" }), - }), - } - if (view == "bindings" or view == "edit") and not loading and panelError == nil then - local searchChanged = function(value) - query = value - editingId = nil - render() - end - local clearSearch = function() - query = "" - searchRevision += 1 - render() - end - table.insert(children, ui.input({ key = "search-" .. searchRevision, value = query, placeholder = tr("search_placeholder"), controlSize = "sm", width = 300, onChange = searchChanged })) - table.insert(children, ui.button({ glyph = "x", width = 26, variant = "ghost", controlSize = "sm", enabled = query ~= "", tooltip = tr("clear"), onClick = clearSearch })) - end - if not loading or #bindings > 0 then - table.insert(children, ui.label({ text = tr("binding_count", { count = #bindings }), color = "on_surface_variant", fontSize = 12 })) - end - if view == "edit" then - local count = hiddenCount() - local restoreHidden = function() - restoreHiddenBindings(bindings, preferences.hidden) - savePreferences() - render() - end - table.insert(children, ui.label({ text = tr("hidden_count", { count = count }), color = "on_surface_variant", fontSize = 12 })) - table.insert(children, ui.button({ glyph = "eye", variant = "ghost", controlSize = "sm", enabled = count > 0, tooltip = tr("restore_hidden"), onClick = restoreHidden })) - end - table.insert(children, ui.button({ glyph = "refresh", variant = "ghost", tooltip = tr("refresh"), enabled = not refreshing, onClick = refreshClick })) - table.insert(children, ui.button({ glyph = view == "edit" and "check" or "pencil", variant = "ghost", tooltip = view == "edit" and tr("finish_editing") or tr("edit_bindings"), selected = view == "edit", onClick = editMode })) - table.insert(children, ui.button({ glyph = view == "appearance" and "check" or "palette", variant = "ghost", tooltip = view == "appearance" and tr("back") or tr("appearance"), selected = view == "appearance", onClick = appearance })) - return ui.row({ align = "center", justify = "space_between", gap = 7 }, children) -end - -render = function() - if not panelOpen then return end - local contentState = "bindings" - if view == "appearance" then - contentState = "appearance" - elseif loading then - contentState = "loading" - elseif panelError ~= nil then - contentState = "error" - elseif view == "edit" then - contentState = "edit" - end - local children = { renderHeader() } - if view == "appearance" then - table.insert(children, appearanceBody()) - elseif loading then - table.insert(children, ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 10 }, { - ui.glyph({ name = "loader", size = 32, color = "primary" }), - ui.label({ text = tr("loading"), color = "on_surface_variant" }), - })) - elseif panelError ~= nil then - table.insert(children, ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 10 }, { - ui.glyph({ name = "alert-triangle", size = 32, color = "error" }), - ui.label({ text = panelError, color = "error", textAlign = "center", maxWidth = 640 }), - })) - else - if refreshError ~= nil then - table.insert(children, ui.label({ text = refreshError, color = "error", fontSize = 11, maxLines = 2 })) - end - if #parseWarnings > 0 then - table.insert(children, ui.label({ text = tr("source_warning") .. " " .. table.concat(parseWarnings, " | "), color = "error", fontSize = 11, maxLines = 2 })) - end - table.insert(children, bindingsBody()) - end - panel.render(ui.column({ key = "keybind-cheatsheet-" .. contentState, flexGrow = 1, gap = 8, align = "stretch" }, children)) -end - -noctalia.state.watch(SNAPSHOT_KEY, function(value) - applySnapshot(value) - if panelOpen then render() end -end) - -local function releasePanelState(clearModel) - panelOpen = false - view = "bindings" - query = "" - editingId = nil - editDraft = "" - if clearModel then - bindings = {} - parseWarnings = {} - currentCompositor = "" - loading = false - refreshing = false - panelError = nil - refreshError = nil - snapshot = nil - end -end - -function onOpen(_context) - panelOpen = true - view = "bindings" - query = "" - searchRevision += 1 - editingId = nil - editDraft = "" - loadPreferences() - applySnapshot(noctalia.state.get(SNAPSHOT_KEY)) - render() -end - -function onClose() - releasePanelState(false) -end - -function onExit(_signal) - releasePanelState(true) -end - -function onConfigChanged() - if panelOpen then render() end -end - -function onIpc(event, _payload) - if event == "toggle" then - if panelOpen then panel.close() else noctalia.togglePanel(PANEL_ID) end - elseif event == "refresh" then - refresh() - elseif event == "self-test" then - local current = tonumber(noctalia.state.get(SELF_TEST_REQUEST_KEY)) or 0 - noctalia.state.set(SELF_TEST_REQUEST_KEY, current + 1) - end -end - -local function lifecycleState() - return { - panelOpen = panelOpen, - loading = loading, - refreshing = refreshing, - bindingCount = #bindings, - snapshotLoaded = snapshot ~= nil, - editDraft = editDraft, - } -end - -return { - bindingAvailableInView = bindingAvailableInView, - bindingContentOpacity = bindingContentOpacity, - hiddenBindingCount = hiddenBindingCount, - restoreHiddenBindings = restoreHiddenBindings, - categoryPriority = categoryPriority, - friendlyAction = friendlyAction, - applySnapshot = applySnapshot, - onOpen = onOpen, - onClose = onClose, - onExit = onExit, - onIpc = onIpc, - lifecycleState = lifecycleState, -} diff --git a/keybind-cheatsheet/plugin.toml b/keybind-cheatsheet/plugin.toml deleted file mode 100644 index 6d7b69c..0000000 --- a/keybind-cheatsheet/plugin.toml +++ /dev/null @@ -1,111 +0,0 @@ -id = "kenn/keybind-cheatsheet" -name = "Keybind Cheatsheet" -version = "0.2.1" -plugin_api = 9 -author = "kenn" -license = "MIT" -dependencies = ["hyprctl"] -tags = ["bar", "panel", "utility", "system", "hyprland", "mangowc", "niri"] -icon = "keyboard" -description = "Searchable keybindings for Mango, Hyprland, and Niri." - -[[service]] -id = "data" -entry = "service.luau" - -[[setting]] -key = "compositor" -type = "select" -label_key = "settings.compositor.label" -description_key = "settings.compositor.description" -default = "auto" -options = [ - { value = "auto", label_key = "settings.compositor.options.auto" }, - { value = "mango", label_key = "settings.compositor.options.mango" }, - { value = "hyprland", label_key = "settings.compositor.options.hyprland" }, - { value = "niri", label_key = "settings.compositor.options.niri" }, -] - -[[setting]] -key = "mango_config" -type = "file" -label_key = "settings.mango_config.label" -description_key = "settings.mango_config.description" -default = "~/.config/mango/config.conf" - -[[setting]] -key = "hyprland_config" -type = "file" -label_key = "settings.hyprland_config.label" -description_key = "settings.hyprland_config.description" -default = "~/.config/hypr/hyprland.conf" - -[[setting]] -key = "hyprland_lua_config" -type = "file" -label_key = "settings.hyprland_lua_config.label" -description_key = "settings.hyprland_lua_config.description" -default = "~/.config/hypr/hyprland.lua" - -[[setting]] -key = "hyprland_parser" -type = "select" -label_key = "settings.hyprland_parser.label" -description_key = "settings.hyprland_parser.description" -default = "auto" -options = [ - { value = "auto", label_key = "settings.hyprland_parser.options.auto" }, - { value = "lua", label_key = "settings.hyprland_parser.options.lua" }, - { value = "conf", label_key = "settings.hyprland_parser.options.conf" }, -] - -[[setting]] -key = "niri_config" -type = "file" -label_key = "settings.niri_config.label" -description_key = "settings.niri_config.description" -default = "~/.config/niri/config.kdl" - -[[setting]] -key = "columns" -type = "int" -label_key = "settings.columns.label" -description_key = "settings.columns.description" -default = 3 -min = 1 -max = 4 -step = 1 - -[[setting]] -key = "show_undescribed" -type = "bool" -label_key = "settings.show_undescribed.label" -description_key = "settings.show_undescribed.description" -default = true - -[[setting]] -key = "show_actions" -type = "bool" -label_key = "settings.show_actions.label" -description_key = "settings.show_actions.description" -default = false - -[[panel]] -id = "cheatsheet" -entry = "panel.luau" -width = 1500 -height = 760 -placement = "floating" -position = "center" -open_near_click = true - -[[widget]] -id = "keybinds" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.glyph.label" - description_key = "settings.glyph.description" - default = "keyboard" diff --git a/keybind-cheatsheet/service.luau b/keybind-cheatsheet/service.luau deleted file mode 100644 index a490342..0000000 --- a/keybind-cheatsheet/service.luau +++ /dev/null @@ -1,1395 +0,0 @@ ---!nonstrict --- Cache-first keybind data service for Mango, Hyprland, and Niri. --- --- The active configuration is parsed once during script startup and only --- again after a relevant settings change or explicit refresh request. There --- is no update interval, filesystem watcher, polling loop, or persistent --- subprocess. - -local noctalia = noctalia -if noctalia == nil then - local host = require("./tests/host_mock") - noctalia = host.noctalia -end - -local SNAPSHOT_KEY = "keybind-cheatsheet.snapshot" -local REFRESH_REQUEST_KEY = "keybind-cheatsheet.refresh-request" -local SELF_TEST_REQUEST_KEY = "keybind-cheatsheet.self-test-request" -local MAX_PARSE_DEPTH = 32 -local MAX_PARSE_FILES = 256 -local BINDINGS_CACHE_FILE = "bindings-cache.json" -local CACHE_SCHEMA = 1 - -local refreshing = false -local refreshQueued = false -local refreshGeneration = 0 -local lastGood = nil - -local function tr(key, values) - return noctalia.tr(key, values) -end - -local function trim(value) - local result = (value or ""):gsub("^%s+", ""):gsub("%s+$", "") - return result -end - -local function lower(value) - return string.lower(value or "") -end - -local function startsWith(value, prefix) - return value:sub(1, #prefix) == prefix -end - -local function configString(key, fallback) - local value = noctalia.getConfig(key) - if type(value) ~= "string" or trim(value) == "" then - return fallback - end - return trim(value) -end - -local function pathDirname(path) - local clean = (path or ""):gsub("/+$", "") - local parent = clean:match("^(.*)/[^/]*$") - if parent == nil or parent == "" then - return clean:sub(1, 1) == "/" and "/" or "." - end - return parent -end - -local function pathJoin(base, child) - if child == nil or child == "" then - return base - end - if child:sub(1, 1) == "/" then - return child - end - if base == "/" then - return "/" .. child - end - return (base:gsub("/+$", "")) .. "/" .. child -end - -local function normalizePath(path) - local absolute = path:sub(1, 1) == "/" - local parts = {} - for part in path:gmatch("[^/]+") do - if part == ".." then - if #parts > 0 and parts[#parts] ~= ".." then - table.remove(parts) - elseif not absolute then - table.insert(parts, part) - end - elseif part ~= "." and part ~= "" then - table.insert(parts, part) - end - end - local result = table.concat(parts, "/") - if absolute then - result = "/" .. result - end - if result == "" then - return absolute and "/" or "." - end - return result -end - -local function expandEnvironment(path) - local expanded = path:gsub("%${([%w_]+)}", function(name) - return noctalia.getenv(name) or "${" .. name .. "}" - end) - expanded = expanded:gsub("%$HOME", noctalia.getenv("HOME") or "~") - return noctalia.expandPath(expanded) -end - -local function unquote(value) - local result = trim(value) - if #result >= 2 then - local first = result:sub(1, 1) - local last = result:sub(-1) - if (first == "\"" and last == "\"") or (first == "'" and last == "'") then - result = result:sub(2, -2) - end - end - return result -end - -local function resolvePath(value, includingFile) - local path = expandEnvironment(unquote(value)) - if path:sub(1, 1) ~= "/" then - path = pathJoin(pathDirname(includingFile), path) - end - return normalizePath(path) -end - -local function hasGlob(path) - return path:find("*", 1, true) ~= nil - or path:find("?", 1, true) ~= nil - or path:find("[", 1, true) ~= nil -end - -local LUA_PATTERN_MAGIC = { - ["^"] = true, - ["$"] = true, - ["("] = true, - [")"] = true, - ["%"] = true, - ["."] = true, - ["+"] = true, - ["-"] = true, - ["]"] = true, -} - -local function globPattern(segment) - local result = { "^" } - local index = 1 - while index <= #segment do - local char = segment:sub(index, index) - if char == "*" then - table.insert(result, ".*") - elseif char == "?" then - table.insert(result, ".") - elseif char == "[" then - local closing = segment:find("]", index + 1, true) - if closing ~= nil then - table.insert(result, segment:sub(index, closing)) - index = closing - else - table.insert(result, "%[") - end - elseif LUA_PATTERN_MAGIC[char] then - table.insert(result, "%" .. char) - else - table.insert(result, char) - end - index += 1 - end - table.insert(result, "$") - return table.concat(result) -end - -local function expandGlob(path, context) - if not hasGlob(path) then - -- Read explicit paths directly. A separate existence check can race with - -- atomic Home Manager symlink replacement and suppress a readable file. - return { path } - end - - local candidates = { path:sub(1, 1) == "/" and "/" or "." } - for segment in path:gmatch("[^/]+") do - local nextCandidates = {} - if hasGlob(segment) then - local pattern = globPattern(segment) - for _, base in ipairs(candidates) do - local entries = noctalia.listDir(base) - if entries ~= nil then - table.sort(entries) - for _, name in ipairs(entries) do - if name:match(pattern) then - table.insert(nextCandidates, normalizePath(pathJoin(base, name))) - end - end - end - end - else - for _, base in ipairs(candidates) do - table.insert(nextCandidates, normalizePath(pathJoin(base, segment))) - end - end - candidates = nextCandidates - end - - local files = {} - for _, candidate in ipairs(candidates) do - local info = noctalia.fileInfo(candidate) - if info ~= nil and not info.isDir then - table.insert(files, candidate) - end - end - table.sort(files) - if context ~= nil and hasGlob(path) then - local snapshot = {} - for _, file in ipairs(files) do table.insert(snapshot, file) end - table.insert(context.globs, { pattern = path, files = snapshot }) - end - return files -end - -local function extractTrailingDescription(line) - local ending = line:sub(-1) - local startIndex, description - if ending == "\"" then - startIndex, _, description = line:find("#%s*\"([^\"]*)\"%s*$") - elseif ending == "'" then - startIndex, _, description = line:find("#%s*'([^']*)'%s*$") - end - if startIndex == nil then - return line, "" - end - return trim(line:sub(1, startIndex - 1)), trim(description) -end - -local function splitCsv(value, maximumParts) - if value:find("\"", 1, true) == nil and value:find("'", 1, true) == nil - and value:find("\\", 1, true) == nil then - local parts = {} - local startIndex = 1 - while maximumParts == nil or #parts < maximumParts - 1 do - local comma = value:find(",", startIndex, true) - if comma == nil then break end - table.insert(parts, trim(value:sub(startIndex, comma - 1))) - startIndex = comma + 1 - end - table.insert(parts, trim(value:sub(startIndex))) - return parts - end - - local parts = {} - local current = {} - local quote = nil - local escaped = false - local index = 1 - while index <= #value do - local char = value:sub(index, index) - if escaped then - table.insert(current, char) - escaped = false - elseif char == "\\" and quote ~= nil then - table.insert(current, char) - escaped = true - elseif quote ~= nil then - table.insert(current, char) - if char == quote then - quote = nil - end - elseif char == "\"" or char == "'" then - quote = char - table.insert(current, char) - elseif char == "," and (maximumParts == nil or #parts < maximumParts - 1) then - table.insert(parts, trim(table.concat(current))) - current = {} - else - table.insert(current, char) - end - index += 1 - end - table.insert(parts, trim(table.concat(current))) - return parts -end - -local MODIFIER_ORDER = { "SUPER", "CTRL", "SHIFT", "ALT", "MOD2", "MOD3", "MOD5" } -local KNOWN_MODIFIERS = { SUPER = true, CTRL = true, SHIFT = true, ALT = true, MOD2 = true, MOD3 = true, MOD5 = true } -local MODIFIER_ALIASES = { - LOGO = "SUPER", - WIN = "SUPER", - MOD4 = "SUPER", - CONTROL = "CTRL", - MOD1 = "ALT", -} - -local function expandHyprVariables(value, variables) - local previous = value - for _ = 1, 8 do - local expanded = previous:gsub("%$([%w_]+)", function(name) - return variables[name] or "$" .. name - end) - if expanded == previous then - break - end - previous = expanded - end - return previous -end - -local function normalizeModifiers(value, variables) - local raw = expandHyprVariables(value or "", variables or {}) - raw = raw:gsub("%+", " "):gsub("|", " "):gsub(",", " ") - local present = {} - local unknown = {} - for token in raw:gmatch("[^%s]+") do - local upper = string.upper(token) - upper = MODIFIER_ALIASES[upper] or upper - if upper ~= "NONE" and upper ~= "" then - if KNOWN_MODIFIERS[upper] then - present[upper] = true - elseif not present[upper] then - present[upper] = true - table.insert(unknown, upper) - end - end - end - local result = {} - for _, name in ipairs(MODIFIER_ORDER) do - if present[name] then - table.insert(result, name) - end - end - for _, name in ipairs(unknown) do - table.insert(result, name) - end - return result -end - -local function bindingIdentity(binding) - return table.concat({ - binding.compositor or "", - binding.bindingType or "", - table.concat(binding.modifiers or {}, "+"), - binding.key or "", - binding.action or "", - binding.submap or "", - }, "|") -end - -local function addBinding(target, binding) - binding.description = trim(binding.description) - binding.category = trim(binding.category) - binding.baseCategory = binding.category - binding.action = trim(binding.action) - binding.key = trim(binding.key) - binding.modifiers = binding.modifiers or {} - binding.id = bindingIdentity(binding) - table.insert(target, binding) -end - -local CATEGORY_SMALL_WORDS = { - ["and"] = true, - ["for"] = true, - of = true, - the = true, - to = true, -} - -local function mangoCategoryFromComment(line) - if not startsWith(line, "#") or startsWith(line, "#\"") or startsWith(line, "#'") then - return nil - end - local heading = trim(line:gsub("^#+%s*", "")) - if heading == "" or heading:match("^[%-%=_*]+$") ~= nil then return nil end - - local explicit = heading:match("^[Cc]ategory%s*:%s*(.+)$") - if explicit ~= nil then return trim(explicit) end - heading = trim(heading:gsub("^%d+%.%s*", "")) - - if #heading > 64 or lower(heading):match("^bind%s*=") ~= nil then return nil end - if heading:find("=", 1, true) ~= nil or heading:find(":", 1, true) ~= nil - or heading:find(" + ", 1, true) ~= nil then return nil end - - local wordCount = 0 - for token in heading:gmatch("%S+") do - wordCount += 1 - local word = token:gsub("^[^%a]+", ""):gsub("[^%a]+$", "") - local lowered = lower(word) - if word ~= "" and not CATEGORY_SMALL_WORDS[lowered] - and word:sub(1, 1) ~= string.upper(word:sub(1, 1)) then - return nil - end - end - if wordCount == 0 or wordCount > 7 then return nil end - return heading -end - -local function parseMangoContent(content, sourceFile, context) - local hasBindings = content:find("bind", 1, true) ~= nil - local hasSources = content:find("source", 1, true) ~= nil - if not hasBindings and not hasSources then return {} end - - local category = "" - local includes = {} - local lineNumber = 0 - for rawLine in (content .. "\n"):gmatch("(.-)\r?\n") do - lineNumber += 1 - local line = trim(rawLine) - if line ~= "" then - if startsWith(line, "source") then - local optionalPath = line:match("^source%-optional%s*=%s*(.-)%s*$") - local sourcePath = line:match("^source%s*=%s*(.-)%s*$") - if optionalPath ~= nil then - table.insert(includes, { path = optionalPath, optional = true }) - elseif sourcePath ~= nil then - table.insert(includes, { path = expandHyprVariables(sourcePath, context.variables), optional = false }) - end - elseif startsWith(line, "#") then - if hasBindings then - local heading = mangoCategoryFromComment(line) - if heading ~= nil then category = heading end - end - elseif hasBindings and line:find("bind", 1, true) ~= nil then - local clean, description = extractTrailingDescription(line) - local directive, body = clean:match("^([%a]*bind)%s*=%s*(.*)$") - if directive ~= nil then - directive = lower(directive) - local maximum = directive == "gesturebind" and 5 or (directive == "switchbind" and 3 or 4) - local fields = splitCsv(body, maximum) - local modifiers = {} - local key = "" - local command = "" - local parameters = "" - if directive == "switchbind" then - key = fields[1] or "" - command = fields[2] or "" - parameters = fields[3] or "" - elseif directive == "gesturebind" then - modifiers = normalizeModifiers(fields[1], {}) - key = (fields[3] or "") .. "-finger " .. (fields[2] or "") - command = fields[4] or "" - parameters = fields[5] or "" - else - modifiers = normalizeModifiers(fields[1], {}) - key = fields[2] or "" - command = fields[3] or "" - parameters = fields[4] or "" - end - if key ~= "" and command ~= "" then - addBinding(context.bindings, { - compositor = "mango", - bindingType = directive, - modifiers = modifiers, - key = key, - action = trim(command .. " " .. parameters), - description = description, - category = category, - sourceFile = sourceFile, - sourceLine = lineNumber, - }) - end - end - end - end - end - return includes -end - -local function parseHyprContent(content, sourceFile, context) - local category = "" - local includes = {} - local lineNumber = 0 - for rawLine in (content .. "\n"):gmatch("(.-)\r?\n") do - lineNumber += 1 - local line = trim(rawLine) - if line ~= "" then - local variable, value = line:match("^%$([%w_]+)%s*=%s*(.-)%s*$") - local sourcePath = line:match("^source%s*=%s*(.-)%s*$") - local numberedCategory = line:match("^#%s*%d+%.%s*(.-)%s*$") - if variable ~= nil then - context.variables[variable] = value - elseif sourcePath ~= nil then - table.insert(includes, { path = expandHyprVariables(sourcePath, context.variables), optional = false }) - elseif numberedCategory ~= nil and numberedCategory ~= "" then - category = numberedCategory - else - local clean, description = extractTrailingDescription(line) - local directive, body = clean:match("^(bind[%a]*)%s*=%s*(.*)$") - if directive ~= nil then - local fields = splitCsv(body, 4) - local key = fields[2] or "" - local dispatcher = fields[3] or "" - if key ~= "" and dispatcher ~= "" then - addBinding(context.bindings, { - compositor = "hyprland", - bindingType = lower(directive), - modifiers = normalizeModifiers(fields[1], context.variables), - key = key, - action = trim(dispatcher .. " " .. (fields[4] or "")), - description = description, - category = category, - sourceFile = sourceFile, - sourceLine = lineNumber, - }) - end - end - end - end - end - return includes -end - -local function niriTokens(content) - local tokens = {} - local index = 1 - local line = 1 - while index <= #content do - local char = content:sub(index, index) - local nextChar = content:sub(index + 1, index + 1) - if char == "\n" then - line += 1 - index += 1 - elseif char:match("%s") then - index += 1 - elseif char == "/" and nextChar == "/" then - local ending = content:find("\n", index + 2, true) or (#content + 1) - table.insert(tokens, { type = "comment", value = content:sub(index + 2, ending - 1), line = line }) - index = ending - elseif char == "/" and nextChar == "*" then - local ending = content:find("*/", index + 2, true) or (#content - 1) - local value = content:sub(index + 2, ending - 1) - table.insert(tokens, { type = "comment", value = value, line = line }) - local _, newlines = value:gsub("\n", "") - line += newlines - index = ending + 2 - elseif char == "\"" then - local startLine = line - local value = {} - index += 1 - local escaped = false - while index <= #content do - local stringChar = content:sub(index, index) - if escaped then - local replacements = { n = "\n", r = "\r", t = "\t" } - table.insert(value, replacements[stringChar] or stringChar) - escaped = false - elseif stringChar == "\\" then - escaped = true - elseif stringChar == "\"" then - index += 1 - break - else - if stringChar == "\n" then - line += 1 - end - table.insert(value, stringChar) - end - index += 1 - end - table.insert(tokens, { type = "string", value = table.concat(value), line = startLine }) - elseif char == "{" or char == "}" or char == ";" then - table.insert(tokens, { type = char, value = char, line = line }) - index += 1 - else - local start = index - while index <= #content do - char = content:sub(index, index) - nextChar = content:sub(index + 1, index + 1) - if char:match("%s") or char == "\"" or char == "{" or char == "}" or char == ";" - or (char == "/" and (nextChar == "/" or nextChar == "*")) then - break - end - index += 1 - end - table.insert(tokens, { type = "word", value = content:sub(start, index - 1), line = line }) - end - end - return tokens -end - -local function niriActionText(tokens) - local values = {} - for _, token in ipairs(tokens) do - if token.type == "string" then - table.insert(values, token.value) - elseif token.type == "word" then - table.insert(values, token.value) - elseif token.type == ";" then - if #values > 0 then - values[#values] = values[#values] .. ";" - end - end - end - return trim(table.concat(values, " ")) -end - -local function niriCategoryFor(action) - local value = lower(action) - if startsWith(value, "spawn") then return "Applications" end - if startsWith(value, "focus-column-") then return "Column Navigation" end - if startsWith(value, "focus-window-") then return "Window Focus" end - if startsWith(value, "focus-workspace-") then return "Workspace Navigation" end - if startsWith(value, "move-column-") then return "Move Columns" end - if startsWith(value, "move-window-") then return "Move Windows" end - if startsWith(value, "screenshot") then return "Screenshots" end - if startsWith(value, "close-window") or startsWith(value, "fullscreen-window") then return "Window Management" end - if startsWith(value, "power-off-monitors") then return "Power" end - if startsWith(value, "quit") then return "System" end - return "Other" -end - -local function niriHeaderDescription(header) - for index, token in ipairs(header) do - if token.type == "word" then - if token.value == "hotkey-overlay-title=" and header[index + 1] ~= nil and header[index + 1].type == "string" then - return header[index + 1].value - end - local quoted = token.value:match('^hotkey%-overlay%-title="(.*)"$') - if quoted ~= nil then - return quoted - end - end - end - return "" -end - -local function parseNiriContent(content, sourceFile, context) - local includes = {} - for rawLine in (content .. "\n"):gmatch("(.-)\r?\n") do - local includePath = rawLine:match('^%s*include%s+"([^"]+)"') - if includePath ~= nil then - table.insert(includes, { path = includePath, optional = false }) - end - end - - local tokens = niriTokens(content) - local index = 1 - while index <= #tokens do - if tokens[index].type == "word" and tokens[index].value == "binds" - and tokens[index + 1] ~= nil and tokens[index + 1].type == "{" then - index += 2 - local category = "" - while index <= #tokens and tokens[index].type ~= "}" do - local token = tokens[index] - if token.type == "comment" then - local heading = token.value:match('#%s*"([^"]+)"') or token.value:match("#%s*'([^']+)'") - if heading ~= nil then - category = trim(heading) - end - index += 1 - elseif token.type == "word" then - local hotkey = token.value - local sourceLine = token.line - local header = {} - index += 1 - while index <= #tokens and tokens[index].type ~= "{" and tokens[index].type ~= "}" do - table.insert(header, tokens[index]) - index += 1 - end - if index <= #tokens and tokens[index].type == "{" then - local depth = 1 - local actionTokens = {} - index += 1 - while index <= #tokens and depth > 0 do - if tokens[index].type == "{" then - depth += 1 - table.insert(actionTokens, tokens[index]) - elseif tokens[index].type == "}" then - depth -= 1 - if depth > 0 then - table.insert(actionTokens, tokens[index]) - end - else - table.insert(actionTokens, tokens[index]) - end - index += 1 - end - local action = niriActionText(actionTokens) - local keyParts = {} - for part in hotkey:gmatch("[^+]+") do - table.insert(keyParts, part) - end - local key = table.remove(keyParts) or hotkey - local description = niriHeaderDescription(header) - addBinding(context.bindings, { - compositor = "niri", - bindingType = "bind", - modifiers = normalizeModifiers(table.concat(keyParts, " "), {}), - key = key, - action = action, - description = description, - category = category ~= "" and category or niriCategoryFor(action), - sourceFile = sourceFile, - sourceLine = sourceLine, - }) - else - index += 1 - end - else - index += 1 - end - end - end - index += 1 - end - return includes -end - -local function walkConfig(rootPath, parser) - local context = { - bindings = {}, - variables = {}, - warnings = {}, - visited = {}, - fileCount = 0, - rootRead = false, - sources = {}, - globs = {}, - } - - local visit - visit = function(pattern, depth, optional, isRoot) - if depth > MAX_PARSE_DEPTH then - table.insert(context.warnings, "Include depth exceeded at " .. pattern) - return - end - if context.fileCount >= MAX_PARSE_FILES then - table.insert(context.warnings, "File limit reached at " .. pattern) - return - end - - local files = expandGlob(pattern, context) - if #files == 0 then - if not optional then - table.insert(context.warnings, "Could not read " .. pattern) - end - return - end - for _, file in ipairs(files) do - file = normalizePath(file) - if not context.visited[file] and context.fileCount < MAX_PARSE_FILES then - context.visited[file] = true - context.fileCount += 1 - local content, err = noctalia.readFile(file) - if content == nil then - if not optional then - table.insert(context.warnings, err or ("Could not read " .. file)) - end - else - local info = noctalia.fileInfo(file) - if info ~= nil then - table.insert(context.sources, { path = file, size = info.size, mtime = info.mtime }) - end - if isRoot then - context.rootRead = true - end - local includes = parser(content, file, context) or {} - for _, include in ipairs(includes) do - local resolved = resolvePath(include.path, file) - visit(resolved, depth + 1, include.optional == true, false) - end - end - end - end - end - - local expandedRoot = normalizePath(expandEnvironment(rootPath)) - visit(expandedRoot, 0, false, true) - return context -end - -local function readConfig(rootPath, parser) - local context = walkConfig(rootPath, parser) - if not context.rootRead then - context = walkConfig(rootPath, parser) - end - if not context.rootRead then - noctalia.log("Keybind cheatsheet could not read " .. expandEnvironment(rootPath) - .. ": " .. table.concat(context.warnings, "; ")) - end - return context -end - -local function scanHyprLuaContent(content, sourceFile, context) - local category = "" - local includes = {} - for rawLine in (content .. "\n"):gmatch("(.-)\r?\n") do - local heading = rawLine:match("^%s*%-%-%s*%d+%.%s*(.-)%s*$") - if heading ~= nil and heading ~= "" then - category = heading - end - - local code = rawLine:gsub("%-%-.*$", "") - local module = code:match('require%s*%(%s*"([^"]+)"') - or code:match("require%s*%(%s*'([^']+)'") - or code:match('require%s+"([^"]+)"') - or code:match("require%s+'([^']+)'") - if module ~= nil then - local modulePath = module:gsub("%.", "/") .. ".lua" - table.insert(includes, { path = pathJoin(context.luaRoot, modulePath), optional = false }) - end - - local description = code:match('description%s*=%s*"([^"]*)"') - or code:match("description%s*=%s*'([^']*)'") - or code:match('desc%s*=%s*"([^"]*)"') - or code:match("desc%s*=%s*'([^']*)'") - if description ~= nil and description ~= "" then - local kind = code:find("%.%.") ~= nil and "prefix" or "exact" - table.insert(context.rules, { kind = kind, value = description, category = category ~= "" and category or "Other" }) - end - end - return includes -end - -local function scanHyprLua(rootPath) - local context = { - bindings = {}, - variables = {}, - warnings = {}, - visited = {}, - fileCount = 0, - rootRead = false, - rules = {}, - luaRoot = pathDirname(normalizePath(expandEnvironment(rootPath))), - sources = {}, - globs = {}, - } - - local visit - visit = function(path, depth, isRoot) - if depth > MAX_PARSE_DEPTH or context.fileCount >= MAX_PARSE_FILES then - table.insert(context.warnings, "Lua include limit reached at " .. path) - return - end - path = normalizePath(path) - if context.visited[path] then - return - end - context.visited[path] = true - context.fileCount += 1 - local content, err = noctalia.readFile(path) - if content == nil then - table.insert(context.warnings, err or ("Could not read " .. path)) - return - end - local info = noctalia.fileInfo(path) - if info ~= nil then - table.insert(context.sources, { path = path, size = info.size, mtime = info.mtime }) - end - if isRoot then context.rootRead = true end - local includes = scanHyprLuaContent(content, path, context) - for _, include in ipairs(includes) do - visit(normalizePath(include.path), depth + 1, false) - end - end - - visit(normalizePath(expandEnvironment(rootPath)), 0, true) - return context -end - -local function categoryFromHyprRules(description, rules) - for _, rule in ipairs(rules) do - if rule.kind == "exact" and description == rule.value then - return rule.category - end - end - for _, rule in ipairs(rules) do - if rule.kind == "prefix" and startsWith(description, rule.value) then - return rule.category - end - end - return "Other" -end - -local function modifiersFromMask(mask) - local result = {} - local bits = { - { 1, "SHIFT" }, - { 4, "CTRL" }, - { 8, "ALT" }, - { 16, "MOD2" }, - { 32, "MOD3" }, - { 64, "SUPER" }, - { 128, "MOD5" }, - } - mask = tonumber(mask) or 0 - for _, entry in ipairs(bits) do - if math.floor(mask / entry[1]) % 2 == 1 then - table.insert(result, entry[2]) - end - end - return result -end - -local function parseHyprJson(raw, rules) - local decoded, err = noctalia.json.decode(raw) - if type(decoded) ~= "table" then - return nil, err or "Invalid hyprctl JSON" - end - local result = {} - for _, entry in ipairs(decoded) do - if type(entry) == "table" then - local description = entry.has_description == false and "" or (entry.description or "") - local key = entry.key or "" - if key == "" and tonumber(entry.keycode) ~= nil and tonumber(entry.keycode) ~= 0 then - key = "code:" .. tostring(entry.keycode) - end - local dispatcher = entry.dispatcher or "" - local argument = entry.arg or "" - if key ~= "" and dispatcher ~= "" then - addBinding(result, { - compositor = "hyprland", - bindingType = entry.mouse == true and "bindm" or "bind", - modifiers = modifiersFromMask(entry.modmask), - key = key, - action = trim(dispatcher .. " " .. argument), - description = description, - category = description ~= "" and categoryFromHyprRules(description, rules) or "", - sourceFile = "hyprctl binds -j", - sourceLine = 0, - submap = entry.submap or "", - }) - end - end - end - return result, nil -end - -local function detectCompositor() - local forced = configString("compositor", "auto") - if forced ~= "auto" then - return forced - end - if noctalia.getenv("MANGO_INSTANCE_SIGNATURE") ~= nil then return "mango" end - if noctalia.getenv("HYPRLAND_INSTANCE_SIGNATURE") ~= nil then return "hyprland" end - if noctalia.getenv("NIRI_SOCKET") ~= nil then return "niri" end - - local desktop = lower((noctalia.getenv("XDG_CURRENT_DESKTOP") or "") .. ":" .. (noctalia.getenv("XDG_SESSION_DESKTOP") or "")) - if desktop:find("mango", 1, true) ~= nil then return "mango" end - if desktop:find("hyprland", 1, true) ~= nil then return "hyprland" end - if desktop:find("niri", 1, true) ~= nil then return "niri" end - - if noctalia.fileExists(noctalia.expandPath("~/.config/mango/config.conf")) then return "mango" end - if noctalia.fileExists(noctalia.expandPath("~/.config/hypr/hyprland.lua")) - or noctalia.fileExists(noctalia.expandPath("~/.config/hypr/hyprland.conf")) then return "hyprland" end - if noctalia.fileExists(noctalia.expandPath("~/.config/niri/config.kdl")) then return "niri" end - return nil -end - -local function currentRequest() - local compositor = detectCompositor() - if compositor == nil then return nil end - if compositor == "mango" then - return { - compositor = compositor, - parser = "mango", - root = normalizePath(expandEnvironment(configString("mango_config", "~/.config/mango/config.conf"))), - } - end - if compositor == "niri" then - return { - compositor = compositor, - parser = "niri", - root = normalizePath(expandEnvironment(configString("niri_config", "~/.config/niri/config.kdl"))), - } - end - if compositor == "hyprland" then - local mode = configString("hyprland_parser", "auto") - local luaPath = configString("hyprland_lua_config", "~/.config/hypr/hyprland.lua") - local useLua = mode == "lua" or (mode == "auto" and noctalia.fileExists(noctalia.expandPath(luaPath))) - local root = useLua and luaPath or configString("hyprland_config", "~/.config/hypr/hyprland.conf") - return { - compositor = compositor, - parser = useLua and "hypr-lua" or "hypr-conf", - root = normalizePath(expandEnvironment(root)), - } - end - return nil -end - -local function requestsMatch(left, right) - return type(left) == "table" and type(right) == "table" - and left.compositor == right.compositor - and left.parser == right.parser - and left.root == right.root -end - -local function normalizedCache(decoded) - if type(decoded) ~= "table" or decoded.schema ~= CACHE_SCHEMA or type(decoded.request) ~= "table" - or type(decoded.bindings) ~= "table" or type(decoded.sources) ~= "table" - or type(decoded.globs) ~= "table" then - return nil - end - - local cachedBindings = {} - for _, item in ipairs(decoded.bindings) do - if type(item) ~= "table" or type(item.key) ~= "string" or type(item.action) ~= "string" - or type(item.modifiers) ~= "table" then - return nil - end - local modifiers = {} - for _, modifier in ipairs(item.modifiers) do - if type(modifier) ~= "string" then return nil end - table.insert(modifiers, modifier) - end - addBinding(cachedBindings, { - compositor = type(item.compositor) == "string" and item.compositor or decoded.request.compositor, - bindingType = type(item.bindingType) == "string" and item.bindingType or "bind", - modifiers = modifiers, - key = item.key, - action = item.action, - description = type(item.description) == "string" and item.description or "", - category = type(item.category) == "string" and item.category or "", - sourceFile = type(item.sourceFile) == "string" and item.sourceFile or "", - sourceLine = tonumber(item.sourceLine) or 0, - submap = type(item.submap) == "string" and item.submap or "", - }) - end - - local warnings = {} - for _, warning in ipairs(type(decoded.warnings) == "table" and decoded.warnings or {}) do - if type(warning) == "string" then table.insert(warnings, warning) end - end - return { - schema = CACHE_SCHEMA, - request = { - compositor = decoded.request.compositor, - parser = decoded.request.parser, - root = decoded.request.root, - }, - bindings = cachedBindings, - warnings = warnings, - sources = decoded.sources, - globs = decoded.globs, - } -end - -local function cachePath() - local directory, err = noctalia.pluginDataDir() - if directory == nil then - noctalia.log("Could not resolve plugin data directory: " .. (err or "unknown error")) - return nil - end - return directory .. "/" .. BINDINGS_CACHE_FILE -end - -local function readBindingCache() - local path = cachePath() - if path == nil then return nil end - local raw = noctalia.readFile(path) - if raw == nil or raw == "" then return nil end - local decoded = noctalia.json.decode(raw) - return normalizedCache(decoded) -end - -local function cachedBindingValue(binding) - return { - compositor = binding.compositor, - bindingType = binding.bindingType, - modifiers = binding.modifiers, - key = binding.key, - action = binding.action, - description = binding.description, - category = binding.baseCategory or binding.category, - sourceFile = binding.sourceFile, - sourceLine = binding.sourceLine, - submap = binding.submap, - } -end - -local function saveBindingCache(cache) - local path = cachePath() - if path == nil then return end - local serializedBindings = {} - for _, binding in ipairs(cache.bindings) do - table.insert(serializedBindings, cachedBindingValue(binding)) - end - local encoded, encodeError = noctalia.json.encode({ - schema = CACHE_SCHEMA, - request = cache.request, - bindings = serializedBindings, - warnings = cache.warnings, - sources = cache.sources, - globs = cache.globs, - }, false) - if encoded == nil then - noctalia.log("Could not encode keybind cache: " .. (encodeError or "unknown error")) - return - end - - local temporary = path .. ".tmp" - local written, writeError = noctalia.writeFile(temporary, encoded) - if not written then - noctalia.log("Could not write keybind cache: " .. (writeError or "unknown error")) - return - end - local renamed, renameError = noctalia.renameFile(temporary, path) - if not renamed then - noctalia.removeFile(temporary) - noctalia.log("Could not commit keybind cache: " .. (renameError or "unknown error")) - end -end - -local refresh - -local function snapshot(status, request, cache, err, isRefreshing) - return { - schema = CACHE_SCHEMA, - status = status, - compositor = request ~= nil and request.compositor or "", - parser = request ~= nil and request.parser or "", - source = request ~= nil and request.root or "", - request = request, - bindings = cache ~= nil and cache.bindings or {}, - warnings = cache ~= nil and cache.warnings or {}, - error = err or "", - refreshing = isRefreshing == true, - } -end - -local function publish(status, request, cache, err, isRefreshing) - noctalia.state.set(SNAPSHOT_KEY, snapshot(status, request, cache, err, isRefreshing)) -end - -local function matchingLastGood(request) - if requestsMatch(lastGood ~= nil and lastGood.request or nil, request) then - return lastGood - end - return nil -end - -local function finishRefresh(generation, request, result, warnings, err, sourceSnapshot) - if generation ~= refreshGeneration then return end - - refreshing = false - if err == nil then - lastGood = { - schema = CACHE_SCHEMA, - request = request, - bindings = result or {}, - warnings = warnings or {}, - sources = sourceSnapshot ~= nil and sourceSnapshot.sources or {}, - globs = sourceSnapshot ~= nil and sourceSnapshot.globs or {}, - } - saveBindingCache(lastGood) - publish("ready", request, lastGood, "", false) - else - local previous = matchingLastGood(request) - if previous ~= nil then - publish("ready", request, previous, err, false) - else - publish("error", request, nil, err, false) - end - end - - if refreshQueued then - refreshQueued = false - refresh(request) - end -end - -local function configReadError(context) - if context.rootRead then return nil end - return tr("missing_config") -end - -local function refreshHyprLua(generation, request) - local scan = scanHyprLua(request.root) - if not noctalia.commandExists("hyprctl") then - finishRefresh(generation, request, {}, scan.warnings, tr("hyprctl_missing"), scan) - return - end - - local accepted = noctalia.runAsync("hyprctl binds -j", function(result) - if generation ~= refreshGeneration then return end - if result.exitCode ~= 0 or result.timedOut then - local message = trim(result.stderr) - finishRefresh( - generation, - request, - {}, - scan.warnings, - message ~= "" and message or tr("hyprctl_failed"), - scan - ) - return - end - local parsed, err = parseHyprJson(result.stdout, scan.rules) - finishRefresh(generation, request, parsed or {}, scan.warnings, err, scan) - end, 10000) - - if not accepted then - finishRefresh(generation, request, {}, scan.warnings, tr("hyprctl_failed"), scan) - end -end - -local function performRefresh(generation, request) - if request == nil then - finishRefresh(generation, { compositor = "", parser = "", root = "" }, {}, {}, tr("unsupported"), nil) - elseif request.parser == "mango" then - local context = readConfig(request.root, parseMangoContent) - finishRefresh(generation, request, context.bindings, context.warnings, configReadError(context), context) - elseif request.parser == "niri" then - local context = readConfig(request.root, parseNiriContent) - finishRefresh(generation, request, context.bindings, context.warnings, configReadError(context), context) - elseif request.parser == "hypr-lua" then - refreshHyprLua(generation, request) - elseif request.parser == "hypr-conf" then - local context = readConfig(request.root, parseHyprContent) - finishRefresh(generation, request, context.bindings, context.warnings, configReadError(context), context) - else - finishRefresh(generation, request, {}, {}, tr("unsupported"), nil) - end -end - -refresh = function(request) - if refreshing then - refreshQueued = true - return - end - - request = request or currentRequest() - refreshGeneration += 1 - local generation = refreshGeneration - refreshing = true - local previous = matchingLastGood(request) - if previous == nil then - publish("loading", request, nil, "", true) - end - performRefresh(generation, request) -end - -local function loadCachedSnapshot(request) - local cached = readBindingCache() - if requestsMatch(cached ~= nil and cached.request or nil, request) then - lastGood = cached - publish("ready", request, cached, "", true) - else - lastGood = nil - publish("loading", request, nil, "", true) - end -end - -local function bootstrap() - local request = currentRequest() - loadCachedSnapshot(request) - refresh(request) -end - -local function lifecycleState() - local current = noctalia.state.get(SNAPSHOT_KEY) - return { - refreshing = refreshing, - refreshQueued = refreshQueued, - bindingCount = type(current) == "table" and type(current.bindings) == "table" and #current.bindings or 0, - cacheLoaded = lastGood ~= nil, - } -end - -local function resetForTests() - refreshGeneration += 1 - refreshing = false - refreshQueued = false - lastGood = nil - bootstrap() -end - -local function containsAll(values, required) - local found = {} - for _, value in ipairs(values) do found[value] = true end - for _, value in ipairs(required or {}) do - if not found[value] then return false, value end - end - return true, nil -end - -local function runSelfTest() - local pluginDir = noctalia.pluginDir() or "." - local fixtureRoot = pluginDir .. "/tests/fixtures" - local expectedRaw = noctalia.readFile(pluginDir .. "/tests/expected.json") - local expected = expectedRaw ~= nil and noctalia.json.decode(expectedRaw) or nil - local report = { passed = true, cases = {} } - if type(expected) ~= "table" then - report.passed = false - report.error = "Could not read tests/expected.json" - else - local cases = { - mango = function() - return walkConfig(fixtureRoot .. "/mango/main.conf", parseMangoContent).bindings - end, - hypr_conf = function() - return walkConfig(fixtureRoot .. "/hypr/hyprland.conf", parseHyprContent).bindings - end, - niri = function() - return walkConfig(fixtureRoot .. "/niri/config.kdl", parseNiriContent).bindings - end, - hypr_lua = function() - local scan = scanHyprLua(fixtureRoot .. "/hypr/hyprland.lua") - local raw = noctalia.readFile(fixtureRoot .. "/hypr/binds.json") or "[]" - return parseHyprJson(raw, scan.rules) or {} - end, - } - for name, execute in pairs(cases) do - local parsed = execute() - local expectedCase = expected[name] - local descriptions = {} - local categories = {} - for _, binding in ipairs(parsed) do - table.insert(descriptions, binding.description) - table.insert( - categories, - binding.description == "" and tr("without_description") - or (binding.category ~= "" and binding.category or tr("other")) - ) - end - local descriptionsOk, missingDescription = containsAll(descriptions, expectedCase.descriptions) - local categoriesOk, missingCategory = containsAll(categories, expectedCase.categories) - local passed = #parsed == expectedCase.count and descriptionsOk and categoriesOk - report.cases[name] = { - passed = passed, - expectedCount = expectedCase.count, - actualCount = #parsed, - missingDescription = missingDescription, - missingCategory = missingCategory, - } - if not passed then report.passed = false end - end - end - local encoded = noctalia.json.encode(report, true) or "{}" - local dataDir = noctalia.pluginDataDir() - if dataDir ~= nil then noctalia.writeFile(dataDir .. "/selftest.json", encoded) end - noctalia.log("Keybind cheatsheet self-test: " .. encoded) - if report.passed then - noctalia.notify(tr("title"), "Parser self-test passed") - else - noctalia.notifyError(tr("title"), "Parser self-test failed; see the Noctalia log") - end -end - -function onConfigChanged() - local request = currentRequest() - local current = noctalia.state.get(SNAPSHOT_KEY) - if requestsMatch(type(current) == "table" and current.request or nil, request) then - return - end - refreshGeneration += 1 - refreshing = false - refreshQueued = false - loadCachedSnapshot(request) - refresh(request) -end - -function onIpc(event, _payload) - if event == "refresh" then - refresh() - elseif event == "self-test" then - runSelfTest() - end -end - -function onExit(_signal) - refreshGeneration += 1 - refreshing = false - refreshQueued = false -end - -noctalia.state.watch(REFRESH_REQUEST_KEY, function(_request) - refresh() -end) - -noctalia.state.watch(SELF_TEST_REQUEST_KEY, function(_request) - runSelfTest() -end) - -bootstrap() - -return { - parseMangoContent = parseMangoContent, - mangoCategoryFromComment = mangoCategoryFromComment, - parseHyprContent = parseHyprContent, - parseNiriContent = parseNiriContent, - parseHyprJson = parseHyprJson, - scanHyprLua = scanHyprLua, - walkConfig = walkConfig, - configReadError = configReadError, - currentRequest = currentRequest, - requestsMatch = requestsMatch, - normalizedCache = normalizedCache, - refresh = refresh, - bootstrap = bootstrap, - resetForTests = resetForTests, - lifecycleState = lifecycleState, - onConfigChanged = onConfigChanged, - onIpc = onIpc, - onExit = onExit, - runSelfTest = runSelfTest, - snapshotKey = SNAPSHOT_KEY, - refreshRequestKey = REFRESH_REQUEST_KEY, -} diff --git a/keybind-cheatsheet/tests/expected.json b/keybind-cheatsheet/tests/expected.json deleted file mode 100644 index 3e3b1a4..0000000 --- a/keybind-cheatsheet/tests/expected.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "mango": { - "count": 9, - "descriptions": ["Terminal", "Close window", "Workspace 1", "Move window", "Focus left", "Lock on close"] - }, - "hypr_conf": { - "count": 5, - "descriptions": ["Terminal", "Move window", "Close window", "Workspace 1"] - }, - "hypr_lua": { - "count": 4, - "categories": ["Applications", "Workspaces", "Media", "Without Description"] - }, - "niri": { - "count": 5, - "descriptions": ["Terminal", "Close window", "Workspace 1"] - } -} diff --git a/keybind-cheatsheet/tests/fixtures/hypr/binds.json b/keybind-cheatsheet/tests/fixtures/hypr/binds.json deleted file mode 100644 index a848a13..0000000 --- a/keybind-cheatsheet/tests/fixtures/hypr/binds.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - {"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":64,"submap":"","key":"T","keycode":0,"description":"Terminal","dispatcher":"exec","arg":"foot"}, - {"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":64,"submap":"","key":"1","keycode":0,"description":"Workspace 1","dispatcher":"workspace","arg":"1"}, - {"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":0,"submap":"","key":"XF86AudioMute","keycode":0,"description":"Mute","dispatcher":"exec","arg":"wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"}, - {"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":false,"modmask":64,"submap":"","key":"Q","keycode":0,"description":"","dispatcher":"killactive","arg":""} -] diff --git a/keybind-cheatsheet/tests/fixtures/hypr/hyprland.conf b/keybind-cheatsheet/tests/fixtures/hypr/hyprland.conf deleted file mode 100644 index d74e64f..0000000 --- a/keybind-cheatsheet/tests/fixtures/hypr/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$mainMod = SUPER -source = ./parts/*.conf - -# 1. Applications -bind = $mainMod, T, exec, foot #"Terminal" -bindm = $mainMod, mouse:272, movewindow #"Move window" - -# 2. Window Management -bind = $mainMod SHIFT, Q, killactive, #"Close window" diff --git a/keybind-cheatsheet/tests/fixtures/hypr/hyprland.lua b/keybind-cheatsheet/tests/fixtures/hypr/hyprland.lua deleted file mode 100644 index 490a3be..0000000 --- a/keybind-cheatsheet/tests/fixtures/hypr/hyprland.lua +++ /dev/null @@ -1,9 +0,0 @@ --- 1. Applications -Hyprland.config.bind("SUPER, T", launch_terminal, { description = "Terminal" }) - --- 2. Workspaces -for i = 1, 9 do - Hyprland.config.bind("SUPER, " .. i, workspace, { description = "Workspace " .. i }) -end - -require("parts.media") diff --git a/keybind-cheatsheet/tests/fixtures/hypr/parts/media.lua b/keybind-cheatsheet/tests/fixtures/hypr/parts/media.lua deleted file mode 100644 index 367a4e1..0000000 --- a/keybind-cheatsheet/tests/fixtures/hypr/parts/media.lua +++ /dev/null @@ -1,2 +0,0 @@ --- 3. Media -Hyprland.config.bind(", XF86AudioMute", mute, { desc = "Mute" }) diff --git a/keybind-cheatsheet/tests/fixtures/hypr/parts/workspaces.conf b/keybind-cheatsheet/tests/fixtures/hypr/parts/workspaces.conf deleted file mode 100644 index c0da9d5..0000000 --- a/keybind-cheatsheet/tests/fixtures/hypr/parts/workspaces.conf +++ /dev/null @@ -1,3 +0,0 @@ -# 3. Workspaces -binde = $mainMod, 1, workspace, 1 #"Workspace 1" -bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle diff --git a/keybind-cheatsheet/tests/fixtures/mango/main.conf b/keybind-cheatsheet/tests/fixtures/mango/main.conf deleted file mode 100644 index c471e98..0000000 --- a/keybind-cheatsheet/tests/fixtures/mango/main.conf +++ /dev/null @@ -1,14 +0,0 @@ -# Applications -bind=SUPER,T,spawn,foot #"Terminal" -bind=SUPER,B,spawn,firefox #"Browser" - -source=./nested.conf -source-optional=./missing.conf -source=./parts/*.conf - -# Media -bind=NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -axisbind=SUPER,UP,viewtoleft_have_client -mousebind=SUPER,btn_left,moveresize,curmove #"Move window" -gesturebind=NONE,left,3,focusdir,left #"Focus left" -switchbind=fold,spawn,swaylock #"Lock on close" diff --git a/keybind-cheatsheet/tests/fixtures/mango/nested.conf b/keybind-cheatsheet/tests/fixtures/mango/nested.conf deleted file mode 100644 index 3270c1e..0000000 --- a/keybind-cheatsheet/tests/fixtures/mango/nested.conf +++ /dev/null @@ -1,3 +0,0 @@ -# Window Management -bind=SUPER,Q,killclient #"Close window" -source=./main.conf diff --git a/keybind-cheatsheet/tests/fixtures/mango/parts/workspaces.conf b/keybind-cheatsheet/tests/fixtures/mango/parts/workspaces.conf deleted file mode 100644 index f198396..0000000 --- a/keybind-cheatsheet/tests/fixtures/mango/parts/workspaces.conf +++ /dev/null @@ -1,2 +0,0 @@ -# Workspaces -bind=SUPER,1,view,1 #"Workspace 1" diff --git a/keybind-cheatsheet/tests/fixtures/niri/config.kdl b/keybind-cheatsheet/tests/fixtures/niri/config.kdl deleted file mode 100644 index 5d32170..0000000 --- a/keybind-cheatsheet/tests/fixtures/niri/config.kdl +++ /dev/null @@ -1,12 +0,0 @@ -include "./parts/*.kdl" - -binds { - // #"Applications" - Mod+T hotkey-overlay-title="Terminal" { spawn "foot"; } - Mod+B { spawn "firefox"; } - - // #"Window Management" - Mod+Q hotkey-overlay-title="Close window" { - close-window; - } -} diff --git a/keybind-cheatsheet/tests/fixtures/niri/parts/workspaces.kdl b/keybind-cheatsheet/tests/fixtures/niri/parts/workspaces.kdl deleted file mode 100644 index 0a74d29..0000000 --- a/keybind-cheatsheet/tests/fixtures/niri/parts/workspaces.kdl +++ /dev/null @@ -1,5 +0,0 @@ -binds { - // #"Workspaces" - Mod+1 hotkey-overlay-title="Workspace 1" { focus-workspace 1; } - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } -} diff --git a/keybind-cheatsheet/tests/host_mock.luau b/keybind-cheatsheet/tests/host_mock.luau deleted file mode 100644 index 57a32b0..0000000 --- a/keybind-cheatsheet/tests/host_mock.luau +++ /dev/null @@ -1,220 +0,0 @@ ---!nonstrict --- Minimal Noctalia host used by the standalone Luau parser tests. - -local files = {} -local stateValues = {} -local stateWatchers = {} -local fileExistsOverrides = {} -local configValues = {} -local availableCommands = {} -local asyncRequests = {} -local renderCount = 0 -local renderedTree = nil -local readCounts = {} -local writeCounts = {} -local wantsSecondTicks = false -local encodedValues = {} -local encodedIndex = 0 -local errorNotifications = 0 -local updateInterval = nil - -local function copy(value) - if type(value) ~= "table" then return value end - local result = {} - for key, item in pairs(value) do result[copy(key)] = copy(item) end - return result -end - -local function normalize(path) - local absolute = path:sub(1, 1) == "/" - local parts = {} - for part in path:gmatch("[^/]+") do - if part == ".." then - if #parts > 0 then table.remove(parts) end - elseif part ~= "." and part ~= "" then - table.insert(parts, part) - end - end - return (absolute and "/" or "") .. table.concat(parts, "/") -end - -local function directory(path) - local prefix = path:gsub("/+$", "") .. "/" - local names = {} - for file in pairs(files) do - if file:sub(1, #prefix) == prefix then - local rest = file:sub(#prefix + 1) - local name = rest:match("^([^/]+)") - if name ~= nil then names[name] = true end - end - end - local result = {} - for name in pairs(names) do table.insert(result, name) end - table.sort(result) - return result -end - -local function translation(key, substitutions) - local value = key - for name, replacement in pairs(substitutions or {}) do - value = value:gsub("{" .. name .. "}", tostring(replacement)) - end - return value -end - -local noctalia = { - tr = translation, - getenv = function(name) return name == "HOME" and "/home/test" or nil end, - expandPath = function(path) return normalize(path:gsub("^~", "/home/test")) end, - fileExists = function(path) - path = normalize(path) - if fileExistsOverrides[path] ~= nil then return fileExistsOverrides[path] end - if files[path] ~= nil then return true end - return #directory(path) > 0 - end, - fileInfo = function(path) - path = normalize(path) - if files[path] ~= nil then return { size = #files[path], mtime = 0, isDir = false } end - if #directory(path) > 0 then return { size = 0, mtime = 0, isDir = true } end - return nil, "missing" - end, - listDir = function(path) - local values = directory(normalize(path)) - if #values > 0 then return values, nil end - return nil, "missing" - end, - readFile = function(path) - path = normalize(path) - readCounts[path] = (readCounts[path] or 0) + 1 - local content = files[path] - if content ~= nil then return content, nil end - return nil, "missing" - end, - writeFile = function(path, content) - path = normalize(path) - files[path] = content - writeCounts[path] = (writeCounts[path] or 0) + 1 - return true - end, - renameFile = function(from, to) - from = normalize(from) - to = normalize(to) - if files[from] == nil then return false, "missing" end - files[to] = files[from] - files[from] = nil - return true - end, - removeFile = function(path) - files[normalize(path)] = nil - return true - end, - pluginDir = function() return "/plugin" end, - pluginDataDir = function() return "/data" end, - commandExists = function(name) return availableCommands[name] == true end, - getConfig = function(key) return configValues[key] end, - outputs = function() return {} end, - focusedOutputName = function() return nil end, - clipboardText = function() return nil end, - openColorPicker = function() return false end, - notify = function() end, - notifyError = function() errorNotifications += 1 end, - log = function() end, - togglePanel = function() end, - setUpdateInterval = function(value) updateInterval = value end, - runAsync = function(command, callback, timeoutMs) - table.insert(asyncRequests, { command = command, callback = callback, timeoutMs = timeoutMs, completed = false }) - return true - end, - string = { trim = function(value) return (value:gsub("^%s+", ""):gsub("%s+$", "")) end }, - json = { - decode = function(raw) - local value = encodedValues[raw] - if value == nil then return nil, "invalid mock JSON" end - return copy(value), nil - end, - encode = function(value) - encodedIndex += 1 - local token = "__mock_json_" .. tostring(encodedIndex) - encodedValues[token] = copy(value) - return token, nil - end, - }, - state = { - get = function(key) return copy(stateValues[key]) end, - set = function(key, value) - stateValues[key] = copy(value) - for _, watcher in ipairs(stateWatchers[key] or {}) do watcher(copy(value)) end - end, - watch = function(key, callback) - stateWatchers[key] = stateWatchers[key] or {} - table.insert(stateWatchers[key], callback) - end, - }, -} - -local function node(kind) - return function(props, children) return { type = kind, props = props or {}, children = children or {} } end -end - -local ui = {} -for _, kind in ipairs({ "column", "row", "box", "label", "glyph", "image", "separator", "spacer", "progress", "button", "graph", "input", "select", "slider", "toggle", "scroll" }) do - ui[kind] = node(kind) -end - -return { - noctalia = noctalia, - ui = ui, - panel = { - render = function(_tree) - renderCount += 1 - renderedTree = _tree - end, - close = function() end, - setWantsSecondTicks = function(value) - wantsSecondTicks = value == true - end, - }, - setFiles = function(value) - files = {} - fileExistsOverrides = {} - for path, content in pairs(value) do files[normalize(path)] = content end - end, - setFileExists = function(path, value) - fileExistsOverrides[normalize(path)] = value - end, - resetRuntime = function() - stateValues = {} - configValues = {} - availableCommands = {} - asyncRequests = {} - renderCount = 0 - renderedTree = nil - readCounts = {} - writeCounts = {} - wantsSecondTicks = false - errorNotifications = 0 - updateInterval = nil - end, - setFile = function(path, content) - files[normalize(path)] = content - end, - setConfig = function(values) configValues = values or {} end, - setAvailableCommands = function(values) availableCommands = values or {} end, - asyncLaunchCount = function() return #asyncRequests end, - completeAsync = function(index, result) - local request = asyncRequests[index] - if request == nil or request.completed then return false end - request.completed = true - if request.callback ~= nil then request.callback(result) end - return true - end, - renderCount = function() return renderCount end, - renderedTree = function() return renderedTree end, - readCount = function(path) return readCounts[normalize(path)] or 0 end, - writeCount = function(path) return writeCounts[normalize(path)] or 0 end, - fileContent = function(path) return files[normalize(path)] end, - wantsSecondTicks = function() return wantsSecondTicks end, - errorNotificationCount = function() return errorNotifications end, - stateValue = function(key) return copy(stateValues[key]) end, - updateInterval = function() return updateInterval end, -} diff --git a/keybind-cheatsheet/thumbnail.webp b/keybind-cheatsheet/thumbnail.webp deleted file mode 100644 index 0dbffc38556429b127e04e62f4222d8c898cf9c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39316 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" - }, - { - "id": "noctalia/dock-hide", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg dock-hide", - "usage": "dock-hide" - }, - { - "id": "noctalia/dock-reload", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg dock-reload", - "usage": "dock-reload" - }, - { - "id": "noctalia/dock-show", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg dock-show", - "usage": "dock-show" - }, - { - "id": "noctalia/dock-toggle", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg dock-toggle", - "usage": "dock-toggle" - }, - { - "id": "noctalia/panel-close", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg panel-close", - "usage": "panel-close [id]" - }, - { - "id": "noctalia/panel-open", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg panel-open {{id}}", - "usage": "panel-open [context]" - }, - { - "id": "noctalia/panel-toggle", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg panel-toggle {{id}}", - "usage": "panel-toggle [context]" - }, - { - "id": "noctalia/settings-close", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg settings-close", - "usage": "settings-close" - }, - { - "id": "noctalia/settings-open", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg settings-open", - "usage": "settings-open [context]" - }, - { - "id": "noctalia/settings-toggle", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg settings-toggle", - "usage": "settings-toggle [context]" - }, - { - "id": "noctalia/window-switcher", - "source": "noctalia", - "category": "panels", - "kind": "shell", - "template": "noctalia msg window-switcher", - "usage": "window-switcher [close]" - }, - { - "id": "noctalia/plugin", - "source": "noctalia", - "category": "plugins", - "kind": "shell", - "template": "noctalia msg plugin {{author-plugin-entry}} {{target-bar-name}} {{event}}", - "usage": "plugin [payload]" - }, - { - "id": "noctalia/plugins", - "source": "noctalia", - "category": "plugins", - "kind": "shell", - "template": "noctalia msg plugins {{list-enable-disable-update-source}}", - "usage": "plugins ..." - }, - { - "id": "noctalia/caffeine-disable", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg caffeine-disable", - "usage": "caffeine-disable" - }, - { - "id": "noctalia/caffeine-enable", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg caffeine-enable", - "usage": "caffeine-enable" - }, - { - "id": "noctalia/caffeine-toggle", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg caffeine-toggle", - "usage": "caffeine-toggle" - }, - { - "id": "noctalia/nightlight-disable", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg nightlight-disable", - "usage": "nightlight-disable" - }, - { - "id": "noctalia/nightlight-enable", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg nightlight-enable", - "usage": "nightlight-enable" - }, - { - "id": "noctalia/nightlight-force-toggle", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg nightlight-force-toggle", - "usage": "nightlight-force-toggle" - }, - { - "id": "noctalia/nightlight-toggle", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg nightlight-toggle", - "usage": "nightlight-toggle" - }, - { - "id": "noctalia/power-cycle", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg power-cycle", - "usage": "power-cycle" - }, - { - "id": "noctalia/power-set", - "source": "noctalia", - "category": "power", - "kind": "shell", - "template": "noctalia msg power-set {{profile}}", - "usage": "power-set " - }, - { - "id": "noctalia/screenshot-fullscreen", - "source": "noctalia", - "category": "screenshots", - "kind": "shell", - "template": "noctalia msg screenshot-fullscreen", - "usage": "screenshot-fullscreen [pick|monitor|all]" - }, - { - "id": "noctalia/screenshot-region", - "source": "noctalia", - "category": "screenshots", - "kind": "shell", - "template": "noctalia msg screenshot-region", - "usage": "screenshot-region" - }, - { - "id": "noctalia/session", - "source": "noctalia", - "category": "session", - "kind": "shell", - "template": "noctalia msg session {{lock-suspend-lock-and-suspend-logout-reboot-shutdown}}", - "usage": "session " - }, - { - "id": "noctalia/config-reload", - "source": "noctalia", - "category": "system", - "kind": "shell", - "template": "noctalia msg config-reload", - "usage": "config-reload" - }, - { - "id": "noctalia/log-level-set", - "source": "noctalia", - "category": "system", - "kind": "shell", - "template": "noctalia msg log-level-set {{debug-info-warn-error}}", - "usage": "log-level-set " - }, - { - "id": "noctalia/log-level-status", - "source": "noctalia", - "category": "system", - "kind": "shell", - "template": "noctalia msg log-level-status", - "usage": "log-level-status" - }, - { - "id": "noctalia/status", - "source": "noctalia", - "category": "system", - "kind": "shell", - "template": "noctalia msg status", - "usage": "status" - }, - { - "id": "noctalia/desktop-widgets-edit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-edit", - "usage": "desktop-widgets-edit" - }, - { - "id": "noctalia/desktop-widgets-exit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-exit", - "usage": "desktop-widgets-exit" - }, - { - "id": "noctalia/desktop-widgets-hide", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-hide", - "usage": "desktop-widgets-hide" - }, - { - "id": "noctalia/desktop-widgets-show", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-show", - "usage": "desktop-widgets-show" - }, - { - "id": "noctalia/desktop-widgets-toggle", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-toggle", - "usage": "desktop-widgets-toggle" - }, - { - "id": "noctalia/desktop-widgets-toggle-edit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg desktop-widgets-toggle-edit", - "usage": "desktop-widgets-toggle-edit" - }, - { - "id": "noctalia/lockscreen-widgets-edit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg lockscreen-widgets-edit", - "usage": "lockscreen-widgets-edit" - }, - { - "id": "noctalia/lockscreen-widgets-exit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg lockscreen-widgets-exit", - "usage": "lockscreen-widgets-exit" - }, - { - "id": "noctalia/lockscreen-widgets-toggle-edit", - "source": "noctalia", - "category": "widgets", - "kind": "shell", - "template": "noctalia msg lockscreen-widgets-toggle-edit", - "usage": "lockscreen-widgets-toggle-edit" - }, - { - "id": "noctalia/workspace-alert-add", - "source": "noctalia", - "category": "workspaces", - "kind": "shell", - "template": "noctalia msg workspace-alert-add {{workspace}}", - "usage": "workspace-alert-add " - }, - { - "id": "noctalia/workspace-alert-add-window", - "source": "noctalia", - "category": "workspaces", - "kind": "shell", - "template": "noctalia msg workspace-alert-add-window {{window-id}}", - "usage": "workspace-alert-add-window " - }, - { - "id": "noctalia/workspace-alert-clear", - "source": "noctalia", - "category": "workspaces", - "kind": "shell", - "template": "noctalia msg workspace-alert-clear {{workspace}}", - "usage": "workspace-alert-clear " - }, - { - "id": "noctalia/workspace-alert-clear-all", - "source": "noctalia", - "category": "workspaces", - "kind": "shell", - "template": "noctalia msg workspace-alert-clear-all", - "usage": "workspace-alert-clear-all" - }, - { - "id": "noctalia/workspace-alert-status", - "source": "noctalia", - "category": "workspaces", - "kind": "shell", - "template": "noctalia msg workspace-alert-status", - "usage": "workspace-alert-status" - } - ] -} diff --git a/keymap/examples/hyprland.lua b/keymap/examples/hyprland.lua deleted file mode 100644 index 6a924ee..0000000 --- a/keymap/examples/hyprland.lua +++ /dev/null @@ -1,56 +0,0 @@ --- Keymap example for Hyprland's native Lua configuration API. --- This file is documentation and test data; it is not loaded automatically. - --- 1. Applications -hl.bind("SUPER + RETURN", hl.dsp.exec_cmd("foot"), { description = "Open terminal" }) -hl.bind("SUPER + B", hl.dsp.exec_cmd("firefox"), { description = "Open browser" }) -hl.bind("SUPER + E", hl.dsp.exec_cmd("xdg-open ."), { description = "Open files" }) -hl.bind("SUPER + SPACE", hl.dsp.exec_cmd("noctalia msg panel-toggle launcher"), { description = "Open launcher" }) -hl.bind("SUPER + M", hl.dsp.exec_cmd("thunderbird"), { description = "Open mail" }) -hl.bind("SUPER + A", hl.dsp.exec_cmd("gnome-calculator"), { description = "Open calculator" }) - --- 2. Windows -hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close window" }) -hl.bind("SUPER + F", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }), { description = "Toggle fullscreen" }) -hl.bind("SUPER + SHIFT + F", hl.dsp.window.float({ action = "toggle" }), { description = "Toggle floating" }) -hl.bind("SUPER + LEFT", hl.dsp.focus({ direction = "left" }), { description = "Focus left" }) -hl.bind("SUPER + RIGHT", hl.dsp.focus({ direction = "right" }), { description = "Focus right" }) -hl.bind("SUPER + UP", hl.dsp.focus({ direction = "up" }), { description = "Focus up" }) -hl.bind("SUPER + DOWN", hl.dsp.focus({ direction = "down" }), { description = "Focus down" }) -hl.bind("SUPER + SHIFT + LEFT", hl.dsp.window.move({ direction = "left" }), { description = "Move window left" }) -hl.bind("SUPER + SHIFT + RIGHT", hl.dsp.window.move({ direction = "right" }), { description = "Move window right" }) -hl.bind("SUPER + TAB", hl.dsp.window.cycle_next(), { description = "Focus next window" }) - --- 3. Workspaces -hl.bind("SUPER + 1", hl.dsp.focus({ workspace = 1 }), { description = "Workspace 1" }) -hl.bind("SUPER + 2", hl.dsp.focus({ workspace = 2 }), { description = "Workspace 2" }) -hl.bind("SUPER + 3", hl.dsp.focus({ workspace = 3 }), { description = "Workspace 3" }) -hl.bind("SUPER + 4", hl.dsp.focus({ workspace = 4 }), { description = "Workspace 4" }) -hl.bind("SUPER + SHIFT + 1", hl.dsp.window.move({ workspace = 1, follow = false }), { description = "Move to workspace 1" }) -hl.bind("SUPER + SHIFT + 2", hl.dsp.window.move({ workspace = 2, follow = false }), { description = "Move to workspace 2" }) -hl.bind("SUPER + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { description = "Next workspace" }) -hl.bind("SUPER + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { description = "Previous workspace" }) - --- 4. Screenshots -hl.bind("Print", hl.dsp.exec_cmd("grimblast copy output"), { description = "Capture monitor" }) -hl.bind("SHIFT + Print", hl.dsp.exec_cmd("grimblast copy area"), { description = "Capture region" }) -hl.bind("CTRL + Print", hl.dsp.exec_cmd("grimblast copy active"), { description = "Capture window" }) - --- 5. Noctalia -hl.bind("SUPER + K", hl.dsp.exec_cmd("noctalia msg panel-toggle blackbartblues/keymap:panel"), { description = "Open Keymap" }) -hl.bind("SUPER + V", hl.dsp.exec_cmd("noctalia msg panel-toggle clipboard"), { description = "Clipboard history" }) -hl.bind("SUPER + N", hl.dsp.exec_cmd("noctalia msg panel-toggle notifications"), { description = "Notifications" }) -hl.bind("SUPER + P", hl.dsp.exec_cmd("noctalia msg panel-toggle session-menu"), { description = "Session menu" }) - --- 6. Media -hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true, description = "Play or pause" }) -hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true, description = "Next track" }) -hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true, description = "Previous track" }) -hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, description = "Mute audio" }) -hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true, description = "Volume up" }) -hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true, description = "Volume down" }) - --- 7. Utilities -hl.bind("SUPER + C + V", hl.dsp.exec_cmd("wl-paste | wl-copy"), { release = true, description = "Normalize clipboard" }) -hl.bind("SUPER + SHIFT + C", hl.dsp.exec_cmd("hyprpicker -a"), { description = "Pick a color" }) -hl.bind("SUPER + L", hl.dsp.exec_cmd("noctalia msg session lock"), { description = "Lock screen" }) diff --git a/keymap/examples/mangowc.conf b/keymap/examples/mangowc.conf deleted file mode 100644 index e00f874..0000000 --- a/keymap/examples/mangowc.conf +++ /dev/null @@ -1,56 +0,0 @@ -# Keymap example for MangoWC. -# This file is documentation and test data; it is not loaded automatically. - -# Applications -bind=SUPER,Return,spawn_shell,foot #"Open terminal" -bind=SUPER,B,spawn_shell,firefox #"Open browser" -bind=SUPER,E,spawn_shell,xdg-open . #"Open files" -bind=SUPER,Space,spawn_shell,noctalia msg panel-toggle launcher #"Open launcher" -bind=SUPER,M,spawn_shell,thunderbird #"Open mail" -bind=SUPER,A,spawn_shell,gnome-calculator #"Open calculator" - -# Windows -bind=SUPER,Q,killclient, #"Close window" -bind=SUPER,F,togglefullscreen, #"Toggle fullscreen" -bind=SUPER+SHIFT,F,togglefloating, #"Toggle floating" -bind=SUPER,Left,focusdir,left #"Focus left" -bind=SUPER,Right,focusdir,right #"Focus right" -bind=SUPER,Up,focusdir,up #"Focus up" -bind=SUPER,Down,focusdir,down #"Focus down" -bind=SUPER+SHIFT,Left,smartmovewin,left #"Move window left" -bind=SUPER+SHIFT,Right,smartmovewin,right #"Move window right" -bind=SUPER,Tab,focusstack,next #"Focus next window" - -# Workspaces -bind=SUPER,1,view,1 #"Workspace 1" -bind=SUPER,2,view,2 #"Workspace 2" -bind=SUPER,3,view,3 #"Workspace 3" -bind=SUPER,4,view,4 #"Workspace 4" -bind=SUPER+SHIFT,1,tag,1 #"Move to workspace 1" -bind=SUPER+SHIFT,2,tag,2 #"Move to workspace 2" -axisbind=SUPER,DOWN,viewtoleft,0 #"Next workspace" -axisbind=SUPER,UP,viewtoright,0 #"Previous workspace" - -# Screenshots -bind=NONE,Print,spawn_shell,grim ~/Pictures/screenshot.png #"Capture monitor" -bind=SHIFT,Print,spawn_shell,grim -g "$(slurp)" ~/Pictures/region.png #"Capture region" -bind=CTRL,Print,spawn_shell,grim -g "$(slurp -w)" ~/Pictures/window.png #"Capture window" - -# Noctalia -bind=SUPER,K,spawn_shell,noctalia msg panel-toggle blackbartblues/keymap:panel #"Open Keymap" -bind=SUPER,V,spawn_shell,noctalia msg panel-toggle clipboard #"Clipboard history" -bind=SUPER,N,spawn_shell,noctalia msg panel-toggle notifications #"Notifications" -bind=SUPER,P,spawn_shell,noctalia msg panel-toggle session-menu #"Session menu" - -# Media -bindl=NONE,XF86AudioPlay,spawn_shell,playerctl play-pause #"Play or pause" -bindl=NONE,XF86AudioNext,spawn_shell,playerctl next #"Next track" -bindl=NONE,XF86AudioPrev,spawn_shell,playerctl previous #"Previous track" -bindl=NONE,XF86AudioMute,spawn_shell,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle #"Mute audio" -bindl=NONE,XF86AudioRaiseVolume,spawn_shell,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ #"Volume up" -bindl=NONE,XF86AudioLowerVolume,spawn_shell,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- #"Volume down" - -# Utilities -bindr=SUPER+SHIFT,V,spawn_shell,wl-paste | wl-copy #"Normalize clipboard" -bind=SUPER+SHIFT,C,spawn_shell,hyprpicker -a #"Pick a color" -bind=SUPER,L,spawn_shell,noctalia msg session lock #"Lock screen" diff --git a/keymap/examples/niri.kdl b/keymap/examples/niri.kdl deleted file mode 100644 index bb602f0..0000000 --- a/keymap/examples/niri.kdl +++ /dev/null @@ -1,57 +0,0 @@ -// Keymap example for Niri. -// This file is documentation and test data; it is not loaded automatically. - -binds { - // #"Applications" - Mod+Return hotkey-overlay-title="Open terminal" { spawn-sh "foot"; } - Mod+B hotkey-overlay-title="Open browser" { spawn-sh "firefox"; } - Mod+E hotkey-overlay-title="Open files" { spawn-sh "xdg-open ."; } - Mod+Space hotkey-overlay-title="Open launcher" { spawn-sh "noctalia msg panel-toggle launcher"; } - Mod+M hotkey-overlay-title="Open mail" { spawn-sh "thunderbird"; } - Mod+A hotkey-overlay-title="Open calculator" { spawn-sh "gnome-calculator"; } - - // #"Windows" - Mod+Q hotkey-overlay-title="Close window" { close-window; } - Mod+F hotkey-overlay-title="Toggle fullscreen" { fullscreen-window; } - Mod+Shift+F hotkey-overlay-title="Toggle floating" { toggle-window-floating; } - Mod+Left hotkey-overlay-title="Focus left" { focus-column-left; } - Mod+Right hotkey-overlay-title="Focus right" { focus-column-right; } - Mod+Up hotkey-overlay-title="Focus up" { focus-window-up; } - Mod+Down hotkey-overlay-title="Focus down" { focus-window-down; } - Mod+Shift+Left hotkey-overlay-title="Move window left" { move-column-left; } - Mod+Shift+Right hotkey-overlay-title="Move window right" { move-column-right; } - Mod+Tab hotkey-overlay-title="Focus next window" { focus-window-or-workspace-down; } - - // #"Workspaces" - Mod+1 hotkey-overlay-title="Workspace 1" { focus-workspace 1; } - Mod+2 hotkey-overlay-title="Workspace 2" { focus-workspace 2; } - Mod+3 hotkey-overlay-title="Workspace 3" { focus-workspace 3; } - Mod+4 hotkey-overlay-title="Workspace 4" { focus-workspace 4; } - Mod+Shift+1 hotkey-overlay-title="Move to workspace 1" { move-column-to-workspace 1; } - Mod+Shift+2 hotkey-overlay-title="Move to workspace 2" { move-column-to-workspace 2; } - Mod+WheelScrollDown hotkey-overlay-title="Next workspace" { focus-workspace-down; } - Mod+WheelScrollUp hotkey-overlay-title="Previous workspace" { focus-workspace-up; } - - // #"Screenshots" - Print hotkey-overlay-title="Capture monitor" { screenshot-screen; } - Shift+Print hotkey-overlay-title="Capture region" { screenshot; } - Ctrl+Print hotkey-overlay-title="Capture window" { screenshot-window; } - - // #"Noctalia" - Mod+K hotkey-overlay-title="Open Keymap" { spawn-sh "noctalia msg panel-toggle blackbartblues/keymap:panel"; } - Mod+V hotkey-overlay-title="Clipboard history" { spawn-sh "noctalia msg panel-toggle clipboard"; } - Mod+N hotkey-overlay-title="Notifications" { spawn-sh "noctalia msg panel-toggle notifications"; } - Mod+P hotkey-overlay-title="Session menu" { spawn-sh "noctalia msg panel-toggle session-menu"; } - - // #"Media" - XF86AudioPlay hotkey-overlay-title="Play or pause" { spawn-sh "playerctl play-pause"; } - XF86AudioNext hotkey-overlay-title="Next track" { spawn-sh "playerctl next"; } - XF86AudioPrev hotkey-overlay-title="Previous track" { spawn-sh "playerctl previous"; } - XF86AudioMute hotkey-overlay-title="Mute audio" { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } - XF86AudioRaiseVolume hotkey-overlay-title="Volume up" { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; } - XF86AudioLowerVolume hotkey-overlay-title="Volume down" { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; } - - // #"Utilities" - Mod+Shift+C hotkey-overlay-title="Pick a color" { spawn-sh "hyprpicker -a"; } - Mod+L hotkey-overlay-title="Lock screen" { spawn-sh "noctalia msg session lock"; } -} diff --git a/keymap/mangowc_service.luau b/keymap/mangowc_service.luau deleted file mode 100644 index f703a37..0000000 --- a/keymap/mangowc_service.luau +++ /dev/null @@ -1,962 +0,0 @@ ---!nonstrict --- Keymap service for MangoWC / mangowm. --- --- Mango's IPC does not expose the loaded keybinding registry. The recursively --- included configuration tree is therefore the authoritative available source. - -local SNAPSHOT_KEY = "keymap.snapshot" -local REFRESH_REQUEST_KEY = "keymap.refresh_request" -local DEFAULT_CONFIG = "~/.config/mango/config.conf" -local SYSTEM_CONFIG = "/etc/mango/config.conf" -local MAX_FILES = 64 -local MAX_SOURCE_BYTES = 512 * 1024 -local MAX_HIDDEN_BYTES = 2 * 1024 * 1024 -local EXACT_SOURCE_FINGERPRINT = "exact-v1" - -local refreshing = false -local refreshQueued = false - -local function config(key, fallback) - local value = noctalia.getConfig(key) - if value == nil then - return fallback - end - return value -end - -local function trim(value) - if type(value) ~= "string" then - return "" - end - return value:match("^%s*(.-)%s*$") or "" -end - -local function envSet(name) - local value = noctalia.getenv(name) - return type(value) == "string" and value ~= "" -end - -local function environment(name) - local value = noctalia.getenv(name) - return type(value) == "string" and value or "" -end - -local function desktopHas(value, wanted) - local normalized = tostring(value or ""):lower() - return normalized:find(wanted, 1, true) ~= nil -end - --- Shared detection order used by all compositor-specific services. -local function detectedCompositor() - if envSet("NIRI_SOCKET") then - return "niri" - end - if envSet("HYPRLAND_INSTANCE_SIGNATURE") then - return "hyprland" - end - if envSet("MANGO_INSTANCE_SIGNATURE") then - return "mangowc" - end - - local current = noctalia.getenv("XDG_CURRENT_DESKTOP") - local session = noctalia.getenv("XDG_SESSION_DESKTOP") - local desktopSession = noctalia.getenv("DESKTOP_SESSION") - if desktopHas(current, "niri") or desktopHas(session, "niri") or desktopHas(desktopSession, "niri") then - return "niri" - end - if desktopHas(current, "hyprland") or desktopHas(session, "hyprland") or desktopHas(desktopSession, "hyprland") then - return "hyprland" - end - if desktopHas(current, "mango") or desktopHas(session, "mango") - or desktopHas(desktopSession, "mango") or desktopHas(current, "mangowc") - or desktopHas(session, "mangowc") or desktopHas(desktopSession, "mangowc") then - return "mangowc" - end - return "" -end - -local function selectedCompositor() - local selected = tostring(config("compositor", "auto")):lower() - if selected == "hyprland" or selected == "niri" or selected == "mangowc" then - return selected - end - return detectedCompositor() -end - -local function isActive() - return selectedCompositor() == "mangowc" -end - -local function dirname(path) - local directory = path:match("^(.*)/[^/]*$") - return directory ~= nil and directory ~= "" and directory or "." -end - -local function normalizePath(path) - local absolute = path:sub(1, 1) == "/" - local parts = {} - for part in path:gmatch("[^/]+") do - if part == ".." then - if #parts > 0 and parts[#parts] ~= ".." then - table.remove(parts) - elseif not absolute then - parts[#parts + 1] = part - end - elseif part ~= "." and part ~= "" then - parts[#parts + 1] = part - end - end - local normalized = table.concat(parts, "/") - if absolute then - return "/" .. normalized - end - return normalized ~= "" and normalized or "." -end - -local function expandPath(path) - local expanded = noctalia.expandPath(path) - if type(expanded) == "string" and expanded ~= "" then - return normalizePath(expanded) - end - return normalizePath(path) -end - -local function configPath() - local configured = trim(config("mangowc_config", DEFAULT_CONFIG)) - if configured == "" then - configured = DEFAULT_CONFIG - end - local path = expandPath(configured) - if noctalia.fileExists(path) then return path end - - local xdg = environment("XDG_CONFIG_HOME") - local mangoDir = normalizePath((xdg ~= "" and xdg or (environment("HOME") .. "/.config")) .. "/mango") - local candidates = { normalizePath(mangoDir .. "/config.conf"), SYSTEM_CONFIG } - for _, candidate in ipairs(candidates) do - if noctalia.fileExists(candidate) then return candidate end - end - - local entries = noctalia.listDir(mangoDir) - if type(entries) ~= "table" then return path end - table.sort(entries) - local bestPath, bestScore = nil, -1 - for _, name in ipairs(entries) do - if type(name) == "string" and name:match("%.conf$") and name ~= "keymap.conf" - and not name:lower():find("backup", 1, true) then - local candidate = normalizePath(mangoDir .. "/" .. name) - local source = noctalia.readFile(candidate) - if type(source) == "string" and #source <= MAX_SOURCE_BYTES then - local _, bindCount = source:gsub("bind[%w%-]*%s*=", "") - local _, sourceCount = source:gsub("source[%w%-]*%s*=", "") - local score = bindCount * 10 + sourceCount * 2 - if name:lower():find("bind", 1, true) then score = score + 5 end - if score > bestScore then bestPath, bestScore = candidate, score end - end - end - end - return bestScore > 0 and bestPath or path -end - -local function stripOuterQuotes(value) - local text = trim(value) - local quote = text:sub(1, 1) - if #text >= 2 and (quote == '"' or quote == "'") and text:sub(-1) == quote then - return text:sub(2, -2) - end - return text -end - -local function resolveSource(rootDirectory, source) - local path = stripOuterQuotes(source) - if path == "" then - return nil - end - if path:find("*", 1, true) or path:find("?", 1, true) or path:find("[", 1, true) then - return nil, "mangowc_source_glob_not_supported:" .. path - end - path = noctalia.expandPath(path) or path - if path:sub(1, 1) == "/" then - return normalizePath(path) - end - path = path:gsub("^%./", "") - return normalizePath(rootDirectory .. "/" .. path) -end - -local function slug(value) - local id = value:lower():gsub("[^%a%d]+", "-"):gsub("^-+", ""):gsub("-+$", "") - return id ~= "" and id or "category" -end - -local function titleCase(value) - local text = tostring(value or ""):gsub("_", " "):gsub("%-", " ") - text = text:gsub("(%l)(%u)", "%1 %2") - return (text:gsub("%f[%a]%a", string.upper)) -end - -local function splitCsv(value) - local parts = {} - local start = 1 - while true do - local comma = value:find(",", start, true) - if comma == nil then - parts[#parts + 1] = trim(value:sub(start)) - break - end - parts[#parts + 1] = trim(value:sub(start, comma - 1)) - start = comma + 1 - end - return parts -end - -local function joinTail(parts, first) - local output = {} - for index = first, #parts do - output[#output + 1] = parts[index] - end - return trim(table.concat(output, ",")) -end - --- Locate an ordinary inline comment while preserving the plugin convention --- #"description" and quoted hashes in shell commands. -local function findUnquotedComment(line) - local inSingle = false - local inDouble = false - local escaped = false - for index = 1, #line do - local char = line:sub(index, index) - if escaped then - escaped = false - elseif char == "\\" and (inSingle or inDouble) then - escaped = true - elseif char == "'" and not inDouble then - inSingle = not inSingle - elseif char == '"' and not inSingle then - inDouble = not inDouble - elseif char == "#" and not inSingle and not inDouble and line:sub(index + 1, index + 1) ~= '"' then - return index - end - end - return nil -end - -local function extractDescription(line) - local description = line:match('#"(.*)"%s*$') - local marker = line:match('()#".*"%s*$') - if description == nil or marker == nil then - return line, nil - end - description = description:gsub('\\"', '"'):gsub("\\\\", "\\") - return trim(line:sub(1, marker - 1)), description -end - -local function extractCategory(line) - local rest = trim(line) - if rest:sub(1, 1) ~= "#" then - return nil - end - local managed = trim(rest:match("^#%s*Keymap category:%s*(.+)$") or "") - if managed ~= "" then return managed end - rest = trim(rest:gsub("^#+", "", 1)) - if rest == "" or #rest > 100 or rest:match("^[%w%-]+%s*=") then - return nil - end - if rest:match("^[─━═=%-_*#/\\%s]+$") or rest:match("^[%(%[]") then - return nil - end - if rest:match("^%-%>") or rest:match("^=%>") then - return nil - end - local firstWord = rest:match("^(%a+)") - if firstWord ~= nil then - local upper = firstWord:upper() - if upper == "TODO" or upper == "FIXME" or upper == "NOTE" or upper == "HACK" - or upper == "XXX" or upper == "BUG" or upper == "WIP" then - return nil - end - end - rest = trim(rest:gsub("[─━═=%-_*][─━═=%-_*][─━═=%-_*]+%s*$", "")) - if rest == "" then - return nil - end - return trim(rest:match("^%d+%.%s*(.+)$") or rest) -end - -local KEY_NAMES = { - RETURN = "Enter", ESCAPE = "Esc", SPACE = "Space", PRINT = "PrtSc", - PRIOR = "PgUp", NEXT = "PgDn", EQUAL = "=", MINUS = "-", PLUS = "+", - COMMA = ",", PERIOD = ".", SEMICOLON = ";", APOSTROPHE = "'", GRAVE = "`", - SLASH = "/", BACKSLASH = "\\", BRACKETLEFT = "[", BRACKETRIGHT = "]", - XF86AUDIORAISEVOLUME = "Vol Up", XF86AUDIOLOWERVOLUME = "Vol Down", - XF86AUDIOMUTE = "Mute", XF86AUDIOMICMUTE = "Mic Mute", XF86AUDIOPLAY = "Play", - XF86AUDIOPAUSE = "Pause", XF86AUDIONEXT = "Next", XF86AUDIOPREV = "Prev", - XF86AUDIOSTOP = "Stop", XF86MONBRIGHTNESSUP = "Bright Up", - XF86MONBRIGHTNESSDOWN = "Bright Down", -} - -local AXIS_NAMES = { - UP = "Scroll Up", DOWN = "Scroll Down", LEFT = "Scroll Left", RIGHT = "Scroll Right", -} - -local BUTTON_NAMES = { - BTN_LEFT = "Left Click", BTN_RIGHT = "Right Click", BTN_MIDDLE = "Middle Click", - BTN_SIDE = "Mouse Side", BTN_EXTRA = "Mouse Extra", BTN_FORWARD = "Mouse Forward", - BTN_BACK = "Mouse Back", BTN_TASK = "Mouse Task", ["CODE:272"] = "Left Click", - ["CODE:273"] = "Right Click", ["CODE:274"] = "Middle Click", -} - -local MODIFIER_NAMES = { - SUPER = "Super", SUPER_L = "Super", SUPER_R = "Super", LOGO = "Super", - CTRL = "Ctrl", CONTROL = "Ctrl", CTRL_L = "Ctrl", CTRL_R = "Ctrl", - SHIFT = "Shift", SHIFT_L = "Shift", SHIFT_R = "Shift", - ALT = "Alt", ALT_L = "Alt", ALT_R = "Alt", MOD1 = "Alt", - HYPER = "Hyper", HYPER_L = "Hyper", HYPER_R = "Hyper", -} - -local MODIFIER_CODES = { - ["37"] = "Ctrl", ["50"] = "Shift", ["62"] = "Shift", ["64"] = "Alt", - ["105"] = "Ctrl", ["108"] = "Alt", ["133"] = "Super", ["134"] = "Super", -} - -local function parseModifiers(value) - local modifiers = {} - local seen = {} - for token in (value .. "+"):gmatch("(.-)%+") do - local upper = trim(token):upper() - local name = MODIFIER_NAMES[upper] - if name == nil then - name = MODIFIER_CODES[upper:match("^CODE:(%d+)$") or ""] - end - if name ~= nil and not seen[name] then - seen[name] = true - modifiers[#modifiers + 1] = name - elseif upper ~= "" and upper ~= "NONE" and name == nil then - local code = upper:match("^CODE:(%d+)$") - local rawName = code ~= nil and ("Code " .. code) or titleCase(upper:lower()) - if not seen[rawName] then - seen[rawName] = true - modifiers[#modifiers + 1] = rawName - end - end - end - return modifiers -end - -local function formatKey(value) - local key = trim(value) - return KEY_NAMES[key:upper()] or key -end - -local NO_ARG_ACTIONS = { - killclient = "actions.mangowc.killclient", togglefullscreen = "actions.mangowc.togglefullscreen", - togglefakefullscreen = "actions.mangowc.togglefakefullscreen", togglemaximizescreen = "actions.mangowc.togglemaximizescreen", - togglefloating = "actions.mangowc.togglefloating", toggle_all_floating = "actions.mangowc.toggle_all_floating", - toggleglobal = "actions.mangowc.toggleglobal", toggleoverview = "actions.mangowc.toggleoverview", - togglejump = "actions.mangowc.togglejump", toggleoverlay = "actions.mangowc.toggleoverlay", - toggle_scratchpad = "actions.mangowc.toggle_scratchpad", minimized = "actions.mangowc.minimized", - restore_minimized = "actions.mangowc.restore_minimized", reload_config = "actions.mangowc.reload_config", - quit = "actions.mangowc.quit", switch_proportion_preset = "actions.mangowc.switch_proportion_preset", - switch_keyboard_layout = "actions.mangowc.switch_keyboard_layout", zoom = "actions.mangowc.zoom", - restart = "actions.mangowc.restart", incnmaster = "actions.mangowc.incnmaster", - switch_layout = "actions.mangowc.switch_layout", togglegaps = "actions.mangowc.togglegaps", - dwindle_toggle_split_direction = "actions.mangowc.dwindle_toggle_split_direction", -} - -local DIRECTION_ACTIONS = { - focusdir = "actions.mangowc.focusdir", exchange_client = "actions.mangowc.exchange_client", - focusmon = "actions.mangowc.focusmon", tagmon = "actions.mangowc.tagmon", - groupjoin = "actions.mangowc.groupjoin", groupfocus = "actions.mangowc.groupfocus", - smartmovewin = "actions.mangowc.smartmovewin", smartresizewin = "actions.mangowc.smartresizewin", - scroller_stack = "actions.mangowc.scroller_stack", -} - -local function formatAction(action, args) - local normalized = trim(action):lower() - local argument = trim(args) - if NO_ARG_ACTIONS[normalized] ~= nil and (argument == "" or argument == "0") then - return noctalia.tr(NO_ARG_ACTIONS[normalized]) - end - if DIRECTION_ACTIONS[normalized] ~= nil then - local label = noctalia.tr(DIRECTION_ACTIONS[normalized]) - return argument ~= "" and noctalia.tr("actions.with_argument", { action = label, argument = titleCase(argument) }) or label - end - if normalized == "spawn" or normalized == "spawn_shell" or normalized == "spawn_on_empty" then - return argument ~= "" and noctalia.tr("actions.run", { command = argument }) or noctalia.tr("actions.run_command") - end - if normalized == "view" then - local tag = argument:match("^([^,]+)") or argument - return tag ~= "" and noctalia.tr("actions.view_tag_number", { tag = tag }) or noctalia.tr("actions.view_tag") - end - if normalized == "tag" or normalized == "tagsilent" then - local tag = argument:match("^([^,]+)") or argument - return tag ~= "" and noctalia.tr("actions.move_to_tag_number", { tag = tag }) or noctalia.tr("actions.move_to_tag") - end - if normalized == "setlayout" then - return argument ~= "" and noctalia.tr("actions.layout_value", { layout = argument }) or noctalia.tr("actions.set_layout") - end - if normalized == "setkeymode" then - return argument ~= "" and noctalia.tr("actions.key_mode_value", { mode = argument }) or noctalia.tr("actions.set_key_mode") - end - return noctalia.tr("actions.native", { - action = normalized .. (argument ~= "" and (" " .. argument) or ""), - }) -end - -local function parseFlags(suffix) - local flags = {} - for index = 1, #suffix do - local flag = suffix:sub(index, index):lower() - if flag == "l" then flags.locked = true - elseif flag == "s" then flags.keysym = true - elseif flag == "r" then flags.release = true - elseif flag == "p" then flags.pass = true end - end - return flags -end - -local function addCategory(context, name) - local category = context.byCategory[name] - if category ~= nil then - return category - end - local baseId = slug(name) - local id = baseId - local suffix = 2 - while context.categoryIds[id] do - id = baseId .. "-" .. tostring(suffix) - suffix = suffix + 1 - end - context.categoryIds[id] = true - category = { id = id, name = name, binds = {} } - context.byCategory[name] = category - context.categories[#context.categories + 1] = category - return category -end - -local function stableBindId(context, fields) - local encoded = {} - for _, value in ipairs(fields) do - local field = tostring(value or "") - encoded[#encoded + 1] = tostring(#field) .. ":" .. field - end - local identity = table.concat(encoded) - local count = (context.bindIds[identity] or 0) + 1 - context.bindIds[identity] = count - return "mango:" .. identity .. (count > 1 and (":" .. tostring(count)) or "") -end - --- FNV-1a over the exact source line. The editor recalculates this before a --- write so a bind is never replaced after the file changed behind its back. --- Splitting the prime into 2^24 + 403 retains exact 32-bit arithmetic in --- runtimes where Lua numbers are doubles. -local function xorByte(left, right) - local result = 0 - local place = 1 - for _ = 1, 8 do - if left % 2 ~= right % 2 then - result = result + place - end - left = math.floor(left / 2) - right = math.floor(right / 2) - place = place * 2 - end - return result -end - -local xorByteFast = type(bit32) == "table" and type(bit32.bxor) == "function" and bit32.bxor or xorByte - -local function fingerprint(rawSnippet) - local hash = 2166136261 - for index = 1, #rawSnippet do - local low = hash % 256 - hash = hash - low + xorByteFast(low, rawSnippet:byte(index)) - hash = (hash * 403 + (hash % 256) * 16777216) % 4294967296 - end - return string.format("%08x", hash) -end - -local function sourceLines(source) - local lines = {} - for line in (source .. "\n"):gmatch("([^\n]*)\n") do lines[#lines + 1] = line end - return lines -end - -local function hexDecode(value) - if value == "" or #value % 2 ~= 0 or value:find("[^0-9a-f]") ~= nil then return nil end - local output = {} - for index = 1, #value, 2 do output[#output + 1] = string.char(tonumber(value:sub(index, index + 1), 16)) end - return table.concat(output) -end - -local function hiddenBlockAt(lines, startLine) - local namespace = "^([\t ]*)# Keymap hidden " - if lines[startLine]:match(namespace) == nil then return nil, startLine, false end - local indent, blockId, originalFingerprint = lines[startLine]:match( - namespace .. "v1 begin ([0-9a-f]+) ([0-9a-f]+)$" - ) - if indent == nil or #blockId ~= 8 or #originalFingerprint ~= 8 then return nil, startLine, true end - local marker = indent .. "# Keymap hidden v1" - local escaped = marker:gsub("(%W)", "%%%1") - local encoded, cursor = {}, startLine + 1 - while cursor <= #lines do - local chunk = lines[cursor]:match("^" .. escaped .. " data ([0-9a-f]+)$") - if chunk ~= nil then - if #chunk > 96 or #chunk % 2 ~= 0 then return nil, cursor, true end - encoded[#encoded + 1] = chunk - cursor = cursor + 1 - else - local endId = lines[cursor]:match("^" .. escaped .. " end ([0-9a-f]+)$") - if endId == nil then return nil, math.max(startLine, cursor - 1), true end - local original = hexDecode(table.concat(encoded)) - if #encoded == 0 or endId ~= blockId or original == nil or original == "" - or #original > MAX_HIDDEN_BYTES or fingerprint(original) ~= originalFingerprint - or fingerprint("MangoWC\0" .. original) ~= blockId then return nil, cursor, true end - return { block_id = blockId, original = original, original_fingerprint = originalFingerprint, - raw_snippet = table.concat(lines, "\n", startLine, cursor) }, cursor, true - end - end - return nil, #lines, true -end - -local function editCapabilities(kind, action) - local isKeyboard = kind == "bind" - return { - combo = isKeyboard, - category = isKeyboard, - description = isKeyboard, - command = isKeyboard and trim(action):lower() == "spawn_shell", - activation = isKeyboard, - } -end - -local function disabledEditCapabilities() - return { - combo = false, category = false, description = false, - command = false, activation = false, - } -end - -local function addBind( - context, categoryName, kind, suffix, parts, description, - source, lineNumber, rawSnippet, startLine -) - local modifiers = {} - local key = "" - local action = "" - local args = "" - if kind == "bind" then - if #parts < 3 then return false end - modifiers, key, action, args = parseModifiers(parts[1]), formatKey(parts[2]), parts[3], joinTail(parts, 4) - elseif kind == "axisbind" then - if #parts < 3 then return false end - modifiers = parseModifiers(parts[1]) - key, action, args = AXIS_NAMES[parts[2]:upper()] or titleCase(parts[2]), parts[3], joinTail(parts, 4) - elseif kind == "mousebind" then - if #parts < 3 then return false end - modifiers = parseModifiers(parts[1]) - key, action, args = BUTTON_NAMES[parts[2]:upper()] or titleCase(parts[2]), parts[3], joinTail(parts, 4) - elseif kind == "gesturebind" then - if #parts < 4 then return false end - modifiers = parseModifiers(parts[1]) - key, action, args = tostring(parts[3]) .. "-finger " .. titleCase(parts[2]), parts[4], joinTail(parts, 5) - elseif kind == "switchbind" then - if #parts < 2 then return false end - local state = parts[1]:lower() - key = state == "fold" and "Lid Closed" or (state == "unfold" and "Lid Open" or titleCase(parts[1])) - action, args = parts[2], joinTail(parts, 3) - else - return false - end - - local fields = { context.keymode, kind, table.concat(modifiers, "+"), key, suffix, action, args } - local category = addCategory(context, categoryName) - local activation = parseFlags(suffix).release == true and "release" or "press" - category.binds[#category.binds + 1] = { - id = stableBindId(context, fields), modifiers = modifiers, key = key, - description = description or formatAction(action, args), dispatcher = trim(action), - command = args, action = formatAction(action, args), - mode = context.keymode, kind = kind, flags = parseFlags(suffix), activation = activation, - source = source, line = startLine or lineNumber, - start_line = startLine or lineNumber, end_line = lineNumber, - raw_snippet = rawSnippet, fingerprint = EXACT_SOURCE_FINGERPRINT, - managed = source:match("([^/]+)$") == "keymap.conf", - capabilities = editCapabilities(kind, action), - _rawKey = kind == "bind" and trim(parts[2]) or key, - } - context.total = context.total + 1 - return true -end - -local function hiddenTarget(block, path, startLine, endLine, inheritedCategory, keymode) - local bindLine = "" - for raw in (block.original .. "\n"):gmatch("([^\n]*)\n") do - if trim(raw):match("^bind[lsrp]*%s*=") or trim(raw):match("^axisbind%s*=") - or trim(raw):match("^mousebind%s*=") or trim(raw):match("^gesturebind%s*=") - or trim(raw):match("^switchbind%s*=") then bindLine = raw end - end - local effective, description = extractDescription(trim(bindLine)) - local directive, value = effective:match("^([%w%-]+)%s*=%s*(.*)$") - directive = tostring(directive or ""):lower() - local suffix = directive:match("^bind([lsrp]*)$") - local kind = suffix ~= nil and "bind" or directive - if kind ~= "bind" and kind ~= "axisbind" and kind ~= "mousebind" - and kind ~= "gesturebind" and kind ~= "switchbind" then kind, suffix = "bind", "" end - local markedCategory = block.original:match( - "^%s*#%s*Keymap bind%-category:%s*([^\n]-)%s*\n" - ) - local temporary = { - defaultCategory = inheritedCategory or "", filesRead = 0, files = {}, visited = {}, warnings = {}, - categories = {}, byCategory = {}, categoryIds = {}, bindIds = {}, total = 0, - keymode = keymode or "default", - } - addBind(temporary, markedCategory or inheritedCategory or temporary.defaultCategory, kind, suffix or "", - splitCsv(value or ""), description, path, endLine, block.original, startLine) - local bind = temporary.categories[1] and temporary.categories[1].binds[1] or {} - bind.hidden = true - bind.id = "hidden:mango:" .. fingerprint(path .. "\0" .. tostring(startLine) .. "\0" .. block.block_id) - bind.source, bind.line, bind.start_line, bind.end_line = path, startLine, startLine, endLine - bind.raw_snippet, bind.fingerprint = block.raw_snippet, fingerprint(block.raw_snippet) - bind.original_fingerprint = block.original_fingerprint - bind.category = markedCategory or inheritedCategory or temporary.defaultCategory - bind.capabilities = { restore = true, delete = true } - return bind -end - -local function parseFile(context, path, optional, depth) - if context.filesRead >= MAX_FILES then - context.warnings[#context.warnings + 1] = "mangowc_file_limit_reached" - return - end - if context.visited[path] then - return - end - context.visited[path] = true - local source = noctalia.readFile(path) - if type(source) ~= "string" then - if not optional then - local prefix = depth == 0 and "mangowc_config_unreadable:" or "mangowc_required_source_unreadable:" - context.warnings[#context.warnings + 1] = prefix .. path - if depth > 0 then - context.fatalError = "mangowc_required_source_missing" - end - end - return - end - context.filesRead = context.filesRead + 1 - context.files[#context.files + 1] = path - if #source > MAX_SOURCE_BYTES then - source = source:sub(1, MAX_SOURCE_BYTES) - context.warnings[#context.warnings + 1] = "mangowc_source_truncated:" .. path - end - - local currentCategory = nil - local pendingBindCategory = nil - local pendingMarkerLine = nil - local pendingMarkerRaw = nil - local lineNumber = 0 - local hiddenLines = sourceLines(source) - local hiddenCategory = nil - local hiddenKeymode = context.keymode - local hiddenCursor = 1 - local hiddenConsumed = {} - while hiddenCursor <= #hiddenLines do - local block, blockEnd, candidate = hiddenBlockAt(hiddenLines, hiddenCursor) - if candidate then - for consumed = hiddenCursor, blockEnd do hiddenConsumed[consumed] = true end - if block == nil then - context.warnings[#context.warnings + 1] = "hidden_block_invalid:" .. path .. ":" .. tostring(hiddenCursor) - else - context.hidden[#context.hidden + 1] = hiddenTarget( - block, path, hiddenCursor, blockEnd, - hiddenCategory or context.defaultCategory, hiddenKeymode - ) - end - hiddenCursor = blockEnd + 1 - else - local raw = hiddenLines[hiddenCursor] - local category = extractCategory(raw) - if category ~= nil then hiddenCategory = category end - local effective = trim(raw:sub(1, (findUnquotedComment(raw) or (#raw + 1)) - 1)) - local directive, value = effective:match("^([%w%-]+)%s*=%s*(.*)$") - if directive ~= nil and directive:lower() == "keymode" then - hiddenKeymode = trim(value) ~= "" and trim(value) or "default" - end - hiddenCursor = hiddenCursor + 1 - end - end - for rawLine in (source .. "\n"):gmatch("([^\n]*)\n") do - lineNumber = lineNumber + 1 - if not hiddenConsumed[lineNumber] then - local commentAt = findUnquotedComment(rawLine) - local effective = trim(commentAt ~= nil and rawLine:sub(1, commentAt - 1) or rawLine) - if effective == "" then - local bindCategory = rawLine:match( - "^%s*#%s*Keymap bind%-category:%s*(.-)%s*$" - ) - if bindCategory ~= nil and bindCategory ~= "" then - pendingBindCategory = bindCategory - pendingMarkerLine = lineNumber - pendingMarkerRaw = rawLine - else - local category = extractCategory(rawLine) - if category ~= nil then currentCategory = category end - end - else - local cleanLine, description = extractDescription(effective) - local directive, value = cleanLine:match("^([%w%-]+)%s*=%s*(.*)$") - if directive ~= nil then - directive = directive:lower() - if directive == "source" or directive == "source-optional" then - local included, warning = resolveSource(dirname(path), value) - if warning ~= nil then - context.warnings[#context.warnings + 1] = warning - elseif included ~= nil then - parseFile(context, included, directive == "source-optional", depth + 1) - end - elseif directive == "keymode" then - context.keymode = trim(value) ~= "" and trim(value) or "default" - else - local suffix = directive:match("^bind([lsrp]*)$") - local kind = suffix ~= nil and "bind" or nil - if kind == nil and (directive == "axisbind" or directive == "mousebind" - or directive == "gesturebind" or directive == "switchbind") then - kind, suffix = directive, "" - end - if kind ~= nil then - local rawSnippet = pendingMarkerRaw ~= nil - and (pendingMarkerRaw .. "\n" .. rawLine) or rawLine - if not addBind( - context, pendingBindCategory or currentCategory or context.defaultCategory, - kind, suffix, splitCsv(value), description, path, lineNumber, - rawSnippet, pendingMarkerLine - ) then - context.warnings[#context.warnings + 1] = "mangowc_invalid_bind:" - .. path .. ":" .. tostring(lineNumber) - end - end - end - end - pendingBindCategory = nil - pendingMarkerLine = nil - pendingMarkerRaw = nil - end - end - end -end - -local function cleanBind(bind) - return { - id = bind.id, modifiers = bind.modifiers, key = bind.key, - description = bind.description, dispatcher = bind.dispatcher, - mode = bind.mode, kind = bind.kind, flags = bind.flags, - activation = type(bind.flags) == "table" and bind.flags.release == true and "release" or "press", - command = bind.command, action = bind.action, managed = bind.managed == true, - source = bind.source, line = bind.line, - start_line = bind.start_line, end_line = bind.end_line, - raw_snippet = bind.raw_snippet, fingerprint = bind.fingerprint, - capabilities = bind.capabilities, - } -end - -local function descriptionTemplate(description) - local template, replacements = description:gsub("%f[%d]%d+%f[%D]", "%%N%%") - return template, replacements > 0 -end - -local function mergedBind(run) - local first = run[1].bind - local last = run[#run].bind - local range = tostring(run[1].number) .. "-" .. tostring(run[#run].number) - local startLine = first.start_line or first.line - local endLine = first.end_line or first.line - for _, item in ipairs(run) do - local itemStart = item.bind.start_line or item.bind.line - local itemEnd = item.bind.end_line or item.bind.line - if itemStart ~= nil and (startLine == nil or itemStart < startLine) then startLine = itemStart end - if itemEnd ~= nil and (endLine == nil or itemEnd > endLine) then endLine = itemEnd end - end - return { - id = "range:" .. first.id .. ":" .. last.id, - modifiers = first.modifiers, - key = range, - description = first.description:gsub("%f[%d]%d+%f[%D]", range, 1), - dispatcher = first.dispatcher, - mode = first.mode, - kind = first.kind, - flags = first.flags, - activation = type(first.flags) == "table" and first.flags.release == true and "release" or "press", - command = first.command, managed = first.managed == true, - source = first.source, - line = first.line, - start_line = startLine, end_line = endLine, - raw_snippet = "", fingerprint = "", - -- A displayed numeric range can represent interleaved, non-contiguous - -- source lines, so it deliberately cannot be edited as a single bind. - capabilities = disabledEditCapabilities(), - } -end - --- Merge interleaved numeric runs (for example view 1, tag 1, view 2, --- tag 2...). Mode is part of the signature so keymodes never bleed together. -local function mergeSequential(binds) - if #binds < 3 then - local output = {} - for _, bind in ipairs(binds) do output[#output + 1] = cleanBind(bind) end - return output - end - - local groups = {} - for index, bind in ipairs(binds) do - local rawKey = tostring(bind._rawKey or "") - local number = rawKey:match("^%d+$") and tonumber(rawKey) or nil - local template, hasNumber = descriptionTemplate(bind.description) - if number ~= nil and hasNumber then - local signature = table.concat({ - tostring(bind.mode or "default"), - table.concat(bind.modifiers or {}, "+"), - tostring(bind.dispatcher or ""), - template, - }, "|") - groups[signature] = groups[signature] or {} - groups[signature][#groups[signature] + 1] = { index = index, number = number, bind = bind } - end - end - - local replacements = {} - local skipped = {} - for _, group in pairs(groups) do - table.sort(group, function(a, b) - return a.number == b.number and a.index < b.index or a.number < b.number - end) - local runStart = 1 - for cursor = 2, #group + 1 do - local continues = cursor <= #group and group[cursor].number == group[cursor - 1].number + 1 - if not continues then - if cursor - runStart >= 3 then - local run = {} - local insertionIndex = group[runStart].index - for itemIndex = runStart, cursor - 1 do - local item = group[itemIndex] - run[#run + 1] = item - if item.index < insertionIndex then insertionIndex = item.index end - end - replacements[insertionIndex] = mergedBind(run) - for _, item in ipairs(run) do - if item.index ~= insertionIndex then skipped[item.index] = true end - end - end - runStart = cursor - end - end - end - - local output = {} - for index, bind in ipairs(binds) do - if replacements[index] ~= nil then - output[#output + 1] = replacements[index] - elseif not skipped[index] then - output[#output + 1] = cleanBind(bind) - end - end - return output -end - -local function parseConfig(source) - local context = { - defaultCategory = noctalia.tr("category.other"), - filesRead = 0, files = {}, visited = {}, warnings = {}, categories = {}, - byCategory = {}, categoryIds = {}, bindIds = {}, total = 0, hidden = {}, - keymode = "default", fatalError = nil, - } - parseFile(context, source, false, 0) - if config("merge_sequential", true) == true then - for _, category in ipairs(context.categories) do - category.binds = mergeSequential(category.binds) - end - else - for _, category in ipairs(context.categories) do - local clean = {} - for _, bind in ipairs(category.binds) do clean[#clean + 1] = cleanBind(bind) end - category.binds = clean - end - end - return context -end - -local function snapshot(status, source, errorCode, categories, total, warnings, updatedAt, hidden) - return { - status = status, error = errorCode or "", compositor = "MangoWC", source = source, - updated_at = updatedAt or "", total = total or 0, categories = categories or {}, - warnings = warnings or {}, - hidden = hidden or {}, - } -end - -local function publishError(source, errorCode, warnings) - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("error", source, errorCode, {}, 0, warnings, os.date("%H:%M:%S")) - ) -end - -local function finishRefresh() - refreshing = false - if refreshQueued then - refreshQueued = false - refresh() - end -end - -function refresh() - if not isActive() then - return - end - if refreshing then - refreshQueued = true - return - end - refreshing = true - - local source = configPath() - -- The panel keeps its last ready snapshot while this status is loading. - -- Avoid serializing the complete bind tree a second time on every refresh. - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("loading", source, "", {}, 0, {}, "", {}) - ) - - local parsed = parseConfig(source) - if #parsed.files == 0 then - publishError(source, "mangowc_config_unreadable", parsed.warnings) - finishRefresh() - return - end - if parsed.fatalError ~= nil then - publishError(source, parsed.fatalError, parsed.warnings) - finishRefresh() - return - end - if parsed.total == 0 and #parsed.hidden == 0 then - publishError(source, "mangowc_no_binds", parsed.warnings) - finishRefresh() - return - end - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("ready", source, "", parsed.categories, parsed.total, parsed.warnings, os.date("%H:%M:%S"), parsed.hidden) - ) - finishRefresh() -end - -function onIpc(event, _payload) - if event == "refresh" then refresh() end -end - -function onConfigChanged() - refresh() -end - -noctalia.state.watch(REFRESH_REQUEST_KEY, function(_request) - refresh() -end) - -refresh() diff --git a/keymap/niri_service.luau b/keymap/niri_service.luau deleted file mode 100644 index 06b380e..0000000 --- a/keymap/niri_service.luau +++ /dev/null @@ -1,985 +0,0 @@ ---!nonstrict --- Niri data service for Keymap. --- Niri IPC does not expose keybindings, so this service reads the active KDL --- config and positional include files. It deliberately performs no subprocesses. - -local SNAPSHOT_KEY = "keymap.snapshot" -local REFRESH_REQUEST_KEY = "keymap.refresh_request" -local MAX_FILES = 64 -local MAX_SOURCE_BYTES = 512 * 1024 -local MAX_HIDDEN_BYTES = 2 * 1024 * 1024 -local EXACT_SOURCE_FINGERPRINT = "exact-v1" - -local refreshing = false -local refreshQueued = false - -local function config(key, fallback) - local value = noctalia.getConfig(key) - if value == nil then - return fallback - end - return value -end - -local function trim(value) - if type(value) ~= "string" then - return "" - end - return value:match("^%s*(.-)%s*$") or "" -end - -local function env(name) - return trim(noctalia.getenv(name)) -end - --- Shared compositor priority used by all three parser services. -local function detectedCompositor() - local selected = trim(config("compositor", "auto")):lower() - if selected ~= "" and selected ~= "auto" then - if selected == "mango" then - return "mangowc" - end - return selected - end - if env("NIRI_SOCKET") ~= "" then - return "niri" - end - if env("HYPRLAND_INSTANCE_SIGNATURE") ~= "" then - return "hyprland" - end - if env("MANGO_INSTANCE_SIGNATURE") ~= "" then - return "mangowc" - end - local desktop = (env("XDG_CURRENT_DESKTOP") .. ":" .. env("XDG_SESSION_DESKTOP") - .. ":" .. env("DESKTOP_SESSION")):lower() - if desktop:find("niri", 1, true) ~= nil then - return "niri" - end - if desktop:find("hyprland", 1, true) ~= nil then - return "hyprland" - end - if desktop:find("mangowc", 1, true) ~= nil or desktop:find("mango", 1, true) ~= nil then - return "mangowc" - end - return "unknown" -end - -local function normalizePath(path) - local absolute = path:sub(1, 1) == "/" - local parts = {} - for part in path:gmatch("[^/]+") do - if part == ".." then - if #parts > 0 and parts[#parts] ~= ".." then - table.remove(parts) - elseif not absolute then - parts[#parts + 1] = part - end - elseif part ~= "." and part ~= "" then - parts[#parts + 1] = part - end - end - local normalized = table.concat(parts, "/") - if absolute then - return "/" .. normalized - end - return normalized ~= "" and normalized or "." -end - -local function dirname(path) - local directory = path:match("^(.*)/[^/]*$") - return directory ~= nil and directory ~= "" and directory or "." -end - -local function expandHome(path) - if path == "~" then - return env("HOME") - end - if path:sub(1, 2) == "~/" then - return env("HOME") .. path:sub(2) - end - return path -end - -local function sourcePath() - local configured = trim(config("niri_config", "")) - if configured == "" then - configured = "~/.config/niri/config.kdl" - end - local expanded = normalizePath(expandHome(configured)) - if noctalia.fileExists(expanded) then return expanded end - - local xdg = env("XDG_CONFIG_HOME") - local niriDir = normalizePath((xdg ~= "" and xdg or (env("HOME") .. "/.config")) .. "/niri") - local candidates = { - normalizePath(expandHome(env("NIRI_CONFIG"))), - normalizePath(niriDir .. "/config.kdl"), - } - for _, path in ipairs(candidates) do - if path ~= "." and noctalia.fileExists(path) then return path end - end - - local entries = noctalia.listDir(niriDir) - if type(entries) ~= "table" then return expanded end - table.sort(entries) - local bestPath, bestScore = nil, -1 - for _, name in ipairs(entries) do - if type(name) == "string" and name:match("%.kdl$") and name ~= "keymap.kdl" - and not name:lower():find("backup", 1, true) then - local path = normalizePath(niriDir .. "/" .. name) - local source = noctalia.readFile(path) - if type(source) == "string" and #source <= MAX_SOURCE_BYTES then - local _, bindBlocks = source:gsub("%f[%a]binds%s*{", "") - local _, includes = source:gsub("%f[%a]include%s+", "") - local score = bindBlocks * 20 + includes * 2 - if name:lower():find("bind", 1, true) then score = score + 5 end - if score > bestScore then bestPath, bestScore = path, score end - end - end - end - return bestScore > 0 and bestPath or expanded -end - -local function resolveInclude(currentFile, path) - local expanded = expandHome(path) - if expanded:sub(1, 1) == "/" then - return normalizePath(expanded) - end - return normalizePath(dirname(currentFile) .. "/" .. expanded) -end - -local ESCAPES = { - n = "\n", - r = "\r", - t = "\t", - ["\\"] = "\\", - ['"'] = '"', - ["'"] = "'", -} - -local function quotedLiteral(text, startAt) - local start = startAt or 1 - while start <= #text and text:sub(start, start):match("%s") do - start = start + 1 - end - local quote = text:sub(start, start) - if quote ~= '"' and quote ~= "'" then - return nil, nil - end - local output = {} - local escaped = false - for index = start + 1, #text do - local char = text:sub(index, index) - if escaped then - output[#output + 1] = ESCAPES[char] or char - escaped = false - elseif char == "\\" then - escaped = true - elseif char == quote then - return table.concat(output), index + 1 - else - output[#output + 1] = char - end - end - return nil, nil -end - --- Returns executable code and a trailing // comment. Comment markers inside --- strings are preserved. KDL block comments remain stateful across lines. -local function stripComments(line, inBlockComment) - local code = {} - local comment = nil - local quote = nil - local escaped = false - local index = 1 - while index <= #line do - local char = line:sub(index, index) - local pair = line:sub(index, index + 1) - if inBlockComment then - if pair == "*/" then - inBlockComment = false - index = index + 2 - else - index = index + 1 - end - elseif quote ~= nil then - code[#code + 1] = char - if escaped then - escaped = false - elseif char == "\\" then - escaped = true - elseif char == quote then - quote = nil - end - index = index + 1 - elseif char == '"' or char == "'" then - quote = char - code[#code + 1] = char - index = index + 1 - elseif pair == "//" then - comment = line:sub(index + 2) - break - elseif pair == "/*" then - inBlockComment = true - index = index + 2 - else - code[#code + 1] = char - index = index + 1 - end - end - return table.concat(code), comment, inBlockComment -end - -local function braceDelta(text) - local delta = 0 - local quote = nil - local escaped = false - for index = 1, #text do - local char = text:sub(index, index) - if quote ~= nil then - if escaped then - escaped = false - elseif char == "\\" then - escaped = true - elseif char == quote then - quote = nil - end - elseif char == '"' or char == "'" then - quote = char - elseif char == "{" then - delta = delta + 1 - elseif char == "}" then - delta = delta - 1 - end - end - return delta -end - -local function firstOpenBrace(text) - local quote = nil - local escaped = false - for index = 1, #text do - local char = text:sub(index, index) - if quote ~= nil then - if escaped then - escaped = false - elseif char == "\\" then - escaped = true - elseif char == quote then - quote = nil - end - elseif char == '"' or char == "'" then - quote = char - elseif char == "{" then - return index - end - end - return nil -end - -local function contentBeforeOuterClose(text) - local depth = 1 - local quote = nil - local escaped = false - for index = 1, #text do - local char = text:sub(index, index) - if quote ~= nil then - if escaped then - escaped = false - elseif char == "\\" then - escaped = true - elseif char == quote then - quote = nil - end - elseif char == '"' or char == "'" then - quote = char - elseif char == "{" then - depth = depth + 1 - elseif char == "}" then - depth = depth - 1 - if depth == 0 then - return text:sub(1, index - 1) - end - end - end - return text -end - -local function includeNode(code) - local rest = code:match("^%s*include%s+(.+)$") - if rest == nil then - return nil, false - end - local optional = rest:match("%f[%w]optional%s*=%s*true%f[^%w]") ~= nil - local quoteAt = rest:find('"', 1, true) or rest:find("'", 1, true) - if quoteAt == nil then - return nil, optional - end - return quotedLiteral(rest, quoteAt), optional -end - -local MODIFIER_ALIASES = { - Control = "Ctrl", Ctrl = "Ctrl", Win = "Super", Super = "Super", - Mod = "Mod", Alt = "Alt", Shift = "Shift", - ISO_Level3_Shift = "Mod5", Mod5 = "Mod5", - ISO_Level5_Shift = "ISO_Level5_Shift", -} - -local KEY_NAMES = { - RETURN = "Enter", SPACE = "Space", ESCAPE = "Esc", PRINT = "PrtSc", - PRIOR = "PgUp", NEXT = "PgDn", - WHEELSCROLLUP = "Scroll Up", WHEELSCROLLDOWN = "Scroll Down", - WHEELSCROLLLEFT = "Scroll Left", WHEELSCROLLRIGHT = "Scroll Right", - TOUCHPADSCROLLUP = "Touchpad Up", TOUCHPADSCROLLDOWN = "Touchpad Down", - TOUCHPADSCROLLLEFT = "Touchpad Left", TOUCHPADSCROLLRIGHT = "Touchpad Right", - MOUSELEFT = "Left Click", MOUSERIGHT = "Right Click", MOUSEMIDDLE = "Middle Click", - MOUSEFORWARD = "Mouse Forward", MOUSEBACK = "Mouse Back", - XF86AUDIORAISEVOLUME = "Vol Up", XF86AUDIOLOWERVOLUME = "Vol Down", - XF86AUDIOMUTE = "Mute", XF86AUDIOMICMUTE = "Mic Mute", - XF86AUDIOPLAY = "Play", XF86AUDIOPAUSE = "Pause", XF86AUDIONEXT = "Next", - XF86AUDIOPREV = "Prev", XF86AUDIOSTOP = "Stop", - XF86MONBRIGHTNESSUP = "Bright Up", XF86MONBRIGHTNESSDOWN = "Bright Down", -} - -local function splitCombo(combo) - local modifiers = {} - local mainKey = "" - local signature = {} - for part in combo:gmatch("[^+]+") do - local item = trim(part) - local modifier = MODIFIER_ALIASES[item] - if modifier ~= nil then - modifiers[#modifiers + 1] = modifier - signature[#signature + 1] = modifier:lower() - elseif item ~= "" then - mainKey = item - signature[#signature + 1] = item:lower() - end - end - return modifiers, KEY_NAMES[mainKey:upper()] or mainKey, mainKey, table.concat(signature, "+") -end - -local function bindHeader(prefix) - local header = trim(prefix) - if header:sub(1, 1) == '"' or header:sub(1, 1) == "'" then - local combo, nextAt = quotedLiteral(header, 1) - return combo, combo ~= nil and trim(header:sub(nextAt)) or nil - end - local combo, attributes = header:match("^(%S+)%s*(.-)%s*$") - return combo, attributes -end - -local function titleAttribute(attributes) - local _, valueAt = (attributes or ""):find("hotkey%-overlay%-title%s*=%s*") - if valueAt == nil then - return nil - end - local suffix = attributes:sub(valueAt + 1) - if suffix:match("^%s*null%f[^%w_]") then - return nil - end - local value = quotedLiteral(suffix, 1) - if value == nil then - return nil - end - value = value:gsub("<[^>]*>", "") - value = value:gsub("&", "&"):gsub("<", "<"):gsub(">", ">") - return trim(value) -end - -local ACTION_CATEGORIES = { - spawn = "category.niri.applications", ["spawn-sh"] = "category.niri.applications", - ["focus-column"] = "category.niri.column_navigation", ["focus-window"] = "category.niri.window_focus", - ["focus-workspace"] = "category.niri.workspace_navigation", - ["move-column-to-workspace"] = "category.niri.workspace_management", - ["move-window-to-workspace"] = "category.niri.workspace_management", - ["move-column"] = "category.niri.move_columns", ["move-window"] = "category.niri.move_windows", - ["consume-window"] = "category.niri.window_management", ["expel-window"] = "category.niri.window_management", - ["close-window"] = "category.niri.window_management", ["fullscreen-window"] = "category.niri.window_management", - ["maximize-column"] = "category.niri.column_management", ["set-column-width"] = "category.niri.column_width", - ["switch-preset-column-width"] = "category.niri.column_width", ["reset-window-height"] = "category.niri.window_size", - screenshot = "category.niri.screenshots", ["power-off-monitors"] = "category.niri.power", - ["power-on-monitors"] = "category.niri.power", quit = "category.niri.system", - ["toggle-animation"] = "category.niri.animations", -} - -local function actionVerb(action) - return action:match("^%s*([%w_-]+)") or "" -end - -local function actionDescription(action, verb) - if verb == "spawn" or verb == "spawn-sh" then - local command = quotedLiteral(action:sub(#verb + 1), 1) - if command ~= nil and command ~= "" then - return noctalia.tr("actions.run", { command = command }) - end - end - return noctalia.tr("actions.native", { action = trim(action:gsub(";%s*$", "")) }) -end - -local function actionCategory(action, verb) - local lower = action:lower() - if lower:find("noctalia", 1, true) ~= nil - and (lower:find(" msg ", 1, true) ~= nil or lower:find(" ipc ", 1, true) ~= nil) - then - return noctalia.tr("category.noctalia") - end - local best = nil - local bestLength = -1 - for prefix, category in pairs(ACTION_CATEGORIES) do - if verb:sub(1, #prefix) == prefix and #prefix > bestLength then - best = category - bestLength = #prefix - end - end - return noctalia.tr(best or "category.other") -end - -local function slug(value) - local id = value:lower():gsub("[^%a%d]+", "-"):gsub("^-+", ""):gsub("-+$", "") - return id ~= "" and id or "category" -end - -local function xorByte(left, right) - local result = 0 - local place = 1 - for _ = 1, 8 do - local leftBit = left % 2 - local rightBit = right % 2 - if leftBit ~= rightBit then result = result + place end - left = math.floor(left / 2) - right = math.floor(right / 2) - place = place * 2 - end - return result -end - -local xorByteFast = type(bit32) == "table" and type(bit32.bxor) == "function" and bit32.bxor or xorByte - --- Splitting the FNV prime (0x01000193) into 2^24 + 403 keeps every --- intermediate below the exact integer limit of a Lua/Luau number. Luau's --- native bit32 fast path avoids eight interpreted operations for every byte; --- the arithmetic fallback keeps the parser usable in plain-Lua tests. -local function stableFingerprint(value) - local hash = 2166136261 - for index = 1, #value do - local low = hash % 256 - hash = hash - low + xorByteFast(low, value:byte(index)) - hash = (hash * 403 + (hash % 256) * 16777216) % 4294967296 - end - return string.format("%08x", hash) -end - -local function stableBindId(fields) - local identity = {} - for _, value in ipairs(fields) do - local field = tostring(value or "") - identity[#identity + 1] = tostring(#field) .. ":" .. field - end - return "niri:" .. table.concat(identity) -end - -local function sourceLines(source) - local lines = {} - for line in (source .. "\n"):gmatch("([^\n]*)\n") do lines[#lines + 1] = line end - return lines -end - -local function hexDecode(value) - if value == "" or #value % 2 ~= 0 or value:find("[^0-9a-f]") ~= nil then return nil end - local output = {} - for index = 1, #value, 2 do output[#output + 1] = string.char(tonumber(value:sub(index, index + 1), 16)) end - return table.concat(output) -end - -local function hiddenBlockAt(lines, startLine) - local namespace = "^([\t ]*)// Keymap hidden " - if lines[startLine]:match(namespace) == nil then return nil, startLine, false end - local indent, blockId, originalFingerprint = lines[startLine]:match( - namespace .. "v1 begin ([0-9a-f]+) ([0-9a-f]+)$" - ) - if indent == nil or #blockId ~= 8 or #originalFingerprint ~= 8 then return nil, startLine, true end - local marker = indent .. "// Keymap hidden v1" - local escaped = marker:gsub("(%W)", "%%%1") - local encoded, cursor = {}, startLine + 1 - while cursor <= #lines do - local chunk = lines[cursor]:match("^" .. escaped .. " data ([0-9a-f]+)$") - if chunk ~= nil then - if #chunk > 96 or #chunk % 2 ~= 0 then return nil, cursor, true end - encoded[#encoded + 1] = chunk - cursor = cursor + 1 - else - local endId = lines[cursor]:match("^" .. escaped .. " end ([0-9a-f]+)$") - if endId == nil then return nil, math.max(startLine, cursor - 1), true end - local original = hexDecode(table.concat(encoded)) - if #encoded == 0 or endId ~= blockId or original == nil or original == "" - or #original > MAX_HIDDEN_BYTES or stableFingerprint(original) ~= originalFingerprint - or stableFingerprint("Niri\0" .. original) ~= blockId then return nil, cursor, true end - return { block_id = blockId, original = original, original_fingerprint = originalFingerprint, - raw_snippet = table.concat(lines, "\n", startLine, cursor) }, cursor, true - end - end - return nil, #lines, true -end - -local function hiddenTarget(block, path, startLine, endLine, inheritedCategory) - local original = block.original - local markedCategory = original:match( - "^%s*//%s*Keymap bind%-category:%s*([^\n]-)%s*\n" - ) - local codeLines, inBlock = {}, false - for raw in (original .. "\n"):gmatch("([^\n]*)\n") do - local code - code, _, inBlock = stripComments(raw, inBlock) - if trim(code) ~= "" then codeLines[#codeLines + 1] = code end - end - local code = table.concat(codeLines, "\n") - local openAt = firstOpenBrace(code) - local combo, attributes, action = "", "", "" - if openAt ~= nil then - combo, attributes = bindHeader(code:sub(1, openAt - 1)) - action = contentBeforeOuterClose(code:sub(openAt + 1)) - end - combo, attributes = combo or "", attributes or "" - local modifiers, key, _, signature = splitCombo(combo) - local normalizedAction = trim(action):gsub(";%s*$", "") - local verb = actionVerb(normalizedAction) - local description = titleAttribute(attributes) - if description == nil or description == "" then description = actionDescription(normalizedAction, verb) end - local command = verb == "spawn-sh" and (quotedLiteral(normalizedAction:sub(#verb + 1), 1) or "") or "" - return { - hidden = true, id = "hidden:niri:" .. stableFingerprint(path .. "\0" .. tostring(startLine) .. "\0" .. block.block_id), - source = path, line = startLine, start_line = startLine, end_line = endLine, - raw_snippet = block.raw_snippet, fingerprint = stableFingerprint(block.raw_snippet), - original_fingerprint = block.original_fingerprint, modifiers = modifiers, key = key, - description = description, dispatcher = verb, command = command, action = normalizedAction, - activation = "press", category = markedCategory or inheritedCategory or actionCategory(normalizedAction, verb), - capabilities = { restore = true, delete = true }, _signature = signature, - } -end - -local function cleanBind(bind) - return { - id = bind.id, modifiers = bind.modifiers, key = bind.key, - description = bind.description, dispatcher = bind.dispatcher, - activation = "press", command = bind.command, action = bind.action, - source = bind.source, start_line = bind.start_line, end_line = bind.end_line, - raw_snippet = bind.raw_snippet, fingerprint = bind.fingerprint, - managed = bind.managed == true, capabilities = bind.capabilities, - } -end - -local function mergeSequential(binds) - local groups = {} - for index, bind in ipairs(binds) do - local number = bind._rawKey:match("^%d+$") and tonumber(bind._rawKey) or nil - local template, replacements = bind.description:gsub("%f[%d]%d+%f[%D]", "%%N%%") - if number ~= nil and replacements > 0 then - local signature = table.concat(bind.modifiers, "+") .. "|" .. bind.dispatcher .. "|" .. template - groups[signature] = groups[signature] or {} - groups[signature][#groups[signature] + 1] = { index = index, number = number, bind = bind } - end - end - local replacements = {} - local skipped = {} - for _, group in pairs(groups) do - table.sort(group, function(a, b) - return a.number == b.number and a.index < b.index or a.number < b.number - end) - local runStart = 1 - for cursor = 2, #group + 1 do - local continues = cursor <= #group and group[cursor].number == group[cursor - 1].number + 1 - if not continues then - if cursor - runStart >= 3 then - local first = group[runStart] - local last = group[cursor - 1] - local range = tostring(first.number) .. "-" .. tostring(last.number) - local merged = cleanBind(first.bind) - merged.id = "range:" .. first.bind.id .. ":" .. last.bind.id - merged.key = range - merged.description = first.bind.description:gsub("%f[%d]%d+%f[%D]", range, 1) - replacements[first.index] = merged - for item = runStart + 1, cursor - 1 do - skipped[group[item].index] = true - end - end - runStart = cursor - end - end - end - local output = {} - for index, bind in ipairs(binds) do - -- An editable range cannot safely carry the provenance of one real bind. - -- Preserve every effective record individually once provenance is present. - if bind.fingerprint ~= nil then - output[#output + 1] = cleanBind(bind) - elseif replacements[index] ~= nil then - output[#output + 1] = replacements[index] - elseif not skipped[index] then - output[#output + 1] = cleanBind(bind) - end - end - return output -end - -local function buildCategories(records) - local shouldMerge = config("merge_sequential", true) == true - local byName = {} - local order = {} - local seen = {} - local total = 0 - for _, bind in ipairs(records) do - if not bind._overridden then - if not seen[bind._category] then - seen[bind._category] = true - order[#order + 1] = bind._category - end - byName[bind._category] = byName[bind._category] or {} - byName[bind._category][#byName[bind._category] + 1] = bind - total = total + 1 - end - end - local categories = {} - local usedIds = {} - for _, name in ipairs(order) do - local baseId = slug(name) - local id = baseId - local suffix = 2 - while usedIds[id] do - id = baseId .. "-" .. tostring(suffix) - suffix = suffix + 1 - end - usedIds[id] = true - local binds = byName[name] - local output = {} - if shouldMerge then - output = mergeSequential(binds) - else - for _, bind in ipairs(binds) do - output[#output + 1] = cleanBind(bind) - end - end - categories[#categories + 1] = { id = id, name = name, binds = output } - end - return categories, total -end - -local function parseBind(combo, attributes, action, category, records, activeByCombo, provenance) - local modifiers, key, rawKey, signature = splitCombo(combo) - local normalizedAction = trim(action):gsub(";%s*$", "") - local verb = actionVerb(normalizedAction) - if rawKey == "" or verb == "" then - return - end - local previous = activeByCombo[signature] - if previous ~= nil then - previous._overridden = true - end - local description = titleAttribute(attributes) - if description == nil or description == "" then - description = actionDescription(normalizedAction, verb) - end - local command = "" - if verb == "spawn-sh" then - command = quotedLiteral(normalizedAction:sub(#verb + 1), 1) or "" - end - local rawSnippet = provenance.raw_snippet or "" - local bind = { - id = stableBindId({ signature, verb, normalizedAction }), - modifiers = modifiers, key = key, description = description, dispatcher = verb, - activation = "press", command = command, action = normalizedAction, - source = provenance.source, start_line = provenance.start_line, - end_line = provenance.end_line, raw_snippet = rawSnippet, - fingerprint = EXACT_SOURCE_FINGERPRINT, - managed = provenance.source:match("([^/]+)$") == "keymap.kdl", - capabilities = { - combo = true, category = true, description = true, - command = verb == "spawn-sh", activation = false, - }, - _rawKey = rawKey, _category = category or actionCategory(normalizedAction, verb), - } - records[#records + 1] = bind - activeByCombo[signature] = bind -end - -local function parseConfig(root, rootSource) - local records = {} - local hidden = {} - local activeByCombo = {} - local warnings = {} - local warningSeen = {} - local visiting = {} - local filesRead = 0 - local fatalError = nil - - local function warn(value) - if not warningSeen[value] then - warningSeen[value] = true - warnings[#warnings + 1] = value - end - end - - local parseFile - parseFile = function(path, optional, providedSource) - if visiting[path] then - warn("niri_include_cycle:" .. path) - return - end - if filesRead >= MAX_FILES then - warn("niri_file_limit_reached") - return - end - local source = providedSource or noctalia.readFile(path) - if type(source) ~= "string" then - warn((optional and "niri_optional_include_missing:" or "niri_include_unreadable:") .. path) - if not optional then - fatalError = "niri_required_include_missing" - end - return - end - filesRead = filesRead + 1 - visiting[path] = true - if #source > MAX_SOURCE_BYTES then - source = source:sub(1, MAX_SOURCE_BYTES) - warn("niri_source_truncated:" .. path) - end - - local inBlockComment = false - local topDepth = 0 - local inBinds = false - local bindsDepth = 0 - local currentCategory = nil - local pendingBindCategory = nil - local pendingMarkerLine = nil - local pendingMarkerRaw = nil - local currentBind = nil - local slashdashDepth = nil - local lineNumber = 0 - -- Hidden sentinels are uncommon. Avoid a second character-by-character - -- pass over every ordinary config: on large stock Niri configs that pass - -- alone can consume a substantial part of Luau's callback CPU budget. - if source:find("// Keymap hidden ", 1, true) ~= nil then - local hiddenLines = sourceLines(source) - local hiddenCategory = nil - local hiddenCursor = 1 - while hiddenCursor <= #hiddenLines do - local block, blockEnd, candidate = hiddenBlockAt(hiddenLines, hiddenCursor) - if candidate then - if block == nil then - warn("hidden_block_invalid:" .. path .. ":" .. tostring(hiddenCursor)) - else - hidden[#hidden + 1] = hiddenTarget(block, path, hiddenCursor, blockEnd, hiddenCategory) - end - hiddenCursor = blockEnd + 1 - else - local _, comment = stripComments(hiddenLines[hiddenCursor], false) - local label = type(comment) == "string" and comment:match('^%s*#?%s*"([^\"]+)"%s*$') or nil - if label ~= nil and label ~= "" then hiddenCategory = label end - hiddenCursor = hiddenCursor + 1 - end - end - end - - -- Most split Niri setups also include theme, output, input, and window - -- rule files. Once hidden sentinels have been handled, a file without - -- either keyword cannot contribute binds or extend the include graph. - -- This cheap rejection keeps unrelated config files out of the parser's - -- character-level brace/comment scan. - if source:find("binds", 1, true) == nil and source:find("include", 1, true) == nil then - visiting[path] = nil - return - end - - local function finishBind() - local action = contentBeforeOuterClose(table.concat(currentBind.parts, "\n")) - parseBind( - currentBind.combo, currentBind.attributes, action, currentBind.category, - records, activeByCombo, - { - source = path, start_line = currentBind.start_line, - end_line = lineNumber, raw_snippet = table.concat(currentBind.raw_lines, "\n"), - } - ) - currentBind = nil - end - - for rawLine in (source .. "\n"):gmatch("([^\n]*)\n") do - lineNumber = lineNumber + 1 - local code, comment - code, comment, inBlockComment = stripComments(rawLine, inBlockComment) - local stripped = trim(code) - if slashdashDepth ~= nil then - slashdashDepth = slashdashDepth + braceDelta(code) - if slashdashDepth <= 0 then slashdashDepth = nil end - elseif stripped:sub(1, 2) == "/-" then - local delta = braceDelta(stripped:sub(3)) - if delta > 0 then slashdashDepth = delta end - elseif inBinds then - local delta = braceDelta(code) - if currentBind ~= nil then - currentBind.parts[#currentBind.parts + 1] = code - currentBind.raw_lines[#currentBind.raw_lines + 1] = rawLine - currentBind.depth = currentBind.depth + delta - bindsDepth = bindsDepth + delta - if currentBind.depth <= 0 then finishBind() end - else - local bindCategory = type(comment) == "string" and comment:match( - "^%s*Keymap bind%-category:%s*(.-)%s*$" - ) or nil - if bindCategory ~= nil and bindCategory ~= "" then - pendingBindCategory = bindCategory - pendingMarkerLine = lineNumber - pendingMarkerRaw = rawLine - else - local label = type(comment) == "string" and comment:match('^%s*#?%s*"([^\"]+)"%s*$') or nil - if label ~= nil and label ~= "" then currentCategory = label end - end - if stripped ~= "" and not stripped:match("^}") then - local openAt = firstOpenBrace(code) - if openAt ~= nil then - local combo, attributes = bindHeader(code:sub(1, openAt - 1)) - if combo ~= nil then - local actionStart = code:sub(openAt + 1) - currentBind = { - combo = combo, attributes = attributes, - category = pendingBindCategory or currentCategory, - parts = { actionStart }, depth = 1 + braceDelta(actionStart), - start_line = pendingMarkerLine or lineNumber, - raw_lines = pendingMarkerRaw ~= nil and { pendingMarkerRaw, rawLine } or { rawLine }, - } - pendingBindCategory = nil - pendingMarkerLine = nil - pendingMarkerRaw = nil - if currentBind.depth <= 0 then finishBind() end - else - pendingBindCategory = nil - pendingMarkerLine = nil - pendingMarkerRaw = nil - end - end - end - bindsDepth = bindsDepth + delta - end - if bindsDepth <= 0 then - inBinds = false - bindsDepth = 0 - currentCategory = nil - pendingBindCategory = nil - pendingMarkerLine = nil - pendingMarkerRaw = nil - currentBind = nil - end - else - if topDepth == 0 then - local includePath, optionalInclude = includeNode(code) - if includePath ~= nil then - parseFile(resolveInclude(path, includePath), optionalInclude) - end - if code:match("^%s*binds%s*{") then - inBinds = true - bindsDepth = braceDelta(code) - currentCategory = nil - end - end - if not inBinds then topDepth = topDepth + braceDelta(code) end - end - end - visiting[path] = nil - end - - parseFile(root, false, rootSource) - local categories, total = buildCategories(records) - return categories, total, hidden, warnings, fatalError -end - -local function snapshot(status, source, errorCode, categories, total, warnings, updatedAt, hidden) - return { - status = status, - error = errorCode or "", - compositor = "Niri", - source = source, - updated_at = updatedAt or "", - total = total or 0, - categories = categories or {}, - warnings = warnings or {}, - hidden = hidden or {}, - } -end - -local function finishRefresh() - refreshing = false - if refreshQueued then - refreshQueued = false - refresh() - end -end - -function refresh() - -- Each compositor service receives the same events. Only the selected or - -- auto-detected service may publish, preventing snapshot races. - if detectedCompositor() ~= "niri" then - return - end - if refreshing then - refreshQueued = true - return - end - refreshing = true - local source = sourcePath() - -- The panel keeps its last ready snapshot while this status is loading. - -- Do not copy the full bind tree through the shared-state serializer merely - -- to replace it again at the end of this synchronous refresh. - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("loading", source, "", {}, 0, {}, "", {}) - ) - - local rootSource = noctalia.readFile(source) - if type(rootSource) ~= "string" then - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("error", source, "niri_config_unreadable", {}, 0, {}, os.date("%H:%M:%S")) - ) - finishRefresh() - return - end - - local categories, total, hidden, warnings, fatalError = parseConfig(source, rootSource) - if fatalError ~= nil then - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("error", source, fatalError, {}, 0, warnings, os.date("%H:%M:%S")) - ) - elseif total == 0 and #hidden == 0 then - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("error", source, "niri_no_binds", {}, 0, warnings, os.date("%H:%M:%S")) - ) - else - noctalia.state.set( - SNAPSHOT_KEY, - snapshot("ready", source, "", categories, total, warnings, os.date("%H:%M:%S"), hidden) - ) - end - finishRefresh() -end - -function onIpc(event, _payload) - if event == "refresh" then - refresh() - end -end - -function onConfigChanged() - refresh() -end - --- Manual lifecycle: refreshes are driven by initial load, config changes, IPC, --- and the shared refresh request. The host's periodic update hook is a no-op. -function update() -end - -noctalia.state.watch(REFRESH_REQUEST_KEY, function(_request) - refresh() -end) - -refresh() diff --git a/keymap/panel.luau b/keymap/panel.luau deleted file mode 100644 index 28989a1..0000000 --- a/keymap/panel.luau +++ /dev/null @@ -1,3370 +0,0 @@ ---!nonstrict - --- Service/UI state contract --- ------------------------- --- `keymap.snapshot` is replaced atomically by the service: --- { --- status = "idle" | "loading" | "ready" | "error", --- error = string, --- compositor = "Hyprland", --- source = string?, --- updated_at = string?, --- total = number, --- warnings = { string }, --- categories = { --- { --- id = string, --- name = string, --- binds = { --- { --- id = string, --- modifiers = { "SUPER", "CTRL", ... }, --- key = string, --- description = string, --- dispatcher = string?, --- activation = "press" | "release", --- }, --- }, --- }, --- }, --- } --- The panel increments `keymap.refresh_request` to request a new --- snapshot. It never mutates the service-owned snapshot. - -local SNAPSHOT_KEY = "keymap.snapshot" -local REFRESH_KEY = "keymap.refresh_request" -local CREATE_REQUEST_KEY = "keymap.create_request" -local CREATE_RESULT_KEY = "keymap.create_result" -local UPDATE_REQUEST_KEY = "keymap.update_request" -local UPDATE_RESULT_KEY = "keymap.update_result" - -local EMPTY_SNAPSHOT = { - status = "idle", - error = "", - compositor = "", - total = 0, - categories = {}, - hidden = {}, -} - -local snapshot = EMPTY_SNAPSHOT -local searchQuery = "" -local searchRevision = 0 -local viewMode = "keyboard" -local keyboardLayoutId = "" -local selectedKeyboardKey = nil -local activeModifiers = { SUPER = false, CTRL = false, SHIFT = false, ALT = false } -local creatorOpen = false -local creatorKeys = {} -local creatorKeysText = "" -local creatorActivation = "press" -local creatorCommand = "" -local creatorCommandKind = "shell" -local creatorLibraryEntryId = "" -local creatorDescription = "" -local creatorCategoryIndex = 0 -local creatorNewCategory = "" -local creatorCategoryNamesFrozen = {} -local creatorContextCompositor = "" -local creatorContextSource = "" -local creatorRevision = 0 -local creatorRequestId = "" -local creatorRequestCounter = 0 -local creatorBusy = false -local creatorError = "" -local commandLibraryOpen = false -local commandLibraryQuery = "" -local commandLibrarySourceIndex = 0 -local commandLibraryCategoryIndex = 0 -local commandLibraryReadinessIndex = 0 -local commandLibraryRevision = 0 -local formMode = "create" -local editorMode = false -local editingBindId = "" -local editingCategory = "" -local editingCapabilities = {} -local editingAction = "" -local editingRequestId = "" -local editingOperation = "update" -local editingSnapshotBefore = nil -local deleteConfirmBindId = "" -local hiddenDeleteConfirmBindId = "" -local renamingCategoryId = "" -local renamingCategoryOriginal = "" -local renamingCategoryValue = "" -local renamingCategoryRevision = 0 -local render -local selectKeyboardKey - -local COMMAND_LIBRARY = { entries = {} } -do - local encoded = noctalia.readFile("command_library.json") - if type(encoded) == "string" and type(noctalia.json) == "table" - and type(noctalia.json.decode) == "function" then - local ok, decoded = pcall(noctalia.json.decode, encoded) - if ok and type(decoded) == "table" and decoded.schema == 1 - and type(decoded.entries) == "table" then - COMMAND_LIBRARY = decoded - end - end -end - -local NIL_CACHE_VALUE = {} -local configCache = {} -local translationCache = {} - -local function tr(key, args) - if args ~= nil then - return noctalia.tr(key, args) - end - local cached = translationCache[key] - if cached ~= nil then - return cached - end - local value = noctalia.tr(key) - translationCache[key] = value - return value -end - -local function cfg(key) - local cached = configCache[key] - if cached ~= nil then - return cached ~= NIL_CACHE_VALUE and cached or nil - end - local value = noctalia.getConfig(key) - configCache[key] = value ~= nil and value or NIL_CACHE_VALUE - return value -end - -local function clearHostValueCaches() - configCache = {} - translationCache = {} -end - -local function asString(value, fallback) - if type(value) == "string" and value ~= "" then - return value - end - return fallback or "" -end - -local function asArray(value) - if type(value) == "table" then - return value - end - return {} -end - -local function shellQuote(value) - return "'" .. asString(value):gsub("'", "'\\''") .. "'" -end - -local function sourceDirectory() - local source = asString(snapshot.source) - if source == "" then return "" end - local expanded = noctalia.expandPath(source) - local directory = expanded:match("^(.*)/[^/]*$") - if directory == nil then return "." end - if directory == "" then return "/" end - return directory -end - -local function normalized(value) - return string.lower(noctalia.string.trim(asString(value))) -end - -local MODIFIER_ORDER = { "SUPER", "CTRL", "SHIFT", "ALT" } -local MODIFIER_ALIASES = { - super = "SUPER", meta = "SUPER", win = "SUPER", logo = "SUPER", mod = "SUPER", mod4 = "SUPER", - ctrl = "CTRL", control = "CTRL", - shift = "SHIFT", - alt = "ALT", option = "ALT", mod1 = "ALT", -} - -local KEY_ALIASES = { - escape = "esc", esc = "esc", - ["return"] = "enter", enter = "enter", kp_enter = "numenter", kpenter = "numenter", - space = "space", spacebar = "space", - print = "prtsc", printscreen = "prtsc", sys_req = "prtsc", prtsc = "prtsc", - scroll_lock = "scrolllock", scrolllock = "scrolllock", - pause = "pause", ["break"] = "pause", - insert = "insert", ins = "insert", delete = "delete", del = "delete", - home = "home", ["end"] = "end", prior = "pgup", page_up = "pgup", pageup = "pgup", pgup = "pgup", - next = "pgdn", page_down = "pgdn", pagedown = "pgdn", pgdn = "pgdn", - left = "left", arrowleft = "left", right = "right", arrowright = "right", - up = "up", arrowup = "up", down = "down", arrowdown = "down", - grave = "grave", asciitilde = "grave", minus = "minus", underscore = "minus", - equal = "equal", plus = "equal", - bracketleft = "bracketleft", braceleft = "bracketleft", - bracketright = "bracketright", braceright = "bracketright", - backslash = "backslash", bar = "backslash", - semicolon = "semicolon", colon = "semicolon", apostrophe = "apostrophe", quotedbl = "apostrophe", - comma = "comma", less = "comma", period = "period", greater = "period", slash = "slash", question = "slash", - num_lock = "numlock", numlock = "numlock", kp_divide = "numdivide", kpdivide = "numdivide", - kp_multiply = "nummultiply", kpmultiply = "nummultiply", kp_subtract = "numminus", kpsubtract = "numminus", - kp_add = "numplus", kpadd = "numplus", kp_decimal = "numdecimal", kpdecimal = "numdecimal", - num_plus = "numplus", ["num_+"] = "numplus", num_minus = "numminus", ["num_-"] = "numminus", - num_multiply = "nummultiply", ["num_*"] = "nummultiply", - num_divide = "numdivide", ["num_/"] = "numdivide", - kp_insert = "num0", kpinsert = "num0", kp_end = "num1", kpend = "num1", - kp_down = "num2", kpdown = "num2", kp_next = "num3", kpnext = "num3", - kp_left = "num4", kpleft = "num4", kp_begin = "num5", kpbegin = "num5", - kp_right = "num6", kpright = "num6", kp_home = "num7", kphome = "num7", - kp_up = "num8", kpup = "num8", kp_prior = "num9", kpprior = "num9", - kp_delete = "numdecimal", kpdelete = "numdecimal", -} - -local SYMBOL_ALIASES = { - ["~"] = "grave", ["!"] = "1", ["@"] = "2", ["#"] = "3", - ["$"] = "4", ["%"] = "5", ["^"] = "6", ["&"] = "7", ["*"] = "8", - ["("] = "9", [")"] = "0", ["-"] = "minus", ["_"] = "minus", ["="] = "equal", ["+"] = "equal", - ["["] = "bracketleft", ["{"] = "bracketleft", ["]"] = "bracketright", ["}"] = "bracketright", - ["\\"] = "backslash", ["|"] = "backslash", [";"] = "semicolon", [":"] = "semicolon", - ["'"] = "apostrophe", ["\""] = "apostrophe", [","] = "comma", ["<"] = "comma", - ["."] = "period", [">"] = "period", ["/"] = "slash", ["?"] = "slash", -} -SYMBOL_ALIASES[string.char(96)] = "grave" - -local function canonicalModifier(value) - return MODIFIER_ALIASES[normalized(value)] or string.upper(asString(value)) -end - -local function canonicalKey(value) - local raw = normalized(value) - if SYMBOL_ALIASES[raw] ~= nil then - return SYMBOL_ALIASES[raw] - end - local key = raw:gsub("%s+", "_"):gsub("%-", "_") - local rangeStart, rangeEnd = key:match("^(%d)_(%d)$") - if rangeStart ~= nil then - return rangeStart .. "-" .. rangeEnd - end - if KEY_ALIASES[key] ~= nil then - return KEY_ALIASES[key] - end - local numpad = key:match("^kp_?(%d)$") or key:match("^num_?(%d)$") - if numpad ~= nil then - return "num" .. numpad - end - if key:match("^f%d%d?$") or key:match("^[a-z]$") or key:match("^%d$") then - return key - end - return key -end - -local function modifierSignature(modifiers) - local enabled = {} - local extras = {} - for _, modifier in ipairs(asArray(modifiers)) do - local canonical = canonicalModifier(modifier) - if activeModifiers[canonical] ~= nil then - enabled[canonical] = true - else - extras[#extras + 1] = canonical - end - end - local ordered = {} - for _, modifier in ipairs(MODIFIER_ORDER) do - if enabled[modifier] then - ordered[#ordered + 1] = modifier - end - end - table.sort(extras) - for _, modifier in ipairs(extras) do - ordered[#ordered + 1] = modifier - end - return table.concat(ordered, "+") -end - -local function activeModifierSignature() - local ordered = {} - for _, modifier in ipairs(MODIFIER_ORDER) do - if activeModifiers[modifier] then - ordered[#ordered + 1] = modifier - end - end - return table.concat(ordered, "+") -end - -local function modifierSignatureLabel(signature) - if signature == "" then return tr("panel.keyboard.no_modifiers") end - local labels = {} - for modifier in tostring(signature):gmatch("[^+]+") do - labels[#labels + 1] = modifier == "CTRL" and "Ctrl" - or (modifier == "SUPER" and "Super" or (modifier == "SHIFT" and "Shift" or ( - modifier == "ALT" and "Alt" or modifier - ))) - end - return table.concat(labels, " + ") -end - -local function modifierSignatureSelectable(signature) - for modifier in tostring(signature):gmatch("[^+]+") do - if activeModifiers[modifier] == nil then return false end - end - return true -end - -local function selectModifierSignature(signature) - local selected = {} - for modifier in tostring(signature):gmatch("[^+]+") do selected[modifier] = true end - for _, modifier in ipairs(MODIFIER_ORDER) do - activeModifiers[modifier] = selected[modifier] == true - end -end - -local function expandedKeys(value) - local canonical = canonicalKey(value) - local first, last = canonical:match("^(%d)%-(%d)$") - if first ~= nil and tonumber(first) <= tonumber(last) then - local result = {} - for number = tonumber(first), tonumber(last) do - result[#result + 1] = tostring(number) - end - return result - end - return { canonical } -end - -local keyboardIndexSnapshot = nil -local keyboardIndexCache = nil - -local function keyboardIndex() - if keyboardIndexSnapshot == snapshot and keyboardIndexCache ~= nil then - return keyboardIndexCache - end - local exact = {} - local any = {} - for _, category in ipairs(asArray(snapshot.categories)) do - for _, bind in ipairs(asArray(category.binds)) do - local signature = modifierSignature(bind.modifiers) - local indexedKeys = type(bind.keys) == "table" and bind.keys or expandedKeys(bind.key) - for _, rawKey in ipairs(indexedKeys) do - local key = canonicalKey(rawKey) - local entry = { - bind = bind, - category = asString(category.name, tr("panel.uncategorized")), - } - local chord = signature .. "|" .. key - exact[chord] = exact[chord] or {} - exact[chord][#exact[chord] + 1] = entry - any[key] = any[key] or {} - any[key][#any[key] + 1] = entry - end - end - end - keyboardIndexSnapshot = snapshot - keyboardIndexCache = { exact = exact, any = any } - return keyboardIndexCache -end - -local keyCallbackCache = {} -local function keyCallback(id, code) - local callback = keyCallbackCache[id] - if callback == nil then - callback = function() selectKeyboardKey(code) end - keyCallbackCache[id] = callback - end - return callback -end - -local layerCallbackCache = {} -local function layerCallback(signature) - local callback = layerCallbackCache[signature] - if callback == nil then - callback = function() - selectModifierSignature(signature) - render() - end - layerCallbackCache[signature] = callback - end - return callback -end - -local function contains(haystack, needle) - return string.find(normalized(haystack), needle, 1, true) ~= nil -end - -local function bindMatches(bind, needle) - if contains(bind.description, needle) or contains(bind.key, needle) or contains(bind.dispatcher, needle) - or contains(bind.action, needle) or contains(bind.mode, needle) then - return true - end - for _, modifier in ipairs(asArray(bind.modifiers)) do - if contains(modifier, needle) then - return true - end - end - return false -end - -local function filteredCategories() - local result = {} - local needle = normalized(searchQuery) - - for _, category in ipairs(asArray(snapshot.categories)) do - local binds = asArray(category.binds) - if needle == "" or contains(category.name, needle) then - result[#result + 1] = { - id = asString(category.id, asString(category.name)), - name = asString(category.name, tr("panel.uncategorized")), - binds = binds, - } - else - local matching = {} - for _, bind in ipairs(binds) do - if bindMatches(bind, needle) then - matching[#matching + 1] = bind - end - end - if #matching > 0 then - result[#result + 1] = { - id = asString(category.id, asString(category.name)), - name = asString(category.name, tr("panel.uncategorized")), - binds = matching, - } - end - end - end - - return result -end - -local function filteredHidden() - local result = {} - local needle = normalized(searchQuery) - for _, bind in ipairs(asArray(snapshot.hidden)) do - if needle == "" or bindMatches(bind, needle) or contains(bind.category, needle) then - result[#result + 1] = bind - end - end - return result -end - -local function categoryWeight(category) - return #asArray(category.binds) + 2 -end - --- Split categories into contiguous, approximately equal columns. Contiguous --- partitions preserve the reading order from the Lua configuration. -local function partitionCategories(categories, requestedColumns) - if #categories == 0 then - return {} - end - - local columnCount = math.max(1, math.min(requestedColumns, #categories)) - local columns = {} - local index = 1 - local remainingWeight = 0 - for _, category in ipairs(categories) do - remainingWeight += categoryWeight(category) - end - - for columnIndex = 1, columnCount do - local remainingColumns = columnCount - columnIndex - local target = remainingWeight / (remainingColumns + 1) - local column = {} - local weight = 0 - local lastAvailableIndex = #categories - remainingColumns - - while index <= lastAvailableIndex do - local nextCategory = categories[index] - local nextWeight = categoryWeight(nextCategory) - if #column > 0 and math.abs(weight - target) <= math.abs(weight + nextWeight - target) then - break - end - column[#column + 1] = nextCategory - weight += nextWeight - index += 1 - end - - columns[#columns + 1] = column - remainingWeight -= weight - end - - return columns -end - -local function cardFill() - local color = asString(cfg("card_color"), "surface_variant") - local opacity = math.max(0, math.min(100, tonumber(cfg("card_opacity")) or 35)) / 100 - if string.sub(color, 1, 1) == "#" then - local alpha = string.format("%02X", math.floor(opacity * 255 + 0.5)) - if #color == 7 then - return color .. alpha - elseif #color == 9 then - return string.sub(color, 1, 7) .. alpha - end - return color - end - return color .. "/" .. string.format("%.2f", opacity) -end - -local function modifierStyle(token) - local name = normalized(token) - if name == "super" or name == "meta" or name == "win" or name == "logo" then - return cfg("super_color"), cfg("super_text_color") - elseif name == "ctrl" or name == "control" then - return cfg("ctrl_color"), cfg("ctrl_text_color") - elseif name == "shift" then - return cfg("shift_color"), cfg("shift_text_color") - elseif name == "alt" or name == "mod1" or name == "option" then - return cfg("alt_color"), cfg("alt_text_color") - end - return cfg("key_color"), cfg("key_text_color") -end - --- BEGIN KEYBOARD LAYOUT DATA -local KEYBOARD_100 = { - -- Function row: 16 keys. - { - { id = "escape", label = "Esc", code = "Esc", units = 1 }, - { spacer = 1 }, - { id = "f1", label = "F1", code = "F1", units = 1 }, - { id = "f2", label = "F2", code = "F2", units = 1 }, - { id = "f3", label = "F3", code = "F3", units = 1 }, - { id = "f4", label = "F4", code = "F4", units = 1 }, - { spacer = 0.5 }, - { id = "f5", label = "F5", code = "F5", units = 1 }, - { id = "f6", label = "F6", code = "F6", units = 1 }, - { id = "f7", label = "F7", code = "F7", units = 1 }, - { id = "f8", label = "F8", code = "F8", units = 1 }, - { spacer = 0.5 }, - { id = "f9", label = "F9", code = "F9", units = 1 }, - { id = "f10", label = "F10", code = "F10", units = 1 }, - { id = "f11", label = "F11", code = "F11", units = 1 }, - { id = "f12", label = "F12", code = "F12", units = 1 }, - { spacer = 0.5 }, - { id = "print_screen", label = "Prt", code = "PrtSc", units = 1 }, - { id = "scroll_lock", label = "Scr", code = "Scroll Lock", units = 1 }, - { id = "pause", label = "Pau", code = "Pause", units = 1 }, - { spacer = 4.5 }, - }, - - -- Number row: 21 keys. - { - { id = "grave", label = "`", code = "`", units = 1 }, - { id = "digit_1", label = "1", code = "1", units = 1 }, - { id = "digit_2", label = "2", code = "2", units = 1 }, - { id = "digit_3", label = "3", code = "3", units = 1 }, - { id = "digit_4", label = "4", code = "4", units = 1 }, - { id = "digit_5", label = "5", code = "5", units = 1 }, - { id = "digit_6", label = "6", code = "6", units = 1 }, - { id = "digit_7", label = "7", code = "7", units = 1 }, - { id = "digit_8", label = "8", code = "8", units = 1 }, - { id = "digit_9", label = "9", code = "9", units = 1 }, - { id = "digit_0", label = "0", code = "0", units = 1 }, - { id = "minus", label = "-", code = "-", units = 1 }, - { id = "equal", label = "=", code = "=", units = 1 }, - { id = "backspace", label = "Back", code = "Backspace", units = 2 }, - { spacer = 0.5 }, - { id = "insert", label = "Ins", code = "Insert", units = 1 }, - { id = "home", label = "Home", code = "Home", units = 1 }, - { id = "page_up", label = "PgU", code = "PgUp", units = 1 }, - { spacer = 0.5 }, - { id = "num_lock", label = "Num", code = "Num Lock", units = 1 }, - { id = "kp_divide", label = "/", code = "KP_Divide", units = 1 }, - { id = "kp_multiply", label = "*", code = "KP_Multiply", units = 1 }, - { id = "kp_subtract", label = "-", code = "KP_Subtract", units = 1 }, - }, - - -- QWERTY row: 21 keys. - { - { id = "tab", label = "Tab", code = "Tab", units = 1.5 }, - { id = "key_q", label = "Q", code = "Q", units = 1 }, - { id = "key_w", label = "W", code = "W", units = 1 }, - { id = "key_e", label = "E", code = "E", units = 1 }, - { id = "key_r", label = "R", code = "R", units = 1 }, - { id = "key_t", label = "T", code = "T", units = 1 }, - { id = "key_y", label = "Y", code = "Y", units = 1 }, - { id = "key_u", label = "U", code = "U", units = 1 }, - { id = "key_i", label = "I", code = "I", units = 1 }, - { id = "key_o", label = "O", code = "O", units = 1 }, - { id = "key_p", label = "P", code = "P", units = 1 }, - { id = "bracket_left", label = "[", code = "[", units = 1 }, - { id = "bracket_right", label = "]", code = "]", units = 1 }, - { id = "backslash", label = "\\", code = "\\", units = 1.5 }, - { spacer = 0.5 }, - { id = "delete", label = "Del", code = "Delete", units = 1 }, - { id = "end", label = "End", code = "End", units = 1 }, - { id = "page_down", label = "PgD", code = "PgDn", units = 1 }, - { spacer = 0.5 }, - { id = "kp_7", label = "7", code = "KP_7", units = 1 }, - { id = "kp_8", label = "8", code = "KP_8", units = 1 }, - { id = "kp_9", label = "9", code = "KP_9", units = 1 }, - { id = "kp_add", label = "+", code = "KP_Add", units = 1 }, - }, - - -- Home row: 16 keys. The final numpad spacer continues KP Add from above. - { - { id = "caps_lock", label = "Caps", code = "Caps Lock", units = 1.75, modifier = true }, - { id = "key_a", label = "A", code = "A", units = 1 }, - { id = "key_s", label = "S", code = "S", units = 1 }, - { id = "key_d", label = "D", code = "D", units = 1 }, - { id = "key_f", label = "F", code = "F", units = 1 }, - { id = "key_g", label = "G", code = "G", units = 1 }, - { id = "key_h", label = "H", code = "H", units = 1 }, - { id = "key_j", label = "J", code = "J", units = 1 }, - { id = "key_k", label = "K", code = "K", units = 1 }, - { id = "key_l", label = "L", code = "L", units = 1 }, - { id = "semicolon", label = ";", code = ";", units = 1 }, - { id = "apostrophe", label = "'", code = "'", units = 1 }, - { id = "enter", label = "Enter", code = "Enter", units = 2.25 }, - { spacer = 4 }, - { id = "kp_4", label = "4", code = "KP_4", units = 1 }, - { id = "kp_5", label = "5", code = "KP_5", units = 1 }, - { id = "kp_6", label = "6", code = "KP_6", units = 1 }, - { id = "kp_add_lower", label = "+", code = "KP_Add", units = 1 }, - }, - - -- Shift row: 17 keys. - { - { id = "shift_left", label = "Shift", code = "Shift", units = 2.25, modifier = true }, - { id = "key_z", label = "Z", code = "Z", units = 1 }, - { id = "key_x", label = "X", code = "X", units = 1 }, - { id = "key_c", label = "C", code = "C", units = 1 }, - { id = "key_v", label = "V", code = "V", units = 1 }, - { id = "key_b", label = "B", code = "B", units = 1 }, - { id = "key_n", label = "N", code = "N", units = 1 }, - { id = "key_m", label = "M", code = "M", units = 1 }, - { id = "comma", label = ",", code = ",", units = 1 }, - { id = "period", label = ".", code = ".", units = 1 }, - { id = "slash", label = "/", code = "/", units = 1 }, - { id = "shift_right", label = "Shift", code = "Shift", units = 2.75, modifier = true }, - { spacer = 1.5 }, - { id = "arrow_up", label = "↑", code = "Up", units = 1 }, - { spacer = 1 }, - { spacer = 0.5 }, - { id = "kp_1", label = "1", code = "KP_1", units = 1 }, - { id = "kp_2", label = "2", code = "KP_2", units = 1 }, - { id = "kp_3", label = "3", code = "KP_3", units = 1 }, - { id = "kp_enter", label = "Ent", code = "KP_Enter", units = 1 }, - }, - - -- Bottom row: 13 keys. The final numpad spacer continues KP Enter from above. - { - { id = "ctrl_left", label = "Ctrl", code = "Ctrl", units = 1.25, modifier = true }, - { id = "super_left", label = "Win", code = "Super", units = 1.25, modifier = true }, - { id = "alt_left", label = "Alt", code = "Alt", units = 1.25, modifier = true }, - { id = "space", label = "Space", code = "Space", units = 6.25 }, - { id = "alt_right", label = "Alt", code = "Alt", units = 1.25, modifier = true }, - { id = "super_right", label = "Win", code = "Super", units = 1.25, modifier = true }, - { id = "menu", label = "Menu", code = "Menu", units = 1.25 }, - { id = "ctrl_right", label = "Ctrl", code = "Ctrl", units = 1.25, modifier = true }, - { spacer = 0.5 }, - { id = "arrow_left", label = "←", code = "Left", units = 1 }, - { id = "arrow_down", label = "↓", code = "Down", units = 1 }, - { id = "arrow_right", label = "→", code = "Right", units = 1 }, - { spacer = 0.5 }, - { id = "kp_0", label = "0", code = "KP_0", units = 2 }, - { id = "kp_decimal", label = ".", code = "KP_Decimal", units = 1 }, - { id = "kp_enter_lower", label = "Ent", code = "KP_Enter", units = 1 }, - }, -} - -local function keyboardRowSlice(source, firstIndex, lastIndex) - local row = {} - for index = firstIndex, lastIndex do row[#row + 1] = source[index] end - return row -end - -local function keyboardAppend(row, spec) - row[#row + 1] = spec - return row -end - -local function keyboardAppendSlice(row, source, firstIndex, lastIndex) - for index = firstIndex, lastIndex do row[#row + 1] = source[index] end - return row -end - -local function keyboardSizedKey(spec, units) - return { - id = spec.id, label = spec.label, code = spec.code, units = units, - modifier = spec.modifier, bindable = spec.bindable, - } -end - --- 96% / 1800-compact: the navigation block is folded into the main cluster, --- while the complete numpad remains directly beside it. -local KEYBOARD_96_FUNCTION = { - KEYBOARD_100[1][1], - KEYBOARD_100[1][3], KEYBOARD_100[1][4], KEYBOARD_100[1][5], KEYBOARD_100[1][6], - KEYBOARD_100[1][8], KEYBOARD_100[1][9], KEYBOARD_100[1][10], KEYBOARD_100[1][11], - KEYBOARD_100[1][13], KEYBOARD_100[1][14], KEYBOARD_100[1][15], KEYBOARD_100[1][16], - KEYBOARD_100[3][16], KEYBOARD_100[2][17], KEYBOARD_100[3][17], - KEYBOARD_100[2][18], KEYBOARD_100[3][18], KEYBOARD_100[1][18], -} -local KEYBOARD_96_SHIFT = keyboardRowSlice(KEYBOARD_100[5], 1, 11) -keyboardAppend(KEYBOARD_96_SHIFT, keyboardSizedKey(KEYBOARD_100[5][12], 1.75)) -keyboardAppend(KEYBOARD_96_SHIFT, KEYBOARD_100[5][14]) -keyboardAppendSlice(KEYBOARD_96_SHIFT, KEYBOARD_100[5], 17, 20) -local KEYBOARD_96_BOTTOM = { - KEYBOARD_100[6][1], KEYBOARD_100[6][2], KEYBOARD_100[6][3], KEYBOARD_100[6][4], - keyboardSizedKey(KEYBOARD_100[6][5], 1), - keyboardSizedKey(KEYBOARD_100[6][6], 1), - keyboardSizedKey(KEYBOARD_100[6][8], 1), - KEYBOARD_100[6][10], KEYBOARD_100[6][11], KEYBOARD_100[6][12], - keyboardSizedKey(KEYBOARD_100[6][14], 1), KEYBOARD_100[6][15], KEYBOARD_100[6][16], -} -local KEYBOARD_96 = { - KEYBOARD_96_FUNCTION, - keyboardAppendSlice(keyboardRowSlice(KEYBOARD_100[2], 1, 14), KEYBOARD_100[2], 20, 23), - keyboardAppendSlice(keyboardRowSlice(KEYBOARD_100[3], 1, 14), KEYBOARD_100[3], 20, 23), - keyboardAppendSlice(keyboardRowSlice(KEYBOARD_100[4], 1, 13), KEYBOARD_100[4], 15, 18), - KEYBOARD_96_SHIFT, - KEYBOARD_96_BOTTOM, -} - --- 80% / tenkeyless: full function and navigation clusters without a numpad. -local KEYBOARD_80 = { - keyboardRowSlice(KEYBOARD_100[1], 1, 20), - keyboardRowSlice(KEYBOARD_100[2], 1, 18), - keyboardRowSlice(KEYBOARD_100[3], 1, 18), - keyboardAppend(keyboardRowSlice(KEYBOARD_100[4], 1, 13), { spacer = 3.5 }), - keyboardRowSlice(KEYBOARD_100[5], 1, 15), - keyboardRowSlice(KEYBOARD_100[6], 1, 12), -} - -local KEYBOARD_COMPACT_BOTTOM = { - KEYBOARD_100[6][1], - KEYBOARD_100[6][2], - KEYBOARD_100[6][3], - KEYBOARD_100[6][4], - keyboardSizedKey(KEYBOARD_100[6][5], 1), - keyboardSizedKey(KEYBOARD_100[6][6], 1), - { id = "ctrl_right", label = "Ctrl", code = "Ctrl", units = 1, modifier = true }, - KEYBOARD_100[6][10], - KEYBOARD_100[6][11], - KEYBOARD_100[6][12], -} - -local function compactKeyboardBody() - local shiftRow = keyboardRowSlice(KEYBOARD_100[5], 1, 11) - keyboardAppend(shiftRow, keyboardSizedKey(KEYBOARD_100[5][12], 1.75)) - keyboardAppend(shiftRow, KEYBOARD_100[5][14]) - keyboardAppend(shiftRow, KEYBOARD_100[3][17]) - return { - keyboardAppend(keyboardRowSlice(KEYBOARD_100[2], 1, 14), KEYBOARD_100[2][17]), - keyboardAppend(keyboardRowSlice(KEYBOARD_100[3], 1, 14), KEYBOARD_100[2][18]), - keyboardAppend(keyboardRowSlice(KEYBOARD_100[4], 1, 13), KEYBOARD_100[3][18]), - shiftRow, - keyboardRowSlice(KEYBOARD_COMPACT_BOTTOM, 1, #KEYBOARD_COMPACT_BOTTOM), - } -end - --- 75%: compact navigation and arrows plus a dedicated function row. -local KEYBOARD_75_FUNCTION = { - KEYBOARD_100[1][1], - KEYBOARD_100[1][3], KEYBOARD_100[1][4], KEYBOARD_100[1][5], KEYBOARD_100[1][6], - KEYBOARD_100[1][8], KEYBOARD_100[1][9], KEYBOARD_100[1][10], KEYBOARD_100[1][11], - KEYBOARD_100[1][13], KEYBOARD_100[1][14], KEYBOARD_100[1][15], KEYBOARD_100[1][16], - KEYBOARD_100[1][18], KEYBOARD_100[1][20], KEYBOARD_100[3][16], -} -local KEYBOARD_75 = { KEYBOARD_75_FUNCTION } -for _, row in ipairs(compactKeyboardBody()) do KEYBOARD_75[#KEYBOARD_75 + 1] = row end - --- 65%: the same compact navigation column and arrows, without function keys. -local KEYBOARD_65_NUMBER = { KEYBOARD_100[1][1] } -keyboardAppendSlice(KEYBOARD_65_NUMBER, KEYBOARD_100[2], 2, 14) -keyboardAppend(KEYBOARD_65_NUMBER, KEYBOARD_100[2][17]) -local KEYBOARD_65 = compactKeyboardBody() -KEYBOARD_65[1] = KEYBOARD_65_NUMBER -KEYBOARD_65[5] = { - KEYBOARD_100[6][1], KEYBOARD_100[6][2], KEYBOARD_100[6][3], KEYBOARD_100[6][4], - keyboardSizedKey(KEYBOARD_100[6][5], 1), - { id = "fn", label = "Fn", units = 1, bindable = false }, - { id = "ctrl_right", label = "Ctrl", code = "Ctrl", units = 1, modifier = true }, - KEYBOARD_100[6][10], KEYBOARD_100[6][11], KEYBOARD_100[6][12], -} - --- 60%: the ANSI alphanumeric block only. -local KEYBOARD_60 = { - keyboardRowSlice(KEYBOARD_100[2], 1, 14), - keyboardRowSlice(KEYBOARD_100[3], 1, 14), - keyboardRowSlice(KEYBOARD_100[4], 1, 13), - keyboardRowSlice(KEYBOARD_100[5], 1, 12), - keyboardRowSlice(KEYBOARD_100[6], 1, 8), -} - -local KEYBOARD_LAYOUT_ORDER = { "100", "96", "80", "75", "65", "60" } -local KEYBOARD_LAYOUTS = { - ["100"] = { id = "100", rows = KEYBOARD_100, rowUnits = 23, labelKey = "p100", - features = { functionRow = true, numpad = true, navCluster = true, arrows = true } }, - ["96"] = { id = "96", rows = KEYBOARD_96, rowUnits = 19, labelKey = "p96", - features = { functionRow = true, numpad = true, navCluster = false, arrows = true } }, - ["80"] = { id = "80", rows = KEYBOARD_80, rowUnits = 18.5, labelKey = "p80", - features = { functionRow = true, numpad = false, navCluster = true, arrows = true } }, - ["75"] = { id = "75", rows = KEYBOARD_75, rowUnits = 16, labelKey = "p75", - features = { functionRow = true, numpad = false, navCluster = false, arrows = true } }, - ["65"] = { id = "65", rows = KEYBOARD_65, rowUnits = 16, labelKey = "p65", - features = { functionRow = false, numpad = false, navCluster = false, arrows = true } }, - ["60"] = { id = "60", rows = KEYBOARD_60, rowUnits = 15, labelKey = "p60", - features = { functionRow = false, numpad = false, navCluster = false, arrows = false } }, -} --- END KEYBOARD LAYOUT DATA - --- One unit plus one gap is 48 px, divisible by four. Quarter-unit keys can --- therefore be positioned without fractional rounding drift. -local KEYBOARD_UNIT = 44 -local KEYBOARD_GAP = 4 -local KEYBOARD_KEY_HEIGHT = 42 -local KEYBOARD_CODE_SET = {} -local KEYBOARD_LABELS = {} -for _, layoutId in ipairs(KEYBOARD_LAYOUT_ORDER) do - local layout = KEYBOARD_LAYOUTS[layoutId] - layout.codeSet = {} - for _, keyboardRow in ipairs(layout.rows) do - for _, keySpec in ipairs(keyboardRow) do - if keySpec.bindable ~= false and keySpec.code ~= nil then - local code = canonicalKey(keySpec.code) - KEYBOARD_CODE_SET[code] = true - layout.codeSet[code] = true - KEYBOARD_LABELS[code] = asString(keySpec.label, keySpec.code) - end - end - end -end - -local function activeKeyboardLayoutId() - local layoutId = keyboardLayoutId ~= "" and keyboardLayoutId or asString(cfg("keyboard_layout"), "100") - if KEYBOARD_LAYOUTS[layoutId] == nil then return "100" end - return layoutId -end - -local function activeKeyboardLayout() - return KEYBOARD_LAYOUTS[activeKeyboardLayoutId()] -end - -local function keyboardLayoutSelectedIndex() - local activeId = activeKeyboardLayoutId() - for index, layoutId in ipairs(KEYBOARD_LAYOUT_ORDER) do - if layoutId == activeId then return index - 1 end - end - return 0 -end - -local function keyboardLayoutOptions() - local options = {} - for _, layoutId in ipairs(KEYBOARD_LAYOUT_ORDER) do - options[#options + 1] = tr("panel.keyboard.layouts." .. KEYBOARD_LAYOUTS[layoutId].labelKey) - end - return options -end - --- Config files use XKB names, while the visual keyboard uses compact labels. --- These names are accepted by Hyprland Lua, Niri KDL, and MangoWC. -local CONFIG_KEY_NAMES = { - esc = "Escape", prtsc = "Print", scrolllock = "Scroll_Lock", pause = "Pause", - grave = "grave", minus = "minus", equal = "equal", backspace = "BackSpace", - tab = "Tab", bracketleft = "bracketleft", bracketright = "bracketright", - backslash = "backslash", caps_lock = "Caps_Lock", semicolon = "semicolon", - apostrophe = "apostrophe", enter = "Return", comma = "comma", period = "period", - slash = "slash", space = "space", menu = "Menu", - insert = "Insert", home = "Home", pgup = "Prior", delete = "Delete", ["end"] = "End", - pgdn = "Next", left = "Left", right = "Right", up = "Up", down = "Down", - numlock = "Num_Lock", numdivide = "KP_Divide", nummultiply = "KP_Multiply", - numminus = "KP_Subtract", numplus = "KP_Add", numenter = "KP_Enter", - numdecimal = "KP_Decimal", - num0 = "KP_0", num1 = "KP_1", num2 = "KP_2", num3 = "KP_3", num4 = "KP_4", - num5 = "KP_5", num6 = "KP_6", num7 = "KP_7", num8 = "KP_8", num9 = "KP_9", -} - -local function creatorHasKey(code) - for _, selectedCode in ipairs(creatorKeys) do - if selectedCode == code then - return true - end - end - return false -end - -local function configKeyName(code) - local mapped = CONFIG_KEY_NAMES[code] - if mapped ~= nil then - return mapped - end - if code:match("^[a-z]$") then - return string.upper(code) - end - if code:match("^f%d%d?$") then - return string.upper(code) - end - return code -end - --- A multi-unit key replaces the gaps that would exist between unit-sized --- keys. Using the same pitch for keys and spacers keeps every 23-unit row at --- exactly the same physical width, regardless of its number of children. -local function keyboardUnitsWidth(units) - local value = tonumber(units) or 1 - return math.max(1, math.floor(value * KEYBOARD_UNIT + (value - 1) * KEYBOARD_GAP + 0.5)) -end - -local colorWithOpacityCache = {} -local function colorWithOpacity(value, fallback, opacity) - local cacheKey = asString(value) .. "\0" .. asString(fallback) .. "\0" .. tostring(opacity) - local cached = colorWithOpacityCache[cacheKey] - if cached ~= nil then return cached end - local color = asString(value, fallback) - local result - if string.sub(color, 1, 1) == "#" then - local alpha = string.format("%02X", math.floor(math.max(0, math.min(1, opacity)) * 255 + 0.5)) - if #color == 7 then - result = color .. alpha - elseif #color == 9 then - result = string.sub(color, 1, 7) .. alpha - else - result = color - end - else - result = color .. "/" .. string.format("%.2f", opacity) - end - colorWithOpacityCache[cacheKey] = result - return result -end - -local EMPTY_ENTRIES = {} - -local function keyboardKeyNode(spec, index, signature) - if spec.spacer ~= nil then - -- `ui.spacer` is flexible: inside a fixed-width row it absorbs remaining - -- space and moves every key that follows it. Keyboard gaps must be rigid, - -- otherwise the function/navigation blocks and the inverted-T arrows no - -- longer share the same unit grid. - return ui.spacer({ width = keyboardUnitsWidth(spec.spacer), flexGrow = 0 }) - end - - if spec.bindable == false or spec.code == nil then - local width = keyboardUnitsWidth(spec.units or 1) - return ui.row({ - key = "keyboard-" .. spec.id, - width = width, - height = KEYBOARD_KEY_HEIGHT, - fill = colorWithOpacity(cfg("key_color"), "surface_variant", 0.28), - border = "outline", - borderWidth = 1, - radius = 7, - align = "center", - justify = "center", - }, { - ui.label({ - text = asString(spec.label, ""), color = "on_surface_variant", - fontSize = 8, textAlign = "center", maxLines = 1, - }), - }) - end - - local code = canonicalKey(spec.code) - local exactEntries = index.exact[signature .. "|" .. code] or EMPTY_ENTRIES - local anyEntries = index.any[code] or EMPTY_ENTRIES - local physicalModifier = MODIFIER_ALIASES[normalized(spec.code)] - local modifierActive = physicalModifier ~= nil and activeModifiers[physicalModifier] == true - local selected = creatorOpen and creatorHasKey(code) or selectedKeyboardKey == code - - local fill - local border - local borderWidth = 1 - if modifierActive then - local modifierFill = modifierStyle(physicalModifier) - fill = asString(modifierFill, "primary") - border = asString(modifierFill, "primary") - borderWidth = 2 - elseif selected then - fill = colorWithOpacity("secondary", "secondary", 0.24) - border = "secondary" - borderWidth = 3 - elseif #exactEntries > 0 then - fill = colorWithOpacity(cfg("category_color"), "primary", 0.30) - border = asString(cfg("category_color"), "primary") - borderWidth = 2 - elseif #anyEntries > 0 then - fill = colorWithOpacity(cfg("category_color"), "primary", 0.10) - border = asString(cfg("category_color"), "primary") - else - fill = colorWithOpacity(cfg("key_color"), "surface_variant", 0.42) - border = "outline" - end - - local displayText = asString(spec.label, "?") - if #exactEntries > 0 then - displayText = displayText .. "\n" .. tostring(#exactEntries) - elseif #anyEntries > 0 then - displayText = displayText .. "\n•" - end - - local width = keyboardUnitsWidth(spec.units or 1) - return ui.row({ - key = "keyboard-" .. spec.id, - width = width, - height = KEYBOARD_KEY_HEIGHT, - fill = fill, - border = border, - borderWidth = borderWidth, - radius = 7, - paddingH = 4, - paddingV = 3, - align = "center", - justify = "center", - }, { - ui.button({ - text = displayText, - width = math.max(18, width - 6), - height = KEYBOARD_KEY_HEIGHT - 6, - fontSize = #asString(spec.label) > 4 and 7 or 8, - variant = "ghost", - selected = selected or modifierActive, - contentAlign = "center", - controlSize = "sm", - tooltip = #exactEntries > 0 and tr("panel.keyboard.occupied") or ( - #anyEntries > 0 and tr("panel.keyboard.other_layer") or tr("panel.keyboard.free") - ), - onClick = keyCallback(spec.id, spec.code), - }), - }) -end - -local function keyboardLegendItem(fill, border, label) - return ui.row({ gap = 5, align = "center" }, { - ui.box({ width = 12, height = 12, radius = 3, fill = fill, border = border, borderWidth = 1 }), - ui.label({ text = label, color = "on_surface_variant", fontSize = 10, maxLines = 1 }), - }) -end - -local function keyboardLayerToolbar() - local buttons = { - ui.label({ text = tr("panel.keyboard.layer"), color = "on_surface_variant", fontSize = 11 }), - } - local callbacks = { - SUPER = "onToggleSuper", CTRL = "onToggleCtrl", SHIFT = "onToggleShift", ALT = "onToggleAlt", - } - local labels = { - SUPER = "Super", CTRL = "Ctrl", SHIFT = "Shift", ALT = "Alt", - } - for _, modifier in ipairs(MODIFIER_ORDER) do - buttons[#buttons + 1] = ui.button({ - text = labels[modifier], - selected = activeModifiers[modifier], - variant = activeModifiers[modifier] and "primary" or "ghost", - controlSize = "sm", - onClick = callbacks[modifier], - }) - end - buttons[#buttons + 1] = ui.button({ - glyph = "restore", - variant = "ghost", - controlSize = "sm", - tooltip = tr("panel.keyboard.clear_modifiers"), - onClick = "onClearModifiers", - }) - buttons[#buttons + 1] = ui.spacer({ flexGrow = 1 }) - buttons[#buttons + 1] = keyboardLegendItem( - colorWithOpacity(cfg("key_color"), "surface_variant", 0.42), "outline", tr("panel.keyboard.free") - ) - buttons[#buttons + 1] = keyboardLegendItem( - colorWithOpacity(cfg("category_color"), "primary", 0.30), - asString(cfg("category_color"), "primary"), - tr("panel.keyboard.occupied") - ) - buttons[#buttons + 1] = keyboardLegendItem( - colorWithOpacity(cfg("category_color"), "primary", 0.10), - asString(cfg("category_color"), "primary"), - tr("panel.keyboard.other_layer") - ) - return ui.row({ gap = 8, align = "center" }, buttons) -end - -local function selectedKeyDetails(index) - if selectedKeyboardKey == nil then - return ui.row({ - minHeight = 62, - paddingH = 12, - paddingV = 9, - radius = 10, - fill = colorWithOpacity(cfg("card_color"), "surface_variant", 0.25), - border = "outline", - borderWidth = 1, - align = "center", - justify = "center", - }, { - ui.label({ - text = tr("panel.keyboard.select_hint"), - color = "on_surface_variant", - fontSize = 11, - textAlign = "center", - maxLines = 2, - }), - }) - end - - local signature = activeModifierSignature() - local entries = asArray(index.exact[signature .. "|" .. selectedKeyboardKey]) - local otherSignatures = {} - local seenSignatures = {} - for _, entry in ipairs(asArray(index.any[selectedKeyboardKey])) do - local entrySignature = modifierSignature(entry.bind.modifiers) - if entrySignature ~= signature and not seenSignatures[entrySignature] then - seenSignatures[entrySignature] = true - otherSignatures[#otherSignatures + 1] = entrySignature - end - end - table.sort(otherSignatures) - local usedOnAnotherLayer = #entries == 0 and #otherSignatures > 0 - local chordParts = {} - for _, modifier in ipairs(MODIFIER_ORDER) do - if activeModifiers[modifier] then - chordParts[#chordParts + 1] = modifier == "CTRL" and "Ctrl" or ( - modifier == "SUPER" and "Super" or (modifier == "SHIFT" and "Shift" or "Alt") - ) - end - end - chordParts[#chordParts + 1] = KEYBOARD_LABELS[selectedKeyboardKey] or selectedKeyboardKey - local chord = table.concat(chordParts, " + ") - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.label({ text = chord, color = "on_surface", fontSize = 13, fontWeight = "bold", flexGrow = 1 }), - ui.label({ - text = #entries > 0 and tr("panel.keyboard.occupied") or ( - usedOnAnotherLayer and tr("panel.keyboard.other_layer") or tr("panel.keyboard.free") - ), - color = (#entries > 0 or usedOnAnotherLayer) - and asString(cfg("category_color"), "primary") or "on_surface_variant", - fontSize = 11, - fontWeight = "bold", - }), - }), - } - if #entries == 0 then - children[#children + 1] = ui.label({ - text = tr(usedOnAnotherLayer and "panel.keyboard.other_layer_hint" or "panel.keyboard.free_hint"), - color = "on_surface_variant", - fontSize = 11, - maxLines = 2, - }) - if usedOnAnotherLayer then - local layerButtons = { - ui.label({ text = tr("panel.keyboard.available_layers"), color = "on_surface_variant", fontSize = 10 }), - } - for _, otherSignature in ipairs(otherSignatures) do - layerButtons[#layerButtons + 1] = ui.button({ - text = modifierSignatureLabel(otherSignature), - variant = "outline", - controlSize = "sm", - enabled = modifierSignatureSelectable(otherSignature), - onClick = layerCallback(otherSignature), - }) - end - children[#children + 1] = ui.row({ gap = 6, align = "center" }, layerButtons) - end - else - for entryIndex, entry in ipairs(entries) do - if entryIndex > 5 then - children[#children + 1] = ui.label({ - text = tr("panel.keyboard.more_actions", { count = #entries - 5 }), - color = "on_surface_variant", - fontSize = 10, - }) - break - end - local bind = entry.bind - local meta = entry.category - local mode = asString(bind.mode) - if mode ~= "" and normalized(mode) ~= "default" then - meta = meta .. " · " .. mode - end - children[#children + 1] = ui.row({ - key = "keyboard-detail-" .. asString(bind.id, tostring(entryIndex)), - gap = 8, - paddingH = 8, - paddingV = 4, - radius = 7, - fill = "surface/0.45", - align = "center", - }, { - ui.label({ - text = asString(bind.description, tr("panel.no_description")), - color = asString(cfg("description_color"), "on_surface"), - fontSize = 11, - flexGrow = 1, - maxLines = 2, - }), - ui.label({ text = meta, color = "on_surface_variant", fontSize = 9, maxLines = 1 }), - }) - end - end - return ui.column({ - paddingH = 12, - paddingV = 9, - gap = 5, - radius = 10, - fill = colorWithOpacity(cfg("card_color"), "surface_variant", 0.25), - border = "outline", - borderWidth = 1, - }, children) -end - -local function creatorCategoryNames() - if creatorOpen and #creatorCategoryNamesFrozen > 0 then - return creatorCategoryNamesFrozen - end - local names = {} - local seen = {} - for _, category in ipairs(asArray(snapshot.categories)) do - local name = noctalia.string.trim(asString(category.name)) - if name ~= "" and not seen[name] then - seen[name] = true - names[#names + 1] = name - end - end - return names -end - -local function creatorCategory() - local names = creatorCategoryNames() - if creatorCategoryIndex >= #names then - return noctalia.string.trim(creatorNewCategory) - end - return names[creatorCategoryIndex + 1] or "" -end - -local function creatorChord() - local parts = {} - for _, modifier in ipairs(MODIFIER_ORDER) do - if activeModifiers[modifier] then - parts[#parts + 1] = modifier == "SUPER" and "Super" or ( - modifier == "CTRL" and "Ctrl" or (modifier == "SHIFT" and "Shift" or "Alt") - ) - end - end - for _, code in ipairs(creatorKeys) do - parts[#parts + 1] = KEYBOARD_LABELS[code] or configKeyName(code) - end - return table.concat(parts, " + ") -end - -local function creatorKeysDisplay() - local labels = {} - for _, code in ipairs(creatorKeys) do - labels[#labels + 1] = KEYBOARD_LABELS[code] or configKeyName(code) - end - return table.concat(labels, ", ") -end - -local function creatorConflict(index) - local signature = activeModifierSignature() - for _, category in ipairs(asArray(snapshot.categories)) do - for _, bind in ipairs(asArray(category.binds)) do - if not (formMode == "edit" and asString(bind.id) == editingBindId) - and modifierSignature(bind.modifiers) == signature - and asString(bind.activation, "press") == creatorActivation then - local rawKeys = type(bind.keys) == "table" and bind.keys or expandedKeys(bind.key) - if #rawKeys == #creatorKeys then - local matches = true - for index, rawKey in ipairs(rawKeys) do - if canonicalKey(rawKey) ~= creatorKeys[index] then matches = false break end - end - if matches then - return { bind = bind, category = asString(category.name, tr("panel.uncategorized")) } - end - end - end - end - end - return nil -end - -local function creatorErrorText() - if creatorError == "" then - return "" - end - local key = "panel.creator.errors." .. creatorError - local translated = tr(key) - return translated ~= key and translated or creatorError -end - -local function creatorCanSave(index) - local compositor = normalized(snapshot.compositor) - if snapshot.status ~= "ready" or snapshot.compositor ~= creatorContextCompositor - or snapshot.source ~= creatorContextSource or creatorBusy or #creatorKeys == 0 - or (editingCapabilities.command ~= false and noctalia.string.trim(creatorCommand) == "") - or creatorCommand:find("{{", 1, true) ~= nil - or noctalia.string.trim(creatorDescription) == "" or creatorCategory() == "" then - return false - end - if compositor ~= "hyprland" and #creatorKeys ~= 1 then - return false - end - if compositor == "niri" and creatorActivation == "release" then - return false - end - return creatorConflict(index) == nil -end - -local function commandLibraryCompositorSource() - local compositor = normalized(snapshot.compositor) - if compositor == "hyprland" or compositor == "niri" or compositor == "mangowc" then - return compositor - end - return "" -end - -local function commandLibrarySourceLabel(source) - local key = "panel.command_library.sources." .. source - local translated = tr(key) - return translated ~= key and translated or source -end - -local function commandLibraryCategoryLabel(category) - local key = "panel.command_library.categories." .. category - local translated = tr(key) - return translated ~= key and translated or category -end - -local function commandLibrarySourceIds() - local result = { "", "noctalia" } - local compositorSource = commandLibraryCompositorSource() - if formMode ~= "edit" and compositorSource ~= "" then result[#result + 1] = compositorSource end - return result -end - -local function commandLibraryEntryAllowed(entry) - if type(entry) ~= "table" then return false end - if entry.source == "noctalia" then return entry.kind == "shell" end - return formMode ~= "edit" and entry.kind == "native" - and entry.source == commandLibraryCompositorSource() -end - -local function commandLibraryCategoryIds() - local sourceIds = commandLibrarySourceIds() - local selectedSource = sourceIds[commandLibrarySourceIndex + 1] or "" - local seen = {} - for _, entry in ipairs(asArray(COMMAND_LIBRARY.entries)) do - if commandLibraryEntryAllowed(entry) and type(entry.category) == "string" - and (selectedSource == "" or entry.source == selectedSource) then - seen[entry.category] = true - end - end - local result = {} - for category, _ in pairs(seen) do result[#result + 1] = category end - table.sort(result, function(left, right) - return commandLibraryCategoryLabel(left):lower() < commandLibraryCategoryLabel(right):lower() - end) - return result -end - -local function commandLibraryFilteredEntries() - local sourceIds = commandLibrarySourceIds() - local selectedSource = sourceIds[commandLibrarySourceIndex + 1] or "" - local categoryIds = commandLibraryCategoryIds() - local selectedCategory = categoryIds[commandLibraryCategoryIndex] or "" - local query = normalized(commandLibraryQuery) - local result = {} - for _, entry in ipairs(asArray(COMMAND_LIBRARY.entries)) do - if commandLibraryEntryAllowed(entry) - and (selectedSource == "" or entry.source == selectedSource) - and (selectedCategory == "" or entry.category == selectedCategory) then - local needsInput = asString(entry.template):find("{{", 1, true) ~= nil - local readinessMatches = commandLibraryReadinessIndex == 0 - or (commandLibraryReadinessIndex == 1 and not needsInput) - or (commandLibraryReadinessIndex == 2 and needsInput) - local haystack = normalized(table.concat({ - asString(entry.id), asString(entry.template), asString(entry.usage), - commandLibrarySourceLabel(asString(entry.source)), - commandLibraryCategoryLabel(asString(entry.category)), - }, " ")) - if readinessMatches and (query == "" or haystack:find(query, 1, true) ~= nil) then - result[#result + 1] = entry - end - end - end - return result -end - -local function commandLibraryNode() - if not commandLibraryOpen then return ui.row({ visible = false }, {}) end - local sourceIds = commandLibrarySourceIds() - if commandLibrarySourceIndex >= #sourceIds then commandLibrarySourceIndex = 0 end - local sourceOptions = { tr("panel.command_library.all_sources") } - for index = 2, #sourceIds do - sourceOptions[#sourceOptions + 1] = commandLibrarySourceLabel(sourceIds[index]) - end - local categoryIds = commandLibraryCategoryIds() - if commandLibraryCategoryIndex > #categoryIds then commandLibraryCategoryIndex = 0 end - local categoryOptions = { tr("panel.command_library.all_categories") } - for _, category in ipairs(categoryIds) do - categoryOptions[#categoryOptions + 1] = commandLibraryCategoryLabel(category) - end - local matches = commandLibraryFilteredEntries() - local resultNodes = {} - local visibleCount = math.min(#matches, 6) - for index = 1, visibleCount do - local entry = matches[index] - local selectedEntry = entry - local useCallback = function() - creatorCommand = asString(selectedEntry.template) - creatorCommandKind = asString(selectedEntry.kind, "shell") - creatorLibraryEntryId = asString(selectedEntry.id) - commandLibraryOpen = false - creatorError = "" - creatorRevision += 1 - render() - end - resultNodes[#resultNodes + 1] = ui.row({ gap = 6, align = "center" }, { - ui.glyph({ - name = entry.kind == "native" and "binary-tree" or "terminal-2", - size = 15, color = entry.kind == "native" and "primary" or "on_surface_variant", - }), - ui.column({ gap = 1, flexGrow = 1 }, { - ui.label({ text = asString(entry.usage, asString(entry.id)), fontSize = 10, maxLines = 1 }), - ui.label({ - text = commandLibrarySourceLabel(asString(entry.source)) .. " · " - .. commandLibraryCategoryLabel(asString(entry.category)), - color = "on_surface_variant", fontSize = 9, maxLines = 1, - }), - }), - asString(entry.template):find("{{", 1, true) ~= nil and ui.label({ - text = tr("panel.command_library.requires_input"), color = "tertiary", fontSize = 9, - }) or ui.label({ text = tr("panel.command_library.ready"), color = "secondary", fontSize = 9 }), - ui.button({ - text = tr("panel.command_library.use"), variant = "ghost", controlSize = "sm", - onClick = useCallback, - }), - }) - end - if #resultNodes == 0 then - resultNodes[1] = ui.label({ - text = tr("panel.command_library.no_results"), color = "on_surface_variant", fontSize = 10, - }) - end - return ui.column({ - gap = 6, paddingH = 8, paddingV = 8, radius = 8, - fill = colorWithOpacity(cfg("card_color"), "surface", 0.35), - border = "outline", borderWidth = 1, - }, { - ui.row({ gap = 6, align = "center" }, { - ui.glyph({ name = "books", size = 16, color = "primary" }), - ui.label({ text = tr("panel.command_library.title"), fontSize = 11, fontWeight = "bold", flexGrow = 1 }), - ui.button({ - text = tr("panel.command_library.custom_command"), variant = "ghost", controlSize = "sm", - onClick = "onCommandLibraryUseCustom", - }), - }), - ui.input({ - key = "command-library-search-" .. tostring(commandLibraryRevision), - value = commandLibraryQuery, placeholder = tr("panel.command_library.search_placeholder"), - controlSize = "sm", onChange = "onCommandLibraryQueryChanged", - }), - ui.row({ gap = 6, align = "center" }, { - ui.select({ - options = sourceOptions, selectedIndex = commandLibrarySourceIndex, - flexGrow = 1, controlSize = "sm", onChange = "onCommandLibrarySourceChanged", - }), - ui.select({ - options = categoryOptions, selectedIndex = commandLibraryCategoryIndex, - flexGrow = 1, controlSize = "sm", onChange = "onCommandLibraryCategoryChanged", - }), - ui.select({ - options = { - tr("panel.command_library.all_readiness"), tr("panel.command_library.ready"), - tr("panel.command_library.requires_input"), - }, - selectedIndex = commandLibraryReadinessIndex, flexGrow = 1, controlSize = "sm", - onChange = "onCommandLibraryReadinessChanged", - }), - }), - ui.label({ - text = tr("panel.command_library.showing", { shown = visibleCount, total = #matches }), - color = "on_surface_variant", fontSize = 9, - }), - ui.column({ gap = 3 }, resultNodes), - }) -end - -local function creatorForm(index) - local names = creatorCategoryNames() - local options = {} - for _, name in ipairs(names) do - options[#options + 1] = name - end - options[#options + 1] = tr("panel.creator.new_category") - if creatorCategoryIndex > #names then - creatorCategoryIndex = #names - end - local isEditing = formMode == "edit" - local showManualCombination = isEditing or viewMode == "list" - local usesNewCategory = creatorCategoryIndex >= #names - local compositor = normalized(snapshot.compositor) - local releaseSupported = compositor ~= "niri" and (not isEditing or editingCapabilities.activation == true) - local conflict = creatorConflict(index) - local chord = creatorChord() - local statusText = creatorErrorText() - if conflict ~= nil and statusText == "" then - statusText = tr("panel.creator.errors.conflict", { - description = asString(conflict.bind.description, tr("panel.no_description")), - }) - end - - local hintKey = isEditing and "panel.editor.hint" or (viewMode == "list" and "panel.creator.list_hint" or ( - compositor == "hyprland" and "panel.creator.hyprland_hint" or ( - compositor == "niri" and "panel.creator.niri_hint" or "panel.creator.mangowc_hint" - ))) - - local categoryControl = ui.select({ - key = "creator-category-" .. tostring(creatorRevision), options = options, - selectedIndex = creatorCategoryIndex, width = 250, controlSize = "sm", - onChange = "onCreatorCategoryChanged", - }) - - return ui.column({ - paddingH = 12, - paddingV = 10, - gap = 8, - radius = 10, - fill = colorWithOpacity(cfg("card_color"), "surface_variant", 0.25), - border = "primary", - borderWidth = 1, - }, { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = isEditing and "pencil" or "pencil-plus", size = 18, color = "primary" }), - ui.label({ - text = tr(isEditing and "panel.editor.title" or "panel.creator.title"), - fontSize = 13, fontWeight = "bold", flexGrow = 1, - }), - ui.label({ - text = chord ~= "" and chord or tr("panel.creator.no_combination"), - color = chord ~= "" and "primary" or "on_surface_variant", - fontSize = 11, - fontWeight = "bold", - maxLines = 1, - }), - }), - ui.label({ text = tr(hintKey), color = "on_surface_variant", fontSize = 10, maxLines = 2 }), - showManualCombination and ui.row({ gap = 6, align = "center" }, { - ui.label({ text = tr("panel.editor.combination"), color = "on_surface_variant", fontSize = 11 }), - ui.button({ - text = "Super", selected = activeModifiers.SUPER, - variant = activeModifiers.SUPER and "primary" or "ghost", controlSize = "sm", - onClick = "onToggleSuper", - }), - ui.button({ - text = "Ctrl", selected = activeModifiers.CTRL, - variant = activeModifiers.CTRL and "primary" or "ghost", controlSize = "sm", - onClick = "onToggleCtrl", - }), - ui.button({ - text = "Shift", selected = activeModifiers.SHIFT, - variant = activeModifiers.SHIFT and "primary" or "ghost", controlSize = "sm", - onClick = "onToggleShift", - }), - ui.button({ - text = "Alt", selected = activeModifiers.ALT, - variant = activeModifiers.ALT and "primary" or "ghost", controlSize = "sm", - onClick = "onToggleAlt", - }), - ui.input({ - key = "editor-keys-" .. tostring(creatorRevision), value = creatorKeysText, - placeholder = tr("panel.editor.keys_placeholder"), flexGrow = 1, controlSize = "sm", - onChange = "onEditorKeysChanged", - }), - }) or ui.row({ visible = false }, {}), - ui.row({ gap = 8, align = "center" }, { - ui.label({ text = tr("panel.creator.trigger"), color = "on_surface_variant", fontSize = 11 }), - ui.button({ - text = tr("panel.creator.press"), selected = creatorActivation == "press", - variant = creatorActivation == "press" and "primary" or "ghost", controlSize = "sm", - onClick = "onCreatorPress", - }), - ui.button({ - text = tr("panel.creator.release"), selected = creatorActivation == "release", - variant = creatorActivation == "release" and "primary" or "ghost", controlSize = "sm", - enabled = releaseSupported, tooltip = releaseSupported and "" or tr("panel.creator.release_unavailable"), - onClick = "onCreatorRelease", - }), - ui.spacer({ flexGrow = 1 }), - ui.label({ text = tr("panel.creator.category"), color = "on_surface_variant", fontSize = 11 }), - categoryControl, - ui.input({ - key = "creator-new-category-" .. tostring(creatorRevision), value = creatorNewCategory, - placeholder = tr("panel.creator.category_placeholder"), width = 220, controlSize = "sm", - visible = usesNewCategory, onChange = "onCreatorNewCategoryChanged", - }), - }), - ui.row({ gap = 8, align = "center" }, { - ui.input({ - key = "creator-description-" .. tostring(creatorRevision), value = creatorDescription, - placeholder = tr("panel.creator.description_placeholder"), flexGrow = 1, controlSize = "sm", - onChange = "onCreatorDescriptionChanged", - }), - ui.input({ - key = "creator-command-" .. tostring(creatorRevision), - value = isEditing and editingCapabilities.command ~= true and editingAction or creatorCommand, - placeholder = isEditing and editingCapabilities.command ~= true - and tr("panel.editor.action_placeholder") or tr("panel.creator.command_placeholder"), - flexGrow = 2, controlSize = "sm", - enabled = not isEditing or editingCapabilities.command == true, - onChange = "onCreatorCommandChanged", - }), - ui.button({ - text = tr("panel.command_library.open"), glyph = "books", - variant = commandLibraryOpen and "primary" or "ghost", controlSize = "sm", - enabled = not isEditing or editingCapabilities.command == true, - tooltip = tr("panel.command_library.open_hint"), - onClick = "onCommandLibraryToggle", - }), - }), - (not isEditing or editingCapabilities.command == true) and ui.row({ gap = 6, align = "center" }, { - ui.label({ - text = tr(creatorCommandKind == "native" - and "panel.command_library.native_action" or "panel.command_library.custom_command"), - color = creatorCommandKind == "native" and "primary" or "on_surface_variant", fontSize = 9, - }), - creatorCommand:find("{{", 1, true) ~= nil and ui.label({ - text = tr("panel.command_library.placeholder_hint"), color = "tertiary", fontSize = 9, - maxLines = 2, flexGrow = 1, - }) or ui.spacer({ flexGrow = 1 }), - }) or ui.row({ visible = false }, {}), - commandLibraryNode(), - ui.row({ gap = 8, align = "center" }, { - ui.label({ - text = statusText, - color = (conflict ~= nil or creatorError ~= "") and "error" or "on_surface_variant", - fontSize = 10, maxLines = 2, flexGrow = 1, - }), - ui.button({ text = tr("panel.creator.cancel"), variant = "ghost", controlSize = "sm", onClick = "onCreatorCancel" }), - ui.button({ - text = creatorBusy and tr("panel.creator.saving") - or tr(isEditing and "panel.editor.save" or "panel.creator.save"), - glyph = "device-floppy", variant = "primary", controlSize = "sm", - enabled = creatorCanSave(index), onClick = "onCreatorSave", - }), - }), - }) -end - -local function keyboardBody() - local index = keyboardIndex() - local layout = activeKeyboardLayout() - local signature = activeModifierSignature() - local occupied = 0 - for code, _ in pairs(layout.codeSet) do - if #asArray(index.exact[signature .. "|" .. code]) > 0 then - occupied = occupied + 1 - end - end - - local unmapped = 0 - for key, entries in pairs(index.any) do - if not layout.codeSet[key] then - unmapped = unmapped + #entries - end - end - - local keyboardRows = {} - for rowIndex, row in ipairs(layout.rows) do - local keys = {} - for _, spec in ipairs(row) do - keys[#keys + 1] = keyboardKeyNode(spec, index, signature) - end - keyboardRows[#keyboardRows + 1] = ui.row({ - key = "keyboard-row-" .. layout.id .. "-" .. tostring(rowIndex), - width = keyboardUnitsWidth(layout.rowUnits), - gap = KEYBOARD_GAP, - align = "center", - justify = "start", - }, keys) - end - - local layer = signature ~= "" and signature:gsub("%+", " + ") or tr("panel.keyboard.no_modifiers") - local summary = tr("panel.keyboard.summary", { layer = layer, count = occupied }) - if unmapped > 0 then - summary = summary .. " · " .. tr("panel.keyboard.outside", { count = unmapped }) - end - - return ui.scroll({ flexGrow = 1 }, { - ui.column({ gap = 9, align = "stretch" }, { - keyboardLayerToolbar(), - ui.label({ text = summary, color = "on_surface_variant", fontSize = 10, textAlign = "center" }), - ui.column({ - gap = KEYBOARD_GAP, - padding = 10, - radius = 13, - fill = colorWithOpacity(cfg("card_color"), "surface_variant", 0.18), - border = "outline", - borderWidth = 1, - align = "center", - }, keyboardRows), - creatorOpen and creatorForm(index) or selectedKeyDetails(index), - }), - }) -end - -selectKeyboardKey = function(code) - local modifier = MODIFIER_ALIASES[normalized(code)] - if modifier ~= nil and activeModifiers[modifier] ~= nil then - activeModifiers[modifier] = not activeModifiers[modifier] - selectedKeyboardKey = nil - else - local canonical = canonicalKey(code) - selectedKeyboardKey = canonical - if creatorOpen then - if creatorHasKey(canonical) then - local remaining = {} - for _, selectedCode in ipairs(creatorKeys) do - if selectedCode ~= canonical then - remaining[#remaining + 1] = selectedCode - end - end - creatorKeys = remaining - elseif normalized(snapshot.compositor) == "hyprland" then - if #creatorKeys < 4 then - creatorKeys[#creatorKeys + 1] = canonical - end - else - creatorKeys = { canonical } - end - creatorKeysText = creatorKeysDisplay() - creatorError = "" - end - end - render() -end - - -local function keyPill(token, isKey) - local fill - local textColor - if isKey then - fill = cfg("key_color") - textColor = cfg("key_text_color") - else - fill, textColor = modifierStyle(token) - end - return ui.row({ - fill = asString(fill, "surface"), - border = "outline", - borderWidth = 1, - radius = 7, - paddingH = 7, - paddingV = 2, - align = "center", - justify = "center", - }, { - ui.label({ - text = asString(token, "?"), - color = asString(textColor, "on_surface"), - fontSize = 11, - fontWeight = "bold", - maxLines = 1, - }), - }) -end - -local function keyWidth(columnCount) - if columnCount <= 1 then - return 330 - elseif columnCount == 2 then - return 245 - elseif columnCount == 3 then - return 210 - end - return 180 -end - -local DND_BIND_TYPE = "keybind-category" - -local function bindHasWritableProvenance(bind) - return not asString(bind.id):match("^range:") - and asString(bind.source) ~= "" and tonumber(bind.start_line) ~= nil - and tonumber(bind.end_line) ~= nil and asString(bind.raw_snippet) ~= "" - and asString(bind.fingerprint) ~= "" -end - -local function bindEditable(bind) - local capabilities = type(bind.capabilities) == "table" and bind.capabilities or {} - return capabilities.combo == true and capabilities.description == true - and bindHasWritableProvenance(bind) -end - -local function bindCategoryMovable(bind) - local capabilities = type(bind.capabilities) == "table" and bind.capabilities or {} - local bindId = asString(bind.id) - return capabilities.category == true and bindHasWritableProvenance(bind) - and bindId ~= "" and #bindId <= 256 -end - -local function categoryCanAcceptDrop(categoryName) - local name = noctalia.string.trim(asString(categoryName)) - return name ~= "" and #name <= 80 and not name:find("%c") - and not name:find('"', 1, true) - and not name:find("Keymap managed", 1, true) -end - -local function categoryRenameable(category) - local binds = asArray(type(category) == "table" and category.binds or nil) - if asString(type(category) == "table" and category.id or "") == "" or #binds == 0 then return false end - for _, bind in ipairs(binds) do - local firstLine = tonumber(bind.start_line) - local lastLine = tonumber(bind.end_line) - if not bindCategoryMovable(bind) or bind.hidden == true - or asString(bind.source):sub(1, 1) ~= "/" - or firstLine == nil or lastLine == nil or firstLine % 1 ~= 0 or lastLine % 1 ~= 0 - or firstLine < 1 or lastLine < firstLine then return false end - end - return true -end - -local function findSnapshotCategory(categoryId) - for _, category in ipairs(asArray(snapshot.categories)) do - if asString(category.id) == categoryId then return category end - end - return nil -end - -local function categoryNameExists(name, excludedId) - local wanted = normalized(name) - if wanted == "" then return false end - for _, category in ipairs(asArray(snapshot.categories)) do - if asString(category.id) ~= excludedId and normalized(category.name) == wanted then return true end - end - return false -end - -local function optimisticRenameCategory(categoryId, oldName, newName) - local categories = {} - local renamed = false - for _, category in ipairs(asArray(snapshot.categories)) do - local nextCategory = {} - for key, value in pairs(category) do nextCategory[key] = value end - if asString(category.id) == categoryId and asString(category.name) == oldName then - nextCategory.name = newName - local binds = {} - for _, bind in ipairs(asArray(category.binds)) do - local nextBind = {} - for key, value in pairs(bind) do nextBind[key] = value end - if nextBind.category ~= nil then nextBind.category = newName end - binds[#binds + 1] = nextBind - end - nextCategory.binds = binds - renamed = true - end - categories[#categories + 1] = nextCategory - end - if not renamed then return false end - local nextSnapshot = {} - for key, value in pairs(snapshot) do nextSnapshot[key] = value end - nextSnapshot.categories = categories - snapshot = nextSnapshot - return true -end - -local function findSnapshotBind(bindId) - for _, category in ipairs(asArray(snapshot.categories)) do - for _, bind in ipairs(asArray(category.binds)) do - if asString(bind.id) == bindId then - return bind, asString(category.name, tr("panel.uncategorized")) - end - end - end - return nil, "" -end - -local function findHiddenBind(bindId) - for _, bind in ipairs(asArray(snapshot.hidden)) do - if bind.hidden == true and asString(bind.id) == bindId then return bind end - end - return nil -end - -local function snapshotHasCategory(categoryName) - for _, category in ipairs(asArray(snapshot.categories)) do - if asString(category.name, tr("panel.uncategorized")) == categoryName then - return true - end - end - return false -end - -local function optimisticPlaceBind(bindId, targetCategory, anchorId, placement) - local moved = nil - local categories = {} - for _, category in ipairs(asArray(snapshot.categories)) do - local nextCategory = {} - for key, value in pairs(category) do nextCategory[key] = value end - local binds = {} - for _, bind in ipairs(asArray(category.binds)) do - if asString(bind.id) == bindId then moved = bind else binds[#binds + 1] = bind end - end - nextCategory.binds = binds - categories[#categories + 1] = nextCategory - end - if moved == nil then return false end - - local inserted = false - for _, category in ipairs(categories) do - if asString(category.name, tr("panel.uncategorized")) == targetCategory then - local binds = category.binds - if asString(anchorId) == "" then - binds[#binds + 1] = moved - inserted = true - else - for index, bind in ipairs(binds) do - if asString(bind.id) == anchorId then - table.insert(binds, placement == "after" and index + 1 or index, moved) - inserted = true - break - end - end - end - break - end - end - if not inserted then return false end - - local nextSnapshot = {} - for key, value in pairs(snapshot) do nextSnapshot[key] = value end - nextSnapshot.categories = categories - snapshot = nextSnapshot - return true -end - --- Logical pixels: the declarative UI scales explicit dimensions with the --- shell UI scale. Keep row actions no taller than the compact key pills so --- enabling edit mode does not change the height of every keybind row. -local BIND_ROW_ACTION_SIZE = 18 -local BIND_ROW_ACTION_GLYPH_SIZE = 12 - -local function beginBindOperation(bind, operation) - if creatorBusy or not bindEditable(bind) then return end - local bindId = asString(bind.id) - if operation == "delete" and deleteConfirmBindId ~= bindId then - deleteConfirmBindId = bindId - render() - return - end - deleteConfirmBindId = "" - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-action-" .. tostring(creatorRequestCounter) - formMode = "edit" - editingOperation = operation - editingBindId = bindId - editingRequestId = requestId - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = true - creatorError = "" - creatorOpen = false - noctalia.state.set(UPDATE_REQUEST_KEY, { - request_id = requestId, - target_id = bindId, - operation = operation, - compositor = creatorContextCompositor, - source = creatorContextSource, - }) - render() -end - -local function beginHiddenOperation(bind, operation) - if creatorBusy or type(bind) ~= "table" or bind.hidden ~= true - or not bindHasWritableProvenance(bind) then return end - local capabilities = type(bind.capabilities) == "table" and bind.capabilities or {} - if operation == "restore" and capabilities.restore ~= true then return end - if operation == "delete" and capabilities.delete ~= true then return end - - local bindId = asString(bind.id) - if operation == "delete" and hiddenDeleteConfirmBindId ~= bindId then - hiddenDeleteConfirmBindId = bindId - render() - return - end - hiddenDeleteConfirmBindId = "" - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-hidden-" .. tostring(creatorRequestCounter) - formMode = "edit" - editingOperation = operation - editingBindId = bindId - editingRequestId = requestId - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = true - creatorError = "" - creatorOpen = false - noctalia.state.set(UPDATE_REQUEST_KEY, { - request_id = requestId, - target_id = bindId, - operation = operation, - hidden = true, - compositor = creatorContextCompositor, - source = creatorContextSource, - }) - render() -end - -local function clearCategoryRename() - renamingCategoryId = "" - renamingCategoryOriginal = "" - renamingCategoryValue = "" - creatorError = "" -end - -local function openCategoryRename(category) - if creatorBusy or not editorMode or not categoryRenameable(category) then return end - creatorOpen = false - formMode = "edit" - editingBindId = "" - editingOperation = "update" - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - renamingCategoryId = asString(category.id) - renamingCategoryOriginal = asString(category.name, tr("panel.uncategorized")) - renamingCategoryValue = renamingCategoryOriginal - renamingCategoryRevision += 1 - creatorError = "" - render() -end - -local function openBindEditor(bind, categoryName) - if creatorBusy or not bindEditable(bind) then return end - clearCategoryRename() - formMode = "edit" - editingOperation = "update" - deleteConfirmBindId = "" - editingBindId = asString(bind.id) - editingCategory = categoryName - editingCapabilities = type(bind.capabilities) == "table" and bind.capabilities or {} - editingAction = asString(bind.action, asString(bind.dispatcher)) - creatorCategoryNamesFrozen = {} - local categoryNames = creatorCategoryNames() - creatorCategoryNamesFrozen = categoryNames - creatorCategoryIndex = 0 - for index, name in ipairs(categoryNames) do - if name == categoryName then creatorCategoryIndex = index - 1 break end - end - creatorNewCategory = "" - creatorKeys = {} - local rawKeys = type(bind.keys) == "table" and bind.keys or expandedKeys(bind.key) - for _, rawKey in ipairs(rawKeys) do creatorKeys[#creatorKeys + 1] = canonicalKey(rawKey) end - creatorKeysText = creatorKeysDisplay() - for _, modifier in ipairs(MODIFIER_ORDER) do activeModifiers[modifier] = false end - for _, rawModifier in ipairs(asArray(bind.modifiers)) do - local modifier = canonicalModifier(rawModifier) - if activeModifiers[modifier] ~= nil then activeModifiers[modifier] = true end - end - creatorActivation = asString(bind.activation, bind.release == true and "release" or "press") - creatorCommand = asString(bind.command) - creatorCommandKind = "shell" - creatorLibraryEntryId = "" - creatorDescription = asString(bind.description) - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorError = "" - creatorBusy = false - creatorOpen = true - commandLibraryOpen = false - commandLibraryQuery = "" - commandLibrarySourceIndex = 0 - commandLibraryCategoryIndex = 0 - commandLibraryReadinessIndex = 0 - commandLibraryRevision += 1 - selectedKeyboardKey = creatorKeys[1] - creatorRevision += 1 - viewMode = "list" - render() -end - -local function categoryRenameCallback(categoryId) - return function() - local category = findSnapshotCategory(categoryId) - if category ~= nil then openCategoryRename(category) end - end -end - -local function bindCallback(bindId, operation) - return function() - local bind, categoryName = findSnapshotBind(bindId) - if bind == nil then return end - if operation == "edit" then - openBindEditor(bind, categoryName) - else - beginBindOperation(bind, operation) - end - end -end - -local function hiddenCallback(bindId, operation) - return function() - local bind = findHiddenBind(bindId) - if bind ~= nil then beginHiddenOperation(bind, operation) end - end -end - -local function editBindActions(bind, categoryName) - if not editorMode then return {} end - local actions = {} - if bindCategoryMovable(bind) then - actions[#actions + 1] = ui.dragSource({ - key = "drag-bind-" .. asString(bind.id), - dragType = DND_BIND_TYPE, - payload = asString(bind.id), - previewAncestor = 1, - liftFromLayout = true, - enabled = not creatorBusy and not creatorOpen and renamingCategoryId == "", - tooltip = tr("panel.editor.drag"), - width = BIND_ROW_ACTION_SIZE, - height = BIND_ROW_ACTION_SIZE, - radius = 4, - align = "center", - justify = "center", - }, { - ui.glyph({ - name = "menu-2", size = BIND_ROW_ACTION_GLYPH_SIZE, - color = "on_surface_variant", - }), - }) - end - if not bindEditable(bind) then - actions[#actions + 1] = ui.button({ - glyph = "lock", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, enabled = false, - tooltip = tr("panel.editor.read_only"), - }) - return actions - end - local bindId = asString(bind.id) - local editCallback = bindCallback(bindId, "edit") - local hideCallback = bindCallback(bindId, "hide") - local deleteCallback = bindCallback(bindId, "delete") - - actions[#actions + 1] = ui.button({ - glyph = "pencil", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.edit"), onClick = editCallback, - }) - actions[#actions + 1] = ui.button({ - glyph = "eye-off", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.hide"), onClick = hideCallback, - }) - - if deleteConfirmBindId == asString(bind.id) then - local cancelCallback = "onCancelDeleteBind" - actions[#actions + 1] = ui.button({ - glyph = "x", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.cancel_delete"), onClick = cancelCallback, - }) - actions[#actions + 1] = ui.button({ - glyph = "trash", variant = "destructive", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.confirm_delete"), onClick = deleteCallback, - }) - else - actions[#actions + 1] = ui.button({ - glyph = "trash", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.delete"), onClick = deleteCallback, - }) - end - return actions -end - -local function bindRow(bind, categoryName, columnCount, rowIndex) - local width = keyWidth(columnCount) - local keys = {} - local tokens = {} - local estimatedWidth = 0 - for _, modifier in ipairs(asArray(bind.modifiers)) do - tokens[#tokens + 1] = asString(modifier, "?") - estimatedWidth = estimatedWidth + #asString(modifier, "?") * 7 + 18 - keys[#keys + 1] = keyPill(modifier, false) - end - local mainKey = asString(bind.key, "?") - tokens[#tokens + 1] = mainKey - estimatedWidth = estimatedWidth + #mainKey * 7 + 18 + math.max(0, #tokens - 1) * 4 - keys[#keys + 1] = keyPill(mainKey, true) - - local keyArea - if estimatedWidth > width then - keyArea = ui.row({ - width = width, - fill = asString(cfg("key_color"), "surface"), - border = "outline", - borderWidth = 1, - radius = 7, - paddingH = 6, - paddingV = 2, - align = "center", - justify = "center", - }, { - ui.label({ - text = table.concat(tokens, " + "), - color = asString(cfg("key_text_color"), "on_surface"), - fontSize = 10, - fontWeight = "bold", - textAlign = "center", - maxWidth = width - 12, - maxLines = 2, - }), - }) - else - keyArea = ui.row({ width = width, gap = 4, align = "center" }, keys) - end - - local description = asString(bind.description, tr("panel.no_description")) - local details = {} - local mode = asString(bind.mode) - if mode ~= "" and normalized(mode) ~= "default" then - details[#details + 1] = ui.label({ - text = mode, - color = "secondary", - fontSize = 10, - fontWeight = "bold", - maxLines = 1, - }) - end - details[#details + 1] = ui.label({ - text = description, - color = asString(cfg("description_color"), "on_surface"), - fontSize = 12, - maxLines = 2, - flexGrow = 1, - }) - - local children = { - keyArea, - ui.row({ gap = 6, align = "center", flexGrow = 1 }, details), - } - for _, action in ipairs(editBindActions(bind, categoryName)) do - children[#children + 1] = action - end - - return ui.row({ - key = "bind-" .. asString(bind.id, tostring(rowIndex)), - gap = 10, - paddingH = 6, - paddingV = 4, - radius = 8, - fill = "surface/0.42", - align = "center", - }, children) -end - -local function reorderInsertionZone(bind, placement) - if not editorMode or not bindCategoryMovable(bind) then return nil end - return ui.dropZone({ - key = "reorder-" .. placement .. "-" .. asString(bind.id), - accepts = { DND_BIND_TYPE }, - value = placement .. "|" .. asString(bind.id), - onDrop = "onBindReordered", - height = 3, - radius = 8, - expandOnDrag = true, - hitSlop = 64, - enabled = not creatorBusy and not creatorOpen and renamingCategoryId == "", - }, {}) -end - -local function hiddenBindRow(bind, columnCount, rowIndex) - local keys = {} - for _, modifier in ipairs(asArray(bind.modifiers)) do keys[#keys + 1] = keyPill(modifier, false) end - local rawKeys = type(bind.keys) == "table" and bind.keys or { asString(bind.key, "?") } - for _, key in ipairs(rawKeys) do keys[#keys + 1] = keyPill(key, true) end - - local bindId = asString(bind.id) - local restoreCallback = hiddenCallback(bindId, "restore") - local deleteCallback = hiddenCallback(bindId, "delete") - local actions = { - ui.button({ - glyph = "restore", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.restore"), onClick = restoreCallback, - }), - } - if hiddenDeleteConfirmBindId == bindId then - actions[#actions + 1] = ui.button({ - glyph = "x", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.cancel_delete"), onClick = "onCancelDeleteHiddenBind", - }) - actions[#actions + 1] = ui.button({ - glyph = "trash", variant = "destructive", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.confirm_delete_hidden"), onClick = deleteCallback, - }) - else - actions[#actions + 1] = ui.button({ - glyph = "trash", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - tooltip = tr("panel.editor.delete_hidden"), onClick = deleteCallback, - }) - end - - local details = { - ui.label({ - text = asString(bind.description, tr("panel.no_description")), - color = asString(cfg("description_color"), "on_surface"), - fontSize = 12, maxLines = 2, flexGrow = 1, - }), - } - if asString(bind.category) ~= "" then - details[#details + 1] = ui.label({ - text = asString(bind.category), color = "secondary", fontSize = 10, - fontWeight = "bold", maxLines = 1, - }) - end - - local children = { - ui.row({ width = keyWidth(columnCount), gap = 4, align = "center" }, keys), - ui.row({ gap = 6, align = "center", flexGrow = 1 }, details), - } - for _, action in ipairs(actions) do children[#children + 1] = action end - return ui.row({ - key = "hidden-bind-" .. bindId .. "-" .. tostring(rowIndex), - gap = 10, paddingH = 6, paddingV = 4, radius = 8, - fill = "surface/0.42", align = "center", - }, children) -end - -local function hiddenSection(hidden, columnCount) - if not editorMode or #hidden == 0 then return nil end - local children = { - ui.row({ gap = 8, align = "center" }, { - ui.glyph({ name = "eye-off", size = 16, color = "secondary" }), - ui.label({ - text = tr("panel.editor.hidden_title"), color = "secondary", - fontSize = 14, fontWeight = "bold", flexGrow = 1, - }), - ui.label({ - text = noctalia.trp("panel.editor.hidden_count", #hidden), - color = "on_surface_variant", fontSize = 11, - }), - }), - ui.label({ - text = tr("panel.editor.hidden_hint"), color = "on_surface_variant", - fontSize = 11, maxLines = 2, - }), - } - for index, bind in ipairs(hidden) do - children[#children + 1] = hiddenBindRow(bind, columnCount, index) - end - return ui.column({ - key = "hidden-shortcuts", gap = 3, padding = 8, radius = 12, - fill = cardFill(), border = "secondary", borderWidth = 1, - }, children) -end - -local function categoryCard(category, columnCount) - local categoryName = asString(category.name, tr("panel.uncategorized")) - local categoryId = asString(category.id, categoryName) - local isRenaming = editorMode and renamingCategoryId == categoryId - local canRename = categoryRenameable(category) - local header - if isRenaming then - local nextName = noctalia.string.trim(renamingCategoryValue) - local canSave = not creatorBusy and categoryCanAcceptDrop(nextName) - and nextName ~= categoryName and not categoryNameExists(nextName, categoryId) - header = ui.row({ gap = 6, align = "center" }, { - ui.glyph({ name = "pencil", size = 15, color = "primary" }), - ui.input({ - key = "category-name-" .. tostring(renamingCategoryRevision), - value = renamingCategoryValue, - placeholder = tr("panel.editor.category_name_placeholder"), - flexGrow = 1, - controlSize = "sm", - enabled = not creatorBusy, - focus = true, - onChange = "onCategoryRenameChanged", - onSubmit = "onCategoryRenameSave", - }), - ui.button({ - glyph = "x", variant = "ghost", controlSize = "sm", - tooltip = tr("panel.editor.category_rename_cancel"), - enabled = not creatorBusy, onClick = "onCategoryRenameCancel", - }), - ui.button({ - glyph = "device-floppy", variant = "primary", controlSize = "sm", - tooltip = tr("panel.editor.category_rename_save"), - enabled = canSave, onClick = "onCategoryRenameSave", - }), - }) - else - local headerChildren = { - ui.label({ - text = categoryName, - color = asString(cfg("category_color"), "primary"), - fontSize = 14, - fontWeight = "bold", - maxLines = 1, - flexGrow = 1, - }), - ui.label({ - text = noctalia.trp("panel.category_count", #asArray(category.binds)), - color = "on_surface_variant", - fontSize = 11, - }), - } - if editorMode then - local renameProps = { - glyph = "pencil", variant = "ghost", - width = BIND_ROW_ACTION_SIZE, height = BIND_ROW_ACTION_SIZE, - glyphSize = BIND_ROW_ACTION_GLYPH_SIZE, - enabled = canRename and not creatorBusy and not creatorOpen and renamingCategoryId == "", - tooltip = canRename and tr("panel.editor.category_rename") - or tr("panel.editor.category_read_only"), - } - if canRename then renameProps.onClick = categoryRenameCallback(categoryId) end - headerChildren[#headerChildren + 1] = ui.button(renameProps) - end - header = ui.row({ gap = 8, align = "center" }, headerChildren) - end - local children = { header } - if isRenaming and creatorError ~= "" then - children[#children + 1] = ui.label({ - text = creatorErrorText(), color = "error", fontSize = 10, maxLines = 2, - }) - end - - local categoryBinds = asArray(category.binds) - for index, bind in ipairs(categoryBinds) do - local insertion = reorderInsertionZone(bind, "before") - if insertion ~= nil then children[#children + 1] = insertion end - children[#children + 1] = bindRow( - bind, categoryName, columnCount, index - ) - end - if #categoryBinds > 0 then - local insertion = reorderInsertionZone(categoryBinds[#categoryBinds], "after") - if insertion ~= nil then children[#children + 1] = insertion end - end - local props = { - key = "category-" .. categoryId, - gap = editorMode and 0 or 3, - padding = 8, - radius = 12, - fill = cardFill(), - border = "outline", - borderWidth = 1, - } - if editorMode and categoryCanAcceptDrop(categoryName) then - props.accepts = { DND_BIND_TYPE } - props.value = categoryName - props.onDrop = "onBindDropped" - props.enabled = not creatorBusy and not creatorOpen and renamingCategoryId == "" - return ui.dropZone(props, children) - end - return ui.column(props, children) -end - -local function readyBody(categories, requestedColumns) - local hidden = filteredHidden() - if #categories == 0 and (not editorMode or #hidden == 0) then - local searching = normalized(searchQuery) ~= "" - local message = searching and tr("panel.no_results") or tr("panel.empty") - local hint = searching and tr("panel.no_results_hint") or tr("panel.empty_hint") - local children = { - ui.glyph({ name = "keyboard-off", size = 44, color = "on_surface_variant" }), - ui.label({ text = message, fontSize = 16, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = hint, color = "on_surface_variant", textAlign = "center", maxWidth = 560, maxLines = 3 }), - } - if not searching then - children[#children + 1] = ui.button({ - text = tr("panel.open_settings_action"), glyph = "settings", variant = "ghost", - onClick = "onOpenSettingsClicked", - }) - end - return ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 10 }, children) - end - - local columns = partitionCategories(categories, requestedColumns) - local columnNodes = {} - for columnIndex, column in ipairs(columns) do - local cards = {} - for _, category in ipairs(column) do - cards[#cards + 1] = categoryCard(category, #columns) - end - columnNodes[#columnNodes + 1] = ui.column({ - key = "column-" .. tostring(columnIndex), - gap = 12, - flexGrow = 1, - align = "stretch", - }, cards) - end - - local content = {} - local hiddenNode = hiddenSection(hidden, math.max(1, #columns)) - if hiddenNode ~= nil then content[#content + 1] = hiddenNode end - if #columnNodes > 0 then - content[#content + 1] = ui.row({ gap = 12, align = "start" }, columnNodes) - end - return ui.scroll({ flexGrow = 1, gap = 0 }, { - ui.column({ gap = 12, align = "stretch" }, content), - }) -end - -local function statusBody(status, errorText) - local isError = status == "error" - local errorKey = "panel.errors." .. asString(errorText, "unknown") - local translatedError = tr(errorKey) - if translatedError == errorKey then - translatedError = tr("panel.unknown_error") - end - return ui.column({ flexGrow = 1, align = "center", justify = "center", gap = 12 }, { - ui.glyph({ - name = isError and "alert-circle" or "refresh", - size = 44, - color = isError and "error" or "primary", - }), - ui.label({ - text = isError and tr("panel.load_failed") or tr("panel.loading"), - fontSize = 16, - fontWeight = "bold", - color = isError and "error" or "on_surface", - }), - ui.label({ - text = isError and translatedError or tr("panel.loading_hint"), - color = "on_surface_variant", - textAlign = "center", - maxWidth = 680, - maxLines = 4, - }), - ui.label({ - text = tr("panel.path_hint"), - color = "on_surface_variant", - textAlign = "center", - maxWidth = 680, - maxLines = 3, - visible = isError, - }), - ui.button({ - text = tr("panel.retry"), - glyph = "refresh", - variant = "primary", - visible = isError, - onClick = "onRefreshClicked", - }), - ui.button({ - text = tr("panel.open_settings_action"), - glyph = "settings", - variant = "ghost", - visible = isError, - onClick = "onOpenSettingsClicked", - }), - }) -end - -local function countVisibleBinds(categories) - local count = 0 - for _, category in ipairs(categories) do - count += #asArray(category.binds) - end - return count -end - -local function header() - local compositor = asString(snapshot.compositor, tr("panel.detecting")) - local total = tonumber(snapshot.total) or countVisibleBinds(asArray(snapshot.categories)) - local subtitle = compositor .. " · " .. noctalia.trp("panel.bind_count", total) - if asString(snapshot.updated_at) ~= "" then - subtitle ..= " · " .. tr("panel.updated", { time = snapshot.updated_at }) - end - - return ui.row({ gap = 10, align = "center" }, { - ui.glyph({ name = "keyboard", size = 26, color = "primary" }), - ui.column({ gap = 2, flexGrow = 1 }, { - ui.label({ text = tr("title"), fontSize = 18, fontWeight = "bold", color = "on_surface" }), - ui.label({ text = subtitle, fontSize = 11, color = "on_surface_variant", maxLines = 1 }), - }), - ui.button({ - glyph = "keyboard", - variant = viewMode == "keyboard" and "primary" or "ghost", - selected = viewMode == "keyboard", - tooltip = tr("panel.keyboard.view"), - onClick = "onShowKeyboard", - }), - ui.button({ - glyph = "list", - variant = viewMode == "list" and "primary" or "ghost", - selected = viewMode == "list", - tooltip = tr("panel.list_view"), - onClick = "onShowList", - }), - ui.label({ - text = tr("panel.keyboard.layout"), - color = "on_surface_variant", - fontSize = 10, - visible = editorMode, - }), - ui.select({ - key = "keyboard-layout-selector", - options = keyboardLayoutOptions(), - selectedIndex = keyboardLayoutSelectedIndex(), - width = 120, - controlSize = "sm", - visible = editorMode, - enabled = not creatorBusy, - onChange = "onKeyboardLayoutChanged", - }), - ui.spacer({ width = 8, flexGrow = 0 }), - ui.button({ - text = tr("panel.creator.new_shortcut"), - glyph = "pencil-plus", - variant = creatorOpen and formMode == "create" and "primary" or "ghost", - selected = creatorOpen and formMode == "create", - enabled = snapshot.status == "ready", - tooltip = tr("panel.creator.open"), - onClick = "onCreatorToggle", - }), - ui.button({ - text = tr("panel.editor.open"), - glyph = "edit", - variant = editorMode and "primary" or "ghost", - selected = editorMode, - enabled = snapshot.status == "ready", - tooltip = tr("panel.editor.open_hint"), - onClick = "onEditorToggle", - }), - ui.button({ - glyph = "refresh", - variant = "ghost", - tooltip = tr("panel.refresh"), - enabled = snapshot.status ~= "loading", - onClick = "onRefreshClicked", - }), - ui.button({ - glyph = "folder-open", - variant = "ghost", - tooltip = tr("panel.open_config_folder"), - enabled = sourceDirectory() ~= "" and not creatorBusy, - onClick = "onOpenConfigFolderClicked", - }), - ui.button({ - glyph = "settings", - variant = "ghost", - tooltip = tr("panel.open_settings"), - enabled = not creatorBusy, - onClick = "onOpenSettingsClicked", - }), - ui.button({ glyph = "close", variant = "ghost", tooltip = tr("panel.close"), onClick = "onCloseClicked" }), - }) -end - -local function searchBar(categories) - local children = { - ui.input({ - key = "search-" .. tostring(searchRevision), - value = searchQuery, - placeholder = tr("panel.search_placeholder"), - focus = true, - flexGrow = 1, - onChange = "onSearchChanged", - onSubmit = "onSearchChanged", - }), - } - - if searchQuery ~= "" then - children[#children + 1] = ui.label({ - text = noctalia.trp("panel.search_results", countVisibleBinds(categories)), - color = "on_surface_variant", - fontSize = 11, - }) - children[#children + 1] = ui.button({ - glyph = "x", - variant = "ghost", - tooltip = tr("panel.clear_search"), - onClick = "onClearSearch", - }) - end - - return ui.row({ gap = 8, align = "center" }, children) -end - -local function warningsBanner() - local warnings = asArray(snapshot.warnings) - if #warnings == 0 then - return nil - end - return ui.row({ - gap = 8, - paddingH = 10, - paddingV = 7, - radius = 9, - fill = "warning/0.12", - border = "warning", - borderWidth = 1, - align = "center", - }, { - ui.glyph({ name = "alert-triangle", size = 17, color = "tertiary" }), - ui.label({ - text = noctalia.trp("panel.warning_count", #warnings), - color = "on_surface", - fontSize = 11, - maxLines = 2, - flexGrow = 1, - }), - }) -end - -render = function() - local status = asString(snapshot.status, "idle") - local categories = viewMode == "list" and filteredCategories() or EMPTY_ENTRIES - local requestedColumns = math.max(1, math.min(4, math.floor(tonumber(cfg("columns")) or 3))) - local body - if status == "error" then - body = statusBody(status, snapshot.error) - elseif status == "loading" or status == "idle" then - body = statusBody(status, "") - elseif viewMode == "keyboard" then - body = keyboardBody() - else - body = readyBody(categories, requestedColumns) - end - - local children = { - header(), - ui.separator({ orientation = "horizontal", color = "outline", opacity = 0.65 }), - } - if viewMode == "list" then - children[#children + 1] = searchBar(categories) - end - if viewMode == "list" and creatorOpen and status == "ready" then - children[#children + 1] = creatorForm(keyboardIndex()) - end - local warning = warningsBanner() - if warning ~= nil and status == "ready" then - children[#children + 1] = warning - end - children[#children + 1] = body - panel.render(ui.column({ flexGrow = 1, gap = 12, align = "stretch" }, children)) -end - -local function requestRefresh() - local current = tonumber(noctalia.state.get(REFRESH_KEY)) or 0 - noctalia.state.set(REFRESH_KEY, current + 1) -end - -noctalia.state.watch(SNAPSHOT_KEY, function(value) - if type(value) == "table" and value.status == "loading" and snapshot.status == "ready" then - return - end - if type(value) == "table" then - snapshot = value - else - snapshot = EMPTY_SNAPSHOT - end - render() -end) - -noctalia.state.watch(CREATE_RESULT_KEY, function(result) - if formMode ~= "create" or type(result) ~= "table" - or tostring(result.request_id or "") ~= creatorRequestId or not creatorBusy then - return - end - creatorBusy = false - if result.ok == true then - local chord = creatorChord() - creatorOpen = false - creatorKeys = {} - selectedKeyboardKey = nil - noctalia.notify(tr("title"), tr("panel.creator.saved", { chord = chord })) - else - creatorError = asString(result.error, "write_failed") - noctalia.notifyError(tr("title"), creatorErrorText()) - end - render() -end) - -noctalia.state.watch(UPDATE_RESULT_KEY, function(result) - if formMode ~= "edit" or type(result) ~= "table" - or tostring(result.request_id or "") ~= editingRequestId or not creatorBusy then - return - end - creatorBusy = false - if result.ok == true then - editingSnapshotBefore = nil - creatorOpen = false - editingBindId = "" - selectedKeyboardKey = nil - viewMode = "list" - local resultKey = editingOperation == "hide" and "hidden" - or (editingOperation == "restore" and "restored" - or (editingOperation == "delete" and "deleted" - or (editingOperation == "move" and "moved" - or (editingOperation == "reorder" and "reordered" - or (editingOperation == "rename_category" and "category_renamed" or "updated"))))) - noctalia.notify(tr("title"), tr("panel.editor." .. resultKey)) - if editingOperation == "rename_category" then clearCategoryRename() end - else - if editingSnapshotBefore ~= nil then snapshot = editingSnapshotBefore end - editingSnapshotBefore = nil - creatorError = asString(result.error, "write_failed") - noctalia.notifyError(tr("title"), creatorErrorText()) - end - editingOperation = "update" - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - render() -end) - -function onOpen(_context) - clearHostValueCaches() - local configuredLayout = asString(cfg("keyboard_layout"), "100") - keyboardLayoutId = KEYBOARD_LAYOUTS[configuredLayout] ~= nil and configuredLayout or "100" - local current = noctalia.state.get(SNAPSHOT_KEY) - snapshot = type(current) == "table" and current or EMPTY_SNAPSHOT - searchQuery = "" - searchRevision += 1 - if creatorBusy then - creatorOpen = editingOperation == "update" - viewMode = formMode == "edit" and "list" or "keyboard" - else - creatorOpen = false - creatorError = "" - editorMode = false - formMode = "create" - editingBindId = "" - editingOperation = "update" - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - clearCategoryRename() - end - if snapshot.status == nil or snapshot.status == "idle" then - requestRefresh() - end - render() -end - -function onConfigChanged() - clearHostValueCaches() - render() -end - -function update() - render() -end - -function onSearchChanged(value) - searchQuery = asString(value) - render() -end - -function onClearSearch() - searchQuery = "" - searchRevision += 1 - render() -end - -function onShowKeyboard() - viewMode = "keyboard" - render() -end - -function onShowList() - if creatorBusy then return end - viewMode = "list" - creatorOpen = false - render() -end - -function onKeyboardLayoutChanged(index, _label) - if creatorBusy then return end - local selectedIndex = math.floor(tonumber(index) or -1) + 1 - local layoutId = KEYBOARD_LAYOUT_ORDER[selectedIndex] - if layoutId == nil or KEYBOARD_LAYOUTS[layoutId] == nil then return end - keyboardLayoutId = layoutId - render() -end - -local function resetCreator() - formMode = "create" - editingBindId = "" - editingCategory = "" - editingCapabilities = {} - editingAction = "" - creatorKeys = viewMode == "keyboard" and selectedKeyboardKey ~= nil and { selectedKeyboardKey } or {} - creatorKeysText = creatorKeysDisplay() - creatorActivation = "press" - creatorCommand = "" - creatorCommandKind = "shell" - creatorLibraryEntryId = "" - creatorDescription = "" - creatorCategoryIndex = 0 - creatorNewCategory = "" - creatorCategoryNamesFrozen = creatorCategoryNames() - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = false - creatorError = "" - commandLibraryOpen = false - commandLibraryQuery = "" - commandLibrarySourceIndex = 0 - commandLibraryCategoryIndex = 0 - commandLibraryReadinessIndex = 0 - commandLibraryRevision += 1 - creatorRevision += 1 -end - -function onCreatorToggle() - if creatorBusy then return end - clearCategoryRename() - if creatorOpen and formMode == "create" then - creatorOpen = false - else - editorMode = false - resetCreator() - creatorOpen = true - end - render() -end - -function onCreatorCancel() - if creatorBusy then return end - creatorOpen = false - creatorBusy = false - creatorError = "" - commandLibraryOpen = false - if formMode == "edit" then viewMode = "list" end - render() -end - -function onEditorToggle() - if creatorBusy then return end - if editorMode then - editorMode = false - creatorOpen = false - formMode = "create" - editingBindId = "" - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - clearCategoryRename() - else - editorMode = true - creatorOpen = false - formMode = "edit" - editingBindId = "" - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - clearCategoryRename() - viewMode = "list" - end - render() -end - -function onCategoryRenameChanged(value) - if creatorBusy or renamingCategoryId == "" then return end - renamingCategoryValue = asString(value) - creatorError = "" - render() -end - -function onCategoryRenameCancel() - if creatorBusy then return end - clearCategoryRename() - render() -end - -function onCategoryRenameSave() - if creatorBusy or renamingCategoryId == "" or snapshot.status ~= "ready" then return end - local category = findSnapshotCategory(renamingCategoryId) - local nextName = noctalia.string.trim(renamingCategoryValue) - if snapshot.compositor == "" or snapshot.source == "" then - creatorError = "stale_context" - elseif category == nil or asString(category.name) ~= renamingCategoryOriginal then - creatorError = "category_changed" - elseif not categoryRenameable(category) then - creatorError = "category_not_editable" - elseif nextName == "" then - creatorError = "category_required" - elseif not categoryCanAcceptDrop(nextName) then - creatorError = "category_invalid" - elseif categoryNameExists(nextName, renamingCategoryId) then - creatorError = "category_exists" - elseif nextName == renamingCategoryOriginal then - clearCategoryRename() - else - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-rename-category-" .. tostring(creatorRequestCounter) - formMode = "edit" - editingOperation = "rename_category" - editingBindId = "" - editingRequestId = requestId - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = true - creatorError = "" - creatorOpen = false - editingSnapshotBefore = snapshot - if not optimisticRenameCategory( - renamingCategoryId, renamingCategoryOriginal, nextName - ) then - editingSnapshotBefore = nil - creatorBusy = false - creatorError = "category_changed" - else - noctalia.state.set(UPDATE_REQUEST_KEY, { - request_id = requestId, - operation = "rename_category", - compositor = creatorContextCompositor, - source = creatorContextSource, - category_id = renamingCategoryId, - old_category = renamingCategoryOriginal, - new_category = nextName, - }) - end - end - render() -end - -function onCreatorPress() - creatorActivation = "press" - creatorError = "" - render() -end - -function onCreatorRelease() - if normalized(snapshot.compositor) ~= "niri" then - creatorActivation = "release" - creatorError = "" - render() - end -end - -function onCreatorCategoryChanged(index, _text) - creatorCategoryIndex = tonumber(index) or 0 - creatorError = "" - render() -end - -function onCreatorNewCategoryChanged(value) - creatorNewCategory = asString(value) - creatorError = "" - render() -end - -function onCreatorDescriptionChanged(value) - creatorDescription = asString(value) - creatorError = "" - render() -end - -function onCommandLibraryToggle() - if formMode == "edit" and editingCapabilities.command ~= true then return end - commandLibraryOpen = not commandLibraryOpen - creatorError = "" - render() -end - -function onCommandLibraryQueryChanged(value) - commandLibraryQuery = asString(value) - render() -end - -function onCommandLibrarySourceChanged(index, _text) - commandLibrarySourceIndex = math.max(0, math.floor(tonumber(index) or 0)) - commandLibraryCategoryIndex = 0 - render() -end - -function onCommandLibraryCategoryChanged(index, _text) - commandLibraryCategoryIndex = math.max(0, math.floor(tonumber(index) or 0)) - render() -end - -function onCommandLibraryReadinessChanged(index, _text) - commandLibraryReadinessIndex = math.max(0, math.min(2, math.floor(tonumber(index) or 0))) - render() -end - -function onCommandLibraryUseCustom() - if creatorCommandKind == "native" then - creatorCommand = "" - creatorRevision += 1 - end - creatorCommandKind = "shell" - creatorLibraryEntryId = "" - commandLibraryOpen = false - creatorError = "" - render() -end - -function onCreatorCommandChanged(value) - creatorCommand = asString(value) - creatorError = "" - render() -end - -function onEditorKeysChanged(value) - creatorKeysText = asString(value) - local keys = {} - local seen = {} - for part in (creatorKeysText .. ","):gmatch("(.-),") do - local key = canonicalKey(noctalia.string.trim(part)) - if key ~= "" and not seen[key] then - seen[key] = true - keys[#keys + 1] = key - end - end - creatorKeys = keys - selectedKeyboardKey = keys[1] - creatorError = "" - render() -end - -function onCreatorSave() - if creatorBusy then - return - end - local index = keyboardIndex() - local compositor = normalized(snapshot.compositor) - local category = creatorCategory() - if snapshot.status ~= "ready" or snapshot.compositor ~= creatorContextCompositor - or snapshot.source ~= creatorContextSource then - creatorError = "stale_context" - elseif #creatorKeys == 0 then - creatorError = "combination_required" - elseif (formMode ~= "edit" or editingCapabilities.command == true) - and noctalia.string.trim(creatorCommand) == "" then - creatorError = "command_required" - elseif creatorCommand:find("{{", 1, true) ~= nil then - creatorError = "library_arguments_required" - elseif noctalia.string.trim(creatorDescription) == "" then - creatorError = "description_required" - elseif category == "" then - creatorError = "category_required" - elseif compositor ~= "hyprland" and #creatorKeys ~= 1 then - creatorError = "single_key_only" - elseif compositor == "niri" and creatorActivation == "release" then - creatorError = "release_unsupported" - elseif creatorConflict(index) ~= nil then - creatorError = "conflict_blocked" - else - local keys = {} - for _, code in ipairs(creatorKeys) do - keys[#keys + 1] = configKeyName(code) - end - local modifiers = {} - for _, modifier in ipairs(MODIFIER_ORDER) do - if activeModifiers[modifier] then - modifiers[#modifiers + 1] = modifier - end - end - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-" .. tostring(creatorRequestCounter) - creatorBusy = true - creatorError = "" - local request = { - request_id = requestId, - compositor = creatorContextCompositor, - source = creatorContextSource, - modifiers = modifiers, - keys = keys, - activation = creatorActivation, - command = noctalia.string.trim(creatorCommand), - command_kind = creatorCommandKind, - library_entry_id = creatorLibraryEntryId, - description = noctalia.string.trim(creatorDescription), - category = category, - } - if formMode == "edit" then - editingOperation = "update" - editingRequestId = requestId - request.target_id = editingBindId - noctalia.state.set(UPDATE_REQUEST_KEY, request) - else - creatorRequestId = requestId - noctalia.state.set(CREATE_REQUEST_KEY, request) - end - end - render() -end - -local function toggleModifier(modifier) - activeModifiers[modifier] = not activeModifiers[modifier] - selectedKeyboardKey = nil - render() -end - -function onToggleSuper() toggleModifier("SUPER") end -function onToggleCtrl() toggleModifier("CTRL") end -function onToggleShift() toggleModifier("SHIFT") end -function onToggleAlt() toggleModifier("ALT") end - -function onClearModifiers() - for _, modifier in ipairs(MODIFIER_ORDER) do - activeModifiers[modifier] = false - end - selectedKeyboardKey = nil - render() -end - -function onCancelDeleteBind() - deleteConfirmBindId = "" - render() -end - -function onCancelDeleteHiddenBind() - hiddenDeleteConfirmBindId = "" - render() -end - -function onBindDropped(bindId, targetCategory) - if not editorMode or creatorBusy or snapshot.status ~= "ready" then return end - local targetName = noctalia.string.trim(asString(targetCategory)) - if not categoryCanAcceptDrop(targetName) or not snapshotHasCategory(targetName) then return end - local bind, currentCategory = findSnapshotBind(asString(bindId)) - if bind == nil or not bindCategoryMovable(bind) or currentCategory == targetName then return end - - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-move-" .. tostring(creatorRequestCounter) - formMode = "edit" - editingOperation = "move" - editingBindId = asString(bind.id) - editingRequestId = requestId - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = true - creatorError = "" - creatorOpen = false - deleteConfirmBindId = "" - editingSnapshotBefore = snapshot - if not optimisticPlaceBind(editingBindId, targetName, "", "after") then - editingSnapshotBefore = nil - creatorBusy = false - return - end - noctalia.state.set(UPDATE_REQUEST_KEY, { - request_id = requestId, - target_id = editingBindId, - operation = "move", - category = targetName, - compositor = creatorContextCompositor, - source = creatorContextSource, - }) - render() -end - -function onBindReordered(bindId, targetValue) - if not editorMode or creatorBusy or snapshot.status ~= "ready" then return end - local placement, anchorId = asString(targetValue):match("^(%a+)|(.+)$") - if (placement ~= "before" and placement ~= "after") or asString(anchorId) == "" then return end - local bind, bindCategory = findSnapshotBind(asString(bindId)) - local anchor, anchorCategory = findSnapshotBind(asString(anchorId)) - if bind == nil or anchor == nil or asString(bind.id) == asString(anchor.id) - or not bindCategoryMovable(bind) or not bindCategoryMovable(anchor) then return end - if asString(bind.source) ~= asString(anchor.source) then - if bindCategory ~= anchorCategory then onBindDropped(bindId, anchorCategory) end - return - end - - creatorRequestCounter += 1 - local requestId = tostring(os.time()) .. "-reorder-" .. tostring(creatorRequestCounter) - formMode = "edit" - editingOperation = "reorder" - editingBindId = asString(bind.id) - editingRequestId = requestId - creatorContextCompositor = asString(snapshot.compositor) - creatorContextSource = asString(snapshot.source) - creatorBusy = true - creatorError = "" - creatorOpen = false - deleteConfirmBindId = "" - hiddenDeleteConfirmBindId = "" - editingSnapshotBefore = snapshot - if not optimisticPlaceBind(editingBindId, anchorCategory, asString(anchor.id), placement) then - editingSnapshotBefore = nil - creatorBusy = false - return - end - noctalia.state.set(UPDATE_REQUEST_KEY, { - request_id = requestId, - target_id = editingBindId, - anchor_id = asString(anchor.id), - operation = "reorder", - placement = placement, - compositor = creatorContextCompositor, - source = creatorContextSource, - }) - render() -end - -function onIpc(event, payload) - if event == "view-keyboard" then - onShowKeyboard() - elseif event == "view-list" then - onShowList() - elseif event == "keyboard-layout" and KEYBOARD_LAYOUTS[asString(payload)] ~= nil then - keyboardLayoutId = asString(payload) - render() - elseif event == "keyboard-key" and asString(payload) ~= "" then - selectKeyboardKey(payload) - elseif event == "clear-modifiers" then - onClearModifiers() - elseif event == "creator-open" and not creatorOpen then - onCreatorToggle() - elseif event == "creator-cancel" and creatorOpen then - onCreatorCancel() - elseif event == "editor-open" and not editorMode then - onEditorToggle() - elseif event == "editor-bind" and asString(payload) ~= "" then - for _, category in ipairs(asArray(snapshot.categories)) do - for _, bind in ipairs(asArray(category.binds)) do - if asString(bind.id) == asString(payload) then - editorMode = true - openBindEditor(bind, asString(category.name, tr("panel.uncategorized"))) - return - end - end - end - end -end - -function onRefreshClicked() - requestRefresh() -end - -function onOpenConfigFolderClicked() - if creatorBusy then return end - local directory = sourceDirectory() - if directory == "" then - noctalia.notifyError(tr("title"), tr("panel.config_folder_unavailable")) - return - end - local info = noctalia.fileInfo(directory) - if type(info) ~= "table" or info.isDir ~= true then - noctalia.notifyError(tr("title"), tr("panel.config_folder_unavailable")) - return - end - if not noctalia.commandExists("xdg-open") then - noctalia.notifyError(tr("title"), tr("panel.xdg_open_unavailable")) - return - end - local started = noctalia.runAsync("xdg-open " .. shellQuote(directory) .. " >/dev/null 2>&1", function(result) - if result.timedOut == true or tonumber(result.exitCode) ~= 0 then - noctalia.notifyError(tr("title"), tr("panel.config_folder_failed")) - end - end) - if not started then - noctalia.notifyError(tr("title"), tr("panel.config_folder_failed")) - end -end - -function onOpenSettingsClicked() - if creatorBusy then return end - local started = noctalia.runAsync("noctalia msg settings-open plugins") - if not started then - noctalia.notifyError(tr("title"), tr("panel.settings_failed")) - end -end - -function onCloseClicked() - if creatorBusy then return end - panel.close() -end diff --git a/keymap/plugin.toml b/keymap/plugin.toml deleted file mode 100644 index 3f43dfa..0000000 --- a/keymap/plugin.toml +++ /dev/null @@ -1,229 +0,0 @@ -id = "blackbartblues/keymap" -name = "Keymap" -version = "1.4.0" -plugin_api = 9 -author = "blackbartblues" -license = "MIT" -dependencies = ["hyprctl", "Hyprland", "niri", "mango", "mmsg", "xdg-open"] -tags = ["bar", "panel", "service", "hyprland", "niri", "mangowc", "productivity", "utility"] -icon = "keyboard" -description = "View, create, organize, and edit Hyprland, Niri, and MangoWC keybindings." - -[[setting]] -key = "compositor" -type = "select" -label_key = "settings.compositor.label" -description_key = "settings.compositor.description" -options = [ - { value = "auto", label_key = "settings.compositor.options.auto" }, - { value = "hyprland", label_key = "settings.compositor.options.hyprland" }, - { value = "niri", label_key = "settings.compositor.options.niri" }, - { value = "mangowc", label_key = "settings.compositor.options.mangowc" }, -] -default = "auto" - -[[setting]] -key = "hyprland_config" -type = "file" -label_key = "settings.hyprland_config.label" -description_key = "settings.hyprland_config.description" -default = "~/.config/hypr/hyprland.lua" -visible_when = { key = "compositor", values = ["auto", "hyprland"] } - -[[setting]] -key = "niri_config" -type = "file" -label_key = "settings.niri_config.label" -description_key = "settings.niri_config.description" -default = "~/.config/niri/config.kdl" -visible_when = { key = "compositor", values = ["auto", "niri"] } - -[[setting]] -key = "mangowc_config" -type = "file" -label_key = "settings.mangowc_config.label" -description_key = "settings.mangowc_config.description" -default = "~/.config/mango/config.conf" -visible_when = { key = "compositor", values = ["auto", "mangowc"] } - -[[setting]] -key = "merge_sequential" -type = "bool" -label_key = "settings.merge_sequential.label" -description_key = "settings.merge_sequential.description" -default = true - -[[setting]] -key = "show_undescribed" -type = "bool" -label_key = "settings.show_undescribed.label" -description_key = "settings.show_undescribed.description" -default = true - -[[setting]] -key = "keyboard_layout" -type = "select" -label_key = "settings.keyboard_layout.label" -description_key = "settings.keyboard_layout.description" -options = [ - { value = "100", label_key = "settings.keyboard_layout.options.p100" }, - { value = "96", label_key = "settings.keyboard_layout.options.p96" }, - { value = "80", label_key = "settings.keyboard_layout.options.p80" }, - { value = "75", label_key = "settings.keyboard_layout.options.p75" }, - { value = "65", label_key = "settings.keyboard_layout.options.p65" }, - { value = "60", label_key = "settings.keyboard_layout.options.p60" }, -] -default = "100" - -[[setting]] -key = "columns" -type = "int" -label_key = "settings.columns.label" -description_key = "settings.columns.description" -default = 3 -min = 1 -max = 4 -step = 1 - -[[setting]] -key = "card_color" -type = "color" -label_key = "settings.card_color.label" -description_key = "settings.card_color.description" -default = "surface_variant" - -[[setting]] -key = "card_opacity" -type = "int" -label_key = "settings.card_opacity.label" -description_key = "settings.card_opacity.description" -default = 35 -min = 0 -max = 100 -step = 5 - -[[setting]] -key = "category_color" -type = "color" -label_key = "settings.category_color.label" -description_key = "settings.category_color.description" -default = "primary" - -[[setting]] -key = "description_color" -type = "color" -label_key = "settings.description_color.label" -description_key = "settings.description_color.description" -default = "on_surface" - -[[setting]] -key = "super_color" -type = "color" -label_key = "settings.super_color.label" -description_key = "settings.modifier_color.description" -default = "primary" - -[[setting]] -key = "super_text_color" -type = "color" -label_key = "settings.super_text_color.label" -description_key = "settings.modifier_text_color.description" -default = "on_primary" - -[[setting]] -key = "ctrl_color" -type = "color" -label_key = "settings.ctrl_color.label" -description_key = "settings.modifier_color.description" -default = "secondary" - -[[setting]] -key = "ctrl_text_color" -type = "color" -label_key = "settings.ctrl_text_color.label" -description_key = "settings.modifier_text_color.description" -default = "on_secondary" - -[[setting]] -key = "shift_color" -type = "color" -label_key = "settings.shift_color.label" -description_key = "settings.modifier_color.description" -default = "tertiary" - -[[setting]] -key = "shift_text_color" -type = "color" -label_key = "settings.shift_text_color.label" -description_key = "settings.modifier_text_color.description" -default = "on_tertiary" - -[[setting]] -key = "alt_color" -type = "color" -label_key = "settings.alt_color.label" -description_key = "settings.modifier_color.description" -default = "surface_variant" - -[[setting]] -key = "alt_text_color" -type = "color" -label_key = "settings.alt_text_color.label" -description_key = "settings.modifier_text_color.description" -default = "on_surface_variant" - -[[setting]] -key = "key_color" -type = "color" -label_key = "settings.key_color.label" -description_key = "settings.key_color.description" -default = "surface" - -[[setting]] -key = "key_text_color" -type = "color" -label_key = "settings.key_text_color.label" -description_key = "settings.key_text_color.description" -default = "on_surface" - -[[widget]] -id = "widget" -entry = "widget.luau" - - [[widget.setting]] - key = "glyph" - type = "glyph" - label_key = "settings.widget.glyph.label" - description_key = "settings.widget.glyph.description" - default = "keyboard" - - [[widget.setting]] - key = "show_label" - type = "bool" - label_key = "settings.widget.show_label.label" - description_key = "settings.widget.show_label.description" - default = false - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 1400 -height = 850 -placement = "floating" -position = "center" - -[[service]] -id = "service" -entry = "service.luau" - -[[service]] -id = "niri-service" -entry = "niri_service.luau" - -[[service]] -id = "mangowc-service" -entry = "mangowc_service.luau" - -[[service]] -id = "writer-service" -entry = "writer_service.luau" diff --git a/keymap/screenshots/command-library.webp b/keymap/screenshots/command-library.webp deleted file mode 100644 index 08cb72c3609379c7809ed69d6dd7681456960df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47838 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 PWK9;Qv`n9(C%^yz6)l%= diff --git a/keymap/screenshots/editor.webp b/keymap/screenshots/editor.webp deleted file mode 100644 index 467b844fe6a15cd5b255411fcfc7af8dbb47b50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70100 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%0A#Tq(XLddCkFY$!JzYiZfyl=2hMEjJ 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 diff --git a/lid-guard/translations/en.json b/lid-guard/translations/en.json deleted file mode 100644 index 53ebde3..0000000 --- a/lid-guard/translations/en.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "error": { - "command_failed": "The systemd command failed.", - "missing_dependencies": "systemctl, systemd-run, systemd-inhibit, and sleep are required.", - "state_mismatch": "The requested state could not be confirmed." - }, - "notification": { - "disabled": { - "body": "The normal lid-close behavior has been restored.", - "title": "Lid Guard disabled" - }, - "enabled": { - "body": "Closing the laptop lid will no longer suspend it.", - "title": "Lid Guard enabled" - } - }, - "shortcut": { - "active": "Lid Guard On", - "inactive": "Lid Guard Off" - }, - "title": "Lid Guard", - "tooltip": { - "active": "Lid Guard is on — closing the lid will not suspend the laptop", - "changing": "Changing Lid Guard state…", - "inactive": "Lid Guard is off — click to keep the laptop awake with the lid closed", - "unavailable": "Lid Guard requires systemd" - } -} diff --git a/lid-guard/widget.luau b/lid-guard/widget.luau deleted file mode 100644 index 82dd2bb..0000000 --- a/lid-guard/widget.luau +++ /dev/null @@ -1,59 +0,0 @@ ---!nonstrict - -local status = noctalia.state.get("lid_guard_status") or { - active = false, - busy = false, - available = true, -} -local requestId = 0 - -local function render() - if status.available == false then - barWidget.setGlyph("shield-x") - barWidget.setGlyphColor("error") - barWidget.setTooltip(noctalia.tr("tooltip.unavailable")) - elseif status.busy == true then - barWidget.setGlyph("loader-2") - barWidget.setGlyphColor("primary") - barWidget.setTooltip(noctalia.tr("tooltip.changing")) - elseif status.active == true then - barWidget.setGlyph("shield-lock") - barWidget.setGlyphColor("tertiary") - barWidget.setTooltip(noctalia.tr("tooltip.active")) - else - barWidget.setGlyph("shield-off") - barWidget.setGlyphColor("on_surface_variant") - barWidget.setTooltip(noctalia.tr("tooltip.inactive")) - end -end - -noctalia.state.watch("lid_guard_status", function(value) - if type(value) == "table" then - status = value - render() - end -end) - -render() - -function onClick() - if status.available == false then - noctalia.notifyError(noctalia.tr("title"), status.error or noctalia.tr("error.missing_dependencies")) - return - end - if status.busy == true then return end - - requestId += 1 - noctalia.state.set("lid_guard_command", { - action = "toggle", - requestId = `widget-{requestId}`, - }) -end - -function onRightClick() - requestId += 1 - noctalia.state.set("lid_guard_command", { - action = "refresh", - requestId = `widget-refresh-{requestId}`, - }) -end diff --git a/link-ip-monitor/README.md b/link-ip-monitor/README.md deleted file mode 100644 index 39cf6e4..0000000 --- a/link-ip-monitor/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# link-ip-monitor -link-ip-monitor pings a list of IPs, hostnames or links on an interval, tracks -each host's online/offline status and response time, and notifies when one -goes down or comes back up. - -## Plugin -| Field | Value | -| --- | --- | -| ID | `nilsonlinux/link-ip-monitor` | -| Entries | Bar widget: `status`; panel: `panel`; service: `monitor` | - -## Requirements -Uses the system `ping` binary (`iputils`, present on most Linux distros). -No other external dependency. - -## Usage -Add the `status` widget to the bar: it turns green when every monitored -host is responding, red with a count badge when one or more are down, and -neutral when the list is empty. - -Click the widget to open the panel. Use the `+` button in the panel header -to reveal the add-host form — accepts an IP (`8.8.8.8`), a hostname -(`example.com`) or a full link (scheme, port, path and query are stripped -automatically, keeping only the host to ping). An optional description can -be set alongside it. - -Each row in the panel shows the label (or the host, if no label was set), a -status pill, the response time in ms while online, a drag handle to -reorder the list, and a trash button to remove that entry (asks for -confirmation). Right-click the widget, or use the refresh button in the -panel, to force an immediate check. - -Open the panel directly with: -```sh -noctalia msg panel-toggle nilsonlinux/link-ip-monitor:panel -``` - -Force an immediate check via IPC: -```sh -noctalia msg plugin nilsonlinux/link-ip-monitor:monitor all refresh -``` - -The host list itself is not stored in plugin settings — it lives in the -service's own persisted state (`pluginDataDir()/state.json`) and is -managed entirely from the panel (add / remove / reorder), since the -plugin API has no way to write settings back from a script. - -## Settings -| Setting | Type | Default | Description | -| --- | --- | --- | --- | -| `interval_seconds` | `int` | `30` | How often each host is checked. | -| `timeout_seconds` | `int` | `1` | How long to wait for a ping reply before treating it as a failure. | -| `notify_on_recovery` | `bool` | `true` | Send a notification when a host that was down responds again. | -| `glyph` (widget) | `glyph` | `activity` | Icon shown in the bar for the `status` widget. | - -## Notes -Notification text and panel labels come from `translations/.json` -via `noctalia.tr()` (English and `pt-BR` included). `noctalia.notify()` / -`noctalia.notifyError()` accept only a title and body — the plugin API -exposes no urgency parameter, so the "host down" alert's appearance (the -red border from `notifyError`) can't be further customized from the -plugin. Response time (ms) is parsed from `ping`'s own text output, so it -depends on that output containing a `= ms` pattern regardless of -the system's locale. diff --git a/link-ip-monitor/panel.luau b/link-ip-monitor/panel.luau deleted file mode 100644 index a01f367..0000000 --- a/link-ip-monitor/panel.luau +++ /dev/null @@ -1,359 +0,0 @@ ---!nonstrict --- panel.luau --- Window shown when clicking the bar widget: a form to add an IP, --- hostname or link (with an optional description field below it), and --- the list of monitored hosts — each with its label (if set), a status --- pill, response time in ms (when online), a drag handle to reorder, and --- a remove button (with confirmation). - -local ips = {} -- { {ip=, label=, status=, latency_ms=}, ... } -local draftIp = "" -local draftLabel = "" -local draftKey = 0 -local draftError = "" -local pendingDelete = nil -local showAddForm = false - -local DRAG_TYPE = "link-ip-monitor-host" - -local STATUS_COLORS = { - up = { fill = "#2e7d32", text = "#ffffff" }, - down = { fill = "#c62828", text = "#ffffff" }, - checking = { fill = "#5f6368", text = "#ffffff" }, -} - -local render - --- Accepts an IP, a plain hostname, or a link (http://..., https://...) --- and returns just the host — scheme, port, path and query are dropped. --- Same logic as service.luau (duplicated here just to give immediate --- feedback in the field). -local function extractHost(raw) - local s = noctalia.string.trim(raw or "") - s = s:gsub("^%a[%w+.-]*://", "") - s = s:match("^([^/%?#]+)") or s - s = s:match("^([^:]+)") or s - return s -end - -local function isValidIPv4(host) - local a, b, c, d = host:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") - if not a then - return false - end - for _, n in ipairs({ a, b, c, d }) do - local num = tonumber(n) - if num == nil or num < 0 or num > 255 then - return false - end - end - return true -end - -local function isValidHostname(host) - if host == "" or #host > 253 then - return false - end - local labelCount = 0 - for label in host:gmatch("[^%.]+") do - labelCount = labelCount + 1 - if #label == 0 or #label > 63 then - return false - end - if not label:match("^%w[%w%-]*%w$") and not label:match("^%w$") then - return false - end - end - return labelCount > 0 -end - -local function normalizeHost(raw) - local host = extractHost(raw) - if host == "" then - return nil - end - if isValidIPv4(host) or isValidHostname(host) then - return host - end - return nil -end - -local STATUS_TR_KEY = { - up = "panel.status_online", - down = "panel.status_offline", - checking = "panel.status_checking", -} - -local function pill(status) - local colors = STATUS_COLORS[status] or STATUS_COLORS.checking - local label = noctalia.tr(STATUS_TR_KEY[status] or "panel.status_checking") - return ui.row({ - fill = colors.fill, - radius = 8, - paddingH = 8, - paddingV = 2, - align = "center", - justify = "center", - }, { - ui.label({ text = label, fontSize = 11, fontWeight = "bold", color = colors.text }), - }) -end - --- Thin strip between rows (and before the first / after the last) that --- accepts a dropped host, indicating where it will land. -local function insertionZone(index) - return ui.dropZone({ - key = "gap-" .. index, - accepts = { DRAG_TYPE }, - value = tostring(index), - onDrop = "onIpDropped", - height = 3, - radius = 4, - expandOnDrag = true, - hitSlop = 24, - }) -end - -function onIpDropped(payload, value) - local insertAt = tonumber(value) - if type(payload) ~= "string" or payload == "" or insertAt == nil then - return - end - noctalia.state.set("link_ip_monitor.cmd", { op = "reorder", ip = payload, index = insertAt }) -end - -local function hostRow(item) - local id = item.ip - local deleting = pendingDelete == id - - local actions - if deleting then - actions = ui.row({ gap = 4, align = "center" }, { - ui.button({ - glyph = "check", - variant = "destructive", - controlSize = "sm", - tooltip = noctalia.tr("panel.tooltip_confirm_remove"), - onClick = function() - noctalia.state.set("link_ip_monitor.cmd", { op = "remove", ip = id }) - pendingDelete = nil - render() - end, - }), - ui.button({ - glyph = "close", - variant = "ghost", - controlSize = "sm", - tooltip = noctalia.tr("panel.tooltip_cancel"), - onClick = function() - pendingDelete = nil - render() - end, - }), - }) - else - actions = ui.button({ - glyph = "trash", - variant = "ghost", - controlSize = "sm", - tooltip = noctalia.tr("panel.tooltip_remove"), - onClick = function() - pendingDelete = id - render() - end, - }) - end - - -- Left column: label (if set) in bold + host as a caption; without a - -- label, the host becomes the main text. - local infoChildren = {} - local hasLabel = item.label ~= nil and item.label ~= "" - if hasLabel then - table.insert(infoChildren, ui.label({ text = item.label, fontWeight = "bold", fontSize = 13 })) - table.insert(infoChildren, ui.label({ text = item.ip, color = "on_surface_variant", fontSize = 10 })) - else - table.insert(infoChildren, ui.label({ text = item.ip, fontWeight = "bold", fontSize = 13 })) - end - - -- Right column: status pill + response time in ms (only while online - -- and when the measurement exists). - local statusChildren = { pill(item.status) } - if item.status == "up" and item.latency_ms ~= nil then - table.insert(statusChildren, ui.label({ - text = tostring(math.floor(item.latency_ms + 0.5)) .. " ms", - fontSize = 10, - color = "on_surface_variant", - })) - end - - return ui.row({ - key = "ip-" .. id, - gap = 8, - padding = 10, - radius = 8, - fill = "surface_variant/0.35", - align = "center", - justify = "space_between", - }, { - ui.dragSource({ - key = "grip-" .. id, - dragType = DRAG_TYPE, - payload = id, - previewAncestor = 1, - liftFromLayout = true, - width = 20, - height = 20, - align = "center", - justify = "center", - tooltip = noctalia.tr("panel.tooltip_drag"), - }, { - ui.glyph({ name = "menu-2", size = 14, color = "on_surface_variant" }), - }), - ui.column({ flexGrow = 1, gap = 1 }, infoChildren), - ui.column({ align = "end", gap = 2 }, statusChildren), - actions, - }) -end - -local function emptyState() - return ui.column({ gap = 10, align = "center", padding = 32, flexGrow = 1, justify = "center" }, { - ui.glyph({ name = "activity", size = 32, color = "outline" }), - ui.label({ text = noctalia.tr("panel.empty"), color = "outline" }), - }) -end - -render = function() - local body - - if #ips == 0 then - body = emptyState() - else - local rows = {} - for i, item in ipairs(ips) do - table.insert(rows, insertionZone(i)) - table.insert(rows, hostRow(item)) - end - table.insert(rows, insertionZone(#ips + 1)) - body = ui.scroll({ gap = 6, flexGrow = 1 }, rows) - end - - local column = {} - - table.insert(column, ui.row({ align = "center", justify = "space_between" }, { - ui.label({ text = noctalia.tr("title"), fontSize = 16, fontWeight = "bold", flexGrow = 1 }), - ui.button({ - glyph = showAddForm and "minus" or "plus", - variant = showAddForm and "primary" or "ghost", - controlSize = "sm", - tooltip = showAddForm and noctalia.tr("panel.tooltip_close_form") or noctalia.tr("panel.tooltip_add_host"), - onClick = function() - showAddForm = not showAddForm - if not showAddForm then - draftIp = "" - draftLabel = "" - draftError = "" - draftKey += 1 - end - render() - end, - }), - ui.button({ - glyph = "refresh", - variant = "ghost", - controlSize = "sm", - tooltip = noctalia.tr("panel.tooltip_check_now"), - onClick = function() noctalia.state.set("link_ip_monitor.cmd", { op = "refresh" }) end, - }), - ui.button({ - glyph = "close", - variant = "ghost", - controlSize = "sm", - onClick = function() panel.close() end, - }), - })) - - if showAddForm then - table.insert(column, ui.row({ - gap = 6, - align = "center", - padding = 8, - radius = 8, - fill = "surface_variant/0.35", - }, { - ui.column({ flexGrow = 1, gap = 6 }, { - ui.input({ - key = "add-ip-" .. draftKey, - value = draftIp, - placeholder = noctalia.tr("panel.add_placeholder"), - onChange = function(value) draftIp = value; draftError = "" end, - onSubmit = "onAdd", - }), - ui.input({ - key = "add-label-" .. draftKey, - value = draftLabel, - placeholder = noctalia.tr("panel.add_label_placeholder"), - onChange = function(value) draftLabel = value end, - onSubmit = "onAdd", - }), - (draftError ~= "" and ui.label({ text = draftError, color = "#e05252", fontSize = 11 }) or nil), - }), - ui.button({ glyph = "plus", variant = "primary", controlSize = "sm", tooltip = noctalia.tr("panel.tooltip_add"), onClick = "onAdd" }), - })) - end - - table.insert(column, body) - - panel.render(ui.column({ gap = 8, padding = 8, flexGrow = 1 }, column)) -end - -function onAdd() - local host = normalizeHost(draftIp) - if noctalia.string.trim(draftIp) == "" then - return - end - if host == nil then - draftError = noctalia.tr("panel.invalid_format") - showAddForm = true - render() - return - end - - local label = noctalia.string.trim(draftLabel) - draftIp = "" - draftLabel = "" - draftKey += 1 - draftError = "" - showAddForm = false - noctalia.state.set("link_ip_monitor.cmd", { op = "add", ip = host, label = label }) - render() -end - -function onOpen(_context) - ips = noctalia.state.get("link_ip_monitor.statuses") or {} - pendingDelete = nil - draftIp = "" - draftLabel = "" - draftError = "" - draftKey += 1 - showAddForm = false - render() -end - -noctalia.state.watch("link_ip_monitor.statuses", function(value) - ips = (type(value) == "table") and value or {} - - if pendingDelete ~= nil then - local stillThere = false - for _, item in ipairs(ips) do - if item.ip == pendingDelete then - stillThere = true - break - end - end - if not stillThere then - pendingDelete = nil - end - end - - render() -end) diff --git a/link-ip-monitor/plugin.toml b/link-ip-monitor/plugin.toml deleted file mode 100644 index d8d31a7..0000000 --- a/link-ip-monitor/plugin.toml +++ /dev/null @@ -1,76 +0,0 @@ -id = "nilsonlinux/link-ip-monitor" -name = "Link/IP Monitor" -version = "1.0.0" -plugin_api = 14 -author = "Nilsonlinux" -license = "MIT" -icon = "activity" -description = "It pings a list of IPs, hosts, or links at intervals and notifies you when one goes down (or comes back up)." -tags = ["network", "indicator", "bar", "panel", "service"] -dependencies = ["ping"] - -# --------------------------------------------------------------------------- -# Plugin settings: shared by ALL entries (service + widget). Edited in -# Settings -> Plugins. -# --------------------------------------------------------------------------- - -[[setting]] -key = "interval_seconds" -type = "int" -label_key = "settings.interval_seconds.label" -description_key = "settings.interval_seconds.description" -default = 30 -min = 5 -max = 3600 - -[[setting]] -key = "timeout_seconds" -type = "int" -label_key = "settings.timeout_seconds.label" -description_key = "settings.timeout_seconds.description" -default = 1 -min = 1 -max = 10 - -[[setting]] -key = "notify_on_recovery" -type = "bool" -label_key = "settings.notify_on_recovery.label" -description_key = "settings.notify_on_recovery.description" -default = true - -# --------------------------------------------------------------------------- -# Service: runs in the background, pings hosts, and publishes state -# --------------------------------------------------------------------------- - -[[service]] -id = "monitor" -entry = "service.luau" - -# --------------------------------------------------------------------------- -# Bar widget: icon with a badge for the number of hosts that are down -# --------------------------------------------------------------------------- - -[[widget]] -id = "status" -entry = "widget.luau" - -[[widget.setting]] -key = "glyph" -type = "glyph" -label_key = "settings.glyph.label" -description_key = "settings.glyph.description" -default = "activity" - -# --------------------------------------------------------------------------- -# Panel: list of hosts with a status pill, opened by clicking the widget -# --------------------------------------------------------------------------- - -[[panel]] -id = "panel" -entry = "panel.luau" -width = 320 -height = 400 -placement = "attached" -position = "auto" -open_near_click = true diff --git a/link-ip-monitor/service.luau b/link-ip-monitor/service.luau deleted file mode 100644 index bdec324..0000000 --- a/link-ip-monitor/service.luau +++ /dev/null @@ -1,307 +0,0 @@ ---!nonstrict --- service.luau --- Headless service: keeps the host list (IP, hostname or link — each with --- an optional label), pings every entry, measures latency, and notifies --- on the up -> down transition (and, when enabled, down -> up). --- --- Persistence: pluginDataDir()/state.json ({ ips = { {ip=, label=}, ... } }) --- State: link_ip_monitor.statuses = { {ip=, label=, status=, latency_ms=}, ... } --- link_ip_monitor.down_count = number --- Panel commands: ip_monitor.cmd = --- { op = "add"|"remove"|"refresh"|"reorder", ip = "...", label? = "...", index? = N } - -local ipList = {} -- { {ip=, label=}, ... } — "ip" here is the already-normalized host (no scheme/port/path) -local hostState = {} -- host -> true (up) / false (down) / nil (not checked yet) -local hostLatency = {} -- host -> latency in ms (number) / nil -local dataPath = nil - -local function trim(s) - return noctalia.string.trim(s or "") -end - --- Validates IPv4 in N.N.N.N form, each octet between 0 and 255. -local function isValidIPv4(host) - local a, b, c, d = host:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") - if not a then - return false - end - for _, n in ipairs({ a, b, c, d }) do - local num = tonumber(n) - if num == nil or num < 0 or num > 255 then - return false - end - end - return true -end - --- Validates a hostname (dot-separated labels, letters/digits/hyphen, no --- leading/trailing hyphen per label). -local function isValidHostname(host) - if host == "" or #host > 253 then - return false - end - local labelCount = 0 - for label in host:gmatch("[^%.]+") do - labelCount = labelCount + 1 - if #label == 0 or #label > 63 then - return false - end - if not label:match("^%w[%w%-]*%w$") and not label:match("^%w$") then - return false - end - end - return labelCount > 0 -end - --- Accepts an IP, a plain hostname, or a link (http://..., https://...) --- and returns just the host — scheme, port, path and query are dropped. --- That clean host is what actually becomes the ping target (ping doesn't --- understand a full URL). -local function extractHost(raw) - local s = trim(raw) - s = s:gsub("^%a[%w+.-]*://", "") -- strip a scheme like http:// or https:// - s = s:match("^([^/%?#]+)") or s -- cut path/query/fragment - s = s:match("^([^:]+)") or s -- cut an explicit port (host:port) - return s -end - -local function normalizeHost(raw) - local host = extractHost(raw) - if host == "" then - return nil - end - if isValidIPv4(host) or isValidHostname(host) then - return host - end - return nil -end - -local function indexOfIp(ip) - for i, entry in ipairs(ipList) do - if entry.ip == ip then - return i - end - end - return nil -end - -local function loadState() - local dir = noctalia.pluginDataDir() - if dir == nil then - return - end - dataPath = dir .. "/state.json" - - local raw = noctalia.readFile(dataPath) - if raw ~= nil then - local ok, decoded = pcall(noctalia.json.decode, raw) - if ok and type(decoded) == "table" and type(decoded.ips) == "table" then - for _, entry in ipairs(decoded.ips) do - if type(entry) == "table" and type(entry.ip) == "string" then - table.insert(ipList, { ip = entry.ip, label = trim(entry.label) }) - elseif type(entry) == "string" then - -- backward compatibility with the old format (list of plain strings, no label) - table.insert(ipList, { ip = entry, label = "" }) - end - end - end - end - -- no file yet (first run): ipList stays empty until the user adds - -- something from the panel. -end - -local function saveState() - if dataPath == nil then - return - end - local ok, encoded = pcall(noctalia.json.encode, { ips = ipList }) - if ok and type(encoded) == "string" then - pcall(noctalia.writeFile, dataPath, encoded) - end -end - -local function publishState() - local statuses = {} - local downCount = 0 - - for _, entry in ipairs(ipList) do - local up = hostState[entry.ip] - local status - if up == true then - status = "up" - elseif up == false then - status = "down" - downCount = downCount + 1 - else - status = "checking" - end - - table.insert(statuses, { - ip = entry.ip, - label = entry.label, - status = status, - latency_ms = (status == "up") and hostLatency[entry.ip] or nil, - }) - end - - noctalia.state.set("link_ip_monitor.statuses", statuses) - noctalia.state.set("link_ip_monitor.down_count", downCount) -end - -local function checkHost(entry) - local ip = entry.ip - local timeout = noctalia.getConfig("timeout_seconds") or 1 - -- -c 1: send 1 packet; -W: timeout in seconds (iputils/Linux). ping - -- resolves a hostname via DNS normally, so a host like "example.com" - -- (extracted from a link) works just like an IP. - local cmd = string.format("ping -c 1 -W %d %s", timeout, ip) - - noctalia.runAsync(cmd, function(res) - local success = res.exitCode == 0 - - local latency = nil - if success and type(res.stdout) == "string" then - -- Ignores the word before "=" or "<" (time=, tempo=, temps=...) — - -- ping's output changes with the system locale. Only looks for the - -- number that comes right before "ms". - local ms = res.stdout:match("[=<]%s*(%d+%.?%d*)%s*ms") - latency = ms and tonumber(ms) or nil - end - - local wasUp = hostState[ip] - hostState[ip] = success - hostLatency[ip] = latency - - if wasUp ~= success then - local display = (entry.label ~= "" and entry.label) or ip - if success == false then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("notify.host_down", { host = display })) - elseif wasUp == false and success == true and noctalia.getConfig("notify_on_recovery") then - noctalia.notify(noctalia.tr("title"), noctalia.tr("notify.host_up", { host = display })) - end - end - - publishState() - end, (timeout + 2) * 1000) -end - -local function checkAll() - for _, entry in ipairs(ipList) do - checkHost(entry) - end -end - -local function applyInterval() - local seconds = noctalia.getConfig("interval_seconds") or 30 - noctalia.setUpdateInterval(seconds * 1000) -end - --- Returns ok, reason ("invalid" | "duplicate") on failure. -local function addIp(raw, label) - local host = normalizeHost(raw) - if host == nil then - return false, "invalid" - end - if indexOfIp(host) ~= nil then - return false, "duplicate" - end - local entry = { ip = host, label = trim(label) } - table.insert(ipList, entry) - saveState() - publishState() - checkHost(entry) - return true -end - -local function removeIp(ip) - local idx = indexOfIp(ip) - if idx ~= nil then - table.remove(ipList, idx) - end - hostState[ip] = nil - hostLatency[ip] = nil - saveState() - publishState() -end - --- Moves `ip` to 1-based position `index` in the final list (drag and drop --- in the panel) — same logic as the official world_clock's reorderZone(). -local function reorderIp(ip, index) - local fromIdx = indexOfIp(ip) - if fromIdx == nil then - return false - end - local insertAt = tonumber(index) - if insertAt == nil then - return false - end - local entry = table.remove(ipList, fromIdx) - if fromIdx < insertAt then - insertAt -= 1 - end - insertAt = math.max(1, math.min(insertAt, #ipList + 1)) - table.insert(ipList, insertAt, entry) - saveState() - publishState() - return true -end - --- --------------------------------------------------------------------------- --- Commands coming from the panel, via noctalia.state (same pattern as the --- official world_clock: the panel sets "ip_monitor.cmd", the service --- watches it, processes it, and clears it back to nil). --- --------------------------------------------------------------------------- - -noctalia.state.watch("link_ip_monitor.cmd", function(cmd) - if type(cmd) ~= "table" then - return - end - local op = cmd.op - if op == "add" then - local ok, reason = addIp(cmd.ip, cmd.label) - if not ok then - local display = tostring(cmd.ip or "") - if reason == "invalid" then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("notify.invalid_host", { host = display })) - elseif reason == "duplicate" then - noctalia.notifyError(noctalia.tr("title"), noctalia.tr("notify.duplicate_host", { host = display })) - end - end - elseif op == "remove" then - removeIp(cmd.ip) - elseif op == "reorder" then - reorderIp(cmd.ip, cmd.index) - elseif op == "refresh" then - checkAll() - end - noctalia.state.set("link_ip_monitor.cmd", nil) -end) - --- --------------------------------------------------------------------------- --- Lifecycle --- --------------------------------------------------------------------------- - -loadState() -applyInterval() -publishState() -checkAll() - -function update() - checkAll() -end - -function onConfigChanged() - applyInterval() -end - --- Still works via CLI too, if needed: --- noctalia msg plugin nilsonlinux/link-ip-monitor:monitor all refresh -function onIpc(event, payload) - if event == "refresh" then - checkAll() - elseif event == "add" and payload then - addIp(payload, "") - elseif event == "remove" and payload then - removeIp(payload) - end -end diff --git a/link-ip-monitor/thumbnail.webp b/link-ip-monitor/thumbnail.webp deleted file mode 100644 index 462b1126d488a4808cdadbf69e71d3b263914cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76752 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 I?$W>j0Kt8q^#A|> diff --git a/link-ip-monitor/translations/en.json b/link-ip-monitor/translations/en.json deleted file mode 100644 index 4868854..0000000 --- a/link-ip-monitor/translations/en.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "notify": { - "duplicate_host": "{host} is already in the list", - "host_down": "{host} is unreachable", - "host_up": "{host} is responding again", - "invalid_host": "{host} is not a valid IP, host or link" - }, - "panel": { - "add_label_placeholder": "Description (optional) — e.g. Router, Server", - "add_placeholder": "IP, host or link", - "empty": "No hosts configured yet", - "invalid_format": "Invalid — enter an IP (0.0.0.0), a host or a link", - "status_checking": "Checking…", - "status_offline": "Offline", - "status_online": "Online", - "tooltip_add": "Add", - "tooltip_add_host": "Add host", - "tooltip_cancel": "Cancel", - "tooltip_check_now": "Check now", - "tooltip_close_form": "Close", - "tooltip_confirm_remove": "Confirm removal", - "tooltip_drag": "Drag to reorder", - "tooltip_remove": "Remove" - }, - "settings": { - "glyph": { - "description": "Icon shown in the bar for this widget.", - "label": "Bar icon" - }, - "interval_seconds": { - "description": "How often each host is checked.", - "label": "Check interval (s)" - }, - "notify_on_recovery": { - "description": "Send a notification when a host that was down responds again.", - "label": "Notify when a host comes back" - }, - "timeout_seconds": { - "description": "How long to wait for a reply before treating it as a failure.", - "label": "Ping timeout (s)" - } - }, - "title": "Link/IP Monitor", - "widget": { - "checking_now": "Checking now…", - "tooltip_all_up": "All monitored hosts are responding", - "tooltip_down_prefix": "Down:" - } -} diff --git a/link-ip-monitor/translations/pt-BR.json b/link-ip-monitor/translations/pt-BR.json deleted file mode 100644 index 3ec354a..0000000 --- a/link-ip-monitor/translations/pt-BR.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "notify": { - "duplicate_host": "{host} já está na lista", - "host_down": "{host} está inacessível", - "host_up": "{host} voltou a responder", - "invalid_host": "{host} não é um IP, host ou link válido" - }, - "panel": { - "add_label_placeholder": "Descrição (opcional) — ex: Roteador, Servidor", - "add_placeholder": "IP, host ou link", - "empty": "Nenhum host configurado ainda", - "invalid_format": "Inválido — informe um IP (0.0.0.0), um host ou um link", - "status_checking": "Checando…", - "status_offline": "Offline", - "status_online": "Online", - "tooltip_add": "Adicionar", - "tooltip_add_host": "Adicionar host", - "tooltip_cancel": "Cancelar", - "tooltip_check_now": "Checar agora", - "tooltip_close_form": "Fechar", - "tooltip_confirm_remove": "Confirmar remoção", - "tooltip_drag": "Arraste para reordenar", - "tooltip_remove": "Remover" - }, - "settings": { - "glyph": { - "description": "Ícone mostrado na barra para este widget.", - "label": "Ícone da barra" - }, - "interval_seconds": { - "description": "Com que frequência cada host é checado.", - "label": "Intervalo entre checagens (s)" - }, - "notify_on_recovery": { - "description": "Envia uma notificação quando um host que estava fora do ar volta a responder.", - "label": "Notificar quando o host volta" - }, - "timeout_seconds": { - "description": "Quanto tempo esperar por resposta antes de considerar falha.", - "label": "Timeout do ping (s)" - } - }, - "title": "Link/IP Monitor", - "widget": { - "checking_now": "Checando agora…", - "tooltip_all_up": "Todos os hosts monitorados estão respondendo", - "tooltip_down_prefix": "Fora do ar:" - } -} diff --git a/link-ip-monitor/widget.luau b/link-ip-monitor/widget.luau deleted file mode 100644 index 9dc9fde..0000000 --- a/link-ip-monitor/widget.luau +++ /dev/null @@ -1,87 +0,0 @@ ---!nonstrict --- widget.luau --- Bar widget: configurable icon (setting "glyph"); turns green when --- everything responds, red with a count badge when something is down. --- Click opens the panel with the full list. - -local downCount = 0 -local statuses = {} - -local COLOR_DOWN = "#e05252" -local COLOR_UP = "#2e7d32" - -local function downList() - local list = {} - for _, s in ipairs(statuses) do - if s.status == "down" then - local text = (s.label ~= nil and s.label ~= "") and (s.label .. " (" .. s.ip .. ")") or s.ip - table.insert(list, text) - end - end - return list -end - -local function render() - local children = {} - local glyphName = noctalia.getConfig("glyph") or "activity" - local hasHosts = #statuses > 0 - - if downCount > 0 then - table.insert(children, ui.row({ - fill = COLOR_DOWN, - radius = 8, - paddingH = 5, - paddingV = 1, - align = "center", - justify = "center", - }, { - ui.label({ text = tostring(downCount), fontSize = 10, fontWeight = "bold", color = "#ffffff" }), - })) - table.insert(children, ui.glyph({ name = glyphName, size = 14, color = COLOR_DOWN })) - elseif hasHosts then - -- everything responding: green icon, no badge - table.insert(children, ui.glyph({ name = glyphName, size = 14, color = COLOR_UP })) - else - -- no hosts configured yet: neutral color (neither green nor red) - table.insert(children, ui.glyph({ name = glyphName, size = 14 })) - end - - local container = barWidget.isVertical() and ui.column or ui.row - barWidget.render(container({ gap = 4, align = "center" }, children)) - - local down = downList() - if #down > 0 then - barWidget.setTooltip(noctalia.tr("widget.tooltip_down_prefix") .. "\n" .. table.concat(down, "\n")) - else - barWidget.setTooltip(noctalia.tr("widget.tooltip_all_up")) - end -end - -noctalia.state.watch("link_ip_monitor.down_count", function(value) - downCount = value or 0 - render() -end) - -noctalia.state.watch("link_ip_monitor.statuses", function(value) - statuses = (type(value) == "table") and value or {} - render() -end) - -render() - -function update() - noctalia.setUpdateInterval(5000) -- just keeps the widget "alive"; the real data comes from state -end - -function onConfigChanged() - render() -- pick up the new icon when the user changes it in the widget settings -end - -function onClick() - noctalia.togglePanel("nilsonlinux/link-ip-monitor:panel") -end - -function onRightClick() - noctalia.state.set("link_ip_monitor.cmd", { op = "refresh" }) - noctalia.notify(noctalia.tr("title"), noctalia.tr("widget.checking_now")) -end diff --git a/llamanager/LICENSE b/llamanager/LICENSE deleted file mode 100644 index d8ec153..0000000 --- a/llamanager/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 marccvictoria - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/llamanager/README.md b/llamanager/README.md deleted file mode 100644 index 41b235f..0000000 --- a/llamanager/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# Llamanager - -> **A Noctalia v5 plugin for managing local Ollama models, Modelfiles, and runtime state.** - -Llamanager provides a graphical frontend for [Ollama](https://ollama.com/) inside Noctalia. It wraps the Ollama CLI and HTTP API into a single panel, and allows model management, runtime inspection, model downloads, Modelfile editing, and launcher integration without requiring direct terminal interaction. - -## Demo - -![Launcher](assets/launcher.gif) -![Panel](assets/panel.gif) - -## Plugin - -| Field | Value | -| --------------- | ---------------------------------------------------------------------------------------- | -| ID | `marccvictoria/llamanager` | -| Entries | bar widget: `widget`; service: `registry`; launcher_provider: `launcher`; panel: `panel` | -| Launcher Prefix | `/ll` | - -## Usage - -Before using Llamanager, complete the following setup steps: - -1. Install Ollama and ensure it is available on your `PATH`. See [Requirements](#requirements). -2. Open the plugin settings and configure: - - the Modelfile directory - - the preferred AI model used by the launcher -3. Add the Llamanager widget to your Noctalia bar. - -## Requirements - -- **Noctalia v5** -- `ollama` available on your `PATH`: required for model management, downloads, launching models, and Modelfile operations. - -Verify the installation: - -```bash -ollama --version -``` - -## Settings - -| Setting | Type | Description | -| ---------------- | -------- | ------------------------------------- | -| `modelfile_path` | `folder` | Directory containing user Modelfiles. | -| `launcher` | `string` | Model used by the launcher. | - -## Implementation - -### Panel - -`panel.luau` renders whichever view is currently active. User interactions dispatch commands through `llamanager.nextCommand`; the service performs the requested operation, updates state, and the panel re-renders. - -`registry.luau` is the headless service responsible for interacting with Ollama. Filesystem operation, CLI invocation, and HTTP request originates here. It discovers installed models through `ollama list`, queries runtime information from the Ollama HTTP API, manages Modelfiles on disk, downloads models through `/api/pull`, and executes `ollama create` and `ollama rm` when building or deleting models. - -**Model List**. The list displays every model currently installed in Ollama. To launch a model, select it from the model selector and click the launch button. This executes `ollama run ` and opens an interactive session in a new terminal window. - -**Model Downloader**. Downloads models directly through Ollama's HTTP API. Downloads execute using the streaming `/api/pull` endpoint and automatically refresh the model library after completion. - -**Modelfile Editor**. Modelfiles are ordinary text files stored inside the configured Modelfile directory, with the suffix `.modelfile`. - -- **Load into Ollama**. Builds the modelfile into an ollama model by executing ollama create. -- **Delete model/modelfile**. Deleting a modelfile also deletes the model in ollama using `ollama rm`. In case the modelfile has not been loaded yet to ollama, it will only delete the modelfile. When deleting a model, it is recommended to include their tag, e.g. `qwen3:latest`. -- **Create Modelfile**. Creating a Modelfile requires the Name field to be populated. This only creates the Modelfile on the directory and does not register it with Ollama. To make the model available in Ollama, use _Load into Ollama_ after creating or editing the Modelfile. -- **Edit Modelfile**. Editing a Modelfile also requires the Name field to be populated. Saving changes only updates the Modelfile on the directory; it does not update the existing Ollama model. After modifying the Modelfile, use _Load into Ollama_ to rebuild and apply the changes. - -**Runtime Dashboard** - -Queries `http://localhost:11434/api/ps` and displays: - -- Running models -- Parameter size -- Quantization level -- Context length -- Expiration time -- Ollama version -- API connectivity - -### Launcher - -The launcher entry `llamanger.luau` is independent from the panel. Queries submitted through `/ll` execute the configured model directly with `ollama run`. - -The launcher provides quick model execution through `/ll //`. Append `//` to send, the model response can be seen through notification and can be copied in your clipboard by pressing Enter key. - -## IPC - -``` -noctalia msg panel-toggle marccvictoria/llamanager:panel -``` - -## License - -[MIT](LICENSE) diff --git a/llamanager/assets/launcher.gif b/llamanager/assets/launcher.gif deleted file mode 100644 index 0cb16111dd2f32435b5073833192829cd8f15459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724978 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

    ku>Xz9L=9oh!n_qNfwwHCj6Q8(n_nyfM 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

    OEeQ$sCeYEKRTG9V=NB`d+{fw3q zSSu%R?wr8;bAq7dMA6ELk~=5L{+y_2IZ3s0lIG4yx<4lwT23~toNT#svhB~wj+Rqg zE2ntwoZ|a)N}%P`(8{TiJEz9}oSJAkEwyr5=FVxkKc^L1PA{#TUb%C6?a%3rmNQx_ zXLRnI(ff18M9Y~|D`(E!IdksMnGFjqXDzLqwQ}dIwLfQVw4A-Qa`w)hv-kd-eb92w z(aJd|cg{KcbIwJ}xmPRa-rPC&?$5aoE$2P0ocD6)ythB+eYBkawQ~N?o%8?xoX=>r zfOXdqhJ*#CI~VX;EflRPPO7GIBCben0R z?W}%g$nm=1v%?QEFfy1Ecm0ZCaufQc-Alcj<@uE=5tnuwFJ;lRZPt=m>IywOyeg0> zc(La^)O!xXTLSm@@n}O1B}6-37jpf|_Vu7kyV1`MPe182&u1s%o`dve2M)I%KD)pd zgM#j`+WPwXhT(E3p`};b(`hkfFP~0NXairrl9^WPz-toaXgs%5UNX;arz`yWmF2ln z?t0J+>hXiKNbU4KCo>MqoG=9y;V>0DBF~{U?vlT(_uyVF8I;Eq( zv*@(Jah=a+Ot9T^ApTZeKwlc$+2L=mOGK5w{dzs2UAOGw!oJ*ZH#3&6{dOw{$Jyb? z_Z)Ebb^mzOWB%^P;|cD1KOxtz=%eAbkC&ax+|M$al+B*G6>AOAO-|fy_4?13#@bxSCyutGSzC5na-{;W1?WgUAr|S3r{k*ZC zfB%oq*Yp4XWjfJsKXdg9UUioxFF2(+Htqf^`2o-ME9NH z1G@VT@0|nL#N2)N`u_R-`~UwRe8+P4t#q7=xcjaFd~MS{kFbRuYO7Xwwd;YdZHl{+ zv1E#zN#;`UwM}au9$DGFr`Br4a^{IzuU4-3C+Qj(wWR9F+;zwPYiZBgc6L=J!?tIu zUau3sdP=)<-#@K48v+iU5)M03#NxQ=%q?*p|0QC-%%|QUcw5r#&(2Rj=A+ zo~2uin3n|{GJSq0M$9TYv*3KlA?`01T-K|XfbJYHsnyee`{i8J>4H2uUO9+{0PK0S*>OqC96 zMqSib65wFiSa9@d!N%^Rh4;n(K3=cV1UZ(Q|M51{N5^{d_Vn&Q^5KZZt%*LNdy=yk zOmGL?eYZL~OrBA5mX*+_2?0g(6$MYiuWj1Se%!Na*`#S_z{hg?RpGjGU_;MRopjIB zQMW!#+i_;8UaiTA*h5Pj_wg(Ye9EPEPme{Lr+q3pVf%AZ zw*UFa?sm;2XP0l0)2qr}&i`=6$DaSNZ)qP>G27BJPKrA>p3k^EM_iP{n%~pNj!R*Y zkkAX)RYkrcP7DjK|LW23+BLn0>%l_Nre`yLEHxDA3^6pCD(n%t%Xywv&w`kfFMYn3 zPM9mlR?o-H!GLsa9s|P*rge-A9RC?uIb=LGEI8QAA*>a1V#C72?E=bPb38UKI@&E^ zoOS2K#>L0`6`Z?dJU2aYS5ZT`^X0N?(<}?*YxA-Um;z@xu&LR?uFadPmC)l56cU=G zy4cfU(i+I!qiaG`IG4;Y)l9^=pX&OP>-!qO*CKpyV`vlBCawJS-92m%lV163R?arq zoiC8PN12wog6@2IJ|9y4ieE+ zdO*?U^2r!`Nw*u9JDG%Uuq?bgQQ|YB@3w&O{kC&%8gA5`aF_X^ZQvbA%m2FDtFr!| zU38CMux`6!4fi@wyG_sHuDz;W!;{}T-~RAwi}%~|bXNI0OBcK1e>;;K7gtU`bHDFi z;-yvF^EOanaBH{NzUdcs?{o`(-u-^xowxh<3q5(iJU-{o zr^{Qsl7CAtaa&Q7J#X8G>GpTmoDXNr5&qV($(l(_z??lNl!;a8faThJ9_}?an9VIr zx(h#82#Rn>8+EMa`gf{PzQ^~9$BaW_-&U9DLGB(6JgF6Aux26O-=lkFSE;w#@jTl7 z-%tIBlGMiz4zEpkePT*NAaopqBQ;&^3$3Nbd zyl5fwd*eha{^-Zj^~^^sZ++~mII~#p`-$UrzdrUi@GMbazp1!?;e-jR3=@l=tZ;TU zdy-Y?d|T0UlZ{wj+r*ADDp@isJueqrvdp`q^jGcp2LGZXljep9sRegRwQZbavAQNT z%SqGw&XG;v^0)lt>9}8?rXS#0X3*|=CJ9vj`aENH*Az(8`aIM4mz>G+lS=79o0V4N zbX{NPDHU9FS>@)RWob(^&lNp7Ir~}6X|u~SrAsz_p6f2vto_jQd{vO26aLHxf$Hn>ckaNo%(AiDVK>Pa7?HP^06u!@>vCURsA zljG~qBQGvJV)(KqV~T{3L6(dW#}cumyFKA^B^cL=9a*{m;>sxgMVI$JyQ;TVW3hjH zl*}3p(+SbGy@@|1B5&|qQ!KO133F=he`Ubzy zz3tYwZ9C4c%_~2B``)i_+Yj)rD`@w=^GNFZjuXD?il(2w^UUh|&I`TkN|t-yeHHb6 z*NwC5%C?`r`>yKy?gzZm& z|NFGO>oe6L+~^7(Qea?YVEDl3NVsa+ z(~$tGnkF`Yt|P=RJ_?`pkjjq^-6ecKpqYNoLKfeI`jXlG%YT}#}l(q~@)%0xT^LaH@tgiDLx{gnA z5MTjSO=?_s7j(gIbk$0Ae7Tf2%4@>18KA03HIXqZX;EKRR^!rnu&SxQ^ZyZPwGCX; zvR1_zMMlWK`Elpc?+bvu- zx_&qYx{mA`%GHUyy-c90DF<$RBj-i=4VH@c=w#~f04o#ycUZbdYA*}a-*(m;@h4tm!c*fg!HaKS?KH42*~ZDZ@*q&bC>5EL{afhTTm+pRrt9v;BEx^Et~~92_ky4;s4aw!KigqdTbuMw1`KdabyUsQVpIN}x z+U&T#w4hl*M{pz0_k#jmT+OOiq8u0yJvtKxW`@3i&XzDR9Ze}LJ$V}lbnf9E;| ze&@`*!=|P_AN#%snY`P=$^N6@NL(Dxq!Y68Aq6KjzE2T7sk!~lr)Zu1IhRiwWqW)s zGrYd$^SL<1ImVD%JYC?`rjPmD05NvQwfKvbRpia`>CWC(rwO+cU;Ni)xKqJ?FW|bvZ{3E6P3rpu9(I|( zn=8fi>rF+BB#&tDvB~`5<-m?pf_pbk_;hJ|F8MLYWx3*`|kh0eg4Jk_x~4ibX@<>X0f96V7`L6 zGUOukNAAolAEz^`|4=^`_@OCxlLGt}Po9Mw?w}F137*@mp|^O#M&g}yZ?12%V7bIw zoH0xG(+BX4!~b22%;nA08=ZX~h1o4TqIQZy*sn&IrMX;J*=?dx*d8U9O&=_Es|?L9 zKK2)nZFAY@pxEQ;wQ$~*A2T+lzU?kp(z7M##IapH6RoBxb4Wct;m&?{qGRb1Zw2kk z`|X_Avg&IdDyRl~ICCZR*9XoHl-jAmyDxQO-xUE>_DLRn6CN6-o=Hhk*m=PBS---} z1D@)xCr^cWWlmk!quSu7>3wp^C$-sYmWKRd_m1ULn=ZR>ss75M<8ge(CWma&LNBDB z>0$_;nc%5r@|9_8h*|Nh8!Y_Bf}hUhC@r6TZ%Mbryr0KZPU+8SWK>VS(s{0pXX%`` zHGaxBCC^u_6IS{l!eIN>vuJkhr_b{lWGC1&dj-5M$zQQ^?gY+d2uyDCWkNSh@qr0E6jy_hgCFdShDAifxO^HJEe zR6Co0guQZU8HWjXfV>ZF;@Dpu)6hLLpc26tPv1i{D?L*NyXc;)UMQw#s&9 z(c0VF3m(IJFW;`L6i;q}46H@Gym6=lJg}y6{}@v5<+SSpESD({rwP%Bw3TQRqR(b# zU~PI4R}6zEHeds5uU0IXhPxPE^&0EI+8MLg&Z-_}#r`t@V54i{GWCTo1?19@xG@rnPXr0ozyu`SIxW&NDk2 z+wJv!KB*A$`}x#$QcqzRTk^Y~&x^|Dg*;gx{&YvU_jI{5HJ`k7yE519*Zciu%k{kK z^WnTpPQKmq{oU{P?8o>(O)vf!kwen!_oPnK_mBA0smQqZb91NP->?4))Al;7On(3O zJHtG?i0==k^UMEy=6=oQ{cHBNx?dk~U;K{N^b&ww{BEGuQhlGb{nPZ9xgVN)56<|) zqrxTd%D4H8=WNdUMNX}i1@=iE9@n3>IyLQ?V4ov#Lh4zmGt=3Ec(3S(zExQ-7RYmb zR9}1|aevhgdDVN}9qxNPMT(9q1o0f{2;}J!{`=TUt*(z(w=3}8m{+o}-6@+gTo^b4RGzwClzh+b1 z%r$Q&pVT|<6Mo9*`X4C~v)3$+=j)-Df9g(H_*QN!=c~XW5>nUoOM$kNW4Xa9>KxVq1)^=NMR{5~O6_-H2hFdABxZDbL&XsI9%X!NGSoukPdc;CmG< z2KgB~JCalE1f-`k@38F5srXmflNDcRwEI-Q@ZCWaU4fpHF9`uL}wn z%AObdd|o(v)r+eiQ+GaH0$wb+TD=ll8P9L6c)R2II@HRz{_PpiqNk&Y`tNI|owe8h z`{h@W@87T7cl-W+yHnmj=i9w@{eM56Owa%K^TqP@|9-vM{vKsm);hiRU(eg~_No7V z&re{|IKX7p(ZI%X=C;s@18n~~^UItUFn?s)$H{j=L3GOkwx`bK`#cMp6<|X&A6hhg z5JNO255to*mc6(rpslXVanY{Ad1=a-Hig*_UH-S+IIPO5n;gQJbg|=vyquV!mRC(u zu#v{mWlsVa1RI!y=2~pp_HcPKD`$-8+C?Up3NEJlY~dF@zC&c)+=;yfJ;}{XKite+ z4V_m%I3rtltgCTCqC)1B$Nrxr7RVm*Ob=MGxR=RO%r%K~V)c;;cUT-ePU(E`={v$J z&9=$2@ybDk`Vb!Ft()8oC4(#``*^6I3_4jV7|_jhVo6rm$@xL+dZ%?ZJ1B7rdEV-A zQrMy6Alhe=F{rWtgfp>)iyVr## zsV@sSd{;P$pSsXy^<|+z?+O=nuZvw#UlvK6UEyYa>SABjm&FRaD?Qx3E=`*CWr>FG zO0V!!m!|Fdveck=rBAxo^{1^@9k26AJ50YBCY`$do*8G}4%@Va7k2FTQk}5tNzh8^i7&QkukSl>)>}zH z{c5y8!TVd;OZNSH$MM1O0I!TeFPm`9ho&D~6E=7;+wb{sMC7pQMtAY>Ie~kmrl+r) z_=8D6Gb+FK&c;d=>scQcC!IL<@#KuHI@3&3z{3tKOe#&vKe@#@~^l z)j^V_^vk*bH_v>jSk%Gh=@@LE8>PndBB!(~ieqo-(q}?{x0c84Zr$n|+HV_wo~dQw zx0w-p{@%OEdhzarGdc4`w%_^o^#57&>f|YJC*S?c_;0W?)u-zId;u+N|M7hN|9^kJzyJTAfoA~&yT<`s<2WChB+e|r7*0nj zt1p;-u3pH4SfI*>w6Ohiy9eq5sX`6E>PM-IG>)DN*x1#(Q%P+53q{=`L&NjG7fBp{ zu`)0Aba#pjkJRNEGYT_%dkab~gq3VNW`Sjal;;U2sZSF+a_)Z-ikxm`^l9RRmT(ny z&y!w@xMFV>Em2*#=%laE(#i99mTI_ro(kHf)}tzQG$SDMRG3`4_JTJ-uO|q2ORn5B zF+VF-B*Ih4jH5+#?!^PMbJCYaAA8!H+oamv^K)B;Vx#WXDI!L(H&=69*rc#WL@;bc z=lslhnv+>OmvzmMG$<^ZtoAHLK=NFseBR7ZICT!bl%QX5(FDt=U~i#D!5NUH1QR$^Vsa%_4_;f3GOf5 zZnI*RgP03Ng-ceW^g)yNE{Z$5Yjiw&K?|NX>q;kqoL8C)151CsER5{A6%(>-*(~){ ztG2y*wHh+5$TZFC_1g7G9|c5qfEJ2|zvNnzH-jhp&BhaaOIL3=`714Z^J>H2%IO+j z+;6ukY<#tF>kT(+f$dgG2X6W(ifLcie0Sb4ogK!LW`hTi@}u6JtB%_H?b+)0`~G~( zR@(QEZI99cCaeQUpgw3ic!LjU0I6N)6LfwY2nNoUBUxMXAynSydMuc;B8jK2A>(}>wZEP>bL8G zrWMysTrpwsza6iZnd@n-pZ57w)x*u({VLvWWA3Ydx95A@w|BH$N>CCJtGE3Ci`9ol zff~MpN*)KfqCPZ9m`LxFdaYRJTamcy0R;5q!x$<5DB z%!4cz$~bQ5mYFwc5_rAc;(acY8dio(6`B+S-HLO#3(_l<*}4eSD~;~pxCfuHB9y}e zwoWt7MvOA8HD`Kxc}4JW+rmfn8LL%dM;!uEUcFqtpiS%fvPJM2D`mGsuU6-z{STV3 zX2Z3t)sA!TNy&)q0_AYnQt+Jl4l=8ArWotK&Y8feqV2F*)XVAy8e0OfG9Mw!;)&EeiDQ4gjw&#Qb|e_WM8s6Btz&by0?{dT>qnBMp6 z)tc@b4eQP^72VdLP^={XjZPkHl@3wKcihaD6ou3?Fu;l38 zKi^)jU;0H$SDCs?F#AfuQU19tA6-TA-xT_bIM*l~ z`dj+v<4KMGEwfK*Znv3qOz(Kk(%pty-4H4Zc*&6n=bs0wEcF=X!Y4|x24zfY|k)b0R?Znx|ITl#?8_3w{}ssE?`dNIAT z>^E%AdH?ZL?hT*+!gDbDjqN&n`WrZGdLIf&NWPb4Y8zs0lo;Z5(4o_1oPjdb`jblbmY29fuT)!{OaGSSbV{dSxj7+W5G0R(l#_W5P zeP69OKJCov{(a6jqY6dTv!5nJ& z?0tmQkzeoC&Mhx5OEb=JZ2)yKydn>a)J`^gb9+Z|^VHl)DxP-_G;`nAXifb1@Wfax)nfhj?kb%U7U{SD+}_>aTW(us{r~B=Z_m%qFD|cEzg@HU_xIjhd6n2n zc7J~VU~Ugzky`WbKf}Il@eM3u84nsc)GTf^h{|pkYUXm&NDSdKV_E2t?6cxwn@rh@ zhwTb&8cFe=8bcm+Xe`qRF41&d@Tl8h*_62svyWsv?hT&U__)u;>gjw3@oySWCX{b= ze=^ZSZ6$c+VoJ(+Tg|6acv3x{PDN^fByqaTNST)TY^IY`=d)S==bm^ryFlnm@|==I z7U^>kf) z7v?D#c7vD9WO{dbW#@d*Chx@)-gLi(|V!9O5zmGxZQ3XpY+3(dXk)smLDC83N!g2G24f_KRXICo~{k zj6FquQrrsbPn%pnvwox5^EKcG$Y;!zi|9*ckczJxDbsboCN7-0_S-GFb7#KYE;z2c z-B0HnXti?n*Q|T1-2PA0zu&+VCc6a9K3=?#AoquDsax{NB`8yNtU&zka>w z~WuT2}klBZgXTZrjf&^`U`7=X~+1sR!6VU5p;&y})edKehx) zq=?E~xv&wo)>6-+`Ky?0nIs=T%Qh}yoDm3}?JLW@0)YOOol z5q3uDKt=nW8yO$F6Lg|Kv=|*V=wj`PO$1p2afHJ&r4!%girD-iwyv zwCIAXqg0T2giT5Um#4UjLD0lzNo5uFnd;Y8c=k>?vqUYh)oo8g(c}d#m(`tD&U9hA zG$mV7RWtnLsjyw2rlRcy#NugSu;{(|HseWT!+); zZZ2?g75ieC^Fuv+%2xq?wVrCuQXiK{MTQ_5qeWb~UTu7{7Is*fEauE&cGKYsO0V0p z#LqLs#q*b1b=W6qd=iT4k{a?O*qt?&QFFa@YpWnCl_xBHvPtW(? zzwhtwAD>ZAUa**3#-=7QvxLj6Vs<{CTg3b@p|FgHtrGvHGB}B(flJ#HQ^JmSW<2WD zShnI(*9FBBkGfMc86NkTT+2{)IT|?Saj(rOQCHLzK`G8WdeC*^oqB$mD5Y)N%z&v$ zpwiZ8V&}72z8{Z0o2~Yj*FeyjpC z35hzO18OXSCn51S7C{5sCy-8F0F}1kpn>i5^|o~{)$ZGVx}X1kuS0-MeBFUkey^;WYA}tM^t|@iK&Id zs!K-lqcZXiOlvpf5uxW^oPjl5vRh$?I{h+g5?N+G-wDy5JcU+75WRiuoJt>T2d1)f z(!Db~jqlH#=iFV_nF2c0X=j$-*b<&{R)^w;;^nw!7Bf54xK12OmY zrx@?t*RI*;R>z;;x3{|0@jkeSxOwRttcXax+crUr0o)+l=dyrdpX!ST%>r&34_idS zG8P7@afaM(l}U5;@?Xp|C9Yj%8mx%W+4ka5w?P<7B&djZ+-vb{#p6DdMT04E8)P93 zvL}&0Y&BK=CH*p=x*5lT*D&8qnQF`V;%RTvw<%9%xX$Z*)*Kmi<=L!)W17$BWbj>| zI;-T_%IDo5A6|Pf59x3KHBb>jaM2*yMTC`;6!FFI0vuLo`?ZK_g?QhE(x%cUQPb)m1Yo3;KKlW-{ z)%X9sGj`Uo>s6G`;vsg-m!u+sUo&HeasBSkr=G8ioU(_Vwf6OOcmC>cw>F=v{r;eR z{?G4^aIRCJ*4$TLYT~};h2XKi`}+s1@&Eb#_tpG($9{2k{CT^bzrKBVd^-Ji9kk&v zzuX3PWRu&nqt0hVS3GFqF?;c#*+n%YxbUkZsNs;d;$iWNsawI_v_~D_Qo+O1VnVwH zxKucnaWkLyqQ>K1i&smO3N0Z^iC2cyrf_6}yJ<^;1a-g-hnbK2g2HYt>Xl|pd^*kR z*KzPsZ)!!peVNN@qu;n*otg8>UDaiO<;`bv=B)goHn*b9J{A$ILYi1fwMQtSt&dDc3U#(tR`+uv} znk{B!THf3Fu1HVYdF_>U{PZM|D|7dYWk&?;on(4(mHDsa8qWy0=^oZ+3mTW}3hE$D`C-r;pEGzmH8; znEGx%i~f;Zmn&RX);n}^ZOC81>aKH3jNLm2zAqb8Du5df(0$p|EfugF_15dyIN@H! z;s34%_iK}RDjo>(`&Dd<&`7DcJ6Wyf$5HO&Sw9|6iGNe^w8zcvVxekg-_DKS>-b(h zUDu{pwKQZ_T~+`7mFq5suUoJ8`_0^=enM|;CieY)m-aQy`uzcR{@d>lg)goCcup=} z;o}MO_kYsQ+R2NtfJT|J+w|+8-L%jwe$eWr{(Ld^h57%MC$2fa@|UjB`+Y8N&&O;2 z`5-)H|KC5~>&5>41Fc5%IKb5ATgT?JfGNJ|0ISu9M#)Y&mbc~xPXhCs>V)Lk%wHVf zKIGCYvt|;zbHyUTNgrA?)^u`Hnw#>Pt<4Y%nv| zXj9aB((YFBK&px3fQr?`R^OUMBFqv;|N26X3`tKvs*5->#Ap`e$foNjj+r64X;!#r z#C?`1i6f3|0?mj=eVR1mOp>_q$&gTUz1OEz8Unw(R@kSv>mz&vJ|7p67~YeV+5eXSvn&ljq7{ ztCutzWG)#SoZ7wI?)%Ty^);XkX1p0U^{!hqimArWSUJ$*+2HsxF z?MOiF(m~s67P}A4g_O)E)lQz2b+G7r%B|HAOVS`ARiEHRr+ZP|}F7Oia^ zbG`JAX*}*R(K8F_waDA@_44m#W~+x;}| z(X?#6Y^%Aq6$R9nMo;j2vg-Ge-Jh5|-#c2}jn41=^=P+#;~TCE`QG38{=7fPu{m{v zJGc6q4~G*rax)we3BMC@7_`YFK^U~jqhe>bA?6(YpAa?ni#o=gk#}?!o&C|frr6o? z{~g8iHo_rWE_kT>3SRVr>^YNNay}?r*7Ryv`rpkbqU3eNkLZ-?D)uBz|En*eKQVV( zW8(T;xm$V1WsUC?>3fvlt$4oHykf$Z|5v`<`}>#o$Ab&^)}~!(0nO1L?P9Wc)RVub z>xPee-p*rFadRB|)^^??ILmZ}u)TM)#%rB?%fl6jv>q?>Rwfen* zKjPDvG!C2>*wD~#slX&2p~z~q!LX@%0gL(z4OXEGjUqNYY{oYvcx>QU4m?T|>gzPXYn3`~Jz(tYaM@_Eu`{AlNo2XlQLU(t zT|J!(+N(ZE>Lz{c-o&{;N--q`Ev6OQUMZ{w9q{>j&6X~f?6qBYyP*4EFTUh@ zv*8~nXych0c<;(<@Sy(NEtvaYk=MGv*@l1PnNElplS0pigFNPQZXM!teXh#yA~c-Xnzx-20O)vimka60VcBLw{0)KEjv?o|8CK} zs_&I=zwfH~4_@m|i#}vHTf^nk>YxKYrPFf0TmcU=eb&nP?8=Um8xMkalFcTjg@EOl z?x!v)LECoBku3C?!r_?#n_}}-vYg@K9k4*K4>83CZy}(q@qw)nK;D&3rM??gS_n(e z{Q7bI-g)%ncD+R4h|a@Si8Q1sHc$%zbwp__0*9m{4MSi^K@*6Z~OzqsCPI3kvv<8??*J95)0$gXs6xy_ftxD~fvL*A86N^Zoq z4K$}P+b#A?h=^4An~!;t^`KRJ+r^7c8qe)9^4D7b#wcdio;yLOjjq>-oh5sU4eOxq z_q!F(-hAescO+@A*xBy)`$S)AAK3jz>q-6r z7IB-4+nA+eKJ4W(fAirm9}~~VBO>8F4|WR)Us-V!GT!Pws{p0_E)y=sdT`GD6MEO@ z=$tis&ZBe4N}J6UG6BA)bK#xyF6wXZOL;Y`dtJU|>w7^fAY6C#m7|KeU$4dd?kaWi zdHt>USgf^3+06@{wPxst=!f?uUbt29{{OM^`wgHenJa(6>vv%L!mzBdt+%M>i{H9v zx>(iA71{1(uYOHD_v`hB#g$cWwp`Zucr0LT-0ydL+E-c!uKRxO^7~jp{XY|psHiN3j?#9b73E$MJOa`MKc7n9_SK6ch{%8NulI-*&}!WFbd>EWUFBX`#(R_!&O zlX7Im(U~Df4P#lvB}IkJR`oWOW$P^Vn2}~-#nqBk^yjSPXN`mFKYmm#6FDHQI_2oI zw}FPOe-Zz+MS0nV5kC#zxh)>YS&?^r2h1mWYfGtd!)-Lcx( zR}eZiCP3BzGe2(vjUZ$mW$;6+0S=oRwb|kJW>EW}df|(E2b#I%^GfvLyPb-kdCwo_ zyPaINw!Q!#2Mu3A_;Tqb*T$F2=9E=UST?UsD{JY3zFnCsmo4j>Sa?`-!K(WGy#HHP z`D_kzx#1F^B9iSUbZ1Jo9teR z!m9s135xE{EsN}0#aUVwJiWFoHm_X#+wGF;x!V`dT3Yt~UQO`-C$EwUzw7>Zz{Wan z`n?wQbvqo|Zo7Vagj53UzhUYU$-&a;IX^vat_1VMc>&LtMz`$pjp%r%EV5c%WY_Ed z-iZ_5s^#9B@KWYz--P%3E}c{Oa7g`L#YdD$;k~8D{qz5R?MYt$_Zx@pInWXuNc#ZC z&Q$0K0vWrVIOcDiDBxObt@t(M#36CkHLdzyilE(2wKF%gSzNiidBZf3$xlDDJItBR z|8JtwVTH1%t(hmM2}&>Bt!f2bLFnQ7bE&UzDAIAzZxTc*B#s%eJ#S0=+?qjYCte8ZJ&clPcyKe6nPj?;_2!S$xZ9UMt}= z-E28UV@dC9B^Ob%gP!M#=B3Yh1|Qo^c~PV8zEAUf)h%J`FD`z_8=pwo7Ln}8BIn#y z!jXWo@rkvm2e$F)&dJTs52@HS!=}6RnS71ZUV8ZkvM3co7F8!Ic`B%`_TUWO+XX5T zuTSE-I198b0=)4FI;cuyqil`24rsGJd{C9yZvkjk;;^~d2x(O!_+}%a7n11#4l0f_ zt6U8PSxgT`P7~r=yHX&VdG5=A5dM#q6XyzEJed|y#PvWuHczW$g<}=hlw}^l90Hn7 zv7AyDmpGlfBH+&pv=xm~U5VckhAFBV`uPmyV-rB=_vN6q zUv|7;nW8@7JH-JIA_se%hbYkM;k5`St#P&418z zS1U zz{fA6?WlsC0ca6gcLv^{tNNJSr0Wvu)j0vunmTt!B~+yWdgg(RG|KT_`9kb3%$wr)K~Yujd9q5$=tiQ)V&G zjGUBWZTUpaC5DS(mLr#dNuygW*OCKldW$-rITi6enHnzsbmj!H1WPSex9YSIb>}`V z26flTURN?58~IFJd!}*~yzrEoGDXvA^*xcS2pNw54jIn#v$O=oBluRhtOPG;2Jfia z`_U_>Mqaflr+PZ5=xC6ftr#5V1Uhsp=w{Bgm!YR~%LBG(IV`(f=Y4P9rCGCOh5EWy zzuPrqpLd+d(^J)PyT0WeU%J~MZ`3kBL3>SgS_%u&Gg&;t{^X z*~*w1T%Usm^bH8ootcm@W zGa*ieD>7QTrPDD&g2mIhP`~86M;_Dvzk(OczuGL8;7nzjd?R#gY`{GU)xCn3qpn3= zoWJ>1<`+ln&0DusB?;#VJo2mL{^8Jd`Rs)|MyYy2!9pH-6K2ldow37lmd2Bv4qLUq zY;)=1zOb8Nf&7&6EBp1&1$-1{jQ#F>x_IjH*Xi!_OW$0&?^X+2&@6xH>%De+)gQE9 zKZAEa#vcMj$0D)qCywfoI8(k-Fh+)z)7^`^o;s6 zsb-CenmMsEtU5jkex(C5BgVl; zI0{6ASd}(mZLGHqeNH(7E)b*E-nfL=Vp^-z0X_I=_-;^pHXFR45P5(L?QCkTB|_|~ zjiM128(SDMq+F$@igbm!tz__;x?~CqQ-s%qAeK(632au5g%_8xPJAV>jM?yi)&wSD zlayC$*g{zaS2G>R5)g@e@hZ#FE5|@!1?$zUi9*pSuf+VeOC4FwlGb=<|rvVPOKMXhUg zGdUPc*u@eVeenR#&Q&2>mes8e*nerAOW`h#*fXo0-jx<@us4#c1)Tb2S0Sd$q27_SvxM&#DXh?xLF<*_6MO zxC`B>`r_dd|7D|tnz{<>(GAz;1YXnTwJE*an=2c5hTC=TrK@6wwZd+nvbN+q{=WD3 z!p$46{%bcd6)gUH^;jvpp1^GZ{hYwFZy)Ih-sW`IV>tTCs&2v!R>{7AyS$3OH?s7r z9oX)a)~@vD<9--J8M z`&<7wIOy!Z@JjL{*W2~1ih_(8^V)laSL{2r@0-)P`1>0eYO4JOKI}^hef^86F-r6T z(+R5$n_{O=dH*5SJ?_$#h4M8U-k)st5>i^Ay~g5I1B=fA2EhskR;vk(s-6#+*0LVt zj526kX!YQUNXJ3mS$Rb-SDj)ITzrr#FCd)d$(1K6Gn^WAE;LJ|EL?1K!jbWcf#OPK z4^G|{28|J~8igDZME(c;a1vw-Y;>G6hh@rw21d8U&Hx`Kk;Y{X{D%z6^^SOoZjLyl z7G=nJfm=E|OG+ln&(e+nB%h4VN<&zPj zrr!b;a&%Id7y^QVZi&o$>C_|DI_vzxUmurCUyZl9Ea^BUO<=m-dm9{JVCX zS@qnm^NfF%p!W4eDhjz#UKbotdyT5z>Pv?=xdrtp zv+Buvd!E_6?b=qSi4u+?D-Dib`nqq^(R}l#RcHTQ-L}o~?3(10EBy}66WCnEy20YJ z@+$ywo!6B81^J-oNMZPk+S-z)luq`X=ULvYkGxt!?mR%Cb z!m-Kj$9D!=H%;l=$NI9n`gPJ&v#s?Pn0%E#W;%NvoU-qP?P~eTuE&;c4ZW|ou6{Dh zJ!O|)$bPS7`JM`rT5D>yPw#l5m3frgignAS)sZI2OY}JJm~P+pe{UwsgRbO9205!P z?{mHOKI!|K=XTFUlk1jdXIh_rc-Cse!S;J<6Q5Sy-2W}$=nUnT^Hh0nRxT2rqqa`R z^8YqxA7int{ChN3sK&gsG*7LX(X*~-<>{=@-`B2QKDt)b+~*Xl+Q+F%E>B7qx}FKJ z6<>Ajb*aqs>{y#cLf3ZtZd-HFTl2-KEfag*7;RZttCw+W((V&ksY3lvH5MQHb#<0; zsqX}Xl|}o1?k(@te$95tGyB@s{r_f9skgOtjyiQ|>g=>ttzTvRGH#V!{^Rtf<^S*Z z-16H_Fr~d+ZhH4-QPYpjigg7!oc~@Jbp2LObusO)z4N&D@YHMeWrZ@OYaaalHe=bw z|69sWJ*-O2y%)mZb58k?W~b+iZ(p7zm0F&N-{(GMQsL>izm-gj|DIHiI^7V+nksOX z$7GTTyW ze)qG_DegT5!qI~7)Xb|JLQfZ*u_~L-YyRav%b^w3^&7YRmQz2q(Qe9Sx$>%qMt2Wa ztjTG0b-YpR^M1AY|6FzN+Z{Wm%@w)5`gKCLzrwQetngmmpJr{9lX_b==k?pZnef{1 z%m%h48qIUpg>CzAlljfN(CnY58^8I7d%jsW!@A!6v7wzhtD5=sk5b81%`w}eYTg{U zf3|k>e$kG@-2eZty_$9NMfl6#Eo^(2|&h05-QQ_Ov{(tNgvM16Z^ zYriF2Gc{&!Y49X5r?=_0!e8=|jwd^^CaY!yd6_lbR1aOzp5}Vpn}^ve=5p*`p{fT{ z0w;b7l)DaxzmV(l$Ua@VP_KK$ynq}*U{Th?L= zfgR=5og$tJUz{$Md0hM!XXutAC=wIl==pt0^!1~$yCiC^Y>SP(R=vffX03_$6Vs?e zM{4F=%5FI!ytIWyK%us)E&T5_p9>bX&!2^VJ?a^=JVHI9EVVr`RHg1iaK-i)2~Th2 zb8k!NyH@bIwXvzAil?p7)+K^Zv|^2`Z>>emoVEb=ZM9Rk_Sg!tcC2WSx*j5;(a3hQ zP%*qwBQ#mcHHxp&XXz2|crknVA6~n+PcYn(VLmlW(KM`1#mgs5Ai%9fiM4v!jbi!8 z6uV`q!jWOl-$UKleHNM5tyf9A@n0oq6WatW#dyAj9=zzpX%#!r-WmA}^SJb&ji9M@*CDLE1nm?_y?VCm6GnW9y9bNSm znQGxtHams8R3>;yr0{yg^eyk$cdcRRil8YGwf{psw}yJOw8U;wu6f|<(P!S(^D=GE z@<}t@tG9LJOgUNkCbV+qc6XH@Io(@2@389b6OUUov&OqT?OxkV&dkC>NufnXI@dq< zI6MtHr&0UVZT7a6`O(WupN03{oZ3!AF_dB(Y)xFUB zX+l+4`=OJ4Kh5VbZ0+hWE##c$y!xk5iRFa8|I??J?VS0zayskE39mS3C_OK4Xc;1JQ=^hMA zxhp-dNKD)7V)yh^v(xvrM^t=lp9|zIUd`9YntOO@*O#6N zT#Gca+T^?z`J7nq+&Oh-)|9BuDVJWXoW-?aLDr)Gt1?)Y%wf&0c3nB;wa60njJ_*3 zW{Y22nc%+hP-bn@@+Gz9eiCf!wI{M(`n05Y<|Ym8rFpNG9s0HD`O1zbkqdY_=T-cF zx#oE2GGpmwX1_~wSFKw)EoSqJvNuaBEw9fn>*_wcYkJ|T>;$ozn`};tE~j2+OB3qI zdo!zWy7MN9#7&$FwfbMJc5YercS)0WN{qYOf~@F8np~?GS64(`FXf0{y!&PkPxO?$ z)xDiZJ)f7YvO3i|<`u3qIL7=I+Gn-&(aF`5rB_bx zUV2_?b9v{Qx|2H>bZSIyeB>r>hWsnr#X#}>2Rp3;-n`*ik_Z_^7pr4u*Y+HqjEpk1dx z-~?7J@15GO_cO@M3;DG_&+0&j#sMwu#{L^iUue#ra7uHk^ua~HS9c!Cu8Eu%@YV6v zsreaKC)$cPiHCOXH|^~GdC>BE&iwDG_f*#fsjl0QmFQQ!Ut=Ppv&lBWfIa4S>i#b| zY_sQZ#;l!=oO{2Xn!Q_c-=Ame@BCiB_2&Amm3#f(Y;$?Dz3KJTcP|$G51qp?{iw&P zHXD|mobA($c!WMh2}Ew#&wgirU_r|N)ib8;J~oqkv;OX#ycP5E->m-PdAvYpv&HW< zldkOIiCo)oW^L1-}+GwS3K~^)h=sRxWz{J3jqKcy;-zH_{s~ zW%z%by(7M7?%x+XrsxR$))q+CKH#Y^A=Ag5G!1 zHG=!A1*Xm6ys+rxtTQLyK0j$Y=Ysv8S*2$#@cmtX-a>POiz|cvh{KSf?#A%cSx=|11Wdbo*?OxhcmxbwXk13CPTEZ8{&Hr++gtv>Zf&u>eY@uNtvR>vo;kax_jWGN zfgGKAtaolV@b(|Q+h+NCzWkkoFC!;R4b1m;Q_27R+0^ME%O$ReuG|-rhR%=dz~)tBl^2 zIiD`OuVqz^dt{d@;#7O(OwJXZeUJ3wuIT@3FtB@U6!%!y@3BD6)u%si+wk3CkXhO> zcQez!Qm$23dFHIylhw6H#Jf-BymrX8fL4YLDm_QSy_?$&vs&H7yTtbHR*Tzxuk!6f z^Ea21;|{0jJxZPT>_zRfQr~CQYoDc`dzNS#O>ZFd<3$EKS z^O|42$C)|z1S1nJ+u1Hv^?S5%-YcbbuY~Gf3Ch1x?0d9?>2+z_8R_*RJnug;34Bu2 z`=l!WNbU4T`T19N#JoV8{Heauh$>X zZmY?=5cuKU7rP^SrH*L5*s%4@zNnbfsV5?ZN^*act=J*;kRjBbRo?gSqA#5P1yW@g z&E`H-kNeo=|FLKPj}>wswMu@p$+MctKH__ES#kdB?fZUit9#wO<0p^*PXqg3o913V zwC}9W{M#qz#&GZ1viAJu1?F{J0l8i&>z+TY;$)unV5#@s@^#ZVo;1G~eBgIDHvf8{ z{l|xVUmx*(i$4G7-1>WUa({p1+P=N(VPWHv|L*yf|Ib(aU-p;z?l+UtJuk(BQ#IOI zUbHf+ux@Axz5UF;U#~v;&(S}N{9lOu5fx-x`2NF`_+!2Pj~FJZc1>$!<&-m-F=4@! zra&pTlS&5`GHCE^4(V|!R1)cwRZRP%5yT<1i5Ogh#pYu_dl z`6=bpRNeSvb0R;dottZ0&n7!-v)GC#6GgG&Pg@vt1;e>dgjg7r#f zH%g{+U6yD{o}uZ0}^JU$Rm1&2%UIv}5 zh-(m9ktg5(UoYxk&9AR-?;oEZ|G)0v*KFmuTpq@t&ALWR3%$;5ywc>&v+MtYS?^TX zSZ5ema4%deu<@w?H}hd`>m@HXP4T<+Xi0~g&l|@xO1CB$i&%T*G##<9@N7P2l;vgp z@s(93*H)DYk5m*+YWZwrIrUoKQ+0aECQtSGEk-A=@XhfNVO+E2%=X8NYR+uG(-E9= z__A4~&#uXH9%~$W?qri`$s-Or5?yezu(41|ijK#MSx!Y8KME-eX|eiU+PwG3mB&W^ z16{>aw*N1tH-bb=N8y%dSr0je2*rtRF!7J2ye6BFLyIwscBHhxnMPaLk z;3~1xJt7-_D9qlvnRkJg<^@^V&!G(wKa*ZxIQ*-{BrbA)A`JvaYOjd~OiF#(& zdM4`Vqa|;`P8IFVU&UDya^|-ELRa(H((9?$J$=`!2%I)uAXKoayu3NbNy|Jr!1wsQ zH#`ZE`*Y1Ve!QV=k=QDpwj;4!{uob8hx)P|N!|L#ERuW8r}0Gg*|S-uOmtVG5rrX*1K8?M$1Uf6Ov{ZuzsF>GSK^tTGn1tL@5I-0xGNf3`b+|9>`{f`jbpdkPNoyW12V6;Iz&cwD~Srs$;l@;ybT^^e;WpEZBJ zr}(@*yKTuuclEs`m;K#sOEZiE_Lg3cZ?`SGnZA5)+3o!Pxuti?pYJWdU!NXi{-9lb zU&Z78?>-ezrl;?#d>$(vckB7`<@>5$uRm^A{dW8Fc^NNvv)k8vJg&aK=JR=X``WM9 z)A!eYzu#_O_w)Jk{dK?JAGfdn`~CU;`v3pg6Bt-69GJu|G_boQFp2JPU^BbW$lsE{ zqH5vD6?UOX{73?u=?+J}vJ3y4ke1FvWwmEEXfi_E!>QzUF=DBNtU|0!_92l#oqjuWSOTH?pD_>RtarRX8SnfIRCqe z{rq1Z%d=XZxWPJU0?(DZilRF`+{`|u{h!&ZDC>DZ#jmJw=c*;DraMm_aD8Gw=}C%) ztEE@av`bT#yQFG`?(_=Vc4_MRmQw0cI={U>_jfi}`Xq^6 z?mlFaW;AuDPny~0yc0dAJr}$@^C5N8th1@JpP6pm>6=$}dG>u4^xxqEdS#L+4GgO<@^6||gQ}Y#mB|-j4R}+OLzuxq3D&k>!=fh*mz3akO z-YreivqbGAZ&`QxZJ8i;G{a4NvrIu~$l?W@9EgRD3=E76|C!bkv+)6Z+KqFUjHW`9 zg9?lAgqV|osz}%IftFTBURL#=!B7WV#WPtewkxnntYgiLFqz3NkSjOtp4yu2!^vS@ zIaebUwrTxaQh-7(#>`XhLoN}W27?F0T%j{>ImY3p;mr^3o!xDoJ%1l{k8wXHekFlb z4Yp|=vhl&MECIUlA&V^rbhg-|4wbyr2*_zSI@8$0y20C!rp)D#W-@ukaiiVp+X|(A zJ2uS=EZ?SvPAdu(Wl`~Q=gJJ5{B)s-Kp(Si<(yu>v`lf9x2}d0rbqqKnBmFpc~d6Q zB1rPttekBxpE;yC1x|AJ+*Y=bA#5M$w3}%iLNklq%GDjSZn31z?@-fHp2F$+amu24 z&M=K7Q$Y7$&7Rr$a+#>yDNVn5UMn&aSKgiZe0iZ^*Q-?zG7qeZE#3EDYjsV-xvcDp zt@l=~E>7_J`C=V-DqgzP>&?a!;B83fo-N&Y*6sJLg%`ZC-)_CJEixCnv|8$G_Kqh_ z-yW@AJPmY|gK!iA>6ZZ$6%oj;%3FV4J+A$V+>*&C$^02$y^(rR{sx z9I?6DGjWw!@$1Vc>qGBsW+?i{TH<({kN5t0^~mF!T|BjO?_D&R8!d3IM^o`@^G>b_ zPcCx{?c7?TmudU$rcR=-$c>tnz5!QsB74hP@@{|obmx9ykH{T;&i}o_w?%y$^(QJk zmW{oxsF?TTQI9#_B(D%_y`2sdue0el8HCzZ7SCc2-|pU;|8DIg&WU=z>YR+<2F!}8 zjeF|4Mm%NNYr)ue6JB|_UHSQP>tCN4Z#iai{yD6uXW2GuXWx9CI|H2`Azt^ zhdHe(>597Q-^knQ?$(Z0!L#cCBAec>k@Q<2z}J!|RM!_4SH}{ogznI1qZiV0!ighgVse&Xpayr4rz!d*<}-Nlwf77U@?SF1pX5ZggPliwUmwG2I;h z3z-jft!Sy8)S2kol(ABA6KChdi#NN2Bm~v6bUJKfZgOp0d}LR|+HUs5c%d{60q%Dj zB10D{`Q=p{`{2UJn6Rb$-zKK%mTuf#+pSNuKhjvQ%XGR^hB0LUm(mF{KHmOmj!P89 z)lFRWf-GBWmZV(KI63RU#i*J!OVrFI1>Ik1O`h|nLp}fLaleb~j1%{WymLC~#U3bN zyEtcQ!6td62K2L&*wyE^bTG6tD<495P>OV`3{(e4{>ZH+quIHI^ zljhc-D(+dA&Zs#~Yo8hz894hxWr#=yr(fFy!?>gf598cPdRcKt1E2ORw|TB?A zdbi3<+o_NK`-Sqgr2pKLzG2c%{i0cHaUWVj9IDHF8r4oMSk|cFcx|P6)2Y+bJs(aA zRq0x(q8pM`^eR2fz-z(`%P&hbo(j9`tIp_OHbqgpR`ZaCR&edbNy|*nuJp@X(mLba zm*pQAo4gyl1nLDt6YQ2=3Fto+(!O-_%79*ft;N3tbZ3YJ^DbTGHg8pEW#QJ<3182J ze4Kpsam{2E&!btMEwfH9e_*oasg-ujMdNFmZBDJopSwEFH00XeU!nd*e^)24d*9fr zBig~lk&`Gsd+jcxZyP80_Ia+^seaV$+ol<3eWHv{-#l0KZSw-w>uJv3QMJC?Tvb#v zGs9;a%2;l5TDdga(e3oDTmP$`Z58NR>kzV9?)0s1+b0-u=B=E?d25r`;sdEy3k;7$ ze>O4Sd7*b*$#U&QPx+>8x>7p1H2uo;D{qW~ZJa4^e7N9xv8aHn+5VELyf_ zyU@$3=h@=lUzsw0IXb0g=C8Ydetq8`WvSD^u46g*huEs~s!!HEIK7ZrSVEU++O$IM zP50TOe^@qbdcQrR>;92Ai4Aj73JPRwygMfBa93)}inBd)(lhf$oajG;V*W`9NngL~ z>GPfKTq&F^`Fn?kpk7zi>(J!pFF%fZ{Ogo$os#tCjYNLniH{pYTj)mi6OV>6#le$$k6Q>wPU7Rqlvw&aesmJBzm!`e*pKN?r&7oMzX2!oS z9c`Lfe_M84S@BM1%L^I7u;o@Zg+d3G#qXUTX?*1B7Bl{Z#kTWhgFj#2)8{WzCY$qH zVE3}RYgbox>&nMiAGx{R=gZP*XLG&=M8_UqXI8UmZEkY;Y!mfehEY52ZVI^h^Y-79 zSGVqW&6~8fI`*~O_C3%4t}Jgp9h|VqeDCW=nJZsJr~dC-?YQKuMbrD+cI%q19DDU> zX(8*M2UDaDFIIfFV13XWN4L8ob=Equ&GCO8hkUg-;qF)TX3p*>8vp%wo(ezrY1-~T zPdDw%a!H93>3-hAYw*46grG6kq6c&I%*;8?eoe`K;}fIk{M_Swb)LvF?i60G$kxb7 z|0XQH{Pe(ub4xF$CWXGuXnLj3xhrtn*EK)BSl^g@&NAS!?lYe18E>=v&ra`_`~LdC z-gna%UYl<7so>e2zsD~~ZEO6kCmkfL@^+D5ya_Jf`}F^}M6W?*II4rxq}p%)fikxZvaR{ZsDj=iIxH%kJymq}tMnO-6UG zU;F=2bAN53@$29B>wSI*ZvFRZvf1Cjsh3{feJ`;i^Zuo`%lBu$+dordy5IjDObu@i z)-y#kZ2ef{=caKvxq++D@9e~S9*M>!jSWH(jjh)NL^2wsb~I+Wd&>N1RFDua7j06B zXi_k*QJc}EwWCSrMw8x;CIg9PBa3E}h-R~jW{VlkRy&$)ZZzBdXm*fj*;!KL6w%^V z(c&?q#cM~4&y5zpA1whAtw9#8ArY-%6|E67TBCNf#@uL)`_Y=PLpoBtjkTyO$u+dZ zz3tn^l&_8rSt~>wzqJ)vw3l>m=MQ)~rcA-UDgNFQs z$=1ysA}yg4J9;HLp9gkCmvyX9>a_6abSu=Fp*w_>RKMr zvUo?A&c&{EE3{WhbYExe?ltaypwz*a+FiY=V~8j$l7;;g@>IhG@P6bu%)9f*moJIxo5N;h|29(Phl}p#`-2D9f0@$KYx!K4UW&D18 zZs{C;Hh~Q*x4pj)+Cl?5G;QI|ewtnwbZu!+ktF04TaH?sG!5q# zTP}4+&?&YmL929Ms(5?aXg;0N_Vk%VdkE;_X9?E}_x&`BG@s2#nZ_x>B43#aZfT~q zGEDfP78`fX^7-6~R~@PIYSNYm&2M1)l@#5y?rO?H582KY@q#ToUo74vTeX6rg^z`G z$&5{5GZxP*+a;wvuWi?zrHiIX$*f$q>{VpUid9*&W-Z$G|JAEClaEeSVw!Vlm3E5O z$(^s)&+t6x7JfjCd!}csr=y#8^pk0;H(q#mwTr=Xi(;$i4y!4STkb6S8m1fMaWH55 z6QymQ+Iu&i3J`m`O|?VuTe+V_o^?YstNI^F zh7DS8HaG?fRbM#B586UA-!)UEI(tC&f19g3SV@a%vN$KjZ|6IMx3#mEHVD05uRr18qw^y5LNB?m)J*5s z^q+9&?dJ1#j)k3*7}$mE8E5G0UlQ(m$@9qS$w3ZIEpMk88=f8L_ekUpesD-^$Ap8t zZLjMzi#@x(m|HN)yli1oNW7^s;hhLOYN=P4eUpb` zulh_Sq3#KYlHn-K%&4a1*y+(cWo=#OYuV049TT{ZeNf`M!6Lrl z#tG$pgf58p6?MZ!r0kOD{DSv$W-L)$ns&lg|KMje z_gfEyb{qU><6PNYHLt+9OuH5>s6}pmZ?*gyI1qVYuZPn#4NcKpxI<6U@*jy-*;W%v)i&4(f z1+y76C2uVXDCBbB3cbte!fSDtqu|Se2UiaT>wAZ;6ZzI8^dO@kbQA0DKBsMhH}vxM z&OX;x=@)rj=ztTelZ8<3!~F@2ai)_kTABDQ)(SO<=SK*tp339Xvg3Rle`Sipq8IvJ zvo7BV%w^eTn)PUtyKJ+XP(z5X%Yv0Lxv$hr1n!Eue_!d1v8*p*5_N2EHMSZ=&ZK04{(;+&xZ znLO2<&dy+IYGOUZrMPAy|0YMJqC@}Ji0n|Z_m#dmIcP`f%}Uz_lB14=&QOJ=&s4NgkhEH(@X&&@5WU^&JQO}_-boCop*uhTD7Hu zH76$BEHILpRN(rp<$|l2OGf_c4ZT`NEiHe#2+w(2y0Kl!TS@9-N4`o@RK3N!mMy!c z?=J4p|7;`7T5;{pHJe9bf=>IdOiNMRFr|C3T7l5DAeZYoPSM-f-hFp~(`A1Cl;R@M zM}BP%1$Xiv%BgKk-Q8TkG2!#A4{lGEMCh+AP-OmpPhDnWN5XLxzsgH#zOAzDLb=B^ z9+aghtbcrR@{fPhxtGjMyWrg|bg(j1ZBCIw#B$D(W&E+6+=jcBex5FoZ}(*8uBNH$ zw2yvmb~*S;p>vXu+JY8MoyIq;YStf8E*i~Va~MF0PJWB$LdTl@b?RNeo1|M;)}KQzQEFW$AB&FvU1 zak2d0x8Rh*UB@TBP<-N@9{26vxAXS@zOVoP@ALov|HK;@EE2Dz?DiZkSi2-l*jXZ`Q9wnARe48Z ztGc>gg!<>jVT;sQW0z*JJggCy$S-ecyv!JGH<7_nqUFAGOLj_&dTWbQMa#n@)(TUs zRG3=1GaLe6RQSwj$yN#EVhqo{8usEy^s+Cu`@`y2s<7^1HN2|k^+Lq(PH^s?(uR4= z9z5YTY9}hIj{Dl3kP2qCmNIUt>qu2OX5C=XaayEFaH&uGjE*Zo9bFx%3;(N>GAa6S zCMM;6^m_Qnn>8`SAvh#4L*VI`hGk_nnp5JL7BcSN=02spL1cO{-$u>K2pPNf))yi% z5i^{&>}c_P(c;cwRqeOCjG9d@`C zY!%fw+QhNJBw3>OdTG~=jJ7MA{H8EPr=1ACFoPw{BWZa_>~fdhV2PM%?yV-7lXv~E zm>eMy6XhZJ|3+b>p%5#J_KOIol^zo(ZEXJ==651p=ttr^c{*LHJSes@Bvx=*Yl)Y`;ouYQllHjAI-ST!ZA&~=(LKd-=CqSNg(tgw7)`g# zu>JK}jH|s%AkfGtWJ>kr{^Cfn+eZG)i&>RdWbG+#^V6Kce6YzYE&a!ij&LzOjinJs z%d@3QQ}^u@4J-&z`ktT7GO?~>_72TXo~?8EGUv3J&sBNW6p%9aui9Mq(78+^&2b?W zw^`=J{%@JP^}6ewm4SCX=U$d<&f8v`Djd9Xd+|z5$;zE>;#(TlvS=%=Xu1Bh|LwN< zCo5ZP56@?e>dp}nY>QaHX*F@Dit(J2b?e<*|F7&SmGD2}QOt9y;l_-GpDo2B1EwE) zGHdnmIZYgM|As9Rp4F;x%exioB7&yE*MomX_9 zcp;oM*>+atl;HLTuNx}4D+NwxEEKxYJ!SJUF0Tb;YBn#G%`3Coy}Be`-&ky=wYX{5 z;!hDP)T>ss&05j1Yem=pTPsqZW$spM;`!D0Sz_K(&uRS<^Je~ni!Ht2UfkwdvQY&AV1TEUn*Gm9>4<>OEbn_uY!#&lPvz zmCyAX0^D751XeB(QJk)NacSq0H79Rsh#y_3vdDuqYSqSzrMz3cqHnIf^K0$Vol|*5 z8K(!$c^tJaD`?J(s&%WsG^Wg4Y*Q7~QnBb$)I2Mz^_e?;rxd5QYB>DuTIt5Vpa`WL(ACS{hPuJ%H)|mW`GcT$i`5-Itjm_;mI|p}=!b&5wx1 zw@#hYKQ(p945u$E7<9FQ1D%xCgzIER$X)sB@@>bwsMT|QR?m(8y){mH+dT^>l~p1B zS3?Y!BsD)ZY}Cl;lniAu;QH>)wPI_E#?|n{lJOs=L~T{u9vT`DTbS*g+LrPmPV1QT z1lR4%OF}}9N((x0v9X4pa^kvtHGI!T)+G)CFP|8uFl=IR9##Ec-hj2 zCd;mbx84p!o+E^WM$o%J%F^++OV@wyoid8TPEt_B(97dq?!{ zleuM1`5@-pR=1$9 zQQ}wfuLMQNHOGEC9ilC|peeXeV)Lwx3pYcJsNj* zX`VTxyyj5r?$DeIhbEjpc*gs%-kw9cbJ8^@t=G9J>K~eR_;=!|qD4(^_C?lQg}=i% zFNCBn+jMgIqFDy9oB~H!Oj7!)xB2L7VO3?|?AhkGHKg$Oq%W5bOfk|)o|CGT8Zqa# zbkXdc%p13T4ioU5x-)wXV~KXgB5y%~8Ja78O8vAr++@Sme1sLqneLbY28?EKaCG5M)Mq@pD?gX{d1;2jU zzL?#*`~M1|_M(I0-W!f)Ea+5O%jrc?iBCRtMW_FD*A+; z$v$Vw%=%EdV^LZ9*5iHB+0(q)rv0m0@r$S9fXVrPGB+4@pZEH+xMPW!bFBT5N80-? z&#l;cspN;jaxJM`M$vB?I{dr|{$*Du>^a#M6S2Pfsz2MoAEqY+d$-BEvTb-B*y0nh zeszF&Zory?i^6MlicYWEV|)0)(xA+>n;%&Se9Vs2Y|&XeA>#1th?b>^9$&qh(vq~U zCar1k`+qftXV0C;9pTIVKRHtSbQV)%Y;CFIzwVvguHgq${r0o%3^9xS{(PHVSj2SI z2(7CzTg?Qb3iiHq+4o7L-{eb?&tLIJSI@2V-ER2g-~*n+ld}VE>BP;@K9_O#+C}MO zF@NI?*F2C9ePGmms6aQ`_vlqcnOLu{@kX}~%6dBod}!Z4h2hQI^@|gPxR35yd?2_{ zB39?;o#xUEub9K$XPOM(9nfOi6ZI!5X>YiPE0^7~vcL_Zae+tRK0Q{g0oFRZ%f@ebzy$*!?V5@ReDaytliwDb5Yjj;vwHldFP&W|Jfx! z_qmqq?zP$1itg>&(0x%;MS}N67`JNdz5f~vITys%FHLetR#*6z6tVR5`lmTZPAxjN(=6h;Y3zorKL4VR zu=ig1C^CcDPh5VM(?hBFkF3`V`F3h8WxZu{>Aua?*xW;0epfG?JEv{)_L|+f>+=rv z3dIW~Tn}JiY;dt}SP~Fa>UebK+)Yot!_6Y@M4s^yi!De^68{oc5ISdO-%~f6Q|FF| zDu~WrwJc*=MdS~?{;yLXFFkT(`L}|=qJSAMk1*fQ_xl-M;ba_G>5J{#mX5^>Vh# zvO^uMUz}TxbROU9o`)7^SgcKrP&Tn=>-q2oI9s}_nBqPxf_1x zw(j0-aOYrP>VtPa=j@lQd$Q}Tj>Nl04#yugD=yu9_b6}0ZOflMuYUC1`q5ie_~F)y zufKlG{J%(S{tCUQ6<2&#u^K;HIMGXXKC4`QTQ5&s(fVf+YlF7UzqQ`_&i2=VZ?`_L zT(?=)@6yJ(4>$N;%J}=c+2^;gZF#_l(sTA-6qcW|O`Y?wZ{F>FqE_cW-`xNC`G1!$ zo7C4TeE+LnT6lw1>~ht=U!gBeo=@>_^KZ|~;1zyz&9<}1s+OENJJ))9hND$T*12V#Yq^%r zGI@SwLG<>%E=k6&h)teC3Y`lw&n(-LGRft}7S)qtVNB2ZCJD5jQPZ3)^rQB7*_1oF zg^P0(Rgb>8y~A^hNu5q&A(LkE5|s;?VxCOLYnFBV@NnL^CI2Ub^!!o7sl1Z(pv7pL|yATS}jvuavy~OhfCp?^Dj(GCrJre&607 z#vk^uTvry@%O#59`0b7rHA)* zbQ?5n*IJz;toz|oCO40;!vS4+Q%Mg+@yAVCUHcj?A2NNR)S%UA$kGtV5G16K$J9K* z!Iw!-#X_rdpUCUA>blz;lAKQ~$s~85PSMdgq?6d3xA~@=(*Z>Vkym>Dw%?y@_P77f zVsb&}P?ctv^hPI<{~BwB)@trpC)AsD(N(lnM8iAVspOKE`B}|18;@0KZn(DXfOaRZ zrZlrhP>fO@PjI@5Gq>5?HD^5cKGF(3CRjaL=@5tNVqTpMKa$RE3dx^x=IZ__v1>N4 zm}sui*EHPRZKjbOtKE3mMP*X>nSWhAT%2{YdCY>pdM%22_NGYVZV7X%d0gf5rQ74G zm(C8@^I?m|`Gdba1PfOF;JA{1fZ=m;!GYOl9``5K7kb?|*tWK7M-r=gOVc3@qiq6* zHDs)NRObe%d^7!IHYLeGC1_gGQNtgq{qb8>rWCH7k@|LOnu?rqaQE~yXYKU)+dG_^ z44;2mz4WG?@B?Gf?KcjE8Wr3=^MAp-2q|IHZF#;yzM2b^)}J;!sdGX#Xxj7f%>uqUg0*M~VQ?tco7imRQnVbE0T(p>$gdr#3R z{rP{if`YzIS+mh(wrR;T3*os&J3ZKKziz(a;{Elkn|SG_>*p8cew%iqX|CCg^tHL$ zb{2h)Eq_=nf7kNdDpspJ%kOFXDxc49zZW+@_EI>Pb8NR&^_6Y+nYNnj{BHN#F;x*yN$E30~J*G+KhXZ{`0bS;%7AtB|9ArIpRCt2$S{{$qK zFpCN3a_$W9mO7-|8W7MVI!BmIl*yqnWbOZ^(n${{saZI^IFM_`YS``Y%w_j9o&469 zP923CL~J2zoD@BbE^go7d0e$pQAB|I>tRJPuMT&eB>t&0T-5X~cKWs`MLL;kCopQ3 zF&Kg&$PxQYJE={;~DAF(8}X4W+c|C!xCg8x#Nk7s-&lH*`&$y zmn=~~Z0y-v=+kI)>CiKur?YluI2lgb7{`+IOv`lT2_sWx@7Fb{uVq!ZfW zHow-F`~U3jHH#c17YnYfUZ=>H8k1xjZg^5x@P9+!N}De;6PCTuE&e5?IVp1U>59qT z8eHeZI35XX6I98|v3_`4h>1bYlBK2oNV?tEo#)?VI5EtOSR}AK++#XV2y^SICEk2d z7o2pbEC_6QA*?EOQKN}Vtvm6mw_BmIW{zK2+RLfF7uu)CF`jhu(+Xl(-zk3Q>N54Y zD^oi?mhL{J@;YXt*UgSCuBXpu6zi_k6rVB6g>9=1yZedCNZ+lR;*0c-=w6$&SW5nr zRbANCRpCdoJQg*a^s@W3poe9(@=>WUx3=dCrmjh;*x_~3`&ITN$rBPHW;?I$$omv5 zeONozJS}|pqf#A?9;S%ATY+0ymn}}WzI@&6qoK$_)l`-_6aFV0tvtIugDJ8(@Ur*K z0Gar9DqZY5 zlRVmlrWCgp#=1&A7EeDjo#jfB8262v(w{3D=I#}k@O^vo$rrEc-OUmh8~<-Rn6IbV z?9ZlPd;ez2Qb%{D%^!2UUsxWJ-MV4kY{o>}jWJF-t(A(r4+~~p-Scc0W9K41*%gk` zQ7bGiSDw@JTv4`pce+N~^L)#5A4OO-UVK>OcU;2N!;ngqGq=>BCzKg|K`w1YusK(Kh_f4dg|)Yl3r5{ z(`ow;?BQ{K^0RQmX<2{UvD+cZz|@jx#w;fz;TutP%fD|;_%>_XpP-JIl+5W9 zySrvjajeu=cF;@rJr>a9sO)>QsOY%CbIq=askx_CE)!f>xNUmfIqsLXC5y!WD)~DJ zc6ZOr3NfGivNfczTmI*XE%#;}3!A@D?eO8pm%lAdTX)x6cXEkYaH-~=1vj0fCv6E- zS;FO-$j=j0xK)wy0jpPl^veHg=i=oRd99?o9H!5iqY^&RDQq9J%%ux0`=+h=t)ZrL zDSel?cD&=-#rFlvXDD)P*Ok8edA|9sY&KR`#ZS@9kF=ib3)D|vG zf8BgwxY73AA%nE6V_W6dIFdAF{M-&yHNFFW-;HK8%`5w$ybMHC!zx&9EXBU|QtuiFg4i4 z!szFWX_-gcE;O~>IC|#x0*yHf%DIl+zhqL@?4&NUc}>miHAfb-HZ=6GoZc`+?se5+ zgC~b_OuVH zHoBa>GDZB$MioKnlh=7p-taLE*rIYGNk{5scgPe$vkyYjh5MJRIQ)NBi1dmN0^c92 zoetP{Pp0pPg5cCovkrAkJ#MiqTS+XeV82>7)9W0sxGM|PH!pba(!FNMg7Yk!`CqMl z_r)y1r=iq&bL#?+t1bS1w--icN-6CUke?Wlet#PR#$Gf%vE z{x)%&R*GGGvE!17hv}>>5_1hCj+*c!yL9)QmrXS`oYC>?%!K{x3f&VR! z{h#`CS?n6KvSNkLM>g>vT5PE7pFi8{iU5sw^M8qDs;Nx*YiB=x?i*V=BHlc9uY1VTCpy)g*(LJt-1M7*MqM5%0m5dHvzALmN{Y&D z>+rbLbJJ$l?5>vUvya}K`d~tV%%vpNYxBQGZpgYct9wGo9M2#Psks_!`V~e0Y!cji zfyMdZ+4BY6UrzdMsa!BMxpmP_zhwoJmiLOXWjQ`v;mPj2^n8Hy)(ei(iC&LPCPh0* zGwzt!y1}L{aCThaY~O^|=O-?!Jvn7tdVP-Q9XqC=%DuCHZ82Bg+69ty`jRPlT$)^{f_=7P;? z_pLXU-R7DqtvE~I*zvC`g9;@lAG(vMz$i3lp+ziX^dzR8ryfLUi|X83$z!fO>()&s zPYJ0x8+&XfF`RxRcJjhXDMQ)K3G4OpmP+TIkeIsgfBTh-+-b=_zDV*l9`8GI&vM_r z8!6YU|J}2>ci{b0=es3g|1xD|j2DFM5y;+pP1JIkhQ*WY(%@wx$IRc}PI+^Cdz|&ykInl?tHxiQ(@jfbPSoBBHcJ(8OAJm+4Y7L~8u##c@6+vXw);-C z^$%4FnCc#LP09JQyW3&s30HZVc+Mux3w`*~$1&!}swvW@-=3tm`Kzfe5?GvE>w9Va z%CzN|AKxhuO8qNquXZX`byk||(e1*P+RyphA{ugY!X*mK$P?1CKu+ix#Q z_&A66n-4>klRc-IaVhJISzFaJ%rZP$nA#IK-+BeqdEdzWlaS1m_+OXdp{s79#JU%q z*D^ZO61(2L5dZe#OzMpSp6*W?6Sp>W-%oA57roHbBEXYM5k&R@A~`aIDfP2RUX zkEXC)ynK^KI&PonQ?X^gW<~yyQi|J<>pAI`LiDW;?n2FbE0*;vuX^>|G`Z>A)#hti zEn*EVd7X)yk0qRawsBpu`=Q4{j#2k=Zm9??*EXHCR(F#|gwIihzI_j7Dt+Ab=1S-P z%$}*gCB9wl=H1&l?cjvv8+y)1>^Prcu|r__q`jR-JPvN1tZHOAIrY}_UGF-D?=IW> zm%Auvx%a)xK74o9s=fUkow4c8`RdS+@U)PwyrIz!%L>#a$Ol>GsQ|oa{flY8JTO3{E*tYLGqvH%J*hHOx}W#D<}L8 znRv-y!v~JrDvtYkD(}zo5}db%XYtNurN&cFAMnj9k~)5ZXE(1?)xUG8Ely2s@8!Om z=scLvv14x$kGqhYt@8a0@o6tq!#@e66MAiK8K5*ZJr}5uI}-?b&E-rM_E*|{Pkl0&%r?~uQit@ z_ieuY-)<{|`fHa<4JoYYvq~=6wq3Ko=4@kTmMHw>k0*y>^R{zQPd@3K=RS4IfBm+` z9jCn1j13PjF4kUH$eO$6$>lX6Pi))2Rw{?sIbZRZ8WWNCw)a|trhBUT^rtu3zMZ^# zCxq>A;5GLNhmYqSO1FyV@qYPhHC&a>R{%?F}( z`e!{-6ZA3q5-GXohrFhMBU^Rn|MNSJhD}{EVB$;GW#e z*ziuvqfV-Q{n2G}r5o4Tuh;oLb7^W>^{EbLeR;Woy#5i0$kE)a!CHm z;p^|q#S1oSZS_bOS~>Bxc)Ed1<bWPC56^S7ctzY4iVQZSRq|gQsVt2)+v5r~dCr5@)wm zky6&3qg&lva#Oq1KB~0mo+$nFO8wi_xYW~6x9{Ll;QPpVH;Xf2md&z4HAaCI*&Fp4 zg!WBgzTFM-`_=V%l`iAYP4C-l(kJ;v!*KC*dX%1wSBUR+nOC8lh#Hr z5wYtDeVBSE+Bo^G&y3&RE0XBwRMbg&~tsFhQw+|RT|F2{8S~y?i?ZvD2YT5XHOsisdQ*6w6#(7~< zm@%)ITt#al$D|tRDi4Xar;RIab~Hs+Eb^YtyM0oZ?mCXZES-%OcUtssz7TR*ce3Si zpV6xykDU!~iYzI2m8w*kWGu5nyxT&GJ3tSahvjjy> zNin5rTFqJ1BE%IOX>_t}&Qc>)aTz8<)$c2p%}nB&?Yr5sQft-9RlBrSua$FMl(Vce z~=Ia>qLLpX@pH`}wSM)|dQ!^}1>QuH$bueeR4{HAkn{F;Xbe zl|j5irP1W(cGfQLMGT9#q+i<3ze}`HY)_W!^=&eJlLU9S^=|A;39?zj>XQ6$hv4qX zfhQ|BlRgQ}Jwwst#PfpZtnWE_VGh2?HpMpjl70`SL1XVw!QXKXyh{6v7q_Y*>6?TC02** z+$oTa@CaFwuQoX z4ju3M;FuTQUm54_;kbQ+=h?hxQmq1kPF$CIlni^CrQDsA%);iZSGazwDO6~KZqT3e zN~zlXlH0^5sXd#J6@Ak8(!25rPY>h>FPR|Y^x(!s#wIO`BZ8qXG*%q9{j{-Po;fOg z-WHo{f|J4wB+qllF4wyw=pAt^>xpvn)-|3^t0ON6DJuH5EatM+a27u#y8e-~S?i8I zBYrObMiEQx?v4|a*Va63i*a7`zvFAR%R@unF0)0Gx>J1IMVd|&rc6;z6xytIuyBF= zK!o%1DD}(Hkwz;K(yuSZ4V7y=d)!c>4b-m(2x5zUk((y}7EFHD2Fx z!FaBcA9Lafb(@Qy6Vg|!+wqId^qaJ%wRxw)Nrqd8TyxXZVze{zIxf#~GE6r&xfoRJ z!aRo~A%r+k%X#m_AXYNvSGS~&Nw{8Z$&r6$n7 z`iW5dJ&i`kNg2$}TGuvC+Pb(gP|g2U(kcW z^Vo(J=jN@`l6^UApT^XHnI0j@t4mMFMoY^mn5yz|g@f$jwHOeL<9>mH=7`?#Pt>!0zh zntR(OZpu}x|8lF#MeI@R!Hy$w4?Fc8kC^Lo8BVOqJN@2k$F#!+``*S~5kBeIWp-*! z+M0t>&d>6cbslmq=2{@;=5M+`Nh~MthvW2*&t5utTrZp?q4!_KOg*mPn6X*yjr9?U zD;VZ2Tl&88x{7benXO!lEUJ#3t=8a7b`%H})IH#%667JhPlS1=N=&zlLl1-dqyua% z3=^|FuW?;p!Ld_ux?5nAuu}QK=&jm^dXeCGt8hv)N2+3M)|1*SpOc>Z!WCO;QffJ`9qH<86L`5Ye1EdW z$!{i3QtZyVR<$NgXd8+a5n}Hh*rd-LIrBygXXE}?ANwRAAk**KkX43zkbB4}2 zx9`oXfPK1C@^3^;eW%!{*ZGnoN%5LQbHbvgJC$TqzzRqo#@;ZQZ`QtTLXL!xk{WNj1jK=(xT&HY} zPuOpsbJ6aqm-%m--R^uVc21n4d2X?_r=Z{WsfYjk%-~607`g7;)UG*tK?f(7Eczd` z(y!j~%0{moY1!b_Ve_l>YnK#qOyBc5F5Qf!=cUt(D^Cuoarc~BwbyaA&W801SNoi~ z74&GiwCCYm5IcIK1*S=kl|sZuaI)`TX_b3QeQnyc>6BVRo6Z_XzIsTSdOGJ8_8btV6F^^OYsvDs~;pUCVIl?N&$axe~>vHvG}^G15!iae3!;=}A}C z&o~v$SJ+?pN2>9uz$4BF>m_?0+KN3AoGa!i+nL~+u<;m+o!tF{7k+D=x|g_M`GJ|) zl~a#zj9jL2{8_}QhYj*vX02>X9vuH5Dzf67{Xv1(b3+^}?`-@!v&JTT!;N;8i&M^Z za(jG4utEs-U)@iD7N_?(`IjEJO?qtc(Irt^5R{kl45!_~+Mm+$m;-i`IV_fgby z?~Dn1c=K-bUOnLZu%xANDoe6~(k_X4^JV0&m?nst-Aj*AQfNKKy*GZ7=R9>c_Tq#- z_FXqQ@?u;w=jEn^?3$^ly-n$53d2pqS+6=f)~vZ#u(q#TB3OMNi}zF^j|=zsq@v!c zcDxhxS3B6>JEwQwAO1a_=dDV8_uUW*lAV8%GhQ|Aq39jPJ#?dupimYEjlI*Vkcf+ULj{S4~@72(*l_yVa@$ASsW|Em8 zQ5MIfayvcOJ9Q#QhT|gVFgDew#UEDQQQbFVNrZ}<+bPzlC#*{CPebBlB~v`u+&TS1 ztmdhBt>Wrz>G1qH|J9iU@2IW`XHt%5y1mf}I_nt3|4c?zP`Sn7gs+;=$_>I_V&`7@ zD)MFR5?xi%N{%Q8FBNmM`^6}j+Zf{9%G|0sIi+>ov!?uKpLntRcgj5oaTgOx)^nKE*+DZ_lNwMt_$-Q8k+`eeY17IAw9R*owwDcZE%le@=Yb zv}mdKDplK}IWG>*`SVoy?nL2#Z;$>vx?o#p?ESxPslVdYkDa|;;Cr(`Fe#_;vI6fJ znVA!F9YvyineF&B3;KC-&)4)x_R5}8<6zilqwv+?`8p4UDN|j9>}2*C{O7+ZaI-(m zwa>Lt;3%&+=Ycyptu=?vh$%2US#t3T&ymFqPrB}~mE`zMFL~5BPjl9%YhHU3a<6gC zc00fw6>+N7ZTSV4#Kz^pB_#F+v_vi?my|@=kY8)&SkejTi3kvG8=p6NU&Tg;GbN`lDUD`=>Usk z#*r%lIn@@t(uHw(3z9s$p@7kcEGO59HK9Y3w)xctMj zyiejeDjt5f;ue18QxnwsRGa7@D7suU^rPm|i?&C$#w4nqn{+8@vD!u!Bc`|SBSi(1 z;?H)ixxQ8HS{!?`){5&=lQ$WyZVsB~acl9flV{|bZpXen%C#@_Ozcs%wui54#d;rv zIqh?E7K%%GDV(e{?>^T(8_NYQ*N#bgo(jvDm}7DzUucP&oXV!yDV|pC98N1*x-ws^ ze0DAE-ORKD+{gaE+)|TQu_r-i(Xk&>^AvWjIkQafjMwqG-#CqLy31O5yn!+>DcVUpwT9yfE0gR#-c|Ah(<|}B5#zv%i|HyE2Sl^S;xJHk? ze~PeS;ndfBtDn{7htGRz)wT47S$34y>!>WZJ6BzA#by5!jEp#NEV`8Qz&6>Icj{tG zXJ=Nt(r`)4c-U!V*UPh1y=BXE#%z`|A2|Q{_}-bqvcE)=DcgUqx(Czs7VmOh1L zQ3l(wu$IRs?x(1@{HnMWf2vI^KyZl#U%8sgu_hI_r*2twIzP^R@LVRxGjR>?^ts$~ z*Uep&$KM`%`rC(BmpW!0y{F0gf4KqM<8y~xtKQB#uednl%-J<&>E8sNxo9j45Ixr= z=CO7v??l}rEXB*i7KlH+a9(h2_}7N^^4cR`wj9}O@k*mG=;neG&Nt2qX)RmcD!8M^ zsb&%Hw^h^CG8zO*AD)lZ<&`he4s!J?(N*4_tlYm;YFCQwA$iTItkWOd-@0n;j-^NA z)^S9^_QoWVT(2?S$L& zLo09ZeR(P_;MA*vo1OPxp38i-E$7Up&9AIdHGcljeEUj;-|3R7so|%v(8CGh5}Avg zmYi)~qTQ$&d#j{hoHKCQUf-QOEvZfJl}Dv2|IKiGBffuD_qxW8`$ry9py$Pt%V3*gXB@_+Pgt=dsx(!*EaC zFxgkV5}TsumtC)o_p>m{HeZolpPSvk_Wwb(9F8{C{s6Vl%G1_dn5~j>FX8lhTh0kh zVyQL@Sf1zx$#1ul?Qr6Gv&WH5&FJp^LvvL=X-_zJGC_yyQPvYNg>{d$L_EsA8eDwr zUUqMKS=^C@+p7BKWN|Zu?$NC2J~4YzyT#*@j48!87JiOho)@|$Z!XvLGY^;eT{7Op zq4iE|m5yo8fe@F&D`rK<_-;$^PMqOuBd)(Ighk8Nm-V(vYRQjnchWs=ILZ&5p1ig@ zVGfIriAmy;puHC+ud&nL`?GT&%YUS3`@G-70oK0 ze)V0O1uxY+ew4%IaLQ@dg(W&70aZ(Gm%jQ|P`^8;eN*2Xv2Q~19`E+LpZD_)ns($0 z&+H|uR($p1)BJOLwfw!d3{S`Ek4Xz#!fak@Z9HF`$6GDg&X|7v>YH03M}MvNYU^ry zb?*be0qe^D20Bfw7aVqIY?v<0q&Xo|d)KyhpK9yiH*@ay&-U43Ym~F!EOJuU#N85S zN~7gY%}{&&|Gs^dYfNBH|I%G@+*S`W7_R*JykE=3dDn|cuOuA$XFb-?nzl1gYVXA< zbB|1U+3R>fqyJLx_a{iiWs@HKX z&@6xV>GxtW=O4_k-Msmgszv>09VJK0@YcG|<;$ww)}6>xHoSgrqLtltIdxxi(_M2C zmsmUqt7t#Ye&o-ZmANNw+|broIjKedSUbloe?}g2wcBb-PlUYs9C|9nXaAmC+MQ|@ z?V*1xL?SNh?mU@OrMJ_)b4%pq3C~MjmF&6@^C^0c#N^)(w|)$MWLP>^XX~Tuo{bID zg5{Szj4e%V=r;1(9;#pZ*!MqYm~%(|{kQ2aBiZYgdHQ*t_$s%h%4^}}o43~2xu-gw zx&P?QdDF0pyxFIgZ43Qn@qNR)|9^6CaS2_&@{;t*CU3_v@4yS|5L?PFv1`U>pE*=7kC&d_rCV6-=6n2Yn2Axou zxFEIXmlBb|OX&|>BP9|b#1yeT|KYKz z*37O<)0BK6huI=O zc$rRkWUl{WDgEj}clFC%x*c5%*017jIqjNdR`|k-k+0;OrLISz#~~HHGX-mT=T>tw z9&z9aJR<0+bMc69piiLdo-Hf1xer9GdA&emQ^TVLQvClJl$r~N%hcfp{;U@FDyExwRA&Jx6b-2n@($lNon{PXf|i8_`2-@$BtQ( zEVw||R%)o2-Ap*Ye3p*a=0m;>T%5{(Z%j#=vUuB$$vltW%+XZW-L|4gI85d*=MF=K zDF+rV-=nRu`z4D2pQekXQ@_KL9_Le6zBOo-aH|Mu^iK8li`H1!A7Pq%n8Pe4@Oo_J z+pE{(8+pSb4s1H{WK(jb_qWX#rv055c|oc8?aj*#Q`VSVJK&`esi`yTtl90TF5c}% zCvC+J_nTz)2l#*1?mM8{@>^pQTkGNXir<%=?&q1Wlzn;a6SE8J9eXbQ5B^}`yRL{c z>}Stm4{j%J(S(o)|E>dx-WN~n?VtYRaHu1*?5P{7uQ|3w9AvTZ;#|aYKKJTQes8AL zhZ8f`-F!B?@LXj2A(73mU8Ne&F=fcM#+^K6sA$dMr8YHZ*30E{ORTb1%-4D4t-JHi zr3|C~eMPU=vpQ)m@7R>HIj3D?(+b6DXTGgk)UEZ%Y?~9K&CA@)5B*MRZm>Yv+EuJ$J26d7Aa+sZkeCPk9^tP`4@b&STC;YY#lVe)+A+ zT%rGQ=XX9+KK#OOPDfFm`N=1__ZGj{{eIu3r}E$L{b5=>!|wOAo9Q?IetVez)tP02 zL&LSJAJ51C|NHZJr0~wP6xD^C6S7mduJ_FmU82aD>FFsnX`jfScg@b0W*s4hiaP1GCsGFiP>6)g9o15X}g&G_hOq=+QK5*gs ze`mv--=DlZJPvlvt5N5A(HQJy@<8~{mQE4bo8m=16}}G)vV@l;_$wUs+%V6DA#s6n zcjl(1i>fClEtdWI!aaP;(OoryMpjKcoRiJ*Hd-G62C1u4yxu%I3tzAiXvabgThiUY1Ixv6z zne3TRuSKG)otLnN?I#orMb^FC_LDKy>(`l8)!xEtDqs?$A|hYC0jobyTg}QpD6phc|0OsJQ04se7K9>Wlq%7e6|uWMU*lNGeqi%2d|9^SHeVxU0XH? z?x;utCsDo zQcBO~ED|uD-xfC4+oR>E&@Pwe>nD24zAXOUzTpYyG#`z#i)##h<9)YJS!NHpHSstMn|u5a`;)>WCg z*_-X5?p_&(6X!VGO}uh8%fEOdX&ZgYeATuj?$rlV;>~j0Zs)KcjB%1`o)nnfcIMtb zsn-iH{L-|X8LAY$=iTxT6Yl9QE1%_Tv|3ek*8OdAhxtX{iaM1~U&lQC($;%TEj&9? z_Z%$yaaeJm_>D$Yw>MAM?|4+<@GWoFS>A5j4f8?;q!&H7Ail{U^{A_r^RG$~x22w3qD3MV8(zmW z@pLU`w+vZzj#*}FAdCH`wH%t~jPF*QRqt zT7fK=h?3N-AJK`orYu-d_EcZ~#!JzaF(wNaCpT|ccE~$Z()M2A+j^U&?^wUem`gS; z=j$?J^8a{=cbhDef9jlDIh-pC`edI)lo>{#Y`9gY)Z8XOr^Y+5Xbp zU6eG(Nk>`bJo{ypMG*^?#IkbIvX^T;nq|`znD*}FF@p@9GAhsAME^o}@)==rG{>GiGfU%E+O za6A996RhTUvX^lcK6T3#-r+2yyV3X8Ql&lawHAd}WH@UMtxsCzS?lmo*gdz>>f*JK zk1;vAZyuzJzTD8+vgYBh4Pv>5>leK~eZ)t6y~;bb4EH8AiB`9aBA4bZJ@0!8-;t8ZLbDZuVh1 z)&l7PN=>t#G2hcua@@8+dDbM`o(Vxo{IA~RD{-s3y~*%i)?L)MT6J4X^raxF$`xnc zZQyJ7*LxYn#JBFvfk*tIMfyK4mHdwi;_-VW$h%R&wa@6!MR|2*LtbG8$;pDu#RA)p z&sx-~`0%mSt`BQgwe$KU2Y4u2UQ$W?q8cm3w&L94S94A$&S-wl<(0U|Nq0#DZ^vWB zN32R3Dm$7E|M560BHAfhX)Ib@TpMZ8slpfb4KJ)X;vJaNc8zpw1 zF@5Ie{=`pXW}(J=KK6wlB~63W1XLLhCe3-!HESJ{=8YDSHO>ktP2Vo5FkW|Ac`Sja z&3R`7v#O2$+-J&jFSS_k9JM;}%(vzd`|PH+SH5>@&K+X7OKc1NUeC+8_SH>y(+8UNT5-Q158= zf5t!Q#Nn;?nk`H+cd;!qecG(eyTrDD)w1NWvbB*?z3`iovx@3hoEDmRxw|Zh5@IbE z)Z8dyRUfF{DD>$YpGISl#?cZtwnqx5u4rt&qVe_2oh0A(TWgQrIqSQ({qD08-`8h- zkDhh7Ipx};OAnr1^8a~O?_+=$=hguC6g$SrK050JvYP|dJ9`vF_nG+xYJM%NVRy0Y zHIi8_uwBLIY^r&&aft24YdV>tfouKzO>3MCJxh(3*L)6b{A?Z?*ty2li05lq;Z%cZ zm%a9WUhkyg>mQI&(J9%#!ks6{n%!H2{q_52@519RWuKV1^?w1!hd*s?*L0VQuzFtY z@qg-j&ncBh__*KuGf4*uzsz%5z2xJS3xQs39;R&_8s}8Jo*0I|+#2`(k=*CPz?JI* zKYzTz_adIRBj}{ZH);ViGHkHho_#ib|$wzVKA=^)B$1er^`NZtYmGwnr z)BJ=*!JW>^?>-yrPt)u=K6BY(Rg=P9J*W+=8X6X+f$(3J? za<7MJ}u*umJ(M#)9!oB z8dj{|HWjU0@*p^b`@7wH|2s>q?xol*dudg*C|2+30z2=~2iM78ISOV=#4}!1n#mTnmq=Tk?1&@Uf~lT=0!s z=XlB0BFQP4bBXOemD&x9ohE28E_?0Y;=g>Cfq6o?`^r;6>zI$7@LctvS?kwp<>uhD z)^O3%$pyXQ>E&O&rfv^!7qfEDa67Xk;%Vx;icHn4OI4j_k&PcMk53HDNwN;{Sjm#g z_y3qte6Yf;{<$nkj$*7+mNbYmWF|3uu==!EbVAY`fmWpl7h2b_&o(*q{X%94LqO8I z@7&i_(gY)-MUQ6oZEwu~D(C&h=vS$M`i>^;w@s$!mhzMp8J?BjzC6aIx6CGVvR&Yn z|7I_FDz6l?dz!oD|E*Zp61%oXYDwa!DJ{Z3+9sB)(m32$8R4~hOXYmAj`9h&_ngTJ z`H`{xa^}<>nZX~#Ej6y4+UUD(1(OzHic z-nh(i`t|h2itII;dp12%P-rMGY3b+TmM}NH*;Y8Ub)wIliZj<1&u{QkoAy%0g2_C9 z&GzxKwii4_|F0Y?JXY9tp;-4n%Z_E0Dn2?&0ZtQFOWHE`t9>y!@UP?l1O~<4MLA6V z(QS)_x|j4k{+hXiYwAl&)&CN|-AXFVO5~sJn9sja!QSFq+_wb&FhfOWkf;OCMdK--(m>+cf{exiw+$rTPewpTuxgVE?6B}wf)DE zRT(;r!aVB#T$m#mzeqjRiYW=0q4nZ{s*a^mz3UaNr^~Xr6`tBgtPkN()e=a(JHaW@ z&HKxw$MY_6b}1N?X)?Y1|LQZx?Cxj_eWn$iqWhAM80747IC}5Hk))>V9Jw@`hab3) zztlMz*nQWB;Y-m9!)kv0#rJva7Rl{p2by?Pc*7MAM4J70 z&v8q^uz9KMqSfD20mk=G^%mZpRjBs=j!(!6=G_;k>iuH36r*su1r=qb94(H>-cXipc0_t9)ub zYmWGtd(1jlgw=%~xhF_+WvMX#nZ3ICN2a-H(WQXY*+xZdZxTgz-g$P|OX}#%lBR=~ z4SZa-1>1)0GS*|vlWNo16u|fAz%w?r|JxK8#olz^6#6i&{ZMp@>b+wt{=ZswQKW@nVv&0|Qy~d!^bw@Aa;Au&NOPx#K&i%HyOU~AnXb6j`#`d?Zn z=D)vmK89t!|F!Rj&R_j=<+#FyM%xSacXjnC>G*T=z0&2AbGl>HPgJX&O^vyK2;`YzrjOE_Djce2YsqfvPapUVE+pxR3 zVU7%83$L0^=8b67D~i2bdRPBO>`8Z9{TmAR8}FX<{d+(B;f3ciWoKj`JxqG|{LrK4 zhi+*8)1BwPgh@_k-Ccb%J3X;8cYXg||Mlt&>w+Eba(X>~b>rp*{gJuxGnU~-g2*r1 z)An`gzZbdQxO?V)mR-}li*FyD2;6%z`tF0{2d*5hxuNmy!f~7D@o`VN=`roS zXgF8j&hE+QB)jGRo*e!6W|FPmEoHrJw)dOoGPcLQJ(zUs?!WuzZQckbKbNn4^grnC zQ^&fK+WX#Lo%imm?FZI`Tg=I#4D;`OZ~E|`>B{CBmxv&ir1Uqc|1V1H-}AWX+|dNy zOM4!q?>&>h@1(KZd;5Aj@0Q!5$!AW+`rdhTVrQ(rUH!egc6t`^Cu-*frOm%|FzL=) zrQ7%aoyq@qq4EAnUD=3Jb)S0c*B`q3=5dmUi2dV-hdvy1ddFPh_b-JiMt?-cLX3AF2{MY!PdU7I*vzW-?0#)}wrh;ilIwz<5%t@{hlF<}N@taULM z{<>Ifo^-yIPEE*_1BL?bhGGpn9ys(&&~*A&JvIH(dJ{$avXdK(!_InbeURf-Hbvr) z@vF@cfQY57WcK1&c}=V+G;GNWSavQy*+C=IVxVb zGA(uQjCk$`k|7H(_OILfcx%Vrg%?+_I{)JB{b}O9nkTTC_h#+KUw8lf{{5dnp@E5S z#_SAUQ+EY#B^8a?jT_&J|CcW1@$*P*6^rXgY?I1+AtF7c@z??lzPMERcC~pONnKj& zP9$~f?c+%9F*@gw+-r8PBe~D&-HGIWyMG)h6P)-wQzp8}b*4=6(mRemeRf=#OD6ewWiFi-*Oj?!R^F-1<@4&evQ{kW z^U7MeY+hH^s#WVwWvyPfk1Ko4rgL7|Yq#Ayr7F4O-Kp&L`~Gp|Y&gVs`$_u|x$c}z z3~maoo6gzYPGY&>=bgLtT3mPTwp&@Vz8>6muZ}x!$D?HuM|V7%cRO_Fi*={-cE8)l zoxkVPIq&?v-|lti@B8)cbpHN-|F{bdF!B2o9AuO4DLBNXf2QCtpFL0E5g~t{!lPpG zJ%z`l^3N0=m#gO~I-%6>Q*=^oeoxUUt@US$PV4RGDL!L#-lzDi+5Mj4b5`%q6rZ>I z&r@>2iQl*6qMLkg$t5rSvn7}P?0HMC1o``xUJZ-yExi_%f41~`Ts?2ujii3xvYTo1 zd&_QRtv_3KJ8!@5)-46+ear8b-S0II=P21(ey?se*Ma+)tbPIvwcLFbkGk~FRXpzd zKI_2a1bMxkR|Gf&Dxc2Emot8PkBtR!=Y#+Q1H%iFP6F=faB%Q!RCiw$b8^#ClshN% zd}anMKf|I{i*)Bil+cTy2_9@rmKI-EUR@orISX{>#NjCplY2hyDxA`?BIWX`*wfqA z-rmkWS;I#mRp(Co>@6ye3g6e=-`~K@E$6cXdJ?eD#(c+}eX_>$e0FYndU}Q>(}^=E zCjqa(xN~AhG4!@`0dr{)zCAlWK0YxSeiCr~osbC?VOuV3&c6RH&_c863TN1VU5j~1 zQzqWnxjO#*zP-P{e-Pi^s9E{sXJgsp*Z1>n{vP_}wQwnGJ&V|ixgxBJ9&YhJ&zdMW zKEJCTz``$;@vwC(qs4@JCIt(TcBYUB#Ws~`6;WQ-WL@S2t8IJnsGBX5L&-&IS;oa4 zX3Mt4P7@Elc-+4*^7+DE6;&0*iE?T!$^H&zFPDT1379Ck2Zo7=b_DY7P-K!Bn!a=&oA#RxN5rziJA2a^v)6AnUvSfYyX8t) zc5dV8xYcjBaWbBMyZu3%_PZTVre*6bf4*$>yIq^|v>FyO1)O@f=gXn*uj=ky^PaK$ z*RiYb_aA=7{ow$Mc#c7;01u06&3Cys9}WvB-`=oS5OfkS_rc$KYq*o==>bR`$0muAfz0@Z;b_ z`?;3YZC2It^SYfwOiwS=cCC8JnLBUpi9KbCxmI`jyPQI&Co) zwZ_dtE7VIY*9W91GJLodcy7{X!}oDEL8_h>N59<2X8r4tnI6CV)9aUf!Qb!MbJqPd zNSk-$5>|!z|DI8$g@N&u*mZrJKZPQeYs-}eeDYB1# z=%>iPrHdtEyM1)8u7%~!gea*Ot9e9NQZ1wt+*Cvy?-nqccU^Lr_NR2>_SO#7VSy%RI`cEeP99;SW8Y0K8sGlR8MWlc1QRZ{hF2FAyk~?=QmQ)IcX-!% z;ZPygX;WKzMI9wyb1Y@%gt;Sy&GBjnu4*N25+ z*G-mrl^s3#%Z1e_Y?oNshZU{YcY6DCSgL2rEdB34|I1`Q+lleUM{f%F+O2lt{T#r= z=Hl0SLeS&Z5?`ahqA4YPZqwFC3YOi`&}^R2sJJ^jbt(cFtzc0YTkpk(Ud#nc|yzVM5}`cI1kmKd<=6*Th1XdF(KueRNPqI0$2$_Kja zMV1RRytpQdI;6PYW@Y^Gbu!b;)%j8?6YBL^)+fikKeX|^L$)5ci*p&K+_B2bMJ|%T-o`~ z#X>Rhei`GgI1YW$m?vQ`!+e}ME*w(xXj~9j;UQe%#3Z?-KrZ6Zrocl_3hOL|?n`n% zIC_8S2FE1^Twy&;KHpdJH=J;g)vR$>D4Xcbq+-y;crb`5apr~CMxoX~js^dcD91L2mzR^h9?4kot`Hv%kO3W4PMvoo&mmJ&rw>P5MX~Gnvtdnkm^TbqoS7~#r zaLMxuO0t=7?e1yf$-Bq0qLU+wvE$dNMQW}Mu12j7jzuWMEMO|1e@1|%cj09wiPP>U z9k^7|e(hVF@Lp`+p6te&TQ}zY%c#pc+qSsxV8DWVU#I8qed*);NnyzYBbR5z6MR|1 z8A1gP^!VT4)Rb-!S>x*$B(HQJV5hX6XqI!r!6RHvJAO|7zHXaX+1`B3oLg7EUUOQ{ zYLH?Ub6fTH*L4{yKRhzpQ=#~^&uQEHvs^4ce;;8gFpiq_*RyZ>&r^B(K9!%^(;8^+ z@j&YThmCvx+ZJiY*toEr{~`9yHl)=jm3ys($1+Q8Nxf|Ai|Detn1pvFlBchS=QE=gf?uemJH&wbUyzvS{Nww-4@7dF<;cYmVg^Vav6O5(ks zhHFe3znnT`l~nFj@pxW1q~Vcsmn+wcDMj4l`jl#O*4l8jS)iwhVcX{` zs$4Q+C*~bL^qb{Fw@=$8;kUC-2_DTg-{Y^hMe@|%38~qPzEv+LIet>E)wQvHJX7uR zlr`rAp3hHp+VcL={{}gew&&6Rr!uXmD7h;;_3-MyCz{OV4jz2X+Qxn0;c0b`Uf~1v zk8|?>q%Dr>I^>xeCb0gJZJ4Rhx@VkwzGfXt&HGp!!gW!>A}D>ji`GJ;;<&GZa|FtH zH5d$!MKc9N-ZoSaVhZ)Y9NGI#?7-F7Ppt6*9s*l03x`f+=ui?o^wGyfRe&u-)NF^L zkfV22TVdB`yF-DF@4hze+gcMR(7e@DwCG{U_ClfAp^4#v!SX2r>8aW~w|K_=sIyaK zTyT^#HGoSuF1cl^u$OL&v)HVqmNmmrQ)aqOj z9=o;4>7huV5o@pmYxfQoVX08tvj8oM=&MXq_z&Q15+0yF*(>Qdk z9vg2=SCn2662C%pWrye_!!F5(Vb!JW2NaWDeaZ7|Y+6*Tw?U#YX`AO-58+)Jg42UN z985br+1ofDgfUJisXkI)Eg`KIW)}L`E$KzkZ&iUCGkWjLP`PIzaDPSb1B<>#5q)<( z`krU>70k$Bx~hM;LwIYmEawaD=obQ4zdIdJXZX3I_E$&$_2d1~ANqgX=>P38fh}?Z z$I5;t&KmBO{V@|J{H*Y^6%CwzwE4sf!Ot9RI}JsBnp$TC3jZwX+T3Ivq{1k>EVbi{ zx^7~lp%UXP20_0@mIa4H#lLxq?huIjZ&0T^X>z8JiIp0|itpBv6B+C}gmO9<>?@*G z8GS{jHrqvbt$aEqP}0YxGrE8Bl!%$l>J#%=8_OLuRrNJhJwnW-iq+dbDMVioFPSL# zU8v{i#qKPYQkElers)lyqkh?LKitZzjW{A1aGp zdGyV86%Rd8D)i7TFC$iJr?JiQx%>+?-Z(F7`O(JrYiZUhy|Ar$tjspInOQQK#a1qj zJNiZ9e2A*eM<4qN{bJKu^G#+|pPCu4V!@$KfkmCmdln_+{(mW;X(i-+N~&SYlyybR zb%SG7S54ZwW#!eKbFbW7%2c>WSa^!WLd7MkM3yg=S^jy&%SATpq%2)q)Xk$}JUpYf zSgnq$Se(_qdb8DnU0qT8Z}o+p5a3i0 zY3f-LCoMaePt3g|*`jGFyxdFYy@X!H7S8j>QeR3czjcfV?8?TV$*M_0ZOQnsBE(>GCNS=96`FP2>C+{m+$Q)%kTDU~8?{X~Jxuw+7Ri-k{?r2d)-#SRgwGs>ci9G4ziQnA&A zYi&YVj~JtlPy`2)NW7Vx=Wi=FHA#_0;$H57AD*O2ueR{g-jdz5(Db)bpV2zejRqf< zu;whtdU35{@qxlyH@ND*1#${(f4iXf{zBF@2a;z$$!{=XyD~BNzToy-5|u$0xR}GU zSkwgqyanvsxda`!8jq!Woo4&0#ws&CcmC@BxyQL8T-4&t6xMnR>IAL3yjVl{@kG~! zcE3)rg-)vr729!;d(W}xJx93rd@b8^YWAKZtJBZz-gEAD&YA8#SF-mqE!cBYddKbR zy~m{s*#AchED6YOu~zuJi}kRZ=9&Z5i#L>5U*8qDa4YAc!t$A0` zN{&T4mlVjwvu#!1$hsyV|5q2wEBAs8yOZw+7I{wCud}FVR+zv~ZGk1(2j?E2R{C0U zqOj_U?p?VDxDu=dj@!F0-7&Iy#3BtTy1D z#t`^HVeRzXMbq}OD6)P%R+;Ru>qVQw-0!K;3|6x@?7HkOn-;j!@XOTiAJuXd4wN|_ zne#lmx%*(sp;XJ`+021EFS}Ph{}!k=v)IBs<@@b}CV`IrD(dFdB7SRj<}TP;cZbX3 z&GFhZ$Lr2iw$z+3);ZDj-{(ZH^@+}&6MZr#yZ@Y+qH}UW&d$j#C7uc{KH}SKFIooP ziJE^zY3r^2zZL1XIusZx63RsxJ&iQqviAiF9X+~r+S=0mt zY0lh-8;hl?1$RVS2~~^sXdg1)bJ$?bVKtqz`aEYfbQqN9oVD0<_ST)V7CmQ;&zybq z=1lGEv-cMoK4)B2oG5ayN#rJZnfEaW-hyxX}O&> zUE5==gXglzGordCw>xv!f0!fl)$P#D==`?-n;7%V&RU!;JZe)UHQ|WXpR;qe@0#hB z^ZNAO*`E&WHaquF=E|{efzkr!_|IlPnR9|SaGq4;nX_EGC9Sq!4YhWuUXDk^FvvL-Kj-jepPg4`A8A<581HtNXHTZt-rGn2mu1)T+)#hBYnS;Q zwVM5mo!PtG4~2(S?4P|?+NR|YPnu@h8Hqg=tE6|VO3U9ab9>>bY$1n3K5wRe{JVYO z?^8{4b7vgmV&tnxQA%I%JGIF=r7At^|FzqK3cGh5pQ92Jd*5)UR^qkYjn`Nv9Zv}~ z4Q)R1<z0Xcty$g)Bk8S=vwzfOr zFjt-XlImA8$9cCE>$Hon{mkL}_b^$ppenGCCw2eY3FjnYj{JO`|L(h!=kCndb6kNF z_V2kJmJ z7Xfo$TnR*}LyWtqz0iVY^kKS+f+5&lZsj>~YaCO3`#zo21P! z|6X=!qr$h&nAPh&5*-pg^|KjCrj{1=~-FXQGO)v8_i zYm>vnCyuwblxDr*yS>#t)o({wsUcGq=LDgzjwVvsX{67qn|)xh^7nglmTN3g*jzq! z4u_7*&)vVc3gY*c{XZL4`8_uE%6tX}M>lV6%@i|EhZz%kMHrWCo8UA<;h{^H=tPAT zSWW^Cdg?VzH+Emk&WWP4XPVx=am4fUGCxME$hT)ACqKKez%HN3_Ls1Fz#^Zizgo0J z9=UZ2v1VkQn9$q6!Nj99<-mn(e@4zN8*ZgsU9A=tw{(N#)U9h6bQd4v*m2scE3Rva z$^Fy0ux%Xtc0nGAC)TMP>+oKqyG_EmTi0x7 zK!fi#uQvxblq~jU;Bi0XVRJL@h@rb|`IC+A@}ZX#rYvi6>he%t$d#wo(O0wTq|)N5 zOP*>sElw}UP{ z&%|v#CnOHr+x>mB`H;hZ5s?6AZr3mW{W;m+1|QNrQDG9~p*}U_lAZkCFXz29pKkGI zeDe5&Tj0*7ejlCZOr{GpgfxjfZ#ACJ&3v*;Yw3u217>%UHm>N_E_`c%yGU0bj1mAGZJ z@SsUmxT?kC86SOmT}*sqYQI0-9$){T)zkkrhquQ47B(@4#8&>a9oyRYuL;Mruv|0d zY7FJg3~gC7AvAePgdxvbNpnGeUrm(@N=@#9my!;3T6lleIs9d|1|#SD*#&NG0?fra zj4qR%oCKA70=qa2CQn?z!q;-~;#ajx=dDCVrFs5uUT{)l#oFlt6GRs>GqQnhJAbx4 zw#DRyM%*UHB;`&Pg{V)fJ8w-A*wnZyX0`6>MG4AX+f66r=!khH3gmtDNM5mNTU2F^ z(V1ftKJ3~k#m&Fz@U2BfhPuTNT}lxm&X>~iKqvs>hx=bgtC zo^C#&G$X5fhrlkLwQa`^_^glq9cE~FDBO3E_M`RM`Jp@N=jj+<*%!ALbldp?FO{_2 zoje86D>rw=KT5LL=)t1bW;y3xl$!F{1>E{|k%A}Lo`{_@c=2CB{tY*aw#v@=p1J1D z8)N<@m`yyfw!J!PN6_7WOk zB!;f!5_NrYSyW@*OUG@SyY?O`S<2k`GJ8wZt@UP~Oj%qQIBc8yXQ?FZnx}d|D=$UV z%GoQr78C{*eDdWVv+#{}$TCq-BZkVh4!|Y4RneCvyeV4BHjYD057fba^*lH(%iemowY6R^M2soqWM1 z{7CWAs63X`?lr11AKRCzbf_9_whB92vQ+G{$^kddgbst#LT5X37KRA@zwktT>rUT1 ztJSe9FC{Z-COJeloy{#d$aQJelGcMN4_!C}Wu17!mh%2^<;u0_u#ODdd^jMb>5U^t z(w{Z~-wBM`txs;o@7i>zDfeLAb5D*lCV@)dI0TEDCpt{kXji;T1EOQwfwm2&W} z6-(ShRQvj7w(L?#X$-0sN%FC<+wkD&Qlli+whKa=KAu!Bzwp-7ivtL z*jB5o;u`JtP~hBzq?(tJITdCb!*@xjEsnN~`M5-3B5z=U*4l;zizm(#RWo2P05}|ST+YHFNjK#$zF9sR4Zbi_^}V!L9-uDIPuMN+nEkM z&7^I&syJ2NYDp&eHlH*w`!wf_ae$jjkz1ybkhijsa=3w#&#s~y$5%8qsIyPwobs=k=bdrNvFPaRs)*=v(#^n3l*J2_WF za!jVq>-%A~;Y`PIH^uoY%9b>(do9Vha0Cuf{qk{B6xEbZoz4~lP9 zjhV8w38s@AzCz8#$Mha|tV?6%>b+2!D+GU1|++NuehayI9GYrIiZ z)AL-QWmCTUq$l(2(}w$ucC2-BH&RPkBm466+N-fqzBN;ncE^=_--^m!uVQ`YR;$8u z1r^4yIqc`It-QUP&6w-|a;0*eM>n(f{=Gcy8_zMT{NM{`>{u5@9hXu~TvoBilrO0K zJzqllKb2b<+6<`okWt?yG?UKcyqm($jsMRQJ8Zmx0eSZmS!Pnz4S+3d8`p3jR9 zaP{b4Hkf@NQ@CkD6YDL}Fo}*|9V?G^FeP3#e|=$A=j4e;BWCW+>OQ?-`pSkC>sIjZ z(4KMkh22WYj^#~epKmceYg(?6(82wadw#Rb>t9p%pWYbZWW`-_NL^<3U#`xp)ib{~ zn{-N;NnUi)GS+CAHH)8f{$uC)(I>?_3??4TP(OM|;7ixi|Fav_zGNEtYVhxjwApn* zE}^?Y?ALPN3H)D9?Kh~l(GWS}_(oAscw>m?me_@h61x_=_B3qWy@#b?%f@8;(v51W z!rMz0cbM;*YJQ5t>eZ|qr6YkVt{WKld+f6InzP$=)se!7R*P>NX-jbi#&EhG+M$+x zH0a9F*gxVQE2cBMbnK4U64K~wo;^Wl_7VS1d0hrk-Cs&Pkt?2FT=Y15V}y;oxfj#( zjVkH43>jZoZ~d{q?|_TJ!o{jjjuyKdm%Shrk@}9BGRqN_zcgxK=YAyUDb@S7QIfE2q}- zbfzuYH2u#0wV$}7K08EZ&pdu$!m%B;>n}_=xI^@>LC_(21g-KXUPO zPT94<`q3r)^O4_gTyoZQaJ;bY zHaLEg`#hs+z?Bob&ph5#o@jqITI}VSNj0A0vln$dHR@!(%M{tTqPJmQ{gaMpmjHg< z3j(qM5vTU&%?|jWu}0VO#Q)g}9}6ewU1^GH5V$0w+q{ysFN#N3g4tqc|Aq+@%Rfz+ z^Llxew`f5R$8%4HWlH+GD*X>61%K}FSr@FbzS3H7>!sr<)8tqjjTsLLC3XBr?7uy` z>-in`rBCMUzR|75ZSh~^pmbgIfq4-VFLw0^H_Avisjingb-H1J?4ENw1bWWi^f?!B zV)B=*B6}`5yN2wX%n@nG)8TONPB8yT4w;_~+{=)#0w3TB@i&#->f`dq!*g*8m)DDTl< z+@h5ygEyOa7pn&)Gz$v)eU@_Ilu)euyq(!*4v(t5^dX+AGd%lV1fBC}Xu5UbxPVUD zU&)%9nJL2D7p(-17DzvxJ?quVQwdA2pI})MaE0SH({kp=9fxlVMX@MfKCGQFYeMQr zFO`f7)ibZVmQG*^Q2w7|lrFUAZ^OL*nv1&xR)+_DxyocKuDaVP=%B<|;i+(KC$UkvG`OO!LD6GkKQ=fPf~CHCCT$M+HzM^$&pCq z&okDf_L@62ZH}1qP-@j>z`G~LYxbmBS_cLEn>lu|tZ8@@(A5%hZsS>D&r|-v zX63^3cm3!-7JTZd>AhdJ?rA609hb^?vmT5&yKeFpuAe6qYnA0M&6M6@>HFG3=BtFB zv56wJ?VIZ-NBU>J^}l?Zqs52m7te<9H5}_(mXuT)_OCuuepxk&acXw<G!rLg=w?n?>O!z%gLh0y@Z6DSKgdj`^Y#e(Lzu6{v9W)mx*p$ z?$+Gp`0zrrU-Dk>4sKn8sRHXbcp4`!zPqO>QLO)BpllpxfXv>tK2P2+c~p`8bkd9H za$UWORVJ#n6BuI-T-?=X*unHrU@gzfZrQK==bNvn{+wB|({9a6{soH`%-Z6lndU!WYT>FyNs^zok+;c}io4ut%lA^(kI&J#z)GR|$YYUGwT1C-0eO9x8o`tEWI_;h)Pq!Y_GV zcCQfExz?h+@Z5u*Upp3_+o8zkHMvJD>vETt+q}u2vr@{ETplm%mP|ax?7V4;a?IhX z$nu*Jmn)`QNoSTBaqseAm^qt!P4SAE-jn|<*sLMI&y~s>*s^QkHq$M_&+{f7vZ$0* zYZlh_dbDV(>yIUVDKpPSy>#K;b#7|xg&7PNeTrTm`DSS9)R`D_e$ys>>6_tQFO)9- zUbL_5XiG-&j}1|sY!|v^?`>P>a6T;OQ1dxi;-f(u`F*Q@801+vLO3Zbs?6 zy}eCX%cZwqkKq5bsV{fm5b(&q`FeVUyOuHsv(Gl`$EWvQ?QP6x)(<`Ea3tr-F(J!!=RLIEgoK>CvF+WjwBGqk z^J;I-dALwM?CI$xlP3D8O`LH$v7aL@>|prx3rbs0ob&f-FcahKIS_tp+j}nY>2J$; zm(0}Y&yuw0-ez=hbENf6LHWm5rscl=VpyPWC}nwx@3ZTELF0DbhuV7&N*vh2(i6!jbAQT}EqgR| zJ_-x{6yOfa+9jdLWM(S1C?!FKmDj-Y=&IHWU1yIT$Se1q(`dZzD3c&-V$X$DcV4c_ zb^BgAP2kJxXB~^KO-n;mgkDPJDw|D*?B-uyf*g!5xK19j#duuzpqy@ z6kpw0p?7HF-AKWX^;vgC48<4j?AjgC(W*Bd9VMk#8!mbCwl07d)L$*G8bhzb#+?q&5 z>B9aMT{7<+B_%&Te0b`#ndZLr7kZL@?Tg;8aAeMA<3~4ti2Pi=f5Yx`*&5rY>(%6I zzyE00pLfIUjh9fa#_?ZU%wr~h$eEPhsrz$Q@ym@;%$%GY4|+EI)>`YYK5w^Tdd{(9 zLV;(d+A9n1kgwkQztlaS_h>z*RN3#j|06|@JYHEC#b#=yxolZfVfCKnF%wT5e&*NF z^vUmtdhN}EBIc<^(vt+EqQ5?fcJw)SN9@;xhFOccB;>R1pEmrl|No&yHJ@imExD<( zWM227AN-%EK0J9)a@yrt-x}nb;mW zH8FC($mB0qRKicMxU=ToCDqBF)pMG?CK}5on{^i7j%@B{>YB*=XnCvo)~-cIbHZ;# z9ox{QJ7pou<}&X0|K9ww{qy6~^ULe==cnHKv0gRePG?M!*LuS#^WE1Anl5m=7C6O$ zi92;lOVb(CEisN|sawQde|}w_7`B+RLf%cF!9uB1bykH^m*y=IMOQJs9TS_Ro{6`X zdboaw>SZZ=lGr5v@kC}}bD7<^(4WDn;K*cOwM4C7;+DrVx9Aqngz4gG%haY+zS^lizm`iuY5q0KwrJ-F zPKOIF+j1u^jbh8a5s(pWXBs6EBe>+jQV~ye#@5riRTrXpPI_Jx^YXmN7Utl&pj9lW z;M9aEJZD2i9DA}HA4EmVv`<~wbLolthJ#$zIvXcH%nZ(8R{OZPIM?%FTmFt#h-YP*m0U^kQQXd|&E^>>R3_MnP{I!=s|Fmrhw}d$#q0Sf=IF1A7h3o?Hod zZs^igI;(~2Veo&px!;Wf*WP$7v(VJMBz5aG#g@F#bCR#7pAJ1`I`NFX__SC_hSP5A zCW=}AHMtUKUm26SFU`eE`}IV_sg7=eCR_!P(X_SJ(g8#Wy+4XVwyn}v4R)7OHW@=YZcCsko4j>a8e|A%fc%cznjik zcx7(&Kg$<$S61mx2vHBrjanIeYGSj;Rm-a`$t>69-f}ah&Yi+_>)f~Q*j=XtuEw}M zd{B72Y)j>fliK@jKFhM&2XAssYjJ72CfgmdrtDXSuE!wIZG-3IE-l7f7HC1snb!8I|+a9$F&r0x*JG^3_$uiv?R(@Mq1Z-@c zc9-ZTaR_}f?&4^9Qz*GJ$p1$9W|lZ9i1jVrE%+G z^)$;q`Rg2_K~vj1+iX;n5}6K7)A?j{eCH*HRbQs9x^Ogk5!a)WdBM{P1eZi!tK!+t z^LfI-C#>Ewm2wTa7xiYGd9t@+)71alQuMSpbxZboFwS}Zhc!EjStx?1sXPV~5Dt{}QhcXooaOzLHU9HXOF4+3YDbtt*sm0>A-bJBOA z+ed*}C%qzh5}Vab1mxCz;Wk=z>t_6<&0EUFRLwauJFadiKhr3*Wr1&z_-dZ3o`O;n z6qI-tHBXte^18v7fY@D^R(Y5n>M^(yUiNbZ!yBa)I;ooK2a8vfY;jPL?^`iZDsY)& z>(MhaE```6|fn8QV5f#Oerd44+_8b9&X+&(NCW3WYmFYtfB0-mT>fiIau8ISZU8tm1I zvuED8=T&>i#v}#JMeZx41h*+_n%r-E(J|5Rf}loE?{wFk#|PdgvNSxt>D&9_(2YAE zo~7)LeigDXBz)hbZClO;3sl!NiM_tES|M&rm%REWSEC1dJxdgBZsGbo_p{0YOLs;d zO&z5vS)or`?##LxJL&S~LlOFuojN%#234yqlU1>9p54onoG!W{_fe?&rd64TPfH5E z-KzLhR6qT~O^4?mljnb|TF3bJ+KkIMCaloe-lXsOVe%rfQBcP<;Q-9N7@iKlIp-g@A| zn?Ky<`;1O6)Ht$(qvOL_TeCT8YEv4XUMbKzvZToI{B0Z8e1pT^F9wG3_X=)|>!^vB z;&D|eR%Ke4c}cwXqMM(^{$7o#Ri=__85mj?>ZYt$>~k|&lRVc&Lw|+6#ZiyBY89`y z9hzGE*Yee-1w0})3%|Mxvutf~`W+l;Y@O7T_buhsD!*g3{g*BL=7-sCn%){v)*g52 zKgY(~o|CS(=+`y;Jh_yAsrc(Rzg(xxJG0q!QBKBX={;Y{Ji}w!M78zXL{A!>5IOa7 z*22;3bcJr1CbDaT+xZes@5p;aNz-R?T1PIvDdyp} zitY3o9i=aMj$tp3zdsNY7VpRtE_7Rr|MPa;g_BIyzHQE$GI{SCa%Rfb}}W<)JJJ2C6y-;|P-4>gQ` z`Y*Uz>ym7~+vmTb{e?dt&TdfuEf^xk`iaqBV`uP7mFg_v%{ygX9C`92oip@S9TSu^ zk5yjYb2H#~_Xej$FT3~9W(#m-gt zi>=tj^Np>wbH4X($?W|g{pa-Ytg)9DCf=pW6Nz^C$8`;Ry^SvGw;L#d7d~$F{@5h&7N%zeZq%Y z&uE+x?sZ&{J30Cd&*}?34tLJp6OF6BkdXfM^vWkP?=&5lTv%3ZaI}^<^}Y4}*Uac& zx(Q-@N{ZLqudcn3G>6Y=jik$p88f%CYR}=jT_C4FlXvF~-#rd~T|awUKTNoPQbOEq zZv2UPk0jb2AL!&M>txbOh;HrNv!O%#Qs3_z6BtAn>E3(fDbvo%BwC{3zCuUo@JXds zgEpST8v6wl*OV6BhVQ96N4CR<~~^^2`k`yWiTD`jQ*rY+cG7W)&$%UbZHjEYj@o;UCSH|Ln|ZF~$OR!kmkf702 zY3aWsi<7>2)^lD>K6Px?T=tTNr0qHGP7C7Gw)tepxU#(XFW8!L{9f;|FcG$vJ#GR^ zWnK5QT5LUIXL`+jMMCm9wJoU!+)lR4WN|ImX_}P)tjE z%|q3)4NM1GghVtswoW)Dw)5IaA8&sP^#dO+-Pz-+#TDqRq!JLoZ+&T5Wtw6V+ic6E z3H+U*uQ@z_X0}XO(En@g^T!!yO;|aD8<(@MO9*p2v3lEugs!&q;43`8 z$ecKmw=DWxB1)H-XQ?!ovAEe@$S`=;P?u5T;{QLjrF+VXpELSBKb?EO#cR_a zKh9Sz)ir@{b&jundPQE%@yi2|fY`|C6&j}D_um|ZN?OyOopoyvixSe*xDenWWp=AJwi1R z3-)+8>azI8%bnOJ(C7E<>6Q=Sb{h}AS>jXp@TP;+T(K)o{i?E)PI^9#^(m3)$y?#} z#`gHN8nt&9kKSW#@2%=(xiH6}=a}iw*=0{u*Yv$|?_gZ9Y_$*1(~0}qyK~O|kW>h| z@PB#Zru%L;juo=_PqR_}_2r6&&Evo)tj9t+?w)kL$KsQmqjZC#)jyMc@de+i2EqD< z7^OJQf)4Irj&uDpBdcz-o;h;iqDAt31M#d3#tljyDqGLwHTB-+VEubBzHQE{Sw<}h zD_5VLR7;2Yb2Ae;~sHmp}b)0Dj(GciRTVzD3>v~yo&6ij>j`0T5b87pN@wYJ4>(5`9WW{5bkbdqM(jg^<&4t|JO z$KcX`IqjWm#{W#WjE1UjQ?hSd+>^!Sc%xM;LiO>C7r$889M5RGMz(m!cFmbHVKoOw z(xP|OyVw@&I??OX68P-M43U+w1-Fm>oi&HGO~fYI<0HG{hNQ5W{6Q{`8;+(tj9b4a zcFs2~-S2LVD;KR?*|uJ!W&QW6_djOk-&^|r$GY{umgWDfTmNm*%1e4j*V;V%b}#?? zGyQ+>*8ltV{^>mq2L00?*$lpa3)vv}fkA!))9V*Z+6GMbPb{_iz{r0-^BxDY@CFw4 z53KCB*|H1RybIXtKQO=7ckN*KHt)mEOH;R52nc=WO zyK^aio|jpFHrV&R3N%_l|OKZs_3l$>lR>RiCLaU+YpGGqTosl^|~gf}uQ&v?$& zaJo{DYxQcQpX)EpdZiGbcdv2%>KXb<vm7`1a(o>0Q4`R(5b;LIu zC^1Y}!^+ZGz?`1T^7u;rr6PmVMMnIe)&6fZu5QUaB``~FBk%J9-s$vwFI93>N~$gc=T@m%;nr6(aGo>F4W>$U^$o3zx7N(iT*3D zP0RGYuA3;X%c8At)6@Fyei6QV9*p6!S+hPIecD$fl#u85E7f>$|3ivC7FyWaaR z*8j~{`detL%K0xJdfw0cU=qx2sA_E*a$jG=ek;@AO->3i%4xkzc|I8PMqE3vi6On0 zWkT;8i@UkH+?px5jwggePHYOv;g!riB)0Tj?}s}xS$de*W;{Ts{R~MTVZ+=+ep0S-P z{c{1&;rAl!8?)Ts38d=@eczBdy-a9zh=_k-Xxo+0FY_XWO;|s-i)WhppJ{dSD2%#% zeLsiatrd3z|8&38?MnX^B2%if>q?$~sBVHxtEe(t{t?~?oqX4B){2^=`&|~jb2XfQ zGS@|B&V`RI%4IV%pBRbv8wH(TlX~6!!;km=>Yo(XzgN;W3jDvF&Bo}r+b6~PqTgTF zt8s5?bT?J3E^4;lq0YRa+(&#*S?fY2H<1gjS@X-wC9}#Mk7VxpzIMUPIX~OxWNyDK z=~tfH>g{dllCooA)efyQu?*!T;^T#rK{$j|0G_% zasKfwGTBqB5rB0*3PyYo2d3X#c>b&7gPu)4Jjf2B&|qKmKL#-)f`vHfHx7-`I9=&fXB7 zx@%c;s)z$)Y;b|_`EN7ID|x$ra%b<(IK7Q`bHSfmy9Ba})W3gNy+40ubv4iIa{s%h zbo~E++<(Au&vL^OYxViT+hva% zWU4<;#m1NoOI*b=nwrEb0-JXo6W-duUh%8!&vM}krR`NA$`;GrzpnBxs!y&_n!hQK zh3EK|r!rGn)#B$|$buz`8^hGYX~eOnImzZd;K zT>dO@%Ds`JgYmHWAH~iShuwK*-t(B{}gey z6I;IViGP)JxSg!?e=BKkyIC=YH>R%_NonM;u)dbxa^(IapF;grr@yb*UbkZZzF%22 zDwAu1y-in3|2Q>Y|Cq8V+v|IAv)ffx?kEf>^!TgxkySeRb3lYjW<*W<8_c_bE=BB!>*BhW#+ zWpPxdq=uuHc2Lly2{&CP`Ap)FR`;vXEPm`W-L&x1mCEAfzVj_B+5X-XR=Y4=YEedK zQ^=_x#wZq-sa8|7LRW`xOuM>k>i_KU_3;PWM6IXgM6MJ#vn+J?wA|?Jaq(OoLXHkC zJH1sOT~$cUkMFGc|4wzKqxbzo4S&53td97QbiC`W(?02+>rzfnHN5S5YR3A<$9muH z<9S=8cl6Q(-}5%Lv(jI3%sL@+XNzj*G~Y$}kL1=`m*?NxpRe}8R_2HI!(+|D-`~#q z`F>B=Lj9{s&vHv&U*DL1ec#;b@--QI+rM)iRh^_!%4*`es-!ku_uX{0-t%^v55B*> ze*XIW`TPHz4P3-+!1eWyw!q4NFT4xvf0lKv)L>Vv2{^=|>BF>?L)l}&Azt;GfWwQ7 zo&>l|w>uNCMaa76r88&Pp9u$877FI?RDSSYEg!@4S)Z$zP{eH@%HCs z8e%+G61@bsoZsh~ymp5Jld6D1GLv*`g+ssSmKnC;uB=y|h&V6ZkkS=qH`8^x?GXXj znNjO357}LB)^cm9e0MXw<+aL>=j$(YtzMV3P~?(_$y7a~jjGc_jJ%dCUng~&VK&>F zK;zp_d%cYg>TTY+;pDSjZ|-bKi(-gs&%2$wtwpRVW9R)a?(@5qjdksvKQ1=bt0 za$o{)%!Q!ka-}Bw4qMBaTy~vWbu)BIV%~%+p{ie|d^!{Sc1rOX|Fr?dzJD(_z1ePU{Q>WKl6N|n*`Kr``I}yQW;|iyq&&+xD z{(tPc*Dn^j^H$w`aQ0r#o9X4(zu#Ia(Rl50wEq1+pSPc4s$Jb8YN55qGnnW3!RNvX zkM_#6`9EoM{I;X;|I6+B|9S8^>E4ccYLxE4qW7U;e)mmg&J_z8)KYU_Z+^fU>Tb^C z=jzW?aPne``qnK!{aWr9-@24B{ZLJ*c13t`BKO)QCPHSKrv8(7KChT6^~!d=QyI5AsJV7K^8(PgF*OdD6$wizuqo@8)CD+1R!aM98 z*LAo4zAwr6!~RgOVQ_oWV(Eu7Ryf(F^hK|DEc0K)-9~9upS*Cg4D0t}_H2G!?OIEM z_$(Ei^@Jw2P5JL1EXVG7P&H`6*Mt2pwIW=7^MXoCen$RoQ=Q6RWnl8+rr5_N)4W8L zxND9&Kh>Tud^&StLDrFM)gOK@wjAy_V(=q5>|Ir-b=W=j>DxmRxA$e9QB|8f^K{8F z?dhrwfgY)|=4^Rpy0KGM%k62xd*M{E_hPNBg@wI;ci(3@t$Dy?n&I5$%kqDJv>ms6 zA7xqg|nUTNbx%2axB0g!87m4nj zsJ^i&aQjy+&Lt+Q9Lrmlg(SW8*m>sG<)n6%G7DkAqqxZL)y{T%e{ zj#k)ODL1>Y(Ej%y)$K1rre$X8&h5OEF1232JM-xy8|IZOE(S$Si&gbW|Ft-t?een4 zqG`U)x3^sR6f$$o-#6KxRU>aUOg9a`kv3(&kOHY z#+2!W&&{5qZu^O4f1*yghVr-Pzc83ePn!*xK>fKU7W2Eu0xf zZI?Aa-?3hji_DEy`TEAc)n%pFGS4OV7pGoITlqh7!K*C>tZI`QeYK-5Ei3cjIrhFm zUgqKKyabUHiL9_yJL7osccd>^!zE%gq2;rOga4CBCqHtu7@i6Gy8B&^=*tTdk4yPh z`Iqd?cACq5um0K8;}yKxR;OQBtmm4!u4roZgo8f>z7)+k>1%fX^@Yie8XlHqOeY)? z&rN34{A|RnB6cn@ny$(2T)1}tuz^yc+PvTk3jO8z8 zPX8TboH&muWA0fmp5zC`jjRe?h9XkulH+Cv9G8(c>S^T7nz!tw$k_}J{;h|W%-FKz zzgL&9d(^o+vHMFrbwjxOtmrlKiCam&X@URGa9z*Y{dJAySvLRu zKQA9%X1b*KZkBt#gG%c{QOzBb64m`@-}+PazH(KO+=p>sa zZJx8QOWxE=56d*` zaeBx&eObt{<7{>8F%K^OBlP@Dhfj=aD5EJp8lS?}*GdT)9^Z+TDdPM+A?kvG!Bw*5%e4G3hu&0{&+$z#7HUD$%V)hlOMep*rf|M&eZx7Wz*)$+Xm_wQ|%e`{^*53dnu_&@#4!(&Y= z_T}rGTdx(?sI}$1)}MUsKYSacE@;nK&(OYJD=L=ibz#wL;+RjwIHj z3_n&e2^!{U*#taa(ZsNwY443^T+)T#L?&owe9-Dx&$r>x&o3KJ%6I1*kLBEH|w?B1ax9H>Rh;>UG$OrX^J?vn)q=g;na;1y&om^ zD}7jXi0|@hp@|r_hB8MBWlnCCIr~xO zqM_{7LfM-eW$%8JeP}56v{3HlM!B~iq@-G;q`65+_mh&LQ0Y1YWy?*o|Z#2?qEz;=Rq|y6Hqf{k%LXoE7 zB;{pE%u^aPmu^y4chC}Qh<}o=we=F`dLu271nq-HI!B9idOvFIo}_cpNO%3A=T|oA z-u1L~)%~orTt+y6i@7!!H_{?CXu(h+10t4c>E)xbuhV4v&j0_zA8CW@FJT@#i z*vuiU6?0<4!o%$X%3gCkHZD5aEn%E>=fuXv$NLqWvwRdbskl#43r0S!D_HH+EDKhJ zlP5PXKR@50nM>Boem7cTWQI`(rxGsZZ8jpKSu4O##wRpB7*($B?%d#?AR-M`zyn4g2|4~Y-H|_FV&9MF2 zs@Ll{+!(~yA7FdEK!`~|`^~gDQwr~_-!Eq!CB8;ed%~7;$F6Y}HHKQxl4Nqs4%p1u z*nM&JEjCX!7tbfJ1Y@4hdz!d&>%>bFc9`@A25Sokb_;}kn074J)hAIU-|PLfR+oc+ zKe+|%<~+VaeBFw_rvo;pna!E0&QxhAeN627w+$|@w90ZFh4@|8IjGFN^D#~N^tDf? zmir1yi?W>Db7A+FLv!vQw~B8sIPbu&`{lyUmq(2+dQ6{Pe34mp?w6Qvx5PeNUgSGh zXzE%^->=u^`a>J~1|KH3%N7rIV;v(V3yS^P&tf@a@0+rY3S z<6for^4Uk+5;dKtRK0N6y71y_?vr{9Z`p443BGgs_)hrl2KLn5@7XT)y>~vc{Akt{ zVc{n`JkPMlPky(nIb<(GuFC#dYL}c#Z9EnWv+Q!XFWjQPznrnI?0b1^{lx1cs_Xwc zecu12#=C8E{IsVsg7$T8PcO$8g*_MiuDGO5&`}}q$My*?I45}ipUv@t>4(D>i2{W+ zI}$#=_&(!z=m#T_HJr@OMcVvUEs^pn+>G3l_O>ip*UH!Vz~R$!0p4XFEX>x-by_6m z^m*!%_728-y#F6Ba(FUTrG{z3L+1$@f~(&KD1V6d_;Jqlup(D$XF%Ztf438kOOLQ{ zyxzRXYsGXS^-o7yl45uStb<&(Z3#@^t4x;io^;sK$)hu~@y@O{8uBL7So>>wd~dIM zA*6fGmm#L7>mt)jF-tC%+MJRONnWNCT@sTfu9b{c;-4{5E|RZX{NrNpLmekq8u)i` z3a0w#MV|Wn!ccv^52t3d=IjWo)M;CIdbNb7dp}-aq&PdqL&Wva-Z-_4{N>E4K4qCc zE7k}opZDp}on1Noqvm9#!*fomEUoaEz!KabmC)NhLsDpsY|ET0SNNHDns$~HrOkR5 zB4qRUrBu|`W+j#@E+>{`*%=>ge1m(P?j+d~T{p$$~F8mpu_Ub)oGaO95Z&85`wU zv-8tb7rg)6>8cqeyfyOaECtJqFolyB_cfTP>|b-jQ&uTx!kSxRx){_Z@JTh>W>xed%L#&3L94C@X1Hfm z1+Nk7Tpq`}I^y^$p`J-!?E-bryqr`OwxVIGUU=^6G_$UW(V2{zQ>VO6+EpcP|0rm^ zlb~v>=Az?sn6_E0pYtM`|M&ER$69%grsUM}Xh*JGvqjEj-ZTlg6!tDt! zwJbL9&zn%FtaSf#&{hTUV;$9kMh`jk)eehSYE?>q+O^E+$@EiuPe_?gOyWQOY^UD8 z(;dc4=UI+NC`56ncjWUdHjKil2jb!hJ8%l^#X6BK^7dd#qFO0n@axOm{}oP~`_&wuX;3+Av{ces<5;6^cQrbJeouE-t&*{+CdFsXD zk6a6Cd4;39Q*Nj>H6>T^%BT6KUX4Fj;x|E8JN>-pt&&|^8Wnt}gb91xuHRVJ_hYHM z!ZrR|N7y{)surmfF1OaZ_wD2o;iPTlzu9g-Kl=KoGrotikfa5>omWgwd zrcOM*;}Pq@yQestvitgURH2Zp9t07h+y9_|H}1Dfhg-w@$F5y+--7oW~{c zLsOQ{zO|-k=I*c?b`xgKc4<5B^Q2{`lYY>ZIqy>he_!S5{1GroKv}f9`tjAiyVKXi zDy40jbyxkrNJ!kihiR9pgU|H|T(n;D#?Y-c!fw96+PrzYmxXse;too!SvvP~isIf& zvPBg=GXl9+9pC#@_>=K9>69(&#qC@qY_@IOS))|Px9`*UrjIY3Zz%Iu@A|sEe&WsI z`vxb!-)wc@O8fKvx~sm>gQitwb5Yo|gwz0Ewi<^w->-#W)+`bfm>#%2dNH`mYGc1i-+wBZ5ofjEwfII zWmsEgkNa%Cy?EU3z^3_Rf{R$@lZhUPmYJL8(iwyAH0K3Wd6}oX6qs!ZnXjq-B=rSW~AJy=)PvWwxia>(#2vOv44Mm=63u^=eJW-_E&f68OBb^MWGUvsdhR z_e*la0vr{`> zT)XNPIAPmSuU#MHZmeT?f6O|3tK>uN0Bzx~Q$m+*Yhr2G%d-7gzUS3gOgJ3le!(<$j)Srbm_&OL49cIKZ| zajF3SmnqJ2)1Q2Dy1P!Lc!ur$p12F#wyB#V4W$1DT;_0m`{jy(T+M~^G7EKtE^$uv zE_Hd}rjqBFxSaLVbtmN~8qukXd4snl=)N)Y(DJtZo=|XHT zQr9BB&EEF%&Gz3@DqJhGO-np0-{0NA&=_AQemyC5ou%uX`nc)GCteq^dSQAqt8!D6 z_?HToxbAm1Zb;76`~6nwnBL@9JHGopc(w2S9l^(u&MCVeFzM3Tw@u6GZ zYssz;dMW6ufA#ZTbsdMTmDx^v(@*#3Pki@GTJ4YbwdMJuAH`ko3%q?NzO~M4;WHhE zUlv>A|GVA#9Uq}~T=0i0E5~o41x$*~dvB$luIG9f=X7fO0j^uBmAVHPurA$XHgknf zos!}mw&j-&^!)IxSAN35CFx{8RboS(YR>5c&sYwM-1^XV?cx2Hk{SC>tTj;4wei&c zAN4|C=GoE?vpw-4Ss6#v#M(OjTzFY^g&2A7O$c;!@f2IkG5LDv8b#Tb6MOcYI65sy zP|eXM*=0h+v7VMw4J5Tl`cp1Ds6-f9tEF~{vOJXk z>3qVqtW~8qMwI2N$21m+P33hyCsd6uS-J09GCB3*J*KrCLT0O2C(U!|6myyBHD$vk zt&S&3s^!}!dCbzE)-Tea8$DAf#_Hm9!Jmry=8I0WZZHa&-E-eSQs`LE2Z0%8JRyfF zGTauIaL+n@CM{;e$q5;O!Lvmls#%08o#|F7o+Elv#d}J}xt@*(*_d3bm#uqW`}V@Y-kU zvc%>@oU&E;+XY`0++-)m7+VP(GBY!p?Ajf*lx5u!J+)1`m2XmWlOj)T3o1X)^(G_K z>EhK>OSZ1N+m*3Z;`Xiox5Cs`)xL1rFg=`m+BD7mOXoSa9$K+WX|-B1cb@y{aNSu_ z7k3(TCV%_THQ}t&lr@S6*U4=C?X^iqWWk2o4wfWMk*D{*?Rjz3^Nrcf=#M3u&Tkvm zWwL*{_hr|TeF{eFYoou!X}l>{`*-wxy|vN<#%Rs5ovr?jyl9+t?L;=8@R$A4d)PHuj|ZJeIos)#bGmiT_Gn)PLOq1k|{;NID%y$12J-hjq>YV33&#i9%JXhg&ZqALI#|=nh z7zY^`8T6Ru5H*IO?8G4F+?B%NlEBoYisi`hS9d^T7&ASVWc;)&_7+*>FoBV}49#u!GxG{*}e^Ct!dNCta2Jok;`5O^{F+RTel>MgfY z)Sc24tOS@?AI=mI5>%b2Q6ZRN!WF_DS*4lK#;0{zqqOtaO259KD_o9Kw2r=9Il1zG z)Xaq&u6Zq3x!__}w%?|@X|G)B-bvkAbjZ)$aihLw!_KClBxSpo1mpq}a?ZCG5TItmFkEP77)Ia2UlD_QYHtyM*AFj$?pLF+H%lmx{ z(%06z&*Ta*sQksYW%PyV8J z+5SE2CKvws;qR841Rrs`R*~uW%FV7?W{a!u{;yx1L)~Ss-msEgx~;)8Il3$~aewdi zJL&6FO7ik<|353Csc38a=}va_mhG#Qmj2DW8?&)j>D>vhm)&NmcHiv2#Oe&kR5|P53Hc^p-*qSQP5y8| zeE+(S&6!QR98W99&tAUWm}Q6av}^BbBHF8${{9+exlizQ=vQ0K@3p@E|9-wWy|Xr9 z7WajH_b)E5fA93*^!=M>A4cWvZ+Z(FMU(v`&v0_m-X?+k29KRm;n&h9?&G{r%VE>~ zL&;;xua7PT>~B1_%Xu8^sd%qA_jN-2wyBPSvo1J`**rWhVdN;5I1dnQ}Bqe6b@&9kvm?Pw+((dA;l$Wr=<+{Sg&dQw&8G24kP#0_Il$@x@ z5S?K$^U4H;{mn`lYc!4-Wwm#wU5S(0`01#rTw7P($Au1Smb;n@xptM6oZf{ukmzMr*Y$~hnoc261!+WEO0;B4}RQ>6XyjnOe z7w_59{Zq`+r*Ch{^q0wLF@2o^5oVY5uIy0@n#3s>^K4V)oi9rn4$X8|YUbsA(KK<6jrg?m-93HZ(E;fHCR#EOv@pSH*Hf7V7r5hqO z!~M7}@42yQnE~T`Z*!%ikGcFteysxk#ots`HCKSdFG|hE3D04tm2rT z@8$LBojMG2O(XYCdAothLEATK;;F4p6NCS2={g(z7Q6Mo$YuVv(zlL9)%$jynx=^+WIbL44cy@k_ppb?u5@wP&jG|J)ZhC9L8NxDI68 zeVZ?)cqp)IP542@i&`z}J;I!yQx@=^OAVeZl)#uXW-r#p9w&$@mFR8wZ3E$G_}uPM)Mp7;ICbGzR^&o}UGS-|f5 z!b$qqg$}kQ{R7hv@uAEi9NRnJd%m8n74jT{<@^8J8T3#SqQLbsdhZ-Hn4k=)MGMhMG|NZ;c?%|yBZAL>Ss?pp1|tXAkfat>G@>R z&(0H1CI=Lmg+Y3%XM8mqCNdRvKArwNlk?dOr23cdN$TtZA#qnwPZczWAo+B5)wfKU z`E^Kh2)hJDy3D$yCiJ{`y2EALElx8C^I zlC|wl+3UC4AIO#G?s%fN)M4j~IFr0xZ!SG~%JTMD^u=ADuH6>g`|a84_xnOSPp)q% z{-tTh!HKbbR)a&@%+e2s6BM@?9C3N5ttliHyyks_WOmHu^-WGy6DG-B5Bbm} zJAI8&u;%(VpH3S;x$mUOJ?7mFzZO} zt;>oF?+S#L1^@3ZcdGv$yRJs5+6+wKzUM%_i;z7rv>Fa*IGUJGof5uI}sGop@So`R{krPx{T7 z7$>*d^1}&r`B0|Aic9}|zTmF^_vq#LZLLLH!`J`)CZ&2OFhWdTKI+?@-&-qw+Iq(t zdard*vHQh8iQj(NC*zWZA3i4^cl#F~$A3veNU=3Y?VI(4H$3%RE9L*+xMaOnp`g)f z*S&u%kM=JOI4b5_sldVaYn@!|f2nn_F-i;l$~fU>^+``%+Jk9Fi@TfMr%5w%xFi>895+duTI2y7%Iw^i*w?fO8e6_q%MIejuhpv)S`Z zl2mcAU918%xGr zX_kpjXHTvup6kr%ZNXY_ZqF8Dwf8<(Y<8Fa_iuV4JkMp}l!+&HPJgtqWr4HglbJE0 z{#kSVRgy2OI^3Mpy5YeYv%gbdShAk+;4S5yIqkabhb${C*=5-QhO@~AH? zwf1~O;i7{pv);_9+$wa3<44$ak13I@s#pBkiy{)zzPfb#u3?a~7C3dQb7|SsHTh~1 zk!L5Z*rt0%E$628AiQ@>&7<@*js zOAavS`G*RxnYY=FrHv`g!0%nO8)v;Hlb{%9hVB|MyNy>4nw>Og&y5xk%x;~oe2l;H z-|VFMGb%J5R~2@r-_fmCoUzU1+^JsPJwn%?{h07dinE~p&a~`PHYsx zTE(F3ZEI##-@mgwR;ofUru^yR-ErRQIhoQJpA?@+jVUWQ-nu$ITL3S8(6@-URuK>Rr*j`OmYdpJJV&ovtlaHNt-!>Y zFP`Tx+DVJe{Ig5ze?|R^T!$kLU9N7sDhrg?iSrzG&FsEp zS&eqy(??;WqIAyS#^JUxX51qed>|+HeN6OO=W$Y`pUz+ zX2*WAN=h^kb9sw`*ygG93yH(@7PoK4G=eWGDyt+iTZUxu2#Ygzc z{I~x5#+qomP(k2V(*n8gs+-oOavIgdzN`yql0We=biR-SUkdLL_PU4L%WGUib6x&QxPxBvh9aen{5 z@8|#j`~CkvgG2+9MFUGj16xG{$BYK99SuA;8u)%R2uL&vSu~17G>TO;O3Y}K+R-R; zqfzchqk=?}l0}nBM3Y)Ylg5lDtsN+H2z(YkObN{80Q#+El0wTe7${dlp(-=eL}P$|iy z?LAvtMuvShhgSNHwuKAZL=LCSQfiOq&^@EdP$p5IzCt)ZBRFzK67pmPs0sLvX&p&T zz?3B?Co?xLK)dx#K>5L)P6I~hG7`{ag|(oCPN&GCQ;5k5v6);RMh0AxYs8n9u)>#- zWPjF#PF9#JH|%1&yXz=u8Oily!T)y?VWVrYqx{4M)VJr*1f=w))K` zGsV+yHj7$vgKvG)bv+=dd2Q<*tu49Ro8D<%+5TW!_Pd4RUB4%@JXc!Pz`zx8^W7e& zgI@19Ke;zMUEtTZ*YDTb?|(7vwG1rcYd#z@%sTMluz>rXiwA{3x4ucFulaaP zru@yv;|lFMpH8Su&-rvxWBHm-r*sgvzI|VrclL~z=7e(=-`^P51bzDR`GU)5^^%Jo z>TB;_^op1r!(g7ZBCuC*Z+HMCQr!UFE?)2?q#^0{=W9o?e_nF ze>|C;M1r<$C`AzdxS8zo%hVyY&BmhLZS0OdbcAq&_t8 zb4fFapE$r~^`TLqX90`4$3d>B4^0wh7O`vA%{DMLfOO*EgC)xxx!Bz z65I8m)u3k~PrAopsaqe~EY2+CD?f2q?$?KQ2cDUn|C>3chdt=+@bFnAH2uU8HLH)E z0X>UEmU|r4S{2Y3cBK3MrV~f??7H*gSa_cunlV#x(#M_*pT$z3Cg84*y#+cqUq13U zZguNpU&Wcla{G@gvAx!sRL8SK;WNt#N2yN}Izq%0=7yedS+;ay-ySX%WzUmdQJ*Hw z;5jRiy3MoEV$I~4E~iwSR~l|oOq?Pwe4Rnqb(==Rru5Y|Ay+&iMH3eqrCutUp)MNg zq4MI%v@IdB2CSlu!D3IQ9z1f_fcfZ&CLQCMZk5Z9FUi!%a{4@LLEbIanEx_vp&yx;j`T8`pI);yFSnT(6ij;x##(+Tc79sIJ4aD`^n7nb-zB(XW(7o z!0vUSN$Sf24&N0{;-@aOS$$b3(7VD#-Rojk)R#pPXIHqHpSsvr^<}XF?@AAMuS=6= zeOaR6yV5KC)TL>=zAQC(dsaqRYuC)EE6WVeuJkKEb$Q;eDLocXHSX$JZN0Ek9eEKS zBO@cj2Sz(0N?#2IMy5UmXQMwFn-CrFQ!0ANK`cs;sp406G7V2k%ri50ZO~L;y092L z0RAO`N!K?t%TWmHRPj0nmL;~?MY_<^cl)}#yGN&rAsukEMSNCHt{4O0n2Y!_rnvED zz36R~Tcy#}$#vz$q6u9;GL}qPW|0{kn*ecUY&wnypiPRBrW~O=oV+%-P&z3n_iyZk2v} zYwDI8Wv^wo-)qy(t4!(1ez!C6pO(Om7u#OH+nrf-T5r#nYuW3keY&?=Klk&y*ZDb} z-)_I(&*B~S<^Zeunh%F~%t3c{s zEyz9JX?GNczQ3nzv9Y`Ib-%L=gZ|PS)Ni4 zKmWZ!SHtcfDY+(5yT$Z6m!g2<>4f;$Z#VNRd(GS;)}IZ$owxi;=^eh6zTaJvCigC7 zWB+)q*4(4+zwVC*#hC}oAGD~y6MEETJ}>w|yLF%7<4NKBc0A<{?Az&#{VYz=H&EnUsVoT}LHfrZn5&x1zh z`rVGljj!x^e2QD(@292Nw|9Tx|LOPl?k)fQdmpV6UQ+pGde(p2>$BqDzi^n`R==+8%;eg{&tctDl&dz|`WwrX<0!Wbw(#Z0?JY z8d}0h9*pv=t4u03FGDo67Dn}5o3aSHUU%uq5-o2|PquGovbJJf6_QeZ2(n(+vHFqf ziPH7=ajyzVU7*UFwr^0b*QM^N5PWl8|CTtw#@gWPb)Q`eC%9fWOG(JGRIPFOl24Xd zD_5+uRCipy?A5B7tM~oaT0ML1Cac$ZYp-cJtl9o;TK4(_pzC#IUwOURc;eg4kWIU` zDhWuQaRbeDg=On5S(0NoVdJd4vfODoC!}6&fAVaGL)znMtMz(bu6zA%w^AFoe%;%1 z-BEkLNr^h{`}6Jf`~7zwa(_6W#O3qh;5pu|g7n!sZ$2Dma6dR9P5_+M%Uw1)NT-7v zT4ydh%68{`s#cx9rl?k^cu&A7?c+JI{syOWKA*LCzUK2eo9}NvL)PoMi06I*HMG85 z^4XoTp~Tc&w>1BrU+t%TABv$izyHdvg_2T7H_y6tNXLCK*wa8m&XZypyK;AC&LD&4NWseiy^6m`coTJU~c(Q$K z<+C}{)heGmtMcs%oZX*y_3<+Mua&RtLgRv7uEE>TI-$Pa#`l8Wd(c>0{_M?{!tY+1jgRtx>Q`ZsST@BhDCH~j_v{`kH= z;0Ei%X+LwG?q|w-t?*2GfdfOvfq#Zi8<`Uq)TrDzfUTkBaY)E+WxmDa89$yi9h&-f zb!%zkLQdDP?NWShs`bW^eAkr>C1;&!&tgpCI_xRIx@K*Gu9L`2F7BcuZ0k03=6fzW zwcy2(#(=`Mh?Z^<@oPu4(>``5@GO=%?s3d$7HUJQXR*w4L__QQiQ{&^KK3{8EKy+h zJmCatX!$Hr5X*U$5WKdo z3hnk}QMtI`W!BL-+;gj-`w%Wp^Etf@Z4P1S&N6*RhC1YH!_QbKJvfGCA3|*tukWrc zFE1ls8*cWi0yKvJ?m&X(5UAdPY{a<_fqvy0Mf(t>9%O)5yRBHZN~_sn&9CJwpbljA z#I0wuo{Me!6`8$m&$p<@>-O!s84kTR9Mpk4gM4lH+pRa!R=m7dId;NZY@y2ZZ11#b>GY_!6*9<#ktas+a zVS(_YU2QhJG9Qmh{7x-AChmIh+;9%9{k}c3(elU9Oar^0o94b3yYhm4>0gH#tMC8&<8{ja|6jkbdfR`? zZl1T#x!>)yZ{PR*Oj?=sY(5K;HVN3WT79q#s7S~XxFMn864112rrfHS<&Hd)+M3gU z-F38j;ka|+hL$F)g$W@MT4IYPBEwaAH`ByiIEW}bYVd<&q2Fa)9ctZPATRbNv zoS!T0%Ond~dOKMwmMeryGKeG6aIZxgeCh3L2hJ#tu&+{qT(AjET}Kx9rYOG251>nL zH?nc~Kt{7xmqrGxAUK+JcGp&n(X8QD7)?%G`*NAD&>l^yY>EPpW5(Uxb-7=6SOe;ePI(*fcD$1H@$k~w>biqP9!-l5 z-0`f>&=!EtB@Mh}#J7VpCtU!Gl@< z&4K=kwX^UOhM(S>|uQTn=#8{dy$?KAMGD z7^P}w$!~YXRv2x++4q-MA-QRPTJgh<3JXyyY{&Y^c z-_vI?mhX1@O+PQ{IK7Z-%C8s87|;AlU%kKXrr5gEb+cHu-p-4Bw<~+v?$>+1>(w+J zZjf`1<~&{j<31^@WEcDS2BTF?C2)U47)y3C@2S^C^&sV$ilwn}v=b7I!Z zWg%IoUM`QW(weYhL0{X-XPMmZc5rujzuWm@+3I(@-gsrKad@^3RO+0Q&foJDw2b23 zz0>da-vxE;?j&j%>|s&QxwDmB8`~%jwA49q!|cuMlPb$&ZbfSu|9qDyuw~5x|I?>> zLeDlGU6`zq#+hYq*Emb1Tq`ILkN$o#$R@m}h#^r`qyYrb5WYv{ApHz-~=}HtoZQq5{`+xWC`FPS?Ki~r!um6R2OO)R4d3K54#AfwkDVD!qw;F5x zbGYA}|L^CE<>+JR^{4&R=agK^e0o0r%s*>yhWF=F7e0Z@s=twmVPT}n4t@SO|3)R11zabcoC=m2v})rRLti8i*Y0sd zN$MlEG4!a9T@hy%iETe|RIiGRuHDW}-&t9}4IOZ=>m&mMgBa6%Vv8Jk;RYF`A}6(F z8d5_?%Vj~Z^7(m?m0KAnRibJq=HpKyJs(n!B*s4Q=Bkb?rGWS+q-6>wpAPCeuQeo-i)8rPI=+mNKy>zIy0AtBp%|`J!o3Q^cgJye6!Y zNGn{pe9ff)uM}5F9MW1OHgkrRw8*Y~%UYN0WvdoieMpRZ@?!9`9kijNt-CqjH(R%- zJ#O{ecFvI5Z?`>&`jNZi$+YZuJGFYd^HN@cMw31q(_UZs_FVS*#;^BQzlV$_3A!B= z*u)^7^Wh+exXT9zZuK`G4hx*Wy@5g4J?CSIX#ASOGA8aR8;?u3+sJH^??!3p7#!F6 ze8vRa>jI4?U3?r_Qrr`X?Y-==!DtS!rE|FvhESJZypkXuFNrKNXWdwb1&IZOU)Gu*9aXRUb9 zV!f>Vq3+S%3g2e^yeoJ69+y-+(fIl|?C}&tk<*SCI9~Vb)tc?^e!bp+G@7(;lgN}? ztE}Cmcv`ZKAL4e{^LpQZKf$%UhWWdfAJo>jb&cXo$o|4BX#MvaQ)a%vw>$0edmV47 z@6Y;idAfbTrz3s+``$$zwV&|&J!IMrb>R2_)1@^zFPsy8h-5hY{`(~7vakemzWG5m zt@TY}M`YQIPaNc1me(u?nzr*eBs7btX}d)NL1Yy<$!;Ry_GYU-_7?OcFMa|YO|rRr z=+2Mb$Qv{S85kMPGZ8gt4ISJ86*GY*#EVGBgtJlXPo{t94%^{3Vzng{Ps!RDv-Y54z>h4iPs^Z5?wR>srs zcSh|0|3CXH`-27+Io5FK;LfVjgk}M^j7tH3IW-=(N|Aoeu{&aLrG(MQxpQT&7*es3wt9<>-mFX*SasUM+fK6v?ji`_ma|^^ccJ zY)|?ar+9Si-aP%P*^~n(AH4ii9AmeB%8^s<%vL7ne2v@kodgvwZYl}0d{um<=%}{C zb{5qDqwA@Da|4*%C;d$oOH)?ab}Oxk_xtR~6eaoo;`Gk)do|MkZMGe7mc0A@LCa*d ziiaKQc{?8UnE#7B*N3fT)2?R~)ZP!CpMn=N<>6Itwp`zL;mx+^an?_Ep{@=%p}rox zIsi0it^fCnQl;j|Gn+mZ`=O<{ZY{F|L>>9Z2bv8UVv8zc%P~Rtq!n% zV}2jKn34L>z~Qrih}8ik6f^(HDrS`b{#)j@^U3<&f}X{nn$(VO&RGju9nkS^1$fZ9 zF=*N~2G40f1wU!j*uVy@l}olK*2(2%;Mnz>V4O}skJ(wccstOmfikWL*^Upe!02g zy4GBy)60!{R|S0J2&oY(UE#6zQsDHh+vk1DUfCVh88Ug->N#Gp0e5h36I3RjWAZ1q z>8Ie_#WOQu$;mbkuX#uliJ&nqkx;G+ox#bIpiMu}_VUSG4oa!q(o3aIx-`N!%}Et@ zAM}mk_39LW9sDy}pn-uU2V;9VYbDc=JNSp51MceiQD@K({>dl{<^>)6V-=FIsK;#9 zi$#5QQg{#kA$E)lb-=xt%^}yniL>nOwmW^xCU3jj7CoJXd7}0^-v??xF7JF3HS=BL z`)$@ip7*6V@;qOk>Q3JCtLudR-oNustao5$=SkYewtY(eA!R+D#DhHUdjv&<+*w)} z@FVsJg@^I5+`t)MY38`Yx@ zzjeM`08J#GR*+x&<&qC#j7xh;$<>JYHKo^LjNcUD9dM5qD|-$aaL@nWS$@Ca_^gu- z&FpzQ*0*v``0=o3@vI+@d%O5CUF4a&lMKuZVnpt~UF@hU=UjG233=FR zvQXS9l^F@(b1ERaZ=t(?zy%3t_bq7m&tk8+@PY)}uoc?O9dxi9W#(>ZoFGQef&@HR zo<39X&dTLeE8o3*KCzZh+x>R;mvd@s_JD`2z$+3M z*mckvcLoc8925I^Sj3yn;ply*hK+S=uI(}mmfO7YV~*l{OQXE)aXJ%D$yZkwo%V2K z-0Z(S>$g#kuzKXDGd9{~`R6U)@{|NP@y`u8=XSe9`;upOivx?Sx$l-MA^*3QT-6ut z{puT)|5x~O+~Shb8(OxqrXBh6CNadw*2ttE5gUTJ16=mVcP=#{V>GR%#% zRQy?%punzgx00ClvAs@Y+QY@LX2XfFiX6z~nyN0hZptOUZ17BfZu!-`*SU>%>$Km2 z%Zr^HZU+T~z>5_>Y|5Un=fkz^_j_+$@}98o$2V`;{r}k3%-zMr7&GA@llmIzy&QOl zxv?%42Q@r!uV6wnJi@Wf^vf<5>717J%~^`)ipaq{ZiezJS?l)(1oJ&y`*lg~?MrXB zI|OlrWZmc8`0M+%Hffh14`bNtCOj-HK2>pT0)L44>OTLx(g$<+r|f*TpdHJYlQid~ z`fXDp?|0<$)_e%(_y6?<`i_HB1*F$ zSS1d2u&7ud7sG<7y0=D;ucFe>GKmL^V(njaO^9OpxC%7pvvk_}gJRih;*WsVB!{S; zUehATA+XlrvK=IwzumU1>8NhQJy13mYI>@(^To2?7k9qe_WIqf_s6vJT@Rnje!uqz zbj;`deg^iMs2xnJ+gZH!3B`Ok^mEhc4~I8s@q9e8_17zdqY}5h-W-)If0MOI=KCwd zlB<1h;!mh8m(gSqzPkF;X|$nbtP2$hWOLL7J?~qK?mYJN`JPsMe{Ff8&intd^Y7NN z>+P6W$)ES5wbuJ|=%aS?cRwcdxU>FvY~m_6?Wt>)LBPo={>xmSPsrr6N{VtZtV)xb zQD>F3YW=wz&snzK+x2?OXY=Z}JD68kKHvGgwEBHpr=07SMa=m%b$jI3@9~aI+4$#k zy(6P-{7GrH)-RX8w^n|;Q+(X$+3j-ue?Km?{-6Hy$@2X&zh1p=wSC%p{b=29@Q#rC z`}+S!|9T%E{{P==E(T_g1CMw%G(?|dU=ly!z-5`Qz;Bbly!z7t&Pl8dqFWZQ#XjD{ z<5d9J5rR49vuFOlXX1xvZFtjcdL}V$L%FT&F9Rc!KMMsCE;b!j+?P`4YO=^<(h8TE z9{L@=dpJZEdmP=JvY|_RrjnQ~Q>%8~$7n0ZZn6CmhYe=AR{5wrcDuB~txsb^?-}8R zk`H%C=o=OEm7Gb=c>@~rF;q%B@>rf-Q`D#ewh;n6p9NaDvyP-e4H-`%MS)gMuT?08 z&e_@G6Om3LI8}IBgK-I;n(D0yXVqZa&_Wkkt@oO;0AmVW+mI7S+d{0mXv4$99m3ji z13J)5{AtE??~8y=B7m=sMmmXr*wc)$7CNAXJ3-Th9QS|Idb6RBRa$4`3ANkTH=Z(k zofCS-E;`Zcm=~wrWy^ELXr`P_Z94-19&Xm1vXUbAuCMXfy_kBiGs+32X;ToZFr?S6aFDV<=c zgD&5;q0DDdUg#Xx{eCAf)wR4vegHpDQC$cYk{MgBJ05OYXL*=P5m4aupO~ z>T=inIdMX`>5nHShIQ9Y`xdEAcs?Uq&Gp5^M!#Q)(LHrlX+kUZStYI8e=gz;(+gVM@oHD;3B+_TCUmM@yUmyOZN3n75*Q(HS zf4@I+d}r%82Q-C#Ju@%j=Zo$3vcKOkht)p$%*b1G<`Fw({h(CQsovRCgsJ;|bnv}Q2GqG-9Rid{1oc+KFHC^Ol; z9&TP!mV%G#{QB(jDgjeYhAxbv=QR2P=Fwr0%%|uFsguyH0UxBkB2`f5)r%Ruc3PTK zC-Q~7Tr$I|GIQCSu$?O%=9h6rEuGz_rIop49;E1*zY;RXg|uey(W%h&2R3nJZ#WXw z!4PgMx;m%zq#o!H6t~xbn=iS!ledZu`4a zp!SZQcmBRVY2o?%8KT2q?*Gr0^C9=7Sj`6Uif}DGv0MOL+`)60=pZ$dw1OL%&(p5*eradd_}i; zU&#|@-g#Op*lhDEulTpxO?W;ZvIh%3#|4>6?^9uEcwD#r-M03%)*?%p&;P!5_V{s@H`n z!YNarvnLwIRhTAu7*qv%F~J%dqlfcCuT7xVk%QNpDr7fxnxG&vP{Ue32$P(K-VTfayxX#@Csosmz+)Qx{w*|w_A=_dcWQJJ+d3RR`0>8@0XoCTC(5meBlF29_{v7ar_fryUVEf(6uWC0%LI*Lx{Rz;q7H63Ph#$lN zja8;NE2v>PgB#o2#xG$<7F{37K2IS<*hYX-;p{Da=mR#J*)G& z-k-}(+{NM;y?(F2yV?5tW!qlsACNxjZP3alZ1LeBPdtm`Vg93A4UUMMzLIlP(6{H~ zF^jps4UV&A@_ag>a=v8k3DxC1myR~9dh_YD!TTSDp!IQ^&oJ58d_D{5PfYGE0#A}c zcUzkO{dB?4{jR~4pzzptC&SX$e!Ygd5dgd^$*fRvk1lvuQp%mO=ek*9%pd=+{eFM_ zFWrU*4dU}wKIo8M2RhbbpTa{N3s>M9tI;ZT9LHKvJ)4W(mSn1JTF+|rq47?p0{B=9 zC5_m(n-csLmOIY$*Z>*Ch_GXw)Kw6mu#ju|S3`{@1tIz&LEOGOoTeSw&}QoSkhgHf zBw0QdF8wB4d(iNw2rj#){MrY>0FG9h4N*U3pq!mLV1v=_l< zM!}5)Q0eiK^wL9xK>~%TpFp|4u0bf$mn)GUNg+v8bB3WLjF4z%q=PQRGGfzHLOPODwK{W=6q# z8gF_X%$=HCqpjzCfH&mb4qms0yv0xF?S7Y%!MWt!?l1eExLA}=Oy&%N z9*T2gV&z$`V6i6)IDF0YRa!QLsJmR=v*^J=!FMWgdOWAXf+P-4a}eNswJ4FdJYzb? zj13C9PZAHxlvFHZ7i;O5`zUzf1dSsT4K{Y(2vVAR;gQ2(^j?KNvAqgs6**@o7W6AW z{9F!J{*;4ZeMpy7UwBiWb`VC*aWRxDl#+czrw0}lBos(VoU;l0uS5v zzuoT8#2gp+h{rLm{4rC&yB|-5Too@oVoJ&S>BNxyuHwbi?z}3;S@K6L9j6@k`t`DK zy`8}GorkglUTt7r_wya|!+FT3Xd#*#O3n&WX`vlfKJiUkel!kbc)s@0nYY_?UfG= z%AxxM!JQG%2%|X(BaD(voJgB>K&$8ll{#R%lJD#+RP*oVtb>d&E_R!oakIrlNz*7u z$pkv1%C6?&RB$GA8QW41ffJ^yDOxyDS#(W) zswE5ivR*CV5(#;=a?P)qS*tfF{onP7aev z<5Jk})PQSgr&E}&B&~kC-MI?1ihf%5y4XkaUPtW$&8UKQB`fd#bj?~Ba?J9dZ?E%b z2O6{-+0P=L^WmU1Z_b269N<%)nvWPbf;Q{agEs3lGICETbd=B6DXQdYx4}GPk2a+P zXvOCDKcFKL;x(o*>}A_Gk&QW1(cyTf{=V{uZShNXI8SDe(|R;9eceP6rmtO<&PTHJ zemO1_|MK(2iuP84jT3}Js$NZ-?DzW3+|_*6ujV|r6L`KI>ni&7CD{j@|L^{CPW=7k zll$0xYMudn`oub;2($CK&jzyElKu|JUTicOMB2c$FhGMuwSQI>F8FR z8{TxC652Z3;j-QBumn!Vi4h`98Hu_1TTPcWZa01#_ICS=qNwN{b#tYs?0#8hdL{X@ z6ifb|wQIfa?EUdBbiKpHf6vxzW)i&f{$P8Ocfi*F|BmV(TD_6`W5?NB-V+Y;`P(c% zB4uqljUjr1;)Uai+{X)#Yb-yrIFf($n@^{`w(@*FV{$y^^I41kDS6n>g6dW)MmeV7 z@7v2!mz?Ws!rSM@Njbczh6qL&j0(Z=4NmEr)Q_XecDa;hdJNAf9HSn=O6ci;7t=)8KnYD z0xTXRGt7|CPzh+9P$|cv?xAqYGoVT2%mOySmV*aN3Yrz>oM(4_F@v3JLV2;IB4;@0 z(9H=2YBdWJk~Ex;T-eZ7vQv?-{DhqBrvN?49}5N6weMKM#CN2_PGwP4&x#{^?@Z|Q z?MW)-;y9|}^%2*G;Vb?;p)-yxxNxp3w`Xyh+zSWGTY+Xddlt(nG9R~n)zVx0<*^Tw z=81VK2K}u*oJztcPn>bsIMFOpMJ17`)!k1hJvpIUMgOE{drFWlr%H-?xYDV>O)4GB zj&!OX|8X*;ENyB+&Qk4kOV_AdpQd?aF4ZYK>Akz-j6JkX10EvbXJB9;d4P4vAr|x@ z66YyQ0ypk}u5N-a9-rjV2VXpH*0Z3s*CA-l5-ypouJGgR7PK_R?spTMuw)JDf{m@W zuO-~y+W;P5{otg~HUbxHENu^TC?N051JEuMH5v@C&bQD7&zfq#-Qs4dJz?vWwAHz3 zXOnin-Tq+Ov)mm%Yqv%PJy~U$x65$R72Vx&j*Rd3e7W{Ii|O^P)$bka->$x@cJV8y z$Md>Ff`L_ijX}syy*D2YyD9Q~JR|>I6FK;BqSXBGF-pYFwIy! z)o)h2Ue$sH#-=}Cco+JGu~f`co$z|aZZ+38D-ZhpPLDoQSDhpDVxM)!zW;tvADDjl z?fGz`zoO>TnfVpd-k$Z}R`X@>Kz0UlZ2M|hV8B=NAW2E% z;I4oTO%gHZS&c2GGlNd9bP4)#X6r$LX-iww=A8buWx^q`taM!+84j*kq&5xg+~7q5 z^`M=BtJsU>Op<~l%$-%OCK^8rx-Y!EW421r$F6`QkAl`jOi;@bREztw$p6|QSHoRP zdeVH9GY_peHf6!aUeit|o`)|s1fF=>TXN>H%NvgATQ>yutNv70@LkmC_${T+`N?8M z_ht_Tt)ht&_V_7-&JE^so!Gx+iP~4Eu8%A%42nNlSi$`)UIqq+3ncWjAPdwFW0Xmt zi&tUID(FfM$gpk60udu$?z~G%0-mtl$}2;gLN;f4T-v&ZqJGxS&Ckyx_p{=L+UZZz zYFW`PUR9YO=t2z#$T;B z8@9PR=Bz&`C3bM*8ME$No6fmu>!x1d3wgWcM%wHfTW^)Uew%cMOXS^lk+9QmcRWeT zfQ`b`wda9O(?wfEw!y`TFXzKS-Lu^v4)M6R90=zy(fN3U*VPAnny%qGv3#C{<8shZ zn4(IB`D->E1Yc(ZS-E<7uW$e<9ssCSweQky;Zy5rtX`4!OPq>d#lgmH(##I zEt4^YoMnz<(ub6z=0>W}rb>Of@@XhRF;S>{nVn^j0>nUj0OrpjRkf$hi#DDX2d zGQ1{sVEA~yf^*lO8Q5;vIy%V=Ixq}wCe1QFB>}zR612yzUa3=o_0_Z$&;t~%uTOw2 zrq6)RB$2+D-bV1G`}sMDp&xsnMW6%eCVM|>f!we)lm~`2gGIv9R$^%;X^KqCqWbj; zuOQ1!@XaKJX+>{3W0ozOaZZo(Rv=Rb(?XVuX{&VuLnYhZZhO#ndo~kmt@b)k!8xn* z5}&Ml{ccWFPKKW2=Y6vS#l&Yt=kNYjC8FQ<>zni>v6&n^Dk5y3SF~>BG_MKY%jf<^ zbqo6S3i4boCsd~QT+2~gzUEU9XO9lUDedDroBa&VgHFeMzNXmC^nFj_c~~>4WQqf5 zvo62tS@?l;vPQGH0&~Fg(4~i>xJABQ2cM34tk2f$R!;NXZ@1-=_kMFIKAda5@xrxQ zyr*N5StMZ{`oXrx4zjqcZdp)*^oJjPnFaxSBDjy({mPlkU!U~fEad;6{F$rm{{4A; zJ@>%xY>p$p+#NpiTu@-tS-^DivTid^K;4(91uT0%A80(mpTs+70o(fEseF7Y&C>YJ zX^~jEx-EXEBH!*shh=|#u;385&A>INhVT1xeJ0YNz#qvw1(jjYD`MPKwiUm=7klev*u4Wo?u6gqO>T$(Y!fjJvJwfDc(d=Znto3$c3YKszs<`NIaBMT>Nb3Nr4 z;F6^oDcIB6Fk?EnS>?6Fam5mh(W)%r<(oi&yUX%;hes5RuEIh!APb? zGo73TqS0$U9^)2VeJ4z^cupisZQiq~Cr&yZn2;spa3}VJ2J^Fz4naMJMQ3hh2EHgZ zcswUUjPI(?+~A~hZ;In3IhH(g3i7BandG3KGD$?wJ~l-x&{*Z*r7-!ErA}_;caz0t z9&lfN!);#gw_E?BBz5y_H|u`Cv*M`l_q!F>=YGFe)BK;U2mFFh{>xMP_4OI7lS83$)JxuylV<3^ZCz7KFSk)C;8~7ESo2LWU6&09Z`Dh@u^*L`kGH(0c-vUL^15p`J8GT zJf-NYMYib+2i@m60cY&kb+<(S;L9xuF5#N;>LTcrl-V7&pp$@a-~4nn6uJPg^l&`t zvE(*)&wRV>znk~_9XoMQp#?rA1?#co`ZHZ0gO~8s+xh)`dNIvt!m}CW?{uFtHN5-z z;zU!P)k|<+(5dSj>H&Eug%a9Fj95ZU8d6RVUQ%g*TZeM%Y#nVjY*QBX2*;k3WOf=y0Y-r4!8ab8~a{N zT0D1Ok@HDtIRkDSaWF74+#sogCv#GO!*ddcAKJ#n8JhWM*B`Xlux4B=3Q^Q-N?s(< zgD7W8lZ7~=x3#His5)MUOyyx)`4c~z;UAe(dGm&T2M=@i(9w;KMBL!?0$k24?4ZRs zIOI@-3-??@w_FK3eS6EbwAH#pAj{A-ACC#8o&n#VXS7wWUncP+sDlR@2RCZe z*soK3)DYUi`+UwOTx%nP>31E_X-sc3&p1khPh;xUxa8+PH|J7Nc&^U2kl@^}*OsTP zF~xft(|3Z`A5h-G(@zlz$uzid{+RSM(B35hTgQw3_y0tl;{NjIYj5QF3E%JR-@2FK zaeIDUMG)tNy}O>+ANlk1gZA;7pC7NkkNL&6*8jqfm;3Vn|KEM_zQZ+h{d`H5dIp~b z1xpScXjBNmcYodtL5>Lm+G;inLxWZv5<92X8c>iJmUO~N^3{?yvojAf3RWDJD{5=E z<5?sywf%*nf)Fjv{>6W-OK<|y&XYc%Yh7CIUw49C>ymoj>zd~l;|r+LWL@FiI8BAHxHivV zrle_^15r}x-~1?4LLDg$J=SziCgYQz0PfW z&yj`Oj&>}O!VBQ%pqJZFO|=O1l`gY4#S44ioE!FSE^WFHZG z-ChX0>2uEAV@lKK=)+5@Pp3284o;W~J~z&S-RrZ1^>gqARBO}DGYRN^xwuNI_sgXX zr*tM<@;BDqx-87e7JAd?fQ^pZc?ag~-1C0vL5C=g2PPknvCkL%aO!sG9_RDs_d~ZF z_Rg;@3gQUK`^vku`tSGcmH7hSA54#r{>EN;-e&u=?f+-}Vm7?5_v_vD`BC3~@Vo5) zi*(l<>Typ6WfqkRfl3;V3qdn>S9q8fO*^>g#G5ABDV!Y69!^JlHneESoZ$=xEjsvM zuMKVy9mcrnbCEzkaospFPANw#se}@^lA|3M5Hob_3=9l6NL=`|X^9j13|*SX6efln zdpc4OXUkk%%vs14&{eYFTnpzc_>psdJp!(;4+KV4af!T!&Csnj=sduYepg84^ft6! zS(-;V1;;%6u30tg7CzmS&Cl9a87iFzx+!79Mn}*w51g~+R(*RJ98$-oMTgcB_@)H- z#)>;-uitKe@a*`Npoi14^Rm5qtKaQ^ZA1Ce(fy|?!tTJ_IWLyQF1w;n){%OlsmQ~q`(_1NWUx!skM}M z>GCY~j^gM03i*D$VDa;{YM(!U-LF?mLA|oDS$YhYqfYYue!F9K*6xs%&+V?h%VeCt zf{pp&JL|kCnRw}sr?xM14L|#T8RM6Wo84-^Zcz0X_=< zVX0dNem|r=_>wD}4?Nk>-XHjoe@>%^%l8NQ9X2``w++K)=rlBi$|iJ&&x{f}=yB{8 zhe1QC&*S2KD~_41O6$qX@nU}{;lA*~#=ek;^3oqACfk1c*uPm)Num4EamQaQTumlV zjvSjX-AU`yMES%gu|LY)JuWSoG;IwhuW{uRmuZ2M=G646@8mcYFzZssa-XGIf0<4N zt@|`}s^Z})CMIx!1@7LFvr2-av4S2LWUkPTg_iLHBwd}}8ovnS@cG(Ckn=t~N$v@T6pAANeB@9ZtlZ|x|4 zeXY89bfqTQOA1~?Zta9zCPvs>r$Y4(ji6V4hJw-=w|d3WaX`R#57 zf`=Taz03)GJ-Vi1V?~p?{=He}``p*biA*xT0X}SZ`J-9o`&6DXxn2y-nKwP}*PJEl zr9WS~H1hgi zAJ6L-yl%d`{{R1PALSWjoA=pnht3ya7>&bvheDJ z&VU-8pSQ%1YOPD_3_GKgJa5I(SqT#rV%{wBKBVC`uj5^JY6z#)P`f(aHI7YqFDIB{CzQ+rR&5|yQ&Pk2Us znq-lfqGEXRXbrWU#`NH;pLJ>FRzzNi=wP1 zESphwN^SYPHY@cNOcS-TvS&4Ay;`|(=_$zQc6RUTbLjWntx2B9oBd|uR=L${dN=}F z4{W+{?ne$}N-o*AJ2(9ns91W?roFEHZeRAhj;HfhL+)kR9igTjutWw(s}d_cK39Ch{Oax9l_g06qD!FHK2v8yjv zi?uG1%DMH;4ZH}cT)3qCUdr)zx&e2KOpKOD_X`d-v++e(OT)^Ce2KzFs2h8gu3p=F8Bzpzhi-q= z=9UL-nYdNt?f%g912*vdEIUPn=in01F`YUF9{G#!49``P+pQ3-R(s5R~-_ECOe^*&J&hNI{{&EI)$u5T_tNXr(Y-v{g z{dUK5%n7dltJ-#d+HTyx=N(7N8|(e&UdR6ZJUPC9@7LSq?``kgs;A@{0HTV3(&n}I zwidJ+^ep7rE4)b(+A_KSY=d~09`rbWa94$lLn|x|ur1S>4cmhbUTTQAt7%K-VU8e{ z30hWN52mRI&VhARbd@YST$&E(Mo)0_G%!QkkpVx)E{`h#b!;VGM`tIjO#m+tqE??o zp792^2{KNBmg$_moq8LzOlN&h!j6xRPfXU1KeuP+=jRs|d(ZdVyX))g8=JH5pWD0p z`}+rnyZ_7k@7we9^NY)?gN#EJ^ zdYAV4xanN0W}Y^3Qr@p)9QS|TpQ1Cy&(~~@{_yV2 z<`_MGmXGIM#B)vNn}L=Z`bbxOy6g+R`*y3lMLg<}H`3EeZ)Vijmfgw;zFUm#?pydp z+;#bEZR(&SZzgwDJf4s~`>4ZY_dLtpQ@JPnd^*Q@_Rr^Y!JEqJcUD4XyfLnX!z>U^ zpx)I)>*Kk>V=D`@C#gBDMg}Msc#SWW9C6P`i7fnAy^)ML@5x;3iwW|yb1w4`*=lyW) zySc&7XG@ZJc&VH7+KoMimC7c|l3m0IFnUf@^PY!xO0R|JvNMu` z4A6^iw}2Pb?DJUwKN|e2+RQ*E57SiTg2_`>B|xW;rg;iw32o3^)wU(`JoHqpphk`l zo!i$VkA?_q$Gw@L`S|z*@S+-wB4!tXV=lyx^ZM=C@$p<=|FAA%<~OiuWt2qmpl|xh z><{z--59bfBonm3Lep(_otBmpXe0YdqW7(yAY84-5XV{aLaLl@PAwR^bCaybyb^jD(b^p35{TnwCE zC7~jZpB&M!nAqudQc`Sw&`Qm`LN!a5LxOvM95qr?V+znYA$qpM$mkGfJ8R+Mm0YZv zmYWJy%l0VmeDOnF_g+95bc6%iyLKs*M*Qd%3o}Jj@X^M{Np&1GswwYt0<)l3gv#3E9gvd#f7C{?a0rMHod5V&K(s z!%fhMI^QBnVSBlxHeJMM&Ah$6V<>N&z+6{D<_HJMUapl+O1ZCAE&{b?<}Kt3d9`B2 zwaTnjYd-B<#jt+c|5?#1mLJo~&ffw#QRmg-wfoq#-)unY-k3?>Og-nOt-9e-*luN} z={r;3ZnMlf{dW69fA5yNwi#ckxYNZg@bl3WZ;@7qj>B3%gQu4F3EZDt{qE;e_Ef)sC+k1y zR^494Kc#ZrGAWl|uWIA-emiWwjI}kh=eWR^dp7US>+}El9KaD@`=vWsfA5Q1`TmvP z@3rgiyY&EcqRtE2o|)k=motth9<;x7gN@8?Xlv#|?yXr5Uoj!i$AIo2GAH&9qN6Nw z&Ppti0*xn7_aeL$+-|G&q?=C7O}Jm`oWj=f;%~*#RB#%o_6Yv%NGRw%3QHTY?XuK z;%Te27A#-)Dr?b7q5mSUS07kvmA!h4Tsrj5GQV?NsKvtTH=7R}WPQ6O#?AHZR&OLmxRc6_2X;{Vd!%tVJvzu9W)sVb9B%vE%rEzth5({XNlo|V%q=`TAU zZ<_aRm&0oQCp$K*+%NYla0h?L?zele?WdBSEA`?0f4SPvN5fr>-v9UG-}UXv=X15+ zK?iO9c=B1d?kA0l1@NdxI;dCxZSh>lm#d-sh!wKq8{8p*OwW3gbj)v%LQ}K4H`?mk z*%qu!Cs0nIfVL7=US7^K(W7t{3#>Q@Rh-o5z!H+WOO^59T*NAWjJr@Fr%-^$Jfz)L zBVA#bx>NmZ9HKbjox%I^GH8{5L^jgNTJz)cU*9`BJO31D%tId3AsOyt9-s~h+L#Bv z`>8RuCJ{I0asO|c(3UGBd!){R zii1Nxrf&cF?X|w&pMTmP4loGkd^o6+2-@)tK3U5hyrwN@WAnE-9|a-J)Y%)4DYWMV z98j8W^X|CX@;!OmR93(FwENz+KcCJ#_@r&@Xny%k>@KV18O7%vUUMCE;bPDI0z2mS zEvQ2RTIG-RN;1;clg#`vc{vu3`_T-56uK)l4<41W0-p6+Da?k0(rf0p@Ht^lyW>J=y!5L(r2b!L}KKUT; zK2>JW^lZP&zQ!pVnw5RLIfFCAxz|l-HCV#;Gp^$hmg(7S==AKd#ssE`JFFP5Oy~@l z((@ZMJ$np1J^Oo0#uOI2iQUFOl_ct$>~#7HRnlx0ODTRnWO_}dH?M?Kfq zD%NoSIx^$<)DIi`br=;D@|})5N(Je+g6^l@Im@L@4Laru?xldrpQB79mOlyT%R@kS zF(Z$;ns%gs2Sh-p;JkF^jPg*Fbv?EcdYi!2#6U)&Z7NgYCr->3WJKwu5N?iu=V9Sv zu7n0ehTPW3kTBZxQeJ`vM2I=aYjvRd+gH%#AzELpCTu*SwmK)_n9}Yyn=hC>%h}@K z>iBl6gl}}vde4OD`<`dZmaN?_@921c$CGnU!XW2$So`=P_LiNMp zHCMR}YaPCDIXF7_tO2cO>&ZVR*FI<6<`-Q#MmsOZ)qFaoEFWTY`u<+fL0;E$qFKzA z@5XVE7qRoOSehdx_5Y8S*D3t(opq*3{N3E0ZNJ4U9`%^-TXw(CeVy_nrikjR=O(4E zvz$3Ydh3s84uSVX&n0*nOnAAV-Yx9ajD_c{Qli)Vv&s-UVfQ9i@oh{qDRgBzX@~u^Z(W4 zP1R?3`F#8Pf3=I)kNx}oWxjd+->yRYJ^$+N_W%FSz_Wm%Uu_@bt)&fYPq>+cS4?9y z`p|fzP=V#*qy3<}nDu|nd#ciLaBabc<_ygRVh$cok0Y{Mn13cf4)Xed-W(}EarmOc zx+Yr@u5+;=5=WHOjukyLUL@qnd_>jiqk&7!BcE9w6EwUgs)p@ZEfMW6;UOb#ccw<4qrX+1JR(WIG+R>~mo*TXRzC^NHho-fZk|;8~LK@5D^x z10@bJFf)iU%_6GB^Y|!7;IRss%n4VQ=`txzKpBE{(nMOte~U!{G6V}MaWs#rKrdkp zUFyIhuoreTIb_<`cl)APYHY>^wRncw88;4WnrLU-JeeFo!6mG+sthj{JDl>CIUshHK$DCEKRvqnxuKXZl zmS+ji(p{i&k=bjuvrg0oElAtFdMES7)$ewn-pT!b&qYfueaG*YR_EtDdA1ueE&@7f z7(6Zl?f`u_EC6lsfX}!Al{jRs{CF!b;${BU#NWqWx70O|JK*b;2;by%o2cYVipH2 z^O_QNYO2_@u4%5z7AO9?uwahaGFP>QZEUV9=VngSShZ%`t1O=d`~DNxy}96~jW~HB z*Ks3wjR(`Mw|)<&Wxv~5+Na&H3w+~p;wEe8jmyX-~H(1@+_wtT!%0t|r4==7n>o@Sp3$Yiup_`bK%1+x}K%S)l zt+_Zt@_rTu^gVUU&Q9dWdj(&IDeF~|&;%Qfyu4gsVn*O9RVFX^@lI{wQ@wuRIvPcl zNn(fjdhmoOn^ail!-J#OmTEqOUNf|8<+2*7H7}pdE&%OkDS@6cusluh&CBQW>%Vcn zSkQ7#Gh<<;To1uO zwWaEkjI!F)Zc(rH(CoafhhkUW?P^hNSX=QvuKL2B59d_g?|89QT5ta?SuTTi0fUlI zrpwQw1@?*Z={PV|tA1E}NM9*t&0(dqixc*6o)3RtD$hMZ_^?=-LVyU5>V~z46q8pJ zI(zm!owxsfqRywYQfVKHPHA)B-n3h8(VhvL&tLn!xivDyX=8tMPoVt8hq8OWT+tHk z2|XW@zILno)4aD|ulLvHm_ip}1z$IHG+PcDj;yvUyHj#K*L)W1bBd04(%W?sG9fzu zWYwE3yLWv)xApnD*Kc=ypQrVn>EXNIAC8FU*K{3{U;l@WSE57KTyWqx_a8AF30ZT| z?!c4uvf`QAk%e2{sRx z+2i5X8p+F*>=G)~TjFLg?W1aT&0@b}67H7Umh>?bwncG+jmwPQa4`y{?{ga#*So zv{=m7s?BksoydyiQnCNTB3G*AGOo^B&2^+pM7K9-g>#C?m)C30rS7`8;Yix_*KSfO zujj5gC-z+{;j$a(4&|V!4nlJ|FRXRA+xGgcLtUM9-nMTGS54d{Qy4ufz1QuOnkVx| ztqFUX9(3zfM(I>f*ccfaEwP(LbArI8-)gYEDkhgeM-hbIQ4lH3RASg7R(?I}xB~e2 zOZIPtCux(Qs(;5SNx*#dvg5r|4;dp&G_)om+y%_xsH?L>Q-M^Q8Yh*?S$zn!>^@|{sHgA z4gU$e5Hen3cd{~Fbf?>L{{NTW^K9+6|EaKb{l(wRj1OGeO08!-(5~ZnIoCVw_Gc*?!c{4WvnX|mpZ6EW-mGbiLXsZOX<$#A{* zb87t6v-7!nSGcH08P%&!Syb`xwyWVStL8iB7Ra=6uXm8TG-=kCuyPyCv>Qjw;1FWp zS@TSTwyJuzo^X(U6x5XRb-rt^2UAs+;9R>WQ@K1fUA82IRakvhb?)s9UB7Fpi|5pJ z29d8k-*sI-`DF5{{HZ6OD4aSv=~by#z3PcDU#^hGGod;&gI+rrUF(~dB^Id~wspf=zQltwcisHI$+a=Qcdb+1bjy?b zRMza`eHW*redm!>xX0=)hU{joiFf3}HBxHyqI0zGHm7Xf6}vDmvZ4F#su|mMKe+0v zd-(S0{w3d(`&IS5zL;{ovvSEYk6u&tJ7QA!!c%*NufEy;<@Wy02?mV6Zyzdpep~RZ z(2oNgViy}$ci(4mzJ5@kO@LK-j~H|C4fP($`~uU7_ZCO|*!gF#fuHcFhx4Y~Sn?xF zK7Dr3%FHect$WoQd(vg*i(dY5Z1bUwed@(GzL{1WcL?J)$dyUym}8-6v{Zbe@}4Iu zVmB49&*dyE?Ab5ie`KfsxuWoWk><6kjEQT!MVv3Hx1KhM-0m*sHEZ$G>pQqwes;yO zo}Q^`^nBaep9;@=&vFzj-t-qt{Z5t*=WY6)rshZNtai*qPV2j(5!$GUQcwM_7ou+)`rjF&e4YT*Y z&8z->`vKqf9mjp&70v#A=Y`+)UDwaPE8G41?uWkZd!GBgue$yF-j8$J_kBP6zAk;| zm4AFY4zT-uXp;W(fWv>sA@Oq`+N}RP6zJb^MBVRWSM;Ap66bduGe7r{H*?417ym5M zkXK3wGB7ecCvv64V(`hcGA|97Ji9&64HTuFsGm34J(21;<=M4jU;9Kq4 ze3cAVhG?p7MOi7a7IkVulp_JsHNmw~Vuo=xVrtYEG&PaDa}j)h$i5i~pgTs2kH4)p zTJ!Gy0rS;j1~#DO;2%Hvp)LoP>rTFZZf~{g+j}U>!R=-K{QCZ(S-&4?Ie7hvZ~s^| z9yG9sWjtu)P~*5+55L38s?_J=JZ(@f)ACDK+rY?DbUOKewY^AHJV=*oE1sdH8B zK)c4a7mvCPj%kE68(qs#_7J+a;&C6##uJbG9oRINber&Hs&r{dxjb^PlzXYts`cx~ zlTINHl~zY#AMnYuEAO$zwIOv)K&LiByC%`$QX$XhRD`jo&8wMI{@kJd8`5&{6;YvV zyU3avHLPp}o!SVSnm7W!lFUmq6m&3=PULAj(AWW+DCk=AlH6@~%3i+4BxoiEF+rNH;uO$0$aHiIUH`|PUnMHeX z+-El|Ql+rM;^gZ}I_^YT+QOg1Ly z#)}v`TAz%WcS=J#X<5>Goh7$v!d{iRZv{nz*Tj6QQsn+GP?D4VURLhrimNik z51OjK7pW^Pk73PrG}gNy)TzBM;GDxvUEyb`D`boxPQA@l^`gj7XX<6nz&PPog}w`Z zIe4dd?uroC``7d9emuyxuT4}H zYq9)Vc5xnqvcUl+p$`pgItd~|9S7KqJ~Z;F%x4moXl1#g$0YV7j!plB?QsMB3f7l1 z99=r*GW4t}`)7P>(lnI`qCsa`4VFkaM*KJ=b?if%*_uS|QjUGcE)=voup}h>XVDN~ z5!=|h&r;!g&?4JLgFpt~mPI1M9Ii}Zf=OX2ix@VYa8)mxXc2ZN$!nU#9(}E2dGaEU z;y#%>OYYiOU(j+-I`qXcGcC`)LLMcV>KQX`?|fdLRpTvUl`-j-r($!$lP=cnI}Yl8 zTQ@=LP(p+N!%1$XvlCm7C~+)(ailTh(qwm@rOM7bJzh(uB?;WVUuETX$U~LC^{}C8 z_@bnZ4`VW?v2-?QHfJ2Sd?na_;EC#5hR78kG(UC(F?b7Y`{0pb~7D`Qfu zky`JQnQ^(FESKx3u(U4rSs6a<=>~1fu2RmuD>P)qrfP(EGF?2R$X74v9QAf{z~7o@ z4BJ=Cy5-q0_u*KGT$q)wl)h)S}e_@qaqyX=_VGoxMQlO zTkx#Y-D=ksb)J3UW^1Lj@?~j2)P*CF`=?*pTJ}vLPM0hA?9GMTRqt20`L4xAzf^IjOipfIcJ{41kFITf=& zO}!%3GY^l5SlGO5T@i81?7^!8z6?)oIi&4mmI#zfD9zg2A!7FMe#?ZW1<^?#XU%a+ z+~Z=QqM7H>``2rN(EbP&jm0YaCAS}yT=emQ$84Qh1{SM~o6=6@oymOjpUv}dbEvQK&g#eNFDvTzoE4ar z->0~5W$yw0ub;M7s2;NppD?$Y@3ZdBn0d;IyZkRilw4UdM_H)8>aw#^F?(c{LU{W# zmshr5nV$-uZG2U9{c6dVhn`C;_L*^AJ{b}m6AxdeN_*3fn9#jezf?`?3X{6=-SCdMd|-1FWQ;dx+DJIa?5%b_eYt>rI&p8AujnVUEtBw3O++Fp@!UZ zVS$dU!yrGsM%<7{MrPWf74_vUKne1hsrj~m8EWVBy=)W*8e@W3+xwjY8*n>uR#N61b6 zF7&&(An*Ve!wQM!9~}`JtAkf`o^5PX{#f4jLc;S!=Z(}Z$3<-`B=m*0cC`w|%l?q? zywu845st#eVr2;#4^lUEd zyu_hc%_{c&~@SD1jQ1{~q@uC@Go7`-Ey7a!~ zXf<9a``$zF=?sCSaKV2|d%i{}+>)4(XE-4&aRQ5{|_J_|*yZcZr@Oiq~8 zq2S16ZYe6@Id${KsS+Erbze?R>D1hEZEAGjw8a;DvLw|EZce-7*j^x%$PM9o zmg&D2PN|wHmw$75&cW#oFJ&YZcRQgn{wtaE~i8J@H59GtQuQ*QdsSx?!gty?L5>tM`s$=Ta>YChjy z-54}``_0+=c6J4y6iog(d&0(MZo@gV-R87RoTOkl>(opMp38=*Y;q;c{=AO85kKdY zJv6a+Dz-;+%G#CE_y4b)+jlW#RY{y^%j72y=d2Fn&O9{l$xf*clJmd3)V5vR{&l5v zpyB*=Gv_WnIRB^Qf^|#_n4%UecUr)vm3e070-jq7M4J}qF)ifNl6WDO@WWE)`lbcK zyB5lLi6=I)NOkEd?$S)W*u`(SNcNSZ$iXV6jSiY!Qn}*VCoB!FU3QTbPtc#Wc)F9r zZKZ`)wu31>D4@bg2sk&zj0y zIK{GY$x1NdMLCZz#CoWtYE}K;RBGamVFK&zE+Di%#?~?G9gR z*tpbSd0vtNL-Q%IP=Rwx7=DH9<{n+qYh8-vK?Jw zcDGh%J)F-pk@3JPi9=CqrZg@-v1^Udp+#qYt+^nz_L9`f{Z?zQ?V5Le*4kUU*50|b z_TI0x52V&TvRd~fYTdJ{buVVEd$nubn_KJN{aW`yYW*jx^+`pmzf`TCVL0>0uJ!vD zuK#0YJ>PQ<@(hy+0~5nB;-`QWoV#Q^Hz`a&yDIW>GK;3Ee4eLLL;5+SUA>}82WN&P zOkwfGGN`-FMG3ym|C&P6wgP-BT(#p6`(QA4^;T)$1nq;__NNSKh3n`(7`%5HHQPms zH99Tri;5OuDpVAZWXk=&@a9S;N7D&w*mtgal^x4*A$z^}TsO%LyU(%Zh^O|r z%@)}3QcY*p5uwS~j*2MtFI&A?&U8)05zW=#vej=${kge*-!qxbr&u<=5n?E>)M+?> z?$hqg8FNLBcxKIE*!|_=QpveervjK&*KAiYwFEPzh46hBl zrQ=#)>bPaut8X`#YAz`A2rvoJy2kwR|J;xFnJ)efTqVF+_q}e-Ef$Ma+*4y`J#2sd z)I9OMm0V@q>s_@MGH2@lyY%ExR9$8H}rLBFYEbsq~LgwF94|WtvbMSFDIY)m? z>GXfoDYV=}Y+guVLy(Gx2q(wXhadBl) zPk#@tlKBk28n(h!UNKy$n#_#p-}K6~yHd`lzFWg#I+OEkV&3P)vQJ-_^uIjQpB6mh zfRCnE_^L}&?oD2LXv$*u%QG+DPw1J#yi(mpb7yeSmy+d^dzRQ$dI>C(5t+v%AaVTG zf)j=ZidXj5tYTQ=HK97wXzt>OS9a#F1QaK+%;EaD$jfh%*~V)jiZN3ciVd=USkUgQs^humHPiJNI?1@KYO}AETeG*z5b=Jzrbmb%w4}VstJIyo7 zCI_!w68zsgq|t5Cf#imipv{((i{*|SWP2!~y{JI{)3?w4Z=Q06Z`GaiVAPbEkdY;%BKbg>zAu+q6$pcWg5D>+HIJX_I5Z#Ut%SSnPYUy-G2TeLvzJV!tiIOAF1_}FbSNoQ7 zTACJ}<8)gvmu;m^FpHbvv8W2g{m(XvxY(x5N-|rzVC@UXgrgomwYKb=X`8cY;oPW* z#Ih6D_TEe7rGr;D?q?ntuWnvf z+|Kakjg{aD-^-I4GHw(S%FuD_+{N1LtS!A)EFTr^e6CW@bTZ*fkojw!C%)C` zKTX%&Fw5@Pu{*5peaD0I8Vm>Ce^8jFe&Wf~qV-#yS&}Pk3Y?VY32a(Zt~@Wi=*i+q zKi3?%{jl*h$1#t>)4`sM4;T4*Jof*g&v>NvYmaBXd(+(s*QdLL8L;n5{k3lUzKv^3 z6q%J=_Hb-j_c!h*OOoBU*PDKSGfa6O@x}H((!M}`QJksQv`24Z^%fjVO7+Ay{Uj>q2UgtRAa{)pC^s88S8i|1Vhz??;ba^TiB#i zA*pvmbSsOyO+~Za3C&O21Ydn`zUWxxZzkyG(eh z+)z1dyX@U^L5si!(Z)z23)`dyfv6j@pN|VBuV{J0SkG6{rd8A$%G~~;&?Q08M)pM8 z%86Dg5dxXcjqHWN)mJ=H65{fH)XkXWSP~(-{kTy3e+z+-4gt#*f-zfjt1P5tuRF5| zc5*Z}@tU@>Y|M*FXqx^)DmJ1^VN&~w9bIc8gfee*^%r(Y8g}XmcTHgLp3m5HzNp2m zFt0PYc}Ikp-Nkl^i|y+xMEWIq`V9l;ybzqdq3pOs;x>tvV3*!g6}@wuv=y5(Z`|lT zpw1et&@S_$_teAAQ)vR+99{eeJ+eLeRyCTgII4ARhM@J1&Y!LxYc{bSc+ofEV$XyZ z0uic0I~LizInuv-qaJ61u3mGUt%e|HKrM4%Kif<3M=Jz2aR^>|E^yIeV&Oyc@^XCsg&F%+@L7f@_ELjI!Di!7BxbOwx>(-vPHt$mT~ zlXEssrFCr&NE8|M*2<5nH|GP8;5ft&v+xLpY_k zaFk0t6HJzz*8Z_$RfIi<;=~L|shlr@f&~-vSBj_K6g?R+{k3D&<)zb09iw)w5c6cq z`}bn{`Nj}`}ah*)D%J7NZm9p8AGj|A<=ef^(WH@t%rRXHn$+IhEdwV^7$|Jl@5#cW8=l=bRdNOvwM| z?AD8Y`-5jmGWKy^^xK#@=Yr(iOOXQSE$1Fv*d?@L<~2#t<%{Mh1{NMsPhIlgwdv5L z>f4?Yo1CWGOHNt&XeN7M-ZduC36=BaNX~H$Y&hCE=ZmNCa-;c`PlV1to-j?U_V-P( zt1AWnt?Xo-C2}iL_=$Rp^o#}Ezoa-7LZ+H7Gzy%N8J?lD(59SI@W6^F2`-UWmffMM z(^sgc?MZ1=_7YjKQb;OG;MY#UE1wqXY6%HxiS15rSFc=bJaKWx!Nqp3#4B$KIan<@ zJaK}DmvlqKG~S2vyiW;QKbtMjxYW@wg~_0}yXq>j-g zX#cL3E+xUcYE~B`Yj&5K;DlvGo2*|1F4kW#SKo!=f6aqlBuz zFBkbQIOG3L_1(?OSru146$idxlIxMV_>>dqFsekqM&FS)8N0soz>?Ge$T|iGJY3N$T(?O}WS8q|`Gq!KH-#?ETI;%0=-Wx5D-u(=C$4(*OMKhs zuKZo=q$=H011D*iSg#Xa_n}MBaD}M+%=NL2!Z(^lS+^{D|Jd^1FJXNx`zg~`v!9lH zUhc5Zd40^P1-!c@%BHUq^_H?}S(|oPfO+;t&MN}>Dl1gDH_dSrXbAXkRH_ z?K4|adiQ1l?~RVt8^Wcxo}0K?b@kRw2iL}ROY}%>YYbdB-(%aPz%BY6+j3Sb&%L$H zjeD9CPSyi?8G?C4XuO)P&cSI=KUeoAKyHc_Dlt|!* zZ5`Y~o6B}62fAIBw0Grd3@vPpkzUUdEjV9#=3?tDTP2zV7P7wGG(~xJ*^JjBYqKXd zdsXIdvHi8#dE0CIitF})0lVybCcx!d8JRKVn2b?kaw{ zzgm&8GkL$6TH({l&U}e`gqO0a{V7sqY;>C=@Su9XqT$pJ%Ma_nsSEgXBxp|0FK}}uSWvUwQXzir>ScecfP z9oF?W0{535O8j%Evh&cPKS!Asp5C;_&Z6e{y!6xmj8FexZT~0u@Hv~aXL~9x#GF0% zMxfx%)XF^vHqAc3aq$GxhSU4cSot5(+OS5zX-(`;b=I5AeHIH@nJpLVth9N$C-YDB z`D?$=Ek0^*G3Q($!)YepvwxURM+sbD?LEQq_dFNx>2e*`hMqHwvf($^oDuwcysYM; z*xOx_XD^Dpy~y8tLQCh8K<^k}E7^c8 z<-w(2GcI#}^EUCloVBitApkoQBJmd#~iay_`2U$kCV0YVVcFSA5HLuWPxc zExdZY{OonZso_nsQ9Z6Vnq@;4E{&*{4cV7=z3uLe3AxwzeY-YE_hx?W&536tG)u2r z`rgRhdu_s$%L~?CGuaz(nVB_GVCTfw`_|YNF0%FXJA38b?aS?9w@vo4ZJnF2>nvOP z+}r+ZFYlh4kpA}S5#8Iu;nz~%-m-mrYwg`zdu8viExlb*n^6*bm($EMCxG3=mu;VH z$dCV1uHX6V{V+Em^66d9V|TB|-rgX4_s!mW@7CV?PB+yG-wH+nHMlOfV0eVE=P5>#T;WkrNoB0xmB+dqZ#T{ROgD7RZLU*gkCi z>)j)JeZyY1_}a@m-(G&_eY02gR{UDllYg%&$K9}8do8Q?hWxwhLVXWSdas+;J+ztk zSeG?;0q+xysn_q>dK#Z&TfO0-`@3tszE=wF-uLmn5|np6_}!Dgu~(*@jganp`o#9> zge`2IaaWwrUg5pC_pY{4pa5&z^jqv_Fa2D8Wnb;1oCA;4`|fW&%eK$W%?)lE#E0uXyl-^xksrO)+-Lv+#SLwQs*4n*Z^6vRA-`AVwS!d6Bz{JSP zC08#wfi-!-HO^z#tbMP#?Y+9U_pwLclUcdf7xv!t^}QMu_r_oM#$?&Ix9r$X%)5N} z?b|DQ&l2`Mv^aZX%HJ1ecOOUj-EzG5*oNa)a)$Ds3Ht*4zhF2Hvy^me@zVhwE$!EpRWT|Gqdc9)pGqL;6ZmF_a$bNWXTe!mS zx!nHeA7vlx&wXTh_m%3qS1->#-~acvQrxGcge&X*`@Z`1_Nub}rQQy`AqtP2Z=0`Jdj-eO_wt;Cu6f{p%iR>vA1_ z_b%t{+sNDx@#mgq+CKD~_cXo#x$oO|4E#_3#(pY@zZt#m>4kakE}VN;vH$7Wb8qU- zKmN}5?XBPYss=~FTCelt}R-*d387w zYaqif(fPNQ#DCPO{dA%Cx!yju#=5&f`2oiNer>S*T&eeh^Vqi|cYhh3zkg`%?=!id zmCpZG@&D2p_jS#JyV<<2*h0TJ#9y8|@7>J%e-`(BsXF)T2k-0k@_$0(UmyMN|LV@( z7w^}K>1%9ACL-pWU=}$K>3n336|Z^x2dcJ}KKhFMI#SZQYag@2;`(KaKCZ&2X^m ztb|#PTaROffud6z@9`cfWwk{Tx=A`+k;Yn&j|Ju^)P0fIwAf)%4ojBH%!^M>P123r zq`0-{iT8A-R5k=`b2C>Jv+~Jc9`xBp6t8(TBXC^#q275d++G%@b_`M15c$jPGaPGz!SL1 zw({ik6!f|r7gRQuk(iWl{OnB5vVU(Ri!v_FyI#|GMnW<5^cwA8yV|Id z%yTpUpWMP38=ag!TkZCQ9OqSMa~o4k+V|w%sW|g=rnOtCoa~p6w{|A?ckZoz@b%`E z#o{{e=5G7)IQp1``ibzrRqG>f>~EKk|5x+t>)YeG+6rE6I=P!O7zG@7C8S-M12u#i zH+C~@Ik9P}-J=sL9~W4yTzFZ=>eZn(jo=jv7k5Ri-O48aXXWDO8BLzc76dp6T5v_{ za2yj)HwskYR7{zuwWz?vOJixxs+Z;>#XS>_iF7KhFb_K6klnL>&K`X)&E-ord1

    B^@mKK`dS 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%0D-#S8&{yxnOa< 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­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�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 +SH%Z2}z3ar3yw~$Q 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­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 T;U&EcqibnK*U})?(pUokCJ{RC diff --git a/llamanager/assets/panel.gif b/llamanager/assets/panel.gif deleted file mode 100644 index a257fa9042d0714a8583075b63dcf785cb2eaff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 911491 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›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 }ZR?+e3XBD|59CEVuJm zyIbe`<(KrK<}5zN`C2^t zp33a|du%?r{CQPlu6ppFO5j(QkQ&vklA3CT?)}_nCq-9H-TnDmj=Dr&RmGyScY2a7 zJ7y&OJ$vEVS=Usp$8Tz${aNE4)^zU0Jzv$(j-qulHPh`SyWLiPH=}E>wtKtm zeA4nUojJrHTWs=g#V6%23y-aSQab<1ZyDXam(HJ*US)ZCd42uvjBnD`YctMIT)`@P zp?v>Eu2^m1T+zp0bdvq+t!=aI{>Cu6Ugp1QFr&pz7E!VI zW#gx^du?C()MwrDxxU=)ucG6ts#>*>s}{@k!sC_P z&%VC6;xxC}63)6K9xaPbvlxzi`!6=Y?gCpi>8?S65)6q48#%T|o0{LXu z32t?pJfls}*z1agn~0m?Ooy&BLP0%ZhLKxbJa2AF@ti23zvzn5vS+^2E#v3OC>MxG z2j#e}mE4?`;cUo!(?rK=i^ipCl7?P65t~;Xo@`Z`6?k*1_Vqa?|Jf(qbSgVDZF9<& z8F!5~Eccylb1~~?QSl><9j?O5wsv1yeM%#eiM?&o(hm=&wz2B>O`5UPOIJzCKa5A! zEAjN?@T?PS8VgudrY~-BWBRq}!ae|aga;@OZ=U(fK@nW>SHTjhfTv#?8nBdc`E1V@eqAM_4!G;{YI zda1;aXT`I7vVfU@^%Mi=Ck@g)h9dqUhDSBnHXArUNcerhlu5f~(J@K)Edslax%_8* ztvn@->!tR3lZ#5ix;=X`JPq}JX>{w%5m~IXr!A^=q2ULuSErgH5*II+XSS%w%Sidx zi8Dsazi6B_zFA`2&2#IIhl=IhluzeWW?#8{Qs?9k%@y<84rwpavOQ(wz4(qzv9HPN zFM_Amearczt+Mb8%PHl_SH3KA`sl>H*6@TvD^Ji#3vRt-4{j}5wzuduRi z#}lrgnDCa(t6wOD8aA&pxnXLRWWHyE3-4r8Ln~fe?`cPpU6&Xf5h(r=a7)lNWLu;~ zZ|k?);v46d-I4S*F1%grxJJE!>v~)y`lG?*;A1{1 zQzkAJV`AB{+3(Tah&H38hGmO9SI@0FXSrrd-H{H(MICi3)Z3;AW%M@o%zKeB#o<%O zqRul*b}6m4pTwm+@ekK5)%DeRMQ7LfI(4edi(b{~wY0S;T3M$*&LeEc(sj{`CP@he z(`q&zd3TahS_JsB;)-uu4nXw zC3js|@!96)1+yzn=3NUn_-wsyeXpYIR$BMmtzEj;_gG!@5`X*kUUR?fkFLV{zKyR; z&PbHL?I?~+dlBDu*5>QE|C{UVz6dSYXZL5z`FpnSKc9}P`EZndg8lys|NR}RUzhH$ zl{u*G>;6mIMm#b*bx&CRpZU3k8}l4Jots`x?OYIYfKlp#i!N9AHW>>8se@^e(o6~S znx;%u_g$sp7R1TEyhO#b^HExf)ZwWtt|DvB@CL3vAtb%WL|bcZV{4yL*TQolhusXl z0_9tTN|Zvi*IRb^Zk;v7Loexw&E0|kx5P(0f~p$MyjtGYCX;!;E-{VD{m>O@C^SiH z>PlWAL641AAuG11Oq{>rgYJq`r#v$jHEvBT&?;RdI2iV6QOJ*|GUb?-ODgSG1fpA}6@o^$D~ zTgmxk*^ZQSpBuWHjV}F>N#zKhd2~%q>h&W&$NZRQ&k$svvu-DET3n0ofupVYna!Tw zdP>_`ZI)(ubV^?oI>ff@qVYVp#V0OkF$pe8>{Viv)et)#VRj%RPgS>*bEe*o%^Nlr z_eHGo2uzB&*vJ&JxG?(iEsbBsb6mElSVyZrh&npCO~FsM*ZEeQ!uLzZK{vn_cdlLY zQ~G$wx|HirG?UF1@7Abrn>bx_ntAgo)^jY+%MWe-&--q{PoL)#p3T@d+vk{tx#ZGK zdL>b3U%lU@b#B?cG=s3GDVduN>um|*NfVZO-f-ygHRf3U8TqRG1|OUE?k?hA|0*&* z{_68nVQgY?lWQdZ&P!G1^<2F{?vqN7$r1PXr5diRGLp&LQmwYF+Z46HhPPB9)zRo= zivP@4N)nD5OD$(E=~8b=;!8fED&lse#UdnFbgi1J=B;nOVr!Y7H}HWe(avU^-ce7F}16F=4+;L>^fJZ^i1|~ z3y>gS?whmCXVam|xair(!#YmRC{_-={p7~W?Q5odQTe7b z>xrDvmUaPG&B$xsjw{&$8ryE3j-1WqwJ1T@$8=d({beqv#XMU|4!zyBT7v72-;C5+ zFO{t94P6VRj4t&ty*-~l&1k{fpdF^?O!SR%W&C+$gO6IyJZXD5(@A&j<HYtGnjaNsS#G)AYl<{FNMMv#$-@mVG(< z#r9pG@Bym_jf}#Kj_DdPl z?OL;E>Go4a|7XsaD)nslp0v!aF zUi)gUbg>#!&8pm8tA1&lU*$GBx`I<<;Z_C~x$~WUQ$K7yy1VaTgUyEpt6w*2zxsF} z$$DGrZSB2U2QycjF>+2gRy||iV)6fZo6VV5?+&b5lC@FZ<#~pK`^{me5PK&mD=%qh<@nNgPN!(6r9ik__ zyS39YMmaK4MqOI@gSOS@BH>R_n|~DVmsb*6#jRk$xM=NXt998Mwoi79R~9^KWv#Si zLWT7Pzb*PD&RTum*8aDaI9+Pm#e8&kw_s@2LD4;~-+ykX7u=Y!x?gzn_V*m>Oq~rP z+7cYE3}#+*2sV~wn>GJQp=8+N-U%D$OuVUi{{ip+Ijfc_M62boINZ!w^{hZPTzhU* z^rnR?Ip<$6b_$kWd*g8JBz5g%_hl2(%f)i zpP|5{6@m627p?QGHmuE)abbzXP0#GII6wf{h*=E0YpOJ{I= zj<;MRTO=q9ndOLAz#vIvx#Z_k< zB~JxxnkU5*$h>IUOSfs2TklsKdpkp7*39|&UdMK83lwSbCNS-Z|I)v6mE2E-`R^n9 zzdV@!!@+U?C%JvrM$-?va!Bd~dRedIRxR4-eO`H5tY8nzsw47WPX8}Wwmy`zfxlD! zmB-Re#VTd5r}|uA5dFj{c7a>Zs#C*ra^Guh(7$D=nJ(TbNZaz%@~Ek^P=SW>Y4a-|>-|bog_Z($y=v=kKhOE?Q)!V>PdMg`v&j zI_V?ZEnF-ob4%+-I%e!Kt$E$?3E}1G$+7+l76$UshQf zwfmQ(`R3~L#gC8NYuX(o;`5hjk?$09uFLD0U&}}7h`+rduxGM7TcFs^D;xGF&tUtx z;ZSzKk!b#PBFi=}n!zF9R;9VDUvL>qreT)kvBL_h*_|7nDmwI6@@-nx!*uFc&Z9m5 zXGb}Rhf4CbO8OV^sm|`3@^bU40I3}n%dbXiXiD#2Jz=(4*5Z{Dmsi{}s_QzjQ&Z|% zP*?2|k2N2&=tRSp|tPe;}cVJ zE?4eZuE%`I>?r3uYkOY@`$=BX#}~?+Kdm|GXZOuN8>gH!$-8xo;f(3>Qvo+WN{D+e zJF~#y1;buZ$(}V9tEO&P#eAk`%8irtckGwWl9=wecikCYDQ>rIi!N-QB)-c?fKTQ0 zuK+V49{$7C{rkKQ?mu+2a`RE1&GKP;C*Z&yO*r#K6~TIjYYGrIR{;fYuym9>-1g6Kv_rdqsq-d zscR|^Z}?o9@Wn>l$41NhQ>dTSnYAfCOtKSpUAfAfD<6AjX=JJQ*8|g|q-I>^P=9|Q zKv-IWZ?5-V@6`u1csXv|e9Lh)OnB3gCv(mO%oK~9E6Tb`G}JcBi)VVK+;vUU)DX3` zm-ZY;WG*S`j=CtJq@`)Qm}^ht)c-4IxbM7Zq^ugFe$~lQkV`V?j@4|b)g7}JESxjx zf^uWb=2JeGCm-3@EW_CzGTG?van-+_y-$|!47~Gk@wz^qn0v~z&g2F+R@^b4tG?vq z=80RlZxuUeaIf6K5wt({$c7iu2P=(Fih9iavUcVX8L_*2oO%yD&WKx76SuHOt>}&6 zHrw0hl$EybzB13rYwC(S%Xn7tC>~Gg(z@I&ce&XxW#-JP?h7mDs>XB8-&7N@RfT_B zi2Oefn~H~gQ8nJNt%iOnuFTSrse(MmM65+GIx_rH-hafL&20l~bHne%n}U+Nr@VDM zQPLsUq27MsUP>cR!|tiMM-^TyT69ilvd$W(j?*{(n`EssXii1gr|M@vhZfe0(&ceQ?*SSrFRFk`2X|Nk&wK`7`A|E z*LkN`5vFE07o6Jlvn1^JqX~Jz$G*BY?CP1gXshcVSsQo1DB&+lAFc>k8zatn^}_O` zJ^U@JN;BuJ>S5rBFxd1-ZOxvO9$W1XtuVa3Q0*-9rl&`j#dn5Wc(Gr+aPBROE6=8e ztP8MT=CSJDg0N{XF3Sn6j(Qor+CciHjNJr-n2Mae*OFTuGHtgPa{aG2*?;`xjwuVG zJGIv9TYDI(?wa#r*1N+R-IJeX+|yWoW79p~lV(yHs&AiN4&A@#z{Spr?u%zOdvLGJ zmb=%NqG{Rt+*bAEt-Wb8dU%|>xld2LIos=n(^b!Bu2*iIeB!n@^`YWzW|ffHKQw*4 zZ*wv6+z+z;y?N`y39@{91-C`4fCwP~n!B!b`S^q{!z?o|mH>6>j9j zX%*?TNk9FqV&OykTIXvAbk0}2p0-CMU{m&*o{Q52S1N?sa0>p|?0;yDP^9s)I-Omb zJFj(#ic6gpjtbXR$-Xwpx!lJ&O7P}ltCcD-&MznJkWCV5PJMXftQ1|> z%I|02NqV>0`sv*@iO)Aho>=7=^H-1K?q<6*JyGLTfm(T*FMJ$FYiSkbZT!!hG>I5lQz2hb_z*p2|BuyDC(u^6%rhnMaR2@LJ_@ zwQpC+&A``!LU}Q_tsY86b(AgLarEmXQM=a~^L%|*yn6dZk?W7M*OfEXvNr_FM6Uix z6f3hZblGWIu~0YWT(hsf^29E=vg^&84{!Z=){pUUq%1|LfOc+h<*z zr_cYZ^w+U3zG?Sm&b8c_nkQ_wHu01ASvi;cZ~M-)^9kb}z7@W_JgP5wmZog>n#Liq z;<+b@0Uc6FoDO*U_5C$3LFy479b6!-RqS#H_( zvw!iK*$v?~38)J;|9IJByWdT-hHBa?CSeSuK;3sls{D z#aDjX`!@@Bi{whBtVwnBvM`fpi*U~uWSL>{o*lJlxF(vJJAtZ9E!$hcSPVqwh z$h!LOG%tG*hy6=5IBuFNo#&}IqFi=k-@3^T2fMCrdi~V=Ywcf7&+^&rkDVtZ3+ue8 zJ6@-Eyzc*jzSlM?`tkp{68;}*xqZ0FVWDZ1a)ZF)RE2|$ky~VZW~h3%=}1Yqom}90 z_(+$CzSWi$s?JmT1Q*r(kzn;=nWX0JWH7Txb;?wam`y!5i_%X0pQLKrbY`aNbJt$m z@**Co)Q5-LoSd6%Rt7yiJxzbUQ$rWa!OI+xc5b~=jGUL&hV1v_Bic_aw=HGW0B0a)uCC}Hbe{BuiG^}MTB>% zqu;p)-wmhe1h`e*Tj~1z!KD^K=btq@il2AP-P~bmVZwFjqP1=RomsbvLyq)vzP^`p zskrTm3VXeu+$^))8&OHwg}0==KHfUBc>0qa7e0SBTy&(NT{rFQ55p(t`x7VM`%__< zd}?##VYe%@0>3`qEO|6->Mz5WZ(p-Nkos~neL^m~?ee1%oQf(JB$!<{Dpb4=T=9QF z^`Z)Mh1UCx%NNu=o0SgYsNDN?pw#C^71yZMHO}QwnQbhJj}c`w|rID^Q`SVEvFQ1v31v&ece!9YEkOF zZBpqazgS-;9S9B0bia{1?PXZ6?zI^S^X*E-VmTBN!dEVtS0%n`@xE3UCQp?IT5C2P z>k5m_SSYe;-L|$+;b8g3E-~+&x26P#Pr3SJ#zxD+kTpK%^;(5e&l+(DdUzjHk@dY~ zYWilI(Z_55CB@_g*%xjxb)9k{a7wMotk9$aj`e%)bDp@bWw$QriH69l^xg!#!iQbJxvrV$4d2k&NCMay{gSoY z=UzuS9B}>hVyQC2ft5=xE&Xq`I{59;&^NV?VNoG1cmIXt9sg+hJHE@-^<|P-AbZfV zz$0n?Au)jIQbEm_}oR5Xuub$CGG zsf{Z(X_mPvYM-vUbALhTnz?hh3tn`|Y)fKny!-P(-i ztW``jemtKcc-oo9t!o-it3-4eq&PD&o-JU>yzQcpB*G$l#$I{BM2@C1p+%G!c3Uu#SVq*ESOJa#o{|$#2t)CuSMQ2^)JS1<#RoW! zSu8B?S#9_@-k&+*`>&Vl>m~_%-CeQ5^kmx}u2bt}Uwa?3lU-i6RXFae(N#@m;m|3| zLO!gkQVk8=_%3YK;w38DbEYp@wp67l@=Rdu)~hEJMVVIqS)!GiC3Ikd(NQ(Ed0W11 zTf3JrxTxaH(kDJ%9{UZCVn(A$(AyaDWn%Duyn7(IDnuqGs3`D@9gdEBo=I3GqRwrNehEyA=#Xt!^l z{_6IRbHjdSN!(q!(fr-!&XBC@;tv*-@2ff$J8y$k!roU~dlzhc-SfBN*xq-?d^;Cz zFJ#+2;f2L}i`FMSY1_DFsTjHM*wQO0dqUuVV9<5fPlbsL>EGrvPy5gm^iI&CbIX0U zms57XVO%)LjKfLd)3sg4MD=>JPB;rKI??bi$yK`SUSVldS@Z3=3yW$kmI^IfG4uY> zi9EU|qP71DI7^5m{lC00d$HspcGuuPI>#!H6rHdN_YIbJY+4f>bn#4~Nt}&!%)^j< z73VYe7Kv|=V&-{pVuPUh{5?~0)Hs6v^gVOS+@3tUKv|=*cv(NQxcOaa;hFaDwoa&5 zx%!kT`R#fai_bIcud3*JKJ>D?J;jf+HgeadofnNO4&V7y5Ts$g=34NwtGcb4Z<|jA z&5dzY-C%!Rqn35bo%^${e2tex$#bgrvF@BNj$#T5(u*CsqT;?lHpp5nwfekbYB z6Rg3kimz6jQZ0;TS->S!bR+cdY_EetO}SjVEaM`k9*Hfy`hkbNl&34#!9VV1=NA^S z?1KL2or1MX!xu1cWiVX3&3Zg)t!M;m7~Oh-yynVENz4XM0_1S<+ccLFJ^*Gd~t;m)#fE zjWz6IT%^HOF!zpltKjDuiV=Usr9B_t*?86DT=<^9opM5Pf|17#-n{rpMy_h=?azCn z8)YLz+#Wu8xgaEhuQ@VqmBXcw8o9L>7V|e9eVP%`v2aqj!9!a$X`e4#yO-RU@U^$+ zVyKp6yU!W9Eo%aUJXp4_k`~L*ru;?%i4AH7O(NZ((tjqsd=W1pyW)$%|7c70G zCrC?R#o3f8fphEMs7&B-an@mB{};jfP3p*wD6fOJ?p~O>CbIwQpHy|hNKQAtCr?^f z8mE{Q%70(mt2X1Ti%#EaQR!~k+xA&~0e=@;|4T@>yS-&5-`3u9O*gxgW~RNDnUNsT zwpWrrQuE&T3yC{wk0mXYR){<$w{v1)%Ho8D7Z>xKD)JDRvmr{F@l;X7!_N$Ns(ywZ zY*ozjY5Nv2b^lVgghva_9(kNwI6?kf!1aw6ycVgl>^o6dn10-MqLJP7d_!45*XbQO z>Bo3E4QDB-H$AVv(xkw(=)9>Q%Q5w;Hd*<7&-oOk8uq3Cy)s8z?Bex}>imlTUtDmU zroC=X_XNlDs!uQ4g-#dOYc5tTu|6G@%GEx9d62|QT$7Oq&ZLP6c;-#ir=mP&Lo|}I)D_j(gsB|>zTnIci*;{PEg+2FO?%tfk zH_N{9spUi;fvKwh4W*Xdnm=db{AEnNvuh=-B}J}gNV6&?Qu9U~s2dmGq zah&V*n)v_0%&2E;H(i-=>PFYkDY02cZk9|=ieus3mXMm(m&zs@Sh>V1Z<4K=W+X>q zu&ro}MO(y;qm#AVwufr}2;d5B;E&9F*3_u|n3q-Pj_Br4Q8PdPtOQ31qjS}vkMq?F7-dKbm6ZT6X#CozjHFYDzt0M9POnHtVJ`Xnq88SpERLt-y{7^7tYTWnErHS zSuE#_1=GYP%$>s7c~MZXu0lX_nfuk&3mq@q&t%^1j+k>aF`cn@LfXuv{F5GMruEbb zteCjq$?<0wloq9*VG=l}c2YP~T)(Wd`$zZDpWd@V!Y;*K`QM_WGE268>XnEEKqRqbd3Kis^Ei_mbXZyp0f@uub}dLH5!ukMHa| zVk4)yX2z+_X*b>*WQHz~+w9do*(-C`hq$L-EgED?%2^dbI&h1OMx-X(df&MsN? z?iUYp-KuLXtCm|mm=>72+*k6O+sx}z;*ZvZ1n$UMvuXX!S4V!|W4U|B_s^yEiC>ql zl~TK>@a%R?OX?n97SCmeO^)AQ)BBre_C~k=DO1JbH@#c%@X}i5*ScG}p0Tt)dz~WP z=Gc(g^?GNk^!7CEC!#ahpPx%o<-cQeufQe7WsTdxnfx)jaVA}Y^=o^@W-0E>Q2rLM z_TI8)YQpLTrk`O*W-yGszVuyk<=RsK!6;ymhwA zDWKSb<4Rwy*v|akJpR6WFK*2<+Sj-t=a^c5+wA2Tub0dGU-{fKC@Nv~<|fwXbB;`k z6V>=yv`OR%lfL$2ttAeVyv0r&c^t&%cj0N7$~vD12J40TpO)ouI(fSWefBo=^V5m1 ze3RmHO}K38dt+7obAhQwyeC`UL|*;ylA-VHiQeF!l|9q%Ip5g>Kin;Z^OsFqU-c*RctC>X*LALE zF1A1W@LO)9$CXugH$32Yq_s}Wm|IMGYsD01-DT#gE`cJedF5XBNy__3%JX|=+JD-_ z&-ZZ4sn*p`a^D)PjCD!W3xAz;D{bf0*|(Q1-oYv<@^6J@-K1*PIZ|N{8QT9VUNhof zeRhRf`c{jo-00dwiEjnB_j<-JJQk#KN3->!$C{JZmU>G3U&vbeJhyRqA4hJJ$Ca~9 zvSN~4s(#a}tlSUF$)4DBrzka6xOvT)D`9n20ZMvngfD;O%~Zcs=##WRecA$**F}b< zUk#hZRvhb7?|KuEmYvRS>T_eJdP|3q@v71etH+W_Z*!R?uI~#Kk8Mlc;;kM$L2UAL zv7=WVZ{*LvqwzLC^!B}sl3BM8F%~v0R1UeZwpB7QsQ1QZ-RK>^N+vv7ye%i9JYLPa zA$e*zMJPvlf;?d+)RS*1;6g9_%O-i zWP;>3OZ~55z1*%Q>9J3py!Ai7lRw{~wd~O3?&`DC-gd;jF3l_L>3{P?W5rF02~q27 zMQ&Ssj@wr5^>OK+Nna+f-#&S9La*&P=bX)v~49Iy0w zu(T{_T}royVQSHIxvlW9l!d_DcgH3^@5?r;Ec$(|)T2A?V@2bpD@`k|`WZ!C{C4%& z-F=x{*XUB)-({Qnp6%BBJTX^o`CiFgq3zMDL(E?!e)qAwtyLQo z^u0vwr*fC+Y^z_7rzGuk{Ib4RHP1OhZSAG3)w)OS9GT>JX}fM|i^Oa|-^T6P z`mj6St*Xk)Prp@lT^++wy7o`sF2!TdHr*DIdY3+>GfiRnf$;1nD+BMkmd@W?6mL1L zaK6~x?fst*XzWVwuM~~T_DGhzRW|?5@4ZFb^Rpk$p3s?9Vld~6Xg1UHMJi<#?>rWk z1RUS!D7#@}+Wa!1^v?e1@GtHcIi|AT$PLdZu9juqeaTPbyzWxYlkT~?sq+HA{SK~8 zoxdhy^76B3ySFz795dZ5!JT}X>BuZYCe}@o$pZf$I<~SM*C{#S#^czUe8fa%v1`w? zZV~;ilZ&1{KCThv)+gdQDP`KkfRJrHlUkpio?#HZX^Z61G~Zd43m^0}9Z|n9&na^n z%SuJAprxL@X0Dk*J(nkG1$OlasUAKvPp9?YA4x_Hp$(4v+hn!H-bQZ7p6KBCT19HU_?M>U<#4mAJD@Q$J2xmFd~x$sfbk z$%q?^a4dQ|XP{t_M!_5n2%4Gu$WV~X}x08zuo+{ ze_5Q?AO7>|^80;4kuNXo6Y&h0=xXMnS$IS+KF82a!gtHXeUhFz8|($7ube;5;GELT zqae+*alf4OuZ#P>)s+;vE9cfs^ipQuvq`DT;F42Im)l8??RSpwaGFhsF&5r&CZs9X z_vVcrUn`5`U{7DmncQ!8TX#$Ab1(T8!?*g@9}`ba-3dx7_uS55K52f2=WLSy@eeIM z7G8?kJi!}1vi*XusO;u5^|y{bW3a(4l&68E!9(F{Xmo05=y@*Z21^#d#aH$IN8ff@ zZM5@L(rdl#PIpTqR4yD^sh8Lp8+J48;~`Dvg`1jQ8qQcYS4;Cm&7+komTyv6wS0Ah zms8i&vPZeAbIY4J)zhCAO^=*?@9x%H*HWZT8)hc&`li|A=hLC6%TtuEtjlGkVcR0; zWue%obxFgnLD#Axu}fL4fY(ss&<@28)i{Y1CTF)5C%)WJ2z)ptQ17E_+vRG>Ctu=p zKDkbfmHU}CRk>{Ef^Tf6ik>P7=4Cu>G2XW0MO*H)9ei!FrzRX|T6(SHmEooj982nE zFXFP8zUSSp?6oD6GGjO8pPH^Sv%pESX^qg{uKSbtrh2{Jwe*qH#kCjKu3odR|L^Sl z181e~y#IfI_dGY#!9P(kANQq%`h-MUR@ZE<(cEvd^^yhe)ZK};$N6l$e_mN&c0;K_ z#NYZdOUa(q5$S&~z0+B$S8{75^WAUna+LkcY|GjEYyyv+IKOXlu#CatJ4X_Vj;s7F zmOG+-(fLD)84FWYueAG=dk3`5r^R{5#kcKqdlo7qpY|v}C-A7&&3O5`?+?#kJUqSG zrs(AF-_e4{_!7nBU0xMW`n*PEk;ch4Zo0)29d8IPX&2Q|meib)r{S?oCuW0h{;#On zdNWqouY95se)vpn zUU8MBs8CSo5f%l8FpvK+qDeD6#AByw6?0s;8vBBYMZ;-gSJlkxS#2C*+y5Mi+*5g) zzns-=Pt8W{2SJ`8drD0=KU|`rr^qRj9wc;KGCexwVQ2UbCwGlMh2eQW7c1O1nqpsN zs8h0K+R`hm+w$fV)o@P$8yR=bLOz1%*}z4O%1e=GOh z&@8Ln73=g`*9kUjOxe<==G*Te=#yG!@@et^fP8!I+4Gv$Jz4NqwnbEDMO>>v%EA|+ zR}%%VJo~V0m;EXyPOtaE_y66yevQ>Ev#zl8^-sPR`&Zuj>iDbqQro;Oi~dSZsPo^I z-TR=*ChA=WkFIb~u)C(CZ^zW8D2vP420zqJ@8aB?6csz?)s>r9CvIqddo(wQES<9Ijy;3->D|qMKDWyjLpUU`VF5iB=@@he7>5&5_g$3n| z*F@%996c=YT4#mh6EWlEYy1y#>%}Bqm)z-n*MQ5lXQm=&&bEe9(QSK z$=>jZYd3aE{O_1tp3A=MG}ptL+e|alGGD8u%@(uh4LaG*yJpJmBgC{H8iZyK26HMI81dO&QPPRy9{o8Y$Eo_V8ba_6V6I~%oCZE;GR6TsNr&P?S z)1o4Qf8NHAt8V(p_vdh@toYcXy~Zmj>Fm4%it6`zlqPMgT-ztTCi&Vk?$(c|&RYDq zRJ7yW%#@n8PR-^|o*ADywk6N}Sr9K6K8yd>v%`iZ28DSVPqTJi_}>#Ia(*cjf04cW zMSsumvVC74x|Y70Gik>Lvy!g6`8CsJ&M2sx2~B7!(h`;9chV|3pj)!cyCV4F-DPG+ z75T%qP1(9E>!J75B^?q+wD$g6IFGo`mLf+ypS54R<9`^8Usr$dj@xK$U zEZ%bN{E_dT-(prDeU%b?G>J$ue&L?ZPR`6x6FDQync8qROhJJt_su5 ziazDbY8?^j&eXqY!_~91U%BKzxI4SWvG&URg3IdD#N69_W+on(F7&}A_dwe$-6@&> zV{glzGd8Xhl9g;{{aB+py=SG5i&3kn}zl~`UaJAwWG z>YkW|`TI6ViGL(|GK4(qk)m!5oZ{!o`>w&mba-)4W6#b)V5&89PbElW_Siqz!QlYTL2 zAHBazvibFmrDlaMC-(pF`uSj8Ou#|Q`3pErHRi}h)gFInsi$`3iojo+RVQViJ-NT! zc!l0piT=Eh3;z{VH4Cb=;!a8}|Et^Ev}CGstEYP7rO)%X2pI`qo_FkiNnO{nC$ImP zWnH%6T^6BqQKZ%PSBsC^qm2>ovs@gTTpTNREK$6YE^4-D{Wf*aEAFnh);Y7aY~13> zGE3{mC-&Q?w63;wU0rs{?M(aaNxf+i0yl$}@J1cm-o z2RP2mKBlQ+!zA_6Pb&Q63>(hl8u_a?O-z2^m$l$!<|dV7qZaPa&J}OYrDiRhrgMH) z*fUqJH%EeeKEynUPh&gMv4mIe{ow?jW0#zdotb#-n&A-(|5T4e+bM6^4f7i_*c9vE zOw#Feae1$(%9gc>vuTBz%x=EyJ?HYCbYy8|DBth>KE+36y-&7@!@f;UOI)&i54ra3 zIip$P%vF-ik`%<%wtj1jdd$6)=x=J@x!6zt&pCaTrR(gEWrY&QHBwatmDRgG^=KZ= zU%c!6c^&1;72S^_k|R`-wW8fGZfXva)3sE4`)?BS|0N3o*$nTyoZhzVQ<+U~Sx(pG zA7}5LSiC7hf78CayGpB9PEm2-cu`ZqTla|h`kA#{hu_w51v_XpF||IwerDD5MHgJk z3O-7F-ca!2h~FB~jND0GPvkP+-n^&fRW-rw)$ui}c+(za89hD4DeA#>ke7S93dhTK zk(M=$AJVT{O={9&@hLgXx0$WkDcko=5x*z*W+B%W6Aew70w1n(_dU|LN%{VB(LEz0 zur}vdk;_Z7t1!}I^oKB%Jt`!7jes&1oh9U z&0&4cBGUVU!DOF>E$a1g&Ym=xmnZs@r+;M122X1d57NVz4v-@ z_`}B(hJKI89NGJQX$)*i^PiowCm&ts5`$>hw3g^8C8z&51)j0UL5upRcrS zUgtYMDX&bQtLU@UOegN7Al~&(+&j*cvWcq4E?1wrPE+o1$-Ml61@8lw`s@6E@@C<> z_r{AFe#iI;&fWCe;8gI*_5V+;U$#NX=$Ww=t8Z}ea`OeuC3B4bcR62DVz8XFKsWKY z<=gD@Iqc;nT;btgteC63;CR3-1O)VJ@xHe2FNbOo)rPL&9*Rm=m zcb90P57r|s_ujGwaYS-?h#!;2(V>nyOlsC|N!(Wao3km4?enkE)=~a_*vl6VY%|c)hoTeeU#6?@{Y;qn2=HI zYlY7`@8!fl$%{7e#BBLI!&Av{jk4CtD}IYk?&@hu`ebYJs5Exd>1SzqH(d4w2_0CM z+Uz1!{??OQpikxR6|=Bc%8nUzR}`S)e!Wm;(xWH>(h>^Ruc{Pu3lFV`8zLU2nZ46fSZ?Y~b}cga z;Md0E_9JDE0Ef1CT}tk4pU<}iGGg*47)Ne4*4?4_XR2v@n%Vj#S3XQ?_jGT#D)zO+ z*xW3EyCb|KSv$#dd6K$!XTNdap2?|^tG2|sZw^=;aApJl_YM5pi@U;4w5*t6eL3k- z3CE**n+47J!Y*BYyl9ii`efY+&IMX}p)+4R+o8Q+1-I$1wrA(g^vt=Iv9d4f)VKMs ze#Aboa9r9jZ_Bp{lNA;`IMG++l>7f&+x(P6t~vLKQ6N3sMn28Hs&Qi4Ksz_&sx@*;wSE-*!1Pmw%4;Zmd*aC;*rTR z@1jp;ey(kh-^@k6-RI{5E@Atl=}nG9F4qyb{*$IjUKk+EcQ-f8sWs6=A_lJ2Ov)EeSanIqiJU6jjHc zZZG*>y{s!deTql5THN7vh;y}JpGAm&v`~kuWZrJU(#2Qurg~2Muj5q8`Ya{DGF9hg zBX4u6K`Fd79#Rtjiu7c z%$fFV$2xqfcAT6&aZTQvnTG`Pnm(=k{w8w%Ig`ANYgF#%9=P(d{I8||*G%p$2}kuG z`8SvEaZx(DU&r^`(b7{#Dw@p&mru_(ajw$dx^Ufg&C~vdEX@WT(=;a2yTS&|=na}D{3l$#`u-C4 z_W+)A6RiHO-T2hJi+^{@c8fY z`mPfmVZW8^-mb~em)aqD(eAj0hJa`0$JBttbx%1Wqb?|E-*DRb`^2*aW)tu2o%rzX zsVz#*^?s9<^8IX4n&a|L;`Fk)k0a;Y5SwB;>A^-f<$cyOk4Sr+em6N|iqd^OulHgF zH)kI-F+Z|GvoZgf?AwXc&HuUgekrj(bM%+=>V_{0=5fcoCfD=5PpjK-XH})_OT$@< zZx$&E6^rll`2RXEqae4;oGEYd#RvK_sw^WPc8%Oj$A9J3<| zt0GdBH`Q2dGI2CN@?fI`ckPlRCY=QtpH6+*|H^>(n)`wc8@7C1vu16R;OW-L`^IOZ z*w2f$*#0mq{V=oph+R$n>g&t-Y$|x}c)53+y~u3)II-f=#CThwz22oN-=@wldRoP! zX14Jv@A|tF)+c8lRWD0=-t7Hfm)JmrS8XZ0lh4i+oaEs-fx+|qOox1>#-Pa=#}}J5C#hIXetBV0 zfZ?$t5+})cvg%6H*DKno_QtK8wHO;X5;-<>a61v&PHb@?IGs(QX z)P1?#+^8=zE-XFXF;UmrqEn3$*J)vn$=Jtfl6oKOt#FSam7p9A+mECNc7Ww05yIk9k$khH! zi8-kgZA)%C&9{A`)HOl(+KnETi>Au4?Poc{QYLIX5s<{hx-2Ov@#u_c?MvPhQLu`rj%#&4n}f%L>C5&E!SS%ELgn8@z%OkAH8mA?G;+S zdc%%BLz%+kQr>em?PTJfU-R*3_?svTI;dhLYlcco9K zN#~X^H;KK$%;EgCA$Z+$(p=uGKyda+>(`%KVUjo+6=nFW*iKb`hv!8HhZ)p9_$xm5(}l$EcS>?+ zgvWio)UAH2cv0^62YX*`RE%J`JMa3j%?}Qh|J(86e7Hj6O~n~&>pzv6ud98lxMO$S z-TUXNv(8Su-*h5jA+HCci^8KBtr@OL=PU%0=D*-jIau)N?t+i=o^m~@q649|4U zqhg~RR!sZ9;f6=EXBUT0RJw|&XJc5j$0fGFh$WJ_9~2WiI}%C`ZPkr^*&ey+Qplkx z3_%-|tn5At-M(|gg=NEAmAI~?=}%mas-5f13+L&&`{&4V=dYaIa}I^L39xE7Jv^x} z-${ANw;h_QS1rOJKl~Pcs)iS)m+$)F*vKk?5MZs|y{MWlb<#9NI2+ zY35CtY~IxdVLN;lukL8g4(Cl~&3UxB?Zy+W$OSn!w6sp@`vh@^U%zy9tBR*#VeV?4 z+gft!$qeI)AO9E z#XQmyk=Cx)7P%f;lgf~~M9hWZ!dU^|bfepm@|A4vTO?Te0)t=hY-QNm`63|9bF$OE zm}x4_CwdkwZt8H>(Yn+s!J^(I<>`3EW#Wp|6je`yByA7H#z{+#sCslx_P)W!!16^T zCtym$j4CD}1EYyLj*54}#J-Ch;N;6U?&OSI^F(BI%7a2%pI1S?6@nZ+>kJocz7wZq zKK+=_JN>$g-4S1t7V|$^T9WU2hBNYn@{N^!&eE$C+O5K*AE=(UJysc@p6kB*y2Lf} zw!890UYpqhdxSTf_T($R5zzJ`u)pemYJqc_cJ}F4G0UxQ&W`)cV>0jA4z;#qkJA$8 z4&OSTc6|2HJ@ZX;BNZ;Ptl(SLtHW?m_`si&?&X}n_!1|6x4&n2##v~}f{tmoXY%zX zatkUs7EJj)Q*ck;JhfX+myBs!aEKf-?O11=*FS` zD2b(#YMxvVLofC>y>LFV_iekAPq6l_!0xIoi$vo$CC!}2!7$&!(AR@;a+CTUHLII1 z{p(IW64(FZ%JHSgzgXl{t7+=W`L?ID`?*3pH!t3kI4A?j`6qzKm)r_C(Jh$@pHf1SJGoJ3cDR-V^Tm_$) z#>ovE;`#Ym3o+xqk@?2&UJaJ0l&?|Y}C0Tm2Z%Jx9O=MA*P|=Y+8M;rc(Rac^(QO9X zeD`m0QI}h~{K7X)uLj+R^Ab+3C<~4bSh6eR=-;(!0ivhwePVmJT%yk){N*h7gHn0h z=6pXQvT)9xi>Iz`otAfR-r<qUwy@mdmRhQ z-kr=%{JVU?Ezayn_b}gFcjk`=oXVmmj79~-t>2IK;{u;2UgRXYE$(G#o8?nuZ+rf zo>x7*npflgc?}uQ3f^;NUuWI>cIoQcw6*28nCIP-U0dxj;iXmUHtx6`@+_?@jwOmj zO;OWBku3_WUaY^BtS*1^{d8rekg&_qau-AShcA*kZVB$~Q(Cen%kAPE!;^1Kgi_LY zGXJl7_Tv@Kp@yU#|~ z^b1#fHhk6L<7nVNq2F$nDd=RhG_mn7z>aP4vZ=y~i2_aLYQZLI3KxR{HwZB}uzlPrtaVYyx;5D5s?fzSAv?y9 z*6@mk!?{sk|EudQboE~-T3g&+m7)Gv&7w(J^W(LkJ!&cwo6Uc!Rc8nawmaviwkpp_ zw#s4+FSx4mjkSE5VrNmRvuH`djK%_~pn`cj!ueH{_9#mqSt|82Fh*o~SNGJeiA$v? z9F@{GFPeRoZEHr+jtcJ^g0fp)uxVYl@iCXC6^`H5a&EZ0xc6-t)Fl zc7Kcf4d$rwZ4q+merp?hm_=eBf&4SGG1S?obT<9uvIW@bprnu7?hv zmd3|Tm*kvc#Z?|IqvB+iR+cB37df>TPs$5g6zHcB zvSgb1I(0Fz!qBOUlBRDG+_HSK!MDj(O9FOJSK08%nD?rRby>~1=MGzoYJw!o9KSjA zeNB;xsC~q4aPCn`(>AXVHBSx;?`21H5-RJKJgEB+9+}zcotMeBETKD3VEU)!)1DR8 zKMRW7^+k{2bNV?)2QTCDO>Q#X%k-}u(c?6(JDjM0N+b1hif6y1@98E#;f$t(Eh((U zh9?&3$h?pOMVas{B@4wf*A3MUr>mbZ>iL#ou|vS*M5b($;_S8-cg?K*?It@U14W-2 zbC%9h2{7_$&e}9BD`19+uJHfXkQHWG%_0TK!u!7oHr)_R-<)&#q>#qRU^~^^>>sKV z)y>X)6AoKZDeaagBbIkZtzE8Bxavpl{V)}Si7dQ^bHY~$MoyS#dN4F^sW73&0D*AObh=z z_s$PxcWy7-xmo^mP?4&5+Rhz|61Nq-DKFAdkMb?gh&mA46exIkDWl*6r{sd-YZHq% zsd!5V2)s^|Uy~|#`%CXG*1o@&t%W0sA6i67FSmYVG4mbE(#xhy>@KkvT1yvuXv-I6 zM2p9ZOfrmPkCXYN`2K0>!>`y(g6r99F1D_d)FdmMV$9TwU2U5{oo>fWz)+-IWtS`=FOIr~6X4ks6&!>I-p1M{bZLLGb+l{j6X+AGgvc;zQqy#8#`nL9aQhLq? zVbP78N2ko#ytGkZvkkYi-@TR$wTz})UkvuA)&{WskDc6Exa2~{x|xQ($7*zw6xZ$a zSI@|lOg37Q>Az-Y=Ibp+|5P@gUT*AOxjC}IO?TRC;f1RmJ+dVOwAW__X-<*gbZq#) z$~kE9md0?wtVu4}hgO_hsixx^5_ecA$RK!$16TBhoXitu={wrar3K&Q%st=9qT9Lc zN!vEbW7}R!T0LtG@$GK+{kqN9(6YX2mGA-Ki)%nw7XKmDV`x#gH$ij!uQoG@Oz@#4n2+=_n8&Z(ygP9If@@hUyh>fp|#^dj3K zAxlwINcq=`9felPKPsz>k4hvK&Tg2|VKd3_i|B!-TgqxIXW}uJ_OX*KPh? zSM+9DUcmaduh>>~d!IkZrmLX;rDzV<$283=MnWzd&Y7@9rupP8j+NTLS+I?@?T>F{ zTdL%C1K|?}li8NmcuwPgEpwVF_T;6FM+En4zuuIt6<{FU^y5k2YZoK6&sn0MW~q88 zs!q<-`jok2kBUd9vHQ=>ZYMVHs%)M;t=zsiP|@{_=j1Hct*iW^)zZAT3MFnmZFVru zXJy)9p^I$WQmu27w6_%nhs+i~_t^6Ax6Y(uYxDcd=DpOhjGV+OwUkA80!!WT_{tOW zOdjT$Ps>|+S$yJ-u(Vd?Z^y!Bd|vSR_kvj(%V(`vFiUaaPmM12a+RqUV_xlu+19vM z#JtG8{lC;@>s{MF%e!wcJYrndAvjcWx*=tla%fRR5-{l9^kq$>i$l zRS#~quI-w<@KT^<=IX86H(N#D`u`%yUc$pM#&HAFk-gh*9e9jS!)!O1LT7J z&z*Ac)M2|IE)#raX3CoX25h? zX*qhi0%=zR^{xiW-oD6o*TnPKA|pQy!O-A_`40mRGd7EDX3hI1(8(p3|IMtak-^sM z&LyXH_otsYQsUPxc1komTHw(7NVNxFg&J7xP8sKJVhG)I#{A416(hYBEnChs>91g1 zskuqeZBhNR;W+{~gOepMRd3-|HRDzi|Pd*Z%3!7w2kNSKWKg zv-g6m@kNd=1#PWerv(+(FD>-m^+L5u;k4tTjT}AN;>Rc7TePaWdsX)(9o^~Mtc&Ko zG^yM!=q$7>Ct$JBmZfJRq#6?)gg%(9>k|xm@TyVK^VUaiq3_|}g1Z(KETgi_hM%RetIPqjLIO75+saetrM{>0>HukVCxpJoSLc<)qtPq9|1)LZ+uO+xBEnC4{fWI3w5{Rl^b<#T zy=2r4_fDPmar?CATCzV@c^BSE{rqa0W7gdrS5hDKZj4gTmaxmVTg-U8D7#i&BF=|P zYC(+JQ2|eZ#76NwGI8nLk8K_unm%pK%tbacYt_E*Za&#@XKzQ3k#l#Zh}FY&+e~Em zHtDV2^gZRF-sw#uaf&Ri4;63wuQoeVJLS=|^^er<87ZfpQIDIm#qF`Vq)^!IRfUHi z=f3!m?L7DUx?d^Mxxd!U-EjZO_kAuUi{?DcY?o9!cYT^_&1dJ=YeXDc{;#Szy}i8G z^5wB}&yJllQ4(78PHfs@%ff%>OK0U5)lT40cPfxt$a7^u4eJZ>Pk(uK{k^UK;^4-e zGFl28m+deA2zRkvI{Bt_=hU=K*_WPa?LIFpr{>;0bKlEv{JR-0w)Gq^%emE~*j#Xi zLsx2%h0NmAGcLMOi(EXERJ&R<#AMw%7C4>~>kL%uMZD>>b?Tw{?`i1$N!hJWL+>*}g3Jbqu$(r)gWuBj?+Yzn6(;S+jo2#bIP}RQH z&b!s9XNBYI8_SYCa;|zAX*+Mtynb)%3RUm8J+j%8Qf6FVe^e)MlS8MFDs$4|p2Y^+ zX8gC{o^&KogI`WZRonC6Ttn`2AAUY`RT2DCrxPpX$TFQlNTEWO@!6|Oo=OUpa~aZJ zvh0|w@L?{4N0Z8-M&|dt3E#aRoML1s+&mZOFlBFR00Eh0s|^CA+Pr>NX?*yO1;-zCUX#XT`u#At=frsawozjRK~UbyDd z62*R=;xk&kO8=L#7@bPkeAeiiPHRtNROVt)^A|@p_Zr>OX!W<7xyJZ{U1TP+XY&aG z&$YY}lOEY_z7lj=iTUm95N6{@$5nntQhPmCU+-J2XMH(M>F`O7gDR~obC%Quoitp( zB#>(DN>(W4$ZCZL?dQ33A$IGt z(&>vUu5Zq>yp^)+#I{EUi*Mpe(IVbLHX5yUW z>-N)nio4sQly5=SKg~|3`29a?^ls4!j*YYKN_#SL8hJT9P;r^GC~b;&-_K1K_}!R zkxY#P%~5k#ES#tHXT{`Ix0*ga6ZFbj^kVU%7b~{EPx4sz_T-`I)w&GU*=v_Q=*oyF znEBO1Y3iH5Z+>4?x|OhG?XFL&4cfV)bsUeall#x>E~B)NHFjB??8{R-EhNJ0ro*k+jDfSQo$5K>Fg`Y zfoBXoqJ@MW_^>W>v^p8uR3kK<=cu_sAm@aBl}pnmJ+U#W$n-6Wn(CnSQr+rnXYriZ z!Sg>|S>o`t)2}7ziSM4P6DGS9g+{nY8X?BcB9amcqJ9@BqitQgi@g`GTzf}&QgttFgabVdwTYTPs_Hnn6_ot3di0^ z>SamrJleaZ!}(?QiH%!Qrxg_ibIDH(w|l(R|F=%A$vLL!dox!0|9-GJX6htaJKhx8 zwnX+8V;<2XLJnMAd5xk$6%ohHwgvL=J#UeGtx=Z8eB{fNDNEFSB~SE}Nl#nEV;kh% zbhfNbulNA`Yg4oxCQT8`Gr}NUZy)Ri5y&LBRt}7SXvM9gW z&MRT>vGB=)GhXNVW^y}Esh(b>>Q&(}L4-l&$3hv`7M1C~VSl%*7Ok1vX83pUtYCQ| zq2D5IM$<29F?}vNze-KbXvRwM>gC!Fm$rnMN$iO@>SZiFZQC(b!56%RCpK_KPe|gK z&G4{j%48=t?dR54Ci3y*MmTew4`}}@ndud|YQtn9k3_o?evuc88|EoZH1U6PUif>Y zRPBGJ4twDyL&nV>id>C`F*39Cq|Roz@wFQEC>mYtdv`)v^5Vu5wLC(To@-2uW$je5 zta{w@!b2st)03&|PpV?Qrlc#OWYW|WYQJel;%bIMff)CCsq z8cs7ODXfVIu{`~A{U#o5CLgh&a?xEAS^Turu5I)cS(QA?;gV$Nfh|IkA*#zAqE4RK z7?d`(SXCu$Q&XjfqR@g;QJqw+?(m~r(|(=vJlz(sZT3pJ^i^j)*SWhcOuly0ql{(O z>q6Zl5!Gd1)0GwCy#!ap{+Tnye)jHHE^oEF{^*DcW@}m3vF%9E`n|Bypo8T)&vCCM zH=MK$vJ88hzWh%*bumBxOt0gO80!#qX1>!+R_~|Eu1(w0$dH>Nb!BFtnyH@m8Ncvd z!76OLo&UFeKPggoML^qQCF>{i;JI9(>s(78MHIhp=bI7NSHCPLGFCd`t=XroPkNOi z3zehh$_VPJBq*(pp6dVN&W*!Yr+T$Fb;Zt97k%dWK5YHnIgd=#)sNNn6|p^xk(OG$ zYl(50!nMWs9rlauGn~R&v*~h2g2JO+)B2~Ft(oYXbS%N=kuK-@uH?f{HF$3y>OC5k z%eXb+ztyLCI;>a9;=9++Of`SM^r=bg&m32#%|iFIuFtxgEp~n7ij9|Msl7H$R1Uhr zUXhmT$i%l$KXB!<0(M)Ki_HI9E;O%LWxsRf_f;Qy4?W)Rc8l$mP`b%${o;Lf@425{ zza^%sC~1==!(q=Ja=!Ci>59Wn4}aGkI==j2>+a@9Zv@m+?npkWnR4J#ugLLVb}|B8 zQ~Mt#OIO>3v0M<@zT>E8=EOf!Ze56z3)&{P+VF4HOQ{Z#U?sD*J?@*iD?c4Q{K8_>%~c6Y z)@`CZocCPx|^~-6&@x$>-fTBhY}AhKh3EpuuNCs zxRC?L<4B!TFNK%>mRYiTvQ>c9(Jr+$7V|4(j;&t7x%*?+?*E@US(TRG->FdR%)r^f z&=kUb%uw#>&d!Wamialmb6Y&-W~;8X=(_uA?Fwe@d%wE64EFYfC>-%#z1@ME<-+u| z?scWi45uaBP8fH7x@o;5qvO}bhNda9o}7luclEFz+;h=leb4C~Uy3@8|MuK3aq5TB z3Wim@Jsv!+HG5rIcCX*u`}dWCn@-=|+k0Oo@V)L>!CJh5BimrzlT+f87QVf3giBfT zUBs3*#{4}mc(?dya(GDeDe(Q7(8L+gw6kUU?+sgJjb^@47T{mG=m3vBi{k{2z*V|g z6XKR^G;Eq6wYsxvr$FIL!_5{G*FM^~_X117PC<*LO^J%8R+Bc_XDvP7GTZEbkf8l9 zL0t{rh$7BQGdf*XnYcU>a*twm|24@mYO21WfiCA}ZW}ox4;_=C9st2`qIUKgUa!@WxVo!@mnBrvP!%LRmn3Oq7 z?SHjsWTVrez-5YzTh1+6_T-RSvDY+*$Lrir9x`*89=Xwf>w*4jEE=xSd~01A&QJC! zztokvP(AzB$;`w2O}22W#)LFc%12R!|8bEiuvna%WjxGW9Az9!&;R9anNHg#a|JHdU17cR)kC+;MRNO;gFi6Z zY-Q*D>HtADJ z|1!^X)=n_(^5M?hzcX|HkJAmmK2Pk7u-r3I@KVV{%Trr?E>ARnWv^l_%`0$t+T)PE z87dyPCf!Z0;v=GThDx;GdWI&hh7*leM! z>VDXFUV@sQ&Ge*7{?)TN)K`kmc5-fY+P5%~(?G^L!OCB7i|VY>rIQ_ulbp^UUwPsO zi|G%WNbMTOEXnyMK6`9~r$v4=ZSUZG<+0@-6GJXDlYG(g<98-RWQ+Zb>OHi#f6tQu zzQ2oXbuOGbt8S5F#(2t!yL5$vP2b)B1rj2rciSD!<7~HIEe+&AXM-ETYIetLt@NX{N z30%4i!kkNPG%QeT-CpH>uJHI3!LB(KYd=To6=k06J-vI)1qNP;MlaRypgA00QdcxA zv14F1FuKC9z?x%G@nwN+Tt9qQZ`rjbq}Mt%B=O9uj-sf<2{zmpUd_0-vBQ7jx~7G8 z!jipTow~Z7obx;ya{s5~gcr`MSMu;5y$~wn#daxd{(lv(c{NE~R;TQiES(^6o%`CA ze_Tm7nK#_!=38B&C_0PJkj;*jJ9&f6WA@1g^`_o|ioLGf0^9fSHZl4?`Ecqv!@`Fi zOhU#2X{Lrvp*J{QOkc`r_;JD_hM&`&+BWh8n|JB1Z<=J!CMj4dIr01I6yA*!`sSY5 zbwf1k&}_ki*-DeoU*cJ!Ic3k^HD@G0as>)>wmLCX3YvzmiqzX3sZ%T@SaaZB%6Ttm z;k+F4XFq!H8P7;mKCXDL$zi3jL*{|G7NSK?)0bAH={E5H|8m%zO>**t^YWXXaoqKO zGNCDKrAla}u;FG0t?2XK8-rKpE?ss*v`lRB`6p9@_0%W*m=^i?cJBYe#8W2RRb~Mt z&RdvUdb=ZnC$-2wlGvsd;~W>bqKzwX;taF1tr<>>^&2`fEM>wv>!!Ddtz?<|`16n6 zHwK4AL|+yK-<@8t;g8flv9Al_kDYq?L&Ue_Xh6jrfD1 z_W9mm5)LxIRvK;+cil+uu}RwsiKhH2QO$iV$udro0>3f>I^RpY^0HA2+BWCn6I0&y zwJ(#3Z)h)?Qs8+;uZd}5kcs0HC68wl(t8(Oh~WR<@Q&yDM%G@NS4)()2sGPdJ?MO4 z|9#Ky_eUq1T@swWb(`FxMQ)77+iF$jT-~%;`_R_h=&vrzHcx%_C?oUXX|LO5o!ZKq zH4;yx+KIB7sO|o5!MS1Dv$)4=vyM4(@SC(TO0*{=$80_rFX-nP94&c2b^cLNt=Z=$ zpWPB(_$U*xk%({-jcoh z|Iul`H!hl66Q_n<>|$(sa5i@7#s|kUE=_x7{%qf@(+6CCFO7Y+H%RtaTw|I3zod<; zj=ky<5bu4%x#yz$ma2K(Q_dWmCZg@%)0TPi|6(rn)yHzqxSgA4eP`1B1DE9PS?2d{ z%64#PIOE;m+PUoC)P_a_k)|Kng8%D`GOo+*KfPztgel4XoWEnI+uD9x^5IHrPr29a zom=0n4v;O+JhWTrp4%2Lh15G+?>_S|d(q31Yb;_z|howZ0}sp znu%`|?_Xh2L@LltnpOVe&27CZE|bpbY&_uh|CMjd%yR|iFi(;tE}oT8O>>CZUqd*PG)h0k(pT@yRri(fb& zyyfZx5v4xrbBap9bR|tG6Q(H|0eiUqzvWVO7SUzez3DEO z>ggLB3b!i>W^aG!x2@o4TIZ$k-1z3GU0f|UuNE9?%wk-gyXVG6(4A8mlEIOuJ5EnC z&wjV3l1KVNvRiSO^@RmbmvZoA1>D-2=%*5-P`pkz?M&{a#W#Dn&bFP&zrU#Vdz!M% zmlvjor}t}W7&todMwzH|X3D0Wf6XbPG=X7Oh_qR*LwCC9KHilNPPb0pcjlJmQ{KxD zFHeuFu1i|F?z8$j>BcW&Y`Gg*rK5Wk53)s1*eKV$P_ta7ncJ!2ei~bp#jU24jI;&S z^J3j*CIoqGZxvH%^0?VP#W(DNdzY%gjWQvZi6K6ME3O2USLmkP*H#mA}&vuw1%TUY2&@#V~X;!d*{lAlw=QoFKS>f7a{&^qxWQt+Hs+CP!Uj-!GoF$T&;JZu1 zaS`7Wt*HI$rV6^YsX7G2@B6iN5nJSq_C+PiJ#9B7E~TZ-l$hwdT{m;_i)GPi9FZ-H z#P&@KeYxYpx$;G|iz|QUZBO}f?9|+^%go){7EhQcxA*12*KaeHq;$NOSnC;*C*|RBt>g`8|96o)fjwd5*WezTZ2sx2XH3m_mNa#ei92OB4mGcG!dAj#B@{p?joa~^ENFPRWWxey?nR) zUSNl%>;w_lD8cZA@F@=No?e>ILnA#Wn9d4by7KN*qpz7$U9v8T81@OeMrqH|+jul2 za)y%Jx9c}_7Mm=ZpB%c$lE<$}Hy8>M` z^~B~gyzDY(ay$~H7}(Nh^+%l3;_RIG@5*QCFFFSGZ#pGY6`U6ddM0vjxhardCBn$@ zB|V!XfctyTG6mf&`ixQ&9GKc%*yc*=HZJ)n!4v<(iK&yV<}%a#_7huYZmD_Ev@|lD z2pV~*`oR1G*vh~FF8$4GnsHe;F;l@V!p4Zt}pqX z(y4H*+DBsTlxbY|c&zv}V?FLwIJD)q+vj&Ra8|QVd}X7O9duHv%#3}79q*-pMwOIB zLN}Lh&^=|az)D6%-c{6NTh9NIiBCd8c#f{LIF%O?xH06eQR%9Lt*1OUT8XYbr8MoX zqMl|SOVfreJ9NUo@fRwEhXLrB@tSHe`pcc2<9MZ)=?ySLVZKQ9l&B z?jPBzy=`H4_@#wB7xEUL$;;G9W;#55pTp;MRS&yGb~Db{Q}S7-(`KTw4r6TDrs5rM zSv#_xYH?&3Y}=TB&(rDDnKLZTVtQwMe3`E*`R-=Z@;#)$z!i0&Ma;~Qt#eX9L5&N8 z+c~w?3lhHEpS+%5aN;tVsP;C){K>Tpo-IBtt4h(W%lRGrH^JUW4f22F4EZRUF3A!%#~pp#{rR`Q=g`~ zom>)>+nZd!typczoTs|SxaUP&Xqt9#L7(0ZX0PaTPbX-^@Nu4;)Ggll(q?H|o?`z= zC-Kwlk~wwjjjgWmWLj0tU#;|1*)xz=Xr1Hz9cV` zK6uf}ZKiC=q~A*S8Q4v(woWK8nxZ6hH=X%hu+U@;6$_)6?AuE<-%nZ-vFnm*f`ip& zpVS&-`=y#^9hU_1<&`W}l&MSGW*gI!9a^Hwa9F(K`Vyi4H5$w(tey##mDQef*z)7p z$%h+#I9Dq;o(YLt8X>6c9+cnWt$Et$TdrH^F1eHYR!yFp21ZtnP z?J80&Q#t6EBD_}O!vC~y!md(A0d9IJiVv$S{4H||ca@U!a$x~JAT_p_LcTOpj7E^wj8Pc@nQmD3G$L4LRx=lvKJf9}c zsu5B#o&WWwk?@siJKk(to8UV$+gLSx+a}kAO;cBx@Ac#_2wO3`pe`hS-nYnoEpEHT zbC;|x&RVkgip)gqWuJFZTo%q%z0sTev*G&UxzU&ew~tJ4}D)HdE?; z#@i21rg>j~{pIAru*kd@UbBy^dm&oZ;UwmIr)^eT=xxJdkgaWUTc;qO+43{bKC91bzRo=A zJv~x>=jG?0asu04@4MO)v~9ZmpTy~oiY&ZmPE2t6lDTBhQq!&&QycgBZi!9at6t=F zNPqpmJhZL-L#t2M{HK>Ld+H>e;Qq<38NB1Emty*2uR{$yx)XAW^=nM;SZ5Rk|6HG6 zy)Dyo6@#ly0v8Cj#29J3Q zIb0TYT>m@QKa=Ty=7-4#)=aqAaK(KoyQabAvmwWfjz+mj+?(8Z)>`x2auc7G7C|Q> zB4k^G?Q7llZMiUCkWVuAbf?A@N1xsmIxecFf_{pPEFo|MU=Czkyq{t7r3@v)&VD+$?$MenMVZb!y&Ow;#Iaepv<`vI+Ln z^m9&Vx#htb^7giH=gIvur>-~je2}up!Nl{>+B181UVhnd^~c=XD=k@~J!PU_9yua= z?QCpc$eF2q1?_EXA6yR3yZFuywj5scJ}W5N=F6;2Zw;K?S^b&XHUu; ze$eq~Puq%?YjaZ>Z*Poqy3*y|68QhTW1Dg1`6Q2nY(59qoxQ$=r^P$gpY6lF-zsx8 z^jgej3BJrceScx^83lfUl#^94*9%(P%0ngo90+IXaa`x{IB`qtv7@p=IgAQdJ06^I zaeoqf^Xc4k4L;quiyycOoaBhO&Y&oCb)ulI&+jdsvWYityYO&?9&7#M@0)l#|D*Wx zi2{r-MYB1NbxFv6o;uIu&7ww;iLQ0x zk_%_(dnPBloRm6w@`U5!un3Vm1@3q5wj{M4iLhnya=155RdSl(%ta^eAC|ZoZL9oq z=lq{rT?D;m#(a9B>gcmPBPd2{_C`z2H7mGIFFE)Bmd-gr%g&Vvr&itYn$sw6BDx^u zqAw?#(CW24i#c0F{zYB!;axxR1WV3AmX60FJq+zR3{JU8Cr!8yEaZJ~CzxrQP;g7n z_D&v=+@^ybu0c5>+7I}7*G*VnJH=vY@XixTj#nP1dT>q`oW>CJY+*#mpC7+gjH(e4+RKIS(y^+LH>nrNicJ zOAJUa5Z}qb8LoSz!>8AGrP`JsQGp)q_rCOA>F`Y4qv~UkPrP;SdyjMJk z4oRH4|L$3d*hebIBCbD~eMsPlxR?8+JG0+JWZd>}d9!nAvEixzUOA4QZ@NY1ESi6# zrD@wEy;*aU(*?wO2&ttLDV!oAOIy#FDkt9!gI0f6E@nm3;bPMmGn4P|4Yd zme?0RGiFOnb>?w%mXvK=+TpG1Il=NSiw^^POdG4JtokK)r#oV=&PKd&SRAy%LvpU$ zx({+mXZTB5+wGh<{%vV{-N};8#dj;yq2yvqT?t?RD$Y)k3so~0-;8|zw?-qoaBj#w z-m4cTpQ}-rDUebpqnda1>Vh)%r!(Bb&xE^H3cRUJtgk%Au~Vg0plwP*phKpk@2aqu zrY%t?I>e@2|N5iL^wlIWMX~t}E$f+7lT07ysj{>R&b`+XxaHDubEX@2D_;EfHF_G# z8{z&zagxQN%GyObo05b&pUQ7_5_!Wd`GQkHRC1E;f{7FFe`j2@c**^kTiVfwUhm;b zP_YbBd#Jr9=;-c7Nt4={rysB`l+aAJ>-zs!d)mp=Lp2(cKc(#ZwR%~Ji^196D>Acu zRU1Tn8iYI!i1;vA6g9GC9o$&+yn!d30oR7L%Tx<}S@v+vIrwawNP=s|flWWp zuq8-wrp#(N@u0erd#5dr&RO0SqC6Kg6Ml8_iSwP>xPo<+XRA2d!!>uikMi_v5eYw7 z@N~!2GyY4Lt$X_B)`ZX?-IghHGiGV_iOQ(NmC+o!X@q`cV+BTT+t?Ub=kBR z_c9&@dnTz%$=oTrD*r0`Xc$WrC(pbIhr}+dh`uG8eV4o6`#N|K}5rW$)|y7f)01@ zvCwtO-4A*{s_Xkv#*&4g0f_Ev@CYa}@;Cvu7f9-HOIDOZ>$*1>4;X?>6GD*vqZ zuc_z!KCN<@%U^#a?*C-9*zbFmRBROMNN_0+V5|JNYTYz{mZ`5C&aCi$a)a@2er$v4 zTdt?&JL9x>Df4QJwM(|>oOSEaP3`))Frg)OeH~}i8Mh5QoZ&Os!dnGfWApg8`-+rA z2*k^1zw2aaa2J~3_$~F)ZlOzYUH9LdQk`V`+)s4jE>5n$8>4R5aVdO$+Wd)SWrs_# zQES4k`^z$fR-WN&7Sfr_RJ7_N*L4mV_dBZH?n;^fjRS!KRPq-ujJj1 z<*9x%cOKAL9ddK+1nzq|?yJ0xKk8xPp5Q2*BDMD6gKJ9CF-eykCY)gFaSD`txOflC zZ&z1!$tfjew{CU{WV(Ic;&QstL;k<7XRq2m_K6=z~9H+AcUOy1X zwBRt7RqyEFYSr;-BS{HBzp+5t8sa>c1h9FHD^!oa<6k}IJt$bYE`dg`_#XJ9Fi=#_KfWM`97ya zE?=t=QrO44bFF9D27}gSF1Hu6gr{A;;Ki}mqGDf5xa-6WQP~Cm_X$ot!n9*U&Jo?j z@}q0h{Ui14h1njwNk0^@PJP+Y^K*J?CU`tqyJo^-kN*76&h;+hHzy~2xy2}368NP! z=GuxjW4#$a=Utl`vR4$j1IeVD^#{@a?m}rH@8#jPK(&5oqLyQU((Q; zwI%w$-rGZc8PD~kw6$IdD9>I}<{^{4V7`gB$I*Dl`G#g%S=U=Tc-~)o5gK?w)I}xS z&({CiO}*zIrWK!Q``R}vef2$d*XMDQPxqhUnRwuiyM*$~3V{p0rMJJf^D<|z-?U*? zKm?P;Tow<92xj+u3yW%(hBB}CXie9WsVC!J?({$65%uPAImh&T77mL^p6>;$|KE8M z$iA2VbExK*Pw!$BzpRhCbMuXh|BlB|IY)aw+?&O)@%~hf-Qtxg+r?7InK^=MD| zgoAI}XP*%~KK*q_&(ny%fhRW0D=kbtDmHULM$zIGl8W^)-&^O$t+P37HcQ5RyX<{c z#qf4{_jRjcBRqdSoK)&n^ypH0v*?Aj@|V6XUA)EOxfxrearh%s`VbKE{()YI|8I)Swpy$>>Y%FnzV5%qJ4{|^@%u9NzE%VVDBzv3=)LnD6rMIE{@n%r7wdE`y^8sCVArSJYnQ9dIFYl6qwd>tv49YUxJtHw z(8i`{M+c!u*2JGjga4?WGJG7(WaM{sn|$g!Rkf$aGqN8&=s9yoVfjq!sgCZy{7?AJ znjU2-zh$D?Ma@MmZ|?o{m|P~?EOVi;dhxRrT4IKw$NP>?{^Gf~@N@P{{_Q$7&swuG zjvP<)Td`?wGJB2J_Z7+MoI$&{xhu@}D)=K+`?xA{H#u6e2z1_!-+8BS%LjVM~{xlL+u&%{NprzLcwUmRQO{rz3s?lRLk zdpN?g9%@J~lQNsLWo=k@!ojk)Q34F%Tg1-pi`Blg=>W%EUFWcy6W<(|?zzb2?TL_= zA-oQe-X2PdhmPIayx7BGQq-x?zLj&!?&!{Woc~CFV!dj1QA+WB&IT2aNev;Z%c2+g zujg4}#PE)JzcPpYzD+;gJ)9WhlOMJBSMy85?b|#4rTqHx;`Dm)`*MFOS-yQ|Ryy#B zC8gh%;qB@E1Kk&zGd0-$|K?|6IC%U0K92u_Jr}k-c$GZiz~@iaE4QwiHc4ysH480o zXHj;qM_aF}Oki3sVS1ryqlVg%0QcWvUHm&`{ikp-F3agrVpLu`iN8_BY(fW*&^#4q zFEfuu4dtJGDcYR;+J89gcrG&;>|?&%l_kQfB9+?H?xDE&lvZ(4suJ&&m|$PsRjVd0 z{=aIHp7w$SYr_*t`96j_`&o<%?6q+-|j+8Bd zSELw!o7gRFc%-d)WSZBhP>1-v6AksPQ>J)-{&ic=W$F~Cmxg~?mIOG*?EU@Wz*H@l zY*WWT8AJ1Hn`XT;Nn4q_Eh=le>qmEa-n*C0mriosLpd9l z1bKUD^=$lgF}67F+ezruBIG6*uc!y%)lA zRy|k{_4{rA)xY{(lg(Do`E-)=lKz&fLC!v_Rt2r@dULU}%Hm|zX?(jI zRs8qG@$_Kp&8M$S`k~#pc=fuex=VCd?|#=|D_8k$27BOvg!aFmoK*H~E;v4!i|2yP zi~0Q>#_-#;&Z_V|@wKT3Q0|GCe8|F4>7{noM|_p6h| z4m@?^GQ4#_1$+F2yrZZ@{)iB->^$$@tbb4L1R`B6=zmQ2Bhu9J~ z6pFG&|KF;R6b;kK@mA(uB!*LJ5o6w8~KS*soq98K;`}ob6neq^S7xxKi=Vkaw@Atj-C)tQ4TI;VbvF z_N-3Lsbv#nTHRFTgcnALi1~Ew?4267vn!8hvQ%oFuIkrW;>Bso%9(0CEy6{owuO|b zCMLZrba!s*WI4RTV6Cp6(9NbPQci4ZOMCN_Q~Y8Xw(o5EI7vahQ8gwZNjx{mIA5yM z;gFC5YsZBYp7`J!dEcDGc~6`%6~Dvrde@^VZ%zs)tO~g{^~FiiMTtksRXY3J)L69+ zzgTA3vN15%Dk|vzR3%2O2ReaCGnm$kq>31w-QuI6Jj?jpPVOX=RN06$O-IhYKGT%f zCvSD6nFz5>EIT+c*5jb5=ZXm>W^1y!_hzweTrw#oE}}k8biJ!j0VlRi^`o^!__tsu|b!|&urlfJrK|G&S>q*AsR}hM((0=YL9FCZMobHz#51VumOuliN4` zmiF83VC3v?I2!gqRxH@N^8w%XC#!!fc;aFE=B7l|A~(6EtK4d5B?L`#S;W=0)q9`m z*`_;Q^Sz&i1%7y`U31{sQU$61oIUMV9-1nz(ACN+EIjw=+Qbyrb=&*CuDP?Cr}XKn zefqlmyMHd4x9G?2g#vLx+LKba*34>E^^~%h^j7rBrX&f)GgCa*{ujKy$Eq?huupZ$ z!Y@z!=5nqN*)=Iiaw?CZc9bi}Mc=X$JLe?FX`XvH&!S1`o>)oNSMQjzyd$gb_+C7q zZ28hdwdhm|k8b5H3DuY|CaxI_!CA=%IbNL03;%V=<@M)Bw>78C>{sMoq_V)QKF^WK z_g80;SB!rTpIa}>=joTPys>smb>W^hfyu+OXTnUE79JJuXF+c+ZI#x2mL0g`bHW!^ z!?#n4Vh^O;Ot5oazip*q=}PC2!mhB*tHh4a{;zy6u4OLQ9WCvn+MO4#gm~m6#Vz}F z(fY38fe5SFUtN}6-syO@cyW-lp|e!sjJ%KeF>f9{UXeFx)5(}ghTC^@As2-R{86gnRN18EfR{e&)-~hc3Z21bcC#} z;oaM}`?sD_fA}JAT2vU%chQ%ovsLrW+`6O1ioU(dyZ9~o9{2S_9J|;)OxJbo-E~X8 zA?(JrN@tG8&PSl(^`j2{;a0^I@a#;b-n`Wjm#g+9&wXY4dGC}ak)VCccCX;oWp_ShIbT$w z$HnywTk;*Tq-39MUxJFP?|B`S?EP^lKh#*dHR|#aVYSom&t3>zI5#B6{BOMJ@}II# zH3Ib00v3w~zhA?q>OVj8|GF?&uA(b8Zic*x4*h>8yqdR4CwQG_*`ll)OWtI^`rr3{ z2a}b-%Q+s5)@9lCFIK%^Ufd6_scRGH1dwcJ==FmyMv>zK`(n!iojhFzk699?jQ2@ zzVt{TX^H+Sxj7&xTnu2XvO$t7gP z$^S>X_k3&F_~Mjz(1m-O)Hh~ac)4VGozvT;E?Jw8v=u1dcyjPE5L{ z9^UhO{SmGGH&*T2@z#3ZY1DCb-Y4l)iTvp*ZN+{curjRj``xN zL)#XJu3GGC^8d}@it|_HCWw~@P7c%mP%}}R%jLhD=duSqJ6tA$65 z_sF(YN8afFX~;a$(qtOv%+0gxQi-m4&_v}Ihf;EQ)34>6n-C}-`c^zOCvU>jSUKgT z30Z#$>(f@R>7*C-)hIot#ofpJ5-jF zK1uG?ja`r4sW4ZZcq;y8q1Y_l32p(EVyVy9tnELLCw%z$ty5aJHuy!Pt+rjI$1_!^ z>r1+0hIV}1hjnF3Hf)%5_sRda3$`5Bjur6WniN!{65nC?M{OyW>1wW%s~?86)jwFl z=WJM8=O=A=avM*Y*@-nz5+0qg(%b!~c~aO0&Cl+J<>#E7Sd6(i-Sm!!OSMiqlo7IM zl}CzzjmpLQtAc7Af(>7zEpeH`5wW?s3##5&&$Ay;Waz`4Q z?>t>~E9llb^~hE38!mW=&K2-*dSx;BMg2aOb6ih^m^)vYtP#s~w6=TmP9wSR&C;oE zohtTi>e{OgZ!(VCHu>V3V%wyb-(vi&pPxM4qn7rsRbkU&^J_d({zA5<=cj7%Yk%mE z-?DzbgDW$e-kBAd*XFS)?>Xt==;W1q4XJD=L)IBR*%fl3|4f#7>PCKc?!716 zT^G3TP1E&zTjKu9dxJZ^Ofc!b%)+`|BBQazZ_5&m+n1C$U!CCz ze?2FRo10Pn?SU;%bQby7JoP!exO0XO%f%33))cb`np+qA*JsS}ShCA4ahpnY)9Q@@ zi?-aD5cH>ie~vM0^3{D#8-ln_-&I;Fd^Ec~VzJLUR`#Fi8|#8~c6)n%(DJ=2vhLN} zrf1!oQavYt7NHmOy^il?^7xf_M+dygWMNY)fBADUX{&vAfxiPTgfq zp)pKf1J+;tro8&gTHW(YiI3 zpulL_^(lw{|33bs620EVuWo$OlkF{ZzPj}Htc~+N_2>3-dJBKB=zX#(!FOece_WLx zlk?c&*l~LOJBFoSbe)iwRT>RPVG9g=|zW2_^i%;xvO{5M3JNF znwHK|Bl{)HX1N~>uWVwze0cRgbxsk7vc*q>%(ik09@#$2pl(UBZ<3ha{cP_=4qj#p zHh(*Gswg~KQN<*Ca-n#O=PRb2pVD|7zRr4<<{{K(`hUrUPfv=Xjs&O$hRy#JZM>n1 zug~Oqkb%q!|BXp+Kj@m*P7jOt_E;lZ_wkmZ{L7D=TFiu>2EGe1w}1I|f_kp%;yBOC zcTfChR~Man@Rr`80`Wi>4r|dR@x1xgYlXdTvf41d-*-#3+4)d&w9n)Q*qJc7gnnD5qp5NrspZUZKZ^|Oo^9`j8+n!S#+8Rj`p@_M~_ z!uQSdK7_5lkz@Jn{a2-LlP0E_HYuGkYo7Arb2GaW({kl(vqbJWXEp3E_$C(AO$d#T z{yFvh^ffz_ODF$ly>)?W<11(O%c3z?Lt_8;n!NS8|7D8S+w$n&&RS2+*QbcD*>IxN zpF?!zi@HgC9t#}q*`4?I5xh95fu+K!S1zz>#)?hfQYLs@s8Q9?{&dXklFHLpDPer4 z*D-N9O}Na@d@(xKlI@_zmTBQWGO59>7v8je_BwEMS~_pOk3d;q;lH#qK9jf3xj)6f zccx!*v17oafXlt?AH#)C9x-}8vr+!d%d*MyW){UQSs-fmuzlNs^zhz*xv1uj=S1&J8$&ce{D}NA?6e)Jx?xMr` zlQQ06Gaj)9e(KLY>dLgsGV#ZMru`eg!f$oASR~$e%YV6TQI$?U zH~(t)kl9}PmRWA?`_IQm&f3wCz^x^~=^|aYT=(_2FP8Jgr*3!Ox>L94d-&9s>Ds0r z3NMD<))O~tei~DJTRS_C^|^boeDAuZpKOi0OMhyt-BwifOS1b{QR!P|rd5@e!aLqf zVM>*A@2-=KQ@(oYOKw=OiutQU?Gsk3TnfDZfJtT{ujbG2+9`+JuC(l_Ke6LVitras zbBA4(XPs|%6`D@rj%uxJSorCgLdUChMR%(H?|h@hx&2V~$_kd$mcFLw%Z2NY2YPSb zs%uyzX|-+hq`IOD#j(~w_s&iKxP8~fbb;qry9_!v=4k~bz1U@TQtYnEQrSz(f>-u3 z<~P6fbKd>fsyOD@D*YAmLMJ!fSoB7?_4SVLK|gZjE8FTA{ z9S>8BFkPCfqcrFwL%b^y|=~&b#kbqpCVLuyJp7Tl=)hY{f}8 zgLac?F>z^!bsxm2r}Nw1uE?9XXCiCl>RBJXM5j#H*l#bsZKCP(W0f*C>n|S*e7W55 z=CavWbZ1y?RDR`pwP~}ovsa_$iPzhHY-)~?`?7Oqp0Dnj>52a(4;q_`CH{eVR$?Wzan2ro>Yu<_2Ay%^8QzcaD z;+@Dcs)dea3q40g z_;t%}b@ubMcMol9T~}J`G5ztcbDzGq>pY&a?5I%JqobW`f-ENgWm9ZuI=4K?cTVus z%{R0?w09b5iD&LkIB}>ibpNdhPCS?PJ-<}{cl%-6319T1Snr;#JEq>XD1N{7I?j6Q z2Rm&yEVI02JNfC&pda&NADPNTUY-B9P`G{r--cPmg*UG_bQrA)jxV>bI(T#HM@A*4 zNh}-!3WgB^j12!-97L2@7y=a=ScJ8M_Cy3eI@Bv7n|9}gp~~@za>`9MkwuG7PF1(A z6XCqL)NQ6l{Iw-31s1zcw-7A(vQxmZrG--}O+>0h{bVO=_Om^e!Ye!`TFl*+qba)N z{4(d=a#OTS);O$Bo><{~qHw_t770$ir?cP!pa4PMnQ|X_ZuM#`7*7KRo6nYoDb3x>7m)hw| zE;P>NeB|1_Lp$wm{^47HdCR`MYIPM>(X5l{DC}Zrm{4}_!cV7{Y|26V^K7k;yyn}O zU(fe%cSYN^-O6A5;%YuWdnx&Um%YW^KVLdN+`jHUDfVah9u~n%eiZ=?|13-HH++?EoJZ^fq_IXOmG0u|N{=8ye z;@cPw-B{QVH}6KmWT(FNxJJe-_S9KRmTJn*HW!PKa`IVp^U;LddowR|i~e($u8+@p zdATbh@5S??9NF?0)6^X^=eOoYvS?U#BEK&5TQnddYGiI$&;8sQZVDw{ER& z&RiJAB4m|)%XhBk&d~5HX5HEOdk;!vZ@>PpYtq!etta1ZYf1eYvT5s~khO_Ri=r+s z+q7@VoSmC*rcKF;VEir}opUvG*X~?aeW5Y^O0m?`?Fxs>`A!xblUiL~ z*ebXCq~Sytt3NZ^xH2X0_qe95S=v_LRQaw!BYgU&YT@lQ^ClXz|6J7b?&=@I<~Ox3 zH?>=Mdz#G9(5s%aAo|?QP4oF(E8_b3g4f6&Zl#Vo7t1J)u(%@&o!FO=cK#+mW%fuqpNxH|5q-X8}Z-As76YB-N(s} z(*G77QY~JY^Z4J#?V?N_TsFPB;^ zd3(%l&7PfwM?$yEwG?@`anZY0>s6bMUDJD)(8`q@bi$uaJ9T#H&(HZjJEtDlF75a} zq+tE6c`FYtQ&ePRipnr#`)x1v|5rh`RbBlyVlL#^)XyFbMxO#T0j2_n{s~QX&0LpQfWI`lDmp0l}lVz>7Hs( zply@L6O-a~o zMN9mVi_e&jxSX6BSmb`{p+q;we2ya*?IZRiHE?krW`6iAS1)La{7DgKtG5%~JzVbG z_E0~$S+~PJ_{>QMzN2ESHGHARHwrDZQ`fl7p`)6SEm7K6v1iH|y}0h6=`5F1_eDl( zP3ISpUpdQsKX>0Tz4@Q!r#%yw`nxbCY9Djc*Bw_}j|CdUBnb*mJ0;Y5Cc`)+=i{^u zF<0%sZ0wE_+LQWY3&VjXmBiX;k0utc(*4sE6uCY#d2SI~v94rkcJIr_o=LAJAAI;T zp#Jfl|LVG5SFZHA$lbUtWQDI*hG3(o0wdRlglGYSz&tyD4JPFiF5#7{o;gmKn(7?< zMQ!qM4}{Q7`ZGMQojUYoqI$IboHP(hk2pand5d=HfgJ6+_J| zKUI^fL8{tMT=$*zb!bjfJ6Dx4Vbcr`mr0f}x0i{j^OowYjyapGboYzFj76m>+EOaN zmKZFOn7So9n@J(2ev1;z&$k(iH)ncBuaxt-6tYIJF#Y?c%v0;Nwk>O#dh@Ydw5#M) z^|d`oD^mkA7TStF-N+NI<(=+j*cho2u;8=8n`zBnw@ubAUh{X3Yk2mpKdj#xlntLJ zORR1|6RRQ@BQlgmmOb~DA?R{6`By( zS9hgZaKj4M?dgxozpb05wN_%D$ju}%w@|w(9!Zs4n`NgawM}v}N|aC4kWId}GOgg# zgaFegN4<F3+Y_j8pn7b{oz*>hgc?o>^Zlg%}?6w@mV~5&B_RA^PN5TgBs*TYt1w z@=QL`vhA>K|IOo(n?B7c^l|e!o-%$w<|UN&8*S?thwdEJ|tObkA+3yYB65$?iF@W4nU@!=0|>nxc}&Z~fUk z_14AQ*|TKIO}H;;dxzP?{4wrjQ_av5Kb04(cKPb1W1kc(cfFRse5?QezQQhHz4y~v zs}4r*Qe`=MdHZhGd4*cHd;?dP`JOoG>F)j5YtNNWANXQStEU>>KR>zn;6uKL8+R?Y z&I**+@uxN2Nb^O-we`{u9x}(TYMAsU?Z39p^{-RkZ)G}i)!u8uInj>tjZ3pHw%?l^ zq%cwB#D{%}zpvf={?@FlcKW@g8?+)-oN8Ndt13Nh%D;Z{x1H`s_4u2~6*7B!<@tV{ zpRbuL+`av1>j(CmMoCvLhHcsZ#nXX-LGdRGD+>cNgAM}&Gs9n|wTuiL{~6d_BpoI^ zaA;-~)`~f?Vd3F+0cEc_9vc@O?Updkx^rUV;^X}a&RsH|o0goMtP#8_=H#ZOr>7ev zpPJ*jdD+?77R9gb%oO50Ki{F5OV(@4ii?XqCTqo>+OqQU@_@x&bG^PkKDa7kbJpEc zTUTFSpK!QK)_dEUo0~H(uZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$KpB)<> z9_|pXawdC(-NH&?^AH>3wx#yu&&FsBg=4-?b^PQe%5Gw4R z^YN%edQbFGsq!};k1Mq6d^({rooA_<+H1*HG0p97imGMuKNiiMDH3ArIO)uq&*#pE z#u%K>wmNBe!9_gRB=H2}1ohKqlPbPk*1CBrVpo9nmi()^aj~;6)!uYBy~b6`T{hEs zy4qKUboQ=KH*%hbnoW9HclX`pvsv+qrT6 zqYI8Y71P`JPgNZ0n=Df4*kR9i`N_Goz8h!16t4UEV##jJ@|P>ppH#kbZmqC0-vsb|L^yQ3I>;M1z^Zot* z{|r0}7}!tj*AXblYWjJdQC!1|Vh3Q*0+^+tMa!o`oFl z9*3eO1)3Ce603Wb9}?U3q1B*gAy2x;VX0dm+APj2@l!L6iUdpraTf;u{4Li#=( zy6(aktLl^DvpD3$4zuM6Ner4(7Rwd3IyKEH=x>-4D$iUgD<-tbtl4Hs(I<~XrdmeP z&oh%b>Lui~>^@Br{ivX39;s%q9sdoIKB3GZkob&d%DK)_Vr`ni6BFo{R@)R$lC@ z`VzbSPe$OM4$nz=74(>8^D+-dO`npk%Mo{{_~#U4 z__HTpTxitBBervS;7z6rm6H}F$NhO3w7lzNPu7!_A!k>GX)86ZeROtJ+}4NZ5A71~ ztMXd8Ps$_w^h&C7R{&cXa~$>*WW8rs=ks zzDX26edCzbw~Z5e*QBU>-#iudZPSdiYtqb5-#k}!O)puuBQjn&M44%|i;XXDl>Kbc zqe4fwuDNnB^LkyyaqoMdW_{oD!gqbu_0#vh?fSm=L+|>U z*)wB0Zj>=>=j|_TKCa&#{s;fud|!O4eLrWA z#Q}wx3JvGW6Pel#xQtHgwl!b5!&iL%h~T6T9pQ6)*nhJh)#=;#JETTk>U4y%Sz1`% z(=EwYzWlJZ-?wqXM9#;G(l>n^?KVwXIrT}hXywU(zD+T+{_Jaj)OgGcj0`%)3^N%H zG4X(FJZ26Vj|~eBHgn*s@uFOmaMySzH!nXw-@(w0151s!^_3@!3bVon^cqj`!gf^Tt zp5*jOcE`l$^Egrus<%o_XkG4D_3!4gd96~f7S2!QU8OO<(@raW$s}-%cWb$8-XxeI_ozIr7URUs9-RpO|KOED3 zzvs)f?Du}27h)6iN##{68 zm<&>lm-FeQ#_~0vPU&oa^Xas~ah=a+Os?mAK5OxO&F6DA-`{*b@4&A61ytjGx#*$3 z_RA$7^S56v2e|8gy%G|h`}Jx>`r5D8V#?osy`Ipn`|U=`^xSVZGnTLYb}MK5+i$lE zj_ZEEQ*u4```wD?Yro&C`5yZA`~8M`U$+M>r$cidcBrrW@uXMa_uCz>*&W{P z>EHg_fsqm1wgl%iHHMiCmzns8&uLve3@JFixFVMy)VBP1`$!+CZ5gTdqp{Q4ed zPTMEJ1#Mf}noVN3zB>CpqHXEFZx6nlw(;Cwbx_+fV?oGG*+G)iu(mB%Op1_M^a@H-IZY<<5^_#^yZu4lGS3}WectbOzF4;U z-L5y=Uh6G9zfb%9o}!uF7&(naJm}f` z=sC>>l+)PtemrOq&-?MP<9Ao|qoiGDe>}ER<-nfPj%2$2dbwixK3yhghJtq17#aRD ztp{f)c4DfoJQf8!RadZ5%RC&NwXLhJu8wd|L+-4-xi&uyv$J-8(ivE1?Vk1w{ac4R z7Ai^Xut4st^>ZfQJG1k_!*dIq&tJ8fuq9*FeE-#MGj}a|d38fFC_@onbrGMTV4XFN z*ladP)zu*(1naDkUv-^Y=E&j->a6(~Ep>%-)^rp-iLAQNGn7Vf7$3B=Rvjr4@?sIJ zvzA%cABUr}R-ASUoT0oXuxvt9U3y;GpsEYfS=*?$tLx3CGn-cCY_@k|d|Sog2dcWB zg}r6Coz^{d%OBg+Y=TtNw3yY3moZAGOY(`|93n(Otj3yL;~6+H5=*X~y;CoGE|qmx~Ki3npBWbUhfb zTcTx(@g+w;->*}h4ySBBAAUKb^g3f3Q`w}Le%^K zxK$d=TOQl8@&DR+H_F)mO}~9?;qL7ZI$l59ellv`wu(m++}}mtKmPQuz{5%D>wfN- zk#A?ToxSsQWkYc^_rn(*Q~%w0*u3gpyu@|O-l_zr!+f%@1?rDj`ShQkC-C6%+jrJ6 z>vr4K1kJ42UHsn?;ESZ}Ex4GVcNu%-$>%_}}hvL}{BrhnvqLq3I`%s9AmNoU=$lWciGJEI}W; zBF-$z`@ydGC-b9S#^*_c_I* zHH>F}{McU>t)Rd@)1XZ7(}YH06(#YRx~@i_CQj&C60+dIiKw}T{v1w=RFYYp|JLMA zUa;q;`okM115O>UTITa~lT@o$XkTB8?4BoW2`^7A$=IZ^_zj1yb%dAT+ewX&R;iR0 zMS8RSHEOyolx8?v*_&5TIHYP%x6$HBtMC&GNryZJO&G#aYt!A1n9Idw4Y6iTSz% z=PaRmqb)^Qg)2B7cghRteObt~@P(tvuXPh*Oqv*uY80z@O`gy-MMov}io5@-Ia8N? zntRAo&YP1d_)er2}lYNqDfs#k@q zR}RR}OJDKAd!_FjtE-PJdRE_(;fUDnb!~yegXO-NSME%(l3ByoKglRDJO9osl^tpt zON&JNG#Z@38J}LYj^ce7Z@J~*n*;ia)vBi=OgknVous}YmG@d=@ulkyN+}y&M;=Wn zJ+${!9^d9~BInbZAK4zyW8d;@W%>#mY3Y`mrVcAyIZ}#4ZngctW3rL?!OE0RsZrln zOzYy!zL4|x$gLCSmhITxsav*9b?w7hC)b{komzZ#OL(A*xS4^@nnKY_*I)1R+G&0A zddbmET~~V&)#j>lm?vnrE?t}~WZrT-aM#O#)H^~_ z^IakZ8?vYDHuh(!_YV5!d$Kgt{6WW(84C7S{3mK&x^rPl_~tmK=~E}Hk)EjP@_&!3 zTks&e>DSF9{&N;nRQd!Xez!gP&bM=l*1wR- z?mtg7{-0m8H@Htdcm5n+gJ(N3JkAxJv5=YYt*zp0x!&Q~_XD5XOb_1D?Dxg;>#i3} z6D=<_Gk;;!sC~J-@#87(qI=7oWz8Sw{koc%{Aq3VUcadSRe5Xl%5F^9`zE7*(v|b` z$}Vi!`*u~}*DDYGzU%DW`>w*D=iu{s<#+DbDt+bM9e-k7^dhc#ma*@5KYGga(NL!D z2&`^KTm3ct}pGBhxhZc zP)DQ8jYg-UMmY@;1&JmP!zPuArmcxh8atZyENs%r5Q4VDm_dW)%nShxznEfhx5Hi- zaN!;_f6CCUhdgKw?byHv&9C(=fDf8)UF9+(3_fTc-$rQAe38dLF3_NPVxJE?n_9=$ z4WL1D>9{iy;6d}nt_#3}<~!B&EUdtT=BHDlqQD)S>>M4~pgCs826@o@D`*IT$aa`~ zA$-t0<3XcLU>jlxAu*5BC*xtOL|J%Zn@pL+q$W9`Er}f}(=4ucsDXzN=7lX}Vb+-7 z(yh|u@wiuJo7h4T&a)L_T^4QEq;ds+MNF8e%P6VhAE5K{$z*0z&ZkqJdqz%}8Uh|d zn3S$MEfze4AaqS-hD2@TvssFZPClER7WYJLP6?a)laTUjE1$;{`(1fH4?JkD``3~| zOj$B((xMi#S)z;k+-}XC#pI~=7j)3viqVjPVF75+eB#s0Ig|Q3yR@?A?ESCx zdX31$ThmuFKk$0JZqL4zSw+g5ZoS@cMC|pI^^;y%P1tnI?Dd|orQ!uE}Mh(UAQLkOGOpTC0*A*}f3^W~z4HFy4g zPxH4WTfOadzg}79rYmqc1U7_F8c|Qg5W;_0$Hpeo=Lcj6;a%1#Ttf(a8cP>V&jWRA z*8O_51~h~a*~a_(&6esm&$m0CulxOO&;Bh1?+@hXR(w$Trzb9SO!)lA3$oh$sxKLf zul;dgv(Dd}(-+TQ^DQHE{on8Bs`>x*9`3h~jC(YD{l8ytw!i=P`;F@UIcgvNtJoJu zUGcy2_t*F1^~K3A;yYicJIwsEzTvm${IV?*>{*07c=&o07D_QsW>#9>D3sF4YP>^U zDKWrG;*SEmyM6RO=7;<{!JZtdM?^&So$c}onaIJ^XMx z5yP1k1}6L58x6$kD&*NEg$Wv-+k#c7zldA0$=dg&hiKSLg z-A;wi4d6?g64$u&fZ0mbn00#o9xEPQEa6m-q3*%mjxWYE1bknU1+oVvQVIRg^Rk^#jdC?izLpja5F!3 zvG0=lJUQN#9`0V3Ce6B{|GtOE!~fJJtF>E}8eH|(O0Jq!c&WsHTFpz}@>7@R{ra-p zfp=9vyVsRPQeRhi_^t|?e(K6HtFJ3df2+l+uw7jh^>x+9Nz>wTTCeU`Sh+fZS9`|} zt!tYuxrPLpu8z8{wSE1juWJi>SI0c}y1why*L4+VSI2#?GFbIVR1;p7GcoAMGlViU zGev>Ra#p;3>JL68`@`3s9BljKP z2zUXT0KLTy9;8z677&^8pb_72u!N8j%5ZRo%0AcxsKv7ti`xv}fhIsVsU}Qt5zABw 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πmrrc*^}ICl%ABG4^A%H6)Iri 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

  • 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

    *X9b5AxAm-RZad!Cw#h%F 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≤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%0DM>|s`xeLUUy+@V&>0z5Sx`2yBG<2{Kw`?| z!$D!0+jcLX+!o*6QR3kh6&exKQ{n3E8*1+w*;v0ZA>QBFJ;~SC&dkD0URKmAFgnP; zy)0fj%7cH$istOhg`4IkhDTR*cO3C_)U-9_j|s9eGfC;}*y!V15*%I{5L{ALvckow zJR`=z-Yze;j&bGk$7NmKNb`*>y$Z1Flg(rdlM+`qCb4KufgT-Fc1J^q;p8L@%ODqz zjY+3K*C(e~UQRtU)56~9)XB}u{hQ75+e#`wEx*{ZiGjoV)RxR6lclTNN?%=$=#{c8 z+9P;^=YXV2LTkX*io!J^45^Y*npxY{dTv?U6B)(i@MgAD94nV((-GZ6!C(IzOZh!5 zqsy1Yh7Zt(1k}~bLzw%_IEbID;6xRpU-%MDd1*YR!=^^ zU$1V!{e$jerkiq(Mn8#Km}~w>)#6q{|Mk`JkHk7=i)yz`j+x$b>s9&N+pPYKXMLkn z*&8!;`TvX0Eno2Mann&jpLs==$DZG2{}rth$O=w!6)+)Z!Jxk?eNv|hv0f%Hr?;xN5u_| zeI}VRPuQg_cKmI1#6Msu7ssTulmApFY*1nn$P4afJka6WeCF1R^e=1N0}_m<{#@g{ z?iBl*Z47sq9j0w=&Cr_9DtP9N^A24f(H3DYL8;bfOO`#a)t|WKV!xjL6~05F@;Mi# z-shT{R5tlo*9Qkj=i>qA-M?NaaD0}#&@y0u^HKKv*@~;b8#j~(ZyrEoe zBLiQ{M~8K_e>+ZSD6wn}Jb2}Ti*ZQzf7O7qPj`OpIJurvB%-H~U+2>8U3(WtFA=xi zr+IhN+ncMsO?fW9X|2oO;L=&ap8cXe8BfB2y28P8;=g{x1|=1zIf(h?e51JK`q zWX}an+pqB+mR@&(U0y62%Tchi}aV+AwQ|1335oN+o+Y~!qJ zXO@|5KY2E<>htWTz$T#sE6)^8`aI`_&vL8lC(o7b`aJhT&vKjRp69D>eV+H@%yPT$ zC;y+X`}KJ~1Mdn4cCQOfQePHuTwP)zu63@ZtbZYQ>5Fd)w*or%wJmzK2O%`k|op{p%rsX=Xr@64S+Gw+Ekw>0H& zPJMZ4*10ds97R_Jsy=F8@=QfUOO(TcMTuk4wJ*#4R6R5Y60UO;^{tsr2%k)JX~ExZ*1J zX?3D07q8E+TkHSpsfc9X$ni|GzI5x;A?1av?;NydU%AEgU19$QCzpc2I|XmdcIZ2< zbvyhpX5x%*3a9>dl<0cJK6ZMt^}485#LiO_-+FD?{UlYZ^00Tz)T;31Th{6^EbF>{ zdfByo>^l#0ZPfI9#q>=foXL~LDI z`=N<(LF>gsQ&_(Dz71->{eVgM+Isg7tJSNl+qXAK9FjA8*DAm0p>VRAX|X0|-itA6IL++>MuUqv@e>d#48Znt>4Yp+q<+JMB5ZPQQ4{Zm&_SQyGF-NIfmr3=jLz)~89$OG=)7wrRE%q1_?NG` z(t9S$Z~yLP=f7-u0Q4#+r8}$FG9*TFe^My?muy9rcSB;{ON}(zFJNYZ~Dl3 zeBrC3t)+q9`@YH@mwm$ik&WTWhww?0Eso9%&D$+|{)vD6&PTKEWgoli`=wc|?#+|~ zF3c+apL&nWeqwg45c8UsDo}0xW@*@B1>u>8k~d4eVoua6l#G9)^83ckjn5Y=1bf_< zmXQDI*HOK-G&^@n_OGAEu2+6=pY_c;V*mPS`J2uc-p|-jY`5~rTEqW0ul}pyR*#=H z=e^C>i@Es>(K0vd@9sNqsl=Z5L0XY({_00h`2;YE|<-qgw8qj0*oP{;|vE$Jd*9j%ca^$)+~rcLC?`_Y!? z(Z<)v_ky8SkHaIWqrLcs7J=Sb)4w;>gmp~z5S?Zr zP$(fd(?Vc&1t&*gx36GJLq|8WVVA66+BLsF;bibdFulqu*&BJkzhryZ? z0(*7{EL>s4wy>K`u#4wm?_CatLlIr&9Bu55jaPS+>2b8YlIXK%>)rUn;ra^6J2Q;R zmbD2w_R2i8NGZ;J=TZIVM=PVngsTl*XDb?>-e};`>|5a0u|dLVPeeawWxu{+568s5 z+ZsLZ1A4c<=o4~m4D6_sh%}$4GEvsEoBxNvRf|bhD|+{HFzB7^=b6~2z&V-cX5Z`o zFD5K2nZ#7sE6yqSJz=7Q=R_t)%V!=_96Kj_?c`*ip)bi!t522Oqr7p{t&peV(P4r&h(w_dM_s)c+nrvDacwm`Syy=MK3xF zU-ssAPS1VWx8Oy$*A(8C$Qeq4(-;E!r%&kY&g{GsG4;zwp$VKbS6WP+{a~uK#Z+O- zi8hzFybOtEU^w|fuzkXOr)Tpl zF3f*7Gd!hW{*RUOc|YdsCG_8)G3RCGG{00{=EMxPiSv21rcc+L&e}EiDd*&8mATTt z{MH>1xTGMk?!!Wc1AKdr3;fzS|Mkt@+nGUc5*D!u@?H!OI2ypy%EoYxVWI8CMenxo zKT#6MOB48Qu*BI);C_LCag@L%fkmoZi`TLRf8M~yqPUbzkpH8DfTNV)x9bARTns9+ zmT1hH`p$%(?I9m);ZkNpKITAUj}n2RP=U_^%Uyp77)dQl((+H!5~$P?yk5Y|@L)NA z<1)65^`2jO-MJVxH>~KqC9vR|>2N zVHLa;utu;vxi?i{r#7f|Wlmho;om~LOm*0@QKapSvP0&O3- z*dDI^K5NCBhApWIn=jm4FaBk{T*+ojZiaPHLKm#I@G)+D&$a%I6gSuJC2|KBpOT!d zs1nZ|y^h6^Jtunu(?t%2*;`{31mC|}SDGzgXRv)E!xnDFWm4YTPTkxX%q^tcEs$Wn zomFv5#p|tY)ob0dS2Hzk$>7|Pn(dUSu#U}E020 zoAuP{J=>ofKYbFwXBTW?!Vside-jEr}witE~~q_Z_!JS&}@M(w*_pa z1%Gt!S)9E~@b`i9+zdM&)UY=0^UI#ym$HZb^=8S}g6+~9PrlyIe|v|BjX+)XL5Vva z7r1t@DCSA*-pe|1Yk2g5%z~`~G6#9Pck>vo=F~YL86z-z_D(j#J?tOZFU;C@iHl)s zz+t9?+XZzFS^4baQRM&icwbk_o=?&9X9#4*#Dspy-hVMlAoKQt)7(do@7`lxBVc9a zbzVYP$|p3sX9IiBhU{vAbywzQ5XEuA~Y)zT7{lf0!ue&yha5MCK37DNqSa{`_A>$^;KLXu8p*nv~urgLC%szR> z`(%9dvC7|Ek(_ zE7%m*s7SB(J|nPC=V;ZP<4JRlum$qPX?dNt5spyU&;9Y}lV7KgX$h3`9O2n`{Nd`u z&b!$g@04?#;?3UUdB10C7tayLJ*>OuoJd@~*}?pjHTR*6nqyD9&+#PkZFTbct|N3o zic|N^`H9c!89p3hTF9z;dhf&<0m->+`89j`x-YN<8h7tG`6=WKYvYLynf;5`>@C}K zQB(FJ1Fzt*|JE1S8P^qUUHXY-SJVR59WuxBv;_oY1$AXl2paM<1Pd7Nx^Q*3AGdbi z^Qcgfvqw432y}>_J)(V*_hG$f@3c29Tr;Ev&+?qi_vU zjbC~EwR#2gb#jw)1r9f?)brgSwDzjJ;|Ych7w#+Y>Sg;UoH_dUPlQ$0(uT`dJ9RI! zIGzsSWyr1CAW+5Y)9arWD=^~$@BG-C^}2!yb1q8eo??B-Ci`Z^zmRi|XOEsewVPw& zjRmupD(_wP(?`IEw}Kh+Nh%HBsp{%<{zvG??yGiPV>GTfiA{7US#Nx3)Q*b21VI-jxj%D0`< z?-t*+PPwvfZiTeXbp^(=;=k{I+$*5wD`329A6v?O%akMiIoBrk3OrJ~!FzEv_rtpa zg69lv1sHrDT=4Y&vio#5&qJZab*zS0#BDD=`m>8~;zPAP51*tQNyuG3$KVuWoWN7x zqw8<)blxLyu=|>ru7FnF@`)-lj&Bv%eCFW(H%ECdUVVBtQRj?6<=&mXcH5@x_Gr5! z>>z!Oq2QW|_T$R80yVY|m(;8m=UYDcwl9affSJrwCc~@7as_+6A3FIyx?uZUy!L=? zuYlIRVx2f|E6ok6_ipC5-{N3gA;b7w!1qzk5AWMfH3Ihk7F@pa++gpm!>{iie086h zaRtNUCCr7Z+vAQa^F3$WD^U6F#fy|Hk#Rd3>|Rc`6HxJc;dM*Eh38eI-jx%&Hy?Ga zGLQ1PoGx(h^@CVB&U?JC*8O|Mps-?|-;r4Z>sW#QsC(0Xy_vVARW9*WwZqMe+urc);yBDF{J>A3Q}?yg zt2fJ*ymP<#UdHfRaxG80=^G|4hJ;@$HfO!xa9Uul@7kg|f%dLRIz<@E8U_woj% z*aT-7X1A)&nB8LUY2lg2kW^%BunLwkkc)kR_W*#5a^vG?4M>`(ClsQ&S4YH zAS7()m&p~K8602FZtcfl8^fUK#K5JX*upSsCKs8Njc|klo-Jmgt<_CFEPo;OK27t6*yFZJ=SQ>>Z8Nckso~0C6UpEZ$sno6P%u$MN>L@ZUEL*~NzIl)-=0ZKmqEvk!NEOJK#JWx#3`eX zPh84KP)b4DibG6;!9G+>--S25M0Ea2`L5Si|t*~uH8YU<@3HEULFPA_L}lfJXFM`$raa5h6s2}fyV#k~1VZeDI# z9lW7o@s{@PSv@MVX7@O_g+(_r6cm<4$M{a4){?ib{2@9LV8mQ&wcP*|3k*Wl~y=8=(IJZb8L zfFS?&&VtZzkM5qP%*=$sHly^cwDiodiL+X(tGim-TWf04W8*_yy#w-kq=ExXH_r)} z*Jg2iO}1Z1U}=Y;q@>N^6+YXR7SEr5TvEcdu{qPq&cCn5t7k%5PP1B0esEelS9+D_ ziltAiEsCd2J5-%(6;&&0?xt4QFXS4bSK8{{*pxbJ){Oe5#7$FlkOsp!V4H6^xc?eN za4b67En%E>2Rs~($XYrvOUtjZO_Q;-KbeP+i`|8U7%rFCt$}iQ5Sl&+_7v#m6zHVrcRxg-7L;9@diiL%C zuI2))c_Je#5(yK88ku;Hgttsh;bS|cm{zf!*^Z&% zg99V8YT&auCD$^a&#id2^7*`)Z!e$EZ(!4Uv7kjP>&3zjwN)<`^_abSv3P=;*2^VR z!m?g2osqWc<+3?tuU;-+(5Cfj#gb`RuU4*Dw(8ZYHQQdjTD{@ef34SRwp`14y>`d5 zRj=3W`S$Ad`U7m*Z#Ene%YL)*gxcyio6eZMezW<4oA%o+SHiO2ZoQGV`t7zmWv}0E zf6%7=ZpV{p+3$9~Sho7zt~c9WzuW!cnD+ZUU#?}p-}~d)>i7Hpe0%+V|K)!d^NbWS zM0lMF7#g^YzNcMQlVbaNd4l=Na}NVd8O)!Ya@%;ryYna;a}T#Y!;Z;%(uXuc9do#w(rSk+3Mz1{CA?EWNWVeNxqd#C3|ujQp%2T?(Kc660_B4!kz1vdd2SD zsQdp{Kt|#98o8rfrI**<4`J84Ap44Q3-?ab!z_i4Ii`2Hw|7Y&>AuJ3`%dnhaq?*% zhVG1zuCu+9?|rdqiix&zn!{jF>a={hUw{#V!6K_&R~Q!bIBykyvhxGWU%k9H;;i-6 z?r!eCjor^F9QomV_oVb+$IHR_7YrFTFy}r?uHUlp``My>HSVWVOnMz#u_1fGFvGpn2A72b=aW7EpZJP0hNmlUa=0_W>n>c**xLU3ma24^kIy_dM zU*U53)AhYsq5W#poo_iN9XpuLcv#^>#0g^t2cGUPd4-&nGq+x2-``T=RQI*$m>QRm zb^RIs1op{N&j0gvOuV=WUvjbgr_voqhYN>FKOT~p-hAS-M8|}tkNS0wgl;)MTe0!X#l(s?tEA)& zKOHxSTOypI!lC!gV?um^cR#D)e38U&0`AicVtzNzb~0e|=x2Bo6Hwxz)l(s`#dlJ> zr^O70<=6=_3)M`6dW3JS7QUzu9h4TX z*KYV^>hUXn&Jtl0;+xJZ$lF~19cSV5(DiLQU*{Z$BP);P&B8wz9*8j*?z_TC{M3au zt1k-$dRMrpdtK~``m#vk>< zgsK^{dZ)}TpE0{dO3J~;!F%e=dT*bA>2qqPOmCPzvtjPMo_VtyMa9f!OrJP&PUno- zRkP+cES~oyDk@P{&ThucR#9=IDKlF{M2+Xns!U1Cn>urbjeU@fgRQM&V0(A*ytyZO zdNwRre5bqbXjMzAkuyVUSNXhI1(RnM^YQDN+XXFL^u);}(8bNc$t}3PA>GN{H@jUm zyH~)~)6Lc0!`>}?&ca$he^(#h2z#ec56^)7ZpG|AzUWxLh;YBG?4T9u2JS3t0TXlR_5ceJZlxVx9TolA&| zSHSGK%}%c2&hFuJ<~PlqQ$2H5t&59$XJ2<>Qc7laL|$RajA^A)r*=EIx!O7Tg_dx- zcv;%VF=lpgXS7Ha7nN7nl}(&f=;0seALKfJe%++WU5?IPvu8KXp4FaP5GAO>kY4Fi z+-Vq}klWgtX&1?ooE%cvYBg)-gb9;tip$HVOe<+^uk!Zwa`W+@KC^tr>>e+lkXdue zr_ZRFGp~B~oZ5m(06W=&T4|-;QhH2zO(vN=vXQY7bxk$1XZ7^<=0(LO z&6zW0-kgq*aCZ-nNE=t5*i2vlT&CD4ucVC3=JtZnXqT$$rh>AxmiAV!G?xA;oyDa& zVW}P-o=$US)lHw)ID1yvyt!3#W>>`L8~6m-rld!ySTZ>}_}A8^G&HA7nmS>^?Dou@ z!p5fN8BYm8`CS2NqWu%6B(<^EHx*>o*)EvZ92gdtnpLdn z!Vnx8Z{y%^W9vO*X2F+7e z&nucTv8KDL$jX;t&fKDm3344>)y>Um)92ON+dI#gRhAy4XKhhjoom%q<7@7w7L(&C zDQUlHiq49qPv*`&sBg~{6_IW3&f(=}f~}PyAbYI?V~ekh=cW`7AxWh!gOi(PeO=++UWOvAvz7S^AIvj8 zS|#ygdV0+MUfp$fZ+~Cmv`guS+c)kVYaFv1Cnxc~Of=j#v7NDlH}*o-(ZkCv%hTT8 zeBjdcYR9^NJ9a#bKFt{%KWC4@ww!BKx>ENgogd6;+RF1wz~lJmPuH1!qvw>*G(33x zu6)@4d4FY}$F}}16O+~8%dKRX%&P0Fe}VP!S>Bh^#3Ci_3tEr#ir=ZccQaI=_Fw0h zIgXiEr_HTh$hqQDD1*+o+pZ^{E|;;}9r*2D3t3UAyUX*zqM%!m0(LXseo@VJ{1+imm@x6lp=IH+T`Q93-CKE~htqM_a&M1N zt^-x6hBq&*6y5p1O@PDng=>7>!m8s=%h@7ZL)Wt0yA>S5Y-*7)N3K_Wp-ZdN1 zF{LS7G4noptlxg+-ts30SdMAmNuH<{dSdS*vo|Z84_Vnvsu8mG$vbLwbi!?iGYp{| z_7d$npH8Su&-rvxWBHm-r*yWz`E=UgxX$M@Cf9R5pS5_t=JPq5?{7YzcVO53a=}GB z_sc~O^|fCv`Ix``a+%Lv;p>$Uf8MWG8A5VRuf>$V{dzrN@{&V0wD!1syO}EAVs?{h zZtS$%+-q&kT#A0r?=$Vayp4R#i74k;4hPmS zF3!z8%x3ndUEpu;A_*3S22K&D16)iD!p#W_ZhdJ#&^X0GoaNyGhdT}eOwSZrm<*X2 zHW)aCTv=bQSaL`&Y=#q8M?o{w%>!JaJDjDs7#I>RBsl&*<=~=Sv4O?b#=~aX3<0w# zjvWjc&Fs9N4ys+7&}DLFq0kF)d(Sf)x;SrYu4>{Dq`#|}ZU!#+f&!idI za~3;)V>pyxwXpdOcbdzI2vL%BhpDVw$sYNDak%aey|1By9*3aWtROY?A z^NiZN&GY};EHTwi@NQaFH2GuAV{7XR7a9%)&wHiJBo^|+F^p+}c(=(3$yXl)+%1X~ zI!hjkd#&8przOH*#F6Rf_DjIkWg?ro%~FQ&S$1-Kf($7RCp_k^IHl8MFpI~8L41+t zr9!(;D{iZB==R;XsLkfE;`N(`Fy|HArt1{AKgZ0o-no;-p>1K$oF!@2hqOH0lvwz) zx1@%jKi%x=xz>Mmu};qXosNe8Exs&| zWp&UJ6%f24bVTfYbe3s$b+pK{vh5;TsaMfa7DcK#bWb00{EG`YJ6OzHK>__aQ-r3? z)iX4=JoD_{`sbcMPh^Z9$%wP4vmLAP-=WnawqQd8kE%}; zZ^q33mB}aG1fQOHJE25{>3%80?CKZyUnS{p4)R#2+&}9!@BbYqIexMjx}Q#VIbPId z%&@}A;DJDdz~O`H-@9g;-RJu+^tiw`5sU=AK2>-l4#^KLrMdxum*vZ-16ur2I z-K2*>$YWpOuWb{!!{o2-PB`%1@y)9V2VQ+Ua{J4cb*w_2AM#Yr^{TF)b35(!gQCzS zZVlTUUoOj;vW}^7+uCiD=kIj+X0-dna=B7hp_eZUs{L<2v-{p>ZgZz4MRMtuQuAMv zdfutqUlhA+$5CqQarVv6u%f%?5}nID-&~1nIi5Db@BEU_ zOqtj6)k-{L&%W&Pb>i}*?ZZUx|@6wn6f6Uc9c8!#+&P-D8r6&k-IUxs>}~W8%%2M zFt1>3%2@c)F=UV9nLj1nXSRP**;(Ui(*N^ZHSXIw_P$B?|9$KBzi&Iv?|oN({`bA# z|Gw|nw)s%sf8*|crVn-3_8M_K;%$HOS3#}g9}DLs$N#$fm0ma;kGkCb=T+F_-A_uf9AL!k4C4xPMJuub0lZxQ$QX zVhyKa?Fr_3>505N9Q?~lQ{^0eg+yxiPv*Cq$b4XFQuKyKra(Tq88x?q`IR^rPEQbI zn;|gKB>2OF2JId7FT(|{vp3X)*6zK`Q)Up#G|}s`xZuQZb%KFS@0hu!i!wx*3v67_ z%r()Qqp*o{A&+54D2HS7-eh*3MmE8UGUq2QPZqQ=GqzY9w+T;RcdGE(>>v;pArNvx z_Y_jW2@o9q{EZD1Pc9T>=1T% zVSQpp*Wm{O3mCXguc-Qz?!{`zoq8iy_aYC+#+vm3H9gjqVQb2Q3#tq_dc&~LRcd7HD-@k6PBVSGL(tTs1v zaX0o@Efsl?+RozGv-)zU=)<<_9Rf}(GL#oiU@Euini11=ZQ}H;f>9Hgn6}mJ3ZCS~ z#JqWhjSwe;tR(lI{}z>cjLb$W1-9O>$@su?J|I?2wdz%cK>7(5)0w7xC)(UPCdn?Fr1O#0K4R^5poz~B} zaE5DQO3w^y7qk9(8qLffTi;HssN8f{nG!G#Qi;kY9 zR`Ho4CsuY%$Sgmj>}SZ%usK_!=J)2_xJrTLnXQhR0_qd^UMj>@WeQz=QM{}(e}$*e zp_9Gml4s|u*6{umxP4Qgq{C)8XF21q%4d;6$DatY&$40`5R_=0aa2r@H*0e4%V}(Z z{4qbQ*q=|Fz|q}$Qt*&Qz4OWWOoo#;2_ud2Gcd3*@G#1NNBN!HLPf;%X3VJ<5!atR zw>&Mo*w!(GPnN;dkHIgSU06~fr7XZMj8RxjFTF)5qLkS))L2x^EVETY--kg^kwHSt zFttWEG$~X-N>*3TD!o;9&b%slCx*1ru<5f)luQ}C{QSa`9R-Dq96e%0)EQ*u9G3TZ z&YEAZqG=wP=`w3>ooxgIpEQSuc8vKh0=X3ed#cMh|23KEf06cbSwS7k_VR>*2r4NP!MZ;?vr;>m1LPpMbRYL!WA zlt{02$*wcWXc5lp6ijQ9Pi&T%IK5iVfx*&?LCZ|T)>k9Bg)_I>JF8wRp;b1$T_Cf; zIlDtPzeP8*Q#iLthf|Va_Uy)Kvs!Yx)$QXL=gn`*?d6*>r!&2mC%IBSuU#pUA(e7c<0SMVeY1;Z_m`#-I!G5 z7n|V~oXsGms9M~q>l&fw9i#8y8IarTVq@#Ao1rK7j6cY2xIyjcYq^^Td9A!?eAt*w>TehdZ8$V=Ygqx=HOOdpgsB1ZY$xp_6K zWIQ*ixXY^rud30QlyG{gLGme?j-uqVGc9A0nFJXe0vs6_ zmpd;$_he3~*to^Jh(v_1>oASHOId*T-za1P6ENGrOkD-k5fJuGQL0 zt)1Zu|G;jpgx z^&SbglPP@+8lF#?vod(I4dzOUqbZRB5_(SnHg&?I$lXF-&+9bXPRZ zOzC><)mdAF*G>9q&UF04y6R|S@`5j&jc+OzQ@thxMS_7s<~Aif*PBzI4yTCx;j0x>+`gL^(Dbf z)hjp&fl4RqbJr}U|PS%qk}22>;Lcg2;L_7B|QJ{*Bh7j9TB=&{vLG1mj1sVPp0Ri^uLem|Nryldj9{vKc27u z|L@QD_y7MNoZZB5-@$>2NuYvRX8|Ms3GkA4fgbP?TU=2enk0x>@}BN-SPHh}{lsCp zUmw~Xcoqr#Z}&K&B=xbw!)KAu^b;;kG7CEGE0shNl^hyFJ~BkiN%C67(V(3c*sc07 ziRs{uqnZ{MdzdFGNvbY7)}$k#_;AA`De0zTU275**iJl_*&T7bNuyE0xPwE0uZdN+ z=%Yd-i-VG)(Ft2M6^^bJ6@}CTY-SdM6Fp}vQQcqQ>CV?OX{yT!emhC8#*j@@qC%RL z!Zn*)7hIas`(?4b?#@a2uP*SUF+6cD*m=rm)rbDf1SkE=8510|9`-LQS*#tJbXvHM zk^S(LWH-K>r%ent_v#&4reVI*+b`~O3!_I`n9L(z6Aj@$qs%nU)=Gh_vX66jiKsYk zU|?3+bXnnD4YShipZ^66WF~TR6+XASyTY$E<7r=TO|rVM(SZ(yDee9hOfDk7CbaF^ zG__{SBC|}1i=D47_tmDH_-3-|aG%we#muT{ZrWWJnueo?ZWnkLo%%WF|oNKIlxsv*0hpCg;`3~tldz_aORSALo@ zhgBdwoKb-3YVOt==cyekl9$>RToUSF&`pc-UDT@MvWcPMsfudHiN;-g4Skv$S4%&z z@)21O%pvpekd&O(X$PmnlQ&)Ih*gaC>6tQhs$?-Nzta8`@&`KmM5q{=o-yz(@q`M2k)O&i-Mh^)|{DzC$xF?)R!XbtD;xBP2QC7_f5fjshEXY-&ZepUGB(pA>#F;vW^3)9tIm4dADXg z+{rjs&+*uTkPS)Ub3TN=*2<0!Ra+LWU=^^0ca6mLULJ=HwXIHqJIiC+^okXu1oP_B zUmgDLw?pNe>jxoAh0_elKi19Po9`Cp@JL|wlup686RI+o;uzkTtnd5t(qr3&gr=&Z zqk;>WWK&}vE-6!Cu$i}9OgLtux5DLP>@yW(%Zv)=o{9e><-$IzcS-xvJ>Dn(ng3s&zg}DvuBOwb;mC19TMhO49w&mQ`b>(MY$Nm0w{Q%##4eh>f zlB9p%*ruqzY5LimH}f8_a8;IV7GIQOqqp; zaQSI<3$Oh4BkF#IUCp~6Ni2VpYCJE4x4@>I|9Ge9GL08;mv29jpR)hN2}{{eG4CrC zH$5#m#98!CJg+7#R3Ur)(=9JUOrAV)^l3dGTsOgf`R^yY{LGz;>?X{*9I#cB^Pp|l z+AnQu=A3n2{^oE;p3uDi0YV%*tNi!8JIuq;@^Xrx^>tmQFKoM{)UK@fHGlKIZ@YH? zRTt>;I<5YrY|ff$jR5;c_v=69bAPkF(*FF*8vRe7x{t_cy#M!Hj+qHDQC7pi!(hO$ zhN0a(z$dXqYSx^_^cMcqI+d&jP3Jhqj5e{XMyZr$?wlsY)Hd$48rAF?%fv#T#5RT0 zX5pE$8`7$D6Y2$BJ;O3u#I>v#Qkq30(yT(tB-5KTGpfAuYQ4g8xYO&klN$xoEBpg; zIH$~Pitd~n~m5VQO3&`P5%y;dZ*pyaol2Wgh-o}^RBrPZ_n9?Ne6s(on!js)D zmD(hg)~t}yrkT;8{%V?KOZ&1l-(#-7QjjH6HJ+D$(1u!Ok&2 zL`*NMQ*iFA(pfXh_!JqOy{weX7$tQXL?sL|ThwOFt`d@z&u#LsvJaGzvG?@zw~b)X zG*i@fVX(3Dc7si^DdWVfxJa+&+Fs*HBx>khJV#AwjK03!WIea`jItw|4Q8 zb7YW~Q&ZKn@l0W8YR&Zwa!e>N3P`n%$_#Y!@SicW-^bt6$d@5J!%f4PVfNf^2luG7 zK8}z~yZkoGlrnz_F@wp|YsEAfYU#79Crm*;C6~TPrQ%85Yhh*44AJaj^9*W=Jayn>@34*8KX= zq|oF_dCxr1BBy{5SABb?DYHSnkKiaL=U7%D2_snr)9G_+CQNBovt^JsWT|RtO>CA) zXq7ckmntfb@9sM~y)&$*XG40kLP}a*V1i?OJ$qDCqGzbFcZ|M$s90L1V?-%)dacX6 zxhHa~z0+&$Kz);Xt<)Obd9xeSTV?Ya%`;oHCQfUdGP5PS&Sb{S*5C}o1&i;bHOXhT zN-SAapI1<}yvH-WMJTz2Gr7=y>dYC%*_nFjnQ2s_U=w8tj#4bfQz{q_c(67LD0|K6 zU~%AWGE&RB!x8Ag-KXFzC*mozq(kxcR2sw@ zm>cb`@YN`NaEWH%W=NRO{c&CV6vuyy&Te$s;J|6gu3@-lk>e3XSDxZ63OhGFJw3xX z``($Io1dRw;M^_eyKBqK%PWFc$DQ4^_4V})$*1S}?%wwH_KxD$_s;I#{{H@fW^Q@E zJv%-=J~3H4{@k9OpPye?>^$sj6j>Xl$A zEYBb!q7|0vB&^IZZFcp%Iko<&EJcyvT@Ns>=sL`=M!i-&7NV?}dUi>GJs>;-lH{*eg@ z=`*I6B)0KPo8B7~93B;&mej!+6y%oPs+Zj(m^G0nxyU22RXC~CGo?w#KbIr1UdTU- zE3IB3t5GUC+cmw`Jhe$MxluH&K|P~IEumFz_NXXb3sdWi*#@5I!rF7NT2-WirwZj#fa*xFi|-KOL1Z6B7y zEuzlg7w9e~qMqC)lh~$U?;PeCYRt#4Th-EP?c!x%<`7aQX&1&AniLuy?KNk1Swxyu zWTdZ8faApJ)t~_&S;1K|Ds3EWb!>%tdNy?T9n~_^oHD!IKwZk#S7Y|Pa&bL|l(f8} z;&}fsyM>FMq?LxrNNYI9G1@tW&YRu1WKsQu300Y`60Yw4puv~9C+5!Uv2%@d3f3|( zwZT=$z)Fn;j?I;PS}`X!C_0<*DSOS?A#lpUlxcIoofiT?H0XgXk~6zrG7 z@ZgmAR0HLGot~TfB$`4q4!tq>*yuM=Y>7_J$H@zOTTM5J_hEzbiBnadMrG-nHm>}g*1&QX`mSLVj1 z>-upFtQ=8{4yg(~jaG-G%l1P6-L~3>MV< z=OE2~Xzqdl2XJY{0y^)%gn^sEl3^LRv}$k9Y46BN$%u|kimIqcXlZXqE4PiQWlAow zN~jl#YZ8bpHt`K|Pp(%=Z4pf^cMl8+pEkQPrBO7wiErAh?pZThJTn;Llfy)X)r+bd zy@Rac8?^FEVmmr2CQNOPEN8QgWJqe{ojrF#Zb9a(Ii1tyG`4rtg(d~eoK+(#s*~I# zGJDp6|(801=$EiE#(k>AbJY3kI@((+pS7>2gCobK-OwzlkPlj}P=N_+x6lZxFEtK^c)t&?hW zV;eYI+q2Ue#ivfmk8NQ{>1GQEaOj!XSyL4~X>!->d6m7>r?s`FWi+excIVhShB>%~ z^2spGom(d+rY|h1kdqrNsK_vTR%v=+flokecUMLCgv#tHuh107z#OjmbIOH9^|PwY zl3S#+n`DyOxYJwt)3S@K!Wnd(88X`?(mQ!vJRLga*VI}SK^XxzFYD+k{^Um9@DfJ9EKVDTfP_My*$e72TE+V( zHhcT|xp=tEoZXPpERxosoL;Sy(j;Z)?3>;yTU(n18rhvwA5tb66YnPP#2}_9>X9uh zBdw8}UmjDhn$o5@duq9s6+?SZd3sKYiIr1)tx!r?Kw`dYYPE}JsIk4PPg=Q2dRAm| zrBh7U>X{BKejTNST3{9;?Q)afOBu6DA zq|ct;+R$2^Txg$EE$bY|Xkg|LniN`GlH}-Q5nRPEaY}1*S4(<@e_Dfvk(t@-+0Aoj zRT`*EEm>4AE9Wq6dT&v2d|H!WY6}mfB*j%WVK$E7rPaYE8z~vk`5VsdN(>ee8w`#d z?v~&T+M)1){h*?xb5hClk8LL=^XKZcG=LWaB_FGK_$Xm#leXN6J1YgdT;}ly-nhcJ zWyQtC9^!csClodPRT+vz-aHIZ=vd_zEfdmkRiSBJ!ePBL3Sx^VYbGByyUd|5M?{V1 zl+_wVgM*AaD?Y!vdwTo&`}-T1x#fIzYct)!~x?P z>m{1Ic$Ur7VMy6B=V1V|mr3m6gaWHaPa6&iaoDsR4B%$aj_C;t_bd`{zt7aBEV6Xt zWR?rEdh=y(ZxUr-f7l!DkoaF>u0j~Y|3sHoc4jdT3Bf<6FCH{IZ2S<;Bk!Ow zol`9BM-->juc=P$3g5yb1aF9@HKv72h@eb-a4>K%N`WUnY+XX)8h9-O8F=LwX3wb& zDdI@3R^gZ7$jvLt%P$rYGnqH9Dz2W#FT!!|?23-ALhnq5xGH`}C*MU2>(a{%a&lsv zquJ)qt(rThJgMB+#WQ%}tcnHmY7=UOewJpaaj3F~6!X=f#J(4pIoOLYNWNjGQ+Kbin)f9}FVygue<&EQN1fx@f9K8Zn zjTBSr#g@*mT`;fC+Br~M%xM1HT3t5=HERX|C1zns6Hx^QD;IMi5hK57cTsWExOy?a zD7!fes^`ur_4W!ER%Dly)Ll5g#>qX%(t}w_QcGFGTvEhXL{?c+nZd^|YU;Gwq#F68 z0=JTiy5zL*_Rg%7MzNGC+04v52iK6swx-yGu;7rGjB=v|Gs`P$GV_bd+q+6V0s`xs ztEwB4XUr%~uQEx?42jEfsjiDnu2)LQjk9y{N=(X$j}1z$u$?=vF2LWls3d**oJxC- zNJn?C-28I?;3#_sp9%dn4Yeu${*F^8RTLG+heo+qHP+5qR3j)ZS6ZIc-qqOESrQ(Z z*wdTq;b*gWPW9B8wH{u&HSlt+?m;l z9-a;pr?e-wN_TeUOq)3|t5G()%4_DFwzO8I%r^0i2CejR@2r9xBXh&#MorsD2Imls zs>)bF8G-0*BWuSf6Dy~fT<_RolcMUz#40)aKy5@>(~Ow-V9mNDf;91Qyj$45OU854 zl9Q7)1lw2)G7=WKuqGbz@!Y)Z>}(6!bt#$wJlsvLG6g3+x2*75>|t)E@S{~>oj=QY z9S^Ckf>&2ZbepYI5MUEv@Vmrgqx6Bl!8d60s@T)ho*6fW7I2(V*~m6y>y%qXXI5`t ztH&9@x9UM=C^LgiMC|AMKlI5$ zQb3e}h2g^?(LUSHVlnqzP2}93&ozr|HvFn~fz|EG#j7HYG9{fYs;(J=4Izfh?lp^? zdlJRP&QQ?gz&>L^nD-UiYZq%TckYmHH9h+M9#5(+;{mSpoq^X9ZGu*?R{q$@7Bq?F zsQ3~ord*~5k)<3*IH#=qJ3TUmxoD@nD^suX4F{hINe?pjNiIze%=upfo z`QRXT&a)@;U3|k-qUW5r`7Fh8hiPQwf)K@kvvPtVHz!N79sSrcN8nM4=;B|E>TxZ{ zYENZ)a)?Yk&S8_dC_w*c;;Yo0b$b6>Btw}0KH!K56sSm9qx$K`^Uy_KS-Kp;0u(QZ zrQV%5V@|Hn)irar@LXwkSRHb}U1HC)A8VFvJaw>bT6=`1`;?p0vh$XGn!EblF6&LN z-|ZIL3-ymaO4xe^GFlJ3Qy(QHk_5 zACJkLUU~kwLi-y3jk{oa9VHeThp`W ztbO;b@B8g0Eb@Q1^Qt$GxEK}+FkduTrV?WP+Adq=v?-e?gM;=NkuSf#>}P*Gft&Ln zBZJQN%Y6G@98;NW%OIh^(&HekaD+?y{o!mA=d06g9Mz9E#5;00cC(OqKAk5c|Z&@oRNGH{-%%4l^1XmoO_PfACOYxpts$VUmKX zh=-}bj)|gdYg#3(S>0?J1&R!oG_BQE@ce(R+@?K;xsCaztDxtl#=C|`YWJKz=p5uB zP?GaN(JAJUv)e+~H311tu{?_c%dLBxro;w$bk7xfunK8_MPl%E~3sh^8W)OCnWM5Rwd}^adBlb1Nq1 zxjbo|b9RvHK!*>U$Ajc)V2$4>&W2dR3(|7$*+xjj}v=>7xl z1v|yE{aiUR*>BuzJaDDy(#l-R^I_bFj3zH&IqCNO4A%{xWf!;P1nT{*`+dvdi0Rs$ zswpm$JZ0VJ(@}9WKx@zhiu7`p)>^N?yUw3%f z{jZ10mNFbr<$39Se6mgeyX;txSaFB^D9@#HD2>YJQEu`+&0Hcgs- z=82m1&yxXto2D%Hd8!rt^HjvSP1ClYd8#)(cR>&zE5n@Usm(19&e$oO(7O;Npt@=1 z|Kp`G8S=OPJiD^8{EX$t#(7ugSe0CQBE9IdvHLZP-b@aas{Wkmu(<ZLMnbMXdWq>SQwilfB4qTV_Q`MH+ezs$2jw?Z-?sKQKQjD$>qNr?nM0FT(0n<{v}W61~Xik$dtLi@VA!R z^&dCA9~I{n?^R;aKOx~1U=gxL_FbAk4*;-$~-)XaH$tEGigu0!#gx*gu;dbHJwdFmUP>|C z-ujB@p6%D9kIeM-@7gT9dcvmcJja(sdkdB21utCJearq`*>{Vbx_VHoZrt{2XAAy6 z8~?rCaW?LREq79e+4_CAIV%-QK1x5T+;%bM%h7fF97^WCo8Gkl>xt{uXKcImT;)|h zv7O)Nddhw$YvC-7O=gvihijM{dCZ#9RU8}m57zfQE|L3K!IxNFd(`5^vj$`Jn)_`9 zTqgv0BFz6Dt73hcb6{GjQM!<9g$2uxde-UnTFdKI3Y$`eQ92^*44jP8;Eu@L`CUH# z{tM?e&tKS>mJ{63-7;rZRYGcDPhWwLuU~LzRDNM}Phaiaxs&G4t8Q(nowu-i&b-cf zOPT`0VtaeL=gnzsXs(?zzhUvhMi0-(-oDnkGkViABj?VkOwA1T4-P0TFLrPVPt1x* zOw5|UsHwH1alz77XZMKA+_1{}mZs*0sQB0^bNd%AXjrtMVaklIB@4>u&Z%0spt+_Y z*U2kl(d?!<^V{1x%L)ooCQNDU?eCsGvm+?jrKzoH?t=cLwD7w6^vP2vws%+5*0m%h zW=x&cI&1bsJICPi%Cz+KxT(`iOUvpVT)d-WJbOAbI(rLpbK^rJ-79Nyd;01ts;bJ% zs|t$KXU(bZpV-hpp{;*Poo@i>O2g#jm|1hX5|Yv)qmqIne6q76Cv_Ed^>pVI#J6@7 zd3XlLCHR+=B`=y^KXForlY3xwb%D2MU{+rCtl3jsJv`^ks|^i~cJr~Ev#2q*Fl_SF z#^kiTu&`)vKbwgY$|7Pton0+Ex(X|+;Xgp>{G$4X?1|GFGqZBy>i8y1Dz2%{nlY!nx~{mQI;Wwj zsH8M|*4zng?b&`I5za2IA;AF=aj9AP<=s6+3+HvF=R^dA#x>M87L{cN28RTP`XnTU zM#pERWkgr%%<3Qzsb}3r%vxmN{?@APM^J?#?vRfsjDSAKF!_T zwz+4*f<^Q43-X(rOJ~pONGf(rEjMZG%*x8nP0#exvSUfE(aOom$|_2$YpRckOiiei z^^GyNk7Th7W-P64sBg*^k`WeCU<{9rFfcb!(i3#BbI;FCSh}dgH_&tXtlpUmx?;2K zlIoR1irGBV89Ul*mMw0XI&H?BdHtQ;$sS&o7GCVZ$&OwL{PSj)Pn%j>Tboc&5{=vu zVJz`F@!^3}<6JqjIp7^oLi*5s*1Y0wEGsvtoSdv7ndSr90X0P_ab3*MO`wiQag~gx zaEkw22li>)URyE_O%#^@_r&7zip$Fbij`V_6u&yVG;nj)-Bm`5LfhFkhMm!vw)*Dg z$h}IUt4(x*n{qFnn)`ag8vm_of?aF4!c<*$ln9$~{t;94Khz0ak)yMt)($2j) zkw#BXIqpxo$1`Jd%vl58WWDOjP3e=C`kVJ%H{ALPIw9yrXy)BJ(9G@s zr+P=>)uYGd;`wYW;S)O_jxYExbv{q_XW{d^=1u>f`)+&iC;qmGD z{`>d+{r%(f>-*>T@BjawflcE<1B+P3gGLUu6%U$t%w9Zb7I4#e*dh|PBAQn$ZNC}j{l~1R|l)Zd9J)uqW*^HEFna^fsEL-_( zR?fDU&t?}K(|kS$y3hLNvxMfCHv@&aIhY*eR7{#!ghUoz^wsZSy5KfP$wEt$mnBhA zfHBykQ9y^Q=EHHvsXv0)=XmHm@>$AS%jh7wOQfa6%t__{t7X#5LQ=Yf&T?EiEXi=@ z;shRskV9$G7c-15F!D?-U}Bih;K0r{`v>O%t*J`g6SgujUV6QiHF5Vc!>Q{M4>HfR z`FMmeJ3{0nBd5xSmh~%dJv=;fj>MN%L7x|f6I81nFrD1Sar3f+U_OTmlT>@msb$Js z+$JvaYzLW6oAUZHI#{vU7M+^oyyuVr=W($qEc0Yqcs9E6b4*!1cU{G%w=ymvTMoPH zEq-ZaFEx|l!#Sy~#cJmi7G4l!O8vyV#gA=GW=TNjn;3_S?#!)kFUQE`T(~55@Y6*b z)}6t z(XFoJgPtQ_L*;vY38jA%pH6HFaGdFO!zl2J^uqpUd-NjfCOkE$h%8>;v1f^$Kc!cGK(X^>456yOSzT(&_z@f3mfHT07 zTk5g2hc;LH1dmvSCbr!|yYwdYcqtxM`0l|Z*Y~t(?$h&$T$3HRwjSBvxy684|3l2C z|7;)jHLp=9uwHZN-IcTr?*vuCGQGvlvoNulJb0fsMPnvMV}WW^i=V<9??nzy09KGvMHSJKGWS9Z>LrblyjSrkz*I!`|?JVH#p21-~ zX9Jh@gF=Ox6OQ~MJDHT!^t|6>FLanz(C%)+!Wv`YCTnhJ+q{9RO3RyBmuC^{sl<~q zpR1L$yByeg4O9}B=sb0BN!;$Xfq~DtVkXCI)s@=0%q1)fk2`!Y*wnJ(QOSAd4hf+P z6TD9}dW#u9P}NRanXGbT^2sJ9jy)n>RW62XED@nzZWo#wTouw%gp;RUNZ@VjSgcxB zkg}?2!+-m(1x=FQuE;yHB)C`XJSprg!6XxWh*RoC0%wlTWhM)zosT#TeVl$j+h=rZ z5*vq~kIY>u&zuK4k`|qumbS)2tWqq<()Uusp&1^EZHfUsx3qiNE7Mj@`gSr@sAYN5 zD<>JQrW4UhDQvfrI;3@09y4MrRY=X4DzS4#NQ=f}F7dO|G{uTPQr3O zqrp^#`VJ@lmWw>AFA4ANT`Fw5!mP3?cN zFnIZk!@(Yp*YC3N(C$&-4xhI&OnfCPGs6V7wZ8-y7Awq}WpR+VT;M(X>=p8&&K?tG zH!SdF`f)&P(o`Oq{{o8@HgY(r=Vvd!4e96MoJ)%9%YXPdt7{m{F<=DGL% zU$?&R`?2@L-%qz){!RPP_V2EKJ?or!rpMP0e0SYYFMj3$oAr-_0(~1=wtni4zp(v~ z#IX$yI&&VfhF1j0PTSDtD)WeAy2K$#yN#W}Hc9`oW*ip#RxoEx!DNy1-|Jm94z+PE zwK#gSTy6))Ceaz}4Uumu4(Apfb}(4jt0q37M?m4Qw}zXm{*#L1Et~Y?*qIoWF6{80 zvV-H6N||p-^t9;&A80tGhQfUT}=}PW#k!`Cz(<)vAO`x1UX% zxA0)d6DFnwORqWTJ>)Q2<;crfc}O8}lD1#Tgk`~(G@W=JFuU5PinExiPFj*JF!$y9 zxj$?gSG~WXYhZh|<6o?7c+U2oj0K#0&l1G=dX-)p9%SrUcJ1UeZ(pkmS*jCfTXSp7 zXtBI0vcV%!Wt;75i^R1zW+}LdO_?mwHq(@!>xjprGN&Dd)2bAo9Jb>6wnJK}bFIWT zh1_=+S%to3w;1?bYg8=V*74-*oRy#NXB_-IWtOi%;cV4C&Q-GRCwL1^9@9+J|0t=r zfQh^K^)C0nVjP?JlL{C(6mJQdemydO6Q9awjz_}(51Q9WF7&IhPAc7$R*~Ik^rYk8?lz+!np$US8DP<8NXMx?8TxDAaJC z;ucD4JX7iEb$#m@$)u0gduw`F8+W;_TaY(_p>$E>RH2<$a=!Is_0P2=jlDHl9!lqwF!Hs(z0692#Q|Jk`;qcR+Rep$Gz z=JHaL(lf{3{1Ojrnj{?b?aO1iuRblN6I1qny!^iC?WJvkL8Su6j;pY#XD_*6`gysL zv}1uzBHITu71`%JveO&P74w)Hs+&HP?l;#}nIf?8xpI#J=i6^w>k}F+9yUDLUe*1) zMDViN1NBC!@RUg#N_w^zNHI3Yi{HH68z*o%xYuqE7OXqM$>pGaTqSE`dsyL;sJG>6p*KRL8hP|n1VpaH%)Ta=?w<2` zLxbC*8j(c3?VH;iZWQSLP*E-rtWg%{Wyq|&)DnNAG5v_j&SSopf{JrG>fb0G?dXl@ zcr&@pHIVJulxF)&TxQ{AQ`7~fWQa`95bP~bM!u_|fPtIAo?#PsuGqmXWZ{C^1@o#G zFQ^p~HJG=cCZa+lvWz>SOmg;|s_1I5#B#~_a;3TRYTUe|L=+k4&8?2Ek)6A!asJ#Y zK?%kA^J;8eL!CXs7R;|-u&`cKRByrD8b^<42lvQ1^Qv4tW8+Iz;;Izms|4a|ITEXc zX3wpOu4eJ_w~5a3N+`CRKfkPhQt{jcoe?D>K0cxI=T)Z`IJ$TSIJh9&?>6B0-!wc6pE9*KsYx&* zCNVxabn46wdl&zzn%w-Ns5$c+^74!88nPEGnwngzW*yFuniZ0skyYPV6dvIjT*z8m z*Bslxt7O1pWTTOq9vGBp;}R~rbbd{9Ta&(#b6Ba0vWB^cta3wb3UarJ`<3U34GRx9 z=5ZwLWOQITXt&rcR7UZ_<-`37oN87br;i>GVmQa}LTFR!VKo_UqXd-?{s(#Wiq+OA z1TXiWzn)7>c*oP_7n@@`1X3ouw|6ae^E8<8XanPwIlTgNC;UoLm@L4uI`(U)!b8`C0Gxrcg$f)YO>zo)w7j9Fv3M6@qu(x%8>`PH@fp@>|@x(Fs~)$!|6>%2QB)l zaunnm*?E>7w7Hqswbr>xs>bC6_kwdA?Llik2cGk~!twKtOa;p}f3H3U2M@(19*!p4 z;_ap|F@zMfwKH%W*0Iz%^_Vx*zE z0?(aVMg~K@lMil~@Ju}{V03)rjQ}&>EX-Vz`}iwL#5kcCXb7|Q^22+ zCyq={SULrHGCy9n4!Fhk*!_S(q=1gRrQ-#5z8=c}jb_$>R2GIA3nPpgA zYW(G{H`(&-y|B!&gN;*YCA012q?K`O|J}P*`A7+<@w=xUShAF3Vr8fv|IMxx$E|BD zFKBWyR=*0>*0|~8EErLcvw`Pk(1exzTOG9-PN*$eHvh2E6t1l?^G?Pte;@cjSVs5d z`=pFPuti4CKQ3>&+EXQ9tMlim zb*t70&$_VfNSDLOo>b17W{Z<jei4x+{0^;LGKE9?uN?cv*k!ftEVWL zF0zm5?Vrh(w&qLBFO-|j)$~|eA>QHL^?kX<{N}>L+ph9t8V5YPB~|L{(WbD3ujGTo z6ia7*iMklo*L|`M^L1H~jwi}z;A3!LSP!mcTs(v3Ev%hAuh-et&C@$@&b&4^58nmz zn-(l=^7al65A&SAXrh~ky|ZhGr)S9Ad7X0?OsKA|oi(R%;o`=;{OIJAKt~tP8MB%K zg2H@!eZ2i+CQmKT%`f%xiOS9^aCNqCX)7r$k6SRm&A}FDvo#e@|-fGZq|%u z7gy_9b9zHUV$w46BcuH0%$w}u;hC5elAIi#o)I;3e)HV9-Em3D3l~fbi%gy|r`prk zIV-26vAM~?IlN~=c2{4^%$Z&OA#s^mp{3zcmy&M)S z?w&ulf6-V(PT!%$)FrOC}_z=2ujtclVUEca{c+C3N-{#wUbC z#squ$hepSxB*bL5w%1La+F4hhH*HpFVNq5`cV}63v#)2woJG^>8!PLZi|U#h{Uf}K z%A<2jqL(gjnLVd-;>5<71g}}MCrp}FIC*lHgQH8|l(w3>1_w`@$QZY2vkJq)Q!~;- zYU_)N3MxH4J$u?K3rn)6&1k4=P0r6v^7S{XZ!S;D$SA3<@(T!`Iiseeq^_(iX3@gB zsT1nw&YihvQHz_eSO3Ji*yNy^`c!96|A|vO%F2^tO2p%nN@vdLvC;@C0w!-N2bCI{gtS>=j9ZG6w!@B0Kerh2~aWmnno zfAgU|I~_PSrSrToJjKA$n#I6yamo{G*VBdDoUiEhoaN_hbTRScyUggoc%#1Us@;h&S79A}9O$&pYPpm>*I8Qn} z_#!ZoXS#^XVKr-oD-1deDg_g)7RiReB}nfW#ra81ulb8K+#7rEl3C{Wn6NQ=MmLQAWh%@(D3FGE}!r}GCUUF4ft zv&6x-z2g5=1;@iBp)KJ>F<*|R^KMAHQ>efoz%)-t(P4to%$9}SV(Y6+JcLhOTHx$> zC_?3!g-FWpuFYNr8;@;I3iutM`Qh%Zz%^ViKYBU`hs+RQ6|$WeAi+CV;E*_{VWXoo zuja;g&YzT?^g5ef`IPV2|3tx|_=Vy}X$3!pC(bU?1)DjH_DOC$&Q(-&*v(P;$$|Bb zg&_*P0`@i2@?BaignI;>BQ|txapH2i%k6Y&;z8DEiw#d2wY@_+&$n1aav3u(Sn;x| zIN}8pAA8Q0wHI_Wl+@*!Z$=78c8G{NOgPRLqTx78r}2ttaKtVK200BzB?e)Bty#4K zKW_;vzGC%&OH9H1zlyV1Ns6K86{ggM0X*|MJ~@i=T@4cG6WQ6&E6x$Ju9;IzC8UFc zVcCNi!J9IF0<1+3I#$lQZXKvT-F_K7F3Tqza$uU!^1qN%Xu9+veiMeaW(6j8cLT+Fb%I*P ze;v{;J&JHF65J?w&C7##H_N&IXSQ%XTd1hGuHlgUg=9Y2NoR9dIS=UFGT8Lyh=8Jo z1&44~vp||oPa=;)JI7b`rcWF_O;Zhz+^@>gul!*G_A!7N2>uSdl zvtwoRR(mL^)Gy)C%Q_((=<-NWpk;!qhvo!>1%l;bLPwoDE+{sw(GC4(%`Yg!#B39> zVgld7n+|$~-mNnZDJX`Vu)g!ylg($bVvm6s^L~@AUwGaazX)sr*Zg8##VEI!%jTWjOrE)yrL@( z2(ocHYw)NDiZuB8ohv*dEwG5aZK0oa=8p@1<18l@w=l_u)^G?J9ORBVpsW;<(#|Ur zIZs#R8=%K_W#E}-nc%Wl$<&h=j z7g+T8xE4A5N#ZfOz@V-Au-#)uQ}LPRgT`D3T>DiH3Gu&h6g}n8Yjoy-uptM7Z|n

    ~LW$aDBu4>(|M@8>g=I^J+=-eHqfl0%_@hcZ%dQ@Gv+qYyh`( z7A>q>Fu!Ku{F=E7t6W?|o!tEvEUa~N4_UaVbn(KPg$v8Gv-1|tZ}9Mmc69S~b`Ns% z@R_@y!r3Kw*^;_N3+fgwsGUEz(!nhh)FWS5wQzCuqJ`y)7E~{uUo&rEqn)##hiAyV zMO6zH)y-Q_vv5hJtxMSAMYS%Tp-YxjEtyy4<{s|g8nR?j{lW#6{gVnav+^>tvu4k& z^Y(S}^|kTx4x2i?)6OBl&C7GnyvhZOTU=bd=PfLsKeu+lqMF9W8ZXb_s7mgDpeSdz z=!jIig^TO$oPwR4z3p9sXU{El_KFl%W{9of@%Hg_a}8g-sB+=FT1Tg#xeIIJa!uSl z0+ueWTfC@#;eu*skI+R+8bpQl7R{|$zOdTUHOdiu#N*P1poM&~g_cVfRxFrb?%)!- zXl{j_W2m!7@PdVv_AY@77gcGP@!L5^EnHCMgM9(=p3_XLFJ>jU0e-+bc|bUrCe@7@w|o28Ch9&&R&7RZZ7Wbf#LB^E*@^a{%+nu zb4Aa{wnchs&nVn1xF-%czQ+@in_RaEm+v?>=Ewn>FVMbolxjv7|7t`XYb}7 z;o%wO?QY`W67K5h@9Glh7Gb?~aYJm0Vsxf+c!pO*1?RjaRUw6J3+7dt`mtJtG0dJ> z5t(JXU|B;_k)?}Egn)$bviVi+?tuZ3rXtcxBH~)2QmTuV*0{LGN2I$iUtGO(L7lye zznrd!y_=h;m|1u=_nbu)!s24R{dLo4G|ZbnF)=x0(v;Hab1LS{ZSxASn=xx*LUMXx zN!;ui6%!`(hD7@M1^6yl+}F}pTV9#u;tX1q+Sb`tTbJ$bWuKDc+1p#x+E&=vRURD^ z5fT>O(9|d_YEa)?T3uUTSzQ>JV;onmJ#AJ=T%oF?bC9;7jz=7Wp$llNW%j~qX({8y zi))cuI?T-mj2Dh4%y(g#t2oDF|<(py*!ZNL*KhIW`>i4W=ga2C3#Gk>|o~KpCt6d zTezVlQu7v*!RiN^&4)R-xUDBjI+{hXC<#ljJD6;f7p?2*-oE~Rqb~O^;UAygI|c~w z9$%xrUBULK%yNztn*y)(ZWFY(-I-2>{bk5IML_*&{f?%IY>OsKbttWBdT>HEwE5_w zMt1h>5R)grs%c@I!ajAQf*n(4b21xq%E@_*vA;|mMYR21E_Qr-*5sH( zs-AJ6NJiaD`3YKKCC;;CE^bg#__lOK5TESC&wMF&IaWnfsl80U#O+a0a?r<#Mao&o zV&8{}tZlJg6PC&TEl~8CTExQ9&D?lu;tJg}TjurqEB$9-UbwPs%PFg@vMUXqJQuVk ztm@UuOlRdTD`{UB|E%+Z0H@juCC3Vh?8SXD3<{m|x};n>CLL$fc;ezydHSO1uCnNf zT*97{^W4{Pa9@_+C-(E*oa%YAQ@kennXI15x}dVHqfdl|lfj}zX+rDnu!GC`^9^=C zb2OMx@^qGUz{W-VEWsvS#{|S#bllS$erIn}`TA?6=MTv*yh3~lS_?NlI<)H$7sHG{ z^G$Q4_N>%U+5RYHzv=819S-R>LW>=rA2{g2e-2lXe{y3)wiI-OcZm%O73t#*TvgfFzb^p)F14Orsbb4rnf~RKGF( z`5AS0N7vi{>EaSSf%A*lm8)FM3~DZH6YW&KV3=$lQ`LDgz^JqOhR~4^`wKBO23&2E zB{gpH*Be?e@LzLExWX(gU*X!Ju>bc@rpt<^&zxdDR^2MkPGC2GRG-r4TKA+Y;ML^> z=N<0TEI96KOxnM~vLX59WKYHq?R&&682F@KH@*4Q#KEKbqCxZ})0Hpn4#$08NBeua zPJIw;e_QeyOW3Q~3K~l6=7j>awx|0~d|=^jWN<86u=<4MlBNbZAs+Sz!X6#fRzi)r zFFGBc&$>Hv(NWuVb2A(!aWFD@IPu!e^!7E)5xY~tv@@_$P;u7}f%cT}Chr*=6`p84 ztjn8zq?zT6o4>~5piLhH?QX1QxvwSX^Dj;CuZ3f;upkrHitWN>5-ma>I2(ESkFA@p z5!B{o;cJlRu|ZDAsHs0j#gmDNLGdRGD|jyy0|OVsUj_;AvY@Hci(-nE7B6gCy0~%C zg4)dN%%bwBC5sy8EU2C{r*ZMTntAiu<}YdKozT8;X~X>a?F$w*PnudfcTvT{MNJFm zH!WJyP+A>TT^C#-!y-5`@$v7c5w_56=I8)HZ5GzIB!ww(uKVX z7ql*1*tud+OK7rTdV1c%g>CZ}_AOl05?(GBQ=+k8Y4fxh6Q@k=n?AjJ*4(B=3(I|i zoH~1Z8e7uB!UMd#f?d6W?VST1-9x6&o|ThVBV1g)8rs`kJ!9RyJQpmgU9hlr z!Tjp}3ALWSzP%H2Jbj|)%&T&CcX#&;cXJP(G^Me%vm>rrXzqdubLRCpID5H!IW1mT z=kDP@e_lgUa=4qjoqtf|thqG~j)4o7R3)YawzU@pg+|YtU+(G}F?m|2vy1DjY0WV; zTp1Z*GiKBTg(dn2`S|&Jdbo$rn$zdy6YA#fHDOZG{DqD47fmUvtck0VFD|Lh&5K#O zxYpM{Ojwak$DSoVJ~ydYKQ1Y0;oRzka+T09_gS+$v$FDL&YCcPal@Q>9dqWj%$whA zWAE>sA`}$qBP1yso#`20Xi?u(78aS%*I!&;m*3q}6cwA2SS~exanFo7j(%Dnh($-j3o)Z=2m6(#Y zaQ?)~>cWtGzNl;qd&e;EDEorqSTRwJ=-BW@i+h}1Y-cZMsHsbzHG8V3myM&NOJ+{E zxRiEbab!$_S8_&reoU4B;$Cl~%M_Fo^@h9hb+IiYqhq26B&{|lM=;r9SU_slGIgOTHI+k{>y}jK? z^)X_9f^<_Scv%qS`i0~}opR35{Ru257q0QhU3y}gUh<-r%nR-ZEscs_u{abjKi|DB z;-8GymKA}`mVH{P97Qi3^5y4x&Gjl(4q3r}&}8kYshQ{3h3V$8N`JiOG{<>mt?KS# z9k=bV&piYc8rFL6@G*Y$^+t&H)vz+wcULVfavnhTLfyzrJo;T~a?P0n?R#4}488C9 zeEFDgYKmslIiIca&o5U6uI7`h%6fg3q3%GR)ko8;+naaZIyQIr_QxFx&Y$fp_AH3s zW{{+zmp7yG_&)zm?sva3Hy7VuzB(B+zFmHQ*8Xl#eT=ko6aV$OuyYnF zpEPk12ys|i*5TRXuyTiirt^vntCxoHH;k4s2`pteV8-C_|AG7J%)D6>Rx_Xd6|gM! z7AJ!u^Vh=K z-^5m3P~4^RM)mMLrhpFTs(>Tsj`Zs!Ok|W1EIcq(B%I}wn>5ds2UAp!Z!ugXX|Q9{ ztOHpw0(Rm*b}d!D{h`ocn?U5M^GhT$ZXP=8D8aqOS(ae}t7wNp&;`9zrw%<4h6M`* zu1)?_EO0eq(ZUH!SRETnFTY>peL*DkQA7S|rk4R1q_X%;*e+D`ah6{zzW!e}|0tX6 z;Z1uNF!fEimbtoSg62Mvb(zv3T~e9b1QqQ980wTwPTO%r+NLu5btqqu?y_e&w3+kg zs|}mkRz6JGJH;x_%2jB=y$KSP9LZ13e=-FyxqryZExgI>9(np=+4_`k9~MV-9@xS2 zR`ZziX@C2S%|S+!CaTC3_6C@pDPQT%$`m_0KzZ+SPIsrMHIM6#z1CV{aFe&vUqHw= zXu>`tPlWLxoFhZ7fedD!$7tav={ z`TvZF362(-oSOu0@Gx9->XP2#)hORFcS>8u1g1R+B|Mz0QuLPf-Zwmt9|zg&^JHMqapsf}=}_4*eLd%=PKCUVMLZ#E^uetlivz`G`a-TTHN zsc#!p9oek}PG37Zt!d+gyV*zBHtE~fo>w_FN5VQ*Xn#{kn2)|OhZgsz8(Z7N6#oT0 zU+i}2rsdxp#s1K?pO?7wuKbUBwZymU==XDpA}du-O0r)(w2;k-JNVs^$th7GtIr&a z5n{UN`6!6XOYu;TW-D{Gs-%0#Y7;g`*D}@Zf8I^@Q;Rdy)tX-T_;u;&-C@&>QuY?w zHp#pT6TM&d+9T(2ml*%2o4fMFJR6KoEbj?wRXDgkhEp-0wcaW4u3F{}?u&V<=SmVL z9!cua@JxR2VYj6JlMJ4pq8=U6pRAjfcJ5%;Qow*>2~r@&b zce10z{Fhwfj?_4hG~FOx<>Vtf>?gfV?nC-43?DC4YCYZ1hOor zzdLQW%D9wu(~G{AD#g{lTPBz3WcMxDbxPFmYu~5YFVqE=MA=&!)XK&P#JPid3LVMT@n#9 zqqg#xhfwMn(K2QUrN{4{Ik$aVrs=$73%8yJ=Ns88C9gXkNKZ4`9(yVGURvfx=Y=JG z27e~h$oHvK`Bn7GIDDLD@SnvE49JaR#H}HV7S=6X zP&0pF^`ZsU3m4ZfT3EASVfEsLwTl*1ESX=mbU|5Ex#+_A4NKEgQhQqiz7$*>aPCG%@Q3+We^E?iKycv0=*g;k3dRxVvoW$Mf16K-$o7PNdx zwYUa@qoX&!u#uoVb5tphh^W!x1$BZlyw*-W%NJEHnq4C-rW01hotlwt=i-@~ncLh{ z5R)7p7#i>D86I1zR#IN%?C#mrTIS^9nVVY(x;wZeU$ms&C(=ElOe-?iDz?BZ zyo7V!f~trlbEgCb2WR()Y}@;;9^NP?)1DUCr@-N`AO!8_W*-rZS9+$= z^N27_$aHnG4Yzi7(lIxQ%2il0w|eEm>cAN1paK`lrn( z>gcYYzo32Q>`C($H_n~cx^PiTO;u9=#ER_n$OVfg^z{|ano}7O8RYHjfs+5 z={{v<{nTk?ZXR|$ebuvOwfYBoR#eyaPUv!R zac*u+udB;xXsVBjj>^o5Oim3fEv+pm%A7J~qP34kLvxW!l1ON>VQjG^*2b~?tq!Ed zvGVaCP~%v#Na^Hc4P`CC9Y#w}Pd8wlr6aj{nZpEz4u*zQ(6pRGt<uu5AtoUG`c&-KGfsR)Ws@e=LN;(0okLJgS{?paDp_qDVR&t)& z3)81dnzg5t?mc6r=s$0IqJFL z_y~Uq_n|sY!H-U5O1;xBmP>y$mv!gTa_w>`S5Wrgs}e2o(Pc@yAz5-(v%JG$AIB6P zg|ZhDoH-jqn!2hFFu2Z-zHPW%-l@HCyHxLz&f_;zHAJ>VgsO^|oVJ$|dwHeDO-{ut zRB^|4Pe+~ylb$qQ%ygOC7;LuWh!WGxA{GXPzf6Y&SPCaOPJ8e+U2qbE!FAbLe2xch z7@3}$)a0o3;G<`=?@4o^+2;=46k|F3qCh~kbZXNH`P!d5MKa1hMqW>wB-iq^G@7++ z@iNY-Od3ARYb+eT<=GhG+EW<3sK?z`oqR(a=;d#Lgn ztv4IE3MZU)SjBV2OW9gTd)8(j(M^hE-A#6TG7kguoBVx@;yQ;9a43hg95OI@^Wm_8 z%9%VtZudJIjzBi=mcRLUT%lcu>{~;K-@L2){Z7es-ESYA8&Rqd@n*#dFZXgkadl+oxXSPD1qVV24?_;p)1XR)Q) z9pf)9qMQe1{w+DUq1i!6DZFF0vd}?+V~J1lCL$4>&E88gCw5r^MCpkoClNGoJ$w8a_9Ba*Iu}*kHS`_3`SHzyEVt zY}0s?RJX=i%*mi*V$zNe3briLyo(I%n2cIFCI2W`iKXvU3QJ&j_}O;*K!qSrf{UDq z#A1P@6FaXNK9MwHStxY+T8sE4z3Tj!Bx%t}t*yQ1`r{WnzcEm-o+P6q%c;1;VPCp) zS7~qK8}0`0c@7rtU27-sZB%*a^!YCq$waN~xuD@!`lg_XSm+?{SFEz8fy zSha9p^q$Rhieb-9PooZrjYnioO>=9Wa#`Woif2ECUV3eHbezFZi|L?N>FFwcrJR)q#L5TNCHq zwVCe|J@fp;YeGD)SRNjIwXLs}M@h-Qv_m?}^J;gEvLI)wx@(W3K=z4V+32kux&mD0 zceYOM{;Q&C-`{m%jT666h|21imnRN&yjYyeTAT4wWmU-Doy|%Qf2=g-^}5`a5Sk}z z`s#hc4bSa;f~p5MNAt{jeo}tU)V%*C4^{0pT>qDvw^{#7j6hq&)laTv8(A{l?aLdT z53_z=yCRlD<2n2FYyWRuTKW9R>O*;}qbGdYu;oDMX@x~nF@ZwccZf)?OPqN6&NHj; zJ1_LED_QP+H_vhNt{Z39m2J1)@VaQa!o9!iDvn1_{7`p&&lBJERoqSY-U=<+`xL(%TWp>#I8vG|TgKgXe_Fysg`GK4({v|S z-Z62x_2jh1O`~ff2h%p3IkY`H(9OqhyI8uitwmPuG$WULjF0X}y2vhm{A|9lQS{c2 zKNXw)8Bb*tc-Adbl~ug$ge`B;tlm4K468(=m+((YXAs%7TH<83q9H?wqDS zRTEF|Ep?r=H*1mZEv5B;Jr`eBYq$E{a?5M?wjw62+!+^zeD&UGR(7x4T5^2J)!gFk zkB|p?3mJGAY#G*qCtepXs$a6Ge#zp7=BAcqOKKM{teY^QZP}8>jGXwcp60oWS{E*; zUb47$$)f6I3u{Ztla?>8T(-2Sur#f?sUjyoYT@GQs)nYx*u=RDy5}$InZIz-qJ@3) z7u7FZ)Y8yU6CD>nX?o+L1(h>rP0UCSSv;@5rmB4Lg8D^E8nd!W7BA|rtxTw@$_oq% zcXSJ!JHN7{v$(0Lbn=wOrAw>lE~s~NvtGWaYR=sD`3t5kUEJW~=eQWu&Td?`v>_Jm`nsmH-N*xk)D zGAeMz!iFV_%jPZYsjg2dugvlCj+wu(rK%=j@uG%>i<*}#YM48#apCgDm5b_EEUfc% zw~mN*nlYyI@h+EcguI6=e z^LFv@?d$1Yw4k=VFKgc7=CH`9*3O*%$t}VndXuL2goHaeI(yBTGjsmjs;M)I7tU{J z?<@%Lck7>A+1uYVYj*pr8NG3_UY=f#^Jlk&7YRm}i8;DNx_gI)mkTeMUuEYIY~$>^ za8a3yYlx#;*rEkxpc(MRb&KcM3Q9;tWrG^KE?$v~=2Sa|^O^cEd8M4!COrJh! z&fErjH`keSY9i9?mM*NYa|uvUweihilhNaxJb6-IU)hX#lVg*^7AV*qCYATcLo$V6}UHT^EUy7k6ro=jLZe{mqJB>2PE(KR@50xonH-7SN$rptdYkmYB7# zxi-;|fy0x*;pCLhyd6EtdLIlWo1U&{{9MD35n{}G(2>ucf6wJlj7~Z-yuJH=w4XR? zk;)KrO2U1C@I)>aHgyfBBZv9r8Dtdl7^dcR#|Zc-aV$@k@MKTiao|Q{o3lm+%d7u8 zEfNC{x=Tz`Gw^tD(kJ{5dsoJyWX=6e(o=NSZmcO~o$VOn!ssaFa9|2&KhKr}At5p| zE^{j>CQh>xxhpigW>2X|LWuOdR5oSar5_WVB_{+zEXB$eVFX<^&$M(q%^(7JQaU>+WA71-p zmV>KB=?af2Ia9kmU*EVnrI^XlX`*TdlfpQJs{1`punllP#xeY%v8OvODDvMp?Zo8yQfEhyzIq` ztgG101|+kX8C-2+S7L=MWdTo}6)!Jm98JXGfF&;jCj#FpUPM_5_vA@TT`13cWrTHESUGra>sk|IkKoSa=FB0T%2mX}nfO`6!<)zcMKCJ-9o*V$du)RG+% z=2}#qUtL$XaKVJ0zD5T(zl6lZob2$30^zV?;f}U8TPL5|+7x$puezqDo{5EC-d;hG zq4g~p&hDXUnF&$xe*F_Bg+|(Ydq<>Z6qHw%&6-iTbYXelq>6=$YnCl(boI8VuS<-L zO`bTZuDPixGSaTBC}qZso}Ap2#dB+2TusBHJ(n-6T(+>bttl@q(Z9UDIJczC#m&~r z&L^rsslK^x@x1bdOKTS|Z7}v_m^P&(CfjNH%qa~Gjon>M85wDlr?n-drMEV;)YND8 zOlZl=FKTW|PtObr42rF7DzkR9NlDL|H?N|(skphdtgAaWB_*_>uHMPXXz8Nj@`|W} z;`GY0Q#PAe$Pij0o+%HWI2*9r`G_6oIi^S7_7Ee{I|aZeO5aOF@j<8Y2*U%aBl-!Fc` zgqHT6Ole)F$SMIrak+xr5btQspje~&)}F8oJERhogSE*6v^4~_X!mH_n;V^%*%!z( zl*#LN*{tZ1XE04>tMgVb=$UJM-R+b}htJsq*1D|otTKz2ov^m$UZ!*7%<{m-GQMS2 zuO`pcX!$h5Plow@qH#))I-BeXo`oy&6~xkVXRLZ|vu;sYpY16hS;u~cKE@Z@uPusc z{=uNLmiuGWnH|gby$w;DU=ZKZ$J4dTyWsu9;}e7*u?TEUxO75!b&{V(S+PsZJoh-c zh>*;Tj*ouoJ?4@tU$sAqBjKoI^rb9Vr_QcBU#(?o;E{BnnGo1*7^cH`%6Uh^BR38n zzE4aU?x6|-R;#ZR2*@+P3=a_3@F)n7(qbtLQOgl2abS=WIO3+pmN@aSv+*pOthG%ASa8b<^{btfg^|Xysyo8>H%$&ed&mq#)7JSc>&E=wo*HaE}0};QenfIK1+gKBYQu#%G9$LAwSmHqdL+Cm~ zcBepv{}b4k3th}?WM$eoQDV&mA+7_`eOa@XO%nRLfOF#JH;jTjN!u12UL$B~IdP+l zn}Me5E+2-s&RhkNYc?`$*r_v9N#mC;>(O7oa%TyoI=|jA%cnz^!TL;f-X5i^-48sJ za*Tq61Q?yq?0zhEs!c@bjF9dD&V|YhIu#;`%{v(wj3yuTv}0jBuzi!ZfUdm76_*Kj z?7n!;J#G}8=Q4Rlhmqs@Nqg4Jklin-?Bw$%fOYwj2}$d8c^OY#P=CQD>@&4%16P9# zhoxh(<1?Pg7ewWZTUw?@gxj)8nDd7m5Hl(J&|#o{Wm8+=+mwKIHuVdy1(^27d9=&N z%6vP@yH?`l1zy{z|3Me$icNfIa*&}Vae~?3gIpImge!Cx_U7*TX}H_UD5YT)pJ7~} zI*a@|v$S*koqz7SE54@eCV| zbu-^|@RVG<%#v9wcY%|@vDHSm-JjewV|nVR8SrVhf=_hv#Tg7f_JSrHn!Y<67w-|M z{SnHX;BrBAw~c^kr!)(f#2coUM*2L8Ge3%4vN~Z>(l9|^=YYa74TeRBN+)DQFmhHI z3o6GgTj3VL$)P9V;OGdrd{nWNar(V?w4;{wC-B?}g5 zMtCV0c0@XxDeQlAazP!($!6XE1_=Urdzi}Z9JtJR%Ah%0H^Apv7Yn02`{sTf4}QUr ziH-rs1q2LT_)l&Q;xOyzX!B7HW?jhE*2X$9_h&Zi=jMmHH?A@W?_J**wc!}E#t$>I zRqqrscosW!Bd5mx5%?(Vp^#=Kpkecb+p8f; zCgfvtTL5nt??pzrX^t%20Yy#BoQ{$|+>SQKIEt5waBzN4Ycex9X>7_pW9I`7L9bsb zQ!Zx7Z`Y9&EZ^~R;`(Zi%N$NeGM-Kf%DAEI%9k-Qi|@f~27^ZDtcTk2rMwjnDq0-x zF;287TqVb2(;?CGg+b52IPU;6gM~%IC)K7U21+dk9Q-Gidp3z2@?RmtVR$a`g1nRq ztB|LIW}P^vvP7`Lr4xsgY{Ha99T(+Ev^FrTy4EP3b%s@A^>XtUOIx{P7O?zUbkVf* zWT%KjBDadkQHN<0HM%Yo_rKr@(qn#L*%YxMR#dTp@7Kz8SDtDu7UR0IR_5i2zdMcQ zqy;>4WLveyD#BxFLCq6oZIAsEO%4j5uDIn_@6fdC=YiTa2FF*Zo#+tTa=@#lqcPA( zpnJuv6>RB0ntyRPomBp^h)dgbre;(Eo1E5bjcpDG1ymZ@TR0mymAsxRZcuDI_eqga z?@D^u3$b3Wmy=~0tJk<7cPv3WWE~hbf}2507dI?h(&+3S@$u;kmbT1Y zP`hwZBPkgYga6;U9`A)$)eU7Gy4~U z77EvY5l)_AQC0jNX&e(K^ty*wdjvQrnzKxqQao{DopU5-U2Ubav#E=#lck-v zPq;%=uDPHryQnIIkFV1LaLdfp!B}0(CM3lvJ+sK!%e=k4*e^yuCp#=YU)wr}-8F&7 zH;XkP(MLc+GCn1Zp8K12Y=~7giZPw(`32{L%!OSzWA6afKNWQFv@#Ji`qzCO|MYEPH!=?QCYZf0@i zyVAC8?RAUHyG1eT+X?So@*(9kWnZyb5utaC7#YkaNPEWwFpJ(v7KrtZ3J90{v!G?c zmqW%$X**`7{&G_k<#YY7bBK|FnT=_0j;{TN$={V&G&xk}FaGPR{p_{)l#lmp4skMD zUTmyqDO8+Xmw2M(Sc!>%gh;*M!vhoZPd`mhbl>-5dUKs@Z&JMD0+A;@LD3v6r`_bX zd}q^ETvTycE6TNnl_AUHijvb428;QgF9cOixfQ$+kY`vwMWwacaIQz76zkf8OKr(- znU65tDHUyOj^llNX{v7I1CB=ih@Huv=l28z%#fW|(iZKZkT{81-S*=`hm2*J0n)Ob z0)e`pmpXSgYu$O?G*NJ7lWL>c9YJ9M=Fpj-|{~UrplElru?P!S<3_bYHn;d!EblIPT^>zl5If9ooppa&U%_^GFHXw^O!_-GCAn+oc1z2C0NUNK;iSB9fBglHy=&t)e&!L zklycfX0ZtC*PIK=*6uP&!N)Knsu5dUZEPC?Gfrv#3P6yd-8QQ9)I35{adnB}L zO}C8f$1kTuW-2f(Qk-ECs3FFs^le%9vXh7Ih2)=3J>T##G$DnTiNir_V(#oG+6$Uy z-@V9}U2L*w!oSk#pKc1TtSx<{dowr4c*g6i&4wPEN*KIn^vsmK`PFQ$>WSS<6Rg~W zxfx>JkIiWD5*0dHAt1c*`N5!Feaa%7PH!hgXS(k#xqOiQ=fv_2=j&d~u92@1DPh-K zXwA(~!`m#NaVOIHjLCYH9VVxLN+%R-a{Op;c5W=dBxbdMON3Zt7%wY-LTfdGrFp7eRcgN2lvRT zx=qy$tL)sPs_HgcyM)&?uC1=yV(S`i>lR*BzuGGx!^S1l#wFG}Fsrt4Q&s&+8<$9N z5xv@`HPyA73(6)})~>Cp-B8=OwWeWnc43#BPqK%9qK#vyl&GPjS8Q$LhN`-?9{wrr zeu=iOQFg9z#g&sCJmNF*x~l89I(jBn)~&Ml44075u5aF!UDRIJv?Zsg*WNv$s&=cj zbF`apdQHp^7_;MGoM6bZ)+~UavWj&H2=6R*P#g+Y)b<6GCqJtxgN~;!E)~t?C zt*NM4U)!|N#wpCjE5*?x&DAGPR8ZH!E2^e(y`x8>r+<2N!*V;N<<`bM25LQ@RF|DF*aY4!ay5@B@&WR50(J5Iy(Mi=#9llvZJK^T|rgto88EjZLoc4bH7^*%+7FR8&4czj%qWS4LDq zlYeMwN_LZ-dyI@6myDEYXmquIXii4XOe@Ej(AdJ9g1L1qD^EWNv~daX3QTwRDRgp= zt*PG;5m%el#NgzS?ckp39Z=NNut{1>**~NvDSgU`$5zqFWp-}C=bo!uIYfvnXeOj} zmQ}4TtDT&lGr6XAS8P&uUdi;TrdbNIy5X_y#pO$VLo<&(R;+GX6dciP?U<@+#LzQa zO)C2j;Kdw@z*8DG_DAm7u-3)gRcyqkcU(Iy>!6 z?CwCZOvVVeZR_stHV)@fnXWr~Wybw|53Qz`ikcqouX_-CW=G-4$;|&xoc{K9`tssu z8u_17e|+c>8GNsZ*?{^PI$e0*VhewZyug1^Sxypbye@|f9CJC^EGSg)!2-y?>yKgMAxr^8I$`z)c;JMsuey||9%lc*DR?+0GJzu)qPCvMIDV!(tQGh6) z))A(F`W=VQ=pR-2%x!T_L|GyCPs}1deILz=`@#HbDQp2tcv=>EG5=(2;AA?;6IxgqIVXyjXo+-rSczNSh|%pUz^_Df=u znye7+>S>znQ>GJ=-2W}{iojIIg~rpAf0}%kH(Oyf`GNk$DUZ3Ay7&EOZOL$o> zdmEYPIH!emX@G%FvY*!84@O<)C+t4+_}z(_>-Mlie^}gHndnG~h*1B}Ab*e1la*&i~)tS&LFUunm zT5a)&(`e^d9Zx_zRX9_B4^|tR9x~g zf4@He|6lIfHTsaNOaDBcm$Gkr+^oQ}kmL5ngF>@Dv}pJ& zAA2%<7E4_}am;L&VQo}T zve=^DDuXsTVw)Bhccr&;tiPGec3 zs#ku}TmIdK>3?@C8vIm0llbWU^kXV%M(@MVq#hESd5$ICc=69YnL(2)FYH-nw*BPU z-7_}Lemhgi;-m7>!bzK_KKs(aTRrJ)iIIy;=o&@qyFUdYdLsHaLtZ$mdtK~``m#vk>>+7P5yK983%sVB{_dW1atW4Tr&O#&`T@Z~Aq%(9(QwN1-`)LfmZHc~i~Jbx)p6__6nEVHnwN6; zHRGqg2m3=-=w;O2X0V>&DEd>hMUkcFE_28tZpIH!%MacbsF2&TU*cPS<9sV zOf1KP_D@pPRAnk;6FhxmV~N4~boQ7~SDVPgWgGH}#l2e$JS0vQusr595xjB8ZpUek z4Uc>^4?Yl(IsAX~8jBA-y9HPdaz%1YPTU0t_r(i(jyZ`@5^14Drx<@ozQNzal0BbgTuy8NCQN5q zeKV`=$|OdCRKCjHu5a(?oN#((9&VB8`tIAs|8tfm{8mq$e8Tg4!JTbO99*wx=l?vg zy?R~8_r%MEf8PDCtNaqNzLW8mN}ld#O#icXCOmrm?b^?x3ngDT+ul0y%(z{A zY}X^(Rev8A-)$1zv2CYxLx-RK-e2hpSePst7*BA7Ur5RL7O(b|vyF{=O&Hgz4Yi+^ zm%a;OFMZ%~>3P^YcTT2@OplHWELz@B6wJm~kx}`<*4?a8WQLzuN2AyehAi_0hYRd^ zk8^qpnu9N7W{NReS9pkguk1`sXiBU9e7s4#BBi9YoMoEkjD%*zYaCW5qN1)e-aj6_ z=7Q^{)>_eumYr>!?hVZP;T&NJsj*_MK^*z%8txMhWQSE~9(AjVzR?<4!XCLGC*uNV z$CS3BE$yvg5r?L+|Nqohkm0AB(Z>IP+5G`is$1Fl@0_v!6FM?>v`_kxS+^oOb3$u6 zM@>sbi|q<_YmL-f(^yjz*i9KaCu(%YEXnRT(7|lRJv}2xctt0-D&rQ3qzi6Mizaku zZRlRUw9fijRmlO?B?p4H3b5s+_qZKk&wUoXSEH^fB5>;tmPh5RJ1ojF9TG43j|u33)!w-t&!bXDe?bDpOWRI=nr|^ zV!3CR=X`lO$;e^irXM-0z7@%<_0C(-Jmp%abO5u>3=aF16JKz&WVx1TJm~+K-d2;4 z$#9)P+ijBH%n6E|Q}6spe}1ih(gN;@*K4-3b>^>}()gh9xLbI}$>w-h7VqQib(P#c z42g;}IsFPUR<~ssWHRU;2oXJyb~U1@@K|6)<+Ps6o_|{=^eV8;dtR3y!1Ur;XT{C- zj?ktcfeuO6nJXkGOgmRUuSZ;ME0Ja4F9HkR-Ty9{b80t_?*8Cv%CyKy(&4H1Sb3Moc(}v-ueHQ zLC23yI3&?LS2JqDv{@HE%*a}roR-M@A%B6f)wBAuXz_oGnXA4RWiOsB#MS?g zWr6jH>AD+cws$geRZZYok<HJ82!?#dfnRV_;TACSH#BHQBtoAULbx>+lxNv&Ag5WRYOXxU9)Ur8b5$dz0l<}e$$OetBW z@Su0+hE!PryFlQm)S7I8 z=tEL#zMPyQYp!*zeIT{&k=42PpFPQWS9N)akF=ScKD#(%Pz&=SO0KOsTj0;G4dS;OC94JU3)tR0T%Y%VrG{a>g7#DR!6h{l5dpWz{v#4Gn8=PVZr02;2~{xq)pd2gkh^n-m^+1YF(Z zSit7Pz;K9xQ^$ovcEXm40b8XHZV*_=B7Lcmvv8A1Kv$r_rrxwoYT5#R3Oo$Anby7B znEShRGS?DqYZlAflXVubxPPdRW7`_yz?>YtZTC-QxeC_U>c)u^*7v$K*LXWxcQXet zY~j%6+51tsXTqlB=&dEIm8~4Mav$UHT+O`T_12^VoBDQdZg|ZUF2JgOAR>aBVR?a( z#f9xH1(SRmcJzv|tcsqV;k_+2dRwBldF<(}Ne?WV7c6!P-6&|icAr|E_3x!zUE6lA z-mbn`-9>>daKZY|RZJ5U}z^S@uOUPf^%-NP45-ZO#KzI|3H$FF4S+u99{82R7f`yF;S4 zRYY(7cWUba>pe*idS`9eRZzh6=k{cUGn=ed?_+&4c^>x``>CN!h4C5BxbhBcY&^Di zq5#Ww0Y~Qq4$DW|`2Q$t6?4Vj-V<;;BfxsUjm^gC7P~SWwo0tp*ZA`g(;qfpuY+s4@gySH;c}= z9nE_CX{v9Oz>?nGc#gRL=ixQc;Nae~_nX%a=YmNJ z3P(eHm}9z+-Q#9TcbL9>7gg6Yl?k?e!!ua|Usvu4$7vMS*Eb?R8+Y1WTC zM;9t=2)`iBHFI@aL8r^Js=7Pt*HyE6FJSHx;GDI>^npOM?MZ>#iP-#eF*?i{^+=0t~g7uSCV&P6<& zA-7r0V$XBbvRqP~+Viy|M#sGI(7wwOhyAL#Kh4?4uDi8dfv5fq`vGoNP40_9vK&26 z4=gXZs;;x&^v;&s+B@~%99~*|Ht)ku9fh5GHV4dK@2EJWU(U#UCX8*jh0x_c$|?zP&xH|E~G zmFx6l*IlLm7w_Kd6<=O(>0#`>XTDP3H*B3;eeD@LE4$;q&w@eGn=l`eDHXK0b%ve;)7%J`~Cm_-DW;I`5&> zzK6+*57_oSlsorO$?g%yMn09gM;h}UY5fy8wc(N8zefggkB#gemov_IcIAMS(YnQQ7j(K`3o!7i|Gf|TUF`!4$=?CTx{%83QdeUkr#mt~^V*W@Su zg%%!po}aaZBkaV!*b2nt1)gwv#`cj%V(PPCJF%R3f#*LwOEP@6=}U#aAy&x)f*l(?X#lV`Mzb7*E>PhLr1W?p|yrBKjWwN!HF$HZJilUP*Q?$#$-BHjbgTu2Ifj>5g8}jvg`f&D*N$*ZGI#y8EWp zHE#6{NwaZ^sjk~@@1Ef36QYNRkee&!`Z41W6wyhQp0cE8*Sp}0Wy*82(RlD#gF0YwkpU3)We7 z&s4wsNvfn?bKi9%Y{SI@>{3n^hKr7NgAPU%{ElqOeKHu~-Sb&UV4^e*NfE zDw#nGcFr~`es$;M=alnP+M2o)SMWCQHtWhJsOQ`xrCtY8z zbo5GTrF2Oy!}T4E5=qB0rZpzWq`Wj{+u?h%PxO1Agzn?+-ra^qrW)4P2Vd@IkNaPJ zJv?FBV&+_n7Yo&$F9z!Lxm{oRd*Pd2_9b!OH4T+aHyAgR&v)G8adfg-8N&oWNfn+Y zdX1^dKGiZLI?B_OZ+jLInvk&O0b%d|hC+_KbLFscvZC zWW)BWEJBkWn*LO=DJr>q&fx)%NUMV-OK6%Kv(T2NMyW!{#XYyqat6v}+o&@zoIb$n zAXB#?`KZa>FP~;ktJ8b(G@P-_HO=|S~B<;`{pjaXLZYQo0j%GhyN^DM;r=8 z%0q;n3S_%ZTNEm|z-QWxYg*--3{TGW`)@hrooj=|(X7?M43-yc9^5&?&+t^EYE8z; zu8@Wq5@&A-Ya19{S?74BM&ZM@^PNmq{Y{#vfOvL9PyEvA?VFwLk3%qKbwwM$<