From 5cd4dd5cd1bc2b46ebbc0b6f986eae2e205890bc Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 10:47:53 +0330 Subject: [PATCH 1/7] fix: recover networking after unlock and serialize quit on latest main --- AGENTS.md | 19 ++ Cargo.lock | 38 +-- Cargo.toml | 2 +- apps/desktop/package.json | 2 +- crates/iran-split-core/src/lib.rs | 275 ++++++++++++++++-- ...130-resume-recovery-and-serialized-quit.md | 49 ++++ docs/adr/README.md | 1 + e2e/primary-flows.spec.ts | 9 + package.json | 2 +- packaging/windows/installer-hooks.nsh | 3 +- scripts/tauri-contract.test.mjs | 3 +- src-tauri/src/environment/mod.rs | 29 ++ src-tauri/src/helper_install.rs | 4 +- src-tauri/src/lib.rs | 167 ++++++----- src-tauri/src/lifecycle.rs | 205 +++++++++++++ src-tauri/tauri.conf.json | 2 +- version | 2 +- 17 files changed, 684 insertions(+), 128 deletions(-) create mode 100644 docs/adr/0130-resume-recovery-and-serialized-quit.md create mode 100644 src-tauri/src/lifecycle.rs diff --git a/AGENTS.md b/AGENTS.md index 746e2f2..c6e4346 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,25 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- Fetch upstream main and compare the latest release before building a patch. + An older feature branch can carry a higher version while missing later fixes. + Base the patch on current main and preserve its accepted platform behavior. +- NSIS staging must use `$COMMONPROGRAMDATA`; `$PROGRAMDATA` is not a defined + variable and silently corrupts the helper argument. Require the valid spelling + and reject the retired token in installer contracts, then compile the generated + installer with `/WX` before installing it (ADR 0130). +- Refreshing main does not refresh a lockfile's yanked releases. Replace + `async-executor` 1.14.0 and `clipboard-win` 5.4.1 through `cargo update -p` + when the advisory check flags them; do not add an advisory ignore. +- Repeated Quit requests must all prevent exit until owned network cleanup + completes. Drain client maintenance and pending Connect, reject new actions, + and retain cleanup errors for retry instead of exiting after a warning + (ADR 0130). Clear recovery's operation ID before releasing its lifecycle lock, + and cover the next user Pause so a successful repair cannot strand that lock. +- A controller can report a stale enabled TUN after sleep. Use native timer gaps + and Windows unlock alongside persistent component failures, preserve idle + intent, and exclude the health/recovery work itself from timer-gap detection. + - A failed macOS disk-image open must not resume a user-paused stack. Only package kinds that pause the stack for installation may restore it after failure; pass the install kind into the recovery decision (ADR 0129). diff --git a/Cargo.lock b/Cargo.lock index c5b0f4c..6d3984c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,9 +144,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +checksum = "f426a31126c735126297bc5ea7a521263c9faff4f63ca415267ee625651c4f37" dependencies = [ "async-task", "concurrent-queue", @@ -614,9 +614,9 @@ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clipboard-win" -version = "5.4.1" +version = "5.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" +checksum = "052af7878466feccda12ba7a6a67d019d712f296809559b47c12c8cc196d3a9a" dependencies = [ "error-code", ] @@ -2046,7 +2046,7 @@ dependencies = [ [[package]] name = "iran-split-cli" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2064,7 +2064,7 @@ dependencies = [ [[package]] name = "iran-split-clients" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "ipnet", @@ -2080,7 +2080,7 @@ dependencies = [ [[package]] name = "iran-split-config" -version = "6.2.80" +version = "6.2.81" dependencies = [ "hex", "rand 0.9.5", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "iran-split-core" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2110,7 +2110,7 @@ dependencies = [ [[package]] name = "iran-split-desktop" -version = "6.2.80" +version = "6.2.81" dependencies = [ "chrono", "dirs 6.0.0", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "iran-split-helper" -version = "6.2.80" +version = "6.2.81" dependencies = [ "clap", "hex", @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "iran-split-helper-winacl" -version = "6.2.80" +version = "6.2.81" dependencies = [ "tokio", "windows", @@ -2185,7 +2185,7 @@ dependencies = [ [[package]] name = "iran-split-ipc" -version = "6.2.80" +version = "6.2.81" dependencies = [ "bytes", "chrono", @@ -2198,7 +2198,7 @@ dependencies = [ [[package]] name = "iran-split-mihomo" -version = "6.2.80" +version = "6.2.81" dependencies = [ "chrono", "futures-util", @@ -2221,7 +2221,7 @@ dependencies = [ [[package]] name = "iran-split-netstats" -version = "6.2.80" +version = "6.2.81" dependencies = [ "libc", "tempfile", @@ -2230,7 +2230,7 @@ dependencies = [ [[package]] name = "iran-split-platform-linux" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2254,7 +2254,7 @@ dependencies = [ [[package]] name = "iran-split-platform-macos" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2278,7 +2278,7 @@ dependencies = [ [[package]] name = "iran-split-platform-win" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "iran-split-rules" -version = "6.2.80" +version = "6.2.81" dependencies = [ "async-trait", "chrono", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "iran-split-taskbar" -version = "6.2.80" +version = "6.2.81" dependencies = [ "iran-split-config", "objc2", diff --git a/Cargo.toml b/Cargo.toml index 5461950..cb73658 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "6.2.80" +version = "6.2.81" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.88" diff --git a/apps/desktop/package.json b/apps/desktop/package.json index e3514c5..b31d66b 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@iran-split/desktop", - "version": "6.2.80", + "version": "6.2.81", "private": true, "type": "module", "scripts": { diff --git a/crates/iran-split-core/src/lib.rs b/crates/iran-split-core/src/lib.rs index 46181e1..091f65d 100644 --- a/crates/iran-split-core/src/lib.rs +++ b/crates/iran-split-core/src/lib.rs @@ -721,6 +721,8 @@ pub struct Engine { probe_degraded: AtomicBool, /// Connect-time override for side-tunnel start (progressive 15/30/60s UX). side_tunnel_connect_timeout: Mutex>, + shutting_down: AtomicBool, + maintenance: Mutex<()>, } /// Health ticks run every ~10s; three consecutive egress failures (~30s) @@ -765,6 +767,8 @@ impl Engine { primary_egress_failures: AtomicUsize::new(0), probe_degraded: AtomicBool::new(false), side_tunnel_connect_timeout: Mutex::new(None), + shutting_down: AtomicBool::new(false), + maintenance: Mutex::new(()), }); runtime.spawn(Self::worker(Arc::clone(&engine), receiver)); engine @@ -857,6 +861,10 @@ impl Engine { /// the periodic health tick, so a recovered client rejoins routing without /// restarting the stack. A failed apply is retried on the next tick. pub async fn recover_clients(&self) { + let _maintenance = self.maintenance.lock().await; + if self.shutting_down.load(Ordering::SeqCst) { + return; + } let snapshot = self.snapshot(); if !matches!(snapshot.phase, StackPhase::Running | StackPhase::Degraded) { // Stop/start rebuilds every handle, so a leftover pending refresh @@ -1047,6 +1055,10 @@ impl Engine { /// Returns an error when the stack is not live, another operation is /// reserved, or the platform retry fails. pub async fn retry_side_tunnels(&self, timeout_seconds: u64) -> Result { + let _maintenance = self.maintenance.lock().await; + if self.shutting_down.load(Ordering::SeqCst) { + return Err(CoreError::OperationInProgress); + } if !matches!( self.snapshot().phase, StackPhase::Running | StackPhase::Degraded @@ -1100,6 +1112,10 @@ impl Engine { client_id: ClientId, timeout_seconds: u64, ) -> Result<(), CoreError> { + let _maintenance = self.maintenance.lock().await; + if self.shutting_down.load(Ordering::SeqCst) { + return Err(CoreError::OperationInProgress); + } if !matches!( self.snapshot().phase, StackPhase::Running | StackPhase::Degraded @@ -1144,6 +1160,10 @@ impl Engine { /// holds the lock, and [`CoreError::Platform`] when the client is a local /// proxy that stops only with the stack. pub async fn disconnect_client(&self, client_id: ClientId) -> Result<(), CoreError> { + let _maintenance = self.maintenance.lock().await; + if self.shutting_down.load(Ordering::SeqCst) { + return Err(CoreError::OperationInProgress); + } if self.snapshot().busy.is_some() { return Err(CoreError::OperationInProgress); } @@ -1377,8 +1397,108 @@ impl Engine { } } + /// Cancels pending work and restores owned networking before process exit. + /// + /// # Errors + /// Returns the cleanup error, or a timeout if another action cannot drain. + pub async fn shutdown(&self) -> Result<(), CoreError> { + self.shutting_down.store(true, Ordering::SeqCst); + let result = tokio::time::timeout(self.timeouts.start + self.timeouts.stop, async { + // A reservation that passed the shutdown check must publish busy + // before we decide the worker has drained. + drop(self.pending.lock().await); + let _maintenance = self.maintenance.lock().await; + loop { + for operation in self.operations.lock().await.values() { + operation.cancel.cancel(); + } + if self.snapshot().busy.is_none() && self.operations.lock().await.is_empty() { + break; + } + tokio::time::sleep(Duration::from_millis(50)).await; + } + // An unused install without an available helper has nothing privileged + // to detach. Still remove a dead local-proxy endpoint from OS settings. + let snapshot = self.snapshot(); + if matches!( + snapshot.phase, + StackPhase::Stopped | StackPhase::Uninitialized + ) && snapshot.helper.phase != ComponentPhase::Running + && snapshot.mihomo.phase != ComponentPhase::Running + && snapshot.tun.phase != ComponentPhase::Running + { + self.backend.clear_hiddify_system_proxy().await?; + return self.backend.stop_user_proxy().await; + } + self.run_stop(Uuid::new_v4()).await + }) + .await + .unwrap_or(Err(CoreError::OperationTimeout)); + if let Err(ref cause) = result { + self.update(|snapshot| { + snapshot.phase = StackPhase::Error; + snapshot.last_error = Some(cause.to_app_error(Uuid::new_v4())); + snapshot.operation_id = None; + }); + self.shutting_down.store(false, Ordering::SeqCst); + } + result + } + + /// Rebuilds owned routing after sleep or persistent local runtime failure. + /// Keeps the user's paused/stopped intent and uses the lifecycle lock. + /// + /// # Errors + /// Returns a lifecycle conflict, readiness failure, or cleanup error. + pub async fn recover_network(&self) -> Result<(), CoreError> { + let _maintenance = self.maintenance.lock().await; + if !matches!( + self.snapshot().phase, + StackPhase::Running | StackPhase::Degraded + ) { + return Ok(()); + } + self.reserve_lifecycle(LifecycleBusy::Resuming).await?; + let trace_id = Uuid::new_v4(); + info!(event = "network.recovery_started", section = "lifecycle", initiator = "health_loop", + cause = "resume_or_runtime_failure", trace_route = "health_loop->engine->pause->resume", + %trace_id, "rebuilding owned networking"); + let work = async { + self.run_pause(trace_id).await?; + self.backend.forget_client_egress().await; + self.run_resume(trace_id, &CancellationToken::new()).await + }; + let result = tokio::time::timeout(self.timeouts.start + self.timeouts.stop, work) + .await + .unwrap_or(Err(CoreError::OperationTimeout)); + if let Err(ref cause) = result { + warn!(event = "network.recovery_failed", section = "lifecycle", initiator = "health_loop", + %cause, trace_route = "health_loop->engine->cleanup", %trace_id, + "network recovery failed; restoring ordinary networking"); + let cleanup = tokio::time::timeout(self.timeouts.stop, self.run_pause(trace_id)).await; + if !matches!(cleanup, Ok(Ok(()))) { + self.update(|snapshot| snapshot.phase = StackPhase::Error); + error!(event = "network.recovery_cleanup_failed", section = "lifecycle", + initiator = "health_loop", cause = "cleanup_failed_or_timed_out", + trace_route = "health_loop->engine->cleanup", %trace_id, + "network cleanup needs operator attention"); + } + self.update(|snapshot| snapshot.last_error = Some(cause.to_app_error(trace_id))); + } else { + info!(event = "network.recovery_completed", section = "lifecycle", initiator = "health_loop", + cause = "ready", trace_route = "health_loop->engine->readiness", %trace_id, + "owned networking recovered"); + } + self.update(|snapshot| snapshot.operation_id = None); + self.release_lifecycle(LifecycleBusy::Resuming).await; + result + } + async fn reserve(&self, kind: OperationKind) -> Result<(), CoreError> { let pending = self.pending.lock().await; + if self.shutting_down.load(Ordering::SeqCst) { + return Err(CoreError::OperationInProgress); + } if let Some(operation_id) = pending.get(&kind) { info!( event = "operation.deduplicated", @@ -1402,11 +1522,11 @@ impl Engine { } return Ok(()); } - drop(pending); self.update(|snapshot| { snapshot.busy = Some(kind.busy()); snapshot.operation_stage = Some(kind.initial_stage()); }); + drop(pending); info!( event = "operation.reserved", section = "engine", @@ -1928,30 +2048,25 @@ impl Engine { } async fn run_stop(&self, operation_id: Uuid) -> Result<(), CoreError> { - let was_active = matches!( - self.snapshot().phase, - StackPhase::Running | StackPhase::Degraded | StackPhase::Paused - ); self.announce(StackPhase::Stopping, operation_id).await; self.announce_stage(OperationStage::StoppingCore).await; - if was_active { - if let Err(cause) = self.backend.stop_core().await { - warn!( - event = "operation.stop_core_failed", - section = "engine", - initiator = "run_stop", - cause = %cause, - trace_id = %operation_id, - trace_route = "engine_operation->platform_backend->stop_core", - "stop continued after core stop failure" - ); - } + if let Err(cause) = self.backend.stop_core().await { + warn!( + event = "operation.stop_core_failed", + section = "engine", + initiator = "run_stop", + cause = %cause, + trace_id = %operation_id, + trace_route = "engine_operation->platform_backend->stop_core", + "stop continued after core stop failure" + ); } self.announce_stage(OperationStage::StoppingProxy).await; // A proxy-tool failure must not skip TUN and DNS cleanup. Leaving the // capture in place is what makes the network unusable until the next // Connect (ADR 0120). - if let Err(cause) = self.backend.stop_user_proxy().await { + let proxy_stop = self.backend.stop_user_proxy().await; + if let Err(ref cause) = proxy_stop { warn!( event = "operation.stop_proxy_failed", section = "engine", @@ -1962,7 +2077,8 @@ impl Engine { "stop continued after the local proxy client could not be stopped" ); } - if let Err(cause) = self.backend.clear_hiddify_system_proxy().await { + let proxy_clear = self.backend.clear_hiddify_system_proxy().await; + if let Err(ref cause) = proxy_clear { warn!( event = "operation.stop_clear_proxy_failed", section = "engine", @@ -1984,6 +2100,8 @@ impl Engine { ))); } self.backend.forget_client_egress().await; + proxy_stop?; + proxy_clear?; let health = self.backend.runtime_health().await; self.set_stopped(health); Ok(()) @@ -2003,7 +2121,8 @@ impl Engine { "pause continued after core stop failure" ); } - if let Err(cause) = self.backend.clear_hiddify_system_proxy().await { + let proxy_clear = self.backend.clear_hiddify_system_proxy().await; + if let Err(ref cause) = proxy_clear { warn!( event = "operation.pause_clear_proxy_failed", section = "engine", @@ -2025,6 +2144,7 @@ impl Engine { ))); } self.backend.verify_not_intercepting().await?; + proxy_clear?; let health = self.backend.runtime_health().await; self.set_paused(health); Ok(()) @@ -2378,6 +2498,7 @@ mod tests { proxy_clears: AtomicUsize, proxy_restores: AtomicUsize, fail_proxy_clear: AtomicBool, + fail_proxy_stop: AtomicBool, } #[async_trait] @@ -2533,6 +2654,9 @@ mod tests { async fn stop_user_proxy(&self) -> Result<(), CoreError> { self.proxy_stops.fetch_add(1, Ordering::SeqCst); + if self.fail_proxy_stop.load(Ordering::SeqCst) { + return Err(CoreError::Platform("proxy stop failed".into())); + } Ok(()) } @@ -2601,6 +2725,112 @@ mod tests { } } + #[tokio::test] + async fn shutdown_cancels_connect_and_detaches_before_returning() { + let backend = Arc::new(FakeBackend::default()); + backend.slow_hiddify.store(true, Ordering::SeqCst); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.start_stack(None).await.expect("connect"); + engine.shutdown().await.expect("shutdown"); + assert!(!backend.process.load(Ordering::SeqCst)); + assert!(!backend.tun.load(Ordering::SeqCst)); + assert!(backend.cleanups.load(Ordering::SeqCst) > 0); + assert!(backend.proxy_clears.load(Ordering::SeqCst) > 0); + assert!( + engine.start_stack(None).await.is_err(), + "exit must reject a new Connect" + ); + } + + #[tokio::test] + async fn shutdown_cleans_error_state_even_when_optional_proxy_stop_fails() { + let backend = Arc::new(FakeBackend::default()); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + backend.process.store(true, Ordering::SeqCst); + backend.tun.store(true, Ordering::SeqCst); + backend.fail_proxy_stop.store(true, Ordering::SeqCst); + engine.update(|snapshot| snapshot.phase = StackPhase::Error); + assert!(engine.shutdown().await.is_err()); + assert!(!backend.process.load(Ordering::SeqCst)); + assert!(!backend.tun.load(Ordering::SeqCst)); + assert!(backend.proxy_clears.load(Ordering::SeqCst) > 0); + backend.fail_proxy_stop.store(false, Ordering::SeqCst); + engine.shutdown().await.expect("retry cleanup"); + } + + #[tokio::test] + async fn shutdown_drains_maintenance_and_prevents_client_relaunch() { + let backend = Arc::new(FakeBackend::default()); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.update(|snapshot| snapshot.phase = StackPhase::Running); + let maintenance = engine.maintenance.lock().await; + let exiting = Arc::clone(&engine); + let shutdown = tokio::spawn(async move { exiting.shutdown().await }); + tokio::task::yield_now().await; + assert!( + !shutdown.is_finished(), + "must drain in-flight client maintenance" + ); + drop(maintenance); + shutdown.await.expect("join").expect("cleanup"); + engine.recover_clients().await; + assert_eq!(backend.recover_calls.load(Ordering::SeqCst), 0); + let client_id = ClientId::parse("11111111-1111-1111-1111-111111111111").expect("client id"); + assert!(matches!( + engine.connect_client(client_id, 15).await, + Err(CoreError::OperationInProgress) + )); + assert!(matches!( + engine.retry_side_tunnels(15).await, + Err(CoreError::OperationInProgress) + )); + assert!(matches!( + engine.disconnect_client(client_id).await, + Err(CoreError::OperationInProgress) + )); + } + + #[tokio::test] + async fn network_recovery_rebuilds_tun_and_preserves_paused_intent() { + let backend = Arc::new(FakeBackend::default()); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.start_stack(None).await.expect("start"); + engine + .wait_for_phase(StackPhase::Running, Duration::from_secs(2)) + .await + .expect("running"); + backend.tun.store(false, Ordering::SeqCst); + engine.recover_network().await.expect("recover"); + assert_eq!(engine.snapshot().phase, StackPhase::Running); + assert!(backend.tun.load(Ordering::SeqCst)); + assert_eq!(backend.starts.load(Ordering::SeqCst), 2); + engine.pause_stack().await.expect("pause"); + engine + .wait_for_phase(StackPhase::Paused, Duration::from_secs(2)) + .await + .expect("paused"); + engine.recover_network().await.expect("idle recovery"); + assert_eq!(engine.snapshot().phase, StackPhase::Paused); + assert_eq!(backend.starts.load(Ordering::SeqCst), 2); + } + + #[tokio::test] + async fn failed_network_recovery_leaves_normal_networking_detached() { + let backend = Arc::new(FakeBackend::default()); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.start_stack(None).await.expect("start"); + engine + .wait_for_phase(StackPhase::Running, Duration::from_secs(2)) + .await + .expect("running"); + backend.fail_readiness.store(true, Ordering::SeqCst); + assert!(engine.recover_network().await.is_err()); + assert_eq!(engine.snapshot().phase, StackPhase::Paused); + assert!(!backend.process.load(Ordering::SeqCst)); + assert!(!backend.tun.load(Ordering::SeqCst)); + assert!(engine.snapshot().busy.is_none()); + } + #[tokio::test] async fn egress_watchdog_degrades_after_a_streak_and_recovers() { let backend = Arc::new(FakeBackend::default()); @@ -2705,7 +2935,7 @@ mod tests { } #[tokio::test] - async fn stop_removes_the_tunnel_when_system_proxy_clear_fails() { + async fn stop_reports_proxy_failure_after_removing_the_tunnel() { let backend = Arc::new(FakeBackend::default()); backend.fail_proxy_clear.store(true, Ordering::SeqCst); let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); @@ -2719,7 +2949,8 @@ mod tests { engine .wait_for_phase(StackPhase::Stopped, Duration::from_secs(2)) .await - .expect("stopped"); + .expect_err("proxy cleanup failure must remain visible after TUN cleanup"); + assert_eq!(engine.snapshot().phase, StackPhase::Error); assert!(!backend.tun.load(Ordering::SeqCst)); assert!(backend.cleanups.load(Ordering::SeqCst) >= 1); } diff --git a/docs/adr/0130-resume-recovery-and-serialized-quit.md b/docs/adr/0130-resume-recovery-and-serialized-quit.md new file mode 100644 index 0000000..54ce8cd --- /dev/null +++ b/docs/adr/0130-resume-recovery-and-serialized-quit.md @@ -0,0 +1,49 @@ +# ADR 0130: Recover after unlock and serialize network release on Quit + +Status: Accepted (6.2.81) + +## Context + +This change starts at upstream main `f35ece9` (6.2.80). Its existing macOS +download-and-drag install flow (ADR 0129), DNS recovery, helper absence watchdog, +and native speed displays remain in place. A higher version on an older feature +branch does not establish that it contains current upstream fixes. + +The native health loop refreshes labels but does not rebuild a tunnel after +sleep, Windows unlock, or persistent local runtime failure. The helper may also +have released the capture while the desktop was suspended. Quit starts cleanup, +but a second exit request can pass through while cleanup is pending. Cleanup +failure is logged and the old quit path still exits. + +## Decision + +- Detect native timer gaps over 30 seconds, Windows lock-to-unlock transitions, + and two consecutive unhealthy Mihomo/TUN/DNS samples. The session query checks + only LogonUI in this desktop session, runs without a console, and has a + three-second timeout. Query failures are logged and leave the other checks active. +- Serialize recovery with lifecycle actions and preserve paused/stopped intent. + A 60-second cooldown limits repeated repairs. Drain owned state, invalidate + cached client egress, rebuild, and check readiness. Failed recovery attempts + detach the capture and retain the error for an explicit retry. +- Quit cancels and drains pending engine operations and client maintenance, + rejects new work, and awaits owned network cleanup. Every repeated Quit waits + until cleanup has completed. Failure keeps the app available for retry. + Installer exits retain the existing paused-stack behavior from ADR 0120. +- Cleanup always stops the core, including from Error. A proxy failure must not + skip tunnel/DNS cleanup, and must still be reported after that cleanup rather + than producing a false successful disconnect. +- Environment findings identify a running/degraded stack whose Mihomo, tunnel, + or DNS component is unhealthy. Recovery and exit paths emit structured events. +- Windows installer staging uses NSIS's `COMMONPROGRAMDATA` variable. The + retired `PROGRAMDATA` token expands to an invalid path and emits a packaging + warning; positive and negative contracts pin the valid spelling. Compile the + generated installer separately with warnings treated as errors before installing. + +## Validation + +Engine tests cover Quit during Connect, maintenance drain, cleanup from Error +despite a proxy failure, a lost TUN, paused intent, and failed recovery. Desktop +tests cover repeated Quit, retry after failed cleanup, installer exit policy, +unlock, timer gaps, cooldown, and environment findings. The connection e2e flow +disconnects, reconnects, and disconnects again. Native lock/sleep behavior still +requires a real host smoke test; mock browser tests cannot exercise OS adapters. diff --git a/docs/adr/README.md b/docs/adr/README.md index f667a23..ca5897d 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -133,3 +133,4 @@ Keep this index current. Add a new ADR for each non-obvious change, or update th | [0127](./0127-macos-update-relaunch.md) | Relaunch the replaced macOS app after the old process exits | Superseded | | [0128](./0128-macos-drag-install.md) | macOS disk image is a drag-to-Applications install | Accepted | | [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Accepted | +| [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | diff --git a/e2e/primary-flows.spec.ts b/e2e/primary-flows.spec.ts index d03c8b6..a6151cb 100644 --- a/e2e/primary-flows.spec.ts +++ b/e2e/primary-flows.spec.ts @@ -175,6 +175,15 @@ test.describe("primary BiFlow flows", () => { page.getByRole("heading", { name: "Not connected" }), ).toBeVisible(); await expect(page.locator(".traffic-flow-route")).toHaveCount(0); + await expect(statusBar).toContainText("Internet connected"); + await connectButton(page).click(); + await expect( + page.getByRole("heading", { name: "Connected", exact: true }), + ).toBeVisible(); + await disconnectButton(page).click(); + await expect( + page.getByRole("heading", { name: "Not connected" }), + ).toBeVisible(); }); test("adds a pasted site from Home and reroutes it in place", async ({ diff --git a/package.json b/package.json index 233659c..b66bba3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iran-split-desktop-workspace", - "version": "6.2.80", + "version": "6.2.81", "private": true, "packageManager": "pnpm@9.0.1", "engines": { diff --git a/packaging/windows/installer-hooks.nsh b/packaging/windows/installer-hooks.nsh index 0828530..98db78d 100644 --- a/packaging/windows/installer-hooks.nsh +++ b/packaging/windows/installer-hooks.nsh @@ -1,5 +1,6 @@ !macro NSIS_HOOK_POSTINSTALL - nsExec::ExecToLog '"$INSTDIR\helper\iran-split-helper.exe" --install --mihomo "$INSTDIR\dependencies\mihomo.exe" --staging-dir "$PROGRAMDATA\iran-split\staging" --tun-name clash-iran' + ; NSIS exposes the machine-wide data directory as COMMONPROGRAMDATA. + nsExec::ExecToLog '"$INSTDIR\helper\iran-split-helper.exe" --install --mihomo "$INSTDIR\dependencies\mihomo.exe" --staging-dir "$COMMONPROGRAMDATA\iran-split\staging" --tun-name clash-iran' Pop $R0 StrCmp $R0 "0" helper_install_completed DetailPrint "BiFlow Helper installation failed (exit: $R0)." diff --git a/scripts/tauri-contract.test.mjs b/scripts/tauri-contract.test.mjs index dc21cea..1cdc6bc 100644 --- a/scripts/tauri-contract.test.mjs +++ b/scripts/tauri-contract.test.mjs @@ -123,7 +123,8 @@ describe("Tauri frontend contract", () => { join(root, "crates/iran-split-helper/src/windows.rs"), "utf8", ); - assert.match(hook, /\$PROGRAMDATA\\iran-split\\staging/); + assert.match(hook, /\$COMMONPROGRAMDATA\\iran-split\\staging/); + assert.doesNotMatch(hook, /\$PROGRAMDATA/); assert.doesNotMatch(hook, /\$LOCALAPPDATA\\biflow\\runtime\\generations/); assert.ok(install.includes(String.raw`C:\ProgramData\iran-split\staging`)); assert.match(desktop, /generation_staging_dir/); diff --git a/src-tauri/src/environment/mod.rs b/src-tauri/src/environment/mod.rs index 8d4727d..845bfb0 100644 --- a/src-tauri/src/environment/mod.rs +++ b/src-tauri/src/environment/mod.rs @@ -1314,6 +1314,18 @@ fn running_findings( config: Option<&AppConfig>, findings: &mut Vec, ) { + if let Some(stack) = &report.runtime.stack { + for component in ["mihomo", "tun", "dns"] { + if stack + .get(component) + .and_then(|status| status.get("phase")) + .and_then(serde_json::Value::as_str) + .is_some_and(|phase| phase != "running") + { + findings.push(format!("active_stack_runtime_unhealthy:{component}")); + } + } + } let is_tun = |name: &str| is_biflow_tun(config, name); { let client_ports: BTreeSet = config @@ -1670,6 +1682,23 @@ async fn collect_platform(_report: &mut EnvironmentReport, _tun_name: &str) -> P #[cfg(test)] mod tests { + #[test] + fn active_stack_reports_missing_tun_and_dns_after_resume() { + let mut report = EnvironmentReport::default(); + report.biflow.stack_phase = "running".into(); + report.runtime.stack = Some(serde_json::json!({ + "mihomo": {"phase": "running"}, "tun": {"phase": "stopped"}, + "dns": {"phase": "error"} + })); + assert_eq!( + findings(&report, None), + vec![ + "active_stack_runtime_unhealthy:tun", + "active_stack_runtime_unhealthy:dns" + ] + ); + } + #[test] fn physical_adapter_failures_are_findings_only_when_enabled() { let mut report = super::EnvironmentReport { diff --git a/src-tauri/src/helper_install.rs b/src-tauri/src/helper_install.rs index bd30398..7eec55a 100644 --- a/src-tauri/src/helper_install.rs +++ b/src-tauri/src/helper_install.rs @@ -1104,13 +1104,13 @@ mod tests { #[test] fn nsis_hook_stages_into_programdata_iran_split() { let hook = include_str!("../../packaging/windows/installer-hooks.nsh"); - assert!(hook.contains(r"$PROGRAMDATA\iran-split\staging")); + assert!(hook.contains(r"$COMMONPROGRAMDATA\iran-split\staging")); assert_eq!( super::WINDOWS_HELPER_STAGING, r"C:\ProgramData\iran-split\staging" ); assert!(!hook.contains(r"$LOCALAPPDATA\biflow\runtime\generations")); - assert!(!hook.contains("$COMMONPROGRAMDATA")); + assert!(!hook.contains("$PROGRAMDATA")); let source = include_str!("helper_install.rs"); assert!(source.contains("PathBuf::from(WINDOWS_HELPER_STAGING)")); } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 6099886..7918ed1 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -6,6 +6,7 @@ mod environment; mod github_update; mod helper_install; mod hiddify_reset; +mod lifecycle; mod network; mod platform_paths; mod profile; @@ -26,8 +27,8 @@ use iran_split_config::{ ValidationIssue, }; use iran_split_core::{ - ComponentPhase, CoreError, Engine, LifecycleBusy, OperationAccepted, PlatformBackend, - StackPhase, StackSnapshot, + ComponentPhase, Engine, LifecycleBusy, OperationAccepted, PlatformBackend, StackPhase, + StackSnapshot, }; use iran_split_mihomo::{ActiveConnection, ControllerClient}; use iran_split_rules::{ @@ -3872,8 +3873,12 @@ fn spawn_traffic_loop(handle: AppHandle) { /// Refreshes health and rejoins late local proxies every 10 seconds. fn spawn_health_loop(health_engine: Arc>) { tauri::async_runtime::spawn(async move { + let mut recovery = lifecycle::RecoveryMonitor::default(); + #[cfg(windows)] + let mut was_locked = false; loop { tokio::time::sleep(Duration::from_secs(10)).await; + let tick_time = std::time::SystemTime::now(); if matches!( health_engine.snapshot().phase, StackPhase::Stopped @@ -3883,10 +3888,50 @@ fn spawn_health_loop(health_engine: Arc>) { | StackPhase::Error ) { health_engine.refresh_health().await; + #[cfg(not(windows))] + let unlocked = false; + #[cfg(windows)] + let unlocked = match lifecycle::session_locked().await { + Ok(locked) => { + let changed = was_locked && !locked; + if was_locked != locked { + info!( + event = "session.lock_state_changed", + section = "lifecycle", + initiator = "health_loop", + cause = "session_transition", + locked, + trace_route = "health_loop->session_query->recovery_monitor", + "Windows session lock state changed" + ); + } + was_locked = locked; + changed + } + Err(cause) => { + warn!( + event = "session.state_query_failed", + section = "lifecycle", + initiator = "health_loop", + cause, + trace_route = "health_loop->session_query", + "session state unavailable; timer and health recovery remain active" + ); + false + } + }; + if recovery.observe(tick_time, &health_engine.snapshot(), unlocked) { + if let Err(cause) = health_engine.recover_network().await { + warn!(event = "network.recovery_request_failed", section = "lifecycle", + initiator = "health_loop", %cause, trace_route = "health_loop->engine", + "automatic network recovery did not complete"); + } + } // ADR 0076: a local proxy (e.g. Happ) the operator connected // after Connect rejoins live routing without a full reconnect. health_engine.recover_clients().await; } + recovery.finish_tick(std::time::SystemTime::now()); } }); } @@ -4216,30 +4261,41 @@ pub fn run() { } static UPDATE_EXIT_KEEPS_NETWORK: AtomicBool = AtomicBool::new(false); -static NETWORK_RELEASE_STARTED: AtomicBool = AtomicBool::new(false); - -/// User quit gives the machine its previous network back. An in-app update -/// already paused the tunnel and must keep that paused stack (ADR 0120). -#[must_use] -fn exit_releases_owned_network(update_exit: bool) -> bool { - !update_exit -} +static NETWORK_EXIT: lifecycle::ExitCoordinator = lifecycle::ExitCoordinator::new(); fn handle_run_event(handle: &AppHandle, event: &tauri::RunEvent) { match event { tauri::RunEvent::ExitRequested { api, code, .. } => { diagnostics::exit_requested(*code); - if !exit_releases_owned_network(UPDATE_EXIT_KEEPS_NETWORK.load(Ordering::SeqCst)) { - return; - } - if NETWORK_RELEASE_STARTED.swap(true, Ordering::SeqCst) { - return; + match NETWORK_EXIT.decision(UPDATE_EXIT_KEEPS_NETWORK.load(Ordering::SeqCst)) { + lifecycle::ExitDecision::Allow => return, + lifecycle::ExitDecision::Wait => { + api.prevent_exit(); + return; + } + lifecycle::ExitDecision::Cleanup => api.prevent_exit(), } - api.prevent_exit(); let app = handle.clone(); + let exit_code = code.unwrap_or(0); tauri::async_runtime::spawn(async move { - release_owned_network(&app).await; - app.exit(0); + match release_owned_network(&app).await { + Ok(()) => { + NETWORK_EXIT.completed(); + app.exit(exit_code); + } + Err(cause) => { + warn!( + event = "session.network_release_failed", + section = "lifecycle", + initiator = "application_exit", + cause, + trace_route = "application_exit->engine->shutdown", + "application remains open so network cleanup can be retried" + ); + NETWORK_EXIT.failed(); + show_main(&app); + } + } }); } tauri::RunEvent::Exit => { @@ -4251,61 +4307,22 @@ fn handle_run_event(handle: &AppHandle, event: &tauri::RunEvent) { } } -async fn release_owned_network(app: &AppHandle) { - let Ok(services) = services(app) else { - return; - }; - info!( - event = "session.network_release_started", - section = "lifecycle", - initiator = "application_exit", - cause = "quit", - trace_route = "application_exit->stop_stack", - "releasing the tunnel, system DNS, and system proxy before exit" - ); - let engine = &services.engine; - if let Some(operation_id) = engine.snapshot().operation_id { - engine.cancel_operation(operation_id).await; - } - let deadline = std::time::Instant::now() + Duration::from_secs(50); - loop { - match engine.stop_stack().await { - Ok(accepted) => { - if !accepted.already_complete { - let remaining = deadline.saturating_duration_since(std::time::Instant::now()); - if let Err(cause) = engine - .wait_for_phase(StackPhase::Stopped, remaining.max(Duration::from_secs(1))) - .await - { - warn!( - event = "session.network_release_failed", - section = "lifecycle", - initiator = "application_exit", - cause = %cause, - trace_route = "application_exit->stop_stack", - "quit continued after the network release did not finish" - ); - } - } - break; - } - Err(CoreError::OperationInProgress) if std::time::Instant::now() < deadline => { - tokio::time::sleep(Duration::from_millis(200)).await; - } - Err(cause) => { - warn!( - event = "session.network_release_failed", - section = "lifecycle", - initiator = "application_exit", - cause = %cause, - trace_route = "application_exit->stop_stack", - "quit continued without a completed disconnect" - ); - break; - } - } - } +async fn release_owned_network(app: &AppHandle) -> Result<(), String> { + let result = diagnostics::trace_action( + "lifecycle", + "application_exit", + "release_owned_network", + async { + services(app)? + .engine + .shutdown() + .await + .map_err(|cause| cause.to_string()) + }, + ) + .await; diagnostics::flush(); + result } #[cfg(test)] @@ -4316,12 +4333,6 @@ mod tests { DEV_PROFILE_VAR, DEV_SYSTEM_RUNTIME_VAR, }; - #[test] - fn quit_releases_the_network_and_an_update_exit_does_not() { - assert!(exit_releases_owned_network(false)); - assert!(!exit_releases_owned_network(true)); - } - #[test] fn failed_disk_image_open_preserves_a_user_paused_stack() { use github_update::InstallKind; diff --git a/src-tauri/src/lifecycle.rs b/src-tauri/src/lifecycle.rs new file mode 100644 index 0000000..b818a95 --- /dev/null +++ b/src-tauri/src/lifecycle.rs @@ -0,0 +1,205 @@ +//! Native timer and session recovery, independent of webview throttling. +use iran_split_core::{ComponentPhase, StackPhase, StackSnapshot}; +use std::{ + sync::atomic::{AtomicBool, Ordering}, + time::{Duration, SystemTime}, +}; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ExitDecision { + Allow, + Wait, + Cleanup, +} + +#[derive(Default)] +pub struct ExitCoordinator { + pending: AtomicBool, + ready: AtomicBool, +} + +impl ExitCoordinator { + pub const fn new() -> Self { + Self { + pending: AtomicBool::new(false), + ready: AtomicBool::new(false), + } + } + + pub fn decision(&self, update_exit: bool) -> ExitDecision { + if update_exit || self.ready.load(Ordering::SeqCst) { + ExitDecision::Allow + } else if self.pending.swap(true, Ordering::SeqCst) { + ExitDecision::Wait + } else { + ExitDecision::Cleanup + } + } + + pub fn completed(&self) { + self.ready.store(true, Ordering::SeqCst); + } + + pub fn failed(&self) { + self.pending.store(false, Ordering::SeqCst); + } +} + +#[derive(Default)] +pub struct RecoveryMonitor { + last_tick: Option, + failed_ticks: u8, + last_attempt: Option, + wake_pending: bool, +} + +impl RecoveryMonitor { + pub fn observe(&mut self, now: SystemTime, snapshot: &StackSnapshot, unlocked: bool) -> bool { + let resumed = self.last_tick.replace(now).is_some_and(|last| { + now.duration_since(last) + .is_ok_and(|gap| gap > Duration::from_secs(30)) + }); + if !matches!(snapshot.phase, StackPhase::Running | StackPhase::Degraded) { + self.failed_ticks = 0; + self.wake_pending = false; + return false; + } + self.wake_pending |= resumed || unlocked; + if snapshot.busy.is_some() { + return false; + } + let broken = [&snapshot.mihomo, &snapshot.tun, &snapshot.dns] + .iter() + .any(|status| status.phase != ComponentPhase::Running); + self.failed_ticks = if broken { + self.failed_ticks.saturating_add(1) + } else { + 0 + }; + let cooldown = self.last_attempt.is_some_and(|last| { + now.duration_since(last) + .is_ok_and(|gap| gap < Duration::from_secs(60)) + }); + if (self.wake_pending || self.failed_ticks >= 2) && !cooldown { + self.last_attempt = Some(now); + self.failed_ticks = 0; + self.wake_pending = false; + return true; + } + false + } + + /// Exclude health-query/recovery duration from the next timer-gap check. + pub fn finish_tick(&mut self, now: SystemTime) { + self.last_tick = Some(now); + } +} + +/// Query only the current session's secure-desktop process. No process list +/// or account information crosses this boundary. +#[cfg(windows)] +pub async fn session_locked() -> Result { + let mut command = tokio::process::Command::new("powershell.exe"); + command.creation_flags(0x0800_0000).kill_on_drop(true).args([ + "-NoProfile", "-NonInteractive", "-Command", + "$s=(Get-Process -Id $PID).SessionId; if (Get-Process -Name LogonUI -ErrorAction SilentlyContinue | Where-Object SessionId -eq $s) { 'locked' } else { 'unlocked' }", + ]); + let output = tokio::time::timeout(Duration::from_secs(3), command.output()) + .await + .map_err(|_| "session_query_timeout")? + .map_err(|_| "session_query_spawn_failed")?; + if !output.status.success() { + return Err("session_query_failed"); + } + parse_session_state(&String::from_utf8_lossy(&output.stdout)) +} + +#[cfg(any(windows, test))] +fn parse_session_state(output: &str) -> Result { + match output.trim() { + "locked" => Ok(true), + "unlocked" => Ok(false), + _ => Err("session_query_invalid"), + } +} + +#[cfg(test)] +mod tests { + use super::*; + use iran_split_core::ComponentStatus; + + #[test] + fn repeated_quit_waits_for_cleanup_and_failure_allows_a_retry() { + let exit = ExitCoordinator::new(); + assert_eq!(exit.decision(false), ExitDecision::Cleanup); + assert_eq!(exit.decision(false), ExitDecision::Wait); + exit.failed(); + assert_eq!(exit.decision(false), ExitDecision::Cleanup); + exit.completed(); + assert_eq!(exit.decision(false), ExitDecision::Allow); + } + + #[test] + fn update_exit_preserves_the_already_paused_stack() { + let exit = ExitCoordinator::new(); + assert_eq!(exit.decision(true), ExitDecision::Allow); + assert_eq!(exit.decision(false), ExitDecision::Cleanup); + } + + fn running() -> StackSnapshot { + StackSnapshot { + phase: StackPhase::Running, + mihomo: ComponentStatus::new(ComponentPhase::Running, None), + tun: ComponentStatus::new(ComponentPhase::Running, None), + dns: ComponentStatus::new(ComponentPhase::Running, None), + ..StackSnapshot::default() + } + } + + #[test] + fn sleep_rebuilds_even_when_controller_reports_a_stale_healthy_tun() { + let mut monitor = RecoveryMonitor::default(); + let now = SystemTime::UNIX_EPOCH; + assert!(!monitor.observe(now, &running(), false)); + assert!(monitor.observe(now + Duration::from_secs(90), &running(), false)); + assert!(!monitor.observe(now + Duration::from_secs(130), &running(), false)); + } + + #[test] + fn persistent_failure_recovers_but_transient_failure_and_idle_intent_do_not() { + let mut monitor = RecoveryMonitor::default(); + let now = SystemTime::UNIX_EPOCH; + let mut snapshot = running(); + snapshot.tun.phase = ComponentPhase::Stopped; + assert!(!monitor.observe(now, &snapshot, false)); + assert!(monitor.observe(now + Duration::from_secs(10), &snapshot, false)); + snapshot.phase = StackPhase::Paused; + assert!(!monitor.observe(now + Duration::from_secs(100), &snapshot, true)); + snapshot.phase = StackPhase::Stopped; + assert!(!monitor.observe(now + Duration::from_secs(200), &snapshot, true)); + } + + #[test] + fn unlock_triggers_recovery_without_a_sleep_gap() { + let mut monitor = RecoveryMonitor::default(); + let now = SystemTime::UNIX_EPOCH; + assert!(!monitor.observe(now, &running(), false)); + assert!(monitor.observe(now + Duration::from_secs(10), &running(), true)); + assert_eq!(parse_session_state("locked\r\n"), Ok(true)); + assert_eq!(parse_session_state("unlocked\r\n"), Ok(false)); + assert!(parse_session_state("").is_err()); + } + + #[test] + fn unlock_waits_for_rule_apply_and_slow_recovery_does_not_look_like_sleep() { + let mut monitor = RecoveryMonitor::default(); + let now = SystemTime::UNIX_EPOCH; + let mut snapshot = running(); + snapshot.busy = Some(iran_split_core::LifecycleBusy::ApplyingRules); + assert!(!monitor.observe(now, &snapshot, true)); + snapshot.busy = None; + assert!(monitor.observe(now + Duration::from_secs(10), &snapshot, false)); + monitor.finish_tick(now + Duration::from_secs(120)); + assert!(!monitor.observe(now + Duration::from_secs(130), &snapshot, false)); + } +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index a2a754a..67a35a7 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "BiFlow", - "version": "6.2.80", + "version": "6.2.81", "identifier": "app.biflow.desktop", "build": { "beforeDevCommand": "pnpm bundle:check && pnpm --dir apps/desktop dev", diff --git a/version b/version index 6d2db09..7afde44 100644 --- a/version +++ b/version @@ -1 +1 @@ -6.2.80 +6.2.81 From 85c15cb55a69247c78c496a8e8e5d41089a449ee Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 11:35:24 +0330 Subject: [PATCH 2/7] fix: verify macOS bundle installation and relaunch after exit --- AGENTS.md | 27 +- Cargo.lock | 30 +- Cargo.toml | 2 +- apps/desktop/package.json | 2 +- apps/desktop/src/api/mock.test.ts | 7 +- apps/desktop/src/api/mock.ts | 9 - apps/desktop/src/api/models.ts | 1 - apps/desktop/src/components/About.test.tsx | 17 +- apps/desktop/src/components/About.tsx | 7 +- apps/desktop/src/i18n/config.ts | 6 - docs/adr/0128-macos-drag-install.md | 5 +- docs/adr/0129-macos-update-downloads-only.md | 2 +- ...131-verified-macos-install-and-relaunch.md | 56 +++ docs/adr/README.md | 265 ++++++----- docs/screenshots/desktop.png | Bin 108040 -> 92213 bytes docs/screenshots/diagnostics.png | Bin 107476 -> 90572 bytes docs/screenshots/mobile.png | Bin 73268 -> 62453 bytes docs/screenshots/settings-speed.png | Bin 104065 -> 91317 bytes e2e/primary-flows.spec.ts | 8 +- package.json | 2 +- scripts/tauri-contract.test.mjs | 10 +- src-tauri/src/github_update.rs | 60 +-- src-tauri/src/lib.rs | 183 +++---- src-tauri/src/macos_update.rs | 450 ++++++++++++++++++ src-tauri/tauri.conf.json | 2 +- version | 2 +- 26 files changed, 766 insertions(+), 387 deletions(-) create mode 100644 docs/adr/0131-verified-macos-install-and-relaunch.md create mode 100644 src-tauri/src/macos_update.rs diff --git a/AGENTS.md b/AGENTS.md index c6e4346..ed2278c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -90,9 +90,14 @@ If a required command fails or emits a warning from project code, fix it in the and Windows unlock alongside persistent component failures, preserve idle intent, and exclude the health/recovery work itself from timer-gap detection. -- A failed macOS disk-image open must not resume a user-paused stack. Only - package kinds that pause the stack for installation may restore it after - failure; pass the install kind into the recovery decision (ADR 0129). +- Failed installers must restore only a connection they actually paused. Track + that intent explicitly for every package kind; the paused phase alone does not + distinguish an installer pause from a user pause (ADR 0131). Update the + diagnostic fields with that decision too; retaining the removed `kind` local + in the recovery event breaks the desktop compilation. +- Update-flow e2e changes must keep the Pause readiness assertion enabled; + only the repeated update action is disabled during restart. Broad replacement + of `toBeEnabled()` assertions reverses that setup and breaks the primary flow. - Scope About update assertions to its region: the network footer also has a `status` role, so a page-wide status locator matches two elements. @@ -815,12 +820,10 @@ SHA-256")`); launchd `KeepAlive` then restarts it in a crash loop and the `webpki-roots`, or `webpki-root-certs` fall inside a new RustSec range. Update them with `cargo update -p`. `webpki-roots` has two majors, so name `webpki-roots@1` (RUSTSEC-2026-0381, 0382, 0383, 0386). -- macOS in-app update must not replace `/Applications/BiFlow.app` or quit. - Closing the window only hides the menu-bar process, so an automatic swap - and relaunch was easy to miss and left the operator on the old version - when the helper never ran. Download the signed disk image, open it with - `/usr/bin/open`, and leave the tunnel up. The new version starts only - after the operator drags BiFlow onto Applications, quits the menu-bar - process, and opens that Applications copy (ADR 0129). Linux `.deb` still - waits for a manual restart. AppImage and NSIS still use their replace - helpers. +- Downloading/opening a DMG does not install an update. The requested macOS + automatic updater supersedes ADR 0129: await authorized replacement, verify + bundle identity and version before swapping, preserve rollback backups on any + rollback failure, and launch as the desktop user only after the old PID exits + (ADR 0131). Keep mounted staging out of automatic recursive cleanup before + starting attach, including cancellation. Linux `.deb` still waits for a manual + restart; AppImage and NSIS use their existing replace helpers. diff --git a/Cargo.lock b/Cargo.lock index 6d3984c..c68e77f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2046,7 +2046,7 @@ dependencies = [ [[package]] name = "iran-split-cli" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2064,7 +2064,7 @@ dependencies = [ [[package]] name = "iran-split-clients" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "ipnet", @@ -2080,7 +2080,7 @@ dependencies = [ [[package]] name = "iran-split-config" -version = "6.2.81" +version = "6.2.82" dependencies = [ "hex", "rand 0.9.5", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "iran-split-core" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2110,7 +2110,7 @@ dependencies = [ [[package]] name = "iran-split-desktop" -version = "6.2.81" +version = "6.2.82" dependencies = [ "chrono", "dirs 6.0.0", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "iran-split-helper" -version = "6.2.81" +version = "6.2.82" dependencies = [ "clap", "hex", @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "iran-split-helper-winacl" -version = "6.2.81" +version = "6.2.82" dependencies = [ "tokio", "windows", @@ -2185,7 +2185,7 @@ dependencies = [ [[package]] name = "iran-split-ipc" -version = "6.2.81" +version = "6.2.82" dependencies = [ "bytes", "chrono", @@ -2198,7 +2198,7 @@ dependencies = [ [[package]] name = "iran-split-mihomo" -version = "6.2.81" +version = "6.2.82" dependencies = [ "chrono", "futures-util", @@ -2221,7 +2221,7 @@ dependencies = [ [[package]] name = "iran-split-netstats" -version = "6.2.81" +version = "6.2.82" dependencies = [ "libc", "tempfile", @@ -2230,7 +2230,7 @@ dependencies = [ [[package]] name = "iran-split-platform-linux" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2254,7 +2254,7 @@ dependencies = [ [[package]] name = "iran-split-platform-macos" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2278,7 +2278,7 @@ dependencies = [ [[package]] name = "iran-split-platform-win" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "iran-split-rules" -version = "6.2.81" +version = "6.2.82" dependencies = [ "async-trait", "chrono", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "iran-split-taskbar" -version = "6.2.81" +version = "6.2.82" dependencies = [ "iran-split-config", "objc2", diff --git a/Cargo.toml b/Cargo.toml index cb73658..af0e68c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "6.2.81" +version = "6.2.82" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.88" diff --git a/apps/desktop/package.json b/apps/desktop/package.json index b31d66b..eb14cd8 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@iran-split/desktop", - "version": "6.2.81", + "version": "6.2.82", "private": true, "type": "module", "scripts": { diff --git a/apps/desktop/src/api/mock.test.ts b/apps/desktop/src/api/mock.test.ts index 0247c97..b6f8542 100644 --- a/apps/desktop/src/api/mock.test.ts +++ b/apps/desktop/src/api/mock.test.ts @@ -186,7 +186,7 @@ describe("mock transport", () => { expect(phases.at(-1)).toBe("restarting"); }); - it("finishes a macOS update as downloaded without starting an installer", async () => { + it("installs and restarts a macOS update while retaining paused intent", async () => { vi.spyOn(navigator, "platform", "get").mockReturnValue("MacIntel"); sessionStorage.setItem("biflow-mock-update-available", "1"); const before = await mockApi.getSnapshot(); @@ -196,9 +196,8 @@ describe("mock transport", () => { }); await mockApi.installUpdate(); unsubscribe(); - expect(phases.at(-1)).toBe("downloaded"); - expect(phases).not.toContain("installing"); - expect(phases).not.toContain("restarting"); + expect(phases.at(-1)).toBe("restarting"); + expect(phases).toContain("installing"); expect(await mockApi.getSnapshot()).toEqual(before); }); diff --git a/apps/desktop/src/api/mock.ts b/apps/desktop/src/api/mock.ts index 96a26b4..e26b709 100644 --- a/apps/desktop/src/api/mock.ts +++ b/apps/desktop/src/api/mock.ts @@ -637,15 +637,6 @@ async function simulateInstallProgress(version: string) { }); await new Promise((resolve) => setTimeout(resolve, 20)); } - if (/mac/i.test(navigator.platform)) { - emitUpdateProgress({ - phase: "downloaded", - percent: 100, - version, - error: null, - }); - return; - } emitUpdateProgress({ phase: "installing", percent: 100, diff --git a/apps/desktop/src/api/models.ts b/apps/desktop/src/api/models.ts index 632ffaa..d380b8b 100644 --- a/apps/desktop/src/api/models.ts +++ b/apps/desktop/src/api/models.ts @@ -387,7 +387,6 @@ export type UpdatePhase = | "installing" | "restarting" | "installed" - | "downloaded" | "failed"; export interface UpdateProgress { diff --git a/apps/desktop/src/components/About.test.tsx b/apps/desktop/src/components/About.test.tsx index 487489d..685a03d 100644 --- a/apps/desktop/src/components/About.test.tsx +++ b/apps/desktop/src/components/About.test.tsx @@ -81,23 +81,24 @@ describe("About", () => { ); }); - it("tells the operator to drag a downloaded macOS disk image", () => { + it("shows automatic restart progress and disables another update", () => { useAppStore.setState({ + boot: { platform: "macos" } as BootstrapResult, update: { - phase: "downloaded", + phase: "restarting", percent: 100, version: "1.3.0", error: null, }, }); render(); - expect(screen.getByRole("status")).toHaveTextContent( - /drag BiFlow onto Applications/i, - ); - expect(screen.getByRole("status")).toHaveTextContent(/menu bar/i); + expect(screen.getByRole("status")).toHaveTextContent(/restarting BiFlow/i); + expect( + screen.getByRole("button", { name: /check for updates/i }), + ).toBeDisabled(); }); - it("offers a download on macOS and an install elsewhere", async () => { + it("offers installation on macOS", async () => { const installUpdate = vi.fn(async () => undefined); useAppStore.setState({ boot: { platform: "macos" } as BootstrapResult, @@ -111,7 +112,7 @@ describe("About", () => { }); render(); await userEvent.click( - screen.getByRole("button", { name: /download 1\.3\.0/i }), + screen.getByRole("button", { name: /install update 1\.3\.0/i }), ); expect(installUpdate).toHaveBeenCalledOnce(); }); diff --git a/apps/desktop/src/components/About.tsx b/apps/desktop/src/components/About.tsx index 1abd81d..43474d3 100644 --- a/apps/desktop/src/components/About.tsx +++ b/apps/desktop/src/components/About.tsx @@ -9,7 +9,6 @@ const REPOSITORY_URL = "https://github.com/devlifeX/BiFlow"; export function About() { const { t } = useTranslation(); const update = useAppStore((state) => state.update); - const platform = useAppStore((state) => state.boot?.platform); const checkForUpdate = useAppStore((state) => state.checkForUpdate); const installUpdate = useAppStore((state) => state.installUpdate); const retryUpdate = useAppStore((state) => state.retryUpdate); @@ -121,9 +120,7 @@ export function About() { disabled={busy} onClick={() => void installUpdate()} > - {platform === "macos" - ? t("updateDownload", { version: update.version ?? "" }) - : t("updateInstall", { version: update.version ?? "" })} + {t("updateInstall", { version: update.version ?? "" })} ) : null} {showRetry ? ( @@ -174,8 +171,6 @@ function updateMessage( return t("updateRestarting"); case "installed": return t("updateInstalled"); - case "downloaded": - return t("updateDownloaded", { version: update.version ?? "" }); case "failed": return t("updateFailed"); default: diff --git a/apps/desktop/src/i18n/config.ts b/apps/desktop/src/i18n/config.ts index 0d2b3ce..6e89fe5 100644 --- a/apps/desktop/src/i18n/config.ts +++ b/apps/desktop/src/i18n/config.ts @@ -265,15 +265,12 @@ const resources = { updateAvailable: "Version {{version}} is available.", updateFailed: "Could not check for updates.", updateInstall: "Install update {{version}}", - updateDownload: "Download {{version}}", updateRetry: "Retry update", updateDownloading: "Downloading version {{version}}…", updateInstalling: "Installing update…", updateRestarting: "Restarting BiFlow…", updateInstalled: "BiFlow was updated. Quit and open the app again to use the new version.", - updateDownloaded: - "Version {{version}} is downloaded. The disk image is open. Drag BiFlow onto Applications, quit this BiFlow from the menu bar, then open the copy in Applications.", updateDownloadProgress: "Download progress", updateIdle: "Check GitHub Releases when you are ready to update.", cloudRules: "Iran cloud rules", @@ -688,15 +685,12 @@ const resources = { updateAvailable: "نسخه {{version}} در دسترس است.", updateFailed: "بررسی به‌روزرسانی انجام نشد.", updateInstall: "نصب به‌روزرسانی {{version}}", - updateDownload: "دانلود {{version}}", updateRetry: "تلاش دوباره", updateDownloading: "در حال دانلود نسخه {{version}}…", updateInstalling: "در حال نصب به‌روزرسانی…", updateRestarting: "در حال راه‌اندازی مجدد BiFlow…", updateInstalled: "BiFlow به‌روزرسانی شد. برنامه را ببندید و دوباره باز کنید تا نسخه جدید دیده شود.", - updateDownloaded: - "نسخه {{version}} دانلود شد. تصویر دیسک باز است. BiFlow را روی Applications بکشید، این برنامه را از نوار منو ببندید، سپس نسخه داخل Applications را باز کنید.", updateDownloadProgress: "پیشرفت دانلود", updateIdle: "وقتی آماده بودید، به‌روزرسانی GitHub Releases را بررسی کنید.", diff --git a/docs/adr/0128-macos-drag-install.md b/docs/adr/0128-macos-drag-install.md index 93e005f..a2623f7 100644 --- a/docs/adr/0128-macos-drag-install.md +++ b/docs/adr/0128-macos-drag-install.md @@ -16,6 +16,5 @@ a failed AppleScript produced a disk image with nothing to drag onto. volume name, icon position, Applications link, window size, and background as the normal bundle. The alias is on the image either way. -The in-app updater opens this same disk image and leaves the running app in -place (ADR 0129). This decision is the disk image a person opens from the -release or from About. +The disk image still supports a manual first install from a release. In-app +updates now install its verified bundle and restart automatically (ADR 0131). diff --git a/docs/adr/0129-macos-update-downloads-only.md b/docs/adr/0129-macos-update-downloads-only.md index 0659ac0..3961600 100644 --- a/docs/adr/0129-macos-update-downloads-only.md +++ b/docs/adr/0129-macos-update-downloads-only.md @@ -1,6 +1,6 @@ # ADR 0129: macOS update downloads a disk image and does not restart -Status: Accepted (6.2.78) +Status: Superseded by [ADR 0131](./0131-verified-macos-install-and-relaunch.md) (6.2.82) Supersedes the install half of [ADR 0127](./0127-macos-update-relaunch.md). diff --git a/docs/adr/0131-verified-macos-install-and-relaunch.md b/docs/adr/0131-verified-macos-install-and-relaunch.md new file mode 100644 index 0000000..8356073 --- /dev/null +++ b/docs/adr/0131-verified-macos-install-and-relaunch.md @@ -0,0 +1,56 @@ +# ADR 0131: Verify and replace the macOS bundle before scheduling a user relaunch + +Status: Accepted (6.2.82) + +Supersedes [ADR 0129](./0129-macos-update-downloads-only.md). The user requested +an automatic macOS update: downloading and opening a disk image left the old +menu-bar process running and did not install anything. + +## Decision + +Keep the existing exact-version, architecture, signed-manifest, and package +signature checks. Mount the verified image read-only without opening Finder. +Validate the exact `BiFlow.app`, executable, bundle identifier, and version; +copy it with `ditto` into a unique staging directory beside the installed app, +then validate that copy before touching the installed bundle. + +Await the administrator-authorized installation rather than launching a +replacement script and assuming it succeeded. Move the previous bundle to a +backup, rename the validated candidate into place, and verify it there. Restore +the previous bundle if replacement fails. A failed rollback must retain the +backup directory; no cleanup path may delete the only recoverable copy. +Preserve custom installation locations. A disk-image or App Translocation +launch installs into `/Applications/BiFlow.app` instead of trying to overwrite +the read-only launch location. + +On macOS the loaded process can finish while its bundle has been renamed. +Only after replacement completes do we schedule an unprivileged `nohup` shell +to wait for that process to exit and open the exact installed bundle. The +desktop reports `restarting` and uses the existing update exit path. A bounded +wait and the launch result are appended as safe structured diagnostic events. +Launching through the administrator shell would start the GUI as root and is +forbidden. Shell argument quoting and AppleScript string encoding remain +separate operations. + +Detach the image after success or failure. Disable automatic recursive staging +cleanup before attach starts, so cancellation or failed detach cannot recurse +into a mounted filesystem. Only a positively detached staging tree is removed. + +All package installers now record whether they paused an active connection. +On failure, resume only that connection; preserve a preexisting user pause. +About and the mock transport use the same install/restart progress on macOS as +Windows and AppImage. Manual first installs still use the DMG drag layout; +Debian package installation retains its existing manual restart behavior. + +## Validation + +Cross-platform tests cover destination selection, quoting, and pause intent. +Native macOS tests create and mount a real temporary DMG, install its bundle, +and verify detachment. They also execute the install script on temporary bundles, reject a +version mismatch before replacement, inject a failed swap and failed rollback, +and execute a relaunch watcher against a temporary process and fake launcher. +The latter verifies safe JSON diagnostics for both launch success and failure. +UI unit tests and the primary-flow e2e assert install/restarting rather than +download-only completion. The real administrator prompt and signed release +upgrade still require a physical Mac acceptance test; CI does not establish +that those interactions occurred. diff --git a/docs/adr/README.md b/docs/adr/README.md index ca5897d..08321f5 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -2,135 +2,136 @@ Keep this index current. Add a new ADR for each non-obvious change, or update the existing ADR when the decision evolves. -| ID | Title | Status | -| -------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- | -| [0001](./0001-record-architecture-decisions.md) | Record architecture decisions | Accepted | -| [0002](./0002-single-source-version.md) | Single-source application version | Accepted | -| [0003](./0003-testing-strategy.md) | Unit and e2e testing strategy | Accepted | -| [0004](./0004-in-app-third-party-install.md) | In-app Hiddify and Mihomo install | Accepted | -| [0005](./0005-cloud-rule-fail-safe.md) | Fail-safe Iran rule updates | Superseded | -| [0006](./0006-linux-windows-packages.md) | Linux and Windows release packages | Accepted | -| [0007](./0007-done-gate-builds.md) | Build-and-test done gate | Accepted | -| [0008](./0008-tauri-async-runtime.md) | Explicit Tauri async runtime | Accepted | -| [0009](./0009-user-facing-readme.md) | User-facing README | Accepted | -| [0010](./0010-runtime-observability.md) | Runtime and network observability | Accepted | -| [0011](./0011-logo-derived-palette.md) | Logo-derived palette | Accepted | -| [0012](./0012-tag-releases-and-deny.md) | Atomic tag releases and deny policy | Accepted | -| [0013](./0013-session-debug-log.md) | Permanent structured debug log | Accepted | -| [0014](./0014-windows-ci-line-endings.md) | Windows CI line endings and fsync | Accepted | -| [0015](./0015-dev-helper-noexec-run.md) | Dev helper binaries off noexec /run | Accepted | -| [0016](./0016-mihomo-relative-rule-paths.md) | Mihomo relative rule-provider paths | Accepted | -| [0017](./0017-empty-custom-providers-ready.md) | Empty custom providers are ready | Accepted | -| [0018](./0018-hiddify-egress-before-tun.md) | Probe Hiddify egress before TUN | Accepted | -| [0019](./0019-clippy-cfg-tail-expressions.md) | Clippy cfg tail expressions | Accepted | -| [0020](./0020-native-linux-windows-ci.md) | Native Linux and Windows CI | Accepted | -| [0021](./0021-shared-build-contract.md) | Shared local/GitHub build contract | Accepted | -| [0022](./0022-biflow-owned-rules.md) | BiFlow-owned rule distribution | Accepted | -| [0023](./0023-basic-mode-persistence.md) | Basic mode UI persistence | Accepted | -| [0024](./0024-signed-github-release-updater.md) | Signed GitHub Release updater | Superseded | -| [0025](./0025-paused-lifecycle.md) | Paused lifecycle and Hiddify keep | Accepted | -| [0026](./0026-linux-webkit-blank-view.md) | Linux WebKit blank-view workaround | Accepted | -| [0027](./0027-windows-debug-log-clear.md) | Windows debug.log clear and tests | Accepted | -| [0028](./0028-embedded-windows-rules.md) | Embedded Iran rules for portable Windows | Accepted | -| [0029](./0029-packaged-helper-install.md) | Packaged privileged helper install | Accepted | -| [0030](./0030-no-background-console.md) | No background console or terminal | Accepted | -| [0031](./0031-local-github-actions-mirror.md) | Local GitHub Actions mirror | Accepted | -| [0032](./0032-fresh-hiddify-start.md) | Fresh Hiddify start | Accepted | -| [0033](./0033-windows-platform-backend.md) | Windows platform backend | Accepted | -| [0034](./0034-bidirectional-route-pins.md) | Bidirectional route pins | Accepted | -| [0035](./0035-windows-reveal-and-helper-install.md) | Windows debug.log reveal and helper install | Accepted | -| [0036](./0036-windows-helper-task-xml.md) | Windows helper scheduled task XML | Accepted | -| [0037](./0037-windows-mihomo-controller-reachability.md) | Windows Mihomo controller reachability | Accepted | -| [0038](./0038-windows-tun-readiness.md) | Windows TUN readiness and clash alignment | Accepted | -| [0039](./0039-complete-update-channels.md) | Complete update channels | Accepted | -| [0040](./0040-reliable-update-check.md) | Reliable update check | Superseded | -| [0041](./0041-reliable-cloud-rule-sync.md) | Reliable cloud rule sync | Accepted | -| [0042](./0042-responsive-bottom-nav.md) | Responsive bottom navigation | Accepted | -| [0043](./0043-persistent-traffic-totals.md) | Persistent traffic totals | Superseded | -| [0044](./0044-connect-installs-dependencies.md) | Connect installs required services | Accepted | -| [0045](./0045-square-connection-glow.md) | Square connection glow | Accepted | -| [0046](./0046-persist-window-size.md) | Persist window size | Accepted | -| [0047](./0047-three-viewport-layouts.md) | Three representative viewport layouts | Accepted | -| [0048](./0048-input-context-menu.md) | Input context menu | Accepted | -| [0049](./0049-state-aware-tray-menu.md) | State-aware tray menu | Accepted | -| [0050](./0050-connection-operation-lock.md) | Connection operation lock | Accepted | -| [0051](./0051-button-icons.md) | Icons on every button | Accepted | -| [0052](./0052-in-button-connection-progress.md) | In-button connection progress | Accepted | -| [0053](./0053-connect-button-glow.md) | Connect button availability glow | Accepted | -| [0054](./0054-curated-iranian-business-domains.md) | Curated Iranian business domains | Accepted | -| [0055](./0055-clear-hiddify-system-proxy.md) | Clear Hiddify system proxy on pause/stop | Accepted | -| [0056](./0056-live-mihomo-connections.md) | Live Mihomo connections in Diagnostics | Accepted | -| [0057](./0057-github-releases-in-app-update.md) | GitHub Releases in-app update | Accepted | -| [0058](./0058-direct-domain-nameserver-policy.md) | DIRECT domain nameserver policy | Accepted | -| [0059](./0059-user-selected-direct-dns.md) | User-selected DIRECT DNS resolvers | Accepted | -| [0060](./0060-fake-ip-default-direct-dns.md) | Fake-ip is the default DIRECT DNS | Accepted | -| [0061](./0061-direct-domains-always-skip-fake-ip.md) | DIRECT domains always skip fake-ip | Accepted | -| [0062](./0062-no-hiddify-system-proxy-while-running.md) | No Hiddify system proxy while running | Accepted | -| [0063](./0063-reject-quic-toward-vpn.md) | Reject QUIC toward the VPN | Accepted | -| [0064](./0064-windows-machine-wide-helper-staging.md) | Windows machine-wide helper staging | Accepted | -| [0065](./0065-linux-vpn-doh-and-egress-probe.md) | Linux VPN DoH and multi-path egress probe | Accepted | -| [0066](./0066-reachability-diagnostics.md) | Reachability section in Diagnostics | Accepted | -| [0067](./0067-owned-side-tunnel-invariants.md) | OwnedSideTunnel invariants | Accepted | -| [0068](./0068-client-registry-and-egress-kinds.md) | Client registry and egress kinds | Accepted | -| [0069](./0069-named-rule-lists.md) | Named rule lists | Accepted | -| [0070](./0070-fail-closed-rule-level.md) | Rule-level fail-closed | Accepted | -| [0071](./0071-exact-subdomain-pins.md) | Exact subdomain pins, longest match wins | Accepted | -| [0072](./0072-side-tunnel-profile-picker.md) | Native profile picker for side-tunnel files | Accepted | -| [0073](./0073-pending-mihomo-settings-apply.md) | Pending Mihomo apply after live settings | Accepted | -| [0074](./0074-happ-discovery-and-hidden-google.md) | Happ discovery and hidden Google hosts | Accepted | -| [0075](./0075-windscribe-openvpn-download.md) | Windscribe also offers the OpenVPN installer | Accepted | -| [0076](./0076-local-proxy-live-recovery.md) | Live recovery of local-proxy clients | Accepted | -| [0077](./0077-multi-client-primary-and-hiddify-requirement.md) | Multi-client primaries and Hiddify requirement | Accepted | -| [0078](./0078-fast-connect-and-egress-watchdog.md) | Fast Connect and primary-egress watchdog | Accepted | -| [0079](./0079-side-tunnel-helper-ipc-timeout.md) | Side-tunnel helper IPC timeout | Accepted | -| [0080](./0080-dev-profile-mihomo-isolation.md) | Dev-profile Mihomo isolation | Accepted | -| [0081](./0081-live-connections-survive-route-apply.md) | Live connections survive a route apply | Accepted | -| [0082](./0082-enabled-client-pins-keep-group.md) | Enabled-client pins keep the client group | Accepted | -| [0083](./0083-pin-apply-hot-reloads-mihomo.md) | Pin apply hot-reloads Mihomo | Accepted | -| [0084](./0084-curated-iranian-cdn-isp-cidrs.md) | Curated Iranian CDN/ISP CIDRs | Accepted | -| [0085](./0085-tehran-index-company-directory.md) | Tehran Index company directory harvest | Accepted | -| [0086](./0086-google-search-companion-pins.md) | Google Search companion pins | Accepted | -| [0087](./0087-windows-powershell-builder.md) | Native PowerShell Windows builder | Accepted | -| [0088](./0088-windows-helper-config-retry.md) | Retry locked Windows helper config writes | Accepted | -| [0089](./0089-windows-helper-unique-config.md) | Use a unique config for locked helper files | Accepted | -| [0090](./0090-skip-identical-locked-windows-payloads.md) | Skip identical locked Windows payloads | Accepted | -| [0091](./0091-faster-connect-and-visible-failures.md) | Faster Connect and visible failure reasons | Accepted | -| [0092](./0092-windscribe-openvpn-conflict-filters.md) | Windscribe OpenVPN must not take the system route | Accepted | -| [0093](./0093-windscribe-resolve-and-manual-connect.md) | Resolve Windscribe through Hiddify, then connect it by hand | Accepted | -| [0094](./0094-remember-side-tunnel-address.md) | Remember a side-tunnel address without editing the profile | Accepted | -| [0095](./0095-package-helper-lifecycle.md) | Preserve Helper identity across package upgrades | Accepted | -| [0096](./0096-client-removal-compensation.md) | Compensate client removal when route updates fail | Accepted | -| [0097](./0097-rules-publish-before-memory.md) | Publish rule documents before replacing in-memory state | Accepted | -| [0098](./0098-signed-exact-release-updates.md) | Require exact signed packages before pausing connectivity | Accepted | -| [0099](./0099-openvpn-dco-and-card-errors.md) | OpenVPN 2.7 uses ovpn-dco, and client errors stay on the card | Accepted | -| [0100](./0100-reset-connections-on-default-route.md) | Reset live connections when the default route reloads | Accepted | -| [0101](./0101-live-match-log-and-one-local-proxy-start.md) | Log the live MATCH and start every local proxy the same way | Accepted | -| [0102](./0102-live-match-is-the-ui.md) | The UI shows the live MATCH rule | Accepted | -| [0103](./0103-ubuntu-2204-packages.md) | Ubuntu 22.04 is built beside Ubuntu 24.04 | Accepted | -| [0104](./0104-tap-route-needs-gateway.md) | A TAP side tunnel needs the OpenVPN gateway | Accepted | -| [0105](./0105-egress-probe.md) | Probe side-tunnel egress and replace an on-link TAP route | Accepted | -| [0106](./0106-drop-legacy-ncp-ciphers.md) | Drop legacy cipher negotiation before starting OpenVPN | Accepted | -| [0107](./0107-distinct-desktop-cargo-artifacts.md) | Give desktop binary and library distinct Cargo artifact names | Accepted | -| [0108](./0108-windows-loopback-and-kubectl-bypass.md) | Exclude Windows loopback from TUN routes | Accepted | -| [0109](./0109-application-routes-in-list-management.md) | Route running applications from List Management | Accepted | -| [0110](./0110-environment-snapshot.md) | Log a host environment snapshot in every debug.log | Accepted | -| [0111](./0111-traffic-overhead-and-staged-reload.md) | Count user traffic once, reload from the staged copy, bound staging | Accepted | -| [0112](./0112-windows-tun-keeps-ipv6.md) | Windows TUN keeps IPv6 so strict-route does not block ::1 | Accepted | -| [0113](./0113-five-sections-with-tabs.md) | Five sections with tabs, and site routing on Home | Accepted | -| [0114](./0114-macos-helper-security-and-dns-recovery.md) | Authorize Unix helper peers and preserve macOS DNS recovery | Accepted | -| [0115](./0115-resolved-runtime-profile.md) | One resolved runtime profile owns profile-dependent resources | Accepted | -| [0116](./0116-windows-taskbar-speed.md) | Native Windows 11 taskbar rates from corrected session counters | Accepted | -| [0117](./0117-physical-interface-taskbar.md) | Complete physical adapter throughput in a compact tray-side widget | Accepted | -| [0118](./0118-ubuntu-panel-speed.md) | Physical adapter speeds beside the Ubuntu tray icon | Accepted | -| [0119](./0119-speed-display-settings.md) | Dedicated speed display settings and units | Accepted | -| [0120](./0120-release-network-on-quit.md) | Release the tunnel, DNS, and system proxy when BiFlow is not in use | Accepted | -| [0121](./0121-restore-dns-without-loopback.md) | Restore macOS DNS without writing the tunnel resolver back | Accepted | -| [0122](./0122-macos-menu-bar-speed.md) | Stacked fixed-width menu bar speeds with the icon hidden | Accepted | -| [0123](./0123-publish-macos-release.md) | Publish the macOS disk image when the version reaches main | Accepted | -| [0124](./0124-pr-validation-and-safe-archives.md) | Cross-platform PR validation and safe archive dependencies | Accepted | -| [0125](./0125-native-release-bootstrap.md) | Native release bootstrap on macOS and Windows | Accepted | -| [0126](./0126-macos-updater-platform.md) | Publish the Apple Silicon disk image as an updater platform | Accepted | -| [0127](./0127-macos-update-relaunch.md) | Relaunch the replaced macOS app after the old process exits | Superseded | -| [0128](./0128-macos-drag-install.md) | macOS disk image is a drag-to-Applications install | Accepted | -| [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Accepted | -| [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | +| ID | Title | Status | +| -------------------------------------------------------------- | --------------------------------------------------------------------- | ---------- | +| [0001](./0001-record-architecture-decisions.md) | Record architecture decisions | Accepted | +| [0002](./0002-single-source-version.md) | Single-source application version | Accepted | +| [0003](./0003-testing-strategy.md) | Unit and e2e testing strategy | Accepted | +| [0004](./0004-in-app-third-party-install.md) | In-app Hiddify and Mihomo install | Accepted | +| [0005](./0005-cloud-rule-fail-safe.md) | Fail-safe Iran rule updates | Superseded | +| [0006](./0006-linux-windows-packages.md) | Linux and Windows release packages | Accepted | +| [0007](./0007-done-gate-builds.md) | Build-and-test done gate | Accepted | +| [0008](./0008-tauri-async-runtime.md) | Explicit Tauri async runtime | Accepted | +| [0009](./0009-user-facing-readme.md) | User-facing README | Accepted | +| [0010](./0010-runtime-observability.md) | Runtime and network observability | Accepted | +| [0011](./0011-logo-derived-palette.md) | Logo-derived palette | Accepted | +| [0012](./0012-tag-releases-and-deny.md) | Atomic tag releases and deny policy | Accepted | +| [0013](./0013-session-debug-log.md) | Permanent structured debug log | Accepted | +| [0014](./0014-windows-ci-line-endings.md) | Windows CI line endings and fsync | Accepted | +| [0015](./0015-dev-helper-noexec-run.md) | Dev helper binaries off noexec /run | Accepted | +| [0016](./0016-mihomo-relative-rule-paths.md) | Mihomo relative rule-provider paths | Accepted | +| [0017](./0017-empty-custom-providers-ready.md) | Empty custom providers are ready | Accepted | +| [0018](./0018-hiddify-egress-before-tun.md) | Probe Hiddify egress before TUN | Accepted | +| [0019](./0019-clippy-cfg-tail-expressions.md) | Clippy cfg tail expressions | Accepted | +| [0020](./0020-native-linux-windows-ci.md) | Native Linux and Windows CI | Accepted | +| [0021](./0021-shared-build-contract.md) | Shared local/GitHub build contract | Accepted | +| [0022](./0022-biflow-owned-rules.md) | BiFlow-owned rule distribution | Accepted | +| [0023](./0023-basic-mode-persistence.md) | Basic mode UI persistence | Accepted | +| [0024](./0024-signed-github-release-updater.md) | Signed GitHub Release updater | Superseded | +| [0025](./0025-paused-lifecycle.md) | Paused lifecycle and Hiddify keep | Accepted | +| [0026](./0026-linux-webkit-blank-view.md) | Linux WebKit blank-view workaround | Accepted | +| [0027](./0027-windows-debug-log-clear.md) | Windows debug.log clear and tests | Accepted | +| [0028](./0028-embedded-windows-rules.md) | Embedded Iran rules for portable Windows | Accepted | +| [0029](./0029-packaged-helper-install.md) | Packaged privileged helper install | Accepted | +| [0030](./0030-no-background-console.md) | No background console or terminal | Accepted | +| [0031](./0031-local-github-actions-mirror.md) | Local GitHub Actions mirror | Accepted | +| [0032](./0032-fresh-hiddify-start.md) | Fresh Hiddify start | Accepted | +| [0033](./0033-windows-platform-backend.md) | Windows platform backend | Accepted | +| [0034](./0034-bidirectional-route-pins.md) | Bidirectional route pins | Accepted | +| [0035](./0035-windows-reveal-and-helper-install.md) | Windows debug.log reveal and helper install | Accepted | +| [0036](./0036-windows-helper-task-xml.md) | Windows helper scheduled task XML | Accepted | +| [0037](./0037-windows-mihomo-controller-reachability.md) | Windows Mihomo controller reachability | Accepted | +| [0038](./0038-windows-tun-readiness.md) | Windows TUN readiness and clash alignment | Accepted | +| [0039](./0039-complete-update-channels.md) | Complete update channels | Accepted | +| [0040](./0040-reliable-update-check.md) | Reliable update check | Superseded | +| [0041](./0041-reliable-cloud-rule-sync.md) | Reliable cloud rule sync | Accepted | +| [0042](./0042-responsive-bottom-nav.md) | Responsive bottom navigation | Accepted | +| [0043](./0043-persistent-traffic-totals.md) | Persistent traffic totals | Superseded | +| [0044](./0044-connect-installs-dependencies.md) | Connect installs required services | Accepted | +| [0045](./0045-square-connection-glow.md) | Square connection glow | Accepted | +| [0046](./0046-persist-window-size.md) | Persist window size | Accepted | +| [0047](./0047-three-viewport-layouts.md) | Three representative viewport layouts | Accepted | +| [0048](./0048-input-context-menu.md) | Input context menu | Accepted | +| [0049](./0049-state-aware-tray-menu.md) | State-aware tray menu | Accepted | +| [0050](./0050-connection-operation-lock.md) | Connection operation lock | Accepted | +| [0051](./0051-button-icons.md) | Icons on every button | Accepted | +| [0052](./0052-in-button-connection-progress.md) | In-button connection progress | Accepted | +| [0053](./0053-connect-button-glow.md) | Connect button availability glow | Accepted | +| [0054](./0054-curated-iranian-business-domains.md) | Curated Iranian business domains | Accepted | +| [0055](./0055-clear-hiddify-system-proxy.md) | Clear Hiddify system proxy on pause/stop | Accepted | +| [0056](./0056-live-mihomo-connections.md) | Live Mihomo connections in Diagnostics | Accepted | +| [0057](./0057-github-releases-in-app-update.md) | GitHub Releases in-app update | Accepted | +| [0058](./0058-direct-domain-nameserver-policy.md) | DIRECT domain nameserver policy | Accepted | +| [0059](./0059-user-selected-direct-dns.md) | User-selected DIRECT DNS resolvers | Accepted | +| [0060](./0060-fake-ip-default-direct-dns.md) | Fake-ip is the default DIRECT DNS | Accepted | +| [0061](./0061-direct-domains-always-skip-fake-ip.md) | DIRECT domains always skip fake-ip | Accepted | +| [0062](./0062-no-hiddify-system-proxy-while-running.md) | No Hiddify system proxy while running | Accepted | +| [0063](./0063-reject-quic-toward-vpn.md) | Reject QUIC toward the VPN | Accepted | +| [0064](./0064-windows-machine-wide-helper-staging.md) | Windows machine-wide helper staging | Accepted | +| [0065](./0065-linux-vpn-doh-and-egress-probe.md) | Linux VPN DoH and multi-path egress probe | Accepted | +| [0066](./0066-reachability-diagnostics.md) | Reachability section in Diagnostics | Accepted | +| [0067](./0067-owned-side-tunnel-invariants.md) | OwnedSideTunnel invariants | Accepted | +| [0068](./0068-client-registry-and-egress-kinds.md) | Client registry and egress kinds | Accepted | +| [0069](./0069-named-rule-lists.md) | Named rule lists | Accepted | +| [0070](./0070-fail-closed-rule-level.md) | Rule-level fail-closed | Accepted | +| [0071](./0071-exact-subdomain-pins.md) | Exact subdomain pins, longest match wins | Accepted | +| [0072](./0072-side-tunnel-profile-picker.md) | Native profile picker for side-tunnel files | Accepted | +| [0073](./0073-pending-mihomo-settings-apply.md) | Pending Mihomo apply after live settings | Accepted | +| [0074](./0074-happ-discovery-and-hidden-google.md) | Happ discovery and hidden Google hosts | Accepted | +| [0075](./0075-windscribe-openvpn-download.md) | Windscribe also offers the OpenVPN installer | Accepted | +| [0076](./0076-local-proxy-live-recovery.md) | Live recovery of local-proxy clients | Accepted | +| [0077](./0077-multi-client-primary-and-hiddify-requirement.md) | Multi-client primaries and Hiddify requirement | Accepted | +| [0078](./0078-fast-connect-and-egress-watchdog.md) | Fast Connect and primary-egress watchdog | Accepted | +| [0079](./0079-side-tunnel-helper-ipc-timeout.md) | Side-tunnel helper IPC timeout | Accepted | +| [0080](./0080-dev-profile-mihomo-isolation.md) | Dev-profile Mihomo isolation | Accepted | +| [0081](./0081-live-connections-survive-route-apply.md) | Live connections survive a route apply | Accepted | +| [0082](./0082-enabled-client-pins-keep-group.md) | Enabled-client pins keep the client group | Accepted | +| [0083](./0083-pin-apply-hot-reloads-mihomo.md) | Pin apply hot-reloads Mihomo | Accepted | +| [0084](./0084-curated-iranian-cdn-isp-cidrs.md) | Curated Iranian CDN/ISP CIDRs | Accepted | +| [0085](./0085-tehran-index-company-directory.md) | Tehran Index company directory harvest | Accepted | +| [0086](./0086-google-search-companion-pins.md) | Google Search companion pins | Accepted | +| [0087](./0087-windows-powershell-builder.md) | Native PowerShell Windows builder | Accepted | +| [0088](./0088-windows-helper-config-retry.md) | Retry locked Windows helper config writes | Accepted | +| [0089](./0089-windows-helper-unique-config.md) | Use a unique config for locked helper files | Accepted | +| [0090](./0090-skip-identical-locked-windows-payloads.md) | Skip identical locked Windows payloads | Accepted | +| [0091](./0091-faster-connect-and-visible-failures.md) | Faster Connect and visible failure reasons | Accepted | +| [0092](./0092-windscribe-openvpn-conflict-filters.md) | Windscribe OpenVPN must not take the system route | Accepted | +| [0093](./0093-windscribe-resolve-and-manual-connect.md) | Resolve Windscribe through Hiddify, then connect it by hand | Accepted | +| [0094](./0094-remember-side-tunnel-address.md) | Remember a side-tunnel address without editing the profile | Accepted | +| [0095](./0095-package-helper-lifecycle.md) | Preserve Helper identity across package upgrades | Accepted | +| [0096](./0096-client-removal-compensation.md) | Compensate client removal when route updates fail | Accepted | +| [0097](./0097-rules-publish-before-memory.md) | Publish rule documents before replacing in-memory state | Accepted | +| [0098](./0098-signed-exact-release-updates.md) | Require exact signed packages before pausing connectivity | Accepted | +| [0099](./0099-openvpn-dco-and-card-errors.md) | OpenVPN 2.7 uses ovpn-dco, and client errors stay on the card | Accepted | +| [0100](./0100-reset-connections-on-default-route.md) | Reset live connections when the default route reloads | Accepted | +| [0101](./0101-live-match-log-and-one-local-proxy-start.md) | Log the live MATCH and start every local proxy the same way | Accepted | +| [0102](./0102-live-match-is-the-ui.md) | The UI shows the live MATCH rule | Accepted | +| [0103](./0103-ubuntu-2204-packages.md) | Ubuntu 22.04 is built beside Ubuntu 24.04 | Accepted | +| [0104](./0104-tap-route-needs-gateway.md) | A TAP side tunnel needs the OpenVPN gateway | Accepted | +| [0105](./0105-egress-probe.md) | Probe side-tunnel egress and replace an on-link TAP route | Accepted | +| [0106](./0106-drop-legacy-ncp-ciphers.md) | Drop legacy cipher negotiation before starting OpenVPN | Accepted | +| [0107](./0107-distinct-desktop-cargo-artifacts.md) | Give desktop binary and library distinct Cargo artifact names | Accepted | +| [0108](./0108-windows-loopback-and-kubectl-bypass.md) | Exclude Windows loopback from TUN routes | Accepted | +| [0109](./0109-application-routes-in-list-management.md) | Route running applications from List Management | Accepted | +| [0110](./0110-environment-snapshot.md) | Log a host environment snapshot in every debug.log | Accepted | +| [0111](./0111-traffic-overhead-and-staged-reload.md) | Count user traffic once, reload from the staged copy, bound staging | Accepted | +| [0112](./0112-windows-tun-keeps-ipv6.md) | Windows TUN keeps IPv6 so strict-route does not block ::1 | Accepted | +| [0113](./0113-five-sections-with-tabs.md) | Five sections with tabs, and site routing on Home | Accepted | +| [0114](./0114-macos-helper-security-and-dns-recovery.md) | Authorize Unix helper peers and preserve macOS DNS recovery | Accepted | +| [0115](./0115-resolved-runtime-profile.md) | One resolved runtime profile owns profile-dependent resources | Accepted | +| [0116](./0116-windows-taskbar-speed.md) | Native Windows 11 taskbar rates from corrected session counters | Accepted | +| [0117](./0117-physical-interface-taskbar.md) | Complete physical adapter throughput in a compact tray-side widget | Accepted | +| [0118](./0118-ubuntu-panel-speed.md) | Physical adapter speeds beside the Ubuntu tray icon | Accepted | +| [0119](./0119-speed-display-settings.md) | Dedicated speed display settings and units | Accepted | +| [0120](./0120-release-network-on-quit.md) | Release the tunnel, DNS, and system proxy when BiFlow is not in use | Accepted | +| [0121](./0121-restore-dns-without-loopback.md) | Restore macOS DNS without writing the tunnel resolver back | Accepted | +| [0122](./0122-macos-menu-bar-speed.md) | Stacked fixed-width menu bar speeds with the icon hidden | Accepted | +| [0123](./0123-publish-macos-release.md) | Publish the macOS disk image when the version reaches main | Accepted | +| [0124](./0124-pr-validation-and-safe-archives.md) | Cross-platform PR validation and safe archive dependencies | Accepted | +| [0125](./0125-native-release-bootstrap.md) | Native release bootstrap on macOS and Windows | Accepted | +| [0126](./0126-macos-updater-platform.md) | Publish the Apple Silicon disk image as an updater platform | Accepted | +| [0127](./0127-macos-update-relaunch.md) | Relaunch the replaced macOS app after the old process exits | Superseded | +| [0128](./0128-macos-drag-install.md) | macOS disk image is a drag-to-Applications install | Accepted | +| [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Superseded | +| [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | +| [0131](./0131-verified-macos-install-and-relaunch.md) | Verify and replace the macOS bundle before scheduling a user relaunch | Accepted | diff --git a/docs/screenshots/desktop.png b/docs/screenshots/desktop.png index dfc1a2ea4eb54380e5f759944de557b4d67def89..1662f361e45833ee9a3f7c4cec1a6f29d8ef2adb 100644 GIT binary patch literal 92213 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 TAx(LC00000NkvXXu0mjfNul!I literal 108040 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

B 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%0DPo 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 diff --git a/docs/screenshots/diagnostics.png b/docs/screenshots/diagnostics.png index fb18cdb38a3fe33775767201a7c6b212744907bf..7686277e9d1fca5e586c0d0e4a7f30a1e3b69ed9 100644 GIT binary patch literal 90572 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 QcLe@qe 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%0A{JrDE_tart_G27R%p1 z0~PU0G;;VSJg?M6#PkwD&Qo@h&RP35u_Y1HvT!qv^~szhjB_bEool(2uXJzE>(46* zS6;#1VZ`7L-}BsG+KX?i?K192NTPoi+{7$%Ognxo{B;?R%XciDst|ITl?fod|My4_ z_Bd?u7gVqKfZ75SxRsDn*^e(x9NSRbfUJ<(Dn!++y(Ti!9`ba9CYxeX(~rq~-kSeC z8DjTO6pVSHAxtXdMq8%b{d(ov$oHxQNkf;}$6paqDvwE2G(|kZm)sF+9srH{^>Lpz zHo))J#Xh}^(oK50bC>0XrRckA-pAgt@%-m7&A$OgRs7LyA@ZBOPorkZIpSM*`1y;N z>eX{S3Zg?$tNNw(`1Jb%Q*3BpHcSTc1yFf>Zk>6EC>E!1cnV!@T^fa*%cx||XJ6tv z{V!GN1t-(ouiM6)lfOOA9Wy;5ZqScqvgEoAJy4FxjgO@!Ytsaq%+TL=h=jjqR_)uRrh9BuvXY_xL8+D0&$Jv3q089?jw0jIP{Edi zwm44}>WxDOrhBJZ+Wc2tJ$qTgZ-VbVw;`41qViLtIU> z0)aqXh#%+Q`+zHnnJWyMw@|Djsm{Fh%Hp1^WA`Ck!)}xP(vaeo2gE8P>Z{(6X{yxo z`2ErKa_+*Idm%F;NJeVIGGn+kK|;XCHHlO{jcGcBRGPL;lSX|PaiAQ)i1$A`%6LOa`$5Ye#iU&dtaHLC2Sd&9*91N&Gm zPoMcD2Mf=hgh0Rd-G|;>GRLY zKw1xbA}ocovk;L^7$YZy;-%F@G;O+}55XmV6R0QU->l{Ccvpo(T^x(bSf0DKb7QkxeDZX2q9N(iE!9Sn-#mvSvOvHO3Iyv`xo%!;>mqL&dSl62!EpS4@!KO6vWIaCqwB8R&Qq=@D|kC+Nf(9P9cy~=o9Jos_6i+hF!H|# z^6b8$xGbW!A5TM@8Nl-fGDw|eA0qO(n?r5UBV%kIFVq~~xf5A|?H?Z?rTeA;px1e!cKWh#kOvQgZ z4N`8`l4@mZ@fUPSrc8D5?!5q$yN`rUe(SsC+cCOpXNtHSW?kR&&R|*{u&DU4xJmi` z*y!SO{UpQDxU@Qrxv9r6YWkew^AQdX2{EXQ65|qZF*bNo&i!03o;LQ~dfZ$cpPbe3 zM;pa7cJ`W(mAmp<`}?dbg+s^Oa%Ot3MGE58tZUoOmjM}EtrJX0QBqaGYrUEp+@8Hc z$I1syqS{($1}G!E0%=A{uj^631-$BJj@ zrV6&X$a@`!tSj(Dt3Kec@@)Hn#{v+h$C@zpNnJxn#a+L)m^tLiMwOno9Nxbl8SMjf z^@r1QKf_`P+g}k34p+urXloCBi(+N$ePJ6)<`{LZjFD65#Psb2ipnoO-y+%uI9XW4 zph1`NRd2Sf&gg4!za0(Q+jQsB+MoZ#9nTq`ssv@(X2`9Gg=c$BB1Kkf{$X$0UgjCq z1>_Zotwst*+a=!7s2~q0d&~F(!*cVK@v{2(vXW&Y+g!b;)Lw}=CNt&+)s~C7y1ERt z+RJERwMRe0Qd_Om8;7#S6hG%(#ydCKlESkX*Hti=9e8`{*2KRBmoLQB%Ko zL0<#5o}zb_pi!^5Q!=IrYYPU2Smq}xP^9rO<2-Adf_{Ew;5^_A%5^kKet?Dde5hxY zgv&a%C~52+G^f6?8Z~=92`fsQILA(E@CAUIw{b8C>2ah_pMl`hn?Jz z+dWCO8EOmeEI?fQP*5@l!#NPg;9qI_ggc|?+INnRgp#m5k+a@HEyQZ#K_iO_+pJ&? zrybeRLB6Py@u#I~p`~ZxMq=XrIx&#TC*+`d$ zkGVA!msvuEEEMoDa1D(CCuwchqu?_|ib-3*R`}lDwJQ$^6qCSVQTMeqTT~FXx!lx+ zV_Mq9e>E1f9%{MRWS2o746OP>()E^=6~aAkODopgqby^LV&KL7ePY z>~yXUTngRMvmZ$IbFFAUIjPl=e<;Zlgh==8jFH9ssnzK?9)qU#%>FcrQN^{|!Q1_& zRo`~JOHw$gi{s1&AGsBmnbohaw{jeNEN_Isp{RC0sMQ3q(9FX(KrAjLLv#z7auqvf z`NE9%zt}&jc_nLkr}@B+2psSO{)V+@Si$Kzup)9fe((>7CTxrK2y!wH4AEN5EJydtvUR`!@F3<)l~bmC*FVK{liH zwN*7MQ5>Oi=$`ONDC#bd_2Ce+mWeokjOw>O2IbIlRi_c zb4!Zq_rna!6%J2#*)ka06!vC5m2Hy?ARsIuN|A5}ZW**x2!mU+oP=@G@%Q#S#j(c( zt4oJr?RxYZ_`R+^98$k5_Fq`UBE;9HG$&`c5PFK2(t>DcC!T=Z z{lx$kG}~XWIlQyF(fDLp$@-mdw#K~ROU}H?@2}$q0+DZb4&wFZV_^ zJ^R_nCKDcfG%M8IUWfT`rn@3{GBH5uI9P^SoY4`amgwAOO@jNcObeP;JB`f`lY%=+ z-ATiR`W^A!ijbhg0PGf-8aFX5cc`qH+{3YSQtFm=K-^AaurO`5N51HR`LFl&45pEL z!Y7^W)X0x#`!p0E#14M`B=(>uap`jOWr;xU;I79@QA);su&8EUwh%+u)`73M0o!h1 zVgneA&0x$F_xQl|UGT_iS#rQ=-xTph7W;~n5k9k9^4C@zkBD7E#MWWD|MSsxA8LR`1$N_3718Q!{NX2 z8j}opBF{3HZWO-efMQ>%-+rAfEQ?+-q@Mw{zc7tw{H)@rBPCgjUP;g(rNB^V+AO@0{lAfGOPMa(6StXM}^Xa$8Dt7(?e_> znY-B7->q_s?a&vU=6k+JN~+J# zx0{?4I@uu%Vdon92as0H&jLtO<)}(C@WzgHpbyvFU9q41V?+-miu8%ER%Hc_KnbTCb)oe{F5)_2{vdsjZlNEuX+BDt%+`G*gkio%F7F zLHhV+T1aCww&Q4hqqRaNqp9e{K7PK{e;5bE0SfUwkC$@5c1P9NsZ#LuNNW68ja@_( ztE4i-kJJwm?Z`UaF_&y~pGRZ;6%rrPbE@->jsgqLqVq5^bc`w9K_sy%~NYg(#htFHdlR=R~)bE5p7e8;~@sFc+ z>D6I;iUHSKnd7QUTucULX7AV)*Z=dpm^ZGRPfpRC!VUlPv0jO2e!EIND5U*lIdoZWBmSX{P)NB0e7m<7{8a(^MgqVf$QGh zkrT0ts@gR9-?%0$s{+<|RcS?af=>&|v*zl@3WbDY*spKtCwQf>wO}qKy>XZCyS~Nn zdd7-0ht5?m%~NkwIB+^)hZJ$f^Y#x6)YDqF+ap6luN)MyR6*N`ITkU@teAGvEbB}EKz!@VHTgt6&FkGSNA0>i z#BVY6-O@Cs4za9yBFWS0Pq#9WK2iHLlu5gLwA`fj02c~Vct2yI%Kq+zzv)3{9o*t0HH(x)rD2D6)LybaOSH>UgeHRRm=A>o4dY^2x5fe}{rvchSP#(|4773W^ za(`*5L{gGNKrY^4z8PHWSqR%ds3a_=66T9r_wlneUlrsQsEeQQIP9(qFe;$t;_0s( za19ft$3THYJZFsAUN3(KYrlAOm)qEGElDVby#3v}b>MP2Z|;}<5$%q=nD*lf)_U@# zMMVo$);9Jk`@*j_wAmDbC`pZru$={d_bk8V@7c&GREq~k-k+Rx&E)bY{6dzE3Ojdl z<^8S)>k#j$=j2+*xAJ=w8#a=zqD^*+P1z?Ig3pq*%xNIEX4C(V1;~Hb9OcaSXs7kT zj8)f_1+Ss&kLQW3tD8BG!aRL|eJPvo=^9M?6x~3P(*=Rr?VNXunJgp;K)fmR;Nuk( z)T_I9Gkcsym5L?veykQ5H(l|w*KES$JB-+&fH7;+VSbkE-{!uI=eK?U315<8G&mZv%Eq zG7>_uQcfovP(xDiwe9*RPh)*z&)PlCc;yoaD{Wu(I1Wih*HbDCE`sOQ`KMe)+{fg> z>vS3m&KgAgkH`i`&FbasFY57llNP7)Pl00CQe%vytAfYO;*=s-K09JaUh8G9stWuq z8}9DC?ay45ncLe3uJZ@mQ+5kqbk;mx(sZjyqI?)fb;r;r^sSHQ`1>L=^<3X;tR8!r z>Qujw#m`hj=AqGn&o~1ReFBFH*&dk~x1a|@H(hn4j$_07`=Kbp+xaPh;d|2Wkl(a` zr9C!sJVn%A>%_;T*8XL=fAJ0@1+b#=tzTIHq{ z34zhxQ^qP8VvvSNzk?_`zMrLG76JY>UtW8)%*|ntZg-cowsvZlFezQVl-5>W7}GSF ziNuJl{R*WxbW5ht&emIErkulVxISI05usFLez7W^?zJZI2j0CBul5&|RN8nYxra8xwAC@r`>3=$$x!($OCr?03;M2tYD2W%}*{g39iIbYIHa+B%Q|um53ZC?6mb z92>hh2#GaIDV}b3E;Ld>`Tvdb=Lni&48qC$YZ(}B-#(UIiSZurP3e`Iifq=_v!eJf z8AAn39#@smhQ`enUzOQOND`k|-1eQk&V&~5AO}PhKW5)H+Cx1T52kyHf z(Z$A!3*I9i_YC>=;`?KV*eqptn>fk)d{QA@Sp5Pv;+&~Sl)0>rQ~{ngeC00Rd~Iq_ zqOaPZ>BmrilhbaR@TgSTHs6k=;;q~13cr80GMQYGAV>Ty;V|Hk}=4<-Tbne zX=9SD;HxIQK8je_!%1eg61B_aX}1j1@7^VYyx8}$G^z?&4$H!;G9~&AH#!D{^AQwQNn23&iA(yd@US=fTw&20!pxM zFdrnw_4NFqDGdWuVJ>>{wtw3Z>e)a$ebI4v{;$B^29;J3Dc{^ zuUaLp0Y8oDK(c!mahJGi)T2^EroVn+&I{lMe*bqB$Vq!VUim{GIl1-a+%9#I>@`E_%5?n#;}&P8GZNxmeox8L(kixPS?bu+R@q5(O6m8E-C(MO|1yQtJYLZ zsCS^x&}wY;B2d10es9>L#`CMM)&q^KWg2dJm$AWVRzyfr)$u(DGzprVTw7a%3Yj8v zs(t`{=i1BO2j>OzeZL!CuKk0DW3~rz zS{JFr-f=T(fRhZdIuV&IC49{6+&ub-4HI@T;dt5j%_9At0}Ye-XX!JXP*hW93pX>NUptQFS0cxO@mX;nfxpG;}GgeE3&O`uUz~TL+4WCiJ zusLzhu^V~IzslI|p8qvCWK^2e`s5>!AQ*j5RiqqB^L zCq<&d(}dGuxab}QmplzHwa!bL1AK15n_s_}Dp9sEEATpPfis6S9g$CBD(QJ$c3H|R zR{locHVO?XE2MBxMx-L8ZpOb`e=T9dK-0Wm9d4isdD9I)Aojbi-F~&EFLIk#lfOQt z(1_A3b8GV{s>u8_@UMCdtA42#=Qyn6(!fye7r%xb!93{oKkl7DWoPj^Thl^){~h0g z2qn3PDu_cqiLfXdYIOmGs%d;Nw9>d%8%icr5@hy~-eVi%d4g+QeU?sfCRH`{+Rl@mZ%{SNcZ z%6)$710yeytPm%pA-42NN1Kal=s~t*2hC-p;cOUE1g@U>au7jlCd?f)3LKt^=(&e- zCq3Zns_YFYj)>#|n5}C2?w^FDe@xaSG%?T|DvNEkgf*}9PYGNjK3pHC{!mnL0C~2n zPZK~ZV};6eDNNZYw}kJ`rT}!-dZk?Q1O-$m*YC+?>2cFLSNv-6&?9gR@+z-Kd&i24DG8{KmYP(|M`_z7O-i>S2 za()OJPuJdmAo#Xz57>CBLy+A9^z*&dx%4-z>`(W4ntATCI5>&0rKP_fmwU5Z8kNx~ zVBD-yAO|1}bJ?ztA3wXSVo+X=8Fvv$P49+s`ucbHa&hC(Ff43i&+0b26 zRs8@``F1#~iUSk3LNirWb2K+-EknfY2fk^!!wE}M%gZ>V3}$q6e7NJ$D+#x`vR}f$ zWFS7dq6<3B?=GJ1Dse)7tDx`9^!|$gPGHA>d2pol1W9UK+sbSTQfyb06WR`(*9t8I zF-`CCHA1KAzL z-D|})Q0K&NS<|zzdG`NB4P_JhH_4x( zw)i(P*`a6k7*+WIoMR8=Xe~(6+;?e{X|ZW*h|=$I$|(dF$8C1f-XjcNVwH4b4_RnN zol0%g9$Lt)et@tC9n^EIpA=9P=W-}DI2u23=-~i^7h*3!lKzb@4Xh~0ZteV}xpa>| zEEv~{lS`XWZj|@K?S|f(&l_p*!p=?eq5l>CEwz%sPEdlDvKqF3qZ0$8S*_;A+n)M;fcC znyokuM4WhLPjEjUYyGGBhAXLpZT?_uQCE@8iW_yEyGqnQjOFaK5{hO*nv0;rv`m|Z zz4Un~I1cb0Da9-(Vq&_&96Dq-&E&@>^?q{{McFS^_>?&wyw_|rkAIfuJB-W@w2nk^ z9F?4%VA`?{WXha}E9j!nP#O5>6r<3Npls;*JbtulLB8QQoAaKKTuyx-atwI36+gHw zSgm;h6DQTUuFkAJRP>uMUCEdlfKP;p%8npnF$Lg-OM3^+p?Im)E<#Tv8}w-B=UzjV z@$b)#mhkcD_Cq$2w-@sYErJPn?ty~ABfwQo3*WZW8x05=tW~hLL z%r3%#ZpNPu+zNnYzz7|1R`0JPg^o3?Xjd9iB;x0tk=M~R$aaq(64uUq%T=jV_5n-iG|K(4&gI7M;IMTHY}Pyx@5&GFU( zx|mQh%$h8mmvXq4HhJApb-~JdV%Ip(gF6Y4KWB9P1SPbGNA~bP)CbqsSfaYYd<~|B z4ftRYWN=c!W##hlbamx;HFv0-IlNyGtsk$IbQ16D6trFQIpk*c_6A+YPQ|CkHo(Fu zyX{$pv|Kw`H>XqJT^S^yZNTIhez!r|^+W|y@Z4t|IZFRH1sT-)FH{v?Wj8Rjqk6oL zChd3nn+Iac%T4R$4yu+2P|J}*|3fhJ@*}^nA3y|{*U^skHTs9oUk2)brZCG#i1`y` zcF3QUy*^d>$5b58pR_Fih#1g~YHoYv@oTiq_(kamhyjtYMh;dWIcA9BV-Ti|SecWq z9i?x;sXPQ^5fEJ2vqB6c!Zj>5t2Zn%_DMI26BCntwLO>;jx58=aBw&MY-4CM_D;37D1MzP-{Rg(2%qQ2@>W=Cl#jfWJ zoD4Ak*8~CB&6yc+u;HfRZXeG|TQx|sO6}tI8>x4nUPl_KHoDI0p}nD&9^GG!GAJ#c z)>Agm?7+g26B>ywcg!J+9Q)Zr5MnM51{HtxRS z9*&=sg)-yTvu;_6tpC|3CR6}rvQa@QfYKgxxYRV+O^nyW%hZwXEt3C8rqBN?XC~5qra}d#JHgz`7pvem{cV zpUt=T3?EI|2kXiNRsOYg89D^&5X>akuUhOmbg3phb2ye~? zV(~0#9JwsHI)@c-R+!m+seLl%xs}UH!2-@$vl`9yM26f=ZP)brpkFj5iuB^NVPNd4 zW7wc%u#Fv0?VI$ryH}jZFMW?WI+UGH2}Z|IGg}|ah3Z^~*+9w!X)>NEU9885`H;CX zUIdLCA}qypl)bjInlA84-5ub7ZmipWwaJEDJ)|5Lf&mlyE%`Q{+LebL0Ij~{k2@U0 z-~|EW>ERV9{A?)ncn6?NuE$0wt+ZW40m9TG7|TZB_OqUyHKu3d{m6eH%l^!#QkEki z$N0tBzYAt*+y61=1-{hgRbS$vDk=aa|EORl%8WGl4$!#EK|0y!vb;%fuI(*U<8+TZ zv-t<5oZjygh!YSu$=UP6rgNj2FmS#0P>mj8Y7ST4N=*3;u(8!@|;_MYd=1dDvh{jF4a71eOX`U3rS|KFWLSn?79q)fI6Hg$ zwfNaW=mGJhsY}u)G%`m{eCYi=@9exgeD8H@qfFRF=XA6QUez6W_=i&!B0kc!X6q2s zvfED(Y_ln#5f%44R=_%8>fs@Z27o=W$>6EavlzMIE$@9ue z{ufJc(r#~VVeNc)=rB^eW;!iBoLOd4TaoOTOsH(Jo13n6&<-evFlbLxsZq0r*Ym-~ zK6DuW3kq=}-c)tK&HR@5oVW!tVf0w|(Cz-e6tI8Lr8lz+&{^^MO*zG!PG_U%TOCe> znFLL0ykTw{CK>@n1y=;AXtQ~z>p;%aO!Y3<>5Ew%`TLF`ylaZZ2INbXeC_*v14e6y zAdM{ojL_i;vlgs&epZ6GetSPMwskB~_2P#D9-i9YXTotdaY-3E~g#eT)L0@g1ZSSHkHL46+&zGc?^?+L-8I%+ND5&Plc7|q_C%ctytEoGVYO`7WS@*GkQt^q6*Icxr{ zNG9OIbNw~q<-jAc0bOnu^#t}mV>cWl#nf5W*ETO{saRg@#j<9 zeG#<_wy_PYT4J@UXxt55ZYnWX((K;y^sV<+S#u30ZSS!0cKk98?$cHN&fnF&RO#8k z?d*<)pB@0G8_D{+`K)`b{|KbE#j7nY98^?d7D(B8^J>4&{z>O_bs1hBp8r8e^h_X- zQA$dR`$C(tm#QN>+ZDPov=H(2hdN{g$90!O5;r3AhL?qZ*314K``+Qp7XWYUqU-b@ z6O)YqZqsJH(w&q9(qQQYT#E+~xY>Njv86E&wWC*2!2}afj>hlK8(Gulg|Rg?BK-WN zUNz18cY%DQG-0ncR}+AE?17RV)7WvXnz(r!{@tzMO{2}V8r-)pDt2p(|3m5`@8?Z! z7`vQ*5lH;2k08d));559)XYq;1b|!*Tzi+&?&om_N9$j^{XpEYWWeasGm)3-NrFH) zgFC;V0FIH~8ctm)Jek7m-s`I$rUW?+oqjJ=OcteObK#9=#f6>jzc>D*SoYE-5%(yris* zkG~SAYM1d6J9$fECYAHA;gc|$;TF8KlvGgCXPdBk-PmBJt!2*0LRZ(s!~$D-Ksq_E zN%XgAARfWKH*CvLAl!+8#j#$YT^qQasfEK_Bp-d~Y~j9_GT)a{`+!rYc$!>rUc2Cr z33E<+q0nm==*P0RLVVU`g`|pt+ALrw9tX}lz!hRQLlBk&*|#sNsd>lghJ2!W{m;uUc>PPs%EIhU z@O1-Q_PK~5TE`)R+G5%Ea=acKChG${N6gEsmxnsUxIU!e=>_@*hV@qQba!MCpC_7K zM@7XDw+@8ipO@4Luw@~J`Vc!)2ZBDA)n>Gn77Dd%nb~u*4YOYAb z?eV&WwmWk0cq)Jb4_^mP3Gu}a>k|CDyt$(1O_j?P3g)(317ATT8ax1sHSYaFWjMzc z%^o8u3nxvva<87J)L>zj{*_=>3Vb;LC%Qt-K| zjhGZ{816gYzz2gHTgOc&{NybLH(kF#pMEWdhf@|_)RNd7TI4es9_ zF+G?*#BlG>u8|SQ&?va#^zh9W*mHmj^`T@*M<`^->l_Tkhtvr&ifd zlo4n0-xc#%UZv}QWq$uNb*|ggXY9KxnDozjVfrP%DQN{|($}A^R6@x>ov1X?yBi*S zgwb2T4qQhDiB{Y6l^+8wCfe8^iRKI2-<1yw(EWxjiDDix`84n0vl>Y3>AS%%?tGQ% zLklpo)ZL8?P8|7d5||vGZ*je3tJgrBEvII4BJK{MNja_CsIj$NLGSkx^(JopgyBdGR?7M<<=WltQxU&`&B?p#? z$mt6NcF^S9nAB@DSNW?aDNvm-$uTM>j-%(jtV;DE5TNH`ObRvn`UZ`!EwscI!1Chx z;zFx!Vi3Lqr|&YiB(Lx_+|*z!FPM1ho8j=bIPk~vF=_VSj_p>TUI2L?8ol!OV!wiJ`z>-TxZNyGT?Oezbx+NNGe0_m*;l9H;H_$Yp`XD zxCn&RoXs*%2eoLm2V%_BLkW`PbRU463$Od`djRXw;TE(`s;Q zJ8n7KR>&@JY`>?`fS7+J4|ioJbtDfG=MH2wCRTb)zOk$ppyDDHWrdR^UwE);sL8xN z4YxC1w(tHP1B50;0%Kk~%9M}x8}P<(L($nINcc9oc;NBmK1_JdYKSUTrM|S)!bn0_ zc{xON>6UhwsZ3u^k>~u~%B+$ek+ggHc5E#;f7|rjbS2Rwu4A_5*2Wi+YvL)RKw=*E zp)CQ)PoB- zuAG#JFz?3s=Ut&gf>v~*v;FMStKJp!?_P=wnE&I&-}M#}rB_AkeD`^j`~}2Wn8h(l z0P_$hLsL*Vu}Ng8j;v0Wyz~1n;@j84N-0y1457%o-o#rR7pPdS0)r|e#K~CkwZ_PB zk9zxJzsEqQuVg-bqnq)I?m@GK-C+@3=Qq|9S?1d7HBjAvvy$Z}b~fW7qWZZEheF|t zf)aD^xMnw~750HQeF>&qWExp7>Q?MTo9&iof|ke!I&dWW?aVGq9>HT4W)AOrR!Z9! zJyV3cL*9$B$=)7d70OsG+XD7KjOQB~t?J=UDP~-og+u;OLxs|m4TpHB+wHs8UeaHs z+ST5g_6qt^YJ!NJIgNOkOD%f!W9im}((EP8$G^9{lqwqnOu1&J)yhc*1_iy}SIhhl zyfq{EZ1$zbUe_DQt*CL_;gqRCYQ;BQhiwT$!<2_aa@;|i_&Dy}+f+Y(-#$Nme|*6g zMBR+onSj6^VT^-U?oGJSyE(XUJ}Ua2aHT}qk`qLO%oxht{jYumn3GQ9n15~t?jL|& zg6W(Ul%gtFb4@UQu2pq~$-`12DHZF^DY7-@2&cBOli86r`i+7|=>^^9GMGgmw4{^s zf133eBfjD5?I_t+U=UwY*byleX?Uk6?PhBjdLp3k7y+$DT%1kPIH_4zlX)kofw=9X zB|m$>?BtR;upAtD7cVJ$eh*|IB~5g4gg zJ%LraFFsw?7yyadciR75x8kB+RMGg%56C^>I#;ITdiYlUjG@dsLr?dquXB)-hUDST zHv&W@-#8Na`qb=}< zz5JZ`w2ksr-IzJ`g^b=*&xLVfagH(icG@jX^I~TDA*wG%xw#I^X~~+kj^F8_lO}|q z+jg556(N~#hsDF=zLrLfe40HN3qyz6)M|?nx?K8Wzt8mg8EF($>h3?ytY9UdN>2#_ zSpuo3w!WSB?fQwyJ2xvK^1sze@;P+9>>`<`tD;8lA8^)ypB1s-pGflgl}eK<9WLqB zm}wZ?eNw|NG~ke^;x{ChaF6++ru>Vbr>>=IqS1qPKHe)83F)!2Ubgd~if(?J!3KLl zw^qyM{tvhBU!WSh1xy#Fe>(Slc*R$w%YO$V;%r19p%a&Ht52i_BPuGIpE7F7TQHLi z9S>9yVaWsiFF60$q}#KmiPs=4aH4!B+YMV8}X#pMREC&)9+X`*3sfC?kJezT_6RjOWVU#FHEuNOBz7%Xm3?szZgw zu#lxvOy{?8P)-cd)eu_dyH-&dm!l*(ep?k1m2>DcNqQXq-oC9vMLZ~OzV9N{8%toT zx%g-H9^rQm+9RMW&?6^#Ntg~S-_X;5+fx*eiU3v0rsuO~?S9v79Dd9!sjkmpPxCro z*!ysRwY_;675b)jm?bT`Cl^!yGi@N9JYlRl>a2bI&T)#SC%aNub^vFlPbbuh{zvOu z-L&mseFrXv@{7 zHa~=Pw*&PC=xvM>z8xIZD^H=A~h4=J4Pe^fu;)00|)MR_Cp)yWSH1Dxx-sX~Oj>`uYS zrCV>|{d~LdhTk=PEm%qD1`Drlgl*Xqg#Be_i(Xet&Vj&j_vrU+QSFQIc;`FoP2+K= zhXXBl3gVCcqpD&%f0L#s$HTwBJ)Dsj=BXZhg@k4<+5v?99_b{<0|DAf{hzgA9NwEa z`^M&GqwUK(nn+z)Eo}90n{;nEH`@75rF`|{!V(%komS#4e%U(?9l|084dmJkS$uIg z=EgmsZ+`&#wg3#aRQW#r^#&ZoNc5f96d3|B9EJbtbaU^xk%;Wf8M?I zGGBO^@_AzFtr=pwFtP@vE_yi`Z;PTu9}d+%np%r8Rk2TYsZsIEXQ?y*zF@9l1}mmu z%NpBd2^%_QQP%F&RkHqn*!!xexPoX);toLq!3j>V1PLw)?!mR`B)D4|mk^TRZoz{? zBOTl!3GPng1eeAg8k(ujoA=httTppBpO2rrR&(p#x>cvD&e=zH)p?3p^dXgut;=eF ziAu7PqmUbjs=0<0;T)DwU?S}wd--q51J$%^AZ6{1OvPURxlqULmb`XoV}SS@CpGvA z4jZiy5!|1UdJvYfQSGH_6AHH)oN@es@YOgR|9n^{E&m+J%KF289Ey;$?!8D6(6vx>hj85h8+rBgZr*nIHQ=n zx!JqPS^Xrpfs8d^Pf3M3KX#NVD7L{;QSB9E&Gj_yp<0M_R1%wi*+X&hhC^PiRmDw4 z#AGadcu26fdQ0(VCPRs6rh=9D!n;Q2LS5cF6ZDH=^R|5Xx)~<){2;pLI`;fy>7mIE zA+EAz;jMyYo60Id9^586cd#|i`2({U9zT7M%O7;7IpKc03QuYOmoMSfyuG62>g16V zK7(BF*o?H$EyYEBW!e?_^m`8HG7V3-kA&R z+8v=}B${UXRAJH9lWg#Ktq>aevUMrVDhnB!>7M(5Bo`40p)3EsbQ-QP(SltGbEa}DeZMs#F+^aud6wYG|dX{VQ6Mn{jdJ!MTHxz*V3Nf*+P z{G3m(VW~{_?99y)2&GC!AmswJnqkC)a?;t16d?~~Eg7?FA2EC=q^{#~_sndMbQA1b z?>1?PI3}h40JdHutchsWhr{3Ta74Xu8*6=KVpqLZqgy6P|5vy`<%I?GzZhDkG;a#cf5o8@keaXtMkY zbDxiGoYhZ+;bmJUX)Hrirn816Q-lz>@+;L4n2B~`TZytv{(%_r_f6 zH&6j>Z76Bjs(iSVe48MV!TjaM_BrJ(Om6?Q9Cv0?@(ZJ!Z^S{ncX0;31HEZWijpj` z>}H975^kXlFz?zqD9z}T&Df_+Uu*&c&xwP)C=oZNw@fW12A-X2P)ToyCZuTAzd@iq z^+&kCzM1wqL43cr=GKPtn99%HmXsXAuyabRnnET9mb8eK9ko=jkb%Ps;rBE9)6W*) z@eonb^Dk~!j;vZ0>&v$~KvXxm2^=!0df!_Jx8|*sMUp-P(VXj0B0hLt%7FaCljA_K zQeaYh>bJ~r{Kkk`wxoSP9Pm#(LqX6B?2+A6GRH!`us}ry6|nE}0DNp*Stoog`Jsvi zLSP}7N+whv5e&4>l%Ii*C-33?Cl>G}`It^EMYxGMCiATg29Djc#z!dG5lR}lqboJi zV~VPdE@#1f7NfTKHpnDDE@>wU`j6IH?;R6f5&*kD#}DV;RN$%EHZQunVF8($6J2df z7{M>}+(qk~K55x@<$9kyy4BI`WqMg*K<2~1-qM!Zx_3&+e?O)#9&(o2J}7uf2>ZB~ zu*IT zpvg!r1R3UO;e#-`l=tc`^HsKiSz5SX)i;2@56ahD-(1UyYn` zhbj6}41!K}?lX()ahtvSFlrP|s5|)xk*iiVLfKeItx~I@Sn%g@NXSTla7eJ46J&!^ zD!4ESV?5GJ9hg_JvJ^NB?xZ`pqvTK-O3Rq&x%u~FsKwZjYg=Trsip0hgk*kyz%+P+ z95z7LY;Kjwa7Ia&JKi`=$hbJEdu>ya(kz-H2Hx(>TgL{*^`O2GhBhgLt+coiOBGps zH?_=Ksb<)#(J_**R-6I-g(a0b2j2l(&0~C;{QFmev@>7&JqtKcD?_%fEuIUHTnxjl zJwk4{FacD|G@t2mDP!Pu6G~KSrIbUma4gZo)XJGINy|X8iOk7Dk!@Bq!oCiLdYhJ# zxwX7f?B$?sb_q<&^mcq4oM+fD+!4KzCwH3FTNxJu=VUsHsdfaU;L&EpEMe}%`Cy#i zzgG`et%WfC=Gra`2^sytU*nPP<=mljE2!+D;pc!{Qzbp7=yx-dG0ww*))JIJ+zb*Y z0oiZN_iIs>Zr2_$ZSd4BcW{^-5xwFyZE!Z}z2=Z%Ml98<4%1=0yvT?V>6X1GB`wcY zz|H`Sqtp_(Oct(`^#gw^u4Cf-1O$q43PD&`cl^(62oMKRyM6A7kP1>mv^!*A!Hg+6 zZcsPp?V_f7>N5;n{w=&SCI|p04oE*QF6ND=Gop9PlRhnSacKpGC0S1{O17N4G&08K zmCmL*WDP9d#rdQI;xORrw?;UXr*8 zeh{272Kh*eh>tXdTUZ*4ytm+M&SPoUX&l$3oBGw`mD6E(7@d+FWF1!q_SzO19Gr0) zAQ9RH>T4CnOg&5d1qCntQBF=HxgFKc9JDg{O&aVl_57Bi_U}rbxMNA#2vwyQKNyuc zbvH`n8!C8VOg3Rjt!iuqznw*dSd`L&%>7gm?Pe5%*nYbj-1*n<270cidh#fkw%)3a z)8oQ#2VyJpa&gBK^i0{xycHT1w#0W(?ELw^(%m#tTV^bQX(P3yVogp~ma+{LL8VMn za)urnT{PwT$y1FRy<-%70<~v-V=Cqp?qH*RObx=WYidQmmq|ZU-eBRB@GpY*W)xJg zXe!K@SRhlMTF1XUcBny(ZUTi}Z}@LOHH&RQa)88lVo#As318hED&9mIF?s3Qdqi~=9V2<9eqxAb$B9&>W7 zevU#xjX7dxD^#R%s`a%+ zN{)#aV~5^EvA5Yonf;AFdx_C7Ks@wDjhH4s@+#*>e&*pm5(GyYFn{m4J!om$r5%l@$_|^7X0k4;Ym~;HLe8J_(f;`E6>53> zu=jT%A)9=1qYl3M59}JWjRfK93QAw_>ogW0;`PqtP%XOgS{7F3<^bu4&;C%XuV>{! zv}LX&xCM(7qVvKt-Z$~)w@6-~v+PrJ92Af^`I#amEX0RV5l z5nj!bV&Z?u0MAES>RRp@&^gT%^LWXF)3N-wpnHha{J*|c3F3ji=^&eHY0akAa5R)gE$1oWIq{P*ZEt-wWzZ+ zd!=g>vIG81PmXr)`DlCjj+}aZ+5CnYDL=d2qO8xXd`^-eri1L~;))N-rV5caxNT8f z>ZHsUUosRmQCaz@Vos75i`3z;NZtn4j`UbI?naQ3skj`xxP`h{XQSf1(>ux;myTlF zEW<dtcs)q~zrO7H&e^IK z&U~X6MowYAQrm1(q`RSN@>fM#pXUx|>x6q5yHXi$i$Cz|$qH}*W5W{OwN$DIGk7jP zT}x0$^}5VhuLss^vCYugS>5|(e5QtjmX$!Yiih?rRT>{Pd{$W*232o!CDwAJIN=@A zmas7ei5m+FnK+#nDvdcfujNi|$-jn}xhxgu^m@Zvi)4%;mSNkx{?T&hXHqNf(?GAq zdlckgCn)2aTp%Cp7Ztmhu2&B4NwZ=^*)N&Kcy61a}g-1&Mvc7lN4=n_9f(~ zW0})@fd5;rDAmf?xWuwdXE1n;jn1qm2nFoSJSOZiF)+s2CAg-t@0|#m`bevZ{@Xb-6jsSA5w(oy5u!1rjU8B*kNNk%wJi7vy;DM=BDh5 z-%X|0(doRui&FTH-gTDbg*82q6E5p8*hu3>QpSVj*IQu)-^*?JopdyzwT&iWPy_o+ zV3%tW-&+EzYdCMOu-RL@v$(G>}mlofiZC{K%R5@SALZ!y}2qnz&A4{Y-HV@Adv8to?2>q2(vZXfI1|G=mq(l@P*L&0KV4SglfMeS&QzfwPuVDgi5 zXRshE?;R{aSc7x$yEcPauOSvUP2D&@DSVnR3&NuylA)*zO$_)%Z{igi@~PrguvIa# z@IVqZS01%ydlN^TjMneVVa{_0m6^Jt+-gM(j&@n+a8}`&Wl{IQ$C!a{KOfQ4k|mz| zc^@3A4I-IeC{`pjMhPqNBEEe=y&5e52~Jtk(RU*@aU~a$*`#apI%!7h5s(=eX=d)* zYDI7ApiNHWurCX%ZU!eTa2QZe?&Poh5)W+9dF7jo#z?iXE#9=Qv>Y7l&@G22kQp~= z$pK9vq7RJR7HNChy;S_AYAOhvO4A`SK~8s{#dgMKE*-eolI@9cB;&$Tp~l7S%taGa zcT6taTJ?x?Uj}Yj+IzQ)F?_g8^5ZL&1~>#>;>S^q_zl`4|2kMh0AWE9U@vD4jn_+@X{#*<_bC zS9%QW=v%jdtW}7+GcoWaNw}kayW4EQqIBh@#4-Z@K4Ug~_{8J4n)4Tg-bQhm+}K`b zcL0jkit|J4S^`Z)jxrQ0toYZn?k>d)$-i^TvcF-D`;DnMceh5uR>4bj#a+$hf+3V5 zYqFKJ_=c3fOIpEbSqSZ9@@Eky$CuUzuyhA@2CTqW%3w`;%jD+mbIzF)N=N;TZi+f8 zL%QN>Wf+5KsWyQE(|7$xLy` zTg^Rlno+VyLJUldE)KIDtqqNo<>7{HhTd6E+`#UD8Mg`ee@_9oOZCBMW@}O1c$jM1 zed%&ZpdwgTVR4d$3~{)@plfbPa`W8If)* zn;W(kIT(pPF4-?qAeI3jQF5hJcLju_@#3Qz{gb+DSKd{lMBkKfKV;!}!gus;jA2AU zCNw0L7Ijblq@R;ZRDa5hlw~E4I}(?>AvT2wapMOAPHl}9)?E`@pxan8fQaf5`|`JE{j@`fY2f7utp#yJX|+rS&Up_ zVlD)1Z|XSlo(sZ6rj*p%K+;!VjQxZJFa%%@>^XS!w5vzEmQizSTrSv_q?v67{ zrz$wb@uT2WE-$b|&10}u=fX*|16O@|_kbgRx9s@nqRjL3z?=(L2uw}e>RVQ^k7{rE z)`~tke!&3Pf{4z^uHg*i;nR%PocgOR#S=J;ueRH|ZlNkTZ054TGauu~Nxs$qb`|BQ z(UrjQ%qm5zx^h=m8g%Ket~7j$gyu;@2m$*~8_^esH98FcdU5#A_Vvf`>c;CNB)B%G zj9RUjP#Ti61Z(`s&OH1|R<)g>5&is$!c4IUOV_7~;+4s1_JNUi|GHxQn1=VozCs|q z@EjCf+ow@QPQ|nw`3`?!gfPCuNiyGr{2l$?1ufDm^m>UuRkC?{c474BW+6h=I8KH4 zjyKrj?}0d%#DcWcH$lPfd5}P(JXaVxM#hgKxWF04Tbl~EjuQQ~_~TK<`(DQN9m-9- zMpHrqE-)MjT2fRD~cw0u@yevsyacn zPX+W}k71&80j7@S46 zYhm~<{F4S_Y*5F`V9Sl0VD>-ZSO~3bm^*po2s{O*U{H65+2e%n7)MGx#=&srvsIGy zt6RmH!`w#2&XO)k-I`al>KYo+&**@nh;t3BLMO}3_lXN1TtDTEydqqt;ncX&sDf3D zfv5w0`36g56SF4mE7kqW-n${-U8L94q9dlCy>nkm;qh+<2KZjdIIP=iiOpndk<&@! zwQilLlr!lwhH{=)@o56n&(u!t(lIz@e@CScxvRWErL0-Yr<#LI)DHkBIai=~IZ~?l z`nD|W1&HZ*ZPB}w#Z0%9W%G?_d4S?pPzB1$n1j6=s9}%4;@qp;*nTl&V)@!hhq3Qq zJkEmCJ1rx?eYYPr(!@+Vo>#R>!m^DfYwcqk90ZJn^jK`N4ZrC3tAb3u4VEs(37Ht* zrm0GqeEl)tjzqm;Km%@0`!Jk)kAAgYvvTxuogPE|EI%gULaM8hp?G310}5%W$Fj1* z(4!lSi;|xnfugRU&+h7|Y(xKSvZ~aKe^cTx^Ezuyu+g3}04^6>l0$4L&YmB40|)1( z8xc;QMLyh$S0cn+UcOf?T>UvdtoJEF?Kfp!L7p0S76;Tz@Ux1J9yxUQI`30*eBfdF zlok2<`t)0MO+=Y>lx2$df?9=;rW!Kxo9V{0rD_#bre8jPxKVm37|1eZIv((SXa&z#z^(Q+65Xmz$x@@#6e>Zq zfX1Jrajzhvq}t|qf-0&^a6r>(G5}N%2NnRT)F$a++Z60=tUL@?6C$ALgVKGV1$_|%D|~h%vp@WxQM|%+I|3pi1!_D;5`;kvVx+<8HW0I^05E2p zxBb`~)shqBR2gMT#$uOH_&lwz{Zp4b2z8luvWl}omn^q{%3w8J00O6Y?qcKc8HW9H zi@ReE@k?3#qJ#2S-64;T=(x`Rei>#fHk4O8dTK&|jnvmt*H#QhxV)4X#ef;hW5=rc zkAOERL6>Wzf+h4&NlA>h^$>Y_R7)JGD_^V>{<*GuC;QtC1W65Djsl$ZZaj1n z$tVm*wJ-27NkfWYSF|$yoU~A|GKMIyj_2gMPKLZBg}V8Cc3vyUqjnqj-58wW<(+7u5}l=9uJF=Qod9H^ttM5Um- zf)dmrC+J8hF4m_N_a{cah`ySGgFP|f?@;5->D=wM&A|CyQ|P}d>KG-#Bv`Q_zgs$9)p#$uEdSuc0Zzrw{IUTX4&?I<{d@h4@JR+ z*o!U$)aG)T4OUCQG5KQ<$f};YNDiId!Ru-W#NkEQRDTZlR7f-#A~nOBKoxY~-1DD2 zJd2KQOokZc))b+J%Z$Gy#~!j_J53HcJ>{I%nXd%R964r@Z}h<@832m_3lOi{2zAj| zuoNNRr_ttK25S^&fVot{11-q!tknW#>+mG;V3laE2T0wgaqL@$IQ*8@CaVQmLN(uO z<5keYw|^9N68&3#jQyE77Rrwrl991`4^`g69Z)bmcnRuUK{I9a26bQt2m++}0;Jq< z3%y%SnX0HO1FT?quSUz>D0)5a^tyh0T#&2YA_2y4>}~r&Vs9aD9qT5An2YR{ew0g^ zlM|ER_D}GTzf{<1FeQ&{Day_25BHnzL#_0Lf9SiOU7E!QhC`fv5L-gPJ1y<@`U8z5 zwF+Q}$%hCw1cJ6|z+Y&g9K5-zE^~AnIMrYZq@MY|Z6(_jz^lcB90Dna45k}JSPBZZ zH&|F>t6{eJpw-(s@aZcAqE}3sFe6)K)X{)nz#5R{AG5$a(JRndo&~4U{kB4F=ekg9 zdQ&hG_5nmqemVrZD33N@Kdz%1UawfK#`LHaNA%)nV03>fm%;uk&C5I4B+gp?5B6?p z;O(_2R!${}=@NZ&NCIZgToU`%k;E&PnX7iWnKcqg3^tJRU;Hic(bXObA5Vd|UAPi< z9V~U6k$-Y>?;W<{uuLLEiCwlaYYPgH4|TZ_wPo7HW3)$o?ysc)~}3PSza!;ol$$#CV5jjfc9Eh42W}= zw^e@a?QNku0k25XBYHx#w9E_|iIX{z(AcoEu(A{}TMh~fajRdWh3rYb7Gk z(0ekrP?}sntyo;>B$1J+7#@|9Zt9w7@R8m)(&V?vo(aR+J)XeG`-vph6IyW4dmM{S z)lWp#nJ#Wpuf0J{Lwfp-{pX~H95N3JZ|XjA4~a>M)l}1Z<`IJ((=2M4Yibr!n##(R z;LfKVyXLcu-(QtJD|n+75J9h|Z0juNmi=Ehf`a?ENst1>im~PihPm;auke3AAqa?c zbaHymT7XS`ptA3U*w! z#<$Dy@8nyOiBy^!1zvrUd38})dLHW()Hlt|x5AI`(RN-@NNP{k{@4~_kUgIz#|_^2 zNyFmr!>BLPAf0;>q0N`S=3*6rlds?IydNe1C)~``G=$$g?SYDj`>(JD)1K6W?X3JD zqwM7;R%3RPpb+w0nxV?dnXSWUtqrD_y`deo4N`ufuSWNQMpDk_4}t5wUOY%KwWsHtj} z?=$q8CvvUSm5SPMhf#iax>{QJit@aiJa_@cJ~?#+^}Fh(6pGI};R;C*`1R0p@TbV_ z4ZhR30of1qZk_t~66lNQeH{69o93<#F1~^kE%bI}aD7o;q5DB*e-mcC3Z$HXq`gI4 zQuo8%23{rfS};N^^}OgINDZsG=vfr3vU5T&a-M7sy$)|5vmQU(@JPF;d{@%HLtSlz zVC@%B6)hO4dy?b@y@I%P4%E+km2F>2l8WWlL($hSRR~wL49fSZ8EP8S^!M-PU-V&b+6D|4h!Ydn(K{;U$3Ayfv^A_;d<-s@Muv)(F{wojh-Ce8 zm43E5Q!q$4p%M+ZWs%cISp=R-swl0m68;Y(v`_bB2xvN|&K|_~oO<^i?)XH;FU4~R z+I&fcmZ}@7x*?+x@(g@T`q$GTE*qIQg-BwxG^Xw6^Ai$C`Pxd=l@oR(E)vTZ_UL)mTf8|xLFg0}0u~+M=m)dr;UCdOxj}97Bf2Ce?Q#Lzx z@(YypHmq;DKxRyRSfPJ{b?5Z8fRPVd9n5nNwqxV9lR?bY7;?}PGGwO0nOyR7KUF12 zMrr(bqecoV{h06U9?t!q8|8nVBwcEX-eY=luiUuHg#uzP+qC(h%{sD1rJ-^Z&W`!s ziybvG|MLeChcS@}#?cw6cy*vi{ega9W=u8xO+nA`h+`W)4!zoq%g$k9gpSwxdV3|C zrS}AB`#K#(&6S}_1LilVd)2)DW97^(mx9-T_LEW$YR~ji*yo^ffwf;$6|dy{coWWZ zGf+`9QJrHwk#f>>$t2(ZxWCcIaWA|Z{_VIgYTiV1GCG$>%)I>b0S5RhUieZC)3XqpD!|tGLtPVhAPG>2~-s0Zp&ICL{*6K0G#V__e0Z=7g(Z!_8wg zckS2cE7QyLf7;F$5*@C-GHLQUg1=d<4JnUK>LOzJiyA)hrgk8WqCD`jI^ z$vp{7zGl*unER=GQ!te?ocASYn&1T{C5}18#u0(gJ@3g))hri|sHYZfF4#P19a%0Z z0?N+aU}f_3kx3!KrsU%pPQW*}``5c+6;rcTQ`Oe}tLNcP2OTc|aYTAr?*%3$P+j!G zb0zZ5<`ax8NC98Dz#un{$n`6jHOTr}YMv}>PBw)zM|g&Ttw@UsQ-69e$4W0Wl3C%h zUmwIk?gi1mjiJA$c&hGk)L}i`bAahzZbB5twJ6Uyld1{0AGW0knJU-Uo7l!VPCiIl z>?wB(%QcEz-8mX1_+HV&_aTd_sGfaaxE;5r_GH|2{-r*NtGA({3GyNM${+Z7J5!!> zXDzJzYM*}(4LrM%#dU>XIG2bB6Z6blh{~}5smhoJ>t)s*FD{S1ohbR|ma~dY@epOx zm9}1eCY38?>H~l1)#=}|ged59whlmmBCTXrmEzn1=>6Vq03tI$G?Hzna#32Cp_UJ2 zcruw)^Q2+Y6(PcWMU7tSL=C-nqjTxKbW%Ff_R*x86`Mk^Xg4;1Lb}gWllAteLxy(m z2vzNNL76V}IPT>w-d@SGq+!v}%a{8sYiQ@GEovqOOFkoB%4^5#i5wXS?6*0$_HON- zixCkk(TK$n8t{aOg2|UY-kHegk!a zv4=87%OO9bbfZLjwqYxhgyC8R@<$5b^pQm%>GIP}&)ig+_U5_mJjb%cPp>xi&r)8McXSc2diq9@aNBu<`_YzBd(HzF^qh|fg6g5_THj7n9 z^{}mVPV2t?=We=PyWkG2)?&Rgf_oyCfi$Fc^UOg;FCUq@*ZX1_zn&s^tw6zQWLKtp z{eBvmYrgL`=JoGcHs5=sS81P8MQgXZoDQqb7sJPFCX?YP6j?HTg{LU=H7*`!P*HXL zB= z=?)t%lM_0&{Z8JF?X$Sf4JN@qeEZIh{eU=w3$g<<)mp6_sbymrkzQIW|OLHTE09(B)yIG@u;PmD7D+Cj3t| zR!~NFb+cUkF|Ekpd`@o_GyiBQ?84h- zxQ(4X_`WR2tpmnIO?85fw{2JqNIZ^w%HlW0BlNg&O!&z?Y;0_d-1a||3df@F zXwe+-U(yRsRu+A{JP*~K(A7;y5SW-SB#;kWi&P^_7h^)Mo@i=l#KpxdubR4;Pkm-Z zfgy>&M7bH}Qmj{65B6{-_y)n@U0q7qCYWE>9HQ@EdmO%bmkPne$}MqyE$j<$rr?Zw z(-YE=ruFO+o0{gy7dt!wi7epfPg@l6ZP@w!{|_rke7l}i5=uVyZvqVxb8cct^2~$a zmcCcfR~k(@XFN?Yzk{^4PP(U_r>z{I3zn7-v@JwgOsWT%q=1uSEFD6Qoxy-^GMY2L z*J}KrhW?Ew_rAdW93l<1&ap%;KMv0ts1_#$IY6CD@F$UZKZ2M8a(1$>`442H&$hjh z1^8ULt-4&Am|;6rO>q~fCeGQ@zYhRokt(*yuZG$UKYE8jb-R!&o8JVNTgnY}6*jtA zBiSkLu)2#LBVqVtj!8OpZgI9pTxFf`slr zre|Z?7H(f#WPA4y_8p!68BX?$t)y9V#2kZ}nNtXUh1p^}=R5GaU=;n$+O2)=*uPJ_ z=1JwgFj^FJ_dRv^8{zx!gZbkYa4a^NhOMqXY%Z)`WDazPU!z8+{}@B1tN{067U-KrE2SC*$qAS<&YvW+4&f zL(4A0q+x2t%y~0_?#%ke>!o?~l%It|xgpbZ$4`OmXPlB^zH&%5OvCS*3@;Cj6 z%IXGvC2j*QHj~Y)b%N}UyDKfKa4H@8`M0NCf(aN(m5|7%a@WgJKA#MDxC}jP$kP5N z$fqC7B6y_Kr>$maAMffMykVjiwLZ*ay^gPtX1g!A9`Ii6d4648%1xGY3sg|{BPp>s-$CH~Cpg5LH8RhoXZipr@^OuQtZg@mFfgC-KdCL+g_~!+x1IFRnU~EY&wm+Jg?;sQ6!ep?}}gK zsO^-WaPZ2qA@)s|2%mElPYxKjXfw<}z87nLlkhh8E!nOGP|=JRhR=6_Go<{(3Pp&R z*>nASzF{%f8(CYg=D|t>$ijkx!g?H(jUf(wjd)Qk$M@Ux;TI~`pOgORN>g;w@H2w{ z)=*1|`$`x7^mz^0S-afl>^$M93#X$)a$h0l5MfW9E5jKBUY>j0jcIht+F}@Ds{Lg? zu{5XYXZI@!=N~s+lY9FSgI>(#2nz_VB_W2{sk)+kn{n5E>u!A1(9?22Vp)Oo8IERL zX6L^>P|?~L#1c~NAL2Kg^`v4M_112nnn;y`zDT3-NbQH7w7Kz}Rhdo}3UKXqs%kUK zrW_PkyA7|fQ-_ci{aR|ugeD6wqfVf1^)zBCaw)lnt`c3{ePWP&XaTa2{MEvy%y!Ls zp2V>>S=~a^5Mke0Q#0=LYHjyb`nx)lMn&ZZx1USL(3Z&kl^sHiLr8NI4@B_oL|&R1 zrOLJ#gi2_!PhWRZKMV&JQ`-D`f)%3(Rp`|snoJ}lJZ#iqDiG;{H;O>Wy2wi zckdv-BDt@=Db7H6ql6Ck>He|NRUC4+;ZA1+QRVQ3`(K|O#k5PSkzeB85MFO~mpPL= z4WwL4q4%I|y1QCl$LH_+?B;z-`OgeePSIBeI1UOb$!qI_XUlY&VaqL zX^MZqP!^o%?FuTWf0c>WzSuH>+&|czw6nT|p`#I7O{*OHoCZu*=(xo zskchQOHqch2pg9nO_wC-SP_fF<|~J-RYMtdXHZu!1#j-+@1jbMH>|(8zlBuEnP5UQ z<5+x^bAm4l^SgYz!9kjP$5*+LW`)}6QUM?1dWxpvz0})Y0@TAghI{RU`mu+Tl^!gX ze`62Zvo(jFvZVOXUo=1QVfo_`?`AY{*(a$ac7aa{)k>^!TVekW?`Y-)ID?SQH{xw@>Jx0!>V~@KLYh@u1E~tHtuRL|mK}e32j^nsNX2^U|*~V_Ql}O~7pT7fG0yo*~!gkXJ>-$eBxivsqudK8)M; zj{HW9w#EfIRR(d66p<&(3%(U%_a{cz@s;t~wh+qBWvWJ{$q*9ztrGdeyIUJkg&Tk5 zG@TINbkyYU;j%+Ob-K4YEPA$IP~qdLS$n~BS(Lm|zuxB$^*R^hTH2u&jcw}EHLP<> zdAV;+s$`hfh!zvbrgS3K;tH0KF|@xJywly@e8Yqz9^!(|-D#jv7xFx9L|&jpNl$mx zIpy-Jmio{#-G@fXZ$*W!`kPExjLX;Odg8M0a_$Q)GHz8NZRLXiHq`m^FZYS9$HnN5 z4}=CWMdcwid%QEOgvrYKV*&7=KBFt|jbm1K*cMIph)KXuO#N}63<*@ovgQ4qWbXx4 z7qN?;20Sq;Sv5xcuqoI;$I za&um1stK(<;m~;9mNR(HmvZ?ysYY`(pY7PHSUsz`;$G@9MoKsP%j|IDgV3bin&|Ai zJCOZMdNHL^+bwUiLU$Od)O|}ZA>O*hS7<8_FQ$lbO1bifThIBlr);3Txp7#S<-Tmr z&2Xw07D4#GT59Is95Ogd6J<;Hs8JK$|HDIPc|WYcUHJS6)~4y~YaEy3FINR|Zkr5E zLfTE2IuFNHvfoFaY!j#EsI{-K8QyqEkf7fBoEsfqWNn{FVpi1N^>q-X3KYyLlt( z;-daLt9;oZPpH5H)`Xd*l70oL6$0DJ9;^72^Dd&LB8snySMJAun&Lf$Jo=Qhp)?X& z#kzI&dqXVTjj{NJgx1K)Bd2gcR_iuCTZhuu3O}@MnBT`^^fv6aDM})_>wEobq2n7f zC&G32+XLgju`Xe8Riz0_)Su@t2Ge3veAWZ#<4LcS-YJoa4cjhUxsM+^VVR5#2Tg#F zD7NaLF?GNv?UxvW59;C2vsY9gTZs-_HRL^*noy%g4;jf&32y=(43WzPeT6tglrKck z`TO}GDKtV6u&wxS+dQY0Szky4uEz;=ZyHiNbiJlyHp$CG3 zLg?&s$Ej3rQs>7yH3HG5L6@u%qW^kAJS#U<8F z)|JAGdp+&k>o@IX9h=p9GOMlka;JxhgpS$!*{)KhX7V>}F^_Bv#ZUB51WR&deHWrj)Hzrhe%j_K18VK774jnGrf$metT98*rY&# zHS2?P@2{Me!2w}ehyGR2(*U-|t6vZ~4=_!pXSGsut$iIN7J4npInU2WK09e#Ca$R7 z7#>^9w*N>(1%1?80m$9=HxMIL7_Zu<%Qf~ffV+~q;_#JDh2_D|+y~A_8l)b$$w@6_ z_(7@Y90n)qaL1d>PKu?zauc&Zx~ag~@Jzy1Q4un?BpyaDDi~P4i)S=p@_z{%>oV)bV#t>cL9`tLRrlE+{HW5tcaI8 zp7w`joK0H?Xgl<(2@>jtNvuF!fdbzrOgC}emHE#H{I{zOaV?9sVrp6_p7NrS5OwrS zLJGw5IaAb8Mw9~0?#KDiy16 z*Zs=_s5zLq?&79h$g&UN7j#yI}k8+S6I z=ZQLZ!s7eS&mb-$MoR&mJD7gwCwUvF9i@o)4}vX$FN66NGcOze?ohg{=^E%UqUZaB zjyJ}NoOInLR%}`Uo6_ZJFews)7Ap-TR945eTIoR_3>~OEU~4Vd0R&8Y9TLY^e-}B` z_HWtE)XJuXQK;BWYL$BS-ad<$eZH?nZ5#4#Z;)iJ{%Tz@9O<-fAw#mXj5%p_Y521! zfU5R8rWz6Zop{f7xGv2dva{;EtlNI;_!_B>q1!<-XQ#N6!Axo1+2PJAh3Ll<4$8?5 z)hbUV+uAjvdr>Bc=%4jQ=&`iEWJ;>19*w_;D2CEp7SgLk&x5|8_Tv|EXJwpKbJd;X zyrntLR=1+t8edrN%(Qt?R1d0F6{oCt9h9`lLTWz>qn3;^+TtIvJM?*li%{d*wNzBi z`iwG|b$hc4H9MF=2GhOBb(0;aeK1|>C*9&_Zf=X0fsS8lZGTs}e`DGR@pkk;#CoP% zpUi$Kdpp{fGD%r}C2ChMly201Oes`;30Ms#tL)HdmuUKNbbsa*w~GALd!$kQ=g*$4 zFLkH(z2bKQ2D9F>G{>{)zlTiCzv_9g0v72&a0RU{u39ABsN%& zZU+%Ac_X4RcA1W2tjOZV*Z4o@NKMoj$&*){=32YE!<;Iq`$vQRkN8xEFN6q+s+>?3Dm~IfY ze7!zER93oFPUZS7GX_o{^NgI~I=!_FvA}Mgra44-{?`?d z{ywDc62lZ6tbn}0jH;;5UA-G3f%bhr+ExhP23k^Xn(N_(9h3a8%ziy;r$4#Fji-N? zsT(~JrEp7qht6BtbAS`L?be(U#%AS|*9tk~ik9G#K^c5_H7khPi_Yz!HE`d`^MQB` zmO^v4U%JL$etQ_!^r_4Tv$c`5U2{~cU_y(=C9QuyY+B^3S7mOfr>d%^MQkP1l7~0r zwW=l6d-Tlltxz?TGoKSuV+xqj0VS`<{`ucBL_ESUH{AX_V4kbAUa-=t#(Q`y&!R0$ zWwkzuYSPVr8@)X##>a$;>sFa7F^kvfEjV*)*xif<{LBe+Cida4?`)N|(|G;3U=?-i z(k@u-k2!zO1ffadT%j<@eQtQ3S#O*I^*Znp>q{VUBHm-kq5oC+K>+8x>8ft6$LF@- zOLCv&7j7Fy{f+0BBt}9o^V}B5gP}gB;!|X2JEf@ks<&@2O7wIoj2tnbCgUixZx`P3 zkl-Q3&vp*v%*m$M)j_hx(pHRaQ%9Qdm+#aRFFg?wCsSMXgt*a?>VGvH{44S1KJG1> zg`Hj$q{(-)TCb9H-4s3iqjN8N)_rM($*#_GVMG`8>bCRDItt#?gtDw4X6d)KYsSWH5%E(jq6(P^vUF_*jf zQ-~4r7oeav>U!0tlL)WBs5km7-D3;R+0^);Ge6V~sFY!q;UUp zb{G>yCOTPtFRimmr(Xe;)AOBoewc+T zEQDooidRm{1F5{_a~BiUAsHsJ|KodEL~9JRXjqxQt5$l68lf`l)+cNwgf$%!;@Q6T z&fQSI+*ymKS7ju$o@EoexO1=*(#v$?(Ijj@8R~VVzC$&`b1+|M60hKXkp6n)CT03N zdVYGMSmyZv#zV%BfhixRoj52?B?CHWzOH0h7^>qj(e102zsryfFa4YzDXDGwH@r=R z_7FexFj88Ypdv@+uYB{m-uOj$0q2&M27Pa}*<^^ePvTTj-dTd5^F)&eGU;S)C&X6> zu1KvnnyD_d=@kmR@&+Q$PP+*d1xa)X!(8LX>^yQxi>_ zRsGw!VZzUugwUVMlzY1SgPT67Hzkf1d!g`UsA7_moR-p?sXRBb^=v;TAc(6~noBR8 zt!$}^)7A!aDT=Mq#cnAqdPay|eD^zvqtipRU#4d=8z~Np4@>ij(jsP@x1DCr=$;IR zd>B%(`pOg=ACKOf>RsnNDwq^I9>KyYBy#b{Fv4tWMg%?!OB#bl|O#-Nn8`|CerG6R4msE&!U`~l=K=_iIZ_%H8uBx*+l-M z=KiL8d^G$MApO<~kVI>~@j#rh4%ax{ahoWb^#xozyY2mllrSXZTyDss%b&BtO5e#h zc~d!&4AW+jqdPJZO}NTOe;Q2Wv7>Z)YY^!JNCcYBmy{S>TT?viSD2(iPYY*npW!-h z4LP(X!uDBO6S$ShN&r`h0w9H1zhj5Y1*8J1xrP@b5>?&bepV`(W+A4ieNud8m-+Cf zTmqKP9whN4y?P&V_6NDkm6%Iow{wAv)rLCSj+n1V4WLNUTsBZf?Rc{c19mcfjh*%= zwk0C{-C5kW+mDb>+Bs^RN1~n-v^Smx%;Zj1*&H3zizV`LMo@TDw;GSF^hdnrQ7CJIavz50)8XC7|Ay#Vp(mf>Cx|Qq+p| z9vh062xa2eP1d8-7bF_@s6Q73C4VU{gyT}g-%){_`pxA?`0rGmhbJVF_;4Zu?L?xZ zlL$|3;k;?3%CB>-IvV&;)RD+5h-Vn|s_Jd1j>o7d)J;m$&^ruMX?7ys5}S|^nUG?m z_;!$si;HKJ(1`=r45Fo#8Xdj0cQcH0s@#IzpJtEbZC~!v%8I+N?_GEo2&ucMm|kNdkZ-1U2`q9)h(`Um!ah=+? zp8ox>`p7kZ4gITWuA2v%rlW zys-JoHS7GrbER9hZf)15wLZ=xPrux*-+nS?)MuxCGy9j{{%qg2b(~pTeBG%2`;1r> zoNP_|)tU%UPRB|dE2Y$*dHJoKciN$Qx6X$iu(!Nqu5O@H?@Z^+ImM z795T&JL-~Ua=u29p90wpBp$Y`d^Oxu^8v>E1&g94CA*e&M~%I%Ona~2vXjeBYq$5> zeFwuY`SxuqDKQN({W6=D#cu>lfj|BE*J4Skn7)IKUN>BI;Ta=GTzdT-D^{ z2>MGx1zGm-pH7#F$n;~*LWW99X3v=~_1o@$Qs4C9O>o317n^5oeaR-4famQO9uEGi zVGNYE$+nY^>u+U88oKvxazf1?{C$&I=s!(SzcVpk!JSHpxq#-~ulAddS3|u*F^C@Q zME?@j{7W5?Tnc4?YQmqI5Gf-fK#I7OE)Y?9ysG{Wyc#?Yt_Js;U|gm813wN%*CsWX zH!@FGRT`%22pSV}(BH6zcI*1DVfzj19=M=?`r@T;{4&>J!}QVgFPHv}2_0k^^}^=O zvofOVf*cQ$+fqQpFHijBMzFs;IBXbT5{Nd`vx<%p*u`krqHsmaJKxZBB-)D%_ z?|t~$=N`VZqO$Vk*FP9ObWa&AW;-3uT3>|M-u~#sV-EfH`=56kymR~o96WHB|2+P} z2OocV!qJDk@$N+V=TNEjM&D=fPAvWx zRZ}7s$2=F^nzic>KH(qBR|c{Q2OM*b9ObDWz2t^dD5vDTsJB>mpCo?^H;~jf;?bkc-C7r);>ARC>-g4>b@~1en2yaJuwQbqr|IRu7wGTd@ z^~)az@4IX4@r^dCx!KuL`RuEoPC4=b^VAg6S6&J2WBM#g%PY#ts$|cU`p@(KDwE`} z7O_8A_YLcm&9hj(W<#fTt)#wWO` z)6IT^ZzT^F{#JJ0`GC_-IO?f~M#=EgF1SvH=!+oVLAP7shX1=zcAF<&7*kSQ`s4$* zoqpocc2m$o=iu`5^5iGt${X*N#nG2h)}a#m9cb6KwVa;#eZgXBq!QW$vg{*|IZXd{ z>uW=@E8*2BU)%5|kcs#0-Q(Z)JSuO^t1)U8@>`)V_``SIv~>BJn(bx&=OdP%=gyZ+ zCaY0zUU-7xkB2{~??^J2@VcG!dEDQbnl%;qgA;uF=rhKzWnjwpkJi^f?KdClS?DJu z^w!AoLjQV(u-m|Xr(O8ZE}hzse&9BlTFfbwl$8DJu17wc^o4v!(;GWy!7V#_dWdFmTkoc?7PPcPuwd%4sjN6@7)JVh;`p%&u3+3 zUUvRza*p}GciwQ=@ck6PrE#BrHDmVN3r{&h>i0hLmQ;rAzDu0(Cr+95;TPY?ziAhq zd}Kj>&ij+Uy84{sm#$v>_QdJe{o{oEyj<%?B+K;JD<52S&T*}ZnoIqTC&p~rS}enR zbZ-Bzi%uCo^;@Z*e8m1zzB6f>UVrrE_lFGFai3lL>jTGsIZG=2gZEC*XQ$6MH#hr_ zMa%U1D<6D*;9djts9qPITDT&mjQ`LJ@5xz!4sBZIWM`dm%z-k{I+ z$|o;hl|N9P_x?xv1Zx7M7mq(CLsgCFNWvtKSC5V|ypl!=gho<&LN7IV7rSt&SW-qr zNvOSa3y?1UFmQ>;^T!>n07yR{d?qo{Z|gQ~F+T`v`%+d`F?RBdlMWl2+Q0??8mp)j zpEZ4?8J&?NF4FYSC=?+1C0MHR`vPS!Myl4de}n?0noH~?)8zL=_dE{9TYe+l@pu&D z@@rKM-qt%@>P?CWipWT!)_huE-&NAa=n;XF(`nTt0AWWTw0G|wom;nP-nvEMcKSVC zv~o>Jc|~S+CciTP;8xAW#x-G*qTg*>k7)dQFG@MW)UUFO>aOXJ)dwkfmj!QdjKG1Z z8oUKbum_UlkGx9o$65=fk2L*u_IjM88F#Hy0#}%lHbN@-{PH5y2H;em?wu87JO171 z)vc4f_}v45B!s#V)jS8ubd{Y%H^Ib@DN>Sn$EO*0hteW%W@rwOYEniX)uUgl7w8`D zRjYlz42h9~fAx9-e^P^ejXZ(aNRN;-Rlnu8-YxZ_@9ab@^gCzq?UeFr~&{00K^r%<-TeJN5-v6L-()q8<`@X-Wkd0l4RVu!56%9gE@I0 znL!HN$Ul&QQuX_i%Asj6Mv}Sd(UD9bbpN_Q`brJmvrZ3;2#}CkfxC-vAwB>A01^qu zMM@}G(v0Xx^J_H^TGXSXYCV+{eEEYxkIf}^N+5nxgHJfplU14;eEN~3kNjF>bY$G- zTTyE6VyA=yB<>iG6sh+6s(d~L00026qZ*ghg$L--j%IqeYdAX6yAk<O89c^em6O_h}Lo1v5z!3(2&M8+mP# z001D7@WYTo_h?XSZuT9FbhO}&=xPEaJvs_qYv+sE2Ptsd9FISE+dBErD=|`F3V|e& z5=b8fdL^mhN5m>h^mCBHq8^9@B#k~u0001pPm6rMP%t>s?=BbdC?w-%-NCyu7}wVY zuC)s%kz!_$0=M?|1jD3YB1+Nk=&kArsnCrXRC8PuEW@|315&KY=d0urI{*LxIHTXl z&PXDuH4lxgdEQa*Rqd}yB^kGBu(^v}utR(xI`U|Nn>7UQ$`H7|PX6T6udnk2^GbSD z6uN(1bacdpc1V>fE%1b61poj5uwlIcf)OV9EjRntjLYrx$Hj(2qiVam1`?&@0001a zNklcC}nf%|$ZTHvk>fuP8vdIHZn3MP^Krsybq3%gkNX5fx?sJ&_*m)HRS z03bFkDmF6Rt-*XFJ1vwr3Z{}mceGP#?)t4~lfsj!36O62Vu}K!6N&64ji~?t008xc zqfY<;001x$AOQdX0D$5D0RRC1|8FHSkpKVy21!IgR09Cpj4`p*BQv@H0000||{x|@G?XOj7n$;{4Pfji01Gklw!O)|-EXTLIECZ*vcPl16!r9>ne1qj(M2ml31 zE@N30knp4p49W$S`ioLQ-+l8H+P^SYFaraFDufUi7*q*RmrRl7r2XMlWTmVM@IPq- zgYp8^m6hd-qWu~`8Lk81k_{>z+T}7ZFfgc`Fb0xAm4agDxOE_{wggrC2ifbS4GhW) zS~o)F`nnMB^5D1*RCV~9s|E%J29*jaLi+cBejy;?P$*1Dh>#Q}5fUaLW))%Uv8$^D_#m-#d#9^vlb+o=;tg6rj?E^rMYststpVb49XYc zYEBvALX=WVW<}Kgg9wc>Args~>@OOP0=<92MC-GTfh4S>m}x{wO57$2hX|{W3n6wP zBk`Bke?t9mB!j;T%6U2CKZ6oWgoJ-PT}X}bkJvf{({U-qvQm0#uCg8z(?zULY4sB8 zNS8Kj_m1SC{qi0yl`Y;b)|;_rnj1OX^YJr7>VyW*o90SR+j$$Q*!eJ7V z!|@tsDaF*(SoA1XvL6AaNJYVpC^?T_MD@kS9;H^_oS+GLhFh`6W-lG3|1?22y&IjcH}+Ht>K{ znO_rJ$N2aHtYfh3d^Tt)U4`^a@VuraeFbycS6vgD!y)l(k{|~`(i|`_Ffb@Jkac7` z4`U{gWg`J)woEi0FJkVR*k)kiP$Wvj>^D6cw~;uoffTcaSl}py*+?N`8B0u#Sw}P$ zPKt$+;&xI<1d@PzfGUldM8V)dAcz{E91OZ&N?Buz8Ax%?Q4gqzG_PUwLSQfhP{Ug~|fNE4D}t>;yv+2{~>fLb#_6aS$}SsG<1l{K>FEvZ#V>?zl- zJHN7(GD_*evNJ_e)+QtbGuyF z=wJ&U3RfQW*4Qz!$+Z5K#7HtECY$Xiv4=URMxn{B=jU~CLM4X8>!Mk z`%7q5D!-)i;-$v2-@@_V_>fXE7TR~G#O1gxq$^`BYD*iOxFIx-ka$BXUClVRYb6g` zHFft=x-vm$YDxSjMmnA-ve05(9e8!dPt~@vfRyUw`CUB(oKeL~d#$agjx6&N3w{Tb zG&L^PK~Sbyu=;g#%yX)gHKJwY82;uZ$tceyDn-9RRpS7RB7PZ7lUC)1qOPl96}>>@r)vw&q6({%NkDfGIUxh{=?5SSGD&l(%az`&rKVg2G-W>VbU zX5U{Izn3l=WX`WyGn6QGu1RtPDIPeot)rM-6ptnmd)o$U ztA=5rV0Bn7Pg3CaP%c-$@Jws*peL5LL`zHs< zYEAa*+Zvb^|H1hoE-yZot>dw*zk{E09Zs5DXFk1$X}t(0Ta98_=|JiX0LPsiIgw{t z8xOHQ>spu6c-eJ*VdY&LhY6TNkJj4zv*p4uY2N%fAj=NNG)yCjbC8gpO);wlS@4SE z>Cv;x$s@At6C9-!OiREnTmrYi{bx*@gM^}#zD!HJQr_%>0PQEoaCA*89W!;@#)~c0 z$0c1Br61D*T)_+s3=GNx+%&Sa6U#b^l_B7JGsN$&Bb0@aVppJueOq1p7(zj7Adz_X zk#&Dve8UF&cDr~QQalrhT@<;E#M%hkmXc^8(4}sF*)GOLs#Flay0%e|en6!oWCJNh z7eR{0j;!Wfu_L=FPd}^6yRY-S5|GC{|n5_|3)H5{y!vOfzhk3N=h?1;#+@>zGh zNbg#=KzY8q2ptL%Bi50?-hDU62#Q-e!-=z9K3r|y8xqGv75K&t_{rhJ{W_3kn<3V0 zYbI4@moL-QdVhAsV@FcIO6-U#aU`Fw9M!PVpK0;-<13{^kUXZ_6{Uww|S$i|YY@tv}O2~>P*)_2;ZXJc}ZN5Xc?~wbgWMio+!q`+52P#X# zw`f=3sVC0M)KDyfR6h63CzXTb>xC_c&pPAhdbXN31(N4Aq`@~; z`Z!Aj6eUY4txuJ9)qLkI>9szvSt7~jAeFvfPmbXuF|Tk9Zp@Y8Mz!j20H!46S$F8j?(|e$3JDyfVbNCqu`u|RHAy6 z4HDBMZTm_$EZnsGBP_&ScVBJfXgX9<>J{VCq*SLZ_V{*scQeg52MKt#TT<+@KZQA#9Mf!>l$mM4 zt^g_s1ejot_DLBop9Tg723k0`*u^gAq4>RZF(h_%7D6*vl)Kr~EZrcpF@ zNc<){4rCzlM;?W&tr~bVDQxZ25aN$TipP&)_uBE`k^O_@V<08_D_b@g^X5Q-;-5PT zidDpE5|=?^FG)X`aXBTnGYFBM781lpB3QQkrf5e8_tR-So)#iM-v;@K<vLk!ZPyi%O zyzD;l5NVA<`gY>$?(E^=_{fz_58}!irJCm;$xpUXpK?PyN;@Lq{**fh$?xejQgp(H zW751?l;N_QV~+9R_Tp1+S3s~FBu}PEi*J{%)ps$C$h#v-IY>akmuY;)z_z`Um@#b* zQph6*Ddb|8)vudr-t3}?E!1WHYD?FZ&FV|OrV)HiQ!l&z&p~p}nEq-et-EzKBgsAo zNp}S^IYs!>i(Jmaj^e{7s#5ec``-Zw`>~1?|+C+E+2wjwL1Sz&F zLrC05M+weH3X69M->1Q{h-lnSvfM(I!!$7l(t!fSKXxvw*b?0~l3nR`C&ojXDR`ec zul=2b?&6k#yWfe>UmY2FScxj5Pw^ZiB!`q9d4>b_TcfWT-t*1U32dF3psBIF)LhL3 zF&u)1M$mB3WO?Wr?n8tV-02Hvh7eiSjX4CwuLGi&t%kXb=7)IAo3J{-(*J~P>wK}o zB@-@#(ECyT5{?GAvrRy6DG49HLsJq$rhq+Jl8h!19Pd8y@9|n z>TM$jfru>x&JXd=K?>=b_Xcqf4Ywfa%Bq}%cb_Zcs+YP9 zIY@E@26^{g9(_p;A^$pFHSt-ieX8LJ_TNi!OWqpt?tAo3bl!a@g5=9L_sDT(OTegz zCZh&CJo*}@xiiop0Mqc|hh(Oyyz*sQNHEQDwh(-fde$LVJcRhqSV$S1#4awQzWkV` zxhA;U_q4s;>~b-|i)rG@LtRYsm|Pb#-Puzf&yLf7qrodP5Ikc?csi9yGB7YOC_gwk zNb!psyUfHQNF*N2q4C|kE$hfOielDL7(&rd%n?gupARyS;&1R>yunH|vhKLEO)KKu zgGa0sC+;vKw!f(o8Auci4m`vv5alIx9E(mp(!;FZ*4TrML%w&R1h``gq?_N7&($%= zs7LHbE|pvw#q$b5OF5SYx9@mZH6C{ygGy``$v{J}RTuwB(tH@u_+9mG&$0Ksq4P>^ z-kcLq+jnP%Sbf=1Ac$GTNj?XO`}Jd=jmMxui8Di_Nwg>&@7IdCVFvn~i!)21ILAWC zKgmawA-p-6#=GyuH2c8hI3_+OIA(n~Nv5F-fZV9pjG zgNlVU!-Pn-69ul05&na2d3P;iCF#5)Cj!9z#HvR>Ic4SU)}L3 zo-*i>gXHL}at;y^URdia;u?_D7gAd6bFqixcD{!Q$eOWdf-r7U000mGNklA*wApS71IVYY*HNz=tcG&xB4lvH2496O4qY5H5yC^N+E-4Edm6JG{$))B$F zklVZOu`uq;kWlGzkYerHdawah$8{7Prxoz z@})==57Fl!k+>yH1QX=IhsrK@4pJz9zs6>Wi)kU^n}dYnKUmh~AnBP#+|O?E%R$0y z(J;-r3fWgA%q~6CWR8VIB%Fq-zRqA^U{I-G|5U`UjbL5(;=hLC>KMDzE_M~N?x`cu zD2W?4QDGyArlcGsAeNbA?NVn4ltS@ec`cHhorGnj!?xlIsbAXPLRy9oc7 zinocQfmwW`Ui&x+eZ^bG_vKr%%cD=F*pWVtBxMEIPhk?CS9kBuxu||tTXP|{>>R`2 zaAf4sS96f$cAR-r`&EV@Il=9Ecl5y37yqo(FVXd-k!>ZDfMet$FEx>6^a0nrIoTb- zpM&Ji4ADFXNwSfgdK5e2%u%x7AUW3YGfKcWK3A5N!u!?E6)pj-m)(;WPl)T(Ri@z# zH-bL}Vp-(YaKi+BHiWFHAWTDN5z_SQk})%#856<0#7x8aLV{^3Lp+$~or9!jlwu<( zawvXPk#dkizU(5dYZ_*h2h(u-(!7NTQRfQJvz}>uniF3Eq^m(l<`@NIA{iJMlp};b zX?btr?zE`=h!Sf1WuozGQHa|15FwUDLy3G%lW(z$U#v(7$#KL!8GlM_yxuaFi1oZ# zTYKXzR4SCh+A-JaiU36uOXQahL|zNwpRqXU?>kRay6>A0mHD|ep(Jx@fXBm}-rdhZ zQd_|FRyFqSLr7`f8}6ZnT&FIV*h7zpV~yXIov&Ag&70)c5BwaYCdDfKc!k-8ORIN}=}E-2P~xeTn5G+`$8(U%Wya*$3y>L@9MgiXR8pS} z(yz}%m-^e`Ggr>H(t6YD3WiJd3Pz1}WME)W{@|WH>js>7I45oyQQNeMknAhOmpwwReBQ#~j7azHziHA_}1V z^F;ihTfR=OBT!Ljz(OahQg$ZvdcY1wJDl z-_y-lBBl||x6*4}(6t_2&2WNeC;+1j3=9mCg4p55y1CA}y)JgWj9++S*U>0gIwr9! zBHP#@ZikJ!i(ULmMv46?UQgn=NAXK*$g-VcE@on>I|Q`=l>pWtC>ZQl;I*f&_lSHX zb$tZCCXQe!Yks*#LGzBRcWvuP@v!0?BzFX@bKpGg5?P*XmLkJO?t4{~$v;2;l(#~7L93-3>f=e|s zgnP=lZc3>pOC(ValFGM`UzP}d;ugCjl(QPgL(2Lbq|)Ueg*I6oHb0uzlw{9+jQ2Su&j?5tbs>zWXPl_{aJU^ ziQ_^cZZ*X(iS`4JgtK2bsmx{00D+XwK(&5N6)K_MX+Jrx4NxJ2EsNiBAZXWPkTnSk zsvK{bDzbCm6!5#_MDH4JtI#8@uZvI>gv|RA^My56f`&tc;sHE28n-XWXx^zycJvZJ z`mvY{plBK>I89PCH1x15O$XM5$+E2p#Xl>01YHSOwstz?mmX`(!YV)~BgtG#;}1Zv zHAw4>xP1jkgT!re=1{vNSSAuT9PM9bV<6V~@{LM-11J7N6LCz)T8_E-Rz{|QcJZYJ zQQz=pnqZfZ6H(b=8g(&^x36%FsO++Omzl=<@?#qHW*U*$B~3JDmyT&bFuTB$U0S9Q zr!UYljXJ9@mRSYi_MM$44#5a6>x`t?0w zDBYNKW6;Eo0&veg{-C{k#@sZ#aNgRq_sh4^i)s3+P~z*Dfk7q1xAO`wetSn=0R@9fhQeZa{^z~#{I>743u~Ox zC4>J03KJz3JF>2UmI-5drjVzekGM; z+qcR+o!ZzDI38A?QugI*ysbW^ee0`Q63@PbyTg$wRfgkq?g#3Wl$V5;3A9zf(?jjv zZU4IX-lLxfN;PHdLKOGXaGCHjzDB+!ziufd@$8GB(<7os!3tZ4g8*uKe7dPzia3&1 zYxH2F%|L$pvwm_bj&Dvx!dWhYSV00ZO&PKm)2NPVP%5TLzgnULZ8t8aIUJ*jIObv+ z5gc=vVD&;=Oe2VC$QR>gg7?YmIp$}dfadzfquErNP(P+oQOZnHFD|9Lnt3q|O(ZIf zb!1S5z!>|$H+g5gyxmwwl^JYxhQG4ok#Tz{ws!0lqtfL$0Hj^)K!lm%O_TV=SE@lT zgJA3SU8~k@j@>Oy!tv)TrC4Rme-ut(m8?ulO=(m;TssR43^efep{lYjuYkB?M}+@G zD>WW12lY>b^s`TF+kgP_<=aX~0>8c_bDd9k_t9PZS`~wEtqzm{@>r0nyb0?B~KS+^^5KL+T52L&G#ef?mz6V-j=Bz@Tzt%#8g1e!B+@ssjG~bzY+y;R||YiW=LZ zv3?Vy6d5ys4IIEp1nwN9fFRZ`cKnJdMxY!v_J`lDy6tI5$$+$Kkd{N!b0NJtr00^1 z>X2EBW>zPewIHho$*eZ0bH+2Lq%_Ti@IZerx2`BWKc-oGy4Xxp8REe-eq|8*IzTAo+Oy7sX%+DtBtm@I z<@+2Y-P6hNJnNa}c{L-L5cp~U=!$BuwFj{b3@R6XUR-p=d%M68wn`xGO}p-cosDaT z`nO95?tm)=g56?QT9ia0vB5?oG+M&`AX*HOLWmU6;v!nK4~hzC(H>fu7tPNbJFno- z7b2^68l%QQ21S|ETqcU__<%Jsx0ESh+14|x5|FnTxNdFVt7CgQtsaRp67E5lOOQ%} zO9D;~w^IslE3a|9;EuKK_S#(3_IkSmgDpzXkeX}rf|R!X^UxS8g0eMrbOEvxbBlZwtk@@2K(n7x^1 zc_@6C#+S>BX#qH9U{G1{#T>IOLsi9Be->QUI}=Kaij5%kIJ7N^ZOjn6m|DLI)v_~c zR?n_kqgss`)pBz(V#yuFdGO0)uxB$A=F|Lw=YA_B3SKdR$_sk#% zrkBir#ktHqtduyue36k%{5`B##vWF?O~u(GgM zFpc;!O_0LPH0oj+^<j*$vafw|XOryR`17D_5XZ4*pk{UtsU>XHarfGIcB%ZRuF=HJWR0(`E zGan49CdU3*rqEwm4I~yKTDq04&(pu#txM~-pSd*@3db&m@s!MM3%}Sj_mfR?Ki)j| z<82E+U;N8Et(rB8-ElYfeJCn`;-bQQ^YASL49aaDTc(L*N%ti#S<;q>(4vU#TLr*b z0gjd|D}cBJNhWf6-T&Rvrc*ceH{s_=sCS{g#RmKKsP|iU>ejkrw@06PM(BTb@1QDs zqC+n%Sol|~j@{Vbnde>vIyGKWqFfUOfQL!YFtIj6oKmqBxpw8`APGH;>t{%77do6I zyE8+GY=?mR#2hbmd>ujb>z{*!Wn0G;rLeCsPZV8Q$Ysw#(s2(o#)q4G;Bb%1Id5p8 zkW4AISR|&AB$(#C_+AsNVO?36hVzav-#nN`RXN@lMfpgMHCrmCx!U(EImet82loOb z$utPSG>2E^mV-p~?2=^{*_}=d3@SPPTw4qVRTI-!7C{+Mrd#ax7Schl(P^t79HQs- zAg`ZA+{X+*?bwd(4jFj%Z98`E0@wS^n$*AgqEr9*@0V!a`q=&rB}F7+-!iyr2h_`f z%v3NqNI>+JN`8?fEBcM1l->Wp!|#p$(5J^QKKh_ThxU$F)hGLiy7V)^%Ag}tS1Fy1 zVjI{)=En%FP7^zlwa>u7Dwe0h25QL%D0%l$w@7`abpC>cKTVw6v3!^Vn-mykx(yk>1dxs&OQR+ z-RILvy{1@{rRN@~+!Hx(XrWxPV4Bmf^rq8r0Cs__V5^F{H|vsOno`ohOw*T$X{cYB zT^gnl#5CzXJb;V(l=>WFURLFlHUG>s(2czWaM5cf;gJ zBvM=wjl{OCqnR10)w9z3_h{Ppu;#OVcyZXJ_syEO#NCLs(;Y-hptt}c#aVnrV;4rh znomZb4>d9aT}N-f|M6#E9c9V2Yt?9RNRwVYx?VhDSci74W4)A=3>tp<(&ejOedfUd zeUD-_eFvXAbIyF+!twojfBxCBPr<-%#-9@3-{7*srb7T7DlC{V6ZppFCN zuJ~vz;20m+18wVS?lU7o(~@Q9UH)15PJP~qyI;9^M>%zBsEDO#R5f8;AlcTiQD%tH zS%oLtX&T-b_5P=yk3IM7GX@Sg7M#9t30x1ePib#{;hUpBS+sm*N=mpvy*e8=Z!IZ_ zbZpb=lCy_qWTe^iSvfL80_AC74rp_b0*~LfU&I;dT!1*=6q$Qod~;4+#6!R{Kg5G+ zDiKP-G;};gtaH8$-mLRt8frh8l@eEy(ymn5nU;`aglO2M<{){DKk>K2n`tOBP*|`i z!_Ajz#I|4)am>J=vZ65gyP8hvk}2`*wcep#N=8*hSCgslVM;XXidz^X83E zHdtf0=gYhYO7#$`qO#qQRwe@}zc_y7j7CX_uuI*SKQCdIJ!T_CqBL(`VL?#|d+*VA ze{Ehr>!EAT9{gN$lT!zs6aO(PNd$9kB& zB6`|exo#w;&FYJ8+_Lq>QDd?)GH$x;g64-b4u?XKXmrJ@wI6@| z{lhQ3cGX408`P-{<(C=an}bBKM_={s6A_2e*~Tg#D7Z7?h@P4JEC?vvlQTmc4U!<9 z5W#te0}f9V?g@^$x#!pt8rG3OOp|26G{6%KzDy%3)6j`h-_8OtjoS>MmP!s1l!j^O z4or|N;ZiXTGeNTP5Yq&^O2IVh%{13lPGuSenQ8txNHWu?BFk4cFfjN#f>C?YlA_%O zbpE~d?*BUP;cp=(6S~h-xj-0AJvrn{K#ea-O)cTy#KYSE7opVxpvFBw~hMu)dQZq z?`rF0T0}F57S!a&YS{!4?QL4MI_Bu3&O3K_y*jn6 z&rbV&#s!yL!5Zw_`{>tSdEOey(&fuf9&!e&?AW3G7azZG>rZi{r>DRE_B-PzOrF1B zVUs3}uf6K>lTRE7NTs#TR%l2&cJ3JU-iH$>Pg%NbS)E$7+O%nP%T3p}ZPVI1aL10F z?|u03{m##mrtaIfuS=&+H{WPyFbIqtQ0KfdF-%fl%l5j#pEh7%+XqvemzqhI!ZX+p*( zHFAxe<`r4x-hH3QfaKT5C5~9S2CjTPJ%$E;(<~-HiZ0?flIsKd&Pq39;(DUaTi~^> zgiQ0F=rYZiFVmE(mP^J%z_BC569a?49T=}S?v4(BZO8EL8P5){&O%8SzO`fa+9a$I z7W$aGzPLs0l;hf^^=q59Gk^Pc3ksn;(7JAzl~=vLYt(NQyZJD;kadG;MyXq4z!V*^J^k z^`mWDz)_vxh_)mnOtu1<4E6S;LO97`=2pu&c|hML4eK*`{rXK- z{0pL{vaKEcaw%5KtiVo3@`7c~~EL z{ON}ted@R0XYAR#_pe2ZZ}`WpKmIh)@#4#4o4;`3kTcGC_Jx=JoI7tH3wy3z_tS() zr=B@t(v)A=QN_h2mtAwiQ_nm~u2vqro< z>VuW5R&U<2^{0tH4;^vgQf4J`t>wN4AHMzW`)AGmbIaCk?8K){|NWkS|M#r(F5b3d zyEQ%g@(a$nXyi+;z4g~$i+AVcZQQi^`=2IUe(g>FciWxu9sJ?0`yZS!bC$Yd+^5bx z>wscA@WuB(rKP8yHH2A5>|0Hvl>RpB&q(}v04d?nIj5bJnwC12&5Z5Q2Oj(4{(Hds zy+)REfh?VyYpW!I+Aci$fbv5UXxqGWy!*I!4L5Ym+{k+3(>rr+VV;(%fd^WhrTwFvu7QW3E&R{U_vXMfx|H^)0`L%E_s_&E(woV zx_UtqYFn2=t}GF*$ZbRX!xgG(MdKO)b%^wZm<-D+7bS z9|*tnv&c{T`!@fvrg+93bss+?H+WM0);-Z44{fb|%f`_&@>y$Vbjx6s{~1z^zS!{d zt7=-uJT@$sy&Q8{>}Aj9sZ4(9-0E*!P-ERg^>;nhfYsNlrmD_A+*qr9gIHYTor`O* z;~VCN_C4Ex3Ei67!IF~a8?u+}>n9OA8PqBLt7~d)d9411N9uoiWzFWb!&ZG^F+4gn zmknm;lMP0XbOzJ4amoiHV}soKczt#*O>5fq)iVg2qFHy=&40Gx?7Qk-(>F`$h>dFd z6Ahv-G`!@f((l}z6w11b9aC~HJ2HG~Cw)65@2~7m=MB2{ zf5o}E^ok*H_Xrr)E7ZC{lN|Enp|EZ!*?4bw!+m7ky=3Ekp?i*JgQG7FBe(WXdXU?9 z?0V&$57%wn%;au|c7!ru)8?&x295ag+wp7HZ`!#lZ`@ClFTCcq7vFfFz16Sxk*u8Z z>kRA2DZkCMgkPt}RK`E&{k3IV>}JgYeUAo%(u4o-5)wdm9k1#}!m|!o_qzS=dy5K- zYSygLvq$%~ty^u`x|JCZB_%O`539NCk_$U^>Hslb?YQ>FTbNA(l52#w?2-xUgBe9v zUorB9XP-FwsGbnl?Vfn{`Di49UF4P=iIm)U^X(fqZqBV%?coRRn=y65OaFU{jg8qw z_x}68%vxhs6SIie;fFMB^5i2AKK=MZS6+5;%NEVfJpDARb1Yu6v|4udfB*e2)=2yI zZCOoWLE&p}ykn^+KTnB`lSlBhLjDWUM`C-(n&+Ki~U%Mst8QV|=GC zbdQ{@tSLGx_Q6}SqxJgONT{#)f;;^J*15IJ#P#vgVx}l1UEi&{+tgF}W>1fkGbY*x z)S7+j1l8F6I>XWQf`OUlEDOla2jaHM00bZGz6cs1L0u8w&Mc95F%6JafCnUGf=g`8 zs0LUd`9g&$P>`8(-=D{=qo=kHtULH)- za*TJS;gx~G-wZqU(Tm^SdHgfm&OAJ0;eGXvYnztT$8*wSp1os|000mGNklM4)?_do3LNF;Lc z<=0I6ZThzD+du#E>x(ZuR~})!WtU8mmUrQ~=iGeLb?l9!k390YlTO*OW9O13OJ~lS zb42&UorB^Z_;vaW7V}}RhMsoHnZr(F!odFhR;^z1(4$YXP|~~w3-{$aSBC}->K%DR zk0FCjy7eD7f=iWs^3nfxJM2()qRdtCkK68MHH()nv(%H9UU|zp=7Ia}8h*x5R&(uD zm-RbwNM7EaDZfmcw_rib7R_H_)>Is0-hI7w%N9%+cIqh?UUm%=-hBJLt43bbrBlbn zih}Bob{F+xx`U)lyQz=M5b!PM&Fd>|4f6!Ofeu zHK<=FUMuN^TweqakG>=$zdj(d0Lh|Xq|3@VNO*@aWRHO(bNfy5?kCO+aj}$p_o;Vg z2-4kc>S_39w*x{wMpg<)-hC830DI)liF(*4f~qb9N(tT|Z5wINc3-N@2St%tM14E6 z#!tPNCJjZm`tI0~$~14*DH(1;cJ)O7Pd8>4IJ?g$n}g(L8i;yu3>1ZF)LDH^9Lb+) z6g-)x$w88t7L;QK27e<&sai8(aZ!i+Ha~b;?)d+!{ml5iH+{6*zlAzEq2F$+lao$5 zHcZ)9L?8P;&=v*R>E!D7cfB-u-#vqJ{yij?Yor|T&rf$Vo1|8D`2FemAI~a>yr%2> zWwS8J*tvygyu7_A0*z~g#JOjr!u4Zz{cqwv7U{a>`0PHdV}rT)s4RABU(6{u^OYU! z<+s<>I;m6o;4bMaw?&R?7dzmnN4NgAvY4HCTG;7@T`E4ivR13Q;ZeWk-#0c7_7^Jl zL9qf~ynG9#B|t*(#RKq3{GPN>v_)2Edvh|-nD+cI=5UG^Ov*O!n7H)+q7!ds(DlPa_Vn0r~LK@6Z#)>RPQ4XXK&@_ z7fk;3_gGDzUSLorC?0p0OcKcyds2b>P=%*Ih5^U+jaf(hZZ0cZiDA%5Cs>LA3$vUs zpr2K_Xvtzpd$awiVvk_niL*CA44pf7v__JXlijyZZ>w_k>a~s@X)8Ig+$Zbh+wXqR zx??x%k6A}n<Ir${3h6SmP>3x({`PZT)D^{+G#CDj3!@G5jTSu{`*#Wg{#qvj4 zFl~K2LJN{2&Hd{j>0Uzr+q!*wPIgvWYN}9|Hg4H=-xDuv+`QFNtk{aAr=@0RW^UTL zRe1OLn(DPiN1Fu2yAQ~(4?*JQ4*b#u7-J$X5tFrLugOi~FNHYc>mfBq)`Ij89M?(1Sl%Gbs9Gp_(E(n|0~onXym5N9&%SRe2YI6XKe>MSAC zq@n0mUqq0ceP0x&d9#jircoq=hH0K9L3@V~zUxCNnMU=K>%lZYOmjt$pfpT_#7s+Y zNj5MzNWj7@8+S*8goDyjVt36k>!_#%`aHgM{)RyLOT`g*Wy(G#Oj#Ox{!i`fq&56x zy%ufbH{<>ES7A{+ZnSP^RJ>IZg;yrW2J_=zvFxc@S+T*iiyzO7H2PxfUOr|WK`bpQ z<o#pWcIeHtZZ5oj zH`K2ld$=t7O?ctseZR~&u~n0dx^>d)*6Q22Y&YFNU~T`?t^@v3>I=O_|F6`t|Me^kWaPx5SaPYSj`dO0^uPo^`V;FK>4| zM3$YMm6e?de3*6kz;^E5y>^{E30$42TdxiaqcLIEuARVQK}gHt9(~)V4vI$~Xx-Yi z_Uzraub?0+GsCJ$O$l$?u`@L_#cH2vUHSQid-L<_)UM^qK_XtUBX=CBjF};T^Ftg< z%vGY6o$MnJcLq}ZE{m>Gc=Vy%a*%NQfNTbk+7y%Ol^>Gm$I`7xQ~zlOr%aTC#K|g3 z)Qu<8u(4Zz7ssyc z7u`eO`()F$oii4#nX+j0Pm9;wJ9%#PcPI9ox@cpOtzv$(W5>k3r3|H|r>7m-v0aaD zU6?#?!6GOv*zZUEx-pf}+NTTR8;Dy%H)dmZ>@Hgn@t#(tjYt;mzDumT*RJX*NuD@p4f?3Pv z{}C&#zxjV$cJT%5tv0P&ef7!vAB=i^;Bm)V2TzJJ6mGWo*0@mZfu_sY8e2qFW=4r2U~M$RKH$06k4}o zlcOlfA7*1%wQfB-reXcMA_s|&-{sM#lI)HhC7T(7<>Yga;-9i>0PSA~K8z)boFE6u zYQSYPaJxb*wb(lm^#!Ok`_z#|0pc6MjSECd<)@zaqR0fTzRoCc>CpC|2pS;DL2`Eh zynXOy8rJo}?H_Su!4s<;Po`;DCnA1!so7;A5!3WJNPbKM(8Z1{rUAIvg=HPnsFq_M zOv8K-Oyk#<1WeO%j321sm4U(E3^lXJTNl;%;l|n@|54E4zRmvD5r_+ET)tt?a?E^?MUU!1|pfC** zF^yswWR8J`R|W=uCk*eN@z;Iz4sV*;U2M(983l4QAn))Q5V;E?SdM~e*D=9ds%s2&&(Nj)S3UUx?f*c z%l`(#w|>oEvm?^3e#*={>b`Pb^~pEaUUYvwR{zWL;$N2+heI&o|7!nsTb<<()IY1c zvsK-qO(j#76+JV4Z(0hxeNjzoQ-}S4GTmbL6^(uw+lGs&HSh$DWG`E7|8|8#Yj*7( zyI|>-=Cx?YlOZjQM5EOrk;_Wx!?`tJP@i)K^n7mg58uyT`pe2K(UdS{wlGt(NC?8D z0HPhX?t+v(B)=eZU8hW&xo7XbAt&~S_&s=SS~jy1pZfJV5)8_UM7~wuQpzNW zgL~+?-&cS*n$U=I&KmQ{r~CHhfA+=L9XoanKI!=PKm26Y?AYEL4I9*tJ--NO%jV6~ zGtvtS3RkXL{qn1CbnV(@_wL=J-XAR*L)uadKm0V|oC`)C+PULT6Ml~0q!-(RuKQt! zp+oGk9oM%{r%oN_&tLe*tT`ht9C_C1r!_sK@%C*ymaSa5V&$qQA9?WmAIHBn>Vuv= z4)1o@q0Claykx2M@p|>@xm8(YpWrivOD;Uu+P2}YdmmV^@UJ$lTD|<*TX}i0;PtV6 zdbe%eihc6Tp{IQif3(rr=U;l&S zv1-2k{>OH0Tc@X|Z{D=!A2(h@Jf5<0>IwZHdhV5vzWV;m!N-T0krxi1H*|>Q5igEJ zKKkmr*jH)baTLnu=`@a(3?8NKQ<@fn_bWXmM$=cqF(=V4lD{p_zEc&{yd}0B)GriM;)PyHMh%BYWVXbR%e`G zNiKAxfy25u(CN+Kpu_6>BU`VE%E+pQ2xU*Usds;-u(N2$ zP@Be_W*V}tk=C|Xh2gFAlUV&J2=~ili+pF57k($k^K~kjhVahbscNoq_QIWGPDgFz zlu4mMqE|q@pW4CoExJYyh5E~O>zy38Mmk#2=Xuuz+2EcI-<#V4AXO~P7m?D4Ln@E- z$wYD#iui2NJnP90&Hb01TN?_4OS(=4>!Q+^tAhTwE~Mya8o!w671M98HUyq$Xv3J{ zk9(0>sVip{>iXXZ7oOhN6n7U9jL*n}x6bk*plK8Hx4p4o{;7{|~qbq!ymGjKW}N z?c1mdG2Jy)rctdVqnVvmLM&(**x3+J#+D)Acb)&X?s?FAd-hwvb=LCMrrWes<+G0S z5J*Eqvxd}Xv~jw3aCbO2a0-xTm-tg?WyN8!CQ+6gv9Zc};yLU^pM!^+=dAnb_WOjp z!UqONG!Bug`>&}c&Gt9M_}ykf=D~|$P|4{Lbf{k^Zgp>iA)2hQggmNH@*6#5PL-_7 z`=}w+Bp~tqaMeo>o4f7iS?}9J>YicG)2-oRjp6hU1=hCfO}Sj0VKmXxq)Lw7LHkDC z=`%J%Uc(;qg&a{o3h#Sloq>s#Oy>^S`A){V#7YPx4r%#CfuC-oY%@n3pvrv&L2h0b=7Srn>LdGA6J}@yG*yLFx6F ziS=?6sTjFJJPWfth{*1nczg56hdmn7B9;F%LyqTIe~*Rq-t(p z(h{aHmsHOpr1fbirHPn5@kL_yH(gS0HwYJQs#KrdpXe_xhvc7@bG;w%H~;!R zj+sA~%PYqGRs7y^=k${!)j2lnb{pd~{-en<`>tHi=2hgdito9~v`tXk&md0dc%jBW zD77;i{X!1%_&q-l9T;Ca-$A&x^_YjcJNIV%Q9b<0DCBY0n zW@3_gFB8}E_m9VP7o>->q&Q;5^k$;zFDRSShkJLPmPvwyd_{<_kW;HI35-FczsYY$ zJ_zu=-!NRxord*Wn(F6Z2zcqat%G)JYM_(F;vJhp6Bx|(z?}~#m`hy`>jNj4Xk&;W z&*df!{Gq$^mBvDBxq^8?-&EInpUx09OJ7>d27a;|1L`9u-yg(|RO`ep`+jJ@tr&+a zR0}^As;00S;xk2Eiye;$J9qBAa8Y!N9tYU$y1I*Zt$k4y^*#7~r1PIhI3IaE&N;;D-93IOhi?Q2^%Lmy@XGGI@D(H z2mGwys}%Uzn&7Z;0w$?xzigrk!|P>rvn&*7%khG|{r>f~+;blLV7pi)^mKWp-#AR> zH=#eELYEINZnd(q?s_@CGWEYXC9vpC=W!04BwpzBJaYT_i>ll22Je*fFZxWA8YAQ#I>(tdrtHGM+${uGhdmn_aox3+T*syFNgw z-ko#T%FCx;aYw%tke%#e_st3a!9{FZ(dL!>;b;_5va5)~A>;?+^*FZW0 zo)Z#HODAxg)L_~o=vO|?v*Fe|lcYZ6-E;XLo=sindRQh)J4=-|-MuKTh?_1?|3F>pD`rLqR~qX(zJk z_yvxLTL%46x5>)E!6^Q!F{|;ToObXeWnPVuZz8Kb9}frR8&J@M`-Tp$m-*Xv%^8_Q zZY17P#ILt{IFF?+Z3us^TfcEk%Fi6g4-kjm1Dh+^?N3CD+Sh|1yK3UyrhZ-qRCYlR z_ppr2+r92~hqe2N$uClSjfvrA_Q^0hKlvS3ag=K(gN`1aKjE3y1kt{< z-$Jcec11r``hZ;n3?I;5+Lz$ig7vv@EGn62?j!_90M|dAK7b!-?w2%UY4SX=8CI@9 zS4qD|G}Hu#;`Hn{D|w*3+WRe|tvuzIzg5Bz*&QlBorYdu(u)jDQi^n8eJ`*`keH1* zDs=|vT2v&6)4kg`U5yYb1MaG|lYy!Ge&yZ>2Om`u2#tW3{nL%?YTgig!9G2N5x zHvTd_=Yk+qFFs$3yufWXd^;6ue=|DK&MGXhAee!{-L@!f`<-!x8@!}*fV^nUao9i! zrHJEt>m_$y@vY`8S=wa{)!^eK(@OFqolW2yjDWR$Gn)3WQLlFWJEUXQkK8i z3$^s7<3BSW*w6OmG3Pn#Xh9W!>P?k~B>}9=w?aVEK=JCfw&e~}(rxBXjpPRnlv+x3 zMgF~CAd|0hb5qsw)&{J!DTy-H_i6Nz_1qrtKc%a>UUAD zxjJR5*pJ&#NLIn!Jf%)LqFDNoLa=*T1=sMQi1Bqx8^8cRDiV)SG_?y7{URlyJH|k{ z7p}I~&Z{G@W(uEO@j11F=cA+YOc3=pn`S#&R@h+nUwEqs7o8E@Q`Q!P4njpvWSk4l z0a>JxkD>H1<;~mz&+#IVvP_Q)fv?5zQR(;x5yoRxn%@d6vgI%mIOZrh=Wy!T(@ANQ z?dB8hwq6w+6vxIJIF-)`pvq|F3TaWO0aLKWYEb}RD-2o%B?5h~tB~xF7$Os~qI9%z z_~|Apq?HP#zIS;~^aJ;7zA0wg8!=#)uq<2AK{qU81(Uxl6)IJCb&35(YpNk5TfM@@ zLgzgyp(g6807=b3v4VjFB{<%(jNUE}hVVv}{-PxL_>Y7pZaFkj+`RmPlMlLN7+7wY zWAnW2u-f3zz@UR@6;_7O;u_%?mTa|H#4B%mm(ZOHx)>+Akl`6hR_G7EHl+2ia)Z*v$)gAm!n^P%Cs@A~$z8@B-#Sa?ZJCx-JcvNB zyAw)u>ioz34AU+YAB}$Us6uASSTza*MH}fFj>8VMj7)_*Bt<D%`kHD!r?Nk~;2bC1hehnD55ZMrQ|tr~__^Jl$e2H~y79G1 zP`>^p6-%@o%wYymq}`=<iC7IErkkNW8C8~h;(#-92xR=LdyA%H+Kp1!c*VkZ? z4#V!M1GgmX!B8?n`B)G>zW$>>;17;VEWfAp!dEH`L!-rvNkEYeZmsaWayy5k-~@wFZ+UT$z*)93QY$0cw-*ib{#}0|p%IniX{ze4llNeY+w&oJy!7 z1g)~{DAVZoX8#_!jAwb|DADw%BcRLyzw)4Wr6I_3L)oox$^Xi|$q&{=kGZ$*JUohVIrtlQ!eeEeOe zT&p1t2FI!f4#?(b8PV2c=~Lhnm8Rw-1hhRe674v}&n7}uKqf}$h}>d)sIe;{Pn1+Y zXEcv$m%Kqsf7- zOifmEW!!#UKz>RfbvTbL5afQOh5XE#=+bxJYRF7Xuy4E4g zS*3U%!0=4YBLHct#0A^UMmrFh?4{99W=`^MuUnp4L=x#9a2aEBYF2r*b^J(?d#%b z-lKGOLYr0I6xSy|ldtg!S{v~@+07MnE9%U3W0d8XK+@|{)&I=`RFi+g>3M1q!xR-F zoi5U?!4=u2fmj37d9(G8b6M9`F>Ml4lNL_r=yv23ty7azD*duf{ zxNbKvP9sJiRQ%haSIUVcXy{%=Q>Na}9%ZLB&8yo&k`j>qb4Mr`zb_Yhhv+g-_c_u1 z(`9*;z5tW_F%ky<($;4j&l#x;EXqWq6`Bcx0#7Ky=PS`vV5Uk#h zaZpps4njnmh<=TW(E;f$n7`g~?2)xMaVf;lhPq4FteL$xX|R{jz`k)QA9GqT=7(1s zmljgzvJ8z-3iYrapZfjX=x)|B%vQ0JLzy3`)y0TmKSlDI-6{gOO69Gr(B(y)eE2Hy z4#=>`JqZoc9oLShMV0$gVB!&{GvTiV%SNyQS4h_P75M1U6of_ zOJA?Y6D~+VKzOz4;_xC8Cx{P&A_`Kx+|!d-z6_E8>Wf@FFBRbS)4DfNuBb8wPOkYe z-|qsvR}V@kH{hOUJ*;wL0$y4$^IHq|xp`qG6|!v_FC0?_TF~Ms8LfG?{qFluWbumg zs2ApBLv-fZV*=ZgylM~o*N2lG(n?_{X2cxEx>ArTBm;KncUluC*Lp*529~mYgjjpS zVp6e;I0w^XfYnU&XF7>Zv4=koc8JOg^=H-km_qZ!s_)3s|Tw62O&uy+v5Me>DE z%jy0YJw!o5d@8}wD|kV`9HI(e{a}r}MElgILn>Eup2vt| zy*RalmiUWyJOs%DtSnzyHkW1P4SN} z;9mk#83NyOF>G+IG^b@BP(%EZ@~FOI&RtLZscK}iCmS-(P8LO!*PHRaX|7E49_oHn zPVh+1w8MA3PiB@cu@fqxNrGGza7* z)zOJt`llk9rQ$qd8PnF&zWvq?1F&a;=& z-SlK8jzR_OL-pt}I&b}MYn@@HaDa%wLMV|gPV56;h~UwXtltRCthPq!go5-=4BX&N z1SkXrauWYHUy%%Yc0rD{Jp>R=To|4~YmO<;D=V@aE3#wMfD0t2M3+TabF$=y-|kg~ z?2B}{rzJMT=wrN7xD@{o@8}Jy9;lZEp_W@3DQ(yox{N05F9*(59Dl2JT9e{pb!YjyC3Fz%2^!uANg=xV-@wK9;2DZi74-tizqvr>2!zn8VMdYjRxT4 z6*c|fLKP33=p;JmZBKFQ{N^pg^88XHW|W(8!y6?@okh!1(o#HBFcNU5T~(X9{u;GZ z>95z;@!afll%4Foypu6nxR{%iUrUj7lonwPLcsYN;-6ML>OXL|j_@hlk-?=$T?i5R zMq6P~lJno$?GcDmNJS8Ubh&~1t{~ZIcC=J;q&YD>@inow?Ol2d>9O~UPz#h#YNKXo z|Gra7!8Ej%HC0P@y9=Zta*j04ZUK8v7%@%o{Ktwp)KIi=6}MT@hk>h;c9!Lr&qXqb zs@)N*J-}-NySR7?0X9C2mc>d;6PIP-god(=!x$Mve`=YJ)Y8Uh(V9$X>U}nI&``$% z`>uX9tdcm;Tpw-hh#-D`QkLwQ5Xk^RgW!%90cQ$+CQP#fQ0P`}lg$D58=BrVy7c6* zAQBy_96lxTRtZoL4&84EmPc7&2xdb`6Mv&q8balbfuWAWGs%SPnGD@FLM?OBB7}r? zFBv1gKQR2k3JwFV{!WjfsO|GqP(Jc^DY)$UYx@u>jMMvxm$vSJe(5pogCeXqS z5inx^KJ9UVekURvnd-N#%qJ5*QHaY=3_%}hZd|R!QKh*CcI1-$$l||De@8vICbuJE zJaFbn#o8X|T_rl~+tVYU){Sbtp9~xS+r#&tsDTK{B+J#t7~E>b8#-{j?XpRs)}{2@ zEV!f`36{H}H)Fy-GT_b#ehJbMRcc5W6LYp%`qecYM>8ZwxesM zINo~t5v7a+jD{_cXtfb~C5u&KpT@LkWL+r0RJRxtu{|nrJSuUJB_cdfRT!ejz@;{( zF_7*&tIH_A7=j6bI!#q2rc>6dj5qBz{uW7>H9pZuqyJ7-&nzYc?5S#eOsEO8HT&ml z%glyh0v8o5nGCa}o&>#>#`4dK!#vD;WK4_iZJW4Kt$y4H{mDnvk8@W-aE}%PYZ0{L zp(Ix&5Qu2oJ*4F5l4r3HDpU* z)zc87(&(W%73zt&_brN&NXzZ;nznd@4We*t9Bo9y+R4kNcEcI^a*^XoJFg^kK&IY3 zV8A}ZE4blHYtb#2RpdOJaA4Ayn5K%XaWo~_(5zG{S0H4zJ3}A@v|sEzFS2cv1otS$ zt0+loT&O)c#q|sqIVcVl=6=%UN`EjRz1^ya$eo%Wv;NBCf;1*8M~DAnPXv4+Jlu~k z?jSt0CeudvGX&WFTkTjy16`vlDoRKsX=^x46|NE-)VXtr7jqH0M6y8$n4<(II_F+B zmqq>GMT8}U8_jbI>u92TA^=E=&UUo*&Q&mM8)I##<IVSZ*i8C*V__ zN80lu^18`{NOtZi*rzEnv7Pt~cvE4Of1!>EdDlrrW zh{FF0up>M)r?IBY%MYvJQBM)Qs%EW%n-Y!vni%O3KJM$c5$5693zN4`iG4&|W^)bPx}+-P+82zhPZuuzT_6^gB4mC^IBN(VN=mE_9KQ`v4wog2Y!A0 z$LIqDB>^rW6k-X)($!K|5V!jxwF4$c>H` zesj{{U%v1$`xk3S@lpqMRSKF4WV_&DsO@fpt5JX1ekwCrM6Dm&^;WXt>1PTEp8rsc zr;t?jY>|w17b<#p-vpkFSTIvg?b?{Fgh^VCug*q&Apy4_R>+x-2`4m4-e1GocHir@ zJfY`=g)0J+(52QN>(^p1-T09%3}6VTSoII@%+b0yM#;ei@LI#3-v&&&lG~1z*v#pb zBhr~k`iErImVvy9X4O3wOAkD1)?_d}95Vul^5%IA5K1oSbb(S517|@Q-i8tn9#Nth%(Qcpm$ti0l5WXNxyQ>KfDWh-k_mrGaF^}&J>r5; z?RJBU6J2R}{b2NK-(?HnrEbx6X1GG@dps#o-eZ(cLlKN)X{qKB*MtvEi~v%mA!5r=AD-gMV~i-nul~jypLE!k(c?+riHzEaYn%IiK*OYW!?HD@af=^7J1l& ztR3uiS3-j%FL^*Qy!;}!{@Hsi4AejX-7O>x;7?(GEQlQFIM4YDisrjJ)nahoxuYd% zJNIg2hFQkRnCFcvNUq3rZMuy}&T=Z7XInIutFBX{Y<8vZLsPZsq=?=@o$*Axb4%s~ zpn@feD-If3E08p{@(|+#v(TAI9O+_~Gh%7J7{fYd)6^Lm8IdwY$n8TSwS7p;$ znnUcRN2rC7#uM!GlCe?0?&ysSezcS8;J8WsdXVO@06JN#_Ywxm4j)F0SUvU7E8^>u z0)Ki&sxn=ET`z7ittthW1pU2tEC^iSf@!G5%huB~%4-=IQxlvBpPx^1G5Sjy=Fa{J za-G83m~rVARhEE&*oDt4q6NRHkB-Pw-m*so>|KZd5aJ$Krww-HTfz z{f&}>L5zPL!9dy{k8Dh4bVWr)C8ed8J$*+@PLqF-hq%oJ&&P#ECJm!~GVv4xkf>Q% zfPJ#Ltb(O16*e>roWE#%)4?H;9>K(WqQ2Z}QDh;75JYHktEBW1gJ}t)cVk zrW&lHtarrC*cHNC(Zyz98!`J8Y`|mNLu0Y z?v#a{J>i<6xCpPjt%rLF^)!xpA<|Dzn{JXRU`r#)$|`E9P0O_iy|RHPL61+eR4UZN zaeNgG3o8R32_2J^EjH94k8+Pv=#ELqAa6gM%-MaN0Hft(m(ulSb4E~a zCXUJxx&Tk28I5F?`*N9CUQDcs5D+Uk#3bFB8PY|>=v%5aCWrC^VD$!YF&75&LdwQF z=2V*qAeNQ0M~c$`>eQ@L_L3vLgAQiulK(1w-+zfJ0lE$&iaKKjKem57OC2v}H5FGc z(}LM1l{CPlVFgM)a$6c&b&o}w_r`R`GeSZzd?36ciw)6*517jtjfH?GxuMTLs9Czo(tvmd1R65JzXVDwN|p7VB;JIG z^c!)6!=H{6i?$3BL#@8~;libexVg$m-(UlJpGnE41N0ju)i$s_ZfiB46r7$fyrB9Y zDX4F=;CsBV<&^#w=BS+0br4QQH|^T6@Cv0$tTN0-jFNKcUIS;M?Pa7RzuTJZu&kl` zw22ymLb~%44R$rB93TYpSH)2~uM602v$4Ht+B?Zw^tuY}Of^NN}TE&W*Hz`XK;$T6D=ToH~gUE*zSc zq^Be`RP++s7x!-Ph;7~g`D7I@)G@_f4U!U*lGL`dlJV8k9hPf9VVXJc<;Etc|G1>F zB>1EGUsT64ZoZRvmOS&72j$i{k_~;v{03vNpgpbx%t*f%li))Ic{k4BXM`+yvLGhL z=r6VX|F*qPNCsr0qLzZa+}qjUgjdVK&V+sUXj2rAkM4Hc>rs@a(|o;uouH563&JzbUw0}7*1a_qVr{aPH8s*YCTq?dEER_&H=vD z^w%CG(_@)uLsd@}8kW(H?LvY|)k3CXV%XqX>+rM>WZjJM=KYY&Pz$R9v}objN43&P zsP~Yr?j${>sw~Fv^#E}3L=D57`n9U9b-@`kwIOnoK&Q2Ou&boB)GB?cAam_M*sfXtpNeJxZRL&CO6+>z{|jpH|I+k)-3?A3 zAf*6qC{EL1I|8pbejBGVLaKQpsVPYTT4T&(k)SQfNF+r^Q)|&{lg*~&afn*TWq>4k zki_uFg$sPAyEQ^-{h&jb5g4qvKxFnALXk^}E(YLWj0A{GU6&(a|Csr6T$`{bt!js& zAA-vsrCrl=8?hlyl-j5uC`duqt$Fb#mNIxX$u6=XW!ahi)CSwdIx_VO z268XA3jwf(aTfz$we9TqL5Ku1S#6e`UizL%5}4E7jFJh+Daf@^DKS- z#KJA{gfG{%zx!R(JKmutJoKIOHbzt>{)Uf#h%%wIwmw=JSxYic8ysN%Yo0d*i}ge* zNCrgPy+wBA0rP}(5G6#0xRFNP9a_-9de>usg+d*9z$y4#=vPpz;$v~s8N8t32~WPc zJS?XG?~=*(0N}q>cxORb&Pi~gfKcQd@>BJQMoyuig|v8~Q8Paw-`6ukO->|hiPC7d zViDChotjS?nkg*+566Qo8Kq30IY=04wdOj8r82|h-E6~1&SgIZ6&xE+&XjR8aQ>Q3d zAOn+~#1pRPIhU@k?c2fq)$Sp=RlX3i02I5vt=S0Uj6~hVZ@cYFz88|r#b{VwDecpv zU#e%ay~5pa|D99~hGLaE2Lq$-j@D5k_jgK@W&guG(Q11myUX7-gI zG3qWMI7HsM=b=F*mTVMlhO3UXDlyG^oOzCy`@SB7EtLS$m+0}|+`!^o|S%sWUx)X9^LW# zuAcXJsd<5RFgT{m-Fg+w#~Ty7FA5WbqJmb``~Z=nC~u%U8ocrKY-Wf8hK7)3&mTJV z_R>|memz8JL~5ta3c-QcQZA0Rt8R@0)bzdybN#CwuXb<`zFShGeSIK)0Zjg14g$H*jo8@>3Exbf;{g5BK}GYPCh z9kEcCW2Paef-p$2bNb$stpnsB+8DTY*FR_Kp%Ii>RCtw#uMD25(IUkZCgg zZ$R-OgbNI{7Xp6;SFtudE1>C`lq|R*sArPVgOz z4&xCit$Xy~pUi*5m;d)|b)6*O6YV(5B4EmUO!22xzSdU~W`x0ylJ8on;eoJUMlV$k zy}6}vw`}<-As@@2$Iy}JNN+s_MusHO{v^pl8i`Ozxqk-f)Ys6 z8Wa^(84mCE>3i438I;MNn%jn{+aglr>ZHQ2g~q7iP%bAZouu0Jym)KenS|fr>F9S0 zPR!2kuRBJftn70??+GXrBlBB$uz`5E;&J@2@&~|K1x#eMZtc_tx#aGP*LIcZOcGCt zO4;|avwU@Mq&`RDeOfA)4L%rbZ;XQ>Lg`v>@L02`{oe6X5o5nlK}3>Zo-&=mfDuaRVANLE^{}dxn@~C)Qc||*x}NxY zWk%ziI9AL67vfz%lMThU;^EQU8&y)n;88G>m$64&X~o)Mq6qbf7em-O?-4|9i?6r$ zVL&wU|F@F*`U#CzoRH+GZ{Q(BnHASChT6#Z4|fu>O>Q8!79rjOlAR*)LzSiqBRi8> z?xXdOUEgL0s2Ln?;+HROed%cR;v`rTre{C08(r#a{Gg`!-4HMgqf2gvHpQ_6mKg{cQUF?3O+gO*gOScGBvV~-ORyuSdKFu1NDv)|s zx|Tm1AL{~l;$7zaNmL}orYV&?g2r3(m33ag82|y{M3)TCJP&gX7ql7o0P|Y)B@I8= zW3W9JT5tWUvZMP5{|%O>YHPoJ2jz>o5xGDD;%YaW_I?vk9C^$N4IoeiL2hWOAMeCo zk6WH{jrg91x3?4Iaso~(&l%3vQiC4zV7*>9lZ96FVM&HD9Exm^K5Hjn+Rct6@bJu5 z>Wv=ly&UA6~;B@6`=nhx6$|N%9WX70SdzxaR3-#$W8oR+`tkZu9d6pr|mX0&nKNx zEQ?i>Kt<=ZOEB&eIaG8<|aZ{+W9v z;J9H>Y8~s8y> zrm!Q*+pfJjCh5gfqJpCBq)cVl3rCWZ!gi0xt?J8!fWd@F$X~!^itNzPp#B96e77k1 z(14L$P!IZ7Qjm+F(SBjup;XhkS7!khx!6sh(+nh*kWgRbTx&BA{C z`CEM_Uhi_zu$23%>g3cc{C2e)Iqv*${6g@qMgAJ&P`da=Kd|?gAw}Rum)#D89pI(A zai-eyP+wP87L;oOwXCvOoDnL;7@M3jXmj_8wO;@<*)_8`PjBzBShT(qzBc;bEMPhL zhv}IqGr4=+^RJ5pun;PKkoZw54Ct%z1xAx)L`?z$8WygC$0n@UJuOm^Dn*@>Z` zHxVd#fS7kzYC-!vy5TyB>%F@p#Zi}iSAHGmD2+BHPiW+KYT=0U`4l0&lmx&B_X)6;&l<9+7#4hRrR zq`r8GM<8RHWL;uYmqsYO$9`%+liP7JuG@9rwi~0ohjXf)p9Fo@s-HZdXwa8u3^kNK z4Ws9Kae>vTW;>SQF2;J+JeMX}v;avtD7Gu$ok99l$XM}bo=<1*t@Bj(Gwo&nraUx{ zr$muyen8#t;H4B(Q^#RKWa5Hk1xlJ_{}vljnybT5W-!nGw?zw~|LPtAQt>851UdRw z=}r#8G61>9ouFcZ&LI(Q63|Ga^Gw$_v$S^O;Qpf#mGrjRutD?DwhUBb*E-?5+2A4P7=Bcq z0?N!z*Z)mS^^2_Yk{C*9a@a*bUTjFIa2@Cf@FlY3v^r?ozQ zu9L3}Dt5{Ves6%(lZ)#5?bvy2C=72x^6f7zpz8J?SptJqIheD(qfg}(U0K>5J+tHU0<=@B1O@^`jT!-3?;pjqeu zpkEYfMcM%&jMPUwM3=vXQaJQ&{!KfYKe>V5g#=%OkWs>e2(YV3#W_*-A{tdhkM_L8 zx=tg;#oqRZzeJ$p-zWyX)!6MIsG+FIw@R!c%!-#)#k3KZ>C@b$uyFLFa~2hs7yeB<>khc|CHpNuRZDYzh0>R0KnHj%p@QW7T5%Sdc5 zz0ES$IeLzhIlIxbew->2&s=@;7ne>H8M1yyhDOEd_YTYBRBSmsVM()+ zrXVusq&r{{?nmxN**0hrphgHy3GpvxY`D-``;LMT>V<)0Pf^s9bt^+Un(1Nt+XGE{ zoTYIpHH6Wc&N%TO+**M(Mk)!gt?}Kz4E&TAg$g^fpsA&*eiAu*Y1Ek?hB)=+FbWM) zgaU!bLLU+9Gg2lqOG-+V-gZa7x0_^Vbb9XX?VaXhC}#827dj;Q%M2S{*eGl_(H%*KPKRbq8jOsvhZPh|!ts-r*5% zFGii}7lIDN_|f5n+}^(qJAqB&_`A<8V=Tq z3vgo_XqRvk)IKED`HZ(f?TCIqW?ng>H&oTi2iTYR|s4I4*`SXpN8dTo(L! z^Sy7U2zupnp5CzI*%!GyagY?IVTS-`_>GDic?g#bR+}76psz^GmJ-=5>X$(AgZMIzO`WgTd%vxyuywas}bDSG^HwVfVZarIm7+n(Q zhq~{{%>AU?MvypQH|TIV;x3_)RZv)TT-GWy0BsJsI*TUJ!_hA8jCqixR2emT583ND zt+h8ASK>F@YrR>ntFC#TuD1jn$X#H!h=j9=9?cZP#bDRVTYLT75>eu5Y4mP{sTlN4r$>zwA#_l}>zwm zESUstHJkll|Jvlmc;ua!mL_FrGDNrASJ6PncNLLt9YZQ@^;jq|(WcK^m8LdqpO%JA zzIk-{4ubVcB()_|veu8nQy0=qG zDY`z+i(J+Q@!G4M=a-tM^Yh@#b?hg6p`--sQ2D=^a9>KS)nOnf{@tUQdbS&@rSQK% zZ{(Vtn?txeC&_I;Jmlz&D?fr!CSDXjzm`0KJ2eon;U9Id5F4LR>OF|4%p&_4UYa!y z>xe9O>%IE@^vULpe6ie^mN;D`U?2Kpt6PMa_d_km^t5;=#(^8@;!2Nu#dl)tOzd`Z z+h8c%5-aHEIdl?YOZ)h`bQ{I{S?ldNKdhK5Qp5XBu{DS+4&nRjr7+jP@SV`*y@ju_ z$42_5^5fo+`YjR%Nnl2^cefvDN~_oT@aA_8M&{%B607MNGOv>{iyJ#TCh=G9mqgc{ z70HD!Uu3gaK7)6 zMI(^|#R)T}{@NrON%qTPTBAfr{O}CDW)DK;BpGTAmfDJcx`pU@Nn3ShKCF7;OlHcE zib4hjIxUv%KnM$yx@cQ$I`2?G$?M`#x*Y4#T*OTx~1K#qWC+&m9kPkV`{D#`RI0UQ2U#L=UZsw2DXFDr#7e(Z+8{fi$An>;PexZXMf`DpI5e~X)jZv< z3;Gb=dMUZLlf{UuF|+8>>YD@1rAvZ2>RC8PQi?P(y<>%H(q8KnK;Tb7*R3tkrj5UzptQ^JD~@fRW(!vnHa6 z%j(5ame=v|jiDZ$A8Li*#9m-;sN07hhV*5!NqI@hxOhkS8x4&lgejl1F~J)@&5ra| zXBVF(5`RnFdu&3Zb}h@G~Y#I zNoIE5`AfMPQqC$&M5%)Jqni_c22`crS`T&S%7dczK5`m#M%5ce0r&OfZ*>;5dF<%&t;3lAvjsKnhUQxQv7pRzp&+(S$fy7cO3bUr z@Auu9=a$;!euMcZbd{FQ^>CrBx7TaAV#3EfMm$foRs+tyFc^$TgeMI5Wl%){rPW?| zfl){go<6Bw3hzE4n0UL^XLtd>f(1EM`|E1u_qcxJpColRA~kXymiltiH0q6Fk%cqn z0&PA2IQHUCNI08Tw7yZ({Hvm9ysG&R4oA^;jr*TBIs!}s|6nEtu62EuyPG2Gdt%~E zQdkX=GSD;utjJAi;L4fFhGVJt&39TVEDwAe+(ad?Qp0=aK6kG4oxy@Gr2rQ=qM<#m z8j%j4?8foxNbAI3Au?YdzpcUftNsd?2kgrUR^{4K3~Rwd)8g60;r>N)rR=mh1n8@R z6NUV@ICx{z649pcL1}=iUXB2@M&IVQ4eo}3@sj(1+slwlj>*YUYsBZj;}mK`W;G8_ z$jdKjMM~g_?FzL~ERuwRrO>J;1A}^G6S_YbwIz3M={9nIdz34qAh_vyoHIieKa#1BD_%*)9Hay08msyld zin1%-YL^ot9loOyq#q6S04{oqLecJe(2@)4aH_}FFd#4aZ1o>Q2aL7%Kw8wBQX6<$ z=$uYc6Yf7IFgKr~baVe-SWwK0d4`X+5)@&6`qA%@Xo?T)&vJ{($%4Mx^Owghy3HF*e&z z-E~xM^Y!^@UFPf1keugd@#ozgZXT#w?lKsxF;0tzLu?jkCa+?>w@MR^KB`{k_+DpG zoHe(V^$Xkg0^FPC4@|&EtomkND<-)A%>pc|gk1N2?d9us-LyPf+(n*0U<*%;K9Z`7 zUIWt2r@K8sS{(xNXS$2h<=hBAtY9RFjt^;JX`QZbss9A6J@LE z_)lbei}XPQVIEj%9{(`OWb!?qnBS)3i*=VE7CGB$8r1d`eJ|qxG2DF)6J)EO9F6$j z$%W1Cw{}dr-hS@*QM?|1GkpX2h1}qG0(!4j?sRj#R%u#|u~ELB`9I&#RWAMZ8uT^5c6BG2jfMM2sv*Hz_Q`7xgkbh?qM8#7~?(^CG@5ZEd&|3(-K7|}3X$$-RG5Q>8J9ih($7p08nXSQX*?a>w z;0eFW3M;y;yjX;*`J+w)BZMfg@i!`W&-$S&84W8=M(UBvesfe3r=A9;;P&eYtoo&Y zToR#2F_iA65mKP(HJbBrhXEG3M|ex4bg00Nej|slAf51AeVPyy^*tJxg`XJYi;R_O z@lzd{kZ?qskT9_)1dgSK@NYJu?VdvPN-gpj!>oG#lzaR?TDD}84SabU?d{0JcX#1; zjh~Jx>Tyf=2=KUtcxYadpr&#yPWY*FgZ+}69{c{cr2)|XHwdx`siWy=vba?L=3&(4 zf72%4%hT`cwKemt)qWL>3@ufCp61SL$+`XyVQ(E2*VcT25+INShXmK)9^5U0ySoMm zZow^BfZ*=#?ry;yf(;JAZEzTLhIf*C@ArQ1ueXbuqNZwQ&OZC>?%u0c_sTc3m4_~I z2{hSsex2i2H&Dh-VFx%K^O@_VQs8P11+eFQoE>}PM{4g2E2 zv`@>IuMSlw1EmA#3Its6s>wCL&(%qSC=5NjsrwbCHH<~UGhYNPJ3>hOzzGW6Z3s!J zU`lX>hIEtukZH`pvlX2xGw*LQpaf|U^2Lg0{5LK$K_oaXguqrjsj>_eeeBH)Wcb$D zJGaCHq4M^On_+~=Bc<#od219{nxB?4W)VC-#j|Xjs-cr z8zf`0XT!c@X)dMRa@7oSQQ*6dI2^FZQG@|z)@RY_fCbdxFu89f9@9b&DAp{en!9HS zBI)Ov#q?wh#g#0jHIs#$tw5SBJ}TC#L_B!7Z`Pr+Y0YgJ?w$cel7`m#04usV(e!cj zNQn%6`I&Md*=q^I-bNubE83dcH$UW-Z*V1~k{2wAux=ol9-&7EY???%bln0Qez>)H zjA3s6&8{!{IxS~oyurx%bHnV<#_OWei^dUIq*Wwx?kF`zR_>*(`I?&e^%p^Yq+<%aFj1%@61IaKtugs2fzC16bgAV6v+v;s7^u=?PD3U(TzEhQ6XtDS; z!d`o%((~Kz33_zj+E5xGwu1=sOYpJAnGb%y5pT~c9=iZE(FPtdtL@L93pL315OTAN zKM!X1DAGND-?Od|lb2|G+O{3)DnGFkI#~NlPqf&nmPs|Q&s{>FU5wO2uMqhSi|KaG zAp3k}yevkw#3y@$(r|es-AvEi69eQSCk#!>*R?wpdwZttC-fuWq7_%5wZ-v5rl*cT zAR+;Iaec-G8()x?MBvb<FBg_|d6!fpU=7pVyw@FG;qhqIxMsbR>CeiJ)?4m{|(9aRfHKYA!QG}^BFl7CbUlmXKV0tLdVA$f_;Lc{rhK{+L2@V z>>S>UlF)^HF!P2nWi!4cFG5LuK<>>)0U3EJB=}G4h$g`4@aG+?KGnGBKNElTE*e6K zMB=%9YheB)>^imf=x<=on#>8E?1p+ge{xe7zjx?B_k1cluft_p)lh7VjV&nS4GPXXZ3QaT zvoBY+#(e4}OT(qHxZrIdSX2yt?^7{4Ms@ zsPm4=pIr(DzTT?n(M%|tjVd4=`v?k20(Z-9_7B5ZQ#lIG989G}`1`#gDi}_n)!xjE z^b4VQiBG4AOx_>!Yx=n<`N^+82`PrnpX;`&xK{^jEmYWd9-H;%>v!d18L3I>4$4sz zHgT3l+bOiZu&vps0cgANxH!b|=hSL;J$dY*rK0}t5xh(T_((FmIVZag)vVaq*i3m8 z6qLo~9DGS5s#c%n&M%Mpa`6#c2Al09(Od|nDslE5JE&1NWWcG;nCG!SYC*(ZBGG^# zYTZWU_vFRQui+uHUppjz`Nwzhtu@11IBOc5xn`{IZk9rpn8R*^GI8EYQ^wSJ6}7kb0x=z?6(s@D@DgG=h6Xj-p< zFR7i)Pr3;Km1TNz9en`3c(b@uF%KA=n+(s<9;c{5!=sp711f}Ey~nKZv2c6d@I<8v zI4qo~A&Sq^pB@aOvKVXHCG4e1I0La=lFT-p$7($1IS4S9ufflM-n^wTW>UkK(PQf8 zlN@G`qnQYy)VJP-^2=5;6VwAI4&|hDFLY%Bf-lVQ^e6}=VSayo-D?(v5>$zJa?U5Lj}%OqC*nIOX#r3cihT%2$Ll`%r&KYC#wAoBb$=+d>j5=xI#aE zxrt+!VYI03M>myEVZ|}l6zOi|;CX~@Ik=w4IcAiqZbF1Qh6*ApzqDW2VtD@s#S*36 z1SZb&9qK3=OEk;E+Oa2?Q5b>dO#P12g1adyKUe)dzbu5YdgJ-)E_Zw<2;69;E9m_^ z$!b%b!bB-EIwWgjAjQUE!A-N$RY^<`qVqeEd6Tp#(#svY_S8RKDi44s-tm63Cy+G# zbz-%<`*^x`WI`b3iLx-tMbtD~l9HA}Itn+;%CypI;yQENxjg5{?)lY1BTw6O(Y|HH z2>KSEqhv)?k6rDEzSLpVMQ%lkER=#U0!rrGKC4fyAsJg8^s_AgeW9{c!-UqVMSzF2 zO9@Ct3A<=}i9Qdu*pvp!=`{i6(qY3{>;Ek&-uIibd6u`jftuY>5y2OjA#C)vV|5ZTjsJ4V-+sXL4@S$&?%cusron1uopM>Hijj%1duwMj_$;Ya5o z^^$Ej<_}v%d~U73lD+qlH=dOajbZsPQJto=e3p0O%brR0lB8(B$ZxlqH;dEX{do0V zC=d`u)SS~*V@L{y{)7k0@QI`8u6?F*YgqH}cVopUudL;^7~V) zXZ5$=$|-+ZyK)fMY1bbvr}XL{E_nVtW@I)A9Z^oH>2`{yyZ%fwb-gpYpB#EGml|=; z#Jf2z+Ge1*FvKj2hd`oC2^wbCw)9VA!9-v?I(tj>r>2ju8I>w;K8b8hHxZ?MRwgUf zW4Kh?I0=!S;=IYZHV+3eQH+bnEiTY_@!*xpcf?e9ACErB)(HE2oWJntizJ9!deI0k zJCw#NDVu63=Je->2kU$E^=OHt+VEdxHFy;l0k@)C@>No`) zK^^hZ#1KO!HB&qjHKN|r_u1w&*I=1JaTXOiAtHJ+$~irC!39YwfcC6xL@wp;_sIS& zxzL2XdnHa`{*RA4?D-hYfZLZWW%|9#qas!@Te@|Uv==_>@IUb7r||pqT(V6XdWc0J z@9iNBOwaWKXVMB@CkeYd^rb~)J5C?ee6^-(l?lhd5E~Q?!jyW4srZo1j%g2; zlmLvY8tEH5@)VQ;vBm5MEn59+O|Jg{!6L=f9ro-P1LHR_r){-1?DoDaVqm zA~U{*v8O(h5MOgOt%;oe4-3d2YPq7aNOyc0EBjh2p4UoO5010HR%31cL)4XIxjj9~ zw|Zr27evh@G-DD9JE5U9k4iNhi6~l47wOy~N3i5p%Y0%Z`j5{#MaVq~Dh|Og?hQeR;t%gn*gh!rsIG4Q0`|^@=Io!=wTf6bd-ZA254`Gr>BVD4 z7pPWql5>Rea7^jt6@1S7yy|Cy%)m~eTvEgQTqpYx{{;*c@oyLx0mT-3YahLpo%M}f zOr7c{>=;8)p_$32rRMNRy@y2TXV;nml8jBB@mz;vL~&hMQ*QtLNaINU$m`WbYO~&{ zS+1?uOGM4}Ea_9vhRwbjF4DI3rc%F+=%$uwr6(i0_~lf^H`2eSU6mK$uisd24g_a2 zRWgl}G6_L@q#p+azkRlBma+1wVcH{q#{Z&5!=z?mtEeZQJT{2(w>S0s!1oNC4jnlr zofy4y=hA26rV`L=azQKNQ`jlVn@iZ z3+%;QoA)s$KQ~MLlNe9<32W`2SdcVSl%`VtN}Xcw>_1fc=`l!NUHXM0h9rmm+-M5^ z!k1WJnjctXj#}Z6SypadxPv40C}|71WPyhe#)=>1 z1cV8w$OW@v6sh^|kMR29?q&&U1%Ou48y+-P3u(zUuT4iv@cgH%{P+8e{aMO@WI&-EQPmkQ9($IM?gqPE zy0jvRgRR+e&>5ZKfDBh~RkpqpyiHV)eCo9x^-FSO zUToFzZ(mH|x^yWSEJ(SLtFbp&!w7!X3UcViT%L7W$wY4lx=YLw1klAC`!%ptK4BFh zQnw+jry*(+SmeS|NF!N}@lpFN7o;J%UUlgi9x{$bn*LxKYHGT2nhA z5ec~CNTWuNeTroVBvF%)rrxaTgW5NyB&+aA%#83@e2c5SF9-=I;HIt$MznJs#B-jD zt+PhiNzgCa-t3z-48ojW#o@5w*3dmO>CikJmOV43G5=IeOm!GrvIlb>uANHr>+2WY z?2A-I$_w zrh}9;sCVQ&SRlj=>??p{j7gYQzTrOdTJSP5nkk;Ci+a|5-_KlYsD?87vt5SfH3(se zZA{BBDSWA^TtN7{TUy{?b}_hRu$E5jX`3J#$P>IyY5knEmpL+Ehgl3XUnsfrv7ib4 zZTHMf_@tX&2>+zt(tt*V*>h(>34Y+dde+w9aI|haeY>2_2_5^o4V4c_Bw5S$iQ*BJ zjEUEO)klr*%sxCI{Nv~yfK~hX?Mx&9@k~V~mZ_WCbIvW^5&R-46JYtmscXcPJ8yX= ztkiX8T}Fm*Vq?>}Y={3EzLSbx&0(g-=+Hx&5SUJCY|?Q%YM{zyAxKzIP@s>eK0*Mh zzE@E8O+BlDWWL);sNfm7;%f`|(6MKVU05e}ev!w1ni-sN4edeM;RVfzI=c?}RGQk2 z;k=^jSmc)IvB(_HF`TVGqDn=Ql1KKeN>dVunS;7`rX8IR~Iuma|t>&#DbimO+l zzxuro5r(GTV$&lMnqo7K?j&Wn4ZVqQJPm6dxv-f5{QI9l&TE_#qzC|q+S=ll+Jvh3 zkSae!-6#$Q?BHKkKQHt$$gsd{qNSOaESMuD8 ziWO+`4JfrNA47#Wo_0R23N&$0(o<66jJ!b}5@iQ{LpM|BJnMWTa^NunFX5hIk#opp zS$oFx-{G_QHp&+%E;&_c znNq@4wnun0^w0Ev{%_pc*bz#=JWDA$ zU1Yr+dxY;&%dN=}iMXe~xf}MsfPk@B{-BQ+BF9C5fAwo>D1p>l+s zP)>hI2|bP1=YQ{xee^eapOTW2{{DVNBvqQ#sRc=70(jZEAV{_lrAwbIf>RG$&?+($*uLOG*B%j&a+t^F=(X4S=q=-)|tNbZ<|2uwXKT~;n z8-q=Upls;7F^AE0=Ws}tC|G^7k(4F$0(ArlUQt+~w{*p@hTQDvEV!G70*4SScpUmS z4f5xxjg0l40y{!H2X#T=aO;tpF~xbd#JTQhLL?$V)(mLVZ5CaMqsXvIUZIKUK#Ej0 zV#re#<0lSig#CNf-C{xZyt?8DCFzusPPi-&n}Y_4Rjbhkih)PW5s=hNg)$Y6rVmGE z^J_QY5iTNu28&7y|1%6#!4uDu43o%x_G}HFcf6v%kh!^j~NbpjpenskS#hWAUiS#D7hl$lOQDf?|;jytZ zt1!k6g)ZnpRUNJ<*tRF$EaLF`c=0-LZ8fLf&EiU<1O3QN^FbXnnkYvEs?x)Ou`EOt z?mT@v;(BaqWE&d9#+M#Ee&`%heINckN~t?RTXoYI{ly* zL-@&dM*N!ee$O;U@~VT?r}cEvm9*=4L{ZXr#)$W|$9<*MMB820Q@dAlb3eLC|58NP zSgP;QPVY;Ks&LX#*(!lb;_kyiIT#dR<2J+mXLNY19%rh2y##HibB=ZVyJ5%^tgq;Z zh=~`H44REbA>W;?Oifb<_5T16z=(eXBw0w-O2&buepqiac)U7dVm;>Mpv+U7L4rmJ zx0~6bQ-!+AsKbQ!s+{BxCb#**64?^=MR@d5Q(^}6^|?0VM^8N*yQdQ}Dl}Ct=ona9 zuEyfZi>J=LJ=(cAX#B=!_)OW7XQ-kT~eH()6=8ff0+Ctmm|fH z3Z1c(tCkCZ0OSo`jq17|oWpy%Y?bMTGwjYSFxPifad81H+!z29EpFl$@gH-^BGRrd zuUd3m!L^o$pwhK2jd>&5tCwl3DE}^lbeQ8>|H-b*AN$PIR2#Pkk1D<^}Pn9pdK!!7x!|@hqL9jS`w&$*=(@fu3V~anMJ~$Den7@ zhITm1M8^>MF|XY5vQZD{T8tM=GF`lOBJ_|wk}GYtr|CdZQm-7ba_y+)liX&14k2j+ z^l)DxQ+M7uO#ecu^1TavU?F9jEnTcPeW*>aO0G7UKS3}iuUM|Xu9+8^SWXkUUC1QS zA?xW(E(6(Qc75I95qT1ZPJVi7-bTe$g#XWmZ!1k8VXH_-oz7%H-AR7Fo@e#F-+@*Q zOlmdPd+vRF;OsN9nXb0kJHcCj`jNttxJDHEaYdpqu=ivn_6s7s=z=zRu&(hcg_;1D z>64IllfU9MytF!#Btyrco+;l(fJWx6uuvBP)bV9FZ+%)^78}#Guq@*@s|;FMBH{n zfQi89Voyzwbs_s{9bw{0N+{y!`IFlujkDgW8(sn-@({9#Y{0hqV)ITOSXyiaouxWf zU%=D>cFWY!L;Db*1Z-{*HGwf5fh+^0MakJ}PP5LZ&TaS+1o&h%>6w}_)!2MpdET25 zoyyz64xY7Z%(y7wyOk?(J=RW`{P_vVlY8tO=PCEE+T}r?r^`jkrz(d%ADc+tgU2$v zy0^@>uV23wemHC^GO*Xnn;3NAwLJSYzsh!0?sygQ9~Lkf1kzz`KkvpG%+hNcSL%@G z-y^#btTj!$G&Lfr+0v-c69MNEY2w*yD=(}o*;4=dTGtqDVB zRD6$Ny!FUIsPOglGA%||uKaRd8$<{SdLUiTXp(5Z9?U|i?1FYvDhLL5EV~Xpj}m;) z_VMX%XoBr^L=D!uR<+*=gKjsVlZF?QU5~>1>5QHj{B}F3&LH#o^5vn4R<$UcL)ZOY z`NKTcflxD?$ioy3aWqngHv(0-!DN%d4v9>_5GEEdmh`oX`)(F-umE=t5xk0Xh~uvp&X=nj07%gKwT>ip zAfPa%KfJh|jT%ef?GkUSuEGePf1txewHOCbH(|LFn47y<-|P?DX?|IApA!HSkqjF6 zxUQ)+)g}Q%c{3N3Ivg5Vn9W4~e_)X*;SVv|Jpm1KOS&_A0($K6w?O#55 z-@hr#OpyiKJ#Mf2JYG3Z!3#7`W?ypKMQF*Dhb67U?DtOET{C?(>mT=>s_d4G+h_|P zA%lQ4(<5YcpM}Ka*>c*6$9_ML1V_$?Wp!U>E!h0@o4P&dHFU5_Ot2z^;1eL$3qtly zyEAVCF}v&>Yjs+pMJSj7iUvfpWvls02si0~7~6GmocN0mC(Bthbt2q7fWmf~z3P~< zu?u0D^-L{6-Md9(pqi<_!^;-1kLz-o4wDUgp&u!CuQjW`&P}cIYjc&ipI!N3bO_$J zt2_jc>685H^`&wJDJ41fn9V>_5qM~xkW4GB;q4@0{D&!?xU==;Ebph0yWHM*G)>(sr%vh?CcqdMnpBbK&R^sj>nDL?G6S@ z$JY7!9y7o9&#Bz!W^&BBt%sY-WTu7kKjjtpcSHOnTzyTi=I7U*R!Xna?#Z0-@xkT` z4ix&z8WC-o>c3fBD8HjgOGz!(xvne30jj5Udn~%G##}fPLMHEKW}gV=ud7Bjri$$Fkx&7uq~_i|j;}^Od}DgWWF*nzW!oO}ZVn zYkdx6olDI|9YJA9Lbuzaw_9V_ChFro23;q?z*R7)8t|=sr*VKE}QC+Yx1k5fn z=bqUEOdda`qy6J2Ax_WDB44?OR02IF+&UX!7c7X1jhi$_iSx0b$Ic&BHc3O%8 zEaT-d{<3!4`H#z#$3vATm&xJY$@Yj20PFGd8)^=;1VeJp=3K-SC zikVpX-seQi{EfnW3>GV&jeSRqQV1+~^f=4)D+tAw+7C93ZcUreD@5E5S!61;nD>5c z1gw%732!+CUzz)!G@)CqAMQLo0?G=vHjSj9GAm>V?I93Y2<{%VeX^pI=ZgenE(}OH zxQSr`wA{@VKM=@Nu=zgqQO<{`x}jr>1IlekXoBBAMReZV!gJV_pDFF3+n^uMMrx5K zN+~L8-VQlceE?TZEQHr;Mofp8#=R5tIvxK*`tA9>6=k}!ZNc&C)vKAAnUm&o$AS8- z`zvC{O$XKvF0+gJ6kvrU1t9yB$@blgMYV-4CnL)lO|(s^9UN2-zrCCEHGqnf%Splu zU?&3drjF3>CP?@k^**UrjAaC0z1Bx3MB-jn=n%vE zu?gEU)-GsQk=6*Q+IIMCUsiP)C@Wtaoz_j_JNiErYm-hRZst^*1*5gw-tbo;UL#Z-h3y~#)ah<(W&>3sP$IwqUoMSk{UwXN+oVS%?1|) zMyqXg92d9aR5p#C$c(l#BS0IdDKH%ML4NAXtX9DQ+98_&BAH>qnpTN4)7Q(>LH%f? zI&WG5!>wJ-_5z(G^k}MubPlUQ!bUZf;5L!uokV+8paOMzgzE@)v*el9Wb1p;-(=u> zI8R08jwZ?Y`T#{X%!KQogXbWZME+kh!#qc?P^V%Nt)SQUEQEuYNzc?BM}QB5;6h0 zy(WF8%10$1CDE2mrhE$8t1^|c-9qMNao_v#mFHn9Dk_?i!E^If<`VB{qP&~-HuSu- zzu=2F&fC&o^a8w1+j3z$3=Y!w=i!8-@%;Hxl#l1Ls$F)rgg+_`H6I+z%}s4}F3Og_ zS%dPYN*j)NY~=47IYFP&?XH zoA&M7_;Ot_!&X>I(ZC6@=f=3Ehfv@j*tr|j<(5p?Nm5y^CCZzsceuI8WRiRcFfA(HWuhUMi8orN4 zMpHnf()5;3kAL9%74W~-vWRRN+g?G_fM&23%}P)IXaz-!4(Tr*(8c~_=O0nFi2LM( zg98gafrfyO$*@6P+;7G>Lu2_stw6@y_VJ>QsxH{sDx^N}a_ORbcHid3$V5y{{m13pSVOHJ1Ij~zVW?)N7* zq+MG%X{<-eOUP5O2r*q>Q{+z-I-;&eeEi8Ahh4UCEwL7HfVB>(ee3iq+w(*Y9G|UWUyg?Au{MuvRrv1a^g;9H<<}y zM(3j?4R3{jo~rKwE1=nA*0;`UJ!mb`lawx*sV!mfQ2-t0xqeG*yM>3WlaT~NL@x0NGcp5;j&Y@IXLRK!<&dQJ26-Q0#k zp_;s3R=>+h5QFZ*DQGosE=Xp|9(eK$gew&$fg-B;61B@)9|?fxtpzI52O3sM+#n13-e`)JV>p+4ARwS`QCwsY<|!~eg+3GRqf+;;>7 zW9xkBi0O)`OZrY8J$mVPw>klQU%zAUL(1bGSo9h)KSeBY+pV-}nbd**owVu4IiBdB z3z7*WO9K0k8nW#&<Wb&$Mm;qj zawruGg--y`&-&jd4Jf^!I&TUgf2L6^H}?A!nGyH3jzMa@^*_N0@ET1eiwJb&{O~c* zKAbN5|Gp1n!JkC^SnO?@c(m-|wFD1G1&9zwbUZqDn%F zku5>X|ACd+uWxns$O#_hvLmqWM&$p`bt9tJ>Vahyb4L6IgIxiTIiSc3SQj$xP_}63g8qV?auM$y!M=Dt=futamWJ*~)dI6coZn?pGK63!=sIH3c zU!)6-t5jojWDGFbDq==TtJ-q`h;Pfu@<`flIN3$S3xc?gk9blos!HklUnNpvudHb# z)>yB0mQi6he5R>RQcN*|FG|3s^67r-qFYAcr}Q5dK=+bB`i+?JvuhiH%T#V#!^-f# z7r*lylGfv+)p)#8=XA41KByxiE=QO`mdEZlPMY?C<5&%ExYCd>7ydHq#OoqrvNOwg zSk{m=CpG}!J;hSMH1phaUocJjb$rl+BZ$4>1TQ9axokCxqa7CHCl8hW*%@N){?J;^ zas$`ZLK|Q~pi!Si!~xN1yV+ll_z4KcGi%u=_v6ds^%_cu2Hh8*o&#|f=8e0SyODMN z2*Oc~I0&{n>%OMM?ufn6NLghzen>!Y@Xsz)Tr=!q<+9wiT~FEb#eZNk4mQnCBg?yZ zmNtAiSC(Q?)%v2@eyK6DYsROU z557;PJ3w`g^;&*+@ubhK)6@ksP>^H2WH0%Y*XnACfQ0<&t^Y^Ga5{RvcgggbiIy%E ze_BtyE7k-m&utm#t~}-+@zpT@?91vmpGOfNP~JF)t@iiIf7KBKp!(J)-#qen$v*@R zZdyJ>9=&tO4XDW7FUvdafW1Gem>0Q+^vnRK?w%Y#1aV%5 zEZk8^c}Yoq9tn5HOXrS$ z?t3_2;tmS+*7|8Vcp?O9W4ih}hNTCvS0j&{HG5kdcA51zY;%f>c?k;|tajB$Cq4&r z*(sBuGN8Yd!+%u}P7;$3=tYxp@sRz^c&IXMDsbF*{qGL_{q;vQsxZJBNogi@(@W+J zkM|v-rJ;oVIQ2Lj-{2Ac2`i^%J>Hy5v{dej-#pXrbvUm=1)AB!h_ z7phI$?i<||mG9neTwvQ9i}A9=D;5^Gqbr;Cc0T&+*tYpX@8w{@La^B|5rxdZ<_XZd zx*~I2D?1H0>RC9YsXtI4qssPvRu$`wHL_^Tt0hyKp(yX|;UmPo1zyW3;Q0 zb`Zr>og7CGehgxlu04%uUDD@I#vj*9UPiYdon%?O} zz7eP`^N0qvX?wIi4Z<#Y4A2hvRpc8+4PWSZR2q++Y0lbrv?H>qt#=S)H8L`v$DJHK z{zkib!jW)hokr+sKMx?rnUt950U;vumS8P*zG9UeH7M}xuPXvD7n~gw-`wB1ybI~L!Jmw#ZT;VpN%phQYLZJ3nLY~ z19}pD3QH2>%duTux>@t)z+ve;BQ_(^N~q9jYTm3xnZS3Eet_6?J|4C$*6sa`e#92f zV1ovYcFR8!s(ov|9Q=6h%N!K&2HA264MH@sexe}t@@c)_T<~spFshSZ+&xT70>~A} zx`_TB_`RYM+4fMvW9M^Q5C&0Q zgowM?^+F0^sWCL@!`@?y;mGVd5(XhJyset1sx0%el4?WWO ztIZCV$x$Nf^%jh@|sX74H&Qs2XV ziU0-8+Rt}@V)r%J{gyre$zzfj=wN^qV1C{tvd8?oG48Jirmr?#hE#Pz&+i6Lo(A*Ju#oeSqynFNnzLA>L{YvRE`O~4X!+tb-y@k%;a%-mqaazRGDmUlWQV_6}Ed#itb z9eRDEwc6&=>9KtWeHidToVQ!?I_*_Z$YN`&uHH{x6S8YLxp1k_5sh8QXfi*~HC=6U zRU?iCyZQ`_EshHWtZs-8$@|wn0 zMJfQ1xD!aCQcm*Ug^?BdaGvbFvEm+hINn|Nkyjt!3wVftnQcCp3_k4@%HVHg`W(&l zM?sOUvp$^rnkGl5GBhD?#no148rkFvkbuca+g@UQ{epgOT9Y-@aLjxx(%4Kv zn)mUX*2H`~#dD>mBaPdp-P2WH-o?d7%$oHfG_EMq=P-Mz!3ui2HF@fNHmujQ4pid> zENT~JI8M9oWwP0=^v#g0rDdP^hS^2`So759{%+p-XYZtNhf*(< z3#ZYjYAsn-uniEqoi+6(D-1T;toqZBV+g_?i-3H`xw|>yBY7Jz>FLi*pymgX8HprOvUJtBPM(N(-@#hZ zi0qn=VeRcgJO-|do@74V<#|b29?^U(U1TC9Mjg|#V4n}BI^E=F9MK`c#E4^u+Zo6dSrEw_4`yjKyp_oEx*G(GUo+uV}@2+!9lQjoaTCUJ$2K5kmt*3ZswJ?P&YFZ_s||hx53G* z)euO`NQ_HxhJ|Ezp-s{0b@^=N_RB0bT%^~@+}WG|JtLx=`rP*4nP&|U`vdUK#fd}~ z^873T&_Zv8d0x+KxT=%uJ{QY8os-;U5Unn(a5DLFpcum&m5N8)_hQFk@QUB}_COtl z?E2{PZs9b=FWx{gIYG*DzFeuvr9z!~B1qW}T3=&;RwxxL<+kukOnt{Z%Xi#zsor+6 zLqcPri>}H7!++guOux;x*Z1UJ!qQTD>-#keulatPiLeQhvX7Aw6`{>Sw*K{s< zCyPJ8SsE*MBvT;^s6w z)?d|W{DRbZW?7{47#W66vMly)ELA88D)wl!z@!KoUorUGA`0n|9U9dyqk&51@+xjp z=%`*I)7^c|zdu8O#>G>M*C9LZTlLqw5t&IR+mwTqoNJ7K0v z;h+j_U60|AS!kQgM?QH^%(2uq!-q&cXKlWT84qX6npmwbI5g1dx~GG^4Db8ry}^xN zK!^-%40ErLJ_be63qi>}*=wYvUPT)6NuD=Hd!MGip?qI!=lv;HZ&{tm_HsvKOW*gh z!}H`GxvWI1ZUC@+#l(;ujrDPZ=Ka2{hX$Kvh9>O>-!-2uw=gY%k@03AbutrQKik*F zT6pO4<+E9M+jJ}5=B$c5{;#Lxb@MR~&)Hz65YET)nV&?$$D)r+hv!AI7D z+7E3Yl|gUL>!y^du7{~!g^t_fLAwM%)o+s!@`iHKcjwwQMSUEmDR;RW9NvDl0TMNP7~7p)_QSjbZ5fx*S}n_K1-KI_rdDYBU6*e3HVF7PY zLtgnRf*ba-24KI*0~dd@P%z;PnCEWZjAB(g{b&a8p^7TQYSQFsyP&VYQMwIqM;QXH zjDt)DHMJU(y;1uP_)cjytF7Z@C9S{$J*(1b!WzMFJ_0Q^8v!H-M_2g+$sOSi@UsKwGCBd5+hb3Z@Ka+p`LD{ZS4$1HErv05)T`}5GE0p=QrNW4J%?Pu3l?*%I-T0YCN|B~ z+|O)RYwu3$U{{WE5aHSfqDi5ZvO%LPuXE;jTmYVt?X_Jir|+}f`7*Hm=hmIp1AI*D z1b2mD6NQH@HyE{D3tAP{rfs_&qj>#EndfQfK`bks<-f434L0zG{{2Q4G; zhl4JUPc%$M^^5J%hcC5W_nBsg3v@EBh*`fj9Xg)YwI598+jtUYwO*;#;o-dY@EgZ$ z8$8NtXeamNjoVidhL*<7(VJIXd>d9Z;Lep66SLOgId3-rZ3bkkg*S>7elIjB^p2{NYT z1hhhl2m01N`(r}`5CRoC2{k%A8i*>}_mlG?t6{dCC$&NkkO&eU(%8W_cu{T-0SW+S zA4&jc5czNbjp}N?nAYr64DfJ9x0v3asaZdsSmrQ4=~+JYRrSg@t^1&?ti0y+w6(d3 z4XJbP=IaHOuiDT1W@@(i%q%$*t&?2dRn3@SNW1SGPhH}%81;aT1vH!U9D0!yk=~&_ zT*T~Q2)q9_P0HL`tNJ36?N!v_R0OfsUI?sv`3Rhe%nf`-y~k=gJY7zH?JnuS`U@TQ zD%(#76iA`NKu^muhb`axJG{cPYJj`ZB!v~}+d+YT)?8YsG zBe5D;x1)?HP=N72r@_awwO|8X$2F~6ii!qHb&;p?nYD-8Fb)L~g4n)af7<3U_}q=( zu(rWmaBJPJI+qoAD>3?P5WHwa#BF=xJ*@?bx_GK{#k03n)g$^j zDOY=<<5r5#<0gKXrHFFsK>8~`4sqniB#x;KNqc@h^x&Bdd$!%P=VQYN zPd-FsJ0!f$w3SA>Y<1k^TCu}IlAsL9Hpq#Lq}7O(nBVgh5!^w=OXUMUb>`F?m0UEJ39g}Zs@m>2V$?E>!SBhJ*XLZuP$2VRO9r zyJ6kDYfe^o@&|v!hW^{q#`yrMtm1Bwr4T8+TP(f=IUjvZZtV}?LM*X;tE6g$eer+^zxXrZ zdxCI2D#`QwnjJ|%_*(hwGkVNGjHHYl3q3O>9Nf3mzIChV875X=|Nrw7@>%3Hzm=pF z@d(wphS!{;N#kNT5q2j{b3o2Ubd>Y!_9Xw1pIMH!l`*$MD)bwoK z7Yy-_;~~CecH%WV>)_#q|A(>n3}~Y3+D3hB+=zmRiVaX{A_6MXOGHIPnslkT6(!Q8 zhCoOZ1r(HCq$MH>QX?QWBuMWd1c=noI|LF!64K82yzh6;_w)SC%p|iXd-h)ITGw^0 zb(-xT$o0ir{3qNEw!fD_9_HD__ujavkhyUBtcq^@b4SR6(|B&lQ0z-@?Bxc}8@zo5fm9jn?z%sA@*uFA zYO%8;8XC5s>2F`6!>MYyHobn(jkZklqYPEnW*9v5X$8@eqTErD`_}%Ngz$;4dnM-c z59*@ht-p0#ml!^D%&&aVzhbbOJYi`a(GUlG;rWylYrrqoJ2AVF^nCrAQp4GeKM`uV z?lYNTEK|?j5M#vQ%mr6h$XLi>mn-3(AKYBN3=H#s_LH)?kl7{a4td{hCdz>%?^FA~#H z?!5dhS1S|X0XhZr|6Ba$VSGSnhPLR{g7~hhIEuNkuS44-+oS0g3RLMH@q*~@Jqp{9 zO9}%CsFp7{w(kb*VgUp5)X!qJ6bH)`I6?pj@eI%jb=&$d;FtFKcC69rCQ)65h2@m! z#KghmuWuDM9P|gkv1+;R{!ZvJU{FmXxaiP~diP}T;)11My~VG?+*!HOom4Ax)95#% z$vbXF3}SrZ##UOUl>TW;l`U|GpjSp(a%x&~im2!*Ynxi8Qi*M}?#ljsukMGFFV;Gm za&?>NCH@YohDIiNFJ^i>bUkMnSpSrC2$dg9%Ib!@jID zet|V2@CV1IJEuKP3PlLkfnw zB^!S1*!}14dB@LU^O=f8Et@hek%q#C(8znP7JAX{|N9*!2Rr4NrUv(q{j>TY@LfYH z0QQ@V9XTPgdZ+4XZil6+SUE!}OsKj>{;e97ZGhxq@V z^JU<>h}0ch3o(9P^bt6kfB2Gvq)3tB-$VNn%2F=Y;{FidJ}%sO8>)ZE&&Ke(;OIH& zor}Qhy6^VRdiJ7LBKt)szJ0^|srVMsBJ7ogg;$~{{o=O$@lK7n2E~)_ntPIvsQ-T3 z<&%wp@l98+B;oBXbZ0u>2$?FSLV|zsI%S#F|6IJtF49}pvnUs1x<7d6=`a5Gl8ZML zqq9YvJH~5Bwn}4Xzn|Ow{B(lTwW{v(I8sxi=I(ypp2yv9^|y(O zrqL}O2D?65%flw9;0F|c$TN$Qe*>-V?fLn(uIi*z8~1#^-~BcGB+Svv8B_hGd~jpe zs&;boYIXaX^xr#urxMki5I_C!Wi8{=r}$qy!$8^8s6V4Opq9f+G2O72T{)f2TGDTw z8R>-bd4ZuRUYI%YbgA;;{H+>TNKaK-_PICp4;1nZLD!VX6UB<)(}8BaCTpdDg{Zxa zy>miV^189H=>xydQip&ad-O)CQyx}SSQyb@YDDn+j33MPm_I&;+pnJLRhvEJ`QKeI5a{Z=kO5z7 z`G8clo#eS}1J(|uy-o%+)4HdQh26;RH{ySg)RrB&H;D@pS?t-yZJoqY4M&arFWb7J zi*&D&5|=gyngV(J=?BJEs_(;6b{I<1@Urr&ZWieI^KlQ2jGl_W-{h1o_tUJ$g+lf! zeVsH_H{PM%Qx33q(3E_HyzZlGAD6RUlKIm&{8FOmQxoOYOQ~Mn)C*%%fs66UB7){4 z5O5B?$|ri!ySV3pYZU!Ko%fv(({n5`Bmz`YJWUGowHX!GIYH6}WuD8?+|Zki$YnQu z`8q%Jp+}R|`}Z|_;dsXXdcI_5dVKP_ukFHu==`(iBb^ZrPi^vEpx3$;cSSQVypb{s z@|>NhAtixjbb_BA=FPr_-;Y|J;06wq?k9^_mgfl?P5S=!Z(HMoIp3l$%Fr*QafcJj zweWJ~{*ojGc^+wg2d1WS{*UhVI#KAf?XqYM3p=atP>9lzq!Qd}9RzFoky>aoggWK} z#GpSrp_3e&?_6>-W$ti{e0@EIx(FL3Ii)x}p25v!-hpw)znv25zk)~H8Dl$Spj2+r zQZdnZ4iO4O4BTQhiip!rvvn;QoLqtZ9op3m(~g3(hkBapq#RXMpRe&U)CSkzt(Nn> zhZuwk&40^#uIa@8-xa4amK?dAU8chl3|{-vc*&LDqUc&`N)vZ-MHLZaw)oW|#@Jvf zuP^Il5N9cZ9mB^)pDf9;YO_q143)0x^u_C7e%i_t7hEj;EyU`V1DefO(2CdOi;jYC z*Sx&f6(9S))@{Adg&-z4o1Vg$yebq{Tf^RUxw%(uxcs|i8!b7w^nA{JXMlnU_K+`tg<>aI9!=dop@3Je*)uvY`GhcApW>+;N;n;)HX$$#cOMo!0;MZfB~`oO#;VXomViz?{4bgT70fq&o8 z!1rbA6L~Bl@nm<-P)nI-K&_wS*cvjGTV809#dd=oLf0?8Bry+X35G08tnWzi@j__z zo)DEy_#Lv8%2YjRJXilZah2HC>YvgJn<4ai_ole4Its2%HC3*>%KK934n5T$VH$h` zGpP{DByKCsZ+C{Z0<9q|#-7#Q2UU@|647b`pxLKi#Vv_9h}QOUwVa|KzGy78=wF2| zKJvu6F#NT5qQA!$YX%dO#kPyBMy__(x>jfY?|8Hx11MLv(chsQ=PNJwqf#Vw8v;~X zDN@JMVhx>e?O}~t%)7FlUH>mHKuhXpj~``c`gR#)YO&CgPX>JJ;mX39DY+aYW$;bq zVwcKT@I#ZMuC^(75shUK*(@Mq{j#k+L_#noypg1);+9#03BV!EcO%0#p^K?v+b!HE zv%bX8tihySpC+%z!f7Ct;+qcX2StyF+Gni&y4m}|^;TxwBSSYkKfl6z!AJhy>+F8g z4WoyqGg@wyu)fGM=&KtAa_KxRx!mtfEKWIPrMvq`H%Aex2V$8FKaexJQ{MWaq4tyUphro`o_{cG!rV8N&_c~c_Y*mNCL+O? zsr@okm#Mm2{*(Ujwn~vf5*mE}QlR&$W37C!WH+=H%ZO8$rxk7RO-i5YLcsM3eir>A zOoETholR~ZUxpG=ME=>U02@BN^YNXqKwlCKE>-XBV`o>Zd@14YNG^KUoJf4w-Q`hn zR&IAGQ5W)}>w`yzqpq%kY;WhAipb>(oEL0rO2NghRul5LYjtu{ly^nr@hS)6Kb)%^ z-G4seszd`Z|Kr+H$|)_X4)(~`%!X?nN(8G@Q(P>(aj~oZ#7g5ztGANY%A?-GJlTP> zZ!EcLxeVfPO6#dxNXuc7hLcn#nOnjLw3a3bVJM8mG8?-mRWtgMmY}`-_56iX5zhy! zc{XtTclg)~lG{$(&V%*%wYrt=rVT!wOrhXXUi}Yf(c33nOEfiWH7+p4K`2%6{Bo~u(Q_4Nn4a;l6fUp zO1DhUCO<4A6uhS<#rUH$t=a26gT>FgUFrB+*?(TMuN#6SWJ> ze)!92MN9@d?){`6Ir0#v9k;hU3%qO`1rqXUn?QpWid`AZ6a<&7^yJ{hUSOo0xKEzA zrT7T3q(e(!`Nwwmd?75 zo#j4mq8NRLx=ftlkGm#5o{G|`;&q_jW6ZpYWy_P89tMd)$#FHxeQRy+HrqFLYfdEn zH;S75pnNH(uv}Y1?!EgV5876e-_E97l1NtUy?ptB72}ucC!Fv%8dm}|F0f*x`CLpF zUs8C?zDJwm^qnYt*rPy@RkhLHa(}B5*O`LmUuoYl^d_}b(q6Hm78cC77Jjt1J03!D z&%;mlp9}j>hsD}8FG$+S8uj9>%VU)g@Y4{>jT6ExsKf&$_O~QMDHH(uofpD0wbhJ zcTB9~Yt~{P(1S-^lpl&`n_uo%KjWmUy0Pl}QCjPAWnARN3q>Juj>4D0W(g;s7$>~6 zongQJI|qCV3r|Cb-LC_|#qwe}-^%JPNnxkj`Uj0WHD(m*Wk2w@l?T1pm!tC;OgL`I;3ZK!q9Be4Jl;`sLad~v7 zI_bDotOz`xF>uC|NVVlWmo*KL*x~7fCtUMG$h*wY0YB%-bG|Ro^HK|N+3pcf zOkv^H9zJe-X|vRfAd#6pME3waDK zpnX)@3HhcdHa6kkdkDKLUNe&;+DXbElTs@RZLg9QQ^|X-oV2Dix8OuTFg<|!Bj*AB zfaZk~hg&PeTmht_MPhFKCp|s$P7xn?6MFU?qOcLvZ9B!WLOj`?t9Bmv;ufp9vKy?_ zFz1W9r0q{sskJ+613Et`^AX7yuJUUa!AQ%<01Opajwk_lok8j!O19Tj{?B($=?DCR zg*(SvE_f7cScDV2Bc+CIgeC7-+103 za3jwPuy@64!ba_6^S*ss@9thwnv`|sF>*2$17GydzDa{_0J0q%J1dD1MaR;C-e-^} zcCc3cd@&<)W@zV;=tq*U)XYU!&My6navbPRw%v~a>xU1^OW!^{+4?_YEe~9pst>=+ zeJzG0i4xo-Ck5tyG;;oN&n`JAH_&-i=gOtwcWnfel7 zg>L9)k5``XfiN>Zy2*8#_*WQpcUdGQi7J4#jv%Ea=^X?mA5xh|pBY-E)4J~yD5T}M z#-9rEFE2W%%|B(mxQBmE5WCqGld-rr_0tq85}I{$1?}!cC!K|2B4DxfziB@ zFt#s*Loaj#8Wn5+ogpfHhUr!P_0pj@PWnJ9vX8_zL;-PNa zv^3k@)v+0dB}XU-qlep@ z{>a9H`k71phj^P~&{xDf(`@xBYpP6LsE<@X-Zk31eu@ej4)Q0zezRe(x<;&s@r{Tv z>V~~uE6~Cqcxz};MTf8r{d~3l-o*$~KDnmQFqVAsNj;;P^l7u+-JNc_(IQb??1$9N z2F0tKvbMgmVQSP)o+TSLFtvZoOch^R3XS#1iZ-<>AnGJq}}&@Aa|W6H<69X}w-IPl)e>=;`^3 zepR_2PL4k2TU2yruF#e9vwgKmOVeZ#Oc*7*xiRwCvJRE3udP)#o0Y`Wn)tHd;a72U zyxJSl{8O16w!2X+fgRpCjs=wS`BKtAFQ?4*Y~ZNdALgqc!TQ^|{S7$4XT?283bD3B z#jFoktYJv?{m|3o(DhmX)b(6cBWq>jZ8}8(nN7Jse>#n0P(%cjCv`xpACItB{iP02 zaC5eh?#po`I&25E(!fS^R#pq?ekEPvgiO+xD>@Ag8{i!0Cr`Hf8+e^)h5aB5kKyUu z_`4Ta30W5eqxSCAQy0vD1}E5%)q-BX3M6L@&4)rR&15QirFy_daX0P?X~ctTo(+f4 zexMsfOBj1gASK-mb?%M{&t(eNkEd;!q;;~~3-42|Q9U8M;oppGF%rLv8$Go zs4MC=#_{D9gZU`!_e=34uI5sKnl5Z}YRy<}g-Q;CF#s`OoOl;B*Z*dU3)Qs;h3uQp zg-OTDDq|3AF*AEcz8hO~Ex}fId7zfVA)08#gSRMAq^ij}iW-4kFxn$ZDse1Z`zSREYR25|9WSYAE_3AC+@byXYu)Do!7AHO_hgaPC@#~7d zIPoM`wXMOpfi@>WZ4*3yy#_2KPOX1IYbycuI{$jp)peDdW15s@%*8i}UOW#hjCa@~ z>wmByANmxB6GFd*@EFNr0>nMWW)hJ=fMWyVNKg;r>p7nD55|v~H%w6G{NebqmGH!(TqDcl*Y%#&5e_|_O;$3X7Ry#a+uFAR^^f$P5F?Jvuf<$z%4BD z5BAi?*x%~a2uviCJ9BW@lCw1%^x7C>BK#3aobq(uX!Xi9uHGOxCY9tjszGTKWIy*O zTKa5--#2xwt2u+HH0gD!4@dTC)gaBP$2n8B%E3=erp%^Q#y{*>p?;}*I!CPwHu2J{UEmP?p-U~CM%o!`Tt=Tkbb1dK1fON?v(%bZHrw|tB<7&OsNT_MG6q)TH;M#rkYF24?J9X@)v@go!V|rdKfRXPN&U$#cmu@H z_r}#~%_=v!e2X~)L35Q~BcwHMLJ{ymM4IEh&4n z;BMydnraun1zoZ6z`W*9p9=Sl!!-1yCe&)qbYpyRNpx#EuZTyU_3+m49CTYk2d=Kj zie;v_4W{D!=_uaR?yo2e$iF9{(Q%n|wgDZutzxDfd|u@mQHP<;tcDW>y?FkO$r7(WR8JznXKccJS>w=9Zb8GM6i_I1l_xoe6! zZSL%?*VQ1VJxu?(pT%V}U8SrqZacHXZzNo~I?&E&r%)lQ+AxV3TbuL?sTCfi*ZfW6 zQH3Tk(=!G2UG1Qd>Bh(sEyiRv;FiByJ;;vw4_POkg!A93sR>e0z@#dYKaW=j5}i@@ zB+gFe>@&S5?-lj-TWWhPN~BOcM;46d3s#C@M)MmD9%QbwlcxGQ=lwheEu*2ICF=ly z1^W!|=~>yWKKZy(Aji)3Slh(;g-eOgjeRlf3*!0Q0&4!}ly^4sNoR&I?ZT3WY3qZi zU*cH)#BM!1x!Bnw^A9TX^-wfLE$J^5;dJ6VsZ3v!&YlNr@>$Ua^^u8Xh+f`Bz!Lk$ z3}AGz*t$ttyjIUlNMnpIeaeY?^p=sC1bU7NwM*Vt9@rdq^p4ONE5$H|EnzJdgH4Uw#DT zxAWLppsTY-o!&rqn9Nw28F~MHQC8eDBa=3?VY?#3L{$Y#DyA(gSf3ENRt-;~QTxaV zBqja*4Pz|9d1|x-Z`LhQyBVF=G;6_(x5_7soPw&yjrx>!7ihP3o_3(Ei^ycDKRIdE z`Ik$0mleQkP>z-T(YRUB^i8IGM+$!QpMg0HdZ^_eXFo*Z%la%w(Zr^niVPjR;!m62 z4A0S81I`jK7h5HNIH>vf^%)v$3;7~BLhwT;tXq>+Pgzq4MFJ>hed3#5vvIUrXRj z2|AJ{Z7ESpUnD5iyZ7S{09CSu|L|ndUk~Ryv{$ja5kdEYVZ@_MsbiebAPp#GfW)TA z@;*eeA;%V3za5|lc@|#dmDPd%;PlHHH_E>LG|ndB$gj>(B@*5Wyl6n}V>`O___w`m;c9^r7SSL<=`ua};V z6%$$6q2bW7P%tXn!HBZ-Z$xXCWrI=8p;O3F^$VUGGTJM`tOZO2`+y|(QUN=VAPxB@ zCEL3rvDbl&1GF(k4$kzZN87TTUyb4Ae&5)S9qrplwPW_8{MPj&Edm`xCwLnm%8)Ob zIH-EBsyZWKy~8AM`rr3;O+Uf3e~`WNc^ZthsLQVQT1PY_iY13%zjuk;?swzbRposx zhEFA?Ah}fX*D}1aK(AA|`*v4g;ymkK5TVM+q+Gd^jv&0{X>!<0`>WfFxSawszo#Y{ z`HA|{-$Hj6Qc|sVHpdb!W@YmH?WP*pW$mc#rZqB8a}6_!RAM07$m|2OvfRiZ^4LnG z7O&c?z0|~^ibs#-<2$yj^>q1mbeFsj^5@fGO-f+M1;++oqfDFBeBp+9wlW#d1d&X6 zG%VVcGA7KEeJ$ZUrQ+TKw2Z?BhOFQ)3~hJ2%R71Hq;IelxYD+#$#08K2IJ7^8> z-bxNf%C}5zf33ETkx{CrFD!0^MjLhW?C_Bdw0QEr4R?uNQ>tORa6~5Hg`cV6b7M3< zDJ3C0K@~D{6G7BYhq0&bRP zcVdnh7F?gO`$>XT$BplE#53{98bCrXhh z=-aS&^5+)JvmVL9x^B$ra<=Jl4ZMxMBBkY3pHCxC@Km~7Tm*9Q)^~6m)5u0fswQ%0 zw0W{^=cE>Jo^{UDrZy%ihqC+g=xmo2LRPGLWpw0lPUBrv%w5Y#mCH#j_iUCk2tQ z!LZjLVj77V?EaAA8x_|he_aDJ$;>yM#ZtiRTSmHuVrFf3CN3f>p9`dw%=mET4nS7o zO)e-0>`72GVWfGH@_g2$D3rS}epFtdhcAxDJeOwfk5*7|MOV64PkkWK|Zwd)-PFSXV z5=~9$XKZ5I>0-Dku+L#9JtUex=^N~!Gk!C3Mp8Zr%d5|9x{la*EV9u4c!;OD>GO}M= z9@abX`v3bOniEd@gn9AF+jm8m<)U5xr(AA)(uBIN(vTwCl95ohMOB{?`HMAvdDPJV z+#K9zv2XaZxQgfpX*qWN+qA#s(tYA zjU=?dTyF~fJ$O9*u!G(m&gYzXwt{{J_j2WZsXika>fb~A65L*#k`k^#=M(c?K8Ch@3X zDz(KMaEU`@CNaKuh0dz2 z#~<$ohmojeQ$gv394Ukng0ZpnADqy}a724SXXl24N`I%Z8aFvZ@=3Mk=JH<5l`YSR zPqJ3=fA8Sp!!qOe)Y7S66}dd;mq%PYseL#AI7?6#*^I6*JEQTLURR=}Rpq_89fF3h z#e6GLJ-SKM**R9HGX)`W3h%Bhie_udN$SvkHQqVx*A5*o4a3qUtazOwRo{x#C z`OS^qxSgKg^p1GR*7N^Mu~3M99{#fzxnpnR8q(jl5h*^X-0*`jO2>1dwEMcF4Ui>& zGxgcux=yfqS3;1kHwlZp9$^>{q$6~RYc(6?%HuzOqYwIkog4W`oHn0&!=S}ampHNK zL0L<#P+iVx-bgx8x1*h}6gyoDZRqP(+5=>z6eP-jRyaxswA17u9y;IVR)2yvmJiCy zld`q4>9eb8T1x?7BN*4vKw4U6OBw((!QACg1fX7h|ArN$BqvWE#M8>=BDYguYcXem zG#VPJjl%}1dky}nD#;KYy7hkz?w0RPJTTQJSrb^gqdx*L_kn3{6K7MRcGi0uR6-kX z#*I_aR5RzwC*wN(I6{F}cdo%P!O%CgfcVQz4rts(lzvdJy)_*pv9mtLojISkeRMT~ z-XN!dnLgXCkd_5oBKRN~^Cgr^L1rWb(~hVU-29WUaL2~itu|Pa0O>`myLQZ}ft!@& zo%4Y$6haY}WU`GU5Y?ezpmmk8iQz*yZ=3|ckKH0ty1Y$dgOpTFFrw8m51ESbN=!0* zB+z0Xe}W}gQlawq6+N!@u=}du>C?cIvbM5<)jLNE!K*doG3>!91{ml4%;44?Q;d+i?1nRCVqyQ zC9Qv0G^r5#i14}EM%0@f&6j)`evoU9c>2XC+cwQtQ%tTih(K_58UqE6KR2@RV(g_g z>`mB3X&R5Ro?2C%==c}x3uE)E|lQ#|Q*bl>kkDc060*vS+& zP6JhnoPPEJi9oIUeUp+pe*3QNBdey0T!4CR3HPsc^s=w~QyZ!Tp1F^@*hXZPVL1n=a)k3 zIdy?ougNX=W}Y??x^PW99{k;_GIP(8s z0X9G;cj}$M&f3)WUQB)f`A^VDIFjG}lTx?&)PVG*DjlJHzu&>?r|Qeg-z+RV_l7z? zH@EP%I3q3|bLcyTigp!RUeTJ| zuXLr-dtg2tir41NzpqdJ>DQc^m{`8u%=goMs-^KvKOy$4R&ilhuRm#|H=b+tbvu6(BAmRkNS)0mvXCaE)JE-kz=CjpBHp zn;V0NUp(N6Q{FEIe|wjfqsyJ4%aYh1kZKxozN>}?6z0y*ymIV$`T)IwdUOfTbNpR$ zcMYg_v0Ld4=^+HkB~#RO#GifTGlR-;q0C$|Ib_cZQPKY4JWy&uX(KN-Eaw@3Q|6iv z({=oYE;a=wxqku?XDTnEHts2(*mv8-+Q#}6Z#1E}X>P_N#%1Gk&Q;9!p02JhAra&Q z03X&|vdvzH{q+Jav}^w0|IN1cG5*W7=HvO@Y$Ke=f3tn!V>2mt?mP!QQpCz(qw6CX z^u!b$txEDl=|YSILJKkzT`gYMC~s)#1Ao@@8}j_*ocDuXcY@ZRSZth3$%-{+Jao0?S7SuQ2m@s-aUf zs80EEb^qOK@aqjPhi*W^xVy@@x`d-6@%gcW9QrZcL^c zXm?P@R;9P#TlVy^@gN=U-jdQpm~`tuyue_35!fa8%|-iKga@mt#HsWQTD0UoKsNN! z3hG3DnKSs~q$2n7TG>2U{r?w9o&69WaR%g|k-pOY;q29Rm&0_l26Uxbd5IE7Wghu> zb`WhAb@upL=9s-&e#TgMyN>BhbOrn3)41PEc;A zhpHD)oi=mE)7`lhXk%XP&-z)W7N$r3%4`y#{aza=C>d6m7d;K)E{Z1pHgATSNx(Le z&MRgN0+E6Q_Y;rJB2B?sM=y;$S*-s?fbf#6&2+!U*jww!Np!9f$5y{e$x_lBT|;yb z`m~j?nT&!Ye)mYCyxnsH44%48t7i3eW~C?SZpG_HeLO=!TK0Ez_58v6o1te6I=erd z(R{fF@d=U$V4%YIvP>b>iej=K!~!|i1V1+VU?+9;nE0QXc#zIg<9lt5oPM%8s*J5pj;gRP;48Gv7xHf6F?1VEe(w?j zrQuqSu92wYq{WEGQR66hkq2u;)GVE`vNJmLIYM2&Ss#p03!6MFKA$Hg^kQ`OySG!{ zDv7xAFIo{yLrb`JbUSK3n--fhpu-lwu_;IRas}<|=Cq*o-a|jKl9N+H=@QHl)@sQy z_en~ozv)tA6+66rvB#<2qaQV!_@5H{Er(B7uXcYbSD37+a_PxrWtzdyD&Ng99jR(F$7 zG8g{bV^{pj@>Cg3#nQ}A^IAVj#ij2{KO$rDi=k;+P@_-=l@fzO(2L3`NAUdl*{TJh z?W#b54!M|(NlH3Fjd|F1bcMA>G75gO``!G2iS2Dgi9`-5CAA_$59FK*9VRy0{*t7l%kMSdY z!)hefwkSz#5JQAPvekd${kEj$~c4+#Bf z%XDSeZ~5QE!x&d+Uz|zCKn>1>?&Y)xpl5va=_E`&eMK#zRocbisJKSJbiFo+L{rCf_ZI%j2IBp{0qn-PPJq9)0*Ye z;OX%dWn0X+`e&bhEuR|r`UB3T&#SMI@DgVPYYyvOGg}&k&ZZGT%=3%VGOAw=aG0i@ zb80*ZAzgsAen90lIo%rI#3FWaGzVyq`}iz7DeeS)>YiX*pQd;H1**=EtJPTR3PPp{sa5MsiyZ+|Zltr`&K!0l(IlCqj=ncJvJ$AfoyWm`w{GCx-5_ zsL8Y_l{Mt}&*#mr>#=cXLhtl%b_bDRVFQDb*nm1e#=o$#pDk~xhj+kL5c2t$RPRou z;H4pv1*W)(zibedBj%BmuE+IP$l4na9TyM~TKnz&j8&x!a86!cM_RF};7}yku#=Bh zx;$LmY3_uT(sY4sP6ThwE2M30Pn?$!mSyS+@iGaOVMS4xhDW^_cvhIW(hE=s;pZ`j zpsDSh@wv!dC?oU~kmo>I&mr4pYZ&CbHMdLqr>!VKYxe!`P%v+=MS(|@(lYYgMKCJO zVlSw?Y5M~e9qbG^G-#Ow3SA6he$t_- zG8NV*(um)}iU@IMsdEwnx*WHvEP?Iy7xOtdCi!2O{sMsvk2ol26RQc|`70M&`e)$<=1nDIB#&UDyjr#zlSGBkItd{%o;6f2Be5eSb<_o)SJ-6b5(<**G_~{Zm=BdG? znL*ykL*PEi1ivB2x4y?}cXy)}71;DNCFdpmEuIc-HF2RRKTF-bx@V1y>?0(qp~GJO z%bNmx4SI2LxR*OKQFfEltF%m0?D7~9RTl>_V55N!69%zj+kbS_Jg4gBc%|4P{R$a1 z=fH$b1HfyLvOGzIt_{wtq>&atShs=xf{`dP#dD5wvb_ zP8{aIaO<1H0e!u-ZaW>#&S5dKAf8&lziS^pGChJ{}OXg`nnxzP?t_8$ZKnwyTeHjbSDE${R)H(r~ znNZpOJV(=|Y5ZjHZ>&cY2ElYd0g1Xj&ex&Z)C;f{_9Ofx{PQ$g6xpW{cGE1L>-^)B z>;s#a?f(0KvT8Ed0TP(^`Ntz&c(!|0m=LbTOQ zRy;XJ3lqAOg!veQqpwtpW`}jXEyLqpdvM8)&KoyyDqOkADGp2)71oMWYM5>@jOtDT z+(yZ(yqfQU-HVo{>LDx9Ds2+lJmZCfdr(p^5If+?e5t#5T%BDBwQn*Mwj0>;Y3AUg z1Hr9}Q$_trbN;64vr%?bp?T4_%Qi|1m>O0sv|Vte9khFT3B0$A9W1AuS47=02P83X zl)?fwn6lK#d;7=zEE40^1~zctx|e*$HEN+kMXe+2pkD%dV&xUX>BFpD5WoZ?Y1agH zH)8`bD%}L)l+G4v=Nl?Q5{ss?hH4I9N2R|T6=rJDKrFZ243lw~b<|sLKic(!&i&>} z{H+3yl(~-gxJ3qC1rN-93+kTP)cM)$u$yLwlAqByu_Q^QTiXZaUhX85ckFwRkM6!Z zbv-5PtD{u1ZS7FyUIQTxwlF8L8L~L}VQ5}N_QSl&mGDpQqZ77Pzzjmk`ixdd7U9Uh zIs`Yyv=O9|RX9R#;7we^uQ!(tu&4)D{&m)kW6?IJDlMa+B;L>R`q>G8hS7r%I?jw( zN)vPN(7tx)L;S^IRo@0N73uT)&l^Wyj>RdA2T{~g%$t+5U;P|PRunVQ-I%I@ji-nn zGMjJZnQmyk{9W_d&th=iALBW4i@qnX_()cihg~fbopP*s#>@k1@}Ri%>-XuF*4CR# zB*t`wk880#Hs=p=Wj=B6W_fA?Du}WCtnh42dvb=q1-23`p_MF%=Kvv%4&`ayE5tClV!O~|0v;S@gtc~eo* zjoLxbevyvaU2c&aVydvHBkSn?H*RkZZvhV?os4-DwH^|rIG2(1LfwOzPvD(V`4Q(h zqdhmqcbCVQ=a*b~V|QXd%r(URpdp?Zq>4hhpn1+J-Oznp04N3v6XMMehQ zddUfwr~SFeR7*Nptmfw0)Z3l`cMshTxRu9OQufPmE9LpMQgRuBFe2F=`?%VdN(6Cb z`nTNs6Y`yh>fJWa_iH~Y51bJrf?e4KT3mXM2N@C68UZQ&MD=3EN}mLlGyVFJ&w1-p zY0$MKpHfmeLEaFkHsw2YyRPaICZvlL>uLPHGwo9h&z)(+)1a0x28Wzty;;Dd$O z%$UYziihgVb1VVo?OhB4-fNY#{tg*~*{2zMXWZJVr@iWQt%?29ChO*?t(*7KCbFJ* zjen=g?ylnJ+B_J!3fRy~|0$C9evAo2~!aLkIA> zuiGSO0JA-Hd;`JCRSN!H>2ELxWwL^UY!(62lpv=568ok{-x8SjB2X)8XQQ><2f>K2 z6%3`X1`Qm7lsHxU&b283O}~PcOlfm)x9xpOo0^doQxVO{b@BCXQj^9t%*SiLOI3K1 zl_8V&QO#RO8ylPLj6~lufQM6Jk2U8kjUCG*4DJx$FI5wOh&9w3Ul>Y^wVhb@xIJ4* zi!idKG`ujILRQrG04CTU)pSEQn*{nanLU=V(#UB2e@lMUSWW2ho{WS80bl~?KM{`s zwlkq+;I21p_G9w=*GpkoQsBa9?Cm?wE4wET>#i;a0Tear6)vr93Dl`!GAUC3H4=Tsff^p9mQivdSVcn+?-5YqJ zcH7SnYcBj&p*PgHVEi6BBI1DhI~ZSWj;8p64OgH*pz%4h)KKn~aJR8>9jvEgu&awG zs=$FStXcxZHC#4VA%j;2TO$?`cRfcQpZnOslhqHq0S+Nn!0Y!WMB0z8KcdMR@CnA$Fpb?--;Fv&665!H?eK2r(@45&kvg+fMnSo>&6;wmq2A^>m3(R zMr7jrdiTJPUb_keK~C0GbNdfJ+;7AaEI+WDjaBs=8~bJ%YG@%CUB3cKgYVLWswY^> zZ?~hKGtCmd>|XR$b5z*?cz1PyD_bm}lbj}Ob*nK7u*xWNOS+&-DsW*T(=akW`1md0 zZu4OeUD;8B-}5(Puay30#jOB>4w-Ng0?{Y#R#QR7Lb|l_m5BX}n{=Js*^Znj!F3Yr zO@BkCGIHB|&R``qVLx)CPZw~>MeK3Hi@Z5AxoKGF%3}-rD))^@=SeJE7s53FbAyL! z66z%8kqidd!dVgX9k86?<_|H)CEyuLrWJTt)WwU+I11jX8;N3ua-(%Z$6cRO$fhgftR8OIcRelF_2aao(O(+Fu$>U~XD*T*Kvf2 z;-j?ca-eSKK7sWJWy1H4JCKZdDfzcu?jH@?EDK!_xav)+U1}fnUwlxI1e)$`G)22a)}G_aXo%B+5R>_Adv0@*8w&=-msP zbJZQas)KV8+)LQk^eJd+h25=A0v4|D5~J4iN&%!L5Nx4)8a_}9fv}^VGdS1A--VIw4;Rssk7C-_Ybz7SHD17y@MyjLWBnhvPDAjn;KhWF1=7wc(+gL{xqMQY3R zCNmAtcYEFTxg`$Ut#|AVY)n-sY2>=ys+2@J+Wl;>j&Xg~U#i1eSGrK(;e%ZMS8v9l z|32ZQz`o-VI<2j=02SARR8>i^L-(yMZwFU-lK?alp1muxUYZf& zeZRBeWstWe1{od4?w(r!J9DE3HfVczZPZmv_27mC4s|sS+ck%q?#9eJ{4zYZ%IC^( zzxJhAY}iW3A^>OwHB#Voe*eDj3j8#8pJGIb!tHw&i6`W*$`?4xVZIxeZ9+VbzI^8t zHvG6Q? znu*aEhwhyKzP_!4$D9aR#&P2SnbbK>7D%c_Wbh$yX`DDT={_<+-YWiFLY?mBwX3hs zCHTC%et6%jQJ)OeyInyEB&18U48Bk9;O^&uHBivvMr=4b^gB$gzY!^5*@c!4@o`v zEUa4c&ib(QsCL;wfvgPE@521P9sdty{~6Zg^FCcT5wi-2_LHS}@@|Ic%sb3VKu-Y;G%;hsA)v-hmM z_TFp$R|s)s5_XM>k#6$S0yc8TSpD$!H4}QSFX6P#|0^ZngrT$~2oWN+%gVBLcY+x} zVh&UfpdykThZa;fwGTs3e~}dOrcRpn*Ux_BLIIXuFdLy%09Ra8S$Ol5k0B(jU*;C- z?1xm>z{93v!c=<4VO(F7X)~^qEh>pyp8e?El}SNYs=*nxD1PfF5vSJjK(5YQyY{!g-CI`AU-6mxbHLkiG!`B%=+kTi0{!7PiSnrNV`R)uu^ucqS4 zP4LT8WTr;`|EtG<0JVh03m*f{o}8?o{Qe^8zcz)le`pCraQu@UILG(@_?N!Yo`PV% zfX16qdN*(CvE_Z5^6Q;Msj8w>)mvKCH8oVY?t=%CS=Oqt42PaQY|3|VY3yw>M_#g| zw19}Tv=~49*TQQZ&-FJlH>09vXQSea*KF|#zbb8u(|)ZfaXxr|@ZgpC(3P|4cvr5Y zZ&LPrP|iR>;e+e9X*~5NnFnie=1nc7s7^9-FDkjT5wDy`GM~ zcYb~;AVD5!uIqII9$!z$t|0&z>ZjQ( zeKa9Gy>SxfqQ94Ag+{Nl1Tn#3D5|xO(|^yqaPm9~u4@7#>l)qED_`oIs8ua-3iywS zuo>L;aR!}b0N|6rEoRah4D1QF>O`)TJG9!re;k1<(T{pfPR#Er&|3oVBBU<{tQ4h_ zmj%cG_r^*rUfHi${d~BkKeNtp4 ziw#jzO*c81xPE-Sef6%{+;SP(SoI|}HSFD9qkpg#!Lq)$TyHDo!XXW!Ze?fvX;`Q9 z4pm4ryJ%AF2t`s5B*9(M_Jove}ZZUyXXLPRA^ z@@8JfCeg0+yUEQ3byl!@@t?jrN%h$WQl-Za_LF4GU0m}qZhbV=Pk=@(embu@egoXp zy1g_8i2g3dpLr$6%##AkLG@jYkNtroiGw}z_s1D^>iVrdSR5|uRl|-cnT>*`NGFeF zQgr7_EQ2%OgU&s#@fywQ<5>`8KbE*r%#mkUQRW`G{LAmqityz#sI>7BGMT+b(3H8! z&wqPu^qb<}c(2(=_Wks=L6a8+l4Y;DeLv@fir6Es>fJf zzJGD_8&osmH``j33Rc~g4K41+i+@(+VI2y3vKE|nS%O+Qc-c;je@j=tq zb{=-J(o~doU6_;$H79?R@_*X>UoIeupO;k;5_g7_F25!HRXu5=X3wjbO1->RDaR`v z`9mC->7b`=_-V%&EQp8}(mxTl%m{mZ4( zBXkOIsM+J~2J$CuPGJ+*lYB^Hn*9|vJ}r|?diNqe0l`Pjb?%C5v2W_1V%s9O=xTz_Q%kA*}f%l6pI&>Uk4uPu&;E1|5dkPGY`z z5R`g9H#?owOgG=CSCO{sDm6b|D_i{iz^gnc(%5ZfIshuQv$mz;z8^4i3L_P1`c&?H z4>EV!Iei%adW?*>#5PxIO?UA6H#OCE*Ohiqr*iaaGI;#ysPXX|gl5%(m)OH*_C*gf zRf}dT$Y~u$zO>}$?(S|@8ci45@VXFpPnlQtO2zILOQzeWKiRm!+q*21Z>Ibqpo#JD zZO}7qOwF^E&UORSH>{5()+W+u{@e4~?Nv9?@K|h=aIbVZ>^i$K$ZMj$t7fXHuaDLx zcH;E2ghO4c>?QV%#ZmU`$dd6xhSOT$SG+g(2Tk1%73E&_NPS`xcUE;w_w{Q^$p4eX zt>?I#)?MB9$^Fnz=!zi6gZHJ)=cP1hov)RWe0hD63jd7JvzcrjegdgpdAqhoV>iCb z2||XIo(Fk8-lWx6TUMTxw(UEVdF4+NYgTI0=WieElG0ZXPtrc^AI0|O8aS=Um&m?Z zBu9RWmp>j+>#kUwyBsa3JFY6y+bbk{8rtvU<5Pc=-sJ6}qK}ZFMUkA$mefv;nmhg# z>H8~_w+GdrzZIc@`xNG|`fWcFTTzs_Bq& zFiQfVRxBCWP1FtaWMhEad{$fMSy)HwlGo1XUBT?qjj5*m#$RDs$Y#)`%&q4 zxz9%3;+HM!4|eyqo8{kBJxcgoX!9)Z&I+g{yR^F`=hkYMophUjOH3%%a^<5IuQyoefbUnJ&Un!`F}p2R=92rtVHsJ z#-A*$m9z8n@jb~mbKd$|?QuAqp77>ZSvtF0-yVs%r1I#X;_}w!zAO(ncjAkyC;pEW z0DRE+My8@L2MvhNBU0!X8SSe%d3kng7_g1h7)1VF1}c;JK;duA>)_kbSn3pho~^pd zK7A))q{RJi*OC)rtuKey*Nyi@3$huUfyE`dIJmmt%o=0jtV`;oToqNeg|hbsdZbP zt;%_%0{i>TNh?xzy$3n&;bErFvgb&g_pAARv^23YmvBk*Vcz4C(b2qbA~lb6u+7Gm z!-v0QO4=Wc8B5VQh}tsSMQIG%R-0{d46fgCxQ}c;;Zj-Ec>KL}`t{EYwrlA*4M*&a zVQjzil1pcPnmp}yH_>8pMQO6FJNE~E+caVc?a}f4@-7wsa=Ij3&LQG=`s)S8W@^#b zAo?fOHks&V`$j&U^J{+$G^E!uKdipl z{lfcNK57&;AH9^PuC~KE=EVYm+|v2y(<|3%j;@i6 z@6Mb1_6iM!+y4M}=4EC5mWkB1J|L|EqDEP&s{>__7b$D^H|5SJ`{}vo0Rc*&@&?MA zz&+koeeAv|HeK$vkns>meD0We`?C0urt^eqNE-!FOEc5k;c`cJv-KVqdh2%QCcN>0 zKFpn{EYj@$Q{i$dHwK)j`17&xQ6H@WkMx9*qDjl%=%RG7A1`yazx#^|Co{7vhEefKN#-mB;Z<%N*6_i*HL8J+GYx?2z2y zs)0LMfX1tWD_px?7>n4X)a*<iva9}A(i#@9eADpy! zOO}6ESfAEP$S2j-%*58v=gBPQKWJi~chdb9H|sc3ZS1YGHtw@NSn~;RnQz`J&y^up zEn~J3n!X#uB$dLE1dzuez?0- z^`>!=QNH_kzN2g;0cZ;N804NzrpF#t@UpU>Xw5fWC8utX;CXVy*He1wQCtE^nDd1z zQ=Y`$gPh)l87FVHyiM|@12Xv{``(_tLfg99hAejPeapq0CF`lZ)4Ss>x^XJ$r|bbU zuNQ>m4W5-JlDBCKms1MEO4r@aSpawG=;SHqx5n>kGj>)U70xcl0k3V8r7YU7o! z-uUB!_DeXlTThge$kYg5^CM`^m&qrlcfWcQSl=9NbRsfACD#3VSzzi6+;T-oy+>cX{WIm~U8y%^?-hCd8QGfk0eD~Y)u&u>jfhf^ zc-q^*l6|W?R&J{z-KaKD4RDp z?Ph!&e^(x3;L((BYa`C}bI&V5yDj7L(jT!@(D9sodgRtPGBX1+Nl8`ynqLYky8SM* z9o=m&fo>*c@%+_v_QjW1&zr_IoVE*S%N@6>lES2KsD3LL_Du!r!7aIvznaU~{<|{nBOX;> zA%1kxb`{^x%PysQJP&GMPPhK30oR+^%45A9e|PHVh0ByeHS=ZPX9&8y;c}ov;rvg# z0oZPYchy{nu_UQrX?LZ2wBR{%Nx#}sPx(6Q-xc%vq;$1t#e+u z=i=aVpwhf~(YC8nX+BY03J&-E!E{C&|)0v3ad}AuBjIINQ^~-TL%I_ns{$&pjZAo#eIX4DR%-THBz{D+e+NeW}WUgM2d~VfQ;HgD#&6 zcS&@%R-P!dFEMFKKgT=H4NKplKW!}(>|G53PAwc#KKX4fb4gDlr0{CsBaQcIuUo6Z$;Q&kpsDk&qNdMYV~Nb0CBN=(-j#aUbO}eze>M==nt6@_ z`ro7%_R`1|&XC6KE{}*(SJ?U;2l7wzQUC)_2?yj*Pek+=%zhQWrI|#^g zsU7n^{WF`nChxgW%WIk_`HV@3J3-u?8noCG|E6o2dQCN!0A^f3<7L4^Y3H8KL3QZ4 zbE9_{BG+5oqC&(Eb8Y%k<6rH&n%)yl&EA?9PrNBzNh$8p#W?G+vb&y6SQ@FTZP%#S z{PHX8&)&Uv7K>-(siNLjND*uMZvN@oNYfP7iSCTd8p+RbI?4K8~a!_S}*FCGz z>hIijGTIdQ?_6I|Re;Xt&y(1^#waI)M`a7MA$WylZb=5Q?go>KqWAyDIJ+dUH*73Q zv!52e83yYAhcy+Bl}D+CibBi(mxPuM<~4WgC)__R`+re;O7HMNL#fiRRa2dZti?YVP4mipF{BDz4REu9F2(V+|j)X^md0C5$ z${y5|U7Ar7k`!641BrIeqW=+IVPwkO^SJjS=78>E%I<^dPv#!h_{kqH4L{`wTbPt_ z)`~d}>w|s7CY!6yk?SbwCGetry7zvc)B!oCR#e2fDT8FL28PJb(piG+(2Bj-g?Qbr5$Zp)o*>TZ%OkJ#T-ji*jcg+Gteh3d;E-muHP&=>;FqgHxIOKEK!)sR^v^u@w_Nn>%E7MpGW`E>IvMV%b-*NQiv$j z3s4jn$+Qb8Irnp&0NWJmvp%;-eacYssv;URgg6WX5k>(KxrNZe|H}nPNr47Qe(&(o zX?JaJhzuNW1rtX+ke;g!&|L-TLMto>uZfLQPGJDc@#4X1M_} zrun{IZ&vyJS-&2!xi4nyI-OXt zIqwC(@`m%g8`t{+j;i@YJ9BS?ZJW!uq<~kdLJ2p}rhM>TC- z*guZgc%NX6qAS(|{-D84xlta4Yoaaty_|F5@{NCzy$!yVe*2!gp?37(9P$y&l8hVS zwaif}{956ii46Am$fqEax^_RYeO5K1hWg3ID-8)S zz`MYPC6c~gS@v(oGENz&>}>&&gvBe=unZyp;0W08=Ur0?@iuk-+hW|@Qkez8uYl6B z-p%qV=l}cL{ytYb6ay!IQv3POxl0cT{!0%U#)*^0+jam zJt6CtI@G8CW+>yv-m0k>_Mnzik?J&5jH|Uv=GFQ|^1+Ss;H_*BGHfu^PZS2(HXOow z-5_dI1N`r~pEm1b^67<-k*$CQ_fWudg|U(c&ECBEZwA6HO&qIbnD`(>$#tG51+y?o z%}(V(u-B~>l$4&4m`P_3NH+N+?Hv`RM@}B}=o(n&-;pApTaZmL0-R;vb3Xt31cZ^pPiBfA_rV*@JW` z6nqz{bS!=AfjXtVy7 z-Lk6sx0i1zLW2KE3o`Ll7tU{}wr1KsdLBnXjc3OwHi1mm;`}vuH;!7j5cHe<3_bh0 zKRGtWDhq6+-F+*&mJi@g}QYf}Vnx%`-r+!kVpzTclZ{uE=8f_N1 z)z#ASGJl95*k6vJzJGh&z_+iQiro3)R>y*>YWMBiw_m)K0l2%rvRe3TGWw*j&ANZ& z3+_PERj#&6@sLvoD^VG|xs8(3$&G_*2IG4QWc6+Wy^WM;ht zs@!^y^kM0Qbe_YmCD!^vI?KzDsW_ceh_Y}8Li8RD{xf;dYH-1^`@W2`s_G2&lZVy{ z??d38l4p;g!d9B(jjm+AtZ=t`1Oz8{m+*L9;llX7h7)G6wd{Q@XVjNa+Fg+d@>W}N zl}xr10ew9aZJj2cd01;m2>01nZn!$0PBU z6kS6}yT_VRy9vEfKLn6%vMP0yV~!o?>1_+(Yd)gpbJwudOk1@vkjUjm!I>4qrp-t+ zua)nLCEelX(2pH*$Yt>)bg`W4oCY%1YP?3{<39M$%22|O&9<_+{zoR5C?!FQm1Cw= zH4~DJ$w$PzNVqVjNA&<1wsXM`a7xe;((%dc9@_Eyc-!{tkN9+Mbs=zQQJd zzivAbC39uHmX_dNa6Gn7q^*@1jxj(Me75%W+PyCrj<*$zZBnPnZjX#m9SP$eC2q>7 zb_njQ6h%JkINwfbtlZB(KC`U zL7Bri!V!~UW832e%a!yC>PLk8IhmIRV-=bfQE@S3NcV*IBDJ2zMiOH-o~f{7O08pp zpSn2c6};bB%jpUdXr z82(YcUncBsD1M(W6H3|Sn+1t{og|q74PaKGQLEK9QR4~UbjojJx@0=%`x;AT`YsM< zD}I+#8tA_>eTZaL^z2=!#|@h#bh-qYol6jd>2(+*R5t)=R{60bQZZL9|(UPYrZUkrKNOud_V;$I`CB#L| z&dCc!Y6i$}N*^PNZt zYLtC>8m%Wnu_Wmb)*=|aO-jA5eqbmypvHU|OCd5=%rhDh+w7~2S7@v&wy5o5p_p@O z8@Ss9jZ`4+(qZ>{XY*27Jq_YViVGCsfKd5Q{gXp zbzCKKzU|v#f?KX&EPlJec9@Jvtc(_|S*`@u&VQS0CByLs^>|^j71?g?;wUPbNC;7( z8C?}BV7l;jGUXtID>UrwX~!*nd-^&Q4{-xke78y&je#=udq9kKnaHHW87Lk9vvPu| zBnh-(``DM>hQ++hNsDXN8PXPR2-N;Yk1IAI=!Yrvhbx2)esW7?Otg>V?pEelhWp{B1_mv-9=|>sn;xyS9|SgF}FoTExTx3Y1z_FU6`u}Q9bM% zsFW?crz{z-$)^AC^@ViY3!h=W(h+etjd|7}lp%XQ#}Y>Fh4hW*5N_%ayq-fY(oh$O zoB)~ZzObRsjn|#bv~>Nee*9>;D#AJ6x&vCsiswj09Fgv$UWm}T9Y|~w?ea4HZgG9% z05V`WH0`et_4JSN7cT}4D-smDJ}`50Q$|@nvll69QW(jC=x)v2AFjJ4-gz^?P`IJV z1j--LY#08PR_8M3g&Q{ou)lm>`HtXv6qV4f#rK|#^)YL$J*|56m3`Krn1QlN*^b39 z`_By<3ldwWg$hM(R6*2xW;QP*NSaGn4Ey;@2xDYjOoRQa^p4g2x6m=X%xZWmlL=`; z0@j%w!srovbSlypLRcIKSZ-_@!5yD)IWrP>EQU^+IzF@r()Wak=h+i7SydFmS??8h zF^E+uTjcC8sg!T^@dv$^v*NV;iuKc@e|{rMWd(yWMpAUdga?{Hb?lLMwvfto|#25}Y9*&Jn48_Xdxl#H~WNMhwqhsbmaEsClUU!lY-H z9`^Mgv^*rM!hYq)#pdeV+Tzi-;_CU8d^n@5WJn(Zi zxK=y!jg4i>AfKdNFImsLcU;GBswHK*>NU)3=rFU`pd|HS_)L+gNnVh@3yp;(Q^r8Z zHZ<1_9PAtCt%-hnbVJA-#}cd&OT00qv~c^-n*^@u%5s^Y!+`_Y$E_Bc2EtgyK}>3? zH_mljh8aG}&r`sfofaV-uprjc7v8Zc3hyT37#A0n2<}f1Iv5iuz60w|tE^Fl+5YFH z3MSmpIZWDjc{Dm+JG&f&!xULE=!1ysFx1pFaB}tq4Q+EUW;!`h|M$qRVC`8&HZNXM zyyWYEXO2aye$J|1oAjEWZvsL6%c9=tko zyV-Hva_jmhMb)O5??q`p2PJz3aWl;~h4mBZb*v0C>{()g-CI)R1RYd-ZNT5j9ji|J z69{}x22{-CfyJ9bzr|l}heILH-TqS=5JEsmkbos23*TcajWA3jS9EG<_OL0eS^b-I z(BW>mVdP4L93_QBATaKfH9oCQDm#Qeu}WQM&>mq`rR;0KL%!sMiRH99kkm?p3WIsd zbEZYvC^VM;Dp*6k{cO!4tCJ{-f3KO$pvL38u4MNnd6VnvFfg|U-?%J}1&otB^?!)_ z6DyWNxxa7$p%sC#W@#O_8FnKu1{86dUkiv~ zwBQ*C-%cxyYXKr39BgO%wWH=gI|DPP&;{inL&TOi(#q0gLWqEMIc$b(LvXXzZ!Qwi z*>}*GPT-Ys9}PS1)xBoKtw{c6_&SIRz2*Y*a->snZD{a-ELeUGA$cKHQ#oYlDCjhD zEKXalI=>LzW-@YP!BI!L(s~#5F@6oPuUP|bki)T0hfIY~O|N>9D!hQ*>hJo-T8UAo zNc`A?l*53Wxd2(S-X(~wJ)(o4jMfuMMcF;Tf#tOFjoBswQ||m_UwizPlbO>zQQ@E8 z(Tuj7b-%F#obVckY;)$1E0yX^!fj(z%1gCYhWP#v)TkRGx(Mp7q0n?vg!d;sVzW%v zA;>Aa1dYaTC#5<-f+khP`=(pm}p`d43toPlr@JEi88O+eUSgk0R| zq$>s9v#NUCA6DyqP15RndSAhnuteD-)GBBxC1K`kI5eH3eEgxV?>$!-Bc&cPIJE{< zQdz*B7vdLd!Xa@tlO8hM65b#p8`F=$peEdCGt90OC7Y?o4VeVm77n6vzhi>V2VgV` zRJnRc^l;%FChg?#^gE1CteJ_9uK@<@el2JumfnJYrV!A$(|+GLQSizso2CBz2)6*9I}tJrA;g&7f7DB~sbmx@!fzQJ^6!x8ejY ze-52(LO8moG9~mWVoUcA@uG>1uc4ta^}qm?{i0G_Ol;%dGhFw^D((Fv<2B2vW7Nez z_3F1|%qDJgOYFsf@-kEP)cV-Vf6? z0x2-_n<9lV9hPNx5aj?aG$BSlOYM~xunKf1$Xy=@Z^>~b);wf5Eb-87*fhk$-d4 zR5;5pt9FQxjtXssg+BmO63Gw(#knXWMwr0#WSn^^ROX|Ls?;eKTOK&M;!%4-H&Nxy zlR#kjU$I5th*QU-b&xu2WC5WXNZ~a}9k669hMI+j6pYMl8Lg4v6r*ZhEWO+syvj;T z_C+}~c6EL@zJvx0tqiARG+ybnSEgQ6QV-Qo)|rYS0nfxZg;MVI0OxHO-}Z*L;3n>> zRC>WP%&D z6v@b^o+NXnOpF$a2o1+b7#Ao{zbN7m?h8O=-tvztVNnUPudHbygwuYl!Q|K>eGP@P zp$l8z`Ch^%+S>@g9UXT^JX_(5*}%J^CoRjkXfs%CEfuTy9yQ}+E;$+YU^fL!m_@|& zo6II4!{-Ee;VphtT`pZmRXODdCYr+bs=ME|O6S7YhHn^PV{;_WNEz}#o=b`TpSK(pYtrmd_oz3EO_74y| zvP!T9{ViX~OUFue*YjE{;q3W|)`5njrU>-7JpwJWs7YN=`jc3-+-E3lQ68h-wLj_e zPQfZA1RP!|Q)XYd(GzED#2g<^kW0Pq@K+fBy$ITaC1AN#PGKQiftPPFvWtQ>lGT>K zh2k1x{)YIO58ujq=wjhqGmLI3g^5gzT8YmY#q48pbrA}hkl4Ne1sA&EMWNJ)EnFy` zbAUvTGxEW$4#^j;bPE<+-z^bMN;ex9AjjU(GJt2Y!g-#IVHSGM_ssj_?}BJ77M!;Z z%@8HwOZKL|F`?Gkz2Mw}#y0b4iuDru>zcGAWO{%{&M@_-pdPR1U|ZOAw4}1%iD`Y! z{#e>+s9SvWw0J@YEtZ!FG3t!GoA(V8upo%{XB}N^u(G5*Rzm+35|%RXZ{4|(z#5At zfYZD#dfTVI+?BQ^Ri#C!PeEm!WGgJBZ?#PmzH2Fr6RqQo(#OtM9eoX3VvHKm)M}8X@=@~Dv=8Abp<;&} z2=kYmV=Y%*V7<%6h< z)(mVTmpE(dkTbfnN89YtfXKT4hg^Ex99gQ2q}66}BQLm^CHW*c>$1w2B1V4d@MUE# z6v4GE=X}*7drkOotN0KTqr{H;wnVG98>cj7lXnMg{qgKIPPkGdn*Y00DBZil;s{e* z&2muTQUtC~;Hh$*`yxtS6$JPSU5s{*z&;-Uh@OcN8I1m3Sq^}8j#L1)NV5Vh&Sb!H zHo9GlEb2{s?%GWEUO<9S%P^Wq`q2f}11ymA~=$bDQul`Ln*t}H5LVf-8Ol%hk+$NBc}7BmZ$Mh=@#3-hSd(v+o$^5<7u<jV@LwoX!2Z}@g7Aoa1gzwF5XzM^x=r%Wb2osL;pPz9C zkUV6oPo-8hBmt}v?w}mcF1=9fcd!2ak|rUj6`knsPGa}92qT2_gFuYo@_^AUWz&1j z3M0V<3oG|9DCvyU%UEL?G+JKYdCDGZ;LtH=gmG`RGbvc6EQq^7ucqCo{#LrS13{xU zw-u+}bl2(kT8UU5W1~Z7jxqv0W(t$BS6H>0#li{`D|cQ0 z5vqs88Z`O<|D6@tW=Vv^hevxMH%IKH!}-?3{v2e7JZ@Cr`kF}}E3XYghHHu!@;DfS zoTkF2A%m}YNbH4eSnu!hnmk?)Cg);*3c>DJF4J={dm#>{J5w3>(JUeGo)a#wPY^hD zqI4myV_qeOx4ts}_yQb99K`g2h-FEsj`$wUaBb@hBIAc!K-D9Tvsmi!4y*P$&Tb&- zs{O+`;tqH6KzKvL?^1w7&Rx5Z>vwTOE%U% zUYwnvczZ(3%8-?hcFZf3e;cmF6U_BwS;V|XBH5`#&fBo}MW23%a~@}8(&OZIu!88E zaQwIMv7qU!9B`N5J zHWxzu<)`R2|#d6hftJo{$UKYQEz+O2vQ%*U+DExCM?#x7^0oZUj>CDMxlUoT9 z_~C|)UyGm=>}r9Avg`?lLa7*!um*7C3mCsUA4Mk?-DmiXJ`)~P1buegs=tDw!*DAK z&bZfBL%*Ip*BvlDa-nEYkNMSvC*F*?xgVD^GRKyr?#{z4lF;mHHI5C;`hBhNy_nqLKH?qTs=FZ7wsRoTJ(-U0)j7$ z4pSMM4x(1-$>$)P|MrPhTufi{9mfx5Aco0OMikp27~}BE_{KX5$%GkmdS=%LeSgxugVFUM6=6qk@`8YMvrT ztrBEHmBgK@KCxTW$a@Y(w1yMR<%*q4;cdXCi*s4ePDZML@u4Oxyf`#fKY4uTT6x)9+ZsmZ#f4g>Xey`SiLMz%}6s zHzXeKLU4|9KXnnb2M0>SoIL_x9Pp)z*V<9)<&4 zmt0$Kw9FN_Ld!}wS$TBZ>jPE?ZU*VhKCB=}nV||8_>TY&&0Bx=$Kh5S{K->HOC^X@ zGOnxOTQ_|x1N?{V62Xm=O6mt^(Q7lBE)pSbo=19;Y7W@Z;<3uy*ZIcWYR=^uEU3(OfYF?i9Zp8q4wZh36 zjt_IUR2QF1W9=`GaL-{i0()f2M$E}Xnp!zz{t@*YcPFYTh7oWw4w}ND`dhG>k^^mF zR>d8r1?lj<_aVo)z7;A=6s|AER=L2?M;I$6#7K07g~xf|XrHix?2`@5!63r0#piq< zRb-pG`gB~y?9W{W3)+{wbb2hsHK^d+8dT)Ge^>bHBIwsVdh&`Ht79c!u^Yqoh!GDp zGiJOux=se#YnW5dF#X3SgFc|V90H}zR%}Dn#)!g28q~uAJaE;nu%mOt7sLYnDM}4$ z%gLaqJ|{4?sCWiPV`wR_?{h|xHWLn-9UH}F!Git8iSw4YMsp-*JU%seWrx1C=)Baf zncXp`mRx?YQE5zFGoB^V-C@KO0Z6Y|w}+U;0)bYESPCejX9_TzaDf4k0Q zi!tSCz?#gv#gI5aZrT;Ww6=&eYLgZeH$SWi;kS>K;!L2ygh33W1>LQI9i||-N|T`h zw16f){EXXuI*sZD+ivRx5w>8OMaZLNlnC7O2hoe@Lx8^|d&jOiIE?xyl*VDwa<}?^ z*i?$2g^&EHFJzT;Fon?~if1mMA<(_257PqfWtfTSd)2#u3<8J7?GT%(h_uI0u0ju7 zt}CJ(*OFs`w(Q$xTF7%IFh@-U{kb=aDH8hrC#}~Tk<5RQx&XjXn?9`vSg{P>*Pt*CwN_NXP`oF2dnrc^^r1gu{*EdubD*?Q-n84ZgW7I8$V{cUBqnrRg zAV=pB)^Z{i9`g*qh0}6)XJj5Y1Gor)jXih${oarBre!^A z^!fO^Yuv`PfU^=VWN^WdgC|8adD-Se*q0aZ;V>~-C3OriIO1T7DX)3$igI1CSc4$C zV;kNZs-6RR^jHzJf&K3ufirBZu!4!z4{LD+2Cg@OJGvsaRcm^_AcNl4q?l)`wmC!K z&^F2QXanrIh?L9xt1+uzMW=W_1azuQ+4XHxGR||?3*%c``0DKGi1%*`#C*X>*FnMn zbgYw6`AXt)ew0Ns5<_O$Lt@%bTKKbCW8OS*SBPAsY3Q!%*EA3Tgea1j^j>{mmd3Nk zJKIOB8-@~NWQ39$1u0d_t=)gp@{PcSyFFMujc0t;sgNv6KQ_{O)>C?)v3kf0) z^9^JCc5M<%5T95V?2ziF^cEoJ@X?*3FGTPlWM%|2WKS5-`wmi4>M_>(TeXI{=fQbg zc#j(Q(}=JnES$;I3SCeZ#?G1=E*Z9X|AP#$Cc!6Xk%)b69xHC>89|2V`xYDo@6G{< zNZzKWj6qB?oy~vH8yk{Fk6tP??|cf~AYmHZ`QIvy^D6^}r3gFP_JKIx}-SCX0Qy-g|VLH4LWHD10C3>TiSf*&i^k zjT`%b&wR(`5wR#?wHIvN(G+TKVjK&3$!xrpl6`MyNoLYcjy8)9fp9&1Xyg{t z?V7%daTPF&D0a-m2wJvQx;F3)J*8=ZI5eqVr@LiUZYaDaEnJn0(|N1SRuMMz8m7^a zgH*|2h3L&QAuU!=(vPcHa=bUdoO4{d3A4g*zrTkrnx`?)q@*m7t8*)gVl2oQ8p^#A z`}#!7pGaaTHf>qG8Elv=Y{k^<38S{C2T?mFwI&*82rZCRokXgH#ik4bLnk~6gQeV~ z%>ot=(-4deQy0q#`Qi;Rp!^ZY$S_cZElZPh7|$@k!|q zGwJn~%9Y!K8J3hb6DZ*Ui((WrxA5z!SdhA^ye~>z$CK}{X3B%`=^Q5mH6fIitTzOgN+e**dSe$uTmS54vDM(Qi+S3O_I8Lvjv+LyZ9w z&|KHQ#tq4a^-NZv^0#JS$b*Nh%HaV3-t($f~0wn%Ea<{{ByPONH^ zbFGdYITl3a22m1M>q8%HFq29h3Qg+l_Dc$(9fu(?t!F&89irH>7nkD^HiNY3aie_$ zJnlB}s|n)3J+c!TTkQ#k{81ez6OwS0D+m!~z^&S-;C|E6MAHkPzOu^E7Hl;?WO1p9 zsJ;UW4J?lk2P8xzlQv?D_GRMh{g_-67%(>TJX1n8xQ_z+!nCeSE_Uq?Q1LQvVqjKo zeH}Wu#1xdaPAwsKhe8k86YA>$mO1Vd`B}pE944lUf?DL_4m>NK>0*O#M$(JP%iO)! z*(rwiEqRN3g%J8_hNtiuwrC>S(j*6>B&vDfZut~79weSk4=?zoOX#~VIM@G}!qyH^ zmyt;skYp_=NptUdxPmnE zVe#d%dY$PLU|lwk^4|NGm}W4RQ{a^hf>b&jIw)Bm#8q=x3ii2M&=;aCg5{z^0cBwR zHW;9|FEuDhflGjs3N#EBjP_sQA+zTPPV#^DJnDaD&$mR5QLrXFC*5Y9Sso-nQZs?! zvX7*?AQ`2i@8PxT22nULH{eVWtvT<}q++JX65~D`6XO_--GHVx|p*hrqnx|bzpEM8s@{0^Lp3YhxC0Qwif%toYH_dEYu?A)?n&(S#c*T$9ftg?5P0%+10$>P0e)HPEuNUZ@an>>HIDw7_eVAj6%m@B5c+; z^2&X+y*DyD&Srr|f{d<-Ek~|=;%6YdsWMj?0okS}TT%+OT~hKLdTmm`9_eU8F`!7ftNMbv=pjse4L1@PK6@uE;o@7fBOVz*;*PBDJ6v z3hK1gH5esV$9vMm1=QSAWkM#s3dr~mTLO5^(@ATOREYa3C6TaCd3FbUV`v%p>qH~t?hrT)YkvzdwUDBfwXY_RmMdH*Ev6;p#i+9 z_Scb&3oO=!(MUgR2KO2)9IP|D9m{CJNiSNHi+gkod;_sS3dC5JI=yx(m2fa3rfe^p zBNo3)279lJG_d{U>F@YW zh%F@_r-cqXMK2a%AqYk>6)nrf$>Yd>ha(6fol8pQ7AmP`tU-Ovx!BmfQZQKZr3N=L zmCOAE<(5ien#s!9l_3-1tf5U0gg)G;$u(D(Hr}2t=%0PTdmDH1OkoWj-%b8GR8eQM zY-**KPocAG5t|wHjXE)s5!d4#9=0+7kbM7IwgEZ*>fx2J;M_ZCz5SrqiGo(3a~~}s z{*6qD=|j~+T&^tEGe9#uml}6vZyd^ltZ6xJcMF zFC<}x*LPIn4EVee6hsRWX7C3ZbxEM^@ZIA_@-#4kp&*+#9ohGAjre}yz_qvrwB@*R z&Kjg(42hr{wKs$#4%zrLJR)Zb)q{3_@G4+p}r*(PzV0K11dK5XRzS_JP#2LDjQ7+nRKu6C{xz6t}Tu)p6wR7AU3 zaB~SlW(_JG%_V;4Uoc5K)Q6jxsO0Fpa|4h9J2aFskjE%}^5~eFq z^zy;M8VG2fwr)K9%pFowVnP0a0qU2HZ7sR1b{{L(Wh?(L^ixeFWgW*o?`bD+j0w3c+hD$ zY#k`U&gl0{J?QBUVX@(>W%3DK=VhCs6pQ^Ub_NK1!t&k|plflc zi_W)t9Ftls3bI&(NZh?k*M~v9QZs5^F&q$0S--w3qp3wAnY3f>q-nXN*o6}GDK8LJ z^3D=pt(Gq;$Vu$d#FvUZpq-hTOx5{713dfOMw+uh#3S`XGBM8bYs`8j*p;Ep3Owia zUw*JWzMvx3g1=DeB^mv#Pz%OvG4{7a+prc`^!A`oL3J>Wn0{ue=ooFe@}Gkk0H*wz zKn5mc<}>W)Jk4)?D>x;+{b5Ls1y2*<8|x$%EcpE=cH1{$x=mwrLCKB{sawq+a*~Pz zMI2wGm2xPJ8fhI(dhS@>V;?olIJG$p`MxFCwnVSgZ;IgAf^{q@e{o3jG!{oAQGYK)_PEISz6RZS-9$+)?asxfDeMw@9ky| z6mU&~GcqEAmY;7h+Aqn6c7Qy8YI@7&fl|?cDXdAIK0ef<3Z(35QP}U$fM79OhnD>a z%>eXgaGl3H$v_JH^G)wCgjT$I*1ahkxKqYBCJk-*m2RF}_%s*I0D4ry@e3`>CN(Wt zg)NmeC>DM?sI7$;YwNg67|N>Jt3}2Nje6W@0(HLH?}q*jTU-S5fB&}v8NY(yI$057 zNLy@WksPimKEEQQ66onxmqas)0DPF z88E$urG~;m0k^4g2Qiu8Ap3V>WYB9p2-Y8Z$`-^y_fgiwhp)kPuD)6O_~WA`A^{s# zr8pAfuuUJ^2%=Cfie6pXJ3KBl!e`)2r^T?vs58%=HiJvYjQNs}A&uHd%y95op^`d! z%)a6E4O;NpQ|z};Vu27jiEuJ=P01Z+fBDAL{||eA6_n@Fv;m{6K!OFgKya4;!S%u2 z-6goYySux)ySoKKaCaxTyZgS$TJQg#?6Y0_>`PG$a&FP~~iOhb43e zO^HdER~3L6$w=q;Do`cg!V+dH>6zkJhNv6n?5Z~C)d7~qH^seFL4iI%UkM>Rqn#Q7 zEGr4Ux+9E(%|HDJIeO@TvI0;QVAHv<2{V9$Cakl46)=d%^hf@O1(ZAH5r6Re3E!pw zZX>x;%X+v=)Pfr`+n#@b0|Pi{Ya9g%69@_Gu#g151Gaq%noM%^nXy}FuZjoPh+71) zq&Xl*bib|e?yIaS`4qu-2mv#WfTa|<@K5nzavbWvNlpH3%C#LU+o#W7RdJ;*UiszT60H*Mwlt1V1#G$}NBO3tM?>fz;c z|I#-_y9mHrP)BD&gO6te2EG#!AI*UPUGSXm`&_WZV_5R}FMYry1Z45oL&2q2!n!a2 zQUCytZ{+uJ>OU!3>iR_8mEnl@sSwhiz#_Z(^xS2@gH`IaFGOHw;dRj&zFyg4 z|2l$I%!?w|_%;))0;gF7#B*^hb$TK#0`VQd6wUi%6(#yya@h0nNHzlWklz&+B5w$2 zh=xQ`x+mB#PZH)1PyU%n-weao;Ua-I4jNrD`!UD%D2o*zXMY-RJqqf(P!q`+)oTjz zWspq)sPX8R(yn0t&D?`Rpf;1Y&{xDxTa7j{{TQbQ@+Hh(E`vtFvG0? zTw*A)YpGlTCeORsquU%AO&%q{RaHr=zt_s&(|+KxC$cQ8--M3JX*ja>j&^(G2xwyf z5Zm=0#4vMXr8e=$I4p~f0ZQhI_X<#&e*=%i{}K@lco~xIs?uC_SUO3AzZG7akGk59 zYMNQ^ArSZ|Jqjo}nLzA~BY-3I68pXaX8^-Qa{w_;@FcjGJywS3y);x`tj&9oDJ(kR zjmc|pTQRzkL)c0C=n?E9=Ab#TVU-hLx$A2Qm*z|^$P@R)Xm^R=h76Ryi_Th=QD5J@ z!Y&~EM>N)2d1;|}Fa{T}48edHUN2%gX6`a|^F4lT?E%BCXi?39F%g12KO)t!I1_5% z0ypF^EUbyh%*8sOrJsw>J)|Y%uR z4pg84d`2g%Dnz9%uY`1lNc}+UD;<2NE#L2O0*3d#puZ2i+FS>6m;2}1D`ClpC=q8( zuy2gZiUtl-1p!1^F^>k7l(eQx1V9Ld<;(HgkGVCXWyiLWDQ=*9bZrNROF$ep?9kn#@ zYC(W}5u}$+yn0lN9&{f_&OM-o+5R%rE*Du7s#*^O&CLe~g#9+dEMa+nh=GXyPOsjK zMN=g!zTf)vdJXzFdxL$PDG6*Ne`9PPqUi)zv<13}$*V1M^fuso=7W1?BY}7)x#m|w zCQ^k6U=Vy{;AO~jOfTyt4bGFz=xQw;>DMb%;KClQL#+Aj5K5kVgh4mTd2lHB7;`-5 zJCGkG(iLu_RRS9$7(s6R%aD#=3lOScvb^uhY1TGVdkZ-MWRe3bAbwB@nK1|LxuV09 zuQ6n+wTR21LmKc6wJ>T?AWs)^wFJ-`h-^^J1bTe;>47cq{sN3)sv_W4Hi8&*a#(WO zeiMs&(~bx{7AVDGm`)yX3mpJ%^i#kLN*4SozLZJBlr=dM)^mp?de{&i+^hAj0(u|5 zhy18VIQL)l(!zx2 z_kPxVzanIg0LDpG&RA6iJUC1M_E43fgDzfc+CO5y)^`&eoZBuX3jq?;9m$O#QJ)9y zFhewy5Fk$D?=1!ofHO@LVy#0kqula=sltS&`+~lbGD3QpAH%Zsf zYv5If9`#>)ZI2(&d!)Q#oUedsgEc_Ery^6*1l{feL4Q7;xGzo-FWfqh0R#4#0qI6a zw@4qWWc1bE2+EF77n?nih;;f?FbMS`229r`RC^_!!UoFc$(tYE4}mGp`-#<^|EM2c z(K#%k7s|}6VJ5;ti>VtL#6=j|TogQVBnW`oj5gnw0htX}%UiYa zM?N5wgkI@L5cP_SkREWAAgSM?hS0^Vz7j&e2m)OYod7zqV!SZ!un zDv@fw&(qQaG4Miiy4M)*%<>WdgWSt@RhhXk0x1;2r>PCF7|b-SzA8p2V`T!n+-KL& z-sBl9q{lE|^z2R`XWOPmb7kh?$k7qEqnp3(BCS5!(IKaP8#<~e;0Ce4i($oUEDE-M zAq3hRBfd}F$P+DlVJuGOZBkP^_~X&{*i__)E*&>6QYJk516UxEjW8KO$#XyjmayTK zXiOaG<}W+)bO2FIy-X(!-o1wrtU}yYO22e=Z_d&7Mhfa-aMpBb!NG6?Hj zNIBzwNXO_;sruW#v+|4+K;?9KN;Xo()WiOoRwgBNn;XD(+63G?-I;`Px}wOBe+&9y zAp$~k43mnpCQQ%4Y{QI;>5KX;lIm}P7_B;yd2IpH0;rGghtk;komZ9X5>nWU9|X|; z-XaTgz>|m!Ai&Ki5oiGhhX`=OU5}DUDcbx3HDKcFD$xNR79FixhFD|fSEfTCSXwpc7#>T9HcPN^7My(PGJ2AP2RyMg)!g^yR|OH5fRfEm{nB{D5f zoFn%xrn29qZe}OFp6o-2CD+mslpy=K#NO{y{5W=G)fr!riZ>a54}oqmBv|v zFff4Gy&hpctIh=Hrm>79&$yV62v5=Kr(;xc0I^_4M99Jb=Rt$sc?}HdUHGI6-bsz@ zM%-jYd+?(Ac@pR%-NJ{^rHq(81xr-Q`}@By<0t9gW!Pgx?>O<_e3Wf?46yIuM^(g& zF*!!SEMX#y4}Bkx@O=|O=&DUoFD^B-1Hio-<{Gm=t8bMLrAyJH@~RrB@ID&85J2C1 z(m9vp3QN4FD_!mAnzx{L9gE?UDc7#eLQFjoeC9iOg5TeRcK)th?*F2G^Fgsp7*LoN zJ8@;Rvje!^InH~@5BMO9 z+u(Bn`*bndr|3jkX-`^^k{Ey(@ zJ2Dc#OMo&!XQ?}*r&z$~tq1Xm02RRi&fo+(R0ixHhU~lY-U?$Q1BM;gL^ALQ)44zQ zU9tnkH360H{eLhXpa1*i|A_E^obZ3A;QbV+lam3?lYip^{!c#q|0)}iJbbrr#0=2T zfD&_-P5mbqVzIqnh`;>+ zp7z?b!+2!{9CC8Y#IzH8c4)$G5nJ|wZWTQaMIYr&?bv?t*thQzuS0{QW9-)7*AMK^ zLy`ZT1zsCker{}Sef+jR#7rb1z9>+xRg`Aema!GcN{f)fZT))wAoS<{v)4<0K_Mzy z(z`YW;HtF=_&^!UP%$SptX5${0#Q*ZG3!li^v;Or{c8(E+@hia;2HacGU|UHQHPdu zQ5BSv`!Kd?fk&Inn(Tk{R-6vMYai`iQw~%psI7$o%q>70;BG|D-@F_GO#BbaUjXOq zL9=@mlQt3s8%0TedF*==u+69nh?3HwExx-Li_SSB$ecfgTWzedUBTP7Y*eKy?>ZG2 zqL+CA2w43zkR@9{`X60t3)(RsMvjSLd?721pKqf9vhQXR?%=> z1s~UZ>)HzwAD$U>P3z;*c+cM1*SI3aAH5NmZp$V_C=kuv@g=bvfDechX=o z7>D0@)fz10u*Vk$W9PM6%gA%W^{`D!+AS7#ayck*p_JF*_u)e5>v zC!5-qw7;Y7HK^Xd;!QrIiZE3gp^k8}I(l?dxm2C<#z4lf6`$At%=mDN z4$Qxs$x~6522s*n@4lD$5)}1i03{!x^C94k0mS4o)x6R65WTI{$Z0q6l8z;TdKCztkZanN`n&huONu}_1X0xoWro*3 z-QHT79kIPA`9Q&Y&_nU03B@2rI{V=32{w!8_B~S2rF!#44u(r)y+OZaCO(ic0jLyt zTg&v-@dOl|5W`h0eJ3A#RQ8jcg*)@4p-+nl-@?LVI;Q5?jVi;cjMnTLe4&s-c~d(nEur;J8S6J_^26D=RLC867G17g&!dNX?f(2Mnn8lSz=ze_H7cKqXEb`W(x}*#srh)jKhq)4QS{5w zPQjDcCg;t5!$SRWNEi@7!}FHW#3skp|Cljb?ug2Y3OwtXKs()UIi=11XVd)xq*bYkJG+u3o#=C-nDQO&8*J#k`GO~X14-+c9{1!kaZt814 ztSo3Xev`3Z<g-=niRJ!l$JtU-K_i( z{o8KeTD`1cbqA-bG0BA3nFKsEh1P<^l(7m(kdue$a2~4+_YP!bqfD-q3PauM~*hIMmCi$hrLzljvB))X56!jtU#an04Y{og*wtj_XOu! z;c_N2^nfw)v~OK1!{h8*%Naz5NKZ zLtJ{+LwHA&{aiLYuQ9Mfg=@DCli>+y1qrds;_a7lf3i!6uZ^u*^D2D zV6Ri#yvW1Ru z-VAaF0y*Aqxw7(7LYO%G2IJJYl+4DvpWVK>vD$BHjP+hsN~38&1);lxs4lDJ7NfgY z&Z>E*Bp_w6`|*68ouMn`+o>0xyXTMfQ!)wG@HhGPhTPbxTx4xgeVMb<%WzAd)L%^_ z!m#c)S#gl}wqG(UIqCEKjlL1F8(m;Y$p)OsrrQ>usq3|pTz)Ga@)8P3Oo_YzA$zII zKb&--87RsX1Vx^t#cy#eL}WfTY=@ETP&q2?Bv2Y;_}2bWB^R=nI$j!4mc&}4@F5d< z3UyystC_wF4?j*Hs3XEXKMszfa(WT zoAFvEK(2c1_lfWDALvK^DP#!Y3ehGzrsKcmD^uU#U-%a(C&51-)$8>ExsJTp zUZM`__O4tbm1CV98BJEs2ZeEgs^!?fsgsly5|x!Mv!}EZV#ocQj+>FdU7a*rUHw|W zRKZ^?1EuEoWrN^au1e-vtkyd$rl@*;GT(I|8&+1>yLk*w^}XO`-d&q*ar9Y@ z;@$;Ig_wwT3Ir#mr5fBT(f9r*KeQX1VgvWqUPn%DUiW;bopb3Q_USlz)oNWk+)=Ts zZUtg+JXo%(xY56@*6KMKB+xQpO|*T*t7Di3N{io{_Td5Ld(+yS16t2F(ag9XPv;3< z+(^hsPM40%k`I=0Do#H|;W8W#V|ul}4m!0D#VgCiCnUO_Ibg`bm0gnWDLY@3my3GD zZV$q)4SF4&)jI7ZTtFPOZ&1*_%DQfFJV-wuE~W0-z!dR|Nb8cpi9G1*U}m*AE12fK z4VuTDaJXAe&XvBo%Oz{?X0#0|o!WK>D`=UiH7u{5t$8e#n0N1%R?!TDj8um5xG}00 zc5u&scIrKn(ypuC%m)tD8hMQB5zM{EZ30ivYTas^O;eeyF1Uy1X;fP>A-8Gg>n$hk zca}z}<}EjQ7p~}%m+IdB0EYwxMWcP}DhsygGecG*CnLsOfau$$lo804SRZ zr=ob9mVD0R`Mq1Y=( zPFHYLs3LZdJ3V=DHDQy^!ewK-3hy3lul{A186-W#S#Fklzr`68!+?@mGr%BxC&g}O z4W!yXNFm|41X)RrHr8QrQaoM-7NWS4o>HElr=HdN0c6dN%X_t*lLChTEkYi`A|@E1>cI=%n2}`w=5umfcwK zy|4TwG6S_?m7TCYusfl{hY-AV^S~Bk^D1?#(JA9<+dYb1+B87BgS` z1>qgZ1CTLzAdA5uIT7_v&2r@kE&1+0e{W78y#u>=bn|gIBYqE8}hNC$J=Ns?^KNmmL z8|o93BV^;k!_wo@s!zzOE|qQ`p(9mrz&}$IE-R~^8c{7Ri;Ih^ zizyG|3=CALAyD}cBL+V0y*s(|!iW&Ozz-$Sj%m>)D>hQ&{V?3VXb#j({^vin*8A z<>l(~md4)!4=08QO6wOERfTBA$A-tCk>cv&5ft^|`S-)oL&7Z(vA((Po?Lj6ggX$7 zU`fN&h_N3CBE?a`lRnTuG2D>Ta!ZSf#{9n>9w1`d(|z0B9Ub9);t^y%aN^Rs&Cs3v z4-4R^!l&)>zCRk=!uVO>4f`Q!$4sdad7BKEX3G2DDJlpJElbVL$PD`Qag7O3vfzK( z-rm0Fqi28|vHI{m=UI`Il~tA1fYpZ8qtn}8{2vVeaoT~=;rTfQqJL+Nm@g-{hVh%P zs4Fp0Oid`TGm`m>Fx0mCckq*B!R5=3gh(KggR@DI8G&zVB)-%U9q=ZYDNBk9JKx{_ zBT_=bB@8i-q+keYNUZ#{eFNjpPN!af7kVUw;pyl)b4b{v$OsxD6hz4ZCRV9fblCs1 z3FYotW0Ny7iohF6$#DgFStVsff@s^H_+!T$2k0N8~22T zhIqx5wTob~Xb1K%ws&?6_~nzee88BHd%)OuBl`o~bBpnda!PaZ$)*2W*Fe_KC}|R3 zC0YjEP(?xV=>O;i@sQWufd0Qfczd&X`2P0?lHUjDe`m{!DDWAE_&;vrMWp+Gd;kBh zL$sKrni#Urf3r8>i_Kpkc%aPfD3*>zjrEryMwWw*;Sqol==p%8il5KjEy+fn{6z+z zAOVXA9CT0>JvwOcWh}F_6nGYs_-y~;=4@76lFj}Y#VZz39*3(N z6c_Wqx$z}#iY6leNiq&W!LY(%b(55eG|H_)NlV@|R)4}M$!m9iee5WzwY4n(jR&rc z?qRrxikF&}uNP~Lj#Z?g3}k&SDh8iL`YRZqvUQgH8>&R13bSY0>R>Gdq1Z zW|Fv5aGjk`s6_=ig*kkMnp$0uAAer1ULpKRX6oyW^?5`q zQ)w>yV_Nry={Tv*!oC?FV}99vnH2Ym?jSqX9P+2%zt9(9_b6S>}if&^4ol5x{d8-kG8MHW{?sF=ZY3A5%wa?dZ&VCyIlrM*T&bfrfXOpPR zw`DCcYhxsFKM4?_5HesJ7@59o&0pLEEqD}FGL~wG@w{5g&=Npheiadsa(lQ%xqh6j zP*v>m?c;d=UIJVS+%Sx%thp2I{78Aa_e;?*6nGb3vet201-JkfZ*#39O}gViyt6o+p^)ggAM5f<7V72c`=R$RS6xgPud;|5Q8rIFQY zgihqHWML$$u!=(p26KE{;9Dme;XLQI#II^tXR&z2zTgURCB`lkd(A|U7ng?Q%>J}x6gK* znV{)hh>+E3e!M8zq$D3q%t4lP;UDjOcMUmSXyGQ<>8UK_@9x>n{YJx5v7Vdbw$~vX zI!`M;Z=uZ8L`E6eoIlg@^)5=i{y}4ZwQl}2QnT8myU_1q(8S=FFIHbn%2h$^I?jKf z9~x;KC3mgRGyDli#gn9nkNo|g+6OkgDP82c*bqE}+g6Ycf;O@UbYw=yOyM%(KuxsI z9S(@!o%@Wt?-~!3anCmN5Pr<=+_N)xvU*)Y(jdgAmqldr7B82h9ki%*V@Gu zu#5OB7hCP|JySFJNyU;PcDBd-imZh`&5d=uka>mB9?|#2ak(Dy#kpEqk49y}=x`3x zbmyx!yTZmB%EbCTJtw4D(`9u!|9*uLEU@3ybbsUnL#qpvT)IxKv5pWSCX5c7lJ3&W~n35l^iDJnMC_gc&4;aL)LY{dX-teapA8#egQ88G|=CfqURketdLzJ#S-w)lja6bHx zj%M%Jk9X&QHe%?J%?Ojs zQ2Nv?XlC?TSym3f%xk}^vUYljxsswLOwb_QJH?L_XZK~a7@y=BAvKh$R}W^kx$C(K z?PkCRX?3`)d(GI-8%9KYzRuRU*#2EMA>RfF_7@?k)%v4}89G04aUEAf!}|wtIE%yY z+9}BfxMhs^3%!ft1!qVK%P+!`Pj^`{)af`FsOcKbeGXeNGMvI*H&*S zrSPFoLVaMzcK%zsl2G!q`>XflbW>&e*ZR1jf{drAhBEE8NJY3!H|K}LlW~pZOKzg7 zbq|eBo&HR364%xxzy2|H&r>;JT7+|H2`L;_!$28wN)F8PxSY<@5WA$M23wHLX>DL? zsr@~{ODjEHwGU7_xXyemKZ;JfkXEJ6d35eZ+z^qwH{{Q-Ehk&noTY)k&#!J2xQ`-Q zTAs%DFErqNLTg;gvP_Zkddn4MdoS+0Z$3d#t+uTQnbtpsZPQwnmTz%!m<(QPG>^n! zKOf$0?WvIabGt|4d^dHKhvd-Xf1wwvjvbtyo#S+P6?@CX*?2uXFcvLxT-`h<>545pe{~yrSSZyeq+w+ zlA+>e*;UcdY zoKqcaH)ESF^1^K#NspJC_17bG(-{OCZ*LDvaWJBcQhzBSFewD?ZYR+ji%N| zdqyTTwq>%y{GviH4|KE>pf#sj76Z@ha_zLYDY_xJn^WT2k?XzR#jEEosSy6}4v?lF zt*quGQq?+>iGE&AWnnh{+4c`exNiE$w3L*B0#(7KqI$hS2v<>-PqeZC z!kL%jfx`5?uoxURHdD5!s^`syH-2c}k>X08)YjT{XG5w>X=$k^^#P@nmuQX>&_0hN z=Sg{VJ{}((Nk7vNv3IIH)CUDrerCaYlCZ6 zWIHhE9L-h+)Ol$3Y0BZed|GN@b8TaDWwuZeotb>Jcw#wY$FAPO*Ds~_{Y^#!3jsU? z%`BxH8ckbRhi8ML{P?_u9J_Rfx!A6Wr@Zd@fK$KHBcE%Ii%g`zMsIv&DpsDIaZdN*cEbcJcBe4MXYKrTb)!zd zhxvpP;=l#trKO?m>e)n3BK$hXf!_4cSAMT*X|BPSJ+K&xr#}2_z2tf0E~AA#TfR&b zybW=N3hvUkYCVm$njzkB&;+y02?uYszbUn3qtI^;J`?U_>j+-QlGB;1Q9I~xx35iF zW69~U)Z)Z+`o-;YX3Oq+Ovh;Wb*Bp}Ih!BhCW7fKFjzi(f-93 z!CPdQMfh?`EYry>-Jg@WDZjQ`r~pZTzlc#8*kE;})n@}Jalb0MkUZBHM7%EdyEEEB zVjPJQiQ_Lt`DDp;rKy+rAb!9`b z+da$xRD_&E^RtcZHGvg)&zsk)5b>s;`}&Hb<|+uZ9u}iXR@|8#j`JlxH*50BOU;ZQ zT@P8x zQ!@kEnGTZsymuB`@Ec|7$#kzCLDCl{(;pNdQ5$g{BRw7Vu#-LwW#w@w!TR$VopG^P za{F_A+ph?!%HDRW&=zp#UcU+dxiv91ov?aALQUXmf9V^+b)>l-?lZi@=wR&pd|beC z#_f1vGV1);X!6ev*$h@p)q2v(N0_x~0_EifTOv=4iS?M&OxZd$#oYL>ll@*W8V{pX zyPO`F9~IN|h}30}WbA&E5eH-}L+&UtRB1_KF@fp9qGDN_W~)6#BoFniS9qj})+LR; z8bLG@X?OV@7UnexoAiJ9#Y8S$ozGjE>T-9ww(&Ib%{uMV-9b-t)k^ay)`9^t(#=@U zioXqiP2crXypr!=?^vJf%bdp#0n^hN@<+YTThJjv6?@SkB)|B*Q1mH{(Il`Yv+j>{ z%6$3M;e#%Af*YcX+dmZ$eh67inUo8-2(3`4$4lbpU=1II=|vXKjS0>@EAyeLIr!y< z4&^VC>J=_o{hg`0mN71A3#n_Tfmu6NuFlp@_~xcyOmK5BZp-1$aTN(Q_LWIpoIiqx z614qxMj}!g3iI-H>5*gMsI=JqA+>?@`81E#W_%NcplJCE*234X5mvkVW)?g8mW?~F z{Aex#wNs)XdF)sa4!qIzwIGPywZOm~o<73nj^FVbX4ad)zWz|MupPjWcUJNC@nTX@BJR64SS3=jLOOt?SANNrs2| z!GSUV{qVficm_QsGmYoLBTsb{>%wf)cNR&};V*R6ko95(@~{=r2e3-~O-er80Bl5b0hye((_jaN@`X= zN)7Pt*O)Du;KzT4EsO%WKK5kW)Rmj6@fkpSIA4TNfH+(PJ0ix01_R(*bfML2EuYd0 zzW$j2W;m|dNXI~Rv>(Z2jqVne>BFTgFHf{@YEZQ|e$GUu42yLn2of!k-d(GK^nJ}p zMJFApB8;_nsGpslgm7BO3;r}W`*ptPQMX+K=Qgu-WjU#pBsl17DEhG z!X84%g!^CUHw1;lDnlRSXGOgF&b4IPl&efREmRQr<|r`4t*1%hnvOv*hPnOYMB`fR zYjb&Q&)Yw&zLdmjL-h*U{A0)Fh80Pd}=n_U>x8hDjI3BlEF};uBDY)6j{xi zxt2gPFxXc);m|dGY-_{9Is__pOn}KLDu#$lG*(}+c6jBbrkdKSxh}@=YchD=#wJ!u zSqmW|>#E>6|9Q@#e)yrjWlfo1evg_2)%eYU39YzA1RnFd5u<_wcwvR}3teMk0JL=E z*R*6^8u4`{WtOy~?|l-#M0|urxvCK_KRygX<4wm0hd)=b`Eru8Gomp{#NW&cQWlUT z#8Y1P;C8lSzdHB)9OKI|o~_i2RwhXE@lv?n(*dTt(h9CXs!btpX&ShdJ_oIy72gfTnZYcYaVCO!b z<651k_&G@y+*qz>DModHe_XaUuIM~qIX;+Eir|lG*O)8@{)}^DPKVE7ca1#LTF+T8 zUU7f*-|!>>w{vM1@BfgaXK=KZ4PBQMfjMRLc%Kt8SaO%u`I)O74cWv(kzZN)>tota zC@|IEtG|Je4Ot}Isa7RA8|VN`btRg^sZKa^fd^Ypm&};@>#8A2Nqgyl_aM_ zDCBH5D`i8pX0Az>F@%1G}%@C|yxttFQOByXY6T;=Lgk`2`46@h|parKRLn znrzBiTBqG{Nk%jpe#YZkt(C>aU_oHKA5VT0k&UBpN3@pO3Mn;G7Md&3&(`cp0-X^y;8iCQU2* z%>LWSlW(m2l=eDDRcU#&`7~Dyed`Xy&?R9%rhkMA1Ac4172W zh)-hI$LTAU7MiFgcGyY3O4RcxdFTCvT9>S0!g)+LX0nw+aE3o&fmud29%myIQqIrF z_(2dC=8JQdG39c6Xr09QM?kRJbNThRS(8spQGqxLqR1cc$d|MvCp^x7V1jf!SH(_0 z2olCSSNmk-yzOJk2rbSweHyN76(nLF2^z17=gIvLh9`#`MfIF%RL3_lAu~KSW-{B; z!V5Ap6*y`ltws0a-#Xb~H}6T0JmKuF)N;J9;eYz};v}c$N*X`N)gkPkxdi7yBk(S!=vJselcMatI-1TO{<*mNp#$zC5I-36b5>@_FW|ei)kOV6 zS>i~h$nz?y)C96u!5aWZ3a!dK2Ijwp2?WTA?j94c9f**`hSH(L5Fbf*6O?>mMI;Iu zHYN_vz_sqDP|y)5;FZ@@+|{74aP@}td4?VssqKm@JL3-LwDXj!Behd+rI@;v&Tf(f zMGM(gYT-E^YQW)8D~FXD2=}D>Tt9>CQ1q<5Lq4s1eEwjFT~7RcC%9;@quB}jrx0>d za_^2zgBn#+;Y6W+mJ}Ns+k`SPlSPuNBtzDCRM9-B&H5xUHpE#%%3TiGZ9g`Nk&6IY z0)kyFwfqf({S!Yp=$wu@TTAH^IxcAp2}1v|fr()c>t{H7-7S=EI5ad~CLNZaeFCst z(YDqz1)l_B4_rDJwCMSn3$s8o(pCi?oMUO zFz^y3hhT<-sV=tU&xq{w5Q&{qxSN)g)!UnXFK=^-VaPo`oB~{2(6S-%VQx+NwF6EW zsrJtN9;+|vi43Oz6xqV;;GM;j+Gy{<$WWNN#AUG(B%P|R_6*oFM7e7|*#`27qzo=E?2&hTwI2~1QpL* zqyR+-xjB6F1a0I<1_ZKxRU#uQM)WTmdKTfwHWTiN^OKMWB&sj!CfL2pYm1LvbT=Mn@W2P`vmqyVa z0z1Y3hXqXaj$e!#^{(_HE{%>XROgY6tEZ-+LQ8uRVG?5P8wW>aOGO}w2#U`TS_te? zX@o{4MCMni5Rll3VNC~ zSvpl)&}=ePXa^`9)J~}X>dn+j_PS*J*6twEWXmA>OVz$eFp>o@qs3?j5 zL`VOse{KN#_&W5hTfb+;18@cwDd%(M)9}UghIs{ScBlt2SG2)va+-a(aFV~Cnoy*Y zzX~PR9_(oqy?l;CK9MK(8?40_y+y+y-i%1(*QiO;`V|=x!7pZrxzUcBud6epw)qwm z7VwaV#D9pnzXR*fFO>;G6NMu^Rp>XZa7z1KvGT-NY*kV8G>S?;rx;6jGG$2puOc5_qwWz8$R#MJPa^pU7pQW7pjAdwRr zg+V%#?4n58AC(N8G6Y_WI>i|97ihJ+!e&lpb)ky#Px@nGV)978bXQQdXxRAVmIBnT zdV18f@0#(%+RMPyWzRY_Ptke{TIzn0-8AX2Dp`kRr z>w<@z@HZOQ>PU3!WkAYwXXot7&C^Q8acPitVV6 zJ*&pJCd}Lp9!~-r9Tv|g_&IHEV~aWV78l%~A~l+fTdls{0g4N!+l}jNkI9q~wa2$l z{YtAHoEiWqU3-6%&?-!=nVxNS^}CGahrp7{zCM7g@1Sk#9BodUzSY$EJ=wRo>=ERT z0*E82yPQ~Qozs~`*kHGdAF-vTdodTUG_r&)+}=%T zzc#MsPY!4H52kzC0*Jm~0->?N0>XTjzM@6-_a8Aa*~T+tCMSEY?d93$_0Q zK6lI}n^!v6Zu4?o&qzkQKDJvH%P}P37aST2r|R7AN8{h|ipbFEMMmUtvPwo1mW(Za z(oK;v?uDGiOubMnGT8FVh)V540w+Y!Fb<1{&BSTL98(#uVKcg?7XZfYZ`PEkb6CG! z0LB>KmHkkA!jFkhdZYvnzEhS4BnITy_a8rI+f6fcVeKD$|HoHK`}`{tXvd*BHkR;$ zdgux$K{-{q9&EBDe61|2wB&Jp9o@N_|10kLODR1Kk>)M3V5V3}PjoygDao`Q=-JcK zv$G&T_2F#tPp2jjA>sP)X6HW7ZkRR9a(a!+< z6Gs7(#_|(((!qG(dcHjpC2>9>0rckEQ#pTF3(XffDBw{M(LA^Nu~JfMYRlHe^mvN4 z^xc7$uy)kF5=>5TzSemUf#sUpRC5lTd=uR`(w1Q>X0{3>i$Wp*P5w|k`?FJH)8GBm zufH9%iZ5U(WocI=H1#AlrEEXJ`BE0yh^~@CqlLijMxhX=#om*Mn`90FI>I)Ew{d{2 z6V3ZnYdcV8aAkxfThR($}&IPctrsIS84*s9Ds#}3iyxaz>hMk6mfo216hV{ z1%iYbipNLu>>f8#9cqaq*^)xe;(PqH#+mwn!jq!8+Tt;5mZy$a38mey^^fjL^6JmS#xNq)at$r)-He?*x9g6fg}S zt%*|niyx&f?>LDX%oMddjMeu3(TkI3D2&2`*`XGt&h;obJ0FzrHUn}nF)PJ0W_63|Rn4qwRR_;O<7OSEhk^sDRjD_gy}f^du@!ge&}ROMfEDwm zu<4O`tkFaJfChu>(9z4oyLAgvsufL^m_lEY;LA5s(lQ)ccV~TG-3~T2HXvjbR{eT( zfcR})J6f8X?%A}&$WWjBRtZ+@8j_r1wLB5|Ho8$u@hTA~&R-oge%8=_U8#}M90HUZ z<8M{na?i%a|KBE4Wq@SIlbWB_tUee0#mG-+*7x zDSrohCv#J9-}>}<$Ac$Upb(a<*`Ab2Eq?9Ws>Qx7%b>HL-Is~b&DSsT z&HIGNo8X?kc-@+VnHRZWGjUDcW0B%>}vgB|fo_|C9$$U+8LS zJq|s_3Z%@hS@TzJx^Ok@!{;ycYS+9Nv|UYA<;cm9qo+e|-+u}kX8yD>%qn&=4+qt- zc?0)0?#@R7sglH_)4)g1BU9f{hYq{@Xu`}T%o|451;MoSwrvgycGfWFCVp{ zr#~S`g%kPi)BJ$_Q-}7jv9g4(PhP!Wy7lm!(S58e%}U$l)7Gt-W5+^`EM%Ho^jbzd z_9cN#M?OJh6NKLS^;UyrzlZAN+h!gS$n%`xJO2WaYG>Oe7CqzCC~aUdGpKQzK|Wa$Fs38q}^P zbH@W`L!qledM(G`8}|;Lxdwfpom)G1@^tP!aml8+V;F@Nmz28m_{H2jYJ6aQD@%bu z*xRSY(U6yAYgJOyIHtR>L2ke;=O{C=R;8;Fq(lEd7 z1cFpnBpQdqC?&=m$5`e?wB;N$t&kK6gd%~6+6rJ3iughSe1e-V6!t$Zev@yZK-$sK zN1n%HH4?bxIFy6YNIWhrkSJ3&^+^jPE?p7O-N?*5<_}k9(-yl zDG>;Q{HHm4?e5W#8{-Fb7SW5y_4aAm)}>Jy;p2`S%e-_+!_H35z<|T!39_^EcB=+VwiV%d3pZwcPAocGj8S* zXa}yGH<>_?N{nQ#8oMeThaM?Ui0JWk@JR_IkwhJVOd{b^$f_f74>%znyj^^Vok%k8 zh+e-=JieJ4Q%CDBg3A@pK%)MM#0%Q7V^B~ZAr*>{r0mzlJjwsxP|mgC_u+GMkQIgWn}($o(f?5(O>=3=q>4ZgnUS_h9Jm)2g!?wsCh=5!nGA7qKIx-lC1ehta_MbqR7%# zv6Dz6@roIg(jrA1%0sMNWi@b!9a7OS;=J+*Bm_bJDjaO7 z*MABB`h}qo1VR1?#0zUPJwvdBm(@M=K$Ysf*=TjAV_h^6LB<3R#ZAqd9 zl6bWS=5?`>fp#+IAW_TKksMkkF$;o=xLitjaXBI(Balc&8gVIO62Yh=X=#KOB&1?t z<{%aG6zBR9fl)Xi2!bF8g8a3xbC4u%Mk7(Wh@?$Hq||bB%=kKiL>dWce>SQj79?tb z9diJPky?9!d37u$i+I%RBx-pE4!x!wLBHmKQbZ_?kY5I0B;+$MSfsy7I|$TB2!bF8 zf*?pyq?T$Bzbl4X#ZElduE=8F%n&;fEtUkOE%PlDzY3O`V?+u$1dq$C_6?!wwHmn0 zusUjnl86w$9JWv$;pjS~;wcbN;5Y>?p Q2><{907*qoM6N<$f;5OhfB*mh diff --git a/docs/screenshots/mobile.png b/docs/screenshots/mobile.png index d97823babace51f8c7c6d6622d6bd941dfc6fbf1..97a058831c7630e62afc4d44bf30b679f2e6ad53 100644 GIT binary patch literal 62453 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

5CDI~NOUmUQ<#J-$ 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 TtD4o|00000NkvXXu0mjf+nneC literal 104065 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 diff --git a/e2e/primary-flows.spec.ts b/e2e/primary-flows.spec.ts index a6151cb..2e72ba5 100644 --- a/e2e/primary-flows.spec.ts +++ b/e2e/primary-flows.spec.ts @@ -854,7 +854,7 @@ test.describe("primary BiFlow flows", () => { ).toHaveCount(0); }); - test("downloads the macOS update and preserves a paused connection", async ({ + test("installs and restarts the macOS update while preserving paused intent", async ({ page, }) => { await page.addInitScript(() => { @@ -873,15 +873,15 @@ test.describe("primary BiFlow flows", () => { sessionStorage.setItem("biflow-mock-update-available", "1"), ); await page.getByRole("button", { name: "Check for updates" }).click(); - await page.getByRole("button", { name: "Download 9.9.9" }).click(); + await page.getByRole("button", { name: "Install update 9.9.9" }).click(); await expect( page .getByRole("region", { name: "About", exact: true }) .getByRole("status"), - ).toContainText("Drag BiFlow onto Applications"); + ).toContainText("Restarting BiFlow"); await expect( page.getByRole("button", { name: "Check for updates" }), - ).toBeEnabled(); + ).toBeDisabled(); await goTo(page, "Home"); await expect( page.getByRole("heading", { name: "Paused", exact: true }), diff --git a/package.json b/package.json index b66bba3..ab48fd8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iran-split-desktop-workspace", - "version": "6.2.81", + "version": "6.2.82", "private": true, "packageManager": "pnpm@9.0.1", "engines": { diff --git a/scripts/tauri-contract.test.mjs b/scripts/tauri-contract.test.mjs index 1cdc6bc..ad32743 100644 --- a/scripts/tauri-contract.test.mjs +++ b/scripts/tauri-contract.test.mjs @@ -428,14 +428,10 @@ describe("Tauri frontend contract", () => { rust, /ManualRestart =>[\s\S]*?emit_finished_update\([\s\S]*?"installed"/, ); - assert.match( - rust, - /DiskImageOpened =>[\s\S]*?emit_finished_update\([\s\S]*?"downloaded"/, - ); + assert.match(rust, /HelperRestart =>[\s\S]*?schedule_update_exit/); const updater = githubUpdate.split("mod tests")[0]; - assert.match(updater, /async fn open_downloaded_dmg/); - assert.doesNotMatch(updater, /fn install_dmg/); - assert.doesNotMatch(updater, /fn dmg_relaunch_script/); + assert.match(updater, /macos_update::install\([\s\S]*?_operation_id/); + assert.doesNotMatch(updater, /open_downloaded_dmg/); assert.doesNotMatch(rust, /fn spawn_background_update_checks\(/); assert.doesNotMatch(rust, /fn fetch_signed_update\(/); assert.doesNotMatch(rust, /open_linux_deb_release/); diff --git a/src-tauri/src/github_update.rs b/src-tauri/src/github_update.rs index 67703de..eeac0c9 100644 --- a/src-tauri/src/github_update.rs +++ b/src-tauri/src/github_update.rs @@ -2,9 +2,9 @@ //! //! Check uses the public Releases API. Install downloads the platform package //! and applies it with `pkexec apt-get` (`.deb`), a replace helper (`AppImage`), -//! or an elevated NSIS installer (Windows). On macOS the verified disk image -//! is opened for a drag install and the running app is left in place. Do not -//! log asset URLs. +//! or an elevated NSIS installer (Windows). macOS validates and replaces the +//! installed bundle, then relaunches after the old process exits. Do not log +//! asset URLs. use serde::Deserialize; use std::{ @@ -52,14 +52,8 @@ pub struct UpdateInfo { pub enum ApplyOutcome { /// Linux `.deb`: package is installed; the running process is still old. ManualRestart, - /// A helper script will replace this process after exit. + /// A helper relaunches after exit; package replacement may already be complete. HelperRestart, - /// The signed macOS disk image is open. Nothing was replaced or restarted. - /// - /// Only macOS constructs this variant. Leaving it in the Linux and Windows - /// builds makes Clippy reject it as dead code. - #[cfg(target_os = "macos")] - DiskImageOpened, } #[must_use] @@ -347,6 +341,7 @@ pub async fn apply_package( package: &Path, current_exe: &Path, expected_version: &str, + _operation_id: uuid::Uuid, ) -> Result { match kind { InstallKind::Deb => { @@ -364,8 +359,9 @@ pub async fn apply_package( InstallKind::Dmg => { #[cfg(target_os = "macos")] { - open_downloaded_dmg(package).await?; - Ok(ApplyOutcome::DiskImageOpened) + crate::macos_update::install(package, current_exe, expected_version, _operation_id) + .await?; + Ok(ApplyOutcome::HelperRestart) } #[cfg(not(target_os = "macos"))] { @@ -447,33 +443,6 @@ async fn install_appimage(package: &Path) -> Result<(), String> { Ok(()) } -/// Opens the verified disk image in Finder. -/// -/// The user drags `BiFlow` onto Applications. This process stays running, so -/// the menu-bar copy keeps the old version until they quit it and open the -/// Applications bundle. -#[cfg(target_os = "macos")] -async fn open_downloaded_dmg(package: &Path) -> Result<(), String> { - info!( - event = "update.dmg_opened", - section = "updater", - initiator = "tauri_command", - cause = "verified_package", - trace_route = "ui->apply_app_update->open_downloaded_dmg", - "opening the verified disk image for drag install" - ); - let status = tokio::process::Command::new("/usr/bin/open") - .arg(package) - .status() - .await - .map_err(|error| error.to_string())?; - if status.success() { - Ok(()) - } else { - Err("could not open the update disk image".into()) - } -} - async fn install_nsis( package: &Path, current_exe: &Path, @@ -744,19 +713,6 @@ mod tests { ); } - #[test] - fn macos_update_opens_the_disk_image_without_replacing_the_app() { - let source = include_str!("github_update.rs"); - let production = source.split("mod tests").next().expect("production half"); - assert!(production.contains("async fn open_downloaded_dmg")); - assert!(production.contains("ApplyOutcome::DiskImageOpened")); - assert!(production.contains("/usr/bin/open")); - assert!(!production.contains("fn install_dmg")); - assert!(!production.contains("fn dmg_relaunch_script")); - assert!(!production.contains("with administrator privileges")); - assert!(!production.contains("/Applications/BiFlow.app")); - } - #[test] fn nsis_update_waits_for_elevation_and_never_masks_installer_failure() { let script = nsis_update_script( diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 7918ed1..821d640 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -7,6 +7,8 @@ mod github_update; mod helper_install; mod hiddify_reset; mod lifecycle; +#[cfg(any(target_os = "macos", test))] +mod macos_update; mod network; mod platform_paths; mod profile; @@ -532,12 +534,12 @@ fn emit_update_progress(app: &AppHandle, mut progress: UpdateProg } } -async fn pause_stack_for_update(services: &AppServices) -> Result<(), String> { +async fn pause_stack_for_update(services: &AppServices) -> Result { if matches!( services.engine.snapshot().phase, StackPhase::Running | StackPhase::Degraded ) { - services + let accepted = services .engine .pause_stack() .await @@ -547,8 +549,9 @@ async fn pause_stack_for_update(services: &AppServices) -> Result<(), String> { .wait_for_phase(StackPhase::Paused, Duration::from_secs(25)) .await .map_err(|error| error.to_string())?; + return Ok(!accepted.already_complete); } - Ok(()) + Ok(false) } fn services(app: &AppHandle) -> Result<&AppServices, String> { @@ -2808,15 +2811,12 @@ fn verify_direct_rules_after_upgrade(data: &Path) -> Result<(), String> { .map_err(|cause| format!("could not clear route-pin upgrade guard: {cause}")) } -fn failed_update_requires_resume(kind: github_update::InstallKind, phase: StackPhase) -> bool { - kind != github_update::InstallKind::Dmg && phase == StackPhase::Paused +fn failed_update_requires_resume(paused_for_install: bool, phase: StackPhase) -> bool { + paused_for_install && phase == StackPhase::Paused } -async fn restore_stack_after_failed_install( - services: &AppServices, - kind: github_update::InstallKind, -) { - if failed_update_requires_resume(kind, services.engine.snapshot().phase) { +async fn restore_stack_after_failed_install(services: &AppServices, paused_for_install: bool) { + if failed_update_requires_resume(paused_for_install, services.engine.snapshot().phase) { if let Err(cause) = services.engine.resume_stack().await { warn!( event = "update.stack_restore_failed", @@ -2834,7 +2834,7 @@ async fn restore_stack_after_failed_install( initiator = "install_update", cause = "no_installer_pause_to_restore", trace_route = "install_update->restore_stack_after_failed_install", - install_kind = ?kind, + paused_for_install, "failed update preserves the existing stack state" ); } @@ -3036,46 +3036,50 @@ async fn apply_downloaded_package( operation_id: Uuid, info: &github_update::UpdateInfo, package: &Path, + paused_for_install: bool, ) -> Result { let target_version = info.latest_version.clone(); let kind = github_update::detect_install_kind(); - if kind != github_update::InstallKind::Dmg { - emit_update_progress( - app, - UpdateProgress { - phase: "installing".into(), - percent: Some(100), - version: Some(target_version.clone()), - error: None, - operation_id: Some(operation_id), - app_available: None, - rules_available: None, - thirdparty_available: None, - }, - ); + emit_update_progress( + app, + UpdateProgress { + phase: "installing".into(), + percent: Some(100), + version: Some(target_version.clone()), + error: None, + operation_id: Some(operation_id), + app_available: None, + rules_available: None, + thirdparty_available: None, + }, + ); + let applied = async { + let current_exe = + std::env::current_exe().map_err(|_| "could not locate the installed application")?; + github_update::apply_package(kind, package, ¤t_exe, &target_version, operation_id) + .await } - let current_exe = std::env::current_exe().map_err(|error| error.to_string())?; - let outcome = - match github_update::apply_package(kind, package, ¤t_exe, &target_version).await { - Ok(outcome) => outcome, - Err(cause) => { - restore_stack_after_failed_install(services(app)?, kind).await; - emit_update_progress( - app, - UpdateProgress { - phase: "failed".into(), - percent: None, - version: Some(target_version), - error: Some(cause.clone()), - operation_id: Some(operation_id), - app_available: None, - rules_available: None, - thirdparty_available: None, - }, - ); - return Err(cause); - } - }; + .await; + let outcome = match applied { + Ok(outcome) => outcome, + Err(cause) => { + restore_stack_after_failed_install(services(app)?, paused_for_install).await; + emit_update_progress( + app, + UpdateProgress { + phase: "failed".into(), + percent: None, + version: Some(target_version), + error: Some(cause.clone()), + operation_id: Some(operation_id), + app_available: None, + rules_available: None, + thirdparty_available: None, + }, + ); + return Err(cause); + } + }; record_package_apply_outcome(operation_id, &target_version, outcome); match outcome { github_update::ApplyOutcome::ManualRestart => Ok(emit_finished_update( @@ -3084,13 +3088,6 @@ async fn apply_downloaded_package( target_version, "installed", )), - #[cfg(target_os = "macos")] - github_update::ApplyOutcome::DiskImageOpened => Ok(emit_finished_update( - app, - operation_id, - target_version, - "downloaded", - )), github_update::ApplyOutcome::HelperRestart => { emit_update_progress( app, @@ -3126,26 +3123,15 @@ fn record_package_apply_outcome( update_version = %target_version, "application package installation completed; restart is required" ), - #[cfg(target_os = "macos")] - github_update::ApplyOutcome::DiskImageOpened => info!( - event = "update.dmg_ready", - section = "updates", - initiator = "install_update", - cause = "disk_image_opened", - trace_route = "tauri_command->github_update->open_downloaded_dmg", - trace_id = %operation_id, - update_version = %target_version, - "verified disk image is open; the running app was not replaced" - ), github_update::ApplyOutcome::HelperRestart => info!( event = "update.restart_helper_started", section = "updates", initiator = "install_update", - cause = "package_install_pending", + cause = "relaunch_handoff", trace_route = "tauri_command->github_update->apply_helper", trace_id = %operation_id, update_version = %target_version, - "application update helper was launched; package installation is pending" + "application update helper was launched; restart is scheduled" ), } } @@ -3182,13 +3168,9 @@ async fn perform_complete_update_install( }); } let package = download_github_package(app, operation_id, &update).await?; - // A disk image is opened for the user to drag. Pausing the tunnel or - // writing an upgrade guard would treat a download as an in-place install. - if github_update::detect_install_kind() != github_update::InstallKind::Dmg { - record_direct_rules_upgrade_guard(&services(app)?.paths.data)?; - pause_stack_for_update(services(app)?).await?; - } - apply_downloaded_package(app, operation_id, &update, &package).await + record_direct_rules_upgrade_guard(&services(app)?.paths.data)?; + let paused_for_install = pause_stack_for_update(services(app)?).await?; + apply_downloaded_package(app, operation_id, &update, &package, paused_for_install).await } #[tauri::command] @@ -4334,54 +4316,11 @@ mod tests { }; #[test] - fn failed_disk_image_open_preserves_a_user_paused_stack() { - use github_update::InstallKind; - - assert!( - !failed_update_requires_resume(InstallKind::Dmg, StackPhase::Paused), - "opening a DMG never pauses the stack, so failure must not resume it" - ); - for kind in [InstallKind::Deb, InstallKind::AppImage, InstallKind::Nsis] { - assert!(failed_update_requires_resume(kind, StackPhase::Paused)); - assert!(!failed_update_requires_resume(kind, StackPhase::Running)); - assert!(!failed_update_requires_resume(kind, StackPhase::Stopped)); - } - } - - #[test] - fn macos_disk_image_update_stays_running() { - let source = include_str!("lib.rs"); - let production = source.split("mod tests").next().expect("production half"); - let start = production - .find("async fn perform_complete_update_install") - .expect("install"); - let end = production[start..] - .find("async fn install_update") - .expect("command"); - let body = &production[start..start + end]; - let skip = body - .find("!= github_update::InstallKind::Dmg") - .expect("dmg skip"); - let pause = body.find("pause_stack_for_update").expect("pause"); - assert!( - skip < pause, - "a disk image download must not pause the tunnel" - ); - let apply = production - .find("async fn apply_downloaded_package") - .expect("apply"); - let record = production[apply..] - .find("fn record_package_apply_outcome") - .expect("record"); - let apply_body = &production[apply..apply + record]; - let opened = apply_body.find("DiskImageOpened").expect("opened"); - let helper = apply_body.find("HelperRestart").expect("helper"); - assert!(opened < helper); - assert!(apply_body.contains("\"downloaded\"")); - assert!( - !apply_body[opened..helper].contains("schedule_update_exit"), - "opening a disk image must not quit BiFlow" - ); + fn failed_install_restores_only_a_connection_paused_by_the_installer() { + assert!(failed_update_requires_resume(true, StackPhase::Paused)); + assert!(!failed_update_requires_resume(false, StackPhase::Paused)); + assert!(!failed_update_requires_resume(true, StackPhase::Running)); + assert!(!failed_update_requires_resume(true, StackPhase::Stopped)); } /// Regression (ADR 0115): the application's data roots and the diff --git a/src-tauri/src/macos_update.rs b/src-tauri/src/macos_update.rs new file mode 100644 index 0000000..0bc218a --- /dev/null +++ b/src-tauri/src/macos_update.rs @@ -0,0 +1,450 @@ +//! Install a verified DMG synchronously; hand only the relaunch to a user process. + +use crate::helper_install::macos_shell_quote; +use std::path::{Path, PathBuf}; +#[cfg(target_os = "macos")] +use tracing::{info, warn}; + +fn destination(current_exe: &Path) -> Result { + let bundle = current_exe + .ancestors() + .find(|path| path.extension().is_some_and(|extension| extension == "app")) + .ok_or("the running executable is not inside an application bundle")?; + if bundle.starts_with("/Volumes") + || bundle + .components() + .any(|part| part.as_os_str() == "AppTranslocation") + { + return Ok(PathBuf::from("/Applications/BiFlow.app")); + } + if !bundle.starts_with("/") { + return Err("the installed application location must be absolute".into()); + } + Ok(bundle.to_path_buf()) +} + +fn install_script(source: &Path, target: &Path, version: &str) -> String { + format!( + r#"#!/bin/sh +set -eu +source={source} +target={target} +version={version} +validate() {{ + [ -d "$1" ] && [ ! -L "$1" ] && + [ -x "$1/Contents/MacOS/iran-split-desktop" ] && + [ "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleExecutable' "$1/Contents/Info.plist")" = 'iran-split-desktop' ] && + [ "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' "$1/Contents/Info.plist")" = 'app.biflow.desktop' ] && + [ "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' "$1/Contents/Info.plist")" = "$version" ] +}} +validate "$source" || exit 65 +[ ! -L "$target" ] || exit 66 +parent=$(/usr/bin/dirname "$target") +[ -d "$parent" ] || exit 66 +work=$(/usr/bin/mktemp -d "$parent/.biflow-update.XXXXXX") +backup="$work/previous.app" +committed=0 +cleanup() {{ + result=$? + trap - EXIT HUP INT TERM + if [ "$committed" = 1 ]; then + /bin/rm -rf "$work" || exit 74 + elif [ -e "$backup" ]; then + # Never delete the only recoverable copy if either rollback rename fails. + if [ -e "$target" ]; then + /bin/mv "$target" "$work/failed.app" || exit 74 + fi + /bin/mv "$backup" "$target" || exit 74 + /bin/rm -rf "$work" || exit 74 + else + /bin/rm -rf "$work" || exit 74 + fi + exit "$result" +}} +trap cleanup EXIT +trap 'exit 74' HUP INT TERM +/usr/bin/ditto "$source" "$work/BiFlow.app" +validate "$work/BiFlow.app" || exit 65 +if [ -e "$target" ]; then /bin/mv "$target" "$backup"; fi +/bin/mv "$work/BiFlow.app" "$target" +validate "$target" || exit 65 +committed=1 +"#, + source = macos_shell_quote(&source.to_string_lossy()), + target = macos_shell_quote(&target.to_string_lossy()), + version = macos_shell_quote(version), + ) +} + +fn relaunch_script(pid: u32, target: &Path, log: &Path, trace_id: uuid::Uuid) -> String { + format!( + r#"#!/bin/sh +target={target} +log={log} +audit() {{ + printf '%s\n' '{{"level":"INFO","fields":{{"event":"update.relaunch_result","section":"updates","initiator":"user_relaunch_helper","cause":"'"$1"'","trace_route":"update->wait_old_pid->open","trace_id":"{trace_id}"}}}}' >> "$log" +}} +count=0 +while /bin/kill -0 {pid} 2>/dev/null; do + count=$((count + 1)) + if [ "$count" -ge 120 ]; then audit old_process_still_running; exit 1; fi + /bin/sleep 1 +done +if /usr/bin/open -n "$target"; then audit launch_requested; else audit launch_failed; exit 1; fi +"#, + target = macos_shell_quote(&target.to_string_lossy()), + log = macos_shell_quote(&log.to_string_lossy()), + ) +} + +#[cfg(target_os = "macos")] +pub async fn install( + package: &Path, + current_exe: &Path, + version: &str, + trace_id: uuid::Uuid, +) -> Result<(), String> { + let target = destination(current_exe)?; + let log = PathBuf::from(crate::diagnostics::status()?.path); + let directory = tempfile::Builder::new() + .prefix("biflow-update-") + .tempdir() + .map_err(|_| "could not create a private update directory")?; + let mount = directory.path().join("image"); + std::fs::create_dir(&mount).map_err(|_| "could not prepare the disk image mount")?; + // A dropped install future must not make TempDir recurse into a mounted + // image. Opt out before starting attach, including cancellation paths. + let directory = directory.keep(); + info!( + trace_id = %trace_id, + event = "update.dmg_mount_started", + section = "updates", + initiator = "install_update", + cause = "verified_package", + trace_route = "update->hdiutil->install_bundle", + "mounting verified update image" + ); + let attached = tokio::process::Command::new("/usr/bin/hdiutil") + .args([ + "attach", + "-readonly", + "-nobrowse", + "-noautoopen", + "-mountpoint", + ]) + .arg(&mount) + .arg(package) + .output() + .await; + // Even an attach failure can leave a mounted device. Never recursively + // remove the mount root unless detach has positively succeeded. + let result = match attached { + Ok(output) if output.status.success() => { + replace_bundle(&directory, &mount.join("BiFlow.app"), &target, version).await + } + _ => Err("could not mount the verified update disk image".into()), + }; + cleanup_mount(&directory, &mount, trace_id).await; + result?; + schedule_relaunch(&target, &log, trace_id) +} + +#[cfg(target_os = "macos")] +async fn cleanup_mount(directory: &Path, mount: &Path, trace_id: uuid::Uuid) { + let detached = tokio::process::Command::new("/usr/bin/hdiutil") + .arg("detach") + .arg(mount) + .output() + .await; + if detached.is_ok_and(|output| output.status.success()) { + if std::fs::remove_dir_all(directory).is_err() { + warn!(trace_id = %trace_id, event = "update.staging_cleanup_failed", + section = "updates", initiator = "install_update", + cause = "unmounted_staging_retained", trace_route = "update->detach->cleanup", + "could not remove unmounted update staging"); + } + } else { + warn!(trace_id = %trace_id, event = "update.dmg_detach_failed", + section = "updates", initiator = "install_update", + cause = "mount_retained", trace_route = "update->hdiutil->detach", + "update mount retained because detachment was not confirmed"); + } +} + +#[cfg(target_os = "macos")] +fn schedule_relaunch(target: &Path, log: &Path, trace_id: uuid::Uuid) -> Result<(), String> { + // This stays in the desktop user's session, never in the elevated shell. + let mut launcher = tokio::process::Command::new("/usr/bin/nohup"); + launcher.args(["/bin/sh", "-c"]).arg(relaunch_script( + std::process::id(), + target, + log, + trace_id, + )); + launcher + .stdin(std::process::Stdio::null()) + .stdout(std::process::Stdio::null()) + .stderr(std::process::Stdio::null()); + launcher.spawn().map_err(|_| { + "the new application is installed, but relaunch could not start; quit and reopen BiFlow" + })?; + info!( + trace_id = %trace_id, + event = "update.bundle_installed", + section = "updates", + initiator = "install_update", + cause = "bundle_verified_relaunch_scheduled", + trace_route = "update->replace_bundle->user_relaunch", + "application replacement verified; relaunch waits for the old process to exit" + ); + Ok(()) +} + +#[cfg(target_os = "macos")] +async fn replace_bundle( + directory: &Path, + source: &Path, + target: &Path, + version: &str, +) -> Result<(), String> { + let script = directory.join("install.sh"); + std::fs::write(&script, install_script(source, target, version)) + .map_err(|_| "could not stage the application installer")?; + let output = tokio::process::Command::new("/usr/bin/osascript") + .arg("-e") + .arg(crate::helper_install::macos_admin_applescript(&script)) + .output() + .await + .map_err(|_| "could not start application installation authorization")?; + if output.status.success() { + Ok(()) + } else if String::from_utf8_lossy(&output.stderr).contains("(-128)") { + Err("application installation was cancelled".into()) + } else { + Err("application replacement failed; the previous copy was preserved for recovery".into()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn installed_location_is_preserved_but_disk_images_are_not_destinations() { + for (executable, expected) in [ + ("/Applications/BiFlow.app/Contents/MacOS/iran-split-desktop", "/Applications/BiFlow.app"), + ("/Users/example/My Apps/BiFlow.app/Contents/MacOS/iran-split-desktop", "/Users/example/My Apps/BiFlow.app"), + ("/Volumes/BiFlow/BiFlow.app/Contents/MacOS/iran-split-desktop", "/Applications/BiFlow.app"), + ("/private/var/folders/example/AppTranslocation/token/d/BiFlow.app/Contents/MacOS/iran-split-desktop", "/Applications/BiFlow.app"), + ] { + assert_eq!(destination(Path::new(executable)).unwrap(), Path::new(expected)); + } + assert!(destination(Path::new("/tmp/iran-split-desktop")).is_err()); + } + + #[test] + fn scripts_quote_user_paths_and_wait_for_the_old_process() { + let script = install_script( + Path::new("/tmp/BiFlow's image/BiFlow.app"), + Path::new("/Applications/BiFlow.app"), + "6.2.82", + ); + assert!(script.contains("BiFlow'\\''s image")); + let relaunch = relaunch_script( + 42, + Path::new("/Users/example/My Apps/BiFlow.app"), + Path::new("/tmp/debug.log"), + uuid::Uuid::nil(), + ); + assert!( + relaunch.find("/bin/kill -0 42").unwrap() < relaunch.find("/usr/bin/open -n").unwrap() + ); + assert!(relaunch.contains("launch_failed")); + assert!(!relaunch.contains("administrator privileges")); + } + + #[cfg(target_os = "macos")] + fn bundle(root: &Path, name: &str, version: &str) -> PathBuf { + use std::os::unix::fs::PermissionsExt; + let app = root.join(name); + std::fs::create_dir_all(app.join("Contents/MacOS")).unwrap(); + let executable = app.join("Contents/MacOS/iran-split-desktop"); + std::fs::write(&executable, "#!/bin/sh\nexit 0\n").unwrap(); + std::fs::set_permissions(executable, std::fs::Permissions::from_mode(0o755)).unwrap(); + std::fs::write(app.join("Contents/Info.plist"), format!(r#"CFBundleExecutableiran-split-desktopCFBundleIdentifierapp.biflow.desktopCFBundleShortVersionString{version}"#)).unwrap(); + app + } + + #[cfg(target_os = "macos")] + #[test] + fn native_install_validates_before_replacing_and_rolls_back_failed_swaps() { + let directory = tempfile::tempdir().unwrap(); + let source = bundle(directory.path(), "BiFlow's source.app", "6.2.82"); + let target = bundle(directory.path(), "Installed BiFlow.app", "6.2.81"); + std::fs::write(target.join("old-marker"), "old").unwrap(); + let run = |script: &str| { + std::process::Command::new("/bin/sh") + .arg("-c") + .arg(script) + .output() + .unwrap() + }; + let script = install_script(&source, &target, "0.0.0"); + assert!(!run(&script).status.success()); + assert!(target.join("old-marker").exists()); + let script = install_script(&source, &target, "6.2.82"); + let failed = script.replace("/bin/mv \"$work/BiFlow.app\" \"$target\"", "false"); + assert!(!run(&failed).status.success()); + assert!( + target.join("old-marker").exists(), + "the previous app must be restored" + ); + assert!(run(&script).status.success()); + assert!(!target.join("old-marker").exists()); + assert!(source.exists()); + } + + #[cfg(target_os = "macos")] + #[test] + fn native_failed_rollback_retains_the_only_previous_bundle() { + let directory = tempfile::tempdir().unwrap(); + let source = bundle(directory.path(), "Source.app", "6.2.82"); + let target = bundle(directory.path(), "Target.app", "6.2.81"); + std::fs::write(target.join("old-marker"), "old").unwrap(); + let script = install_script(&source, &target, "6.2.82") + .replace("/bin/mv \"$work/BiFlow.app\" \"$target\"", "false") + .replace("/bin/mv \"$backup\" \"$target\"", "false"); + let output = std::process::Command::new("/bin/sh") + .arg("-c") + .arg(script) + .output() + .unwrap(); + assert!(!output.status.success()); + let retained = std::fs::read_dir(directory.path()) + .unwrap() + .filter_map(Result::ok) + .find(|entry| { + entry + .file_name() + .to_string_lossy() + .starts_with(".biflow-update.") + }) + .unwrap(); + assert!(retained.path().join("previous.app/old-marker").exists()); + } + + #[cfg(target_os = "macos")] + #[tokio::test] + async fn native_disk_image_installs_exact_bundle_and_detaches() { + let fixtures = tempfile::tempdir().unwrap(); + let payload = fixtures.path().join("payload"); + std::fs::create_dir(&payload).unwrap(); + bundle(&payload, "BiFlow.app", "6.2.82"); + let image = fixtures.path().join("update.dmg"); + let created = std::process::Command::new("/usr/bin/hdiutil") + .args(["create", "-format", "UDZO", "-srcfolder"]) + .arg(&payload) + .arg(&image) + .output() + .unwrap(); + assert!( + created.status.success(), + "fixture disk image creation failed" + ); + let staging = tempfile::tempdir().unwrap().keep(); + let mount = staging.join("image"); + std::fs::create_dir(&mount).unwrap(); + let attached = std::process::Command::new("/usr/bin/hdiutil") + .args([ + "attach", + "-readonly", + "-nobrowse", + "-noautoopen", + "-mountpoint", + ]) + .arg(&mount) + .arg(&image) + .output() + .unwrap(); + let target = fixtures.path().join("Installed BiFlow.app"); + let installed = if attached.status.success() { + std::process::Command::new("/bin/sh") + .arg("-c") + .arg(install_script(&mount.join("BiFlow.app"), &target, "6.2.82")) + .output() + .unwrap() + .status + .success() + } else { + false + }; + cleanup_mount(&staging, &mount, uuid::Uuid::nil()).await; + assert!( + attached.status.success(), + "fixture disk image attachment failed" + ); + assert!( + installed, + "the mounted application's replacement must succeed" + ); + assert!( + !staging.exists(), + "successful detachment must release staging" + ); + assert!(target.join("Contents/MacOS/iran-split-desktop").exists()); + } + + #[cfg(target_os = "macos")] + #[test] + fn native_relaunch_waits_and_records_open_failures_without_user_paths() { + let directory = tempfile::tempdir().unwrap(); + let log = directory.path().join("debug.log"); + let marker = directory.path().join("launched"); + let mut old = std::process::Command::new("/bin/sleep") + .arg("0.3") + .spawn() + .unwrap(); + let script = relaunch_script( + old.id(), + Path::new("/Applications/BiFlow.app"), + &log, + uuid::Uuid::nil(), + ); + let open = format!( + "/usr/bin/touch {}", + macos_shell_quote(&marker.to_string_lossy()) + ); + let mut watcher = std::process::Command::new("/bin/sh") + .arg("-c") + .arg(script.replace("/usr/bin/open -n \"$target\"", &open)) + .spawn() + .unwrap(); + assert!(!marker.exists()); + assert!(old.wait().unwrap().success()); + assert!(watcher.wait().unwrap().success()); + assert!(marker.exists()); + let script = relaunch_script( + 99_999_999, + Path::new("/private/secret/My App.app"), + &log, + uuid::Uuid::nil(), + ) + .replace("/usr/bin/open -n \"$target\"", "false"); + assert!(!std::process::Command::new("/bin/sh") + .arg("-c") + .arg(script) + .status() + .unwrap() + .success()); + let events = std::fs::read_to_string(log).unwrap(); + let causes: Vec<_> = events + .lines() + .map(|line| { + let event: serde_json::Value = serde_json::from_str(line).unwrap(); + event["fields"]["cause"].as_str().unwrap().to_owned() + }) + .collect(); + assert_eq!(causes, ["launch_requested", "launch_failed"]); + assert!(!events.contains("secret")); + } +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 67a35a7..b22b01f 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "BiFlow", - "version": "6.2.81", + "version": "6.2.82", "identifier": "app.biflow.desktop", "build": { "beforeDevCommand": "pnpm bundle:check && pnpm --dir apps/desktop dev", diff --git a/version b/version index 7afde44..c7048a2 100644 --- a/version +++ b/version @@ -1 +1 @@ -6.2.81 +6.2.82 From 458a1040919547d8400eedb2d00a6e6e7935c99b Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 11:41:11 +0330 Subject: [PATCH 3/7] fix: trace update operation IDs on every platform --- AGENTS.md | 8 ++++++++ scripts/tauri-contract.test.mjs | 2 +- src-tauri/src/github_update.rs | 14 ++++++++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ed2278c..5e7310b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,14 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- A parameter used only by a macOS cfg branch cannot be underscore-prefixed: + native Clippy rejects `used_underscore_binding`. Use its ordinary name and + consume the operation ID in the shared structured installer event so every + host compiles it without unused-variable warnings (ADR 0131). +- `gh pr edit` can require unrelated `read:org` scopes through its GraphQL + metadata query. Update the PR through the repository REST endpoint with a + structured JSON input file instead of expanding credential permissions. + - Fetch upstream main and compare the latest release before building a patch. An older feature branch can carry a higher version while missing later fixes. Base the patch on current main and preserve its accepted platform behavior. diff --git a/scripts/tauri-contract.test.mjs b/scripts/tauri-contract.test.mjs index ad32743..cc4597d 100644 --- a/scripts/tauri-contract.test.mjs +++ b/scripts/tauri-contract.test.mjs @@ -430,7 +430,7 @@ describe("Tauri frontend contract", () => { ); assert.match(rust, /HelperRestart =>[\s\S]*?schedule_update_exit/); const updater = githubUpdate.split("mod tests")[0]; - assert.match(updater, /macos_update::install\([\s\S]*?_operation_id/); + assert.match(updater, /macos_update::install\([\s\S]*?operation_id/); assert.doesNotMatch(updater, /open_downloaded_dmg/); assert.doesNotMatch(rust, /fn spawn_background_update_checks\(/); assert.doesNotMatch(rust, /fn fetch_signed_update\(/); diff --git a/src-tauri/src/github_update.rs b/src-tauri/src/github_update.rs index eeac0c9..b6c56c9 100644 --- a/src-tauri/src/github_update.rs +++ b/src-tauri/src/github_update.rs @@ -341,8 +341,18 @@ pub async fn apply_package( package: &Path, current_exe: &Path, expected_version: &str, - _operation_id: uuid::Uuid, + operation_id: uuid::Uuid, ) -> Result { + info!( + event = "update.package_apply_started", + section = "updates", + initiator = "install_update", + cause = "verified_package", + trace_route = "update->apply_package->platform_installer", + trace_id = %operation_id, + install_kind = ?kind, + "applying the verified update package" + ); match kind { InstallKind::Deb => { install_deb(package).await?; @@ -359,7 +369,7 @@ pub async fn apply_package( InstallKind::Dmg => { #[cfg(target_os = "macos")] { - crate::macos_update::install(package, current_exe, expected_version, _operation_id) + crate::macos_update::install(package, current_exe, expected_version, operation_id) .await?; Ok(ApplyOutcome::HelperRestart) } From 39f8b66b93d9fdfc88278cb242fffb79ee7d06d4 Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 11:45:28 +0330 Subject: [PATCH 4/7] fix: keep macOS relaunch diagnostics compatible with the event log --- AGENTS.md | 5 +++++ src-tauri/src/macos_update.rs | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5e7310b..d22af90 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,11 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- Relaunch helpers that append JSONL must use the diagnostic writer's flat + event schema, including timestamp, level, and top-level event/action fields. + A nested `fields` object makes the launch result invisible to the normal log + reader; cover the actual JSON record shape in native tests (ADR 0131). + - A parameter used only by a macOS cfg branch cannot be underscore-prefixed: native Clippy rejects `used_underscore_binding`. Use its ordinary name and consume the operation ID in the shared structured installer event so every diff --git a/src-tauri/src/macos_update.rs b/src-tauri/src/macos_update.rs index 0bc218a..bc76b83 100644 --- a/src-tauri/src/macos_update.rs +++ b/src-tauri/src/macos_update.rs @@ -82,7 +82,9 @@ fn relaunch_script(pid: u32, target: &Path, log: &Path, trace_id: uuid::Uuid) -> target={target} log={log} audit() {{ - printf '%s\n' '{{"level":"INFO","fields":{{"event":"update.relaunch_result","section":"updates","initiator":"user_relaunch_helper","cause":"'"$1"'","trace_route":"update->wait_old_pid->open","trace_id":"{trace_id}"}}}}' >> "$log" + level=ERROR + if [ "$1" = launch_requested ]; then level=INFO; fi + printf '{{"timestamp":"%s","level":"%s","event":"update.relaunch_result","section":"updates","initiator":"user_relaunch_helper","cause":"%s","trace_route":"update->wait_old_pid->open","trace_id":"{trace_id}"}}\n' "$(/bin/date -u +'%Y-%m-%dT%H:%M:%SZ')" "$level" "$1" >> "$log" }} count=0 while /bin/kill -0 {pid} 2>/dev/null; do @@ -441,7 +443,9 @@ mod tests { .lines() .map(|line| { let event: serde_json::Value = serde_json::from_str(line).unwrap(); - event["fields"]["cause"].as_str().unwrap().to_owned() + assert!(event["timestamp"].as_str().unwrap().ends_with('Z')); + assert_eq!(event["event"], "update.relaunch_result"); + event["cause"].as_str().unwrap().to_owned() }) .collect(); assert_eq!(causes, ["launch_requested", "launch_failed"]); From 8f628ea9512c3e4a963455a40e5f7bc8aee2898c Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 12:27:31 +0330 Subject: [PATCH 5/7] fix: return the original live user proxy after disconnect --- AGENTS.md | 15 ++ Cargo.lock | 30 +-- Cargo.toml | 2 +- apps/desktop/package.json | 2 +- crates/iran-split-core/src/lib.rs | 121 ++++++++- crates/iran-split-core/src/proxy_match.rs | 2 +- crates/iran-split-core/src/proxy_restore.rs | 91 +++++++ crates/iran-split-platform-linux/src/lib.rs | 22 +- .../src/system_proxy.rs | 174 ++++++++++-- crates/iran-split-platform-macos/src/lib.rs | 22 +- .../src/system_proxy.rs | 255 ++++++++++++++---- crates/iran-split-platform-win/src/lib.rs | 22 +- .../src/system_proxy.rs | 191 ++++++++++--- .../0132-return-user-proxy-on-disconnect.md | 53 ++++ docs/adr/README.md | 1 + e2e/primary-flows.spec.ts | 1 + package.json | 2 +- src-tauri/src/environment/apps.rs | 33 ++- src-tauri/tauri.conf.json | 2 +- version | 2 +- 20 files changed, 889 insertions(+), 154 deletions(-) create mode 100644 crates/iran-split-core/src/proxy_restore.rs create mode 100644 docs/adr/0132-return-user-proxy-on-disconnect.md diff --git a/AGENTS.md b/AGENTS.md index d22af90..4ab9181 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,21 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- Clearing a user's already-enabled local proxy during Connect is temporary + ownership, not permission to discard their working network after Disconnect. + Capture before launching clients, retain that first baseline, and hand it back + only after verified TUN cleanup, only to a reachable loopback client, and only + when the settings have not changed outside BiFlow. Never restore into Running + or overwrite a corporate proxy/PAC choice. Keep a borrowed client alive and + cover the live-proxy and dead-proxy cases separately (ADR 0132). +- An unused app must not clear a user proxy merely because Quit was requested. + Cleanup only state the app took over; a helper's presence is not ownership. +- `BiFlow` in new Rust documentation needs Markdown backticks under strict + Clippy. An old test requiring a clear call during an early cancelled Connect + tested an implementation detail; assert preserved original proxy state instead. + Environment finding fixtures must set `biflow.stack_phase`, which the finding + policy actually consumes, rather than only the duplicate runtime snapshot. + - Relaunch helpers that append JSONL must use the diagnostic writer's flat event schema, including timestamp, level, and top-level event/action fields. A nested `fields` object makes the launch result invisible to the normal log diff --git a/Cargo.lock b/Cargo.lock index c68e77f..a7c6bc1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2046,7 +2046,7 @@ dependencies = [ [[package]] name = "iran-split-cli" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2064,7 +2064,7 @@ dependencies = [ [[package]] name = "iran-split-clients" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "ipnet", @@ -2080,7 +2080,7 @@ dependencies = [ [[package]] name = "iran-split-config" -version = "6.2.82" +version = "6.2.83" dependencies = [ "hex", "rand 0.9.5", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "iran-split-core" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2110,7 +2110,7 @@ dependencies = [ [[package]] name = "iran-split-desktop" -version = "6.2.82" +version = "6.2.83" dependencies = [ "chrono", "dirs 6.0.0", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "iran-split-helper" -version = "6.2.82" +version = "6.2.83" dependencies = [ "clap", "hex", @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "iran-split-helper-winacl" -version = "6.2.82" +version = "6.2.83" dependencies = [ "tokio", "windows", @@ -2185,7 +2185,7 @@ dependencies = [ [[package]] name = "iran-split-ipc" -version = "6.2.82" +version = "6.2.83" dependencies = [ "bytes", "chrono", @@ -2198,7 +2198,7 @@ dependencies = [ [[package]] name = "iran-split-mihomo" -version = "6.2.82" +version = "6.2.83" dependencies = [ "chrono", "futures-util", @@ -2221,7 +2221,7 @@ dependencies = [ [[package]] name = "iran-split-netstats" -version = "6.2.82" +version = "6.2.83" dependencies = [ "libc", "tempfile", @@ -2230,7 +2230,7 @@ dependencies = [ [[package]] name = "iran-split-platform-linux" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2254,7 +2254,7 @@ dependencies = [ [[package]] name = "iran-split-platform-macos" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2278,7 +2278,7 @@ dependencies = [ [[package]] name = "iran-split-platform-win" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "iran-split-rules" -version = "6.2.82" +version = "6.2.83" dependencies = [ "async-trait", "chrono", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "iran-split-taskbar" -version = "6.2.82" +version = "6.2.83" dependencies = [ "iran-split-config", "objc2", diff --git a/Cargo.toml b/Cargo.toml index af0e68c..5b0df98 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "6.2.82" +version = "6.2.83" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.88" diff --git a/apps/desktop/package.json b/apps/desktop/package.json index eb14cd8..5a51af8 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@iran-split/desktop", - "version": "6.2.82", + "version": "6.2.83", "private": true, "type": "module", "scripts": { diff --git a/crates/iran-split-core/src/lib.rs b/crates/iran-split-core/src/lib.rs index 091f65d..f02d94e 100644 --- a/crates/iran-split-core/src/lib.rs +++ b/crates/iran-split-core/src/lib.rs @@ -16,6 +16,10 @@ use uuid::Uuid; mod proxy_match; pub use proxy_match::{proxy_endpoint_matches, proxy_server_matches}; +mod proxy_restore; +pub use proxy_restore::{ + proxy_endpoint_ready, proxy_host_is_loopback, proxy_restore_decision, ProxyRestoreDecision, +}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)] #[serde(rename_all = "snake_case")] @@ -618,6 +622,10 @@ pub trait PlatformBackend: Send + Sync + 'static { async fn stop_user_proxy(&self) -> Result<(), CoreError> { Ok(()) } + /// Captures the user's proxy before any client is launched or reconfigured. + async fn capture_system_proxy(&self) -> Result<(), CoreError> { + Ok(()) + } /// Clears the desktop system proxy when it points at Hiddify. /// /// Returns `true` when a Hiddify proxy was found and cleared. A system @@ -1417,18 +1425,16 @@ impl Engine { } tokio::time::sleep(Duration::from_millis(50)).await; } - // An unused install without an available helper has nothing privileged - // to detach. Still remove a dead local-proxy endpoint from OS settings. + // An unused install without a helper does not own the user's proxy. let snapshot = self.snapshot(); if matches!( snapshot.phase, StackPhase::Stopped | StackPhase::Uninitialized - ) && snapshot.helper.phase != ComponentPhase::Running - && snapshot.mihomo.phase != ComponentPhase::Running + ) && snapshot.mihomo.phase != ComponentPhase::Running && snapshot.tun.phase != ComponentPhase::Running { - self.backend.clear_hiddify_system_proxy().await?; - return self.backend.stop_user_proxy().await; + self.backend.stop_user_proxy().await?; + return self.backend.restore_hiddify_system_proxy().await; } self.run_stop(Uuid::new_v4()).await }) @@ -1736,8 +1742,8 @@ impl Engine { let helper_ready = health.helper.phase == ComponentPhase::Running; self.update(|snapshot| apply_health(snapshot, health)); if helper_ready { - let process = self.backend.core_process().await.unwrap_or_default(); - let tun = self.backend.tun_status().await.unwrap_or_default(); + let process = self.backend.core_process().await?; + let tun = self.backend.tun_status().await?; if process.running || tun.active { warn!( event = "startup.owned_state_found", @@ -1753,6 +1759,8 @@ impl Engine { return Err(CoreError::TunCleanupFailed(report.warnings.join("; "))); } } + self.backend.verify_not_intercepting().await?; + self.backend.restore_hiddify_system_proxy().await?; } let health = self.backend.runtime_health().await; self.set_stopped(health); @@ -1865,6 +1873,7 @@ impl Engine { ); }); + self.backend.capture_system_proxy().await?; self.start_enabled_clients(operation_id, cancel).await?; self.announce(StackPhase::PreparingRuntime, operation_id) @@ -2044,6 +2053,7 @@ impl Engine { report.warnings.join("; ") ))); } + self.backend.restore_hiddify_system_proxy().await?; Ok(()) } @@ -2100,6 +2110,7 @@ impl Engine { ))); } self.backend.forget_client_egress().await; + self.backend.restore_hiddify_system_proxy().await?; proxy_stop?; proxy_clear?; let health = self.backend.runtime_health().await; @@ -2144,6 +2155,7 @@ impl Engine { ))); } self.backend.verify_not_intercepting().await?; + self.backend.restore_hiddify_system_proxy().await?; proxy_clear?; let health = self.backend.runtime_health().await; self.set_paused(health); @@ -2202,6 +2214,7 @@ impl Engine { report.warnings.join("; ") ))); } + self.backend.restore_hiddify_system_proxy().await?; Ok(()) } @@ -2497,6 +2510,11 @@ mod tests { proxy_stops: AtomicUsize, proxy_clears: AtomicUsize, proxy_restores: AtomicUsize, + proxy_captures: AtomicUsize, + proxy_active: AtomicBool, + proxy_baseline: AtomicBool, + proxy_lease: AtomicBool, + auto_client_sets_proxy: AtomicBool, fail_proxy_clear: AtomicBool, fail_proxy_stop: AtomicBool, } @@ -2580,6 +2598,9 @@ mod tests { } async fn ensure_hiddify(&self, cancel: CancellationToken) -> Result<(), CoreError> { + if self.auto_client_sets_proxy.load(Ordering::SeqCst) { + self.proxy_active.store(true, Ordering::SeqCst); + } if self.hiddify_missing.load(Ordering::SeqCst) { return Err(CoreError::HiddifyNotFound); } @@ -2660,8 +2681,18 @@ mod tests { Ok(()) } + async fn capture_system_proxy(&self) -> Result<(), CoreError> { + self.proxy_captures.fetch_add(1, Ordering::SeqCst); + if !self.proxy_lease.swap(true, Ordering::SeqCst) { + self.proxy_baseline + .store(self.proxy_active.load(Ordering::SeqCst), Ordering::SeqCst); + } + Ok(()) + } + async fn clear_hiddify_system_proxy(&self) -> Result { self.proxy_clears.fetch_add(1, Ordering::SeqCst); + self.proxy_active.store(false, Ordering::SeqCst); if self.fail_proxy_clear.load(Ordering::SeqCst) { return Err(CoreError::Platform("system proxy clear failed".into())); } @@ -2669,7 +2700,20 @@ mod tests { } async fn restore_hiddify_system_proxy(&self) -> Result<(), CoreError> { + assert!( + !self.tun.load(Ordering::SeqCst), + "proxy must never bypass an active TUN" + ); + assert!( + !self.process.load(Ordering::SeqCst), + "core must stop before proxy handoff" + ); self.proxy_restores.fetch_add(1, Ordering::SeqCst); + if self.proxy_lease.load(Ordering::SeqCst) { + self.proxy_active + .store(self.proxy_baseline.load(Ordering::SeqCst), Ordering::SeqCst); + } + self.proxy_lease.store(false, Ordering::SeqCst); Ok(()) } @@ -2725,6 +2769,57 @@ mod tests { } } + #[tokio::test] + async fn disconnect_returns_the_original_proxy_after_detaching_capture() { + let backend = Arc::new(FakeBackend::default()); + backend.proxy_active.store(true, Ordering::SeqCst); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.start_stack(None).await.unwrap(); + engine + .wait_for_phase(StackPhase::Running, Duration::from_secs(2)) + .await + .unwrap(); + assert_eq!(backend.proxy_captures.load(Ordering::SeqCst), 1); + assert!(!backend.proxy_active.load(Ordering::SeqCst)); + engine.stop_stack().await.unwrap(); + engine + .wait_for_phase(StackPhase::Stopped, Duration::from_secs(2)) + .await + .unwrap(); + assert!(!backend.tun.load(Ordering::SeqCst)); + assert!(backend.proxy_active.load(Ordering::SeqCst)); + assert!(!backend.proxy_lease.load(Ordering::SeqCst)); + } + + #[tokio::test] + async fn a_client_started_by_connect_does_not_replace_an_originally_disabled_proxy() { + let backend = Arc::new(FakeBackend::default()); + backend.auto_client_sets_proxy.store(true, Ordering::SeqCst); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.start_stack(None).await.unwrap(); + engine + .wait_for_phase(StackPhase::Running, Duration::from_secs(2)) + .await + .unwrap(); + engine.stop_stack().await.unwrap(); + engine + .wait_for_phase(StackPhase::Stopped, Duration::from_secs(2)) + .await + .unwrap(); + assert!(!backend.proxy_active.load(Ordering::SeqCst)); + } + + #[tokio::test] + async fn unused_application_quit_does_not_clear_the_users_proxy() { + let backend = Arc::new(FakeBackend::default()); + backend.proxy_active.store(true, Ordering::SeqCst); + let engine = Engine::new(Arc::clone(&backend), &tokio::runtime::Handle::current()); + engine.refresh_health().await; + engine.shutdown().await.unwrap(); + assert_eq!(backend.proxy_clears.load(Ordering::SeqCst), 0); + assert!(backend.proxy_active.load(Ordering::SeqCst)); + } + #[tokio::test] async fn shutdown_cancels_connect_and_detaches_before_returning() { let backend = Arc::new(FakeBackend::default()); @@ -2735,7 +2830,7 @@ mod tests { assert!(!backend.process.load(Ordering::SeqCst)); assert!(!backend.tun.load(Ordering::SeqCst)); assert!(backend.cleanups.load(Ordering::SeqCst) > 0); - assert!(backend.proxy_clears.load(Ordering::SeqCst) > 0); + assert!(!backend.proxy_active.load(Ordering::SeqCst)); assert!( engine.start_stack(None).await.is_err(), "exit must reject a new Connect" @@ -2976,9 +3071,9 @@ mod tests { .await .expect("running again"); assert!(backend.tun.load(Ordering::SeqCst)); - // resume must never restore a Hiddify system proxy: it would bypass - // the TUN split routing and break DIRECT domains - assert_eq!(backend.proxy_restores.load(Ordering::SeqCst), 0); + // Pause restores ordinary access, then Resume clears it for split routing. + assert_eq!(backend.proxy_restores.load(Ordering::SeqCst), 1); + assert!(!backend.proxy_active.load(Ordering::SeqCst)); // start, pause, and the resume's start steps each clear once assert_eq!(backend.proxy_clears.load(Ordering::SeqCst), 3); } @@ -3019,7 +3114,7 @@ mod tests { ); assert!(!backend.tun.load(Ordering::SeqCst)); assert_eq!(backend.proxy_stops.load(Ordering::SeqCst), 0); - assert_eq!(backend.proxy_restores.load(Ordering::SeqCst), 0); + assert_eq!(backend.proxy_restores.load(Ordering::SeqCst), 2); } #[tokio::test] diff --git a/crates/iran-split-core/src/proxy_match.rs b/crates/iran-split-core/src/proxy_match.rs index 2e8c2ca..d4c0089 100644 --- a/crates/iran-split-core/src/proxy_match.rs +++ b/crates/iran-split-core/src/proxy_match.rs @@ -47,7 +47,7 @@ fn normalize_host(host: &str) -> String { .to_owned() } -fn is_loopback(host: &str) -> bool { +pub(crate) fn is_loopback(host: &str) -> bool { ["localhost", "127.0.0.1", "::1", "0:0:0:0:0:0:0:1"] .iter() .any(|candidate| host.eq_ignore_ascii_case(candidate)) diff --git a/crates/iran-split-core/src/proxy_restore.rs b/crates/iran-split-core/src/proxy_restore.rs new file mode 100644 index 0000000..da34fd5 --- /dev/null +++ b/crates/iran-split-core/src/proxy_restore.rs @@ -0,0 +1,91 @@ +//! Restore only a managed, reachable proxy after releasing the TUN. + +use std::time::Duration; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ProxyRestoreDecision { + Restore, + SettingsChanged, + NotManaged, + ClientUnavailable, +} + +impl ProxyRestoreDecision { + #[must_use] + pub const fn cause(self) -> &'static str { + match self { + Self::Restore => "saved_client_reachable", + Self::SettingsChanged => "settings_changed_outside_biflow", + Self::NotManaged => "baseline_not_managed", + Self::ClientUnavailable => "saved_client_unavailable", + } + } +} + +#[must_use] +pub const fn proxy_restore_decision( + unchanged: bool, + managed: bool, + reachable: bool, +) -> ProxyRestoreDecision { + if !managed { + ProxyRestoreDecision::NotManaged + } else if !unchanged { + ProxyRestoreDecision::SettingsChanged + } else if !reachable { + ProxyRestoreDecision::ClientUnavailable + } else { + ProxyRestoreDecision::Restore + } +} + +/// Only local client endpoints belong to the system proxy handoff. +#[must_use] +pub fn proxy_host_is_loopback(host: &str) -> bool { + super::proxy_match::is_loopback(host.trim_matches(['[', ']'])) +} + +/// Test the actual socket; a process name or socket-enumeration entry does not +/// prove that the saved local proxy can accept connections. +pub async fn proxy_endpoint_ready(host: &str, port: u16) -> bool { + let host = host.trim_matches(['[', ']']); + if !proxy_host_is_loopback(host) { + return false; + } + tokio::time::timeout( + Duration::from_secs(1), + tokio::net::TcpStream::connect((host, port)), + ) + .await + .is_ok_and(|result| result.is_ok()) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn only_an_unchanged_managed_live_proxy_is_restored() { + for unchanged in [false, true] { + for managed in [false, true] { + for reachable in [false, true] { + assert_eq!( + proxy_restore_decision(unchanged, managed, reachable) + == ProxyRestoreDecision::Restore, + unchanged && managed && reachable + ); + } + } + } + } + + #[tokio::test] + async fn actual_listener_is_required_and_remote_hosts_are_never_probed() { + let listener = tokio::net::TcpListener::bind("127.0.0.1:0").await.unwrap(); + let port = listener.local_addr().unwrap().port(); + assert!(proxy_endpoint_ready("127.0.0.1", port).await); + drop(listener); + assert!(!proxy_endpoint_ready("127.0.0.1", port).await); + assert!(!proxy_endpoint_ready("proxy.corp.example", port).await); + } +} diff --git a/crates/iran-split-platform-linux/src/lib.rs b/crates/iran-split-platform-linux/src/lib.rs index 979354b..4936edd 100644 --- a/crates/iran-split-platform-linux/src/lib.rs +++ b/crates/iran-split-platform-linux/src/lib.rs @@ -1683,6 +1683,19 @@ impl PlatformBackend for LinuxBackend { if !config.hiddify_stop_with_stack() { return Ok(()); } + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let (host, port) = config.hiddify_endpoint(); + if system_proxy::saved_proxy_uses(&persist, &host, port)? { + info!( + event = "client.borrowed_proxy_preserved", + section = "client_lifecycle", + initiator = "platform_backend", + cause = "preexisting_system_proxy", + trace_route = "disconnect->stop_user_proxy->saved_proxy", + "leaving the user's original proxy client running" + ); + return Ok(()); + } if let Some(mut child) = self.launched_hiddify.lock().await.take() { let trace_id = Uuid::new_v4(); if let Err(cause) = child.start_kill() { @@ -1731,6 +1744,12 @@ impl PlatformBackend for LinuxBackend { Ok(()) } + async fn capture_system_proxy(&self) -> Result<(), CoreError> { + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let config = self.config.read().await.clone(); + system_proxy::capture(&persist, &config.local_proxy_endpoints()).await + } + async fn clear_hiddify_system_proxy(&self) -> Result { let config = self.config.read().await.clone(); let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); @@ -1748,7 +1767,8 @@ impl PlatformBackend for LinuxBackend { async fn restore_hiddify_system_proxy(&self) -> Result<(), CoreError> { let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); - system_proxy::restore(&persist).await + let config = self.config.read().await.clone(); + system_proxy::restore(&persist, &config.local_proxy_endpoints()).await } async fn core_process(&self) -> Result { diff --git a/crates/iran-split-platform-linux/src/system_proxy.rs b/crates/iran-split-platform-linux/src/system_proxy.rs index 25336e4..edf7884 100644 --- a/crates/iran-split-platform-linux/src/system_proxy.rs +++ b/crates/iran-split-platform-linux/src/system_proxy.rs @@ -1,10 +1,12 @@ -use iran_split_core::CoreError; +use iran_split_core::{ + proxy_endpoint_ready, proxy_restore_decision, CoreError, ProxyRestoreDecision, +}; use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; use tokio::process::Command; use tracing::info; -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)] pub struct Snapshot { pub mode: String, pub http_host: String, @@ -17,6 +19,9 @@ pub struct Snapshot { #[must_use] pub fn points_at_hiddify(snapshot: &Snapshot, host: &str, port: u16) -> bool { + if !iran_split_core::proxy_host_is_loopback(host) { + return false; + } if matches!(snapshot.mode.as_str(), "none" | "0" | "") { return false; } @@ -55,7 +60,7 @@ pub async fn clear_if_hiddify( if !points_at_hiddify(&snapshot, host, port) { return Ok(None); } - write_snapshot(persist, &snapshot)?; + remember_first_snapshot(persist, &snapshot)?; apply_disabled().await?; info!( event = "system_proxy.cleared", @@ -68,28 +73,88 @@ pub async fn clear_if_hiddify( Ok(Some(snapshot)) } -/// Restores a previously cleared Hiddify system proxy. -/// -/// # Errors -/// -/// Returns a platform error when a present desktop tool fails to write. -pub async fn restore(persist: &Path) -> Result<(), CoreError> { +/// Capture once before starting clients, including an originally disabled proxy. +/// A disabled baseline prevents a newly launched client from becoming the +/// apparent owner of the user's preexisting network settings. +pub async fn capture(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + if let Some(snapshot) = read_current().await? { + let baseline = if endpoints + .iter() + .any(|(host, port)| points_at_hiddify(&snapshot, host, *port)) + { + snapshot + } else { + Snapshot::default() + }; + write_snapshot(persist, &baseline)?; + info!( + event = "system_proxy.baseline_captured", + section = "system_proxy", + initiator = "platform_backend", + cause = "before_client_start", + trace_route = "connect->capture_system_proxy->snapshot", + "captured the original desktop proxy without logging its settings" + ); + } + } + Ok(()) +} + +pub fn saved_proxy_uses(persist: &Path, host: &str, port: u16) -> Result { + Ok(read_snapshot(persist)?.is_some_and(|snapshot| points_at_hiddify(&snapshot, host, port))) +} + +/// Restore after detaching the TUN, only if the saved local client is alive +/// and the settings are still in the state `BiFlow` left them. +pub async fn restore(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { let Some(snapshot) = read_snapshot(persist)? else { return Ok(()); }; - apply_snapshot(&snapshot).await?; - let _ = std::fs::remove_file(persist); + let mut managed = false; + let mut reachable = true; + for (host, port) in endpoints { + if points_at_hiddify(&snapshot, host, *port) { + managed = true; + reachable &= proxy_endpoint_ready(host, *port).await; + } + } + let current = read_current().await?; + let decision = proxy_restore_decision( + current + .as_ref() + .is_some_and(|current| unchanged_after_clear(&snapshot, current)), + managed, + reachable, + ); + if decision == ProxyRestoreDecision::Restore { + apply_snapshot(&snapshot).await?; + if read_current().await?.as_ref() != Some(&snapshot) { + return Err(CoreError::Platform( + "restored system proxy could not be verified".into(), + )); + } + } + std::fs::remove_file(persist) + .map_err(|_| CoreError::Platform("could not retire the saved system proxy".into()))?; info!( - event = "system_proxy.restored", + event = "system_proxy.handoff_completed", section = "system_proxy", - initiator = "linux_platform_backend", - cause = "resume", - trace_route = "engine->linux_platform_backend->system_proxy", - "restored the previous Hiddify system proxy" + initiator = "platform_backend", + cause = decision.cause(), + trace_route = "disconnect->restore_system_proxy->verify", + restored = decision == ProxyRestoreDecision::Restore, + "completed desktop proxy handoff without logging settings" ); Ok(()) } +fn unchanged_after_clear(original: &Snapshot, current: &Snapshot) -> bool { + let mut disabled = original.clone(); + disabled.mode = current.mode.clone(); + matches!(current.mode.as_str(), "none" | "0" | "") && current == &disabled +} + async fn read_current() -> Result, CoreError> { if which("gsettings") { return Ok(Some(read_gnome().await?)); @@ -335,15 +400,32 @@ fn unquote(value: &str) -> String { value.trim().trim_matches('\'').trim_matches('"').to_owned() } -fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { - if let Some(parent) = path.parent() { - std::fs::create_dir_all(parent).map_err(|error| CoreError::Platform(error.to_string()))?; +fn remember_first_snapshot(persist: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + write_snapshot(persist, snapshot)?; } - std::fs::write( - path, - serde_json::to_vec(snapshot).map_err(|error| CoreError::Platform(error.to_string()))?, - ) - .map_err(|error| CoreError::Platform(error.to_string())) + Ok(()) +} + +fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + use std::io::Write; + let parent = path + .parent() + .ok_or_else(|| CoreError::Platform("saved proxy has no parent directory".into()))?; + std::fs::create_dir_all(parent) + .map_err(|_| CoreError::Platform("could not prepare the saved proxy directory".into()))?; + let mut staged = tempfile::NamedTempFile::new_in(parent) + .map_err(|_| CoreError::Platform("could not stage the proxy baseline".into()))?; + let bytes = serde_json::to_vec(snapshot) + .map_err(|_| CoreError::Platform("could not encode the proxy baseline".into()))?; + staged + .write_all(&bytes) + .and_then(|()| staged.as_file().sync_all()) + .map_err(|_| CoreError::Platform("could not write the proxy baseline".into()))?; + staged + .persist(path) + .map_err(|_| CoreError::Platform("could not publish the proxy baseline".into()))?; + Ok(()) } fn read_snapshot(path: &Path) -> Result, CoreError> { @@ -360,6 +442,50 @@ fn read_snapshot(path: &Path) -> Result, CoreError> { mod tests { use super::*; + #[test] + fn restore_preserves_new_proxy_and_auto_configuration_choices() { + let original = Snapshot { + mode: "manual".into(), + http_host: "127.0.0.1".into(), + http_port: "12334".into(), + https_port: "0".into(), + socks_port: "0".into(), + ..Snapshot::default() + }; + let mut disabled = original.clone(); + disabled.mode = "none".into(); + assert!(unchanged_after_clear(&original, &disabled)); + disabled.mode = "auto".into(); + assert!(!unchanged_after_clear(&original, &disabled)); + disabled.mode = "none".into(); + disabled.http_host = "new.corp.example".into(); + assert!(!unchanged_after_clear(&original, &disabled)); + } + + #[tokio::test] + async fn capture_before_start_cannot_be_overwritten_by_an_auto_started_client() { + let directory = tempfile::tempdir().unwrap(); + let persist = snapshot_path(directory.path()); + let original = Snapshot::default(); + remember_first_snapshot(&persist, &original).unwrap(); + let started = Snapshot { + mode: "manual".into(), + http_host: "127.0.0.1".into(), + http_port: "12334".into(), + https_port: "0".into(), + socks_port: "0".into(), + ..Snapshot::default() + }; + remember_first_snapshot(&persist, &started).unwrap(); + capture(&persist, &[("127.0.0.1".into(), 12334)]) + .await + .unwrap(); + assert_eq!(read_snapshot(&persist).unwrap(), Some(original)); + assert!(!saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + write_snapshot(&persist, &started).unwrap(); + assert!(saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + } + #[test] fn matches_hiddify_http_or_socks() { let snapshot = Snapshot { diff --git a/crates/iran-split-platform-macos/src/lib.rs b/crates/iran-split-platform-macos/src/lib.rs index 77582e0..046c9e9 100644 --- a/crates/iran-split-platform-macos/src/lib.rs +++ b/crates/iran-split-platform-macos/src/lib.rs @@ -1784,6 +1784,19 @@ impl PlatformBackend for MacosBackend { if !config.hiddify_stop_with_stack() { return Ok(()); } + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let (host, port) = config.hiddify_endpoint(); + if system_proxy::saved_proxy_uses(&persist, &host, port)? { + info!( + event = "client.borrowed_proxy_preserved", + section = "client_lifecycle", + initiator = "platform_backend", + cause = "preexisting_system_proxy", + trace_route = "disconnect->stop_user_proxy->saved_proxy", + "leaving the user's original proxy client running" + ); + return Ok(()); + } if let Some(mut child) = self.launched_hiddify.lock().await.take() { let trace_id = Uuid::new_v4(); if let Err(cause) = child.start_kill() { @@ -1832,6 +1845,12 @@ impl PlatformBackend for MacosBackend { Ok(()) } + async fn capture_system_proxy(&self) -> Result<(), CoreError> { + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let config = self.config.read().await.clone(); + system_proxy::capture(&persist, &config.local_proxy_endpoints()).await + } + async fn clear_hiddify_system_proxy(&self) -> Result { let config = self.config.read().await.clone(); let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); @@ -1849,7 +1868,8 @@ impl PlatformBackend for MacosBackend { async fn restore_hiddify_system_proxy(&self) -> Result<(), CoreError> { let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); - system_proxy::restore(&persist).await + let config = self.config.read().await.clone(); + system_proxy::restore(&persist, &config.local_proxy_endpoints()).await } async fn core_process(&self) -> Result { diff --git a/crates/iran-split-platform-macos/src/system_proxy.rs b/crates/iran-split-platform-macos/src/system_proxy.rs index 3c2a1e6..75f7e34 100644 --- a/crates/iran-split-platform-macos/src/system_proxy.rs +++ b/crates/iran-split-platform-macos/src/system_proxy.rs @@ -6,7 +6,9 @@ //! the GNOME/KDE backend on Linux, but driven by `networksetup` per network //! service (Wi-Fi, Ethernet, …). -use iran_split_core::CoreError; +use iran_split_core::{ + proxy_endpoint_ready, proxy_restore_decision, CoreError, ProxyRestoreDecision, +}; use serde::{Deserialize, Serialize}; use std::{ path::{Path, PathBuf}, @@ -43,6 +45,9 @@ pub struct Snapshot { #[must_use] pub fn points_at_hiddify(snapshot: &Snapshot, host: &str, port: u16) -> bool { + if !iran_split_core::proxy_host_is_loopback(host) { + return false; + } if matches!(snapshot.mode.as_str(), "none" | "") { return false; } @@ -91,8 +96,8 @@ pub async fn clear_if_hiddify( if !points_at_hiddify(&snapshot, host, port) { return Ok(None); } - write_snapshot(persist, &snapshot)?; - apply_disabled(&snapshot).await?; + remember_first_snapshot(persist, &snapshot)?; + apply_disabled(&snapshot, host, port).await?; info!( event = "system_proxy.cleared", section = "system_proxy", @@ -104,29 +109,134 @@ pub async fn clear_if_hiddify( Ok(Some(snapshot)) } -/// Restores a previously cleared Hiddify system proxy. -/// -/// # Errors -/// -/// Returns a platform error when `networksetup` cannot reapply the snapshot. -pub async fn restore(persist: &Path) -> Result<(), CoreError> { +/// Capture once before starting clients, including an originally disabled proxy. +/// A disabled baseline prevents a newly launched client from becoming the +/// apparent owner of the user's preexisting network settings. +pub async fn capture(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + if let Some(snapshot) = read_current().await? { + let baseline = if endpoints + .iter() + .any(|(host, port)| points_at_hiddify(&snapshot, host, *port)) + { + snapshot + } else { + Snapshot::default() + }; + write_snapshot(persist, &baseline)?; + info!( + event = "system_proxy.baseline_captured", + section = "system_proxy", + initiator = "platform_backend", + cause = "before_client_start", + trace_route = "connect->capture_system_proxy->snapshot", + "captured the original desktop proxy without logging its settings" + ); + } + } + Ok(()) +} + +pub fn saved_proxy_uses(persist: &Path, host: &str, port: u16) -> Result { + Ok(read_snapshot(persist)?.is_some_and(|snapshot| points_at_hiddify(&snapshot, host, port))) +} + +/// Restore after detaching the TUN, only if the saved local client is alive +/// and the settings are still in the state `BiFlow` left them. +pub async fn restore(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { let Some(snapshot) = read_snapshot(persist)? else { return Ok(()); }; - apply_snapshot(&snapshot).await?; - let _ = std::fs::remove_file(persist); + let mut managed = false; + let mut reachable = true; + for (host, port) in endpoints { + if points_at_hiddify(&snapshot, host, *port) { + managed = true; + reachable &= proxy_endpoint_ready(host, *port).await; + } + } + let current = read_current().await?; + let decision = proxy_restore_decision( + current + .as_ref() + .is_some_and(|current| unchanged_after_clear(&snapshot, current, endpoints)), + managed, + reachable, + ); + if decision == ProxyRestoreDecision::Restore { + apply_snapshot(&snapshot).await?; + if read_current().await?.as_ref() != Some(&snapshot) { + return Err(CoreError::Platform( + "restored system proxy could not be verified".into(), + )); + } + } + std::fs::remove_file(persist) + .map_err(|_| CoreError::Platform("could not retire the saved system proxy".into()))?; info!( - event = "system_proxy.restored", + event = "system_proxy.handoff_completed", section = "system_proxy", - initiator = "macos_platform_backend", - cause = "resume", - trace_route = "engine->macos_platform_backend->system_proxy", - "restored the previous Hiddify system proxy" + initiator = "platform_backend", + cause = decision.cause(), + trace_route = "disconnect->restore_system_proxy->verify", + restored = decision == ProxyRestoreDecision::Restore, + "completed desktop proxy handoff without logging settings" ); Ok(()) } -/// Reads the proxy state of every network service. +fn cleared_snapshot(snapshot: &Snapshot, host: &str, port: u16) -> Snapshot { + let mut cleared = snapshot.clone(); + for service in &mut cleared.services { + if iran_split_core::proxy_endpoint_matches( + &service.http_host, + &service.http_port, + host, + port, + ) { + service.web_enabled = false; + } + if iran_split_core::proxy_endpoint_matches( + &service.https_host, + &service.https_port, + host, + port, + ) { + service.secure_web_enabled = false; + } + if iran_split_core::proxy_endpoint_matches( + &service.socks_host, + &service.socks_port, + host, + port, + ) { + service.socks_enabled = false; + } + } + cleared.mode = + if cleared.services.iter().any(|service| { + service.web_enabled || service.secure_web_enabled || service.socks_enabled + }) { + "manual" + } else { + "none" + } + .into(); + cleared +} + +fn unchanged_after_clear( + original: &Snapshot, + current: &Snapshot, + endpoints: &[(String, u16)], +) -> bool { + let mut disabled = original.clone(); + for (host, port) in endpoints { + disabled = cleared_snapshot(&disabled, host, *port); + } + current == &disabled +} + async fn read_current() -> Result, CoreError> { if !Path::new(NETWORKSETUP).is_file() { return Ok(None); @@ -151,14 +261,18 @@ async fn read_current() -> Result, CoreError> { })) } -async fn apply_disabled(snapshot: &Snapshot) -> Result<(), CoreError> { - // Always off. Replaying each service's saved enabled flag left Hiddify's - // HTTP/SOCKS proxy in place while "connected", so Safari/Chrome sent - // `localhost` through Hiddify and got 502 (ADR 0062). - for service in &snapshot.services { - set_proxy_state(&service.service, ProxyKind::Web, false).await?; - set_proxy_state(&service.service, ProxyKind::SecureWeb, false).await?; - set_proxy_state(&service.service, ProxyKind::Socks, false).await?; +async fn apply_disabled(snapshot: &Snapshot, host: &str, port: u16) -> Result<(), CoreError> { + let cleared = cleared_snapshot(snapshot, host, port); + for (before, after) in snapshot.services.iter().zip(&cleared.services) { + if before.web_enabled != after.web_enabled { + set_proxy_state(&before.service, ProxyKind::Web, false).await?; + } + if before.secure_web_enabled != after.secure_web_enabled { + set_proxy_state(&before.service, ProxyKind::SecureWeb, false).await?; + } + if before.socks_enabled != after.socks_enabled { + set_proxy_state(&before.service, ProxyKind::Socks, false).await?; + } } Ok(()) } @@ -331,15 +445,32 @@ async fn run_ok(program: &str, args: &[&str]) -> Result<(), CoreError> { } } -fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { - if let Some(parent) = path.parent() { - std::fs::create_dir_all(parent).map_err(|error| CoreError::Platform(error.to_string()))?; +fn remember_first_snapshot(persist: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + write_snapshot(persist, snapshot)?; } - std::fs::write( - path, - serde_json::to_vec(snapshot).map_err(|error| CoreError::Platform(error.to_string()))?, - ) - .map_err(|error| CoreError::Platform(error.to_string())) + Ok(()) +} + +fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + use std::io::Write; + let parent = path + .parent() + .ok_or_else(|| CoreError::Platform("saved proxy has no parent directory".into()))?; + std::fs::create_dir_all(parent) + .map_err(|_| CoreError::Platform("could not prepare the saved proxy directory".into()))?; + let mut staged = tempfile::NamedTempFile::new_in(parent) + .map_err(|_| CoreError::Platform("could not stage the proxy baseline".into()))?; + let bytes = serde_json::to_vec(snapshot) + .map_err(|_| CoreError::Platform("could not encode the proxy baseline".into()))?; + staged + .write_all(&bytes) + .and_then(|()| staged.as_file().sync_all()) + .map_err(|_| CoreError::Platform("could not write the proxy baseline".into()))?; + staged + .persist(path) + .map_err(|_| CoreError::Platform("could not publish the proxy baseline".into()))?; + Ok(()) } fn read_snapshot(path: &Path) -> Result, CoreError> { @@ -356,6 +487,26 @@ fn read_snapshot(path: &Path) -> Result, CoreError> { mod tests { use super::*; + #[tokio::test] + async fn capture_before_start_cannot_be_overwritten_by_an_auto_started_client() { + let directory = tempfile::tempdir().unwrap(); + let persist = snapshot_path(directory.path()); + let original = Snapshot::default(); + remember_first_snapshot(&persist, &original).unwrap(); + let started = Snapshot { + mode: "manual".into(), + services: vec![service("Wi-Fi", "127.0.0.1", "12334")], + }; + remember_first_snapshot(&persist, &started).unwrap(); + capture(&persist, &[("127.0.0.1".into(), 12334)]) + .await + .unwrap(); + assert_eq!(read_snapshot(&persist).unwrap(), Some(original)); + assert!(!saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + write_snapshot(&persist, &started).unwrap(); + assert!(saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + } + fn service(name: &str, host: &str, port: &str) -> ServiceProxy { ServiceProxy { service: name.into(), @@ -405,28 +556,22 @@ mod tests { } #[test] - fn apply_disabled_turns_proxies_off_instead_of_replaying_snapshot() { - // `include_str` of this file would match the assertion itself if we - // scanned `mod tests`. Only the production half is the contract. - let production = include_str!("system_proxy.rs") - .split("mod tests") - .next() - .expect("production"); - let body = production - .split("async fn apply_disabled") - .nth(1) - .and_then(|rest| rest.split("async fn apply_snapshot").next()) - .expect("apply_disabled body"); - assert!( - body.contains("ProxyKind::Web, false") - && body.contains("ProxyKind::SecureWeb, false") - && body.contains("ProxyKind::Socks, false"), - "apply_disabled must force every proxy kind off" - ); - assert!( - !body.contains("service.web_enabled"), - "replaying snapshot enabled flags leaves the Hiddify proxy up" - ); + fn clear_preserves_unrelated_services_and_restore_detects_user_edits() { + let original = Snapshot { + mode: "manual".into(), + services: vec![ + service("Wi-Fi", "127.0.0.1", "12334"), + service("Corporate", "proxy.corp.example", "8080"), + ], + }; + let cleared = cleared_snapshot(&original, "127.0.0.1", 12334); + assert!(!cleared.services[0].web_enabled); + assert!(cleared.services[1].web_enabled); + let endpoints = [("127.0.0.1".into(), 12334)]; + assert!(unchanged_after_clear(&original, &cleared, &endpoints)); + let mut edited = cleared; + edited.services[1].http_host = "new.corp.example".into(); + assert!(!unchanged_after_clear(&original, &edited, &endpoints)); } #[test] diff --git a/crates/iran-split-platform-win/src/lib.rs b/crates/iran-split-platform-win/src/lib.rs index 7f57356..fd42159 100644 --- a/crates/iran-split-platform-win/src/lib.rs +++ b/crates/iran-split-platform-win/src/lib.rs @@ -1831,6 +1831,19 @@ impl PlatformBackend for WindowsBackend { if !config.hiddify_stop_with_stack() { return Ok(()); } + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let (host, port) = config.hiddify_endpoint(); + if system_proxy::saved_proxy_uses(&persist, &host, port)? { + info!( + event = "client.borrowed_proxy_preserved", + section = "client_lifecycle", + initiator = "platform_backend", + cause = "preexisting_system_proxy", + trace_route = "disconnect->stop_user_proxy->saved_proxy", + "leaving the user's original proxy client running" + ); + return Ok(()); + } if let Some(mut child) = self.launched_hiddify.lock().await.take() { let trace_id = Uuid::new_v4(); if let Err(cause) = child.start_kill() { @@ -1879,6 +1892,12 @@ impl PlatformBackend for WindowsBackend { Ok(()) } + async fn capture_system_proxy(&self) -> Result<(), CoreError> { + let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); + let config = self.config.read().await.clone(); + system_proxy::capture(&persist, &config.local_proxy_endpoints()).await + } + async fn clear_hiddify_system_proxy(&self) -> Result { let config = self.config.read().await.clone(); let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); @@ -1896,7 +1915,8 @@ impl PlatformBackend for WindowsBackend { async fn restore_hiddify_system_proxy(&self) -> Result<(), CoreError> { let persist = system_proxy::snapshot_path(&self.paths.user_data_dir); - system_proxy::restore(&persist).await + let config = self.config.read().await.clone(); + system_proxy::restore(&persist, &config.local_proxy_endpoints()).await } async fn core_process(&self) -> Result { diff --git a/crates/iran-split-platform-win/src/system_proxy.rs b/crates/iran-split-platform-win/src/system_proxy.rs index 7cd5577..ecaa7a8 100644 --- a/crates/iran-split-platform-win/src/system_proxy.rs +++ b/crates/iran-split-platform-win/src/system_proxy.rs @@ -1,4 +1,6 @@ -use iran_split_core::CoreError; +use iran_split_core::{ + proxy_endpoint_ready, proxy_restore_decision, CoreError, ProxyRestoreDecision, +}; use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; use tokio::process::Command; @@ -7,14 +9,19 @@ use tracing::info; /// `CREATE_NO_WINDOW`: `PowerShell` must not flash a console behind the UI. const CREATE_NO_WINDOW: u32 = 0x0800_0000; -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)] pub struct Snapshot { pub proxy_enable: u32, pub proxy_server: String, + #[serde(default)] + pub auto_config_url: Option, } #[must_use] pub fn points_at_hiddify(snapshot: &Snapshot, host: &str, port: u16) -> bool { + if !iran_split_core::proxy_host_is_loopback(host) { + return false; + } if snapshot.proxy_enable == 0 { return false; } @@ -41,7 +48,7 @@ pub async fn clear_if_hiddify( if !points_at_hiddify(&snapshot, host, port) { return Ok(None); } - write_snapshot(persist, &snapshot)?; + remember_first_snapshot(persist, &snapshot)?; apply_disabled().await?; info!( event = "system_proxy.cleared", @@ -54,41 +61,95 @@ pub async fn clear_if_hiddify( Ok(Some(snapshot)) } -/// Restores a previously cleared Hiddify system proxy. -/// -/// # Errors -/// -/// Returns a platform error when `PowerShell` cannot write the keys. -pub async fn restore(persist: &Path) -> Result<(), CoreError> { +/// Capture once before starting clients, including an originally disabled proxy. +/// A disabled baseline prevents a newly launched client from becoming the +/// apparent owner of the user's preexisting network settings. +pub async fn capture(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + if let Some(snapshot) = read_current().await? { + let baseline = if endpoints + .iter() + .any(|(host, port)| points_at_hiddify(&snapshot, host, *port)) + { + snapshot + } else { + Snapshot::default() + }; + write_snapshot(persist, &baseline)?; + info!( + event = "system_proxy.baseline_captured", + section = "system_proxy", + initiator = "platform_backend", + cause = "before_client_start", + trace_route = "connect->capture_system_proxy->snapshot", + "captured the original desktop proxy without logging its settings" + ); + } + } + Ok(()) +} + +pub fn saved_proxy_uses(persist: &Path, host: &str, port: u16) -> Result { + Ok(read_snapshot(persist)?.is_some_and(|snapshot| points_at_hiddify(&snapshot, host, port))) +} + +/// Restore after detaching the TUN, only if the saved local client is alive +/// and the settings are still in the state `BiFlow` left them. +pub async fn restore(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), CoreError> { let Some(snapshot) = read_snapshot(persist)? else { return Ok(()); }; - apply_snapshot(&snapshot).await?; - let _ = std::fs::remove_file(persist); + let mut managed = false; + let mut reachable = true; + for (host, port) in endpoints { + if points_at_hiddify(&snapshot, host, *port) { + managed = true; + reachable &= proxy_endpoint_ready(host, *port).await; + } + } + let current = read_current().await?; + let decision = proxy_restore_decision( + current + .as_ref() + .is_some_and(|current| unchanged_after_clear(&snapshot, current)), + managed, + reachable, + ); + if decision == ProxyRestoreDecision::Restore { + apply_snapshot(&snapshot).await?; + if read_current().await?.as_ref() != Some(&snapshot) { + return Err(CoreError::Platform( + "restored system proxy could not be verified".into(), + )); + } + } + std::fs::remove_file(persist) + .map_err(|_| CoreError::Platform("could not retire the saved system proxy".into()))?; info!( - event = "system_proxy.restored", + event = "system_proxy.handoff_completed", section = "system_proxy", - initiator = "windows_platform_backend", - cause = "resume", - trace_route = "engine->windows_platform_backend->system_proxy", - "restored the previous Hiddify system proxy" + initiator = "platform_backend", + cause = decision.cause(), + trace_route = "disconnect->restore_system_proxy->verify", + restored = decision == ProxyRestoreDecision::Restore, + "completed desktop proxy handoff without logging settings" ); Ok(()) } +fn unchanged_after_clear(original: &Snapshot, current: &Snapshot) -> bool { + current.proxy_enable == 0 + && current.proxy_server.is_empty() + && current.auto_config_url == original.auto_config_url +} + async fn read_current() -> Result, CoreError> { let output = powershell( - "$p = Get-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings'; Write-Output (\"$($p.ProxyEnable)|$($p.ProxyServer)\")", - ) - .await?; - let Some((enable, server)) = output.split_once('|') else { - return Ok(None); - }; - let proxy_enable = enable.trim().parse().unwrap_or(0); - Ok(Some(Snapshot { - proxy_enable, - proxy_server: server.trim().to_owned(), - })) + "$ErrorActionPreference = 'Stop'; $p = Get-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings'; @{proxy_enable=[int]$p.ProxyEnable;proxy_server=[string]$p.ProxyServer;auto_config_url=$p.AutoConfigURL} | ConvertTo-Json -Compress", + ).await?; + serde_json::from_str(&output) + .map(Some) + .map_err(|_| CoreError::Platform("could not decode the Windows system proxy".into())) } async fn apply_disabled() -> Result<(), CoreError> { @@ -107,7 +168,7 @@ async fn apply_snapshot(snapshot: &Snapshot) -> Result<(), CoreError> { fn write_script(enable: u32, server: &str) -> String { format!( - "Set-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings' -Name ProxyEnable -Value {enable}; Set-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings' -Name ProxyServer -Value '{server}'; Add-Type -TypeDefinition 'using System.Runtime.InteropServices; public class W {{ [DllImport(\"wininet.dll\")] public static extern bool InternetSetOption(System.IntPtr h, int o, System.IntPtr b, int l); }}'; [W]::InternetSetOption([IntPtr]::Zero, 39, [IntPtr]::Zero, 0) | Out-Null; [W]::InternetSetOption([IntPtr]::Zero, 37, [IntPtr]::Zero, 0) | Out-Null" + "$ErrorActionPreference = 'Stop'; Set-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings' -Name ProxyEnable -Value {enable}; Set-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings' -Name ProxyServer -Value '{server}'; Add-Type -TypeDefinition 'using System.Runtime.InteropServices; public class W {{ [DllImport(\"wininet.dll\")] public static extern bool InternetSetOption(System.IntPtr h, int o, System.IntPtr b, int l); }}'; [W]::InternetSetOption([IntPtr]::Zero, 39, [IntPtr]::Zero, 0) | Out-Null; [W]::InternetSetOption([IntPtr]::Zero, 37, [IntPtr]::Zero, 0) | Out-Null" ) } @@ -127,15 +188,32 @@ async fn powershell(script: &str) -> Result { } } -fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { - if let Some(parent) = path.parent() { - std::fs::create_dir_all(parent).map_err(|error| CoreError::Platform(error.to_string()))?; +fn remember_first_snapshot(persist: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + if read_snapshot(persist)?.is_none() { + write_snapshot(persist, snapshot)?; } - std::fs::write( - path, - serde_json::to_vec(snapshot).map_err(|error| CoreError::Platform(error.to_string()))?, - ) - .map_err(|error| CoreError::Platform(error.to_string())) + Ok(()) +} + +fn write_snapshot(path: &Path, snapshot: &Snapshot) -> Result<(), CoreError> { + use std::io::Write; + let parent = path + .parent() + .ok_or_else(|| CoreError::Platform("saved proxy has no parent directory".into()))?; + std::fs::create_dir_all(parent) + .map_err(|_| CoreError::Platform("could not prepare the saved proxy directory".into()))?; + let mut staged = tempfile::NamedTempFile::new_in(parent) + .map_err(|_| CoreError::Platform("could not stage the proxy baseline".into()))?; + let bytes = serde_json::to_vec(snapshot) + .map_err(|_| CoreError::Platform("could not encode the proxy baseline".into()))?; + staged + .write_all(&bytes) + .and_then(|()| staged.as_file().sync_all()) + .map_err(|_| CoreError::Platform("could not write the proxy baseline".into()))?; + staged + .persist(path) + .map_err(|_| CoreError::Platform("could not publish the proxy baseline".into()))?; + Ok(()) } fn read_snapshot(path: &Path) -> Result, CoreError> { @@ -152,10 +230,48 @@ fn read_snapshot(path: &Path) -> Result, CoreError> { mod tests { use super::*; + #[test] + fn restore_preserves_new_proxy_and_pac_choices() { + let original = Snapshot { + proxy_enable: 1, + proxy_server: "127.0.0.1:12334".into(), + auto_config_url: None, + }; + let mut disabled = Snapshot::default(); + assert!(unchanged_after_clear(&original, &disabled)); + disabled.auto_config_url = Some("https://proxy.corp.example/config.pac".into()); + assert!(!unchanged_after_clear(&original, &disabled)); + disabled = original.clone(); + disabled.proxy_server = "proxy.corp.example:8080".into(); + assert!(!unchanged_after_clear(&original, &disabled)); + } + + #[tokio::test] + async fn capture_before_start_cannot_be_overwritten_by_an_auto_started_client() { + let directory = tempfile::tempdir().unwrap(); + let persist = snapshot_path(directory.path()); + let original = Snapshot::default(); + remember_first_snapshot(&persist, &original).unwrap(); + let started = Snapshot { + proxy_enable: 1, + proxy_server: "127.0.0.1:12334".into(), + auto_config_url: None, + }; + remember_first_snapshot(&persist, &started).unwrap(); + capture(&persist, &[("127.0.0.1".into(), 12334)]) + .await + .unwrap(); + assert_eq!(read_snapshot(&persist).unwrap(), Some(original)); + assert!(!saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + write_snapshot(&persist, &started).unwrap(); + assert!(saved_proxy_uses(&persist, "127.0.0.1", 12334).unwrap()); + } + #[test] fn matches_enabled_hiddify_endpoint() { let snapshot = Snapshot { proxy_enable: 1, + auto_config_url: None, proxy_server: "127.0.0.1:12334".into(), }; assert!(points_at_hiddify(&snapshot, "127.0.0.1", 12334)); @@ -163,6 +279,7 @@ mod tests { assert!(points_at_hiddify( &Snapshot { proxy_enable: 1, + auto_config_url: None, proxy_server: "localhost:10808".into(), }, "127.0.0.1", @@ -175,6 +292,7 @@ mod tests { assert!(!points_at_hiddify( &Snapshot { proxy_enable: 0, + auto_config_url: None, proxy_server: "127.0.0.1:12334".into(), }, "127.0.0.1", @@ -183,6 +301,7 @@ mod tests { assert!(!points_at_hiddify( &Snapshot { proxy_enable: 1, + auto_config_url: None, proxy_server: "proxy.corp.example:8080".into(), }, "127.0.0.1", diff --git a/docs/adr/0132-return-user-proxy-on-disconnect.md b/docs/adr/0132-return-user-proxy-on-disconnect.md new file mode 100644 index 0000000..1207967 --- /dev/null +++ b/docs/adr/0132-return-user-proxy-on-disconnect.md @@ -0,0 +1,53 @@ +# ADR 0132: Return the original live local proxy after releasing owned routing + +Status: Accepted (6.2.83) + +## Context + +A Windows report showed internet access and HTTPS failing after Disconnect, +then working again after Connect. The saved baseline contained an enabled +Hiddify proxy. Disconnect removed the owned TUN and disabled the desktop proxy +but never returned that baseline. Network access that had depended on the +user's existing proxy therefore stayed disabled. This establishes a handoff +defect; it does not identify every earlier browser certificate error. + +ADR 0120 correctly requires removing a dead loopback proxy. Removing every +previously working proxy indefinitely is a different behavior. Also, restoring +on Resume would bypass the active TUN and break split routing (ADR 0062). + +## Decision + +- Capture the original managed proxy before starting any clients. Persist a + disabled marker when the original settings are not a managed local proxy, + so a client launched by BiFlow cannot become the apparent original owner. + Repeated clears retain the first baseline. Publish it atomically through a + private temporary file; keep the record if publication or restoration fails. +- On Pause, Disconnect, rollback, and startup reconciliation, first verify that + the owned capture is gone. Then restore the baseline only if its configured + loopback endpoints actually accept TCP connections and settings still match + the state left by BiFlow. Do not replace intervening proxy or PAC choices. + Never restore a proxy while the TUN is running. +- Leave a borrowed Hiddify client running when the baseline shows that the user + was already using it. The stop-with-stack option applies to clients owned by + BiFlow. Never re-enable a dead proxy or take ownership of a corporate server. +- Retire the baseline after a verified restore or a deliberate safe skip. + Restoration failures retain it for retry. Quit without taking over the + network must not clear an unrelated working user proxy. +- On macOS, clear only proxy kinds and network services pointing at the managed + endpoint; preserve other services' settings during the connected session. +- Emit structured baseline and handoff events without raw settings. Diagnostics + reports `saved_user_proxy_handoff_pending` for an idle stack with a saved + baseline and disabled system proxies. + +## Validation + +Core tests cover returning a user proxy after detaching capture, restoring on +Pause but clearing on Resume, cancellation/rollback, and unused Quit. Shared +policy tests cover live/dead sockets, concurrent edits, and unmanaged endpoints. +Each native backend tests baseline preservation and its settings comparison; +macOS also tests preserving an unrelated service. The existing primary-flow +e2e asserts connectivity after Pause and Disconnect. + +The user's current connection stays running during development. Build and CI +validation do not replace a live disconnect acceptance test with the new +installed version. No certificate-validation settings are weakened. diff --git a/docs/adr/README.md b/docs/adr/README.md index 08321f5..d658c0c 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -135,3 +135,4 @@ Keep this index current. Add a new ADR for each non-obvious change, or update th | [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Superseded | | [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | | [0131](./0131-verified-macos-install-and-relaunch.md) | Verify and replace the macOS bundle before scheduling a user relaunch | Accepted | +| [0132](./0132-return-user-proxy-on-disconnect.md) | Return the original live local proxy after releasing owned routing | Accepted | diff --git a/e2e/primary-flows.spec.ts b/e2e/primary-flows.spec.ts index 2e72ba5..4a2bf6e 100644 --- a/e2e/primary-flows.spec.ts +++ b/e2e/primary-flows.spec.ts @@ -165,6 +165,7 @@ test.describe("primary BiFlow flows", () => { page.getByRole("heading", { name: "Paused", exact: true }), ).toBeVisible(); await expect(page.getByRole("button", { name: "Resume" })).toBeVisible(); + await expect(statusBar).toContainText("Internet connected"); await page.getByRole("button", { name: "Resume" }).click(); await expect( page.getByRole("heading", { name: "Connected", exact: true }), diff --git a/package.json b/package.json index ab48fd8..8ce3a45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iran-split-desktop-workspace", - "version": "6.2.82", + "version": "6.2.83", "private": true, "packageManager": "pnpm@9.0.1", "engines": { diff --git a/src-tauri/src/environment/apps.rs b/src-tauri/src/environment/apps.rs index 6bcfbec..b585296 100644 --- a/src-tauri/src/environment/apps.rs +++ b/src-tauri/src/environment/apps.rs @@ -36,8 +36,8 @@ pub struct AppsInfo { pub mihomo: Option, pub openvpn: Option, pub side_tunnels: Vec, - /// `system-proxy-snapshot.json`: Pause cleared a Hiddify OS proxy and - /// will restore it on Resume. + /// A pending proxy baseline, captured before client startup and retired + /// after handing ordinary networking back on Pause/Disconnect. pub system_proxy_saved_by_pause: bool, } @@ -637,6 +637,10 @@ pub(super) fn app_findings( && phase_is(report, &[StackPhase::Paused, StackPhase::Stopped]) { findings.push("pause_cleared_hiddify_system_proxy".into()); + if !report.system_proxy.is_empty() && report.system_proxy.iter().all(|proxy| !proxy.enabled) + { + findings.push("saved_user_proxy_handoff_pending".into()); + } } } @@ -807,6 +811,31 @@ fn side_tunnel_findings(report: &EnvironmentReport, findings: &mut Vec) #[cfg(test)] mod tests { use super::*; + #[test] + fn disconnected_stack_exposes_a_proxy_baseline_not_handed_back() { + let mut report = EnvironmentReport::default(); + report.apps.system_proxy_saved_by_pause = true; + report.biflow.stack_phase = "stopped".into(); + report.system_proxy.push(super::super::ProxySetting { + source: "test".into(), + enabled: false, + scheme: None, + host: None, + port: None, + detail: None, + }); + let mut findings = Vec::new(); + app_findings(&report, None, &mut findings); + assert!(findings + .iter() + .any(|finding| finding == "saved_user_proxy_handoff_pending")); + report.apps.system_proxy_saved_by_pause = false; + findings.clear(); + app_findings(&report, None, &mut findings); + assert!(!findings + .iter() + .any(|finding| finding == "saved_user_proxy_handoff_pending")); + } #[test] fn redact_addresses_keeps_timestamps_and_classifies_ips() { diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index b22b01f..982a0ce 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "BiFlow", - "version": "6.2.82", + "version": "6.2.83", "identifier": "app.biflow.desktop", "build": { "beforeDevCommand": "pnpm bundle:check && pnpm --dir apps/desktop dev", diff --git a/version b/version index c7048a2..4159c5d 100644 --- a/version +++ b/version @@ -1 +1 @@ -6.2.82 +6.2.83 From ec96d538028f6af04c77721a308452ea24c6865a Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 12:35:40 +0330 Subject: [PATCH 6/7] fix: reuse the Linux proxy comparison buffer --- AGENTS.md | 4 ++++ crates/iran-split-platform-linux/src/system_proxy.rs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 4ab9181..72631c4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,10 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- Reuse an existing `String` with `clone_from` when comparing a normalized + Linux proxy snapshot. Its native Clippy cfg rejects assignment from `clone`, + which the Windows workspace check cannot see (ADR 0132). + - Clearing a user's already-enabled local proxy during Connect is temporary ownership, not permission to discard their working network after Disconnect. Capture before launching clients, retain that first baseline, and hand it back diff --git a/crates/iran-split-platform-linux/src/system_proxy.rs b/crates/iran-split-platform-linux/src/system_proxy.rs index edf7884..d830510 100644 --- a/crates/iran-split-platform-linux/src/system_proxy.rs +++ b/crates/iran-split-platform-linux/src/system_proxy.rs @@ -151,7 +151,7 @@ pub async fn restore(persist: &Path, endpoints: &[(String, u16)]) -> Result<(), fn unchanged_after_clear(original: &Snapshot, current: &Snapshot) -> bool { let mut disabled = original.clone(); - disabled.mode = current.mode.clone(); + disabled.mode.clone_from(¤t.mode); matches!(current.mode.as_str(), "none" | "0" | "") && current == &disabled } From cb32052fc937d5ca74056036189502c411bd89f2 Mon Sep 17 00:00:00 2001 From: Omid Rade-PC Date: Sat, 7 Nov 2026 13:15:16 +0330 Subject: [PATCH 7/7] fix: bound macOS disk image commands and stabilize native fixture --- AGENTS.md | 8 + Cargo.lock | 30 +- Cargo.toml | 2 +- apps/desktop/package.json | 2 +- ...131-verified-macos-install-and-relaunch.md | 11 + docs/adr/README.md | 268 +++++++++--------- package.json | 2 +- src-tauri/src/macos_update.rs | 130 ++++++--- src-tauri/tauri.conf.json | 2 +- version | 2 +- 10 files changed, 264 insertions(+), 193 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 72631c4..88d1fdc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,14 @@ If a required command fails or emits a warning from project code, fix it in the ## Lessons +- A native DMG fixture must select its filesystem and use a unique volume name; + do not depend on a runner's image-creation defaults. Preserve hdiutil exit + status and stderr in fixture assertions. A generic attach assertion hid the + upstream macOS failure while fork CI passed. Exercise the production attach + helper in that test; bound attach/detach and retain staging on an unconfirmed + detach rather than retrying arbitrary failures or deleting mounted paths + (ADR 0131, 6.2.84). + - Reuse an existing `String` with `clone_from` when comparing a normalized Linux proxy snapshot. Its native Clippy cfg rejects assignment from `clone`, which the Windows workspace check cannot see (ADR 0132). diff --git a/Cargo.lock b/Cargo.lock index a7c6bc1..31614c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2046,7 +2046,7 @@ dependencies = [ [[package]] name = "iran-split-cli" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2064,7 +2064,7 @@ dependencies = [ [[package]] name = "iran-split-clients" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "ipnet", @@ -2080,7 +2080,7 @@ dependencies = [ [[package]] name = "iran-split-config" -version = "6.2.83" +version = "6.2.84" dependencies = [ "hex", "rand 0.9.5", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "iran-split-core" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2110,7 +2110,7 @@ dependencies = [ [[package]] name = "iran-split-desktop" -version = "6.2.83" +version = "6.2.84" dependencies = [ "chrono", "dirs 6.0.0", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "iran-split-helper" -version = "6.2.83" +version = "6.2.84" dependencies = [ "clap", "hex", @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "iran-split-helper-winacl" -version = "6.2.83" +version = "6.2.84" dependencies = [ "tokio", "windows", @@ -2185,7 +2185,7 @@ dependencies = [ [[package]] name = "iran-split-ipc" -version = "6.2.83" +version = "6.2.84" dependencies = [ "bytes", "chrono", @@ -2198,7 +2198,7 @@ dependencies = [ [[package]] name = "iran-split-mihomo" -version = "6.2.83" +version = "6.2.84" dependencies = [ "chrono", "futures-util", @@ -2221,7 +2221,7 @@ dependencies = [ [[package]] name = "iran-split-netstats" -version = "6.2.83" +version = "6.2.84" dependencies = [ "libc", "tempfile", @@ -2230,7 +2230,7 @@ dependencies = [ [[package]] name = "iran-split-platform-linux" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2254,7 +2254,7 @@ dependencies = [ [[package]] name = "iran-split-platform-macos" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2278,7 +2278,7 @@ dependencies = [ [[package]] name = "iran-split-platform-win" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "iran-split-rules" -version = "6.2.83" +version = "6.2.84" dependencies = [ "async-trait", "chrono", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "iran-split-taskbar" -version = "6.2.83" +version = "6.2.84" dependencies = [ "iran-split-config", "objc2", diff --git a/Cargo.toml b/Cargo.toml index 5b0df98..bce8499 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "6.2.83" +version = "6.2.84" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.88" diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 5a51af8..335ca85 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@iran-split/desktop", - "version": "6.2.83", + "version": "6.2.84", "private": true, "type": "module", "scripts": { diff --git a/docs/adr/0131-verified-macos-install-and-relaunch.md b/docs/adr/0131-verified-macos-install-and-relaunch.md index 8356073..4d87e85 100644 --- a/docs/adr/0131-verified-macos-install-and-relaunch.md +++ b/docs/adr/0131-verified-macos-install-and-relaunch.md @@ -54,3 +54,14 @@ UI unit tests and the primary-flow e2e assert install/restarting rather than download-only completion. The real administrator prompt and signed release upgrade still require a physical Mac acceptance test; CI does not establish that those interactions occurred. + +Amendment (6.2.84): the upstream macOS job failed to attach its temporary +fixture while fork CI passed, and the assertion discarded the command error. +Create a uniquely named HFS+ fixture explicitly and include its exit status +and stderr in test failures. Run attachment through the same helper as the +installer. Bound attachment to 60 seconds and detachment to 20 seconds, killing +the command on timeout while preserving the existing mounted-directory cleanup +rule. Production diagnostics contain safe exit codes and operation classes; +raw paths and command stderr remain out of debug.log. A failed command is not +a successful mount, and failures are not hidden by whole-test retries. The +fixture detaches before asserting failures, including command execution errors. diff --git a/docs/adr/README.md b/docs/adr/README.md index d658c0c..c571d3c 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -2,137 +2,137 @@ Keep this index current. Add a new ADR for each non-obvious change, or update the existing ADR when the decision evolves. -| ID | Title | Status | -| -------------------------------------------------------------- | --------------------------------------------------------------------- | ---------- | -| [0001](./0001-record-architecture-decisions.md) | Record architecture decisions | Accepted | -| [0002](./0002-single-source-version.md) | Single-source application version | Accepted | -| [0003](./0003-testing-strategy.md) | Unit and e2e testing strategy | Accepted | -| [0004](./0004-in-app-third-party-install.md) | In-app Hiddify and Mihomo install | Accepted | -| [0005](./0005-cloud-rule-fail-safe.md) | Fail-safe Iran rule updates | Superseded | -| [0006](./0006-linux-windows-packages.md) | Linux and Windows release packages | Accepted | -| [0007](./0007-done-gate-builds.md) | Build-and-test done gate | Accepted | -| [0008](./0008-tauri-async-runtime.md) | Explicit Tauri async runtime | Accepted | -| [0009](./0009-user-facing-readme.md) | User-facing README | Accepted | -| [0010](./0010-runtime-observability.md) | Runtime and network observability | Accepted | -| [0011](./0011-logo-derived-palette.md) | Logo-derived palette | Accepted | -| [0012](./0012-tag-releases-and-deny.md) | Atomic tag releases and deny policy | Accepted | -| [0013](./0013-session-debug-log.md) | Permanent structured debug log | Accepted | -| [0014](./0014-windows-ci-line-endings.md) | Windows CI line endings and fsync | Accepted | -| [0015](./0015-dev-helper-noexec-run.md) | Dev helper binaries off noexec /run | Accepted | -| [0016](./0016-mihomo-relative-rule-paths.md) | Mihomo relative rule-provider paths | Accepted | -| [0017](./0017-empty-custom-providers-ready.md) | Empty custom providers are ready | Accepted | -| [0018](./0018-hiddify-egress-before-tun.md) | Probe Hiddify egress before TUN | Accepted | -| [0019](./0019-clippy-cfg-tail-expressions.md) | Clippy cfg tail expressions | Accepted | -| [0020](./0020-native-linux-windows-ci.md) | Native Linux and Windows CI | Accepted | -| [0021](./0021-shared-build-contract.md) | Shared local/GitHub build contract | Accepted | -| [0022](./0022-biflow-owned-rules.md) | BiFlow-owned rule distribution | Accepted | -| [0023](./0023-basic-mode-persistence.md) | Basic mode UI persistence | Accepted | -| [0024](./0024-signed-github-release-updater.md) | Signed GitHub Release updater | Superseded | -| [0025](./0025-paused-lifecycle.md) | Paused lifecycle and Hiddify keep | Accepted | -| [0026](./0026-linux-webkit-blank-view.md) | Linux WebKit blank-view workaround | Accepted | -| [0027](./0027-windows-debug-log-clear.md) | Windows debug.log clear and tests | Accepted | -| [0028](./0028-embedded-windows-rules.md) | Embedded Iran rules for portable Windows | Accepted | -| [0029](./0029-packaged-helper-install.md) | Packaged privileged helper install | Accepted | -| [0030](./0030-no-background-console.md) | No background console or terminal | Accepted | -| [0031](./0031-local-github-actions-mirror.md) | Local GitHub Actions mirror | Accepted | -| [0032](./0032-fresh-hiddify-start.md) | Fresh Hiddify start | Accepted | -| [0033](./0033-windows-platform-backend.md) | Windows platform backend | Accepted | -| [0034](./0034-bidirectional-route-pins.md) | Bidirectional route pins | Accepted | -| [0035](./0035-windows-reveal-and-helper-install.md) | Windows debug.log reveal and helper install | Accepted | -| [0036](./0036-windows-helper-task-xml.md) | Windows helper scheduled task XML | Accepted | -| [0037](./0037-windows-mihomo-controller-reachability.md) | Windows Mihomo controller reachability | Accepted | -| [0038](./0038-windows-tun-readiness.md) | Windows TUN readiness and clash alignment | Accepted | -| [0039](./0039-complete-update-channels.md) | Complete update channels | Accepted | -| [0040](./0040-reliable-update-check.md) | Reliable update check | Superseded | -| [0041](./0041-reliable-cloud-rule-sync.md) | Reliable cloud rule sync | Accepted | -| [0042](./0042-responsive-bottom-nav.md) | Responsive bottom navigation | Accepted | -| [0043](./0043-persistent-traffic-totals.md) | Persistent traffic totals | Superseded | -| [0044](./0044-connect-installs-dependencies.md) | Connect installs required services | Accepted | -| [0045](./0045-square-connection-glow.md) | Square connection glow | Accepted | -| [0046](./0046-persist-window-size.md) | Persist window size | Accepted | -| [0047](./0047-three-viewport-layouts.md) | Three representative viewport layouts | Accepted | -| [0048](./0048-input-context-menu.md) | Input context menu | Accepted | -| [0049](./0049-state-aware-tray-menu.md) | State-aware tray menu | Accepted | -| [0050](./0050-connection-operation-lock.md) | Connection operation lock | Accepted | -| [0051](./0051-button-icons.md) | Icons on every button | Accepted | -| [0052](./0052-in-button-connection-progress.md) | In-button connection progress | Accepted | -| [0053](./0053-connect-button-glow.md) | Connect button availability glow | Accepted | -| [0054](./0054-curated-iranian-business-domains.md) | Curated Iranian business domains | Accepted | -| [0055](./0055-clear-hiddify-system-proxy.md) | Clear Hiddify system proxy on pause/stop | Accepted | -| [0056](./0056-live-mihomo-connections.md) | Live Mihomo connections in Diagnostics | Accepted | -| [0057](./0057-github-releases-in-app-update.md) | GitHub Releases in-app update | Accepted | -| [0058](./0058-direct-domain-nameserver-policy.md) | DIRECT domain nameserver policy | Accepted | -| [0059](./0059-user-selected-direct-dns.md) | User-selected DIRECT DNS resolvers | Accepted | -| [0060](./0060-fake-ip-default-direct-dns.md) | Fake-ip is the default DIRECT DNS | Accepted | -| [0061](./0061-direct-domains-always-skip-fake-ip.md) | DIRECT domains always skip fake-ip | Accepted | -| [0062](./0062-no-hiddify-system-proxy-while-running.md) | No Hiddify system proxy while running | Accepted | -| [0063](./0063-reject-quic-toward-vpn.md) | Reject QUIC toward the VPN | Accepted | -| [0064](./0064-windows-machine-wide-helper-staging.md) | Windows machine-wide helper staging | Accepted | -| [0065](./0065-linux-vpn-doh-and-egress-probe.md) | Linux VPN DoH and multi-path egress probe | Accepted | -| [0066](./0066-reachability-diagnostics.md) | Reachability section in Diagnostics | Accepted | -| [0067](./0067-owned-side-tunnel-invariants.md) | OwnedSideTunnel invariants | Accepted | -| [0068](./0068-client-registry-and-egress-kinds.md) | Client registry and egress kinds | Accepted | -| [0069](./0069-named-rule-lists.md) | Named rule lists | Accepted | -| [0070](./0070-fail-closed-rule-level.md) | Rule-level fail-closed | Accepted | -| [0071](./0071-exact-subdomain-pins.md) | Exact subdomain pins, longest match wins | Accepted | -| [0072](./0072-side-tunnel-profile-picker.md) | Native profile picker for side-tunnel files | Accepted | -| [0073](./0073-pending-mihomo-settings-apply.md) | Pending Mihomo apply after live settings | Accepted | -| [0074](./0074-happ-discovery-and-hidden-google.md) | Happ discovery and hidden Google hosts | Accepted | -| [0075](./0075-windscribe-openvpn-download.md) | Windscribe also offers the OpenVPN installer | Accepted | -| [0076](./0076-local-proxy-live-recovery.md) | Live recovery of local-proxy clients | Accepted | -| [0077](./0077-multi-client-primary-and-hiddify-requirement.md) | Multi-client primaries and Hiddify requirement | Accepted | -| [0078](./0078-fast-connect-and-egress-watchdog.md) | Fast Connect and primary-egress watchdog | Accepted | -| [0079](./0079-side-tunnel-helper-ipc-timeout.md) | Side-tunnel helper IPC timeout | Accepted | -| [0080](./0080-dev-profile-mihomo-isolation.md) | Dev-profile Mihomo isolation | Accepted | -| [0081](./0081-live-connections-survive-route-apply.md) | Live connections survive a route apply | Accepted | -| [0082](./0082-enabled-client-pins-keep-group.md) | Enabled-client pins keep the client group | Accepted | -| [0083](./0083-pin-apply-hot-reloads-mihomo.md) | Pin apply hot-reloads Mihomo | Accepted | -| [0084](./0084-curated-iranian-cdn-isp-cidrs.md) | Curated Iranian CDN/ISP CIDRs | Accepted | -| [0085](./0085-tehran-index-company-directory.md) | Tehran Index company directory harvest | Accepted | -| [0086](./0086-google-search-companion-pins.md) | Google Search companion pins | Accepted | -| [0087](./0087-windows-powershell-builder.md) | Native PowerShell Windows builder | Accepted | -| [0088](./0088-windows-helper-config-retry.md) | Retry locked Windows helper config writes | Accepted | -| [0089](./0089-windows-helper-unique-config.md) | Use a unique config for locked helper files | Accepted | -| [0090](./0090-skip-identical-locked-windows-payloads.md) | Skip identical locked Windows payloads | Accepted | -| [0091](./0091-faster-connect-and-visible-failures.md) | Faster Connect and visible failure reasons | Accepted | -| [0092](./0092-windscribe-openvpn-conflict-filters.md) | Windscribe OpenVPN must not take the system route | Accepted | -| [0093](./0093-windscribe-resolve-and-manual-connect.md) | Resolve Windscribe through Hiddify, then connect it by hand | Accepted | -| [0094](./0094-remember-side-tunnel-address.md) | Remember a side-tunnel address without editing the profile | Accepted | -| [0095](./0095-package-helper-lifecycle.md) | Preserve Helper identity across package upgrades | Accepted | -| [0096](./0096-client-removal-compensation.md) | Compensate client removal when route updates fail | Accepted | -| [0097](./0097-rules-publish-before-memory.md) | Publish rule documents before replacing in-memory state | Accepted | -| [0098](./0098-signed-exact-release-updates.md) | Require exact signed packages before pausing connectivity | Accepted | -| [0099](./0099-openvpn-dco-and-card-errors.md) | OpenVPN 2.7 uses ovpn-dco, and client errors stay on the card | Accepted | -| [0100](./0100-reset-connections-on-default-route.md) | Reset live connections when the default route reloads | Accepted | -| [0101](./0101-live-match-log-and-one-local-proxy-start.md) | Log the live MATCH and start every local proxy the same way | Accepted | -| [0102](./0102-live-match-is-the-ui.md) | The UI shows the live MATCH rule | Accepted | -| [0103](./0103-ubuntu-2204-packages.md) | Ubuntu 22.04 is built beside Ubuntu 24.04 | Accepted | -| [0104](./0104-tap-route-needs-gateway.md) | A TAP side tunnel needs the OpenVPN gateway | Accepted | -| [0105](./0105-egress-probe.md) | Probe side-tunnel egress and replace an on-link TAP route | Accepted | -| [0106](./0106-drop-legacy-ncp-ciphers.md) | Drop legacy cipher negotiation before starting OpenVPN | Accepted | -| [0107](./0107-distinct-desktop-cargo-artifacts.md) | Give desktop binary and library distinct Cargo artifact names | Accepted | -| [0108](./0108-windows-loopback-and-kubectl-bypass.md) | Exclude Windows loopback from TUN routes | Accepted | -| [0109](./0109-application-routes-in-list-management.md) | Route running applications from List Management | Accepted | -| [0110](./0110-environment-snapshot.md) | Log a host environment snapshot in every debug.log | Accepted | -| [0111](./0111-traffic-overhead-and-staged-reload.md) | Count user traffic once, reload from the staged copy, bound staging | Accepted | -| [0112](./0112-windows-tun-keeps-ipv6.md) | Windows TUN keeps IPv6 so strict-route does not block ::1 | Accepted | -| [0113](./0113-five-sections-with-tabs.md) | Five sections with tabs, and site routing on Home | Accepted | -| [0114](./0114-macos-helper-security-and-dns-recovery.md) | Authorize Unix helper peers and preserve macOS DNS recovery | Accepted | -| [0115](./0115-resolved-runtime-profile.md) | One resolved runtime profile owns profile-dependent resources | Accepted | -| [0116](./0116-windows-taskbar-speed.md) | Native Windows 11 taskbar rates from corrected session counters | Accepted | -| [0117](./0117-physical-interface-taskbar.md) | Complete physical adapter throughput in a compact tray-side widget | Accepted | -| [0118](./0118-ubuntu-panel-speed.md) | Physical adapter speeds beside the Ubuntu tray icon | Accepted | -| [0119](./0119-speed-display-settings.md) | Dedicated speed display settings and units | Accepted | -| [0120](./0120-release-network-on-quit.md) | Release the tunnel, DNS, and system proxy when BiFlow is not in use | Accepted | -| [0121](./0121-restore-dns-without-loopback.md) | Restore macOS DNS without writing the tunnel resolver back | Accepted | -| [0122](./0122-macos-menu-bar-speed.md) | Stacked fixed-width menu bar speeds with the icon hidden | Accepted | -| [0123](./0123-publish-macos-release.md) | Publish the macOS disk image when the version reaches main | Accepted | -| [0124](./0124-pr-validation-and-safe-archives.md) | Cross-platform PR validation and safe archive dependencies | Accepted | -| [0125](./0125-native-release-bootstrap.md) | Native release bootstrap on macOS and Windows | Accepted | -| [0126](./0126-macos-updater-platform.md) | Publish the Apple Silicon disk image as an updater platform | Accepted | -| [0127](./0127-macos-update-relaunch.md) | Relaunch the replaced macOS app after the old process exits | Superseded | -| [0128](./0128-macos-drag-install.md) | macOS disk image is a drag-to-Applications install | Accepted | -| [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Superseded | -| [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | -| [0131](./0131-verified-macos-install-and-relaunch.md) | Verify and replace the macOS bundle before scheduling a user relaunch | Accepted | -| [0132](./0132-return-user-proxy-on-disconnect.md) | Return the original live local proxy after releasing owned routing | Accepted | +| ID | Title | Status | +| -------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- | +| [0001](./0001-record-architecture-decisions.md) | Record architecture decisions | Accepted | +| [0002](./0002-single-source-version.md) | Single-source application version | Accepted | +| [0003](./0003-testing-strategy.md) | Unit and e2e testing strategy | Accepted | +| [0004](./0004-in-app-third-party-install.md) | In-app Hiddify and Mihomo install | Accepted | +| [0005](./0005-cloud-rule-fail-safe.md) | Fail-safe Iran rule updates | Superseded | +| [0006](./0006-linux-windows-packages.md) | Linux and Windows release packages | Accepted | +| [0007](./0007-done-gate-builds.md) | Build-and-test done gate | Accepted | +| [0008](./0008-tauri-async-runtime.md) | Explicit Tauri async runtime | Accepted | +| [0009](./0009-user-facing-readme.md) | User-facing README | Accepted | +| [0010](./0010-runtime-observability.md) | Runtime and network observability | Accepted | +| [0011](./0011-logo-derived-palette.md) | Logo-derived palette | Accepted | +| [0012](./0012-tag-releases-and-deny.md) | Atomic tag releases and deny policy | Accepted | +| [0013](./0013-session-debug-log.md) | Permanent structured debug log | Accepted | +| [0014](./0014-windows-ci-line-endings.md) | Windows CI line endings and fsync | Accepted | +| [0015](./0015-dev-helper-noexec-run.md) | Dev helper binaries off noexec /run | Accepted | +| [0016](./0016-mihomo-relative-rule-paths.md) | Mihomo relative rule-provider paths | Accepted | +| [0017](./0017-empty-custom-providers-ready.md) | Empty custom providers are ready | Accepted | +| [0018](./0018-hiddify-egress-before-tun.md) | Probe Hiddify egress before TUN | Accepted | +| [0019](./0019-clippy-cfg-tail-expressions.md) | Clippy cfg tail expressions | Accepted | +| [0020](./0020-native-linux-windows-ci.md) | Native Linux and Windows CI | Accepted | +| [0021](./0021-shared-build-contract.md) | Shared local/GitHub build contract | Accepted | +| [0022](./0022-biflow-owned-rules.md) | BiFlow-owned rule distribution | Accepted | +| [0023](./0023-basic-mode-persistence.md) | Basic mode UI persistence | Accepted | +| [0024](./0024-signed-github-release-updater.md) | Signed GitHub Release updater | Superseded | +| [0025](./0025-paused-lifecycle.md) | Paused lifecycle and Hiddify keep | Accepted | +| [0026](./0026-linux-webkit-blank-view.md) | Linux WebKit blank-view workaround | Accepted | +| [0027](./0027-windows-debug-log-clear.md) | Windows debug.log clear and tests | Accepted | +| [0028](./0028-embedded-windows-rules.md) | Embedded Iran rules for portable Windows | Accepted | +| [0029](./0029-packaged-helper-install.md) | Packaged privileged helper install | Accepted | +| [0030](./0030-no-background-console.md) | No background console or terminal | Accepted | +| [0031](./0031-local-github-actions-mirror.md) | Local GitHub Actions mirror | Accepted | +| [0032](./0032-fresh-hiddify-start.md) | Fresh Hiddify start | Accepted | +| [0033](./0033-windows-platform-backend.md) | Windows platform backend | Accepted | +| [0034](./0034-bidirectional-route-pins.md) | Bidirectional route pins | Accepted | +| [0035](./0035-windows-reveal-and-helper-install.md) | Windows debug.log reveal and helper install | Accepted | +| [0036](./0036-windows-helper-task-xml.md) | Windows helper scheduled task XML | Accepted | +| [0037](./0037-windows-mihomo-controller-reachability.md) | Windows Mihomo controller reachability | Accepted | +| [0038](./0038-windows-tun-readiness.md) | Windows TUN readiness and clash alignment | Accepted | +| [0039](./0039-complete-update-channels.md) | Complete update channels | Accepted | +| [0040](./0040-reliable-update-check.md) | Reliable update check | Superseded | +| [0041](./0041-reliable-cloud-rule-sync.md) | Reliable cloud rule sync | Accepted | +| [0042](./0042-responsive-bottom-nav.md) | Responsive bottom navigation | Accepted | +| [0043](./0043-persistent-traffic-totals.md) | Persistent traffic totals | Superseded | +| [0044](./0044-connect-installs-dependencies.md) | Connect installs required services | Accepted | +| [0045](./0045-square-connection-glow.md) | Square connection glow | Accepted | +| [0046](./0046-persist-window-size.md) | Persist window size | Accepted | +| [0047](./0047-three-viewport-layouts.md) | Three representative viewport layouts | Accepted | +| [0048](./0048-input-context-menu.md) | Input context menu | Accepted | +| [0049](./0049-state-aware-tray-menu.md) | State-aware tray menu | Accepted | +| [0050](./0050-connection-operation-lock.md) | Connection operation lock | Accepted | +| [0051](./0051-button-icons.md) | Icons on every button | Accepted | +| [0052](./0052-in-button-connection-progress.md) | In-button connection progress | Accepted | +| [0053](./0053-connect-button-glow.md) | Connect button availability glow | Accepted | +| [0054](./0054-curated-iranian-business-domains.md) | Curated Iranian business domains | Accepted | +| [0055](./0055-clear-hiddify-system-proxy.md) | Clear Hiddify system proxy on pause/stop | Accepted | +| [0056](./0056-live-mihomo-connections.md) | Live Mihomo connections in Diagnostics | Accepted | +| [0057](./0057-github-releases-in-app-update.md) | GitHub Releases in-app update | Accepted | +| [0058](./0058-direct-domain-nameserver-policy.md) | DIRECT domain nameserver policy | Accepted | +| [0059](./0059-user-selected-direct-dns.md) | User-selected DIRECT DNS resolvers | Accepted | +| [0060](./0060-fake-ip-default-direct-dns.md) | Fake-ip is the default DIRECT DNS | Accepted | +| [0061](./0061-direct-domains-always-skip-fake-ip.md) | DIRECT domains always skip fake-ip | Accepted | +| [0062](./0062-no-hiddify-system-proxy-while-running.md) | No Hiddify system proxy while running | Accepted | +| [0063](./0063-reject-quic-toward-vpn.md) | Reject QUIC toward the VPN | Accepted | +| [0064](./0064-windows-machine-wide-helper-staging.md) | Windows machine-wide helper staging | Accepted | +| [0065](./0065-linux-vpn-doh-and-egress-probe.md) | Linux VPN DoH and multi-path egress probe | Accepted | +| [0066](./0066-reachability-diagnostics.md) | Reachability section in Diagnostics | Accepted | +| [0067](./0067-owned-side-tunnel-invariants.md) | OwnedSideTunnel invariants | Accepted | +| [0068](./0068-client-registry-and-egress-kinds.md) | Client registry and egress kinds | Accepted | +| [0069](./0069-named-rule-lists.md) | Named rule lists | Accepted | +| [0070](./0070-fail-closed-rule-level.md) | Rule-level fail-closed | Accepted | +| [0071](./0071-exact-subdomain-pins.md) | Exact subdomain pins, longest match wins | Accepted | +| [0072](./0072-side-tunnel-profile-picker.md) | Native profile picker for side-tunnel files | Accepted | +| [0073](./0073-pending-mihomo-settings-apply.md) | Pending Mihomo apply after live settings | Accepted | +| [0074](./0074-happ-discovery-and-hidden-google.md) | Happ discovery and hidden Google hosts | Accepted | +| [0075](./0075-windscribe-openvpn-download.md) | Windscribe also offers the OpenVPN installer | Accepted | +| [0076](./0076-local-proxy-live-recovery.md) | Live recovery of local-proxy clients | Accepted | +| [0077](./0077-multi-client-primary-and-hiddify-requirement.md) | Multi-client primaries and Hiddify requirement | Accepted | +| [0078](./0078-fast-connect-and-egress-watchdog.md) | Fast Connect and primary-egress watchdog | Accepted | +| [0079](./0079-side-tunnel-helper-ipc-timeout.md) | Side-tunnel helper IPC timeout | Accepted | +| [0080](./0080-dev-profile-mihomo-isolation.md) | Dev-profile Mihomo isolation | Accepted | +| [0081](./0081-live-connections-survive-route-apply.md) | Live connections survive a route apply | Accepted | +| [0082](./0082-enabled-client-pins-keep-group.md) | Enabled-client pins keep the client group | Accepted | +| [0083](./0083-pin-apply-hot-reloads-mihomo.md) | Pin apply hot-reloads Mihomo | Accepted | +| [0084](./0084-curated-iranian-cdn-isp-cidrs.md) | Curated Iranian CDN/ISP CIDRs | Accepted | +| [0085](./0085-tehran-index-company-directory.md) | Tehran Index company directory harvest | Accepted | +| [0086](./0086-google-search-companion-pins.md) | Google Search companion pins | Accepted | +| [0087](./0087-windows-powershell-builder.md) | Native PowerShell Windows builder | Accepted | +| [0088](./0088-windows-helper-config-retry.md) | Retry locked Windows helper config writes | Accepted | +| [0089](./0089-windows-helper-unique-config.md) | Use a unique config for locked helper files | Accepted | +| [0090](./0090-skip-identical-locked-windows-payloads.md) | Skip identical locked Windows payloads | Accepted | +| [0091](./0091-faster-connect-and-visible-failures.md) | Faster Connect and visible failure reasons | Accepted | +| [0092](./0092-windscribe-openvpn-conflict-filters.md) | Windscribe OpenVPN must not take the system route | Accepted | +| [0093](./0093-windscribe-resolve-and-manual-connect.md) | Resolve Windscribe through Hiddify, then connect it by hand | Accepted | +| [0094](./0094-remember-side-tunnel-address.md) | Remember a side-tunnel address without editing the profile | Accepted | +| [0095](./0095-package-helper-lifecycle.md) | Preserve Helper identity across package upgrades | Accepted | +| [0096](./0096-client-removal-compensation.md) | Compensate client removal when route updates fail | Accepted | +| [0097](./0097-rules-publish-before-memory.md) | Publish rule documents before replacing in-memory state | Accepted | +| [0098](./0098-signed-exact-release-updates.md) | Require exact signed packages before pausing connectivity | Accepted | +| [0099](./0099-openvpn-dco-and-card-errors.md) | OpenVPN 2.7 uses ovpn-dco, and client errors stay on the card | Accepted | +| [0100](./0100-reset-connections-on-default-route.md) | Reset live connections when the default route reloads | Accepted | +| [0101](./0101-live-match-log-and-one-local-proxy-start.md) | Log the live MATCH and start every local proxy the same way | Accepted | +| [0102](./0102-live-match-is-the-ui.md) | The UI shows the live MATCH rule | Accepted | +| [0103](./0103-ubuntu-2204-packages.md) | Ubuntu 22.04 is built beside Ubuntu 24.04 | Accepted | +| [0104](./0104-tap-route-needs-gateway.md) | A TAP side tunnel needs the OpenVPN gateway | Accepted | +| [0105](./0105-egress-probe.md) | Probe side-tunnel egress and replace an on-link TAP route | Accepted | +| [0106](./0106-drop-legacy-ncp-ciphers.md) | Drop legacy cipher negotiation before starting OpenVPN | Accepted | +| [0107](./0107-distinct-desktop-cargo-artifacts.md) | Give desktop binary and library distinct Cargo artifact names | Accepted | +| [0108](./0108-windows-loopback-and-kubectl-bypass.md) | Exclude Windows loopback from TUN routes | Accepted | +| [0109](./0109-application-routes-in-list-management.md) | Route running applications from List Management | Accepted | +| [0110](./0110-environment-snapshot.md) | Log a host environment snapshot in every debug.log | Accepted | +| [0111](./0111-traffic-overhead-and-staged-reload.md) | Count user traffic once, reload from the staged copy, bound staging | Accepted | +| [0112](./0112-windows-tun-keeps-ipv6.md) | Windows TUN keeps IPv6 so strict-route does not block ::1 | Accepted | +| [0113](./0113-five-sections-with-tabs.md) | Five sections with tabs, and site routing on Home | Accepted | +| [0114](./0114-macos-helper-security-and-dns-recovery.md) | Authorize Unix helper peers and preserve macOS DNS recovery | Accepted | +| [0115](./0115-resolved-runtime-profile.md) | One resolved runtime profile owns profile-dependent resources | Accepted | +| [0116](./0116-windows-taskbar-speed.md) | Native Windows 11 taskbar rates from corrected session counters | Accepted | +| [0117](./0117-physical-interface-taskbar.md) | Complete physical adapter throughput in a compact tray-side widget | Accepted | +| [0118](./0118-ubuntu-panel-speed.md) | Physical adapter speeds beside the Ubuntu tray icon | Accepted | +| [0119](./0119-speed-display-settings.md) | Dedicated speed display settings and units | Accepted | +| [0120](./0120-release-network-on-quit.md) | Release the tunnel, DNS, and system proxy when BiFlow is not in use | Accepted | +| [0121](./0121-restore-dns-without-loopback.md) | Restore macOS DNS without writing the tunnel resolver back | Accepted | +| [0122](./0122-macos-menu-bar-speed.md) | Stacked fixed-width menu bar speeds with the icon hidden | Accepted | +| [0123](./0123-publish-macos-release.md) | Publish the macOS disk image when the version reaches main | Accepted | +| [0124](./0124-pr-validation-and-safe-archives.md) | Cross-platform PR validation and safe archive dependencies | Accepted | +| [0125](./0125-native-release-bootstrap.md) | Native release bootstrap on macOS and Windows | Accepted | +| [0126](./0126-macos-updater-platform.md) | Publish the Apple Silicon disk image as an updater platform | Accepted | +| [0127](./0127-macos-update-relaunch.md) | Relaunch the replaced macOS app after the old process exits | Superseded | +| [0128](./0128-macos-drag-install.md) | macOS disk image is a drag-to-Applications install | Accepted | +| [0129](./0129-macos-update-downloads-only.md) | macOS update downloads a disk image and does not restart | Superseded | +| [0130](./0130-resume-recovery-and-serialized-quit.md) | Recover after unlock and serialize network release on Quit | Accepted | +| [0131](./0131-verified-macos-install-and-relaunch.md) | Install and verify macOS updates before a user relaunch | Accepted | +| [0132](./0132-return-user-proxy-on-disconnect.md) | Return the original live proxy after Disconnect | Accepted | diff --git a/package.json b/package.json index 8ce3a45..e86bd13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iran-split-desktop-workspace", - "version": "6.2.83", + "version": "6.2.84", "private": true, "packageManager": "pnpm@9.0.1", "engines": { diff --git a/src-tauri/src/macos_update.rs b/src-tauri/src/macos_update.rs index bc76b83..c47ce6c 100644 --- a/src-tauri/src/macos_update.rs +++ b/src-tauri/src/macos_update.rs @@ -2,6 +2,7 @@ use crate::helper_install::macos_shell_quote; use std::path::{Path, PathBuf}; +use std::time::Duration; #[cfg(target_os = "macos")] use tracing::{info, warn}; @@ -126,25 +127,22 @@ pub async fn install( trace_route = "update->hdiutil->install_bundle", "mounting verified update image" ); - let attached = tokio::process::Command::new("/usr/bin/hdiutil") - .args([ - "attach", - "-readonly", - "-nobrowse", - "-noautoopen", - "-mountpoint", - ]) - .arg(&mount) - .arg(package) - .output() - .await; + let attached = attach_image(package, &mount).await; // Even an attach failure can leave a mounted device. Never recursively // remove the mount root unless detach has positively succeeded. let result = match attached { Ok(output) if output.status.success() => { replace_bundle(&directory, &mount.join("BiFlow.app"), &target, version).await } - _ => Err("could not mount the verified update disk image".into()), + failure => { + warn!(trace_id = %trace_id, event = "update.dmg_mount_failed", + section = "updates", initiator = "install_update", + cause = if failure.is_err() { "attach_execution_failed" } else { "attach_rejected" }, + exit_code = failure.ok().and_then(|output| output.status.code()), + trace_route = "update->hdiutil->attach", + "could not attach the verified disk image"); + Err("could not mount the verified update disk image".into()) + } }; cleanup_mount(&directory, &mount, trace_id).await; result?; @@ -152,12 +150,36 @@ pub async fn install( } #[cfg(target_os = "macos")] -async fn cleanup_mount(directory: &Path, mount: &Path, trace_id: uuid::Uuid) { - let detached = tokio::process::Command::new("/usr/bin/hdiutil") - .arg("detach") +async fn attach_image(package: &Path, mount: &Path) -> std::io::Result { + let mut command = tokio::process::Command::new("/usr/bin/hdiutil"); + command + .args([ + "attach", + "-readonly", + "-nobrowse", + "-noautoopen", + "-mountpoint", + ]) .arg(mount) - .output() - .await; + .arg(package) + .kill_on_drop(true); + disk_command(command.output(), Duration::from_secs(60)).await +} + +async fn disk_command( + command: impl std::future::Future>, + budget: Duration, +) -> std::io::Result { + tokio::time::timeout(budget, command).await.map_err(|_| { + std::io::Error::new(std::io::ErrorKind::TimedOut, "disk image command timed out") + })? +} + +#[cfg(target_os = "macos")] +async fn cleanup_mount(directory: &Path, mount: &Path, trace_id: uuid::Uuid) { + let mut command = tokio::process::Command::new("/usr/bin/hdiutil"); + command.arg("detach").arg(mount).kill_on_drop(true); + let detached = disk_command(command.output(), Duration::from_secs(20)).await; if detached.is_ok_and(|output| output.status.success()) { if std::fs::remove_dir_all(directory).is_err() { warn!(trace_id = %trace_id, event = "update.staging_cleanup_failed", @@ -231,6 +253,31 @@ async fn replace_bundle( mod tests { use super::*; + #[tokio::test] + async fn disk_command_preserves_failures_and_bounds_a_stalled_operation() { + let result = disk_command( + async { Ok::<_, std::io::Error>(42) }, + Duration::from_secs(1), + ) + .await; + assert_eq!(result.unwrap(), 42); + let refused = disk_command( + async { Err::<(), _>(std::io::Error::from(std::io::ErrorKind::PermissionDenied)) }, + Duration::from_secs(1), + ) + .await; + assert_eq!( + refused.unwrap_err().kind(), + std::io::ErrorKind::PermissionDenied + ); + let stalled = disk_command( + std::future::pending::>(), + Duration::ZERO, + ) + .await; + assert_eq!(stalled.unwrap_err().kind(), std::io::ErrorKind::TimedOut); + } + #[test] fn installed_location_is_preserved_but_disk_images_are_not_destinations() { for (executable, expected) in [ @@ -343,50 +390,55 @@ mod tests { std::fs::create_dir(&payload).unwrap(); bundle(&payload, "BiFlow.app", "6.2.82"); let image = fixtures.path().join("update.dmg"); + let volume_name = format!("BiFlow-test-{}", uuid::Uuid::new_v4()); let created = std::process::Command::new("/usr/bin/hdiutil") - .args(["create", "-format", "UDZO", "-srcfolder"]) + .args([ + "create", + "-fs", + "HFS+", + "-volname", + &volume_name, + "-format", + "UDZO", + "-srcfolder", + ]) .arg(&payload) .arg(&image) .output() .unwrap(); assert!( created.status.success(), - "fixture disk image creation failed" + "fixture disk image creation failed: status={:?}, stderr={}", + created.status.code(), + String::from_utf8_lossy(&created.stderr) ); let staging = tempfile::tempdir().unwrap().keep(); let mount = staging.join("image"); std::fs::create_dir(&mount).unwrap(); - let attached = std::process::Command::new("/usr/bin/hdiutil") - .args([ - "attach", - "-readonly", - "-nobrowse", - "-noautoopen", - "-mountpoint", - ]) - .arg(&mount) - .arg(&image) - .output() - .unwrap(); + let attached = attach_image(&image, &mount).await; let target = fixtures.path().join("Installed BiFlow.app"); - let installed = if attached.status.success() { + let installed = if attached + .as_ref() + .is_ok_and(|output| output.status.success()) + { std::process::Command::new("/bin/sh") .arg("-c") .arg(install_script(&mount.join("BiFlow.app"), &target, "6.2.82")) .output() - .unwrap() - .status - .success() + .map(|output| output.status.success()) } else { - false + Ok(false) }; cleanup_mount(&staging, &mount, uuid::Uuid::nil()).await; + let attached = attached.expect("fixture disk image attach could not complete"); assert!( attached.status.success(), - "fixture disk image attachment failed" + "fixture disk image attachment failed: status={:?}, stderr={}", + attached.status.code(), + String::from_utf8_lossy(&attached.stderr) ); assert!( - installed, + installed.expect("fixture installer could not complete"), "the mounted application's replacement must succeed" ); assert!( diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 982a0ce..66d1f95 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "BiFlow", - "version": "6.2.83", + "version": "6.2.84", "identifier": "app.biflow.desktop", "build": { "beforeDevCommand": "pnpm bundle:check && pnpm --dir apps/desktop dev", diff --git a/version b/version index 4159c5d..3ea7ad3 100644 --- a/version +++ b/version @@ -1 +1 @@ -6.2.83 +6.2.84