From 8a437abb0f17d00aeb0d96eb6ec4d3e671dc7f61 Mon Sep 17 00:00:00 2001 From: Rukira Date: Wed, 4 Mar 2026 16:18:25 +0000 Subject: [PATCH 1/3] Icon and app name --- composeApp/build.gradle.kts | 10 ++- .../com/rukira/wowbackup/ui/TrayIcon.kt | 86 ++++++++++++------- 2 files changed, 64 insertions(+), 32 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 2b3eabd..b4dc905 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -69,8 +69,16 @@ compose.desktop { nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "com.rukira.wowbackup" + packageName = "WoW Backup" packageVersion = appVersion + + macOS { + bundleID = "com.rukira.wowbackup" + } + + windows { + upgradeUuid = "e5a8b2c4-1f3d-4a6e-9b7c-2d8f0e1a3b5c" + } } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/TrayIcon.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/TrayIcon.kt index 7ee515d..3cfc11d 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/TrayIcon.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/TrayIcon.kt @@ -1,45 +1,69 @@ package com.rukira.wowbackup.ui import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.painter.BitmapPainter import androidx.compose.ui.graphics.painter.Painter -import androidx.compose.ui.graphics.drawscope.DrawScope -import androidx.compose.ui.graphics.Path -import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.toComposeImageBitmap +import java.awt.BasicStroke +import java.awt.Graphics2D +import java.awt.RenderingHints +import java.awt.geom.GeneralPath +import java.awt.image.BufferedImage /** - * A simple shield-shaped tray icon drawn in code. + * A simple shield-shaped tray icon with a "W" letter inside. + * Rendered via Java2D BufferedImage for reliable AWT system tray display. * Works with macOS template images (-Dapple.awt.enableTemplateImages=true) * which will automatically adapt to dark/light menu bar. */ -fun trayIconPainter(): Painter = object : Painter() { - override val intrinsicSize = Size(32f, 32f) +fun trayIconPainter(): Painter { + val size = 128 + val img = BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB) + val g: Graphics2D = img.createGraphics() + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON) + g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY) - override fun DrawScope.onDraw() { - val w = size.width - val h = size.height + val w = size.toFloat() + val h = size.toFloat() - // Shield shape - val shield = Path().apply { - moveTo(w * 0.5f, h * 0.05f) - lineTo(w * 0.9f, h * 0.2f) - lineTo(w * 0.9f, h * 0.5f) - cubicTo(w * 0.9f, h * 0.75f, w * 0.5f, h * 0.95f, w * 0.5f, h * 0.95f) - cubicTo(w * 0.5f, h * 0.95f, w * 0.1f, h * 0.75f, w * 0.1f, h * 0.5f) - lineTo(w * 0.1f, h * 0.2f) - close() - } - drawPath(shield, Color.Black) - - // Checkmark inside the shield - val check = Path().apply { - moveTo(w * 0.25f, h * 0.48f) - lineTo(w * 0.42f, h * 0.65f) - lineTo(w * 0.72f, h * 0.32f) - } - drawPath( - check, - Color.White, - style = androidx.compose.ui.graphics.drawscope.Stroke(width = w * 0.08f), + // Shield shape (filled black) + val shield = GeneralPath().apply { + moveTo((w * 0.5f).toDouble(), (h * 0.05f).toDouble()) + lineTo((w * 0.9f).toDouble(), (h * 0.2f).toDouble()) + lineTo((w * 0.9f).toDouble(), (h * 0.5f).toDouble()) + curveTo( + (w * 0.9f).toDouble(), (h * 0.75f).toDouble(), + (w * 0.5f).toDouble(), (h * 0.95f).toDouble(), + (w * 0.5f).toDouble(), (h * 0.95f).toDouble(), ) + curveTo( + (w * 0.5f).toDouble(), (h * 0.95f).toDouble(), + (w * 0.1f).toDouble(), (h * 0.75f).toDouble(), + (w * 0.1f).toDouble(), (h * 0.5f).toDouble(), + ) + lineTo((w * 0.1f).toDouble(), (h * 0.2f).toDouble()) + closePath() } + // Create the "W" stroke shape to carve out of the shield + val letterW = GeneralPath().apply { + moveTo((w * 0.22f).toDouble(), (h * 0.30f).toDouble()) + lineTo((w * 0.35f).toDouble(), (h * 0.70f).toDouble()) + lineTo((w * 0.50f).toDouble(), (h * 0.45f).toDouble()) + lineTo((w * 0.65f).toDouble(), (h * 0.70f).toDouble()) + lineTo((w * 0.78f).toDouble(), (h * 0.30f).toDouble()) + } + val wStroke = BasicStroke(w * 0.06f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND) + val wShape = wStroke.createStrokedShape(letterW) + + // Subtract the W from the shield using Area + val shieldArea = java.awt.geom.Area(shield) + shieldArea.subtract(java.awt.geom.Area(wShape)) + + g.color = java.awt.Color.BLACK + g.fill(shieldArea) + + g.dispose() + + return BitmapPainter(img.toComposeImageBitmap()) } From b992d78ef6758cc01ea7800e906c30dec916ddf8 Mon Sep 17 00:00:00 2001 From: Rukira Date: Wed, 4 Mar 2026 16:24:12 +0000 Subject: [PATCH 2/3] Icons --- composeApp/build.gradle.kts | 6 ++++++ .../kotlin/com/rukira/wowbackup/main.kt | 1 + composeApp/src/jvmMain/resources/icon.icns | Bin 0 -> 107444 bytes composeApp/src/jvmMain/resources/icon.ico | Bin 0 -> 10618 bytes composeApp/src/jvmMain/resources/icon.png | Bin 0 -> 25625 bytes 5 files changed, 7 insertions(+) create mode 100644 composeApp/src/jvmMain/resources/icon.icns create mode 100644 composeApp/src/jvmMain/resources/icon.ico create mode 100644 composeApp/src/jvmMain/resources/icon.png diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index b4dc905..463edcf 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -74,11 +74,17 @@ compose.desktop { macOS { bundleID = "com.rukira.wowbackup" + iconFile.set(project.file("src/jvmMain/resources/icon.icns")) } windows { + iconFile.set(project.file("src/jvmMain/resources/icon.ico")) upgradeUuid = "e5a8b2c4-1f3d-4a6e-9b7c-2d8f0e1a3b5c" } + + linux { + iconFile.set(project.file("src/jvmMain/resources/icon.png")) + } } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt index 1287b35..a9e0d8b 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt @@ -82,6 +82,7 @@ fun main() { Window( onCloseRequest = { currentScreen = null }, title = "WoW Backup", + icon = trayIconPainter(), state = windowState, resizable = true, ) { diff --git a/composeApp/src/jvmMain/resources/icon.icns b/composeApp/src/jvmMain/resources/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..6933c256a281f5789ee61c0c0c3ed1cd2e1d1c6b GIT binary patch literal 107444 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 Pb!VJ=KK*}w6ZhW$9##k) literal 0 HcmV?d00001 diff --git a/composeApp/src/jvmMain/resources/icon.png b/composeApp/src/jvmMain/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8c94ea5e0da0c3a8dacc0c6f23da8aee333c51 GIT binary patch literal 25625 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 Date: Mon, 24 Aug 2026 15:22:22 +0100 Subject: [PATCH 3/3] Docs --- README.md | 83 +++++++++++++++++++---- docs/masterplan.md | 31 ++++++++- docs/plans/feature-0-foundation.md | 2 + docs/plans/feature-1-system-tray.md | 2 + docs/plans/feature-2-configuration.md | 2 + docs/plans/feature-3-backup.md | 2 + docs/plans/feature-4-status.md | 2 + docs/plans/feature-5-restore.md | 2 + docs/roadmap.md | 83 +++++++++++++++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 43764 -> 46175 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 5 +- gradlew.bat | 3 +- 13 files changed, 198 insertions(+), 21 deletions(-) create mode 100644 docs/roadmap.md diff --git a/README.md b/README.md index 6969c56..6d03acf 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,83 @@ # WoW Backup -## Tech -This is a Kotlin [Compose Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-multiplatform.html) project targeting Desktop (JVM). +A lightweight, native-feeling desktop application built with Kotlin and Compose Multiplatform to automatically backup and restore World of Warcraft configuration data (WTF and Interface directories) on macOS and Windows. -* [/composeApp](./composeApp/src) is for code that will be shared across your Compose Multiplatform applications. - It contains several subfolders: - - [commonMain](./composeApp/src/commonMain/kotlin) is for code that's common for all targets. - - Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. - If you want to edit the Desktop (JVM) specific part, the [jvmMain](./composeApp/src/jvmMain/kotlin) - folder is the appropriate location. +## Overview -### Build and Run Application +World of Warcraft stores all UI configurations, macros, keybindings, and addon saved variables in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, automatically creates scheduled, timestamped backups (optionally compressed as ZIP archives), and will provide seamless one-click restoration. -To build and run the development version of the desktop app, use the run configuration from the run widget -in your IDE's toolbar or run it directly from the terminal: -- on macOS/Linux +## Key Features + +- 🛡️ **System Tray Native Life Cycle**: Lives in the menu bar / system tray with custom template icons matching light/dark OS appearances. Closing the window hides to tray; quitting is explicit. +- ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions. +- ⏰ **Automated & Scheduled Backups**: Background scheduler powered by Cardiologist ensures dependable daily backups at a user-defined time. +- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured retention limit (1–30 backups). +- 🎮 **Game State Detection**: Checks for active WoW processes before running backups to prevent file-locking conflicts, with optional "force backup" override and safety confirmation. +- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped due to game execution. +- 🚀 **Launch at Startup**: Integrated with macOS LaunchAgents (`~/Library/LaunchAgents/`) and Windows Registry (`HKCU\...\Run`). +- 🎨 **Modern Theming & Customization**: Dynamic Material 3 theming supporting System/Light/Dark modes and configurable accent colors (via MaterialKolor). +- 🔄 **Restore System (In Progress)**: Interactive restore interface to safely roll back WTF and Interface configurations. + +--- + +## Tech Stack & Architecture + +- **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+) +- **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design +- **Architecture**: MVI / MVVM with Kotlin Coroutines and StateFlow +- **Scheduling**: `io.github.kevincianfarini.cardiologist` for drift-free daily execution +- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and size archiving in app data directories +- **Serialization**: `kotlinx-serialization-json` for typed JSON configuration persistence +- **Theming**: `com.materialkolor:material-kolor` for dynamic palette generation + +--- + +## Build & Run + +### Prerequisites +- JDK 17 or higher installed + +### Development Run +- **macOS / Linux**: ```shell ./gradlew :composeApp:run ``` -- on Windows +- **Windows**: ```shell .\gradlew.bat :composeApp:run ``` +### Package Application Distributions +- **macOS DMG**: + ```shell + ./gradlew :composeApp:packageDmg + ``` +- **Windows MSI**: + ```shell + .\gradlew.bat :composeApp:packageMsi + ``` +- **Linux DEB**: + ```shell + ./gradlew :composeApp:packageDeb + ``` + --- + +## Feature Implementation Status + +| Feature | Plan Document | Status | Description | +|---|---|---|---| +| **0. Foundation** | `docs/plans/feature-0-foundation.md` | ✅ **Completed** | Architecture, config persistence, logging, platform abstractions | +| **1. System Tray** | `docs/plans/feature-1-system-tray.md` | ✅ **Completed** | Tray icon, menu, tray-first lifecycle, window alignment | +| **2. Configuration** | `docs/plans/feature-2-configuration.md` | ✅ **Completed** | Full settings UI, path validation, native file dialogs, startup manager | +| **3. Backup Engine** | `docs/plans/feature-3-backup.md` | ✅ **Completed** | Parallel copy, ZIP compression, scheduler, history pruning, notifications | +| **4. Status Screen** | `docs/plans/feature-4-status.md` | ✅ **Completed** | Live status dashboard, progress indicator, manual backup trigger, shortcuts | +| **5. Restore Screen** | `docs/plans/feature-5-restore.md` | 🚧 **Pending** | Backup list browser, ZIP extraction, confirmation flow, safety checks | + +--- + +## Application Data Locations + +- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) +- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) diff --git a/docs/masterplan.md b/docs/masterplan.md index f2dffc8..daf2a62 100644 --- a/docs/masterplan.md +++ b/docs/masterplan.md @@ -2,6 +2,19 @@ - Provide a simple and configurable way to automatically backup WoW's config data - Provide a way to restore backed up data +## Current Implementation Status + +| Milestone / Feature | Status | Notes | +|---|---|---| +| **Foundation (Feature 0)** | ✅ Complete | Package structure, JSON persistence (`ConfigManager`), platform abstractions (`AppDirectories`, `Platform`), daily rolling logback logging. | +| **System Tray (Feature 1)** | ✅ Complete | Dynamic Java2D tray icon with template mode for dark/light themes, tray context menu, tray-aligned positioning for macOS & Windows. | +| **Configuration (Feature 2)** | ✅ Complete | Full M3 Settings UI, path auto-detection & validation, native file pickers, startup registration (macOS LaunchAgent / Windows Registry), theme/accent customization. | +| **Backup Engine (Feature 3)** | ✅ Complete | Background parallel copy and ZIP archive creation, process detection (`WoWProcessDetector`), drift-free scheduling (`Cardiologist`), automatic retention pruning, native notifications. | +| **Status Screen (Feature 4)** | ✅ Complete | Real-time status cards, live backup progress tracking, "Backup Now" trigger, missing configuration banner, quick folder shortcuts. | +| **Restore Screen (Feature 5)** | 🚧 In Progress / Next Priority | Restore engine, backup browser UI, extraction/overwrite mechanics, safety validation, cancellation flow. | + +--- + ## Scope - This is a desktop application, supporting both MacOS and Windows - This uses Kotlin Compose Multiplatform to share as much code as possible @@ -15,19 +28,23 @@ - All app operations should be logged to a file - The log should be human-readable and timestamped - Log files should be rotated and archived to keep sizes manageable +- **Status**: Implemented (`logback-classic` + `LoggingSetup.kt`, rotated daily and capped at 100MB). #### Native look and feel - The app should use native components for the UI, whenever possible - The app should leverage native APIs, like the MacOS system tray, whenever possible - **If** needed, prioritise MacOS over Windows +- **Status**: Implemented (Tray integration, AWT `FileDialog` for macOS directories, `JFileChooser` fallback, tray-aligned window positioning). #### Permissions - The app should request the minimum permissions it needs to run, as proactively as possible - The app should not request any permissions it doesn't need - The app should gracefully handle missing permissions, showing a warning to the user explaining the reasoning for needing those permissions - We must pay special attention to file and directory access permissions, particularly on MacOS +- **Status**: Implemented (`WoWLocations.validateWoWInstall` explicitly tests directory readability and returns user-facing permission warnings). ### Features #### 1. System Tray Icon - Show a system tray icon when the app is active +- **Status**: Complete (`TrayIcon.kt`, `main.kt`). #### 2. Configuration screen - A configuration screen needs to be accessible - Should be accessible through the system tray icon @@ -36,28 +53,36 @@ - Run at startup - User should be able to enable/disable this - If enabled, the app should run automatically when the user logs in + - **Status**: Complete (`StartupManager.kt`). - WoW install location - User should be able to pick the location within their file system - The app should try to scan default locations for an existing install, potentially saving the user some clicks + - **Status**: Complete (`WoWLocations.findWoWInstall()`, `ConfigScreen.kt`). - Backup location - User should be able to pick the destination location within their file system - Destination should be a folder + - **Status**: Complete (`NativeFolderPicker.kt`). - Backup frequency - User should be able to define a schedule for their backups - A small message warning that the backup will run only if WoW isn't running - User should be able to define how much backup history to keep + - **Status**: Complete (`TimePicker.kt`, `BackupScheduler.kt`). - Force backup - A checkbox to force the backup to run even when WoW is running - A confirmation dialog should be shown if the user enables this + - **Status**: Complete (`ConfirmationDialog.kt`). - Folder selection - The user should be able to toggle the WTF and Interface folders for backup - Each folder should have a small description of why it can be important to backup + - **Status**: Complete (`ConfigScreen.kt`). - Notifications - User should be able to toggle notifications for backup progress - Notifications should be native to the platform + - **Status**: Complete (`BackupNotifier.kt`). - Compression - User should be able to toggle compression for backup files - A description should inform the user what the consequences of compression are + - **Status**: Complete (`BackupEngine.kt`, `ConfigScreen.kt`). #### 3. Backup - The actual backup process should happen in the background - Backup only happens when the app is configured @@ -69,6 +94,7 @@ - When backup starts - When backup finishes - When backup fails +- **Status**: Complete (`BackupEngine.kt`, `BackupScheduler.kt`, `BackupHistory.kt`). #### 4. Status screen - Accessible when clicking the system tray icon - Should show the status of the backup process, including: @@ -81,12 +107,15 @@ - Should show a button to open the configuration screen - Should show a button to start the restore process - Should show a message if configuration is missing or incomplete +- **Status**: Complete (`StatusScreen.kt`, `StatusViewModel.kt`). #### 5. Restore screen - Should show a button to open the backup location - Should display a list of all existing backups, and their date in a human-readable format - Should allow the user to select a backup to restore - Confirmation dialog should be shown before restoring, informing all current WoW data will be replaced +- **Status**: Pending (Feature 5 implementation). ##### 5.1 Restore process - The restore process should happen in the foreground, with a proper dialog displaying the progress and ETA to finish - The restore should be done in a way that is as transparent as possible to the user -- The restore process should be cancellable by the user \ No newline at end of file +- The restore process should be cancellable by the user +- **Status**: Pending (Feature 5 implementation). \ No newline at end of file diff --git a/docs/plans/feature-0-foundation.md b/docs/plans/feature-0-foundation.md index dc73211..5de1b44 100644 --- a/docs/plans/feature-0-foundation.md +++ b/docs/plans/feature-0-foundation.md @@ -1,5 +1,7 @@ # Feature 0: Foundation +**Status:** ✅ **Completed** + ## Context Before implementing any user-facing features, we need shared infrastructure: package structure, platform abstraction, config persistence, and logging. Every subsequent feature depends on this. diff --git a/docs/plans/feature-1-system-tray.md b/docs/plans/feature-1-system-tray.md index 6fd3515..699456f 100644 --- a/docs/plans/feature-1-system-tray.md +++ b/docs/plans/feature-1-system-tray.md @@ -1,5 +1,7 @@ # Feature 1: System Tray Icon +**Status:** ✅ **Completed** + ## Context The app lives primarily in the system tray. The window is secondary — it opens for configuration/status and closes back to tray. This is the shell that all UI features plug into. diff --git a/docs/plans/feature-2-configuration.md b/docs/plans/feature-2-configuration.md index a9070c2..d7b9bc3 100644 --- a/docs/plans/feature-2-configuration.md +++ b/docs/plans/feature-2-configuration.md @@ -1,5 +1,7 @@ # Feature 2: Configuration Screen +**Status:** ✅ **Completed** + ## Context The configuration screen is the primary setup interface. It appears automatically on first run (when config is incomplete) and is accessible anytime via the tray menu. All backup behavior depends on the values set here. diff --git a/docs/plans/feature-3-backup.md b/docs/plans/feature-3-backup.md index 34ed4d3..a46067f 100644 --- a/docs/plans/feature-3-backup.md +++ b/docs/plans/feature-3-backup.md @@ -1,5 +1,7 @@ # Feature 3: Backup +**Status:** ✅ **Completed** + ## Context This is the core functionality — automatically backing up WoW's WTF and Interface folders on a daily schedule. The backup runs in the background, respects configuration, and notifies the user of results. diff --git a/docs/plans/feature-4-status.md b/docs/plans/feature-4-status.md index 1075d77..e107cdd 100644 --- a/docs/plans/feature-4-status.md +++ b/docs/plans/feature-4-status.md @@ -1,5 +1,7 @@ # Feature 4: Status Screen +**Status:** ✅ **Completed** + ## Context The status screen is the default view when the user clicks the tray icon. It gives a quick overview of backup health and provides shortcuts to key actions. diff --git a/docs/plans/feature-5-restore.md b/docs/plans/feature-5-restore.md index ecbf22f..f019b6a 100644 --- a/docs/plans/feature-5-restore.md +++ b/docs/plans/feature-5-restore.md @@ -1,5 +1,7 @@ # Feature 5: Restore +**Status:** 🚧 **Pending / Next Priority** + ## Context Allows users to restore a previous backup, replacing their current WoW configuration. This is a destructive operation (overwrites current WTF/Interface folders), so it requires clear confirmation and progress feedback. diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 0000000..76bb18d --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,83 @@ +# WoW Backup — Project Roadmap & Next Steps + +This document outlines the current state of the project, remaining core features from the initial masterplan, and future enhancements. + +--- + +## 1. Immediate Priority: Feature 5 (Restore System) + +The core backup and scheduling pipeline is complete, but the restoration flow is currently a stub placeholder. Implementing Feature 5 is the final step to complete the original functional scope of `docs/masterplan.md`. + +### Tasks: +1. **Restore Engine (`RestoreEngine.kt`)** + - Implement `restoreBackup(entry: BackupEntry, targetDir: File): RestoreResult`. + - Support restoring from both timestamped directory structures and `.zip` archives (extracting using `ZipInputStream`). + - Clean/delete existing target folders (`WTF` and/or `Interface`) safely before copy/extraction. + - Implement live progress reporting (`RestoreProgress` with total files, completed count, current file name). + - Ensure full cancellation support via Kotlin Coroutines. +2. **Safety & Validation Mechanics** + - Warn or guard if World of Warcraft is currently running during restoration. + - Verify backup integrity and destination disk space before starting destructive deletion. + - Create an automatic temporary safety snapshot of current `WTF`/`Interface` folders prior to overwrite. +3. **Restore ViewModel (`RestoreViewModel.kt`)** + - Expose `RestoreUiState` combining available backups list, selected entry, progress, and confirmation states. + - Manage restore lifecycle (start, cancel, dismiss, error handling). +4. **Restore Screen UI (`RestoreScreen.kt`)** + - Replace placeholder with scrollable list of existing backups displaying date/time, archive size, and format badge. + - Material 3 confirmation dialog detailing destructive overwrite. + - Progress overlay with `LinearProgressIndicator`, active file, and cancellation button. + - Empty state when no backups are present. +5. **App Wiring** + - Connect `Screen.RESTORE` in `App.kt` to `RestoreScreen`. + - Enable the "Restore" button on `StatusScreen.kt`. + +--- + +## 2. Testing Infrastructure & Automated Test Suite + +Currently, the project contains no automated test suite (`src/jvmTest` is empty). Adding tests will prevent regressions during future maintenance. + +### Test Targets: +1. **`BackupHistoryTest`**: + - Timestamp parsing across formats and edge cases. + - Backup listing and correct descending sort order. + - Retention policy pruning (ensuring only oldest backups exceeding count are deleted). + - Metrics computation for directory trees and ZIP files. +2. **`BackupEngineTest` & `RestoreEngineTest`**: + - File copy accuracy, recursive folder preservation, and attribute retention. + - ZIP compression and decompression fidelity. + - Cancellation responsiveness and cleanup of partial writes. +3. **`ConfigManagerTest`**: + - JSON serialization / deserialization defaults and edge cases. + - Thread-safe updates and reactive `StateFlow` emissions. +4. **`WoWLocationsTest`**: + - Install directory heuristics and resolution from root `World of Warcraft` to `_retail_` or `_classic_`. + - Missing folder detection and permission warnings. + +--- + +## 3. Build Automation & Release Pipeline + +The project contains packaging configurations in `composeApp/build.gradle.kts` and a `release.sh` script, but lacks automated CI/CD workflows. + +### Tasks: +1. **GitHub Actions CI Workflow** + - Automated compile, lint, and test execution on pull requests and pushes to `main`. + - Matrix builds testing on macOS (`macos-latest`) and Windows (`windows-latest`). +2. **Automated Distribution Packaging** + - Automated artifact generation for `.dmg` (macOS), `.msi` / `.zip` (Windows), and `.deb` (Linux) on GitHub releases. + - Code signing and notarization configuration for macOS distributions. + +--- + +## 4. Future Enhancements (Post-v1.0) + +1. **Multi-Flavour & Account Profile Support** + - Support backing up multiple game versions simultaneously (`_retail_`, `_classic_`, `_classic_era_`, `_ptr_`). + - Account-level filtering (allowing selective backup of specific WTF accounts/characters). +2. **Cloud Storage & Offsite Sync** + - Optional sync integration to Google Drive, Dropbox, OneDrive, or custom S3-compatible buckets. +3. **Diff & Changelog Inspector** + - Inspect changes between backups (e.g., addon list changes, modified WTF saved variables). +4. **Menu Bar Quick Actions** + - Add a direct "Backup Now" action item to the system tray context menu. diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55baabb587c669f562ae36f953de2481846..61285a659d17295f1de7c53e24fdf13ad755c379 100644 GIT binary patch delta 37988 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 xt3G?g z4&W%tBqXPbR`Dfgu>2G0TRV&4bOw6_Oz;EyI?i0{oODJ_4RFbbY2RF|&r|=*#sMY0 z^C#;!#u8O8tq#gKuO^NKL!6Empu_>FK3#2qJJ>Gg2Xel_lYOijF0X4d*)|59)BO|T zbURajp;K0G60wrdr5zug$aA=!F{BTlUpz*+?~5|qnzM^2-)J~`dY|bTblUUB2E0zZ zTVU9xOlwKgGs`C~SzmLe70MsFd5R%^#gG5Fe3Ew+Y@7c|KK8HV)<8aT1VdaD@53hs zK3VM$cX*5nGAbswuZ9B6S5JK1%{5s~{ABm!0TL{o--m-y_e#*5;Gks<%U4#kR=7EL zfdL<|duXWGB1Xo2BtemLawd&4`z5*w2gbEEKX_nZG}cRNIdHbz1`hQ=nDsa0xI&=n84=S@gGA2DHTxQF0jjouQnFsD*`p#;*Xg)EAP?cklFQb>(sA} zqNk`Su_t$9u&Lr6nlrh_xaFqd&PVrLKB?HbeLk9Nmy1i)h$6BN$+5&R?!ns!q3|_` zIU3m-`iV13Iwu;dUqV*uj0CvF&z5e_ryG5NqxHN$QUepAY&@Sf0-)FUqLKGPE?Tuybs0 zflp2+u!wi|uhII!bB}KtElo6FEaxecon!{PqX04^gX-k2woe$JhG1$>RKotzO>vVX zf~U5Pf+n937U@14ClFNVgE3AL>-48h;3<)wwUITF_%(1WH zt`@dMMY1U6RpwZhRTz1f@oPD?J~KglvhXauZl_U5!YyO@N!e(v>YEx#ue9$_$}Klc zs*8wd-HSapLJ!kDq;u0txcz@oOi2^~qFdeV`n?vl9v&LL=}oqoP8OqVAI@`b-wuJV z#+?@iA-7*ULLx$N1cjJ#h|QcqZoFJLn_I{uu?x*pMmvmx_kgMF0znV&_ztnBr@!8p zUC?2~#v)1@;PrS~$vt15qCoU8teD&L%Pq%N$EZFxAGBC8hc`FVXvTO(Jo_M1oy+eA z^_7k=J!_a^M?dmq@x)*>Kzt@6Y;3xou%6JGW&y8B> z%%tcqpf79fPUvikJUbYLNldGFu*~+sGnDd&gPW10*$Bj5mAH|82V>xVA~7jHbf_8) zkrU#%C=m-jZC@4f5pIxXQAfE2o*puTv=@LPB{+ngnBZA~wL)Sn@ezgnuokGZkd2Xp+j2&bAixl>UdhtWT=nGFR8N_Zz(q8aI!vtcZ;N^| z_PMlgO?9N@79w`#!HdJ_Bwwt`%JX-w>Wr?i5{#LOhtl6{jm^1C9Oaw(Ts4^QQJGmt z?>sWdDdptyT>&Adp*tjGx)@ko6sv(%+W1Jaia(KUfv12MZ&K9|@NE-I_&1qmt`**Am7|)DZk7<}0lEb(bp|OCIpv*7ETM(?Lz-@t>PU0~)D1BEIs_YYB&Z7Oh6Mb&2M1vC4_z5qw(S9VpM z(nw04WrEHJBmi=6!AM5Kz2u>-^?$<^=|x*Z=SbD^Quu;#a7yW-gd-TEj7IIvbGYQY zQ8Vby5K2EmJ!6U^gGiQ|bZ3v_9_J&t&?p*X@#E{>6R_(qR}F=yq_Ior>zBGeUfW8H~Sw?Z6`>8E+J9iP_v1=!S{< z7cL7;5UE+f;AR)G+fPuRb7yyAU!d8}<3ABR2{@VN{c~_q!3x1*kqkaMK6X6r?3z1<@E1h5xo+)q%j zQeUw}SQ(M@cv>Ykax~-it9ui1yu#%7$Qpo;opj*sy1)IXM>x}9{$ZmYTBW#%;qVqi zhZibvl2%4P>LkNfDwL&iLfuZ3WSr5XiNO嵍U=YZ;=-zZAgMtk6W|B6MQ%mLGOi!VUaes}cKdr_muGq32|u=mv-jYNgoNsOp@ zB;K72fu=13R*PL^aT$!#sVQGJ?f~HB!%Ib9tE@^1WK1dYJ7R5DOp{+4-+E-}$8FT@ zyL1$dsV3Yi*RoD%Pd%6nB|H~}^YKF^EW{ZID$iO!8{-Fgd>S0m`RThtkJ*neX0c2s zx0$b4PKdu^^5G{7j1+45W96FJBE!-2{^S&n0M8pY4s8ecvB0N^Bls;;h>z)k{)uRawEo87!8`(;s^s+}iCoVW8wG*9`O#GKq~&;Izsux{YH0QP!kVr1Q!N&Nz2#>9mxer6DN6DN zGDzbyF)74=YyIaGP6tt1vI`p*!QDtLNG-MsPdc6Ecg7u)wU1|@&WKa21K;=A+r8_5 z&npWTw=nKJZ|Gaz$y7WU5VP}(G$XJJs>QyrHCo$Gq|^xaitx0K#@)d7=JWe6gRp)m zvty%aMlK3*m#oUd3*z|xQF#iTfiuLjJ7Mzzv%|NHHnaw^^{jFkm<$n$rSA=Rvr2(O zs>LK+>Tubw@yD|{m<4WvGSt@qwCkOmVH}d4b!!o^ITEh-K@1ASIGXnZ+ztGnSm!K~ zl5KyY-(mlgA4rd?Ww?I~5&M6Jq$#ojbrF0GwXpxXaHhNn5X*Cxg%@EJ6a{-GX9crl z(l|PGg)@aIFLJc#npiv2G~|7A@x4*PNsLBfh(@A-ucULvhH*+$rc087sqQEYi7qbQ z?_;fOCA-`DW4$QHu^P0&y1V5w+k3L*G533}^W^z1;~I$elK~dA`Et3w=`T+2n5FDrp(1XtkIn(K3nBNyxff9Qa@)? z%r8vJ9TxBDw=#)cqqC^rUB)D;J8m5X2AnN;L>^j?vhlYgb4qNPISaPn-WixPS}-qg zk=FN1!&tym)rREl6UH&w=$fwsvwTNam-I+To1OylH}9TSBePl`TOdh?LX6%TN#@S2 zX@VwxvgEsCFLNwg*C~QFsdlxb#4>UnDZxEXR*u(vMxX%?-yq`oi>n}brS&$L|; zLnoEiNEBQ-8ta?fIn7&P+!)fK(MIh6w2C?Et^yMTEbU%v6d5e}G@EMsDUisl1rZrV z`Q%*w#seI%;fZTQGDdd5rz5f4sOICMFL3}7jUOru7xiBu?BWaMY8|X~`DR|Gcp@?B zBa=iqwyq8>#B!NeN8M1?FZB_0_B_gs6BPV(%(Wm8wU_iUcB^fWgd%l(5%tT17ckZ4 z<;zc`A`J*^2nBL9p14lH0qBg;+tH&Id!2{`0_iT;&nzh7BU_!oTMHvJv0SpgRnC?V zQdOPCB=Dm})O%9k#{Jk)V{#R~GLVO)_heQ}3C3TG| zS_XXN+kyg{>!a9?3!%HrH+lI&-_P{;AN`Y55{=2)^J8oo6lsO$X(g&o*moCWJnC{= zGwBDgNsqo6{yoOPspolVo|~W8=ErGe_}j#Y`&v8p+Y&#^V4N|-)JZsJ*b*`corF_L zLZR7D?+{dekFL84kSLFR(j5QZLCd)*rqDf08O}UAFCmoH5Mte`C7W_RSA#J?#0n;A z$mFGu;yKrhTgrB@`?l@fA?>Gmh)*#lqP?5w6n6@xXUs7UMEMDc-SS(aJ}2QwYW@$g za}Awh4fzktI8`i;;>TP)YPah03B3C32sJ|`Y@Jgd2Hp-3xi?eG9CTr&XhTugGGB?e z|B0^?#M-`>=6X4ipu{7xXB__)^AVatw})zt>oi0$ttymFMqiz(H3?l2Qy8&<27x z+M!q*J`4KJHZ60GC7t>k;*^qayQ&-Kk-x>CCfq(5rXH>L+GlmSUprYNbZpx;I(G8+^M3zPjj_hsXZxUP zuA0|W{mWH3HIR@vKKIu^kvwhQ9r2(5h@gKk+0gVDf<>%{;?D=He$MTQtL?y?QGa_`0J}F>T%-%%h~vZ*z=b|*<5}j2jv=B~`7-~&DU@q-mHO3Msxi|a z+@LHR>!iLVD|3rYZLaH!Girz9?=(0x-2lqN9bc9#nmQXL{3-4SlfJJ&I zU+IB_YDoFFUBTy3td2G9DAo*jt&QT|=jf{x(92#KoJMj~vt$ts_NgUlD35D&G&|mO zv+gwY(SvKpBAa+OledW_ro(k<^e6Uu=0Z~iNRNLz6{iggne3B9s9(But{CK(Sw%~D z3IPL+zurXdn&S=CL)#Lqru@_rz(sfX7P?qeR_=Q~Yw3C^K2jj6RyfyOblBh=+OajV zZ(eSGZwME!rs0oO5@3>+U+ptUk;QVIYda?(lLo6UFtdXHIggVh@CW2+{u)f51`9fE zC&+d1DdJMQTkEW5MP&@$QO8+PA}3u~L6XoLXUX)> zn6A0BdsvtlV3G7^px-P3a1@JwsJZD1bUh7OZv>K+m?L-C&gl%KCxe(@7B2H5@|hJy zFPU8IKq1|JJOKSj84^muaA~S1W_!zEduI`3i4s)GKwzQ|X*uEVxegulFqBK~R1>t%rTGqgY^?8O&aSSEP4{KvEK>r@%@ z2zib>Y$CqD{A1dVRh4 za=PPtt}W_yhvY{-(?5}}_*%mr_Cr_zt#MX;qA_s{T-n$Ppk;V_ggTv2T5jQsJbV2j z{O-b7?Bc{$Tjq0weZNHS+>P!rb|=3@Kl*iq$;2=H1z#Z+;Q z`oXy<$+1NN@W2t08b#hS)>ncR=^)1w^$6wbf<0^eYtLaWILs<#6#HmZwgcZqGA@vp z@?t@R;{h2YU$CnCX3Bj z%uHo)vApBwbC4z=a4U+!$&ni8GbO z!y8+xhcJadT#9=F#PmKIYcGB>v-xbxH*Ifj0(Q{K zoBdh1rAn_Fez#hA+3!&(fH^NOYk)ieDEZ{{W+_r6v<$snvUNtllOxmrhy@5wELelC zl{t=v|PQa*DnQM3ex>m#f-U;N3^u`Zpq!}*{b?pB%!OEyZj3j$a z9RQ@S&T_|3Z!V=ecaHpSB-SJjiuHwG5y!{=YnHRs) z&BL=xOhW(UaCKUaU)yera$PGurH!O`TmWmbqLhFMNeeSMvmx2Xp@V(dDcN^a^QC_8 ziE!Ng=78xN#|^@Bb`pujb1^~&{VH`Bh{Mm&XZJjpw+EOQozXdzN zsBkCGl|g_4={mX$jyO%~)xZT4Y08L}rh!IRrF)KmHC~l(j`&n@Th_Yj&>CJ8ExKog9a}K*KJf~KbL@1txe4Trm0tZu%TGmy|jWOI4xGKnw1 zuM}GiGLZD+8vD;sXo*ioX>>LF$l!UiGiD*zgjO;{^+NY-T(pQ#b{!2bS>HKvqhIulB|1Y7o) z2$z*~Aze{6z;a=1>3SUlG&BYLG! znOp^X#x^XDjA-N$#fn%Dy2^E+9Y+maYdTQH3Oi}Boe7rE1W;KH6U%lP zTJoW%D&n70S%J~o$QhC07HGab<5-F-t~+B2D)Kk4(wG>AIVKd+hSn-Yp4O5r$>+0I z+NNK5q?y-QlMx7+wqIZ3a?*+(yk8EQL*@J;kYntaUBz2FX})89ilS(`A~{3ZN=2x` ztC2=;vKU4J43fdR-gOm998eoeZjvEq;>vQhz+hcE&Aq&cF-gHQNKKmIq!dM@sIW;_ zXty7{Uzp#r0#gWS;{a8LVbu(}qq3RAjI5QBp0IMJwnuCBI5bE?qGDCCk3Y*R{#W9gK`(lD3KXAK;&vC@+57Qeg zna|k>Gcz^#iNg{U1i)o0Jq8;)Cf2A#stEO$Qzu6b6NN(4y{RuoKI1KN4}a5Q+Bv)L=5y$>!Xnnn1)YL!WEh>nbNldr%U6mhbXBFe-t_AGRDX=eRvZyyeRz6AILCQLkq26( zf53r@h4+-3D#cwkEk_R3$$=7h&bPU93SWMCRY?zO@_+E>+~hA7#)FSKh|7$pA^o{2Z7u?`~|Fvwzm!TOI1w8c88_Oju82$ zI&*K!e91=c*3FB^eruo=_o7~%JS0d5kpMAhoW`9!f_tMezkfm2?s}GM7mfZ+fU;1` zSY&ul+$+uOjb4bKaW8(j(NkJhX4V0u%)p+FCU{MoCNzIAHi2~)mSg-;N*!!4D5`@^ z`Qlid_yOP@zJ(_5u!nj z*BGkbzpI$miIu|^W)J3M8e1U)lrX=xXq@^4D*-bmuZYmW2I!eG;|hMjEW0J2;$^#$ z3t9wBN!YFp=hxzOQT~*j4JwZSS(eerh4`4^qQdWQf?-JDzmPe(m^Be9thZ8VngFRg zN+M9HA5j1X*>~V)0#l6~W)Brk#_74kFAQ(6;^9DVy+_1O1Iv><kaT0{P+rMNNC5l`a_P4EhWQdkFf(_adEK^GWA!cQmhrKG;bieE2>s`^Hl!#sH)1 z_HG_sOZ9ti-~cD%KjjM%q4~6UX~4U_B*sTIA@jzu!eD$_lio3k{^lY5PPF=2Au0Q0U(V8dT+st&jd#SHD^9SrCzL?Ma&QhT5{7_moH!* zggcE@z0_;Io(et>wSzhy&Fo$6*nk>*j=Pinkq&j%nU+SUlbV&^nJ>}$?I&g>KvaIX z4wwzdVCxMQ)>{y`LDdPoCkHtgMCNH$Zx0eNtXnh9|HxCJS%!~$d|1Cc8CBGvhojqD zi5k$2&?E{EFRMR5Y2PIvzXF*o81N6n7&jQ?mR?K z2k|gKAD~5vbbpa7=<$&@sHYMo^s!j+8;Ld+;vdL+_DHhGNMD%Px;M^5pKlFw?8$Qa zTfi;1P!Yy(RVodbsuT5l66-!v@J^cHc*vR$6g4Sqxf;`+J~(1pmHfo;ulhB4{YyD#!~;NtZ|FSTtcjlz zwQGb9Jf#+09n2*y7seCASAn(o32pBZDz!U)ivcsj$wqCm(#Fx+e53>BpVuvD6s_30 zQd-68FTh*>Z|!~)YE5YGh8^?bE+ zWl+|DH|IS7pX)vp+d7KcZSvTjeF@e*EDSP=YA? z#97>m0JWcoNnx@pX26ym&Q+%&yI+#NNtp^wMei+m0QXGjbz#x-fg<)KZ(1?>ik6GhGq$QJ`7vo4vk$WMe{IA!af>T zvKxwHB4x{5_f&0#NJs{bdw3e_VmD|OoL;pm^%cJ6Hv-BV!Qv?Wefb{Sj6G`(H`yqV zk{0>Nl9Pw-7nTY~DVLC97SuC6+;?OUvGHjG839nisRgtk15O(TmVn)Eg~{1aQ^}9z zs7&h9Ieh7H&k-n-#Chqb7cBkCKR*J09|{HY zXt$&JS^hA7Y6QHKWOF86po@xeXF@4lfu7%fBIe{-z!Bnp6Z%)*%UGHo<%pPU$>P?b zta{z;Bmk}g7LP-*u1$G-62e^lwF(NoOg%WJ{+qBCu};VY(A!Z~~u!%-9gIqui`!G~9tG#B+w3*rrjA zaj(PTv8Udb`;cvvoPwW?Gsdkzy*1AjAq z=tackkd9&BRk{yy*V2CMNY9i{B6kHaXpB*?Q7you!N+O`^|s3KofJ42IBV$tI)^A% z(DIuVL}^#I4GX7&4h!_j{-$pVXcW~jr&XgeprRsqrz?u-NorJg+G8%!)~tmHEFM;n z`X>{jW{|jBXvq2IDpxH*KOQ@pX;!oE(vA+Un-=4KbuPcd`dCd!8xb3xs4N|5oUK1d z$!OK+l0Vjq4+>HO;w;&iw<*9nTfqWA522zdGMKrCb1ZYjfSXrofpaEO;KevFh7~It zk)@bZdCdvLK(q~vp=1)GLzyyG!MlT+a>!HT+ zw_(FQJ*8m7jM3x_W#ZelRCZ?|$@sEv{Owq;vG1{ACfGpZR|2|KenuGuzSt@lK>(m~ zlMUy{K*k*=K24aNIWPy$y%W=Z#_ zNf{10oX3~48PEnp(Kz@>orVLXA%IrqUFzl+3YLA;qN8i1Hi5J~J{r%kx{YCn&N0xj z73TYV!tf-Rc|K>PO>a zHe>Q5e|(_rIsq96to$~(h3kUfe(^U@Z?kh<&W}6(omF}Kza$A^!14U+dh%|(!uiM1 z9KCZ8=PfeiAH3>By7P>@;Q+;;*0B)s52HPmA4bF!a=68eKpOeE|KyS1PmCvLv}NP4 ztmqS7162ew^C5VA_>Pb8+hJd~V_(`00&XU;{`KNO>Oha!u+0NT0wlY+WAh4N3r<8| zvLtU{iGE;9RooK&?);K{-BISiud66)>k`L7kDH1DU$YiMm&aASFTE?h-*a5=t5)}DU@dFyuWXF` z3=nv+Y}z3wYA)4VE_cZ2;ZwzlJw}6zp+}Rrb2`%G!NguJ{L8TzGwkHkOo4Z4hT?@6Zd_ zHnv&i<{thI;4!YRay&L`L>{Qwp=ZX6w-AnJY1;#KY!Kgu6P9ln3Mk!gc?R8#jgGCX zUj~3LK@mJKS44ozj`nFjY6d8)az#TEaYD9(sZK z!LWw{SCyIv!bI%i=X1nZ(TfKsC;V^58k{!V{o}iY3o?araW779{Q12@r&ok}k@vnc zS$y$QvG!K+ZUCoQ5N{`nv?LDk4&YJ}ZUT9aFAsLV5nFQh+o0cT|*r(4Sq$il67n>K4@tq$giRh*r|+(RLSpej?m1Yfv8 z%={ctt9eP(lX-)f~zN^Oe(Kk7ks|}6+@qLwi+aQa$MKCep zSxP-5+yaQveh%caLdRK{O5efXHxUQuxU3BdAQy}ZFz$UF;I%pR^Y`~<%=F25zIsp& z+Ti0U_FNn`Q}%HWI-PDeyT#|hj=#REz;nL3#Qsp=pBogkj#}}PZ1d;;`YxSErG!LV zQ`x;y+k9^ap{|5~#(%$h<`;j=DZAA;MZ?^J)CMS)0*T<&{WVb~Y!(8 zQx2cV6dFdgzSbyRJxbOpSb1P=IZ^ruld5Z|vArgRY+K1LdloWtKQlx^a&eycRR17l zWi+j_B2>gUPNw}xDFKZnq^$c(RpmUPeU%y($o?|o9@mI4sbL~CJkaPqqA}Q;z3|CZ zzz*o>-d2aNr=NsKz7{q)^gL~K0Y@KXCn!ZuP%)_6tf9oFhQmz?&D1OL6`A&Y|JE&Nx5_;PzxJjJdwl4D>S<)FwLIYo8 z4^l@A;1er}p`j;JKhGr2%>IE`Cw_;jSPA>=(l6Om>(nUu2-h!Uqfukj^gBlC5Ca6U z28&D4Lc{(7?uD8q-p~a(8wZ&~+Nf-du&iHmAoDBqyHo(0&IW?I*8%F4apDf1nc?b| zTPY1;lg8xLu+L63H7Gp}{L{DiNxVUuT!5G$AImf+sxjpgF>%Ky>Nkk@cbcZGzz>=_ z_>=OSao!c9lM0@+!#5)_^GmE^K?*Q<5F3<4v=E;)^hZokbxy12#4?ffhx)ZQ##UGX z#i~{;gK^B^j&ix7gmgU!ec)j>E+;o>Y%#x`WPUzUY`s8 z2lpAr?-K=jVpWeUjf_GbLzb>NJw6MWJk)~TE=^^~`|38>@?%^c!ZcQhv8UgYkJBGh z)*lf;=ukQjWcb5y0}?4tVIIvpv$RouaZS$tnB_=`p!9r#t5UI7^dCykvUFOa$u?@- zMn}5I&c-sfCgEhmeSuepV;ay#ZWVAHbJVmguCdlDm(q%9Rj@4{bwxwps!%|CZLe)y zS4iUnPv25kYWCcsYFAf=^Wk>XMp&rr6MS(+Y1Q#%(mb#uL3@ojNAnS9+43dUIq}V? zeQ2nCsVRDi=dXRMDGw|GYv*{CUxg37amFd0h1cU6bLi(p#o&Qjm7b z1-8e!TO^8TKqekIKVK(C8i8uh-+x-hYK?w8WcJuDrN;;?t&v!k@7HF0U$ zod`Dha=)68WzVRHd(@7I-c}Wu!<5$sHIncgIxMTv>T!p+TD*)r^=XO#!({$a_e59X zSw1bc<+(0?Z|~fcx1fr;yv$r>t%DuC-hOgmEkFa&vuDR|;^2YSF)GLc+}NDU=-dTw zH&WWc!>ygCKC6y2p+uBa!6j2q?U-G+YNM!E)*Tn-bX}!eIk6!RMFKk;Og&{}<(hQX}B zZfnU;+^x_SZro^`o*)BJ}0YaOCuuulw%sl3U%4{o1`&@PG6 zh>96Ui>jw#!OLT12+LpJFM_%zq-L^^;fXT3rf7_BR%5G;MDWK^m zn{hFYa-u9MwqaI{mh_9YK1hm#2o_pBcw<~SLZ}yn4_G&Ll{wl8!!S<$YATFr@rhc`7(Ot2X9-Wx69S$~hqlC?M&(c4&;HJC9r+irx*}(-Bx|FA7 z63cKxV`Cin_5vZ-kS;QJF1b-$qMN`0YR}D+R0>rW`ObACJM?&yawVE$f12c$zMBm7 z8LqnpOM2Q{gxk(417e4upP!n=A7`To@pl!K{gEt}`MM<3~S^qpoa8nM2y^l>1pUKE30_LO3) zmp>~|KKly9{Y*}}3!JdRl-0gu8JGM8YpK(-VP+}gHGL_cph7E85lU`+yr1$MI}+|- zQTUr0;2UZ*X3=C{>_TxA@_GSepCmp*E55C7SCl=8O(1Efk+@K zkATon9Sa@}r_E_pRl>T`U9=uuj_=(csJ%V|B-v6X4-bzrt0?s;AkY*oyN+?0s4Ycf=XjtFp&Lt)=e zB7oTw^3^Hu-CUX8ccbX7n&TAL959)veU=20xZ|U?8jU?xqqzbI{2qJ-W`ye);^7np zK-`f!ts8x&8=F9L45s8w=sID=p*vJ#s2tqo#cZx^xaS_~uq;KKW$yvZ5G&G_J&cMJG*Z@V>UQ!dMW4N44G>qWXg9gWp^Av>u>SqQhC7 zLFr4&dT9={X1{~%43eK{uYgMVOnT%4Y|=KD5q;C$yn%lUFK@}ZM5@F_^f}qaC(Cp# z?V7;z9izjuB!7DF5*iYIN;I6DPNr``b>14l^xEl-avP5mD175Gsvm%Vh86O)4Q>za z3}OzapDABRiTz+QLOP<0Ta6J=qI)S9S<<#bI8z+lhn>fu|nY zrTYJgsN*Y_SA_+&4mhynOR7u(Y_aYfCa$+X!ayt=t5Jr@6RfU}v08cMV)c>br(T@< zYME&t=~0FR%S|zmp?~I zvuBERxgCZg>YJs4i_{ngQSmTuz)P$UJ`F zV@NeIt}XF~KJilH48@uoETH6Y^fCsmmTNxK2C+prZIED{IXwgbE45<B!|FEDh-&nES)7<=aR+@KVZ?k*;rZ6Ryrsaw3E0ZHsQu?ffqDx3<- ziGn^Kr19{52R2%5+QG~&Et?yOd}=(JNn%`@S)*I}a-0!1wc3BpLJ&x^`6!fUJk#VeL1u+X66s9op zj7lwCfhpcuJThMFO+2bZ5vgZ94#GaqG9u#sJn`qRusqQzJOacFD&v8mSF&2YYBQV+{jut>{|JJ>0()ARO|sOW>S;KPDDBO# z+Pr0XH|0g0(x2K!9JZ#a?iP}=lO^>>SNIB4XKVgNiZYCA330r6YWr|3Vuoc6fi00d zJ{;z=aO9R`R}pLM?Ke~uJRy~U7>%)ca5XaDIk#We!K2p5!mA?1pHUeJ~~FgVZMuRUvMy~UYmMPSs4`np87Fb z>gMnL+-X?q5;*}{0J(cOC}9dYvyDFZ7vE7baC9tlZzSfi&Nr}FRI9LkO?T+c7@GtU4;gLRLw~9vS_AIKCGJlh#v$@0vYe3M+>Pv9xO>oUha1ZW3M_@U< zlJPsE{W=B55|n#+9x7aIMU<=@dV4U#`T<(u_sr_AYn^&iz*?}s|hk^-AbMokn zF-IiZ^d^2M>J7mp@%#@EcVMd~YD&cNaGE7R?Dga62Rb*D-G4YZsC7BhllTXoyrAnE z!mjNG!YZ4Z-X(=XKRa}&lUQy6#lig_0RjP>qZL=jql>TVoxo@fU~6m7 zmd;j__vWr)gJCP-jk~3cQV~2>PG;O9F>mvX{tjML%MUfBsj{rga z{|OKdF;mRU-%7?V6;B5qJB$qKBl-PHEmu+olVtY_b+y!ElUU|`b$5fT=6w-|{6)%r ze|L=v=u>WRxQT7dhD5Jl?N^U^8SN*R{?i@nHSWGPPyr^;f*F2%)W%H=5b#ZGT)W)HhPdC3OJb&odn_|6CG$rvh^+iJ0oz z)0itN^SDbdSPLV6o6*wPnucWm?(-cWXn@ck;-+|o3l1DBy*V>;|7I7~x{?L&Q&0WL z<40c$z)E9_t2S|6KDmeGXv<7`rf*~n=h-cgf8ibY-9JCnh5lyws)1l~fo0Ij)`5p;Y;nV#NHoe)Djuy8 zwfXv|piLNFNL$*C7-oI|=YGBs3A{YCPd%7QvgOkad#hqx&t|pGfYH)*2DTGn8zXIo zbxNLps-)N^%vOB5wH0x#djbJ|K_9lXc4yov+6{t;v(%gZT4Gc&Y4!~UW<>(=k zSEYbn=)zcG6=%hr6mfd$Q#8ERona{k)|xuMuYrx9C${x&xURs)OCY|ZT-zzc9;p~> z1)*0j+`FPA)w^6_?wUjDww(Icam+r5j9I-gqqg~b@R!^yw2tba$4K@;fU7Mi7 z_!=UFAEkH`OV4hZecT#*29w<)hs)5HC$AWK<85Da|FDJEzzv7(0aOdoO)zT zl#BAY16*eAgiG;$UmmPK%>E|AZmXMIu!xF0ad;sqq}xcr^+s4;1ZT@W`T`FDLKyBO z)pDF-{}$dQ`~2O=9)SI8nn@b+93gOIlD6e?_5_Aq^h{fvI4Mb_Xh7aQQB+j-52Bkxj z1D!*x&0sd|ZCJMHM)M=m7pF#w(>v8s@ll8)N~5MjI6-lqA%Ivwt5-cl${SXkd${GO zEa(x5w8B2Lh!9+AB_l7u&hEkdE4b+tMN&cHadv(*@UiLfVGAgKvwl?g(Wx^e=o2;F zn9j`UPOZi-?ZzEFAl@L~z*LW)nu@&-_H^AV(j!;=u3@^dRz~Mk^(pO)W$FWKHIoPS ztW5Y3jB=Cx9bm>z#LbAy{#Bh+1^}lf+`GVTopSxN(oq|BrlBRwA{Pn%4I1r3N}a{A zjF&+xyo3y|C{<%M-fD_^R(EnVZi#x4?yjp5=EhgGp$*XxC(2^KW`a+@&dzwDNh6*j^uI-yA1BtLyDXWLAv8hi#gEd$06b;i!T&fTdz0`yJ4(<+bD>Zu;PpxCl;#t*loL!-d}OKy#+Bhw3qkay5G#&!u^&SF&{x6YwU zR;_QwMQ7+ox7e=nsz0uN#-(7$H?SivKw>@Q&rd|vhQNZy>uFIptQaj-!5B3Oej($6 zm-yKWZPi(Bq~JSdH`x0W$Ut%yT89e!T%WVJ1eh1sJLuzWAXwnNfKjj)p&LxkmCf6QIVxrSl+%3Duk94Q~gORhu~<0LTxs zPrBgbp0P@;O)m{bE4!@abm%_CJuhU#7tpBQSiJY{-{s&Vts2D#zcs_n&p>wyBQ@b% zS?FF)=P~r=xn;7fnaM6h{S@ht;hSJ?x@&yI{-DSF>d>UHypGS6ur2r6W;kk+yx_Rq zY{N`W5wRBgW>evwqE=5P^tm~Y1oVS0TV#De9->n?VI2PRP`C3^sYlXQwhf~PXdIHD zG1W$BopyvR@!0%K;gGRKoaAegu8>gf4KG(|i8q%0Uigi6jaHID(P^9U7EJ8=PtC*M zgmakn24dHeEOOX%IDgAkl7x$ZG7LPXG8|}P;=)I2a2D?rEhph7o>;gR0=SZ%Z9jLC z<2e+0`J8Hzi`pXL1{wFPfh`Jtw`T~nA|8*@5h+D}$FI?~E(w+~sG?^d67Ws$+a3F> z=+bv;LG0W{6*Fs3979FebW!jsg{GP{1347(Bq>&SN~9 zI|&vA$-t)#^Bww0McOB0MJx(OiQ0YieopK&n?|^9*?dB-iEo{J1ng*SI(^$6P<6dM zUkEUKIe=3eW3hE^0Ur!oVOIAt>8hqNrseQp(@_^diYZ4E{gHq1Jj^V?VQIU83TG-8 zf%1h3HyNw(dgI=<2o(+8j5iM$tE!rEXzYQ5awUJVU)-wMh|ODG`TaYB7rTm{2xwyr za&+X8XS~AwfK!od1Q6f`LH-$JLmqd%;QWyeSs#O|<>x`nQhj<1w_E^5?U({-09^S; z1OG=)E|yq3Tqyt%bKV%m7-Wh2uMbmgG+C^y(wCQZCRTdk$XHV|?>k+{W?o5(Me(hT zCA!{?ElQnn6rqV7t8y_LWK{DFEBLI^X+N1BA^k$>P(STa9)RwP$T_zY<&JveeZVc3 zen3PkW;1Smb!x>t|&Z(3XoaaW^g+p|9 zQ4Z)Sb#8dn7}|A4u|gp1+%v!acJtM1SP9y!Kb)Kc`@i6{v{g#fRZME(`EbV=C%yObc!Sr!U$Ps9XBBmvpHB8zbqWP^eHdqrag3n|M`GryEdVxd# zs+hK3paX^>1wz~wJUEGCJ0b3iu{+#A?4S-|(AwxP9sqQ28&I@IeHmCU&Vtp@6HOh9 zYwyN4jMwZ^Tu#x|%|o(`t51=N=`wu*BY3Bu5o6cY%@D@VzlUYm58jw>lCL$gExA0) zM@G-=uWxg@EBb|Tk}tGpf#5Hd$9jvXx_L~WeW{CZws-brrSo2wN6A9mEW(gKHiJ9l zmr;)uK>(z<3I#&mb5N4rof&5Wg)4@Iq_TWvR;A*y->qebFh1l?#haHAa9%|sz0bq| z+w$+#LH$v&S+c$S-EN|mb|6^R1+!mVz<;KlZ3k~ptit@V1AAYrGK4*-l2ytT3(?6Q z@Fh`T_!NyF1`c9T%ii{CqtK{?I{SUmUO z?NFH?d!rJLpEj?x`x5cEtsmsF;jN-%@g`WgW}mfBx?MCdv~|W~5`|UlAa|!{9g9Z~ zye`hbw(sW8a@>^yVKw$A88bRw>RMeXe+W{$x8)V2P?c zPS-m`e%DF@cCTw5W&&5rtemj5cXR0cC{rEp9@)PYQf~;u_lnyXn=#LQEM8AR8nuu# z&Qrv7Xhx5VCmJHOkJhAhjy&1)C`a*|RRFP08>FK`+$5uV z4}0RICF0xH2&BfUd64KMaZWu=0}7#p4TGS#jLDUAxzBPpVpTBrmt2gkl;{{~o1Hm) zaK*%zer4i_wr|pQ`W0?6zNu4oq67Y!@qZV9$NMKKk!z#;#{M<*gL>VcVo4kM3^DK2 zOjXNG+ln#FcK`C8COS*Kf&JV=&$C=19zZNnJe zUu^c!x^B!A-wl%Jv~FhbwSLv4i8Zw*_<{>bU1s+t^nGNdkE1`7>Zv-Zp8M5O-AW}s z7~rlzYJA*9S5VbjW#0G*cDYFer%sE55d789bPx-X5DGt85Y&ko-q=I>H^S>LT;L3vVoCAXY%Hjd; zeJ(QxR8VSiKDRbgK{&ZQHkQT^POLTAZ}atHqYx3l?1={b0gdCpE?|-aXDRb&^N#B9 zCp8oe#hRvxVJN$&Dfhax)h>&gsLH2M6t*e1#zh8IJf0c`b@fFM53y&S$gXWE%Nsvl zOCFjs;#I*Ogbmy1rd1*k*j)3hd4{vPq%J$Hd8NkAKs#x~4@fG|Na6C;Px z6~g@|;(t1dR6x=x3NjGTBGLc!E0-t+fX#m(meAdTeqrilWkDoGUG&X?#w}KOHj2=p z;9`Aac=292kFe{3oi*5zf5yU37`Dg=!hew_Bu_ziaP-3UDLGf>&p8j>r?N9sFS`bP zz?y?7gY*0Q5BEAPGckPo|Jq0Et8&=N|D~F&J@ZZfOEvMP!uvxi6a`OUB@Ph5@=-bv zzj#ORAZf^lNIkh1Y$^$}s;#Nr(kof3_no*Uixm-G+S_3Mf|+gPBNpCllH@}&677&= zWUOUKWmCZ`zkTn=T3{1^hQAwg2OBIV)b2$87i;o<84no%^;GGgMWQ-4{i}NtvHiwz zb|G)YBLtcD%nXZ9g%D*wqZ@Do1?~sO_YpyF4ADA0=d=5K^$INFVbs+=98ZJR#yn<7 z1rNRsw}5pff#}?P@QN|0S>S!56Lri_lgOhXaxI4j`w!~L39gKL1h(G#`FXE{TW#E+MAr1OTKhR_Q>^M? z*Ezz6y^vt+Mm6qW1(Y_10aS3Viw2NTe{Yw@b5{j#%iKRier)f!5}5ErdfrdqgDQDU z_rUk##BuZLQ@XSiI`1~Y38cjW2N$1AwUdIO!==XxaL6oCxb)^V!$+A@f=L}ujgPrQ zwJH~wjdNBTGRes$gV(8pe6EW?_i|xE=fC(|q6fg^2t{+eisgADbE?w0M+N{@`LLo4 z&RkEB|NV26wIC7yWhra_U+7o;FT|ugO{gTiSV{nP)f%PZ^OE#pehpG36p1GaTF6dY zmQ~}mIjZ}jC(_41<&^SI5aOOl1nPWH(=WnZhrSFmfxaC9AVUxzIDPi4kF$u`5Z!`^ zx8zB1Lgx&NkcC3k4(LW+@dFGtm@wB27|b!W1eqvpbL&^m#1w*t^!M7uSkx%NUvK}4!d)Bo4ina4xb{c(I08Zkzbv9Dt{ks15G z6Ov>}_AQ}Ek}ZsNYza+vGWJr*mXz!vvWrQ!XKYy_Q)r6#P2*RddFJ)Hf8F=%^F8O> zx#ym9?mgensM?)k*PA zVV7XB^gGM`qlmM{Y;|enA9c_9X5^r3zbS~pvonU_whrHS%UN?yd6afx5M{aLp67Z} z*g9t45EtNcuB&d_yGBhO_gWsiKQi*0w;Zoj2mn1kI}BP6W=@>Xsv=aKEq^QTtRCIM z_C9y5L8;j*Gne1HVZm>FG(p(p`m5|YANf$+^JO81b%UHseXx?p*rQ@-3VND6hATa`^K~k%kBv>x^n`1UULQQ@q-CpbZpJv3ev-YCz&~7m5sUQWm_BE{ zMo8T`p)*(lyMti}HJy#zFxW@0!($VD4pWGwg8ot%7@R?6<8v2?FcI4d3+QY9B5rXhpHQ<7K1nIR%sNX~1)Pj0 z0etN=Ot_r^kvnKSF?Zs%#8I$wW@XOHeoy-tLsO=U2pDF?_LGgGBx8mVOgweeZxB34egjnFnimyT3M%7{jKm&<;CM_Fs0jC zH)CEn#~mjKhB2EVm*vzf5mA@WIF;sq)=CFi^OfadO?>pNuROvD8>dkVyY=c;hU-46 zH~LilIs#7|@=acAf%u}nTBmoXo@q%@>?EMHrrHw(+deUrg(S*Fm?CQChf zC6&o8R$rc`;;Jc;#o6AYdCI=U%pr|sz(UE3wztjN;6yY&#H?!GrtRTZmaewx`r6H} z>DM!LUn;vp&~COk|DqhIx9-BV6s48V15UL%0)7(F!_AXUQZ^_kl#6yMVbYAnsdTSs z|5!D47UyIbSH3HN7P=dMU$vAtwQ=`2_Y7pb%wvBze1ZCD;L1vMZNci>;h%OJk7?Fv zAs;hD;<~@;*J{V{&?YmwED3@(j0(|aCRi2ynHsOnPv6Fs>}NV1!@^{;Ox~Y(ihs&6 zJ>Gd{?;N+Q%Jvb|NrrFTti*6ULU?(OLp!VhoufJ;+pFrmn^pK_-3RpTNB3P0wO=m@ z`p#IF`^EXGh3MU$kbE0!^DT;7^pOMdSb31*+40kpteF*11xz34dtU8W$O+5#z>#!s{L7c04ZO`_sk? zYq!$=K1)+x|1{{Z8v)yZ54QXiHFfea=F_sCCuKP$0UNK*20w*znO-$?~p z%8z08G2$pV-x-T}rX4_u7QLm$eUUWkj@rnGl$4SeUf_y=zNzPe96$KNXdT?0U1sUk z!+CoYCK^UAFiy<7`G4BanaUggwYAe_0(jd-8)3rA`eX9gax}|8rm&IGg(|_mGrEn| zX6Bw^uhPp`knKTHkM3kML_s}E6QGtV(yJC`*5an9QCH~;PjkzMtqt*tu8KKX4sWqz zZ(oKyswh`*vUK-kj6Dm7bGV=j({9wYGMvP<{g}MwCYN#VlJ-wFfEJ(C;HqA#>P2%s zzEVz7?}4rE8U953bTl(H?8*el4lcIvYUpDPZwPf;S*_-X_-N1a6voW5c6ZQ7BLzBw zypK^r;Z6Y8YRx%nhHw8^yIlNnZZ**HNNOG`>p08Ijk0ynb8%|)MA>nuQgfx%!;5sp z8Mv(S$?w;^fEQJ8Ni{DF)0S@~0>*`=^70Q`nDsut1@oDwl&_oUA?=F zavrE`Eew*KO}ze1JBhy*Ww(>sNiXHLr$3v>`&Fh16yn7<`*N4qMxY_2WA%xl?w4At ze%%Er`nObl*iG*kD*_e8%7dC$6?z;kBjwUn6cm(xG76;H7{}?Y%Q)rUJ~^4g?1C3Q z`y-oa=lHIO78m4PB+w7fi9mZ1QUY9qT~QEJkwg182S;LC9*mrA$p34-NFCNp=pf z4S_xg{s+N|qP=QgKVtPdgSZyCPJVM+lQzP$P8x-rr#(oo!3+QbNme7jl$kIx8LFsK zg9d&bzJjzDoub2~22rn{sF+)8z`ew%2brNSx&`fCjVCqaq{oIQfX|1hYj(UKYS5&4 zL7@W#uCNXDudIZA?_oi&6+&)q?{wDAR9C>2^df-Z%{A20(wHZa*_ZIz zHV)pVCtTyURsQ_30dDEkT#c?p3EfSryEB?FoNq$s%K~@BZ0-fLL6dt^jms_lD=O{! z0{Wqj412})GQ%M`g}&%G?|F!#cK<^agxlMgBk~aNtGTf#6}wtL?Z^zLX)08Z`MHPH z=|-Q~lv+m8qlJ+cQhvj=%-+b!535Ve61v6=XZx=^W||H8=Jnr@g{tzq4!aw!T3dD_ zYPb5iOkNb3$#5~!xEB?QjZHDYt*@?)CKq{~jw*ZZbscb1Y5+{9skLWv9kRGHbjJ}u zH7P}(RF44gy2U?>p&}w|LL^XbK=UqsCo!6Cuz2ZZrHW%m>*?fosu-MRHAWZC3cUuv zGFL_5FOZXtK8iIlj_9VY^X%C+6T$FJ5eZW~i0V|=+L6jgfTB0(EiLX;#!S#8%y|$4hItGk24PEi>cm@j z)Z==c+~F@XU}bF+_hG>6wejb(b@`E2>s_Ox~Xi8VUDSf_#_lvJS2?Kf}q?!@)F zCm-uu<}1)C8O73@M>ruaO~W4>>eUhNn?b_)`%%(oBRH8sP67#SL{WS%`;7{@AjLTC zBVn0!S|!vr;L@PhwF@RGSv_qPg>I&q7OP!s&QrmrebKU0#}gTuC7(C?l<3FSpdWyr zS$S71ZQ#4J$G%wFpxQ>>f2e+yn(_2!j+?`m_p60_n!&UKKW`ivKUR~pn+e8G# z{Y;o>G5L9etBj4s{Ch6X)AO~!cMGqhS>dY1llN?wjKXp|-@Uh3oq|B@g{o-~waM@e z@ppIAa0E2(Gkl*fx2J{R>%PHE%Ue~KXP_B<$_i#?)!lxAuk}$=r_F4d-CUaQ`KZZwI4}*f+C>#^>t*Gp=ea4c`jBJ|xCgwvCTIpPj|epp>UR$Eq&u6SJ)& z-}rK=)Yy9S$ts4vL3it+U*qQd%IU?}dVDY6nb=E(8Q9pSr5FtdO@f+_Ua<0@Xhd9x z?azIXng@2n!Gka~=ptBR zbYZNMiZh5ad7|>#opA+U9;2O#e*$}UIE&4j%T(Ee#nmD{k@nQ!SA+~DA|*p&ik3PV zuW+>p^brtlfT= z#VU}d%q(=RYDvL9emwA9=eUu~gGR&P8iU(v%k_FujyQu&;GzkA&X*D9#ymsX?*()q znTo`{Xx)OFa%xRz4H>_?LGk&Cu#47K)s3ctxhq@I{V1WvA=jl5|DIs3d+ur z8ql2|Ixb(49eP_jJgm>z>LetWmc|koiR;GV#Fpt&mu3XhYwYz>k+EsCfqP_&6xwH| zIfbOBm<|Zjn|F!MbKsqI8UO%ziIIGu#dUIl?;(sdW%MB(2mmRa)ZZTy7-O2xg^>jF zVUqKixc2Od7L!QN!wFK-QDF)&n~4lEq=s zp(4TGLiYs8I$VGKdr75Npa{4oa=_7Istd%q4y{`MTf<*se>fL0D7g}UeL+c@ND9sP zQ{+m-6pC~GHgWVL0bQgfQ>TD3CCSiwp*+{W%+CJP_>l;VW|1cMU%MgTf3Hrr901cQ zEA_iT++?#H(uICPI!;l;E$WUm}8ULZ^Fs=stWX*r)P~)edZ=e4|12LRsywv23TWV!2N1s?9 zoH)p`#!Z$v+}8vEh*QWc+y0@YxDUSt1OQ+ZRQJvQ2YV>W{rAf?QiDiPP>bPzC?Mu$ zFef?k;rc89z(+yXM*g9XVKyJ~av!d$0RX%dB=`LTG9i)tx8?r3ibN^_<(=N2en4{F zR delta 35498 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