From 20c838da7dba89364471662cd40d0eda507d92e4 Mon Sep 17 00:00:00 2001 From: Ivan Fontosh Date: Mon, 20 Apr 2026 11:03:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(effects):=20=D0=B2=D0=BE=D0=B4=D0=B0,=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BB=D0=B0=D0=BA=D0=BE=20=D1=8F=D0=B4=D0=B0,=20?= =?UTF-8?q?=D0=BB=D1=83=D1=87=20=D1=81=D0=B2=D0=B5=D1=82=D0=B0;=20=D0=BF?= =?UTF-8?q?=D1=83=D0=BB=D1=8C=D1=82=20=D0=B8=20=D0=BE=D0=BA=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BC=D0=BE=D0=BD=D1=81=D1=82=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Поле: вода (сплошная заливка по штриху, превью кистью), туман/огонь/дождь без изменений логики. - Действия: облако яда (частицы, круглая текстура, звук oblako-yada.mp3, длительность как у трека), луч света и заморозка со звуками из public/. - Пульт: инструменты воды и яда, синхрон SFX, тесты панели и ластика. - Окно управления: дочернее от окна просмотра (Z-order). - Типы эффектов, effectsStore prune, hit-test ластика. Made-with: Cursor --- app/main/effects/effectsStore.test.ts | 84 ++++ app/main/effects/effectsStore.ts | 6 +- .../windows/createWindows.editorClose.test.ts | 6 + app/main/windows/createWindows.ts | 21 +- app/renderer/control/ControlApp.module.css | 15 +- app/renderer/control/ControlApp.tsx | 359 +++++++++---- .../control/controlApp.effectsPanel.test.ts | 37 ++ app/renderer/control/freezeSfx.ts | 52 ++ app/renderer/control/poisonCloudSfx.ts | 59 +++ app/renderer/control/sunbeamSfx.ts | 56 +++ app/renderer/public/luch_sveta.mp3 | Bin 0 -> 67393 bytes app/renderer/public/molniya.mp3 | Bin 0 -> 48945 bytes app/renderer/public/oblako-yada.mp3 | Bin 0 -> 48945 bytes app/renderer/public/zamorozka.mp3 | Bin 0 -> 48735 bytes .../shared/effects/PxiEffectsOverlay.tsx | 472 +++++++++++++++++- app/shared/effectEraserHitTest.test.ts | 31 ++ app/shared/effectEraserHitTest.ts | 9 +- app/shared/types/effects.ts | 56 ++- package.json | 2 +- 19 files changed, 1154 insertions(+), 111 deletions(-) create mode 100644 app/main/effects/effectsStore.test.ts create mode 100644 app/renderer/control/freezeSfx.ts create mode 100644 app/renderer/control/poisonCloudSfx.ts create mode 100644 app/renderer/control/sunbeamSfx.ts create mode 100644 app/renderer/public/luch_sveta.mp3 create mode 100644 app/renderer/public/molniya.mp3 create mode 100644 app/renderer/public/oblako-yada.mp3 create mode 100644 app/renderer/public/zamorozka.mp3 diff --git a/app/main/effects/effectsStore.test.ts b/app/main/effects/effectsStore.test.ts new file mode 100644 index 0000000..a089d0e --- /dev/null +++ b/app/main/effects/effectsStore.test.ts @@ -0,0 +1,84 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { EffectsStore } from './effectsStore'; + +void test('pruneExpired: лёд не удаляется по времени', () => { + const store = new EffectsStore(); + const createdAtMs = Date.now() - 365 * 24 * 60 * 60 * 1000; + store.dispatch({ + kind: 'instance.add', + instance: { + id: 'ice_test', + type: 'ice', + seed: 1, + createdAtMs, + at: { x: 0.5, y: 0.5 }, + radiusN: 0.1, + opacity: 0.85, + lifetimeMs: null, + }, + }); + assert.equal(store.getState().instances.length, 1); + assert.equal(store.pruneExpired(), false); + assert.equal(store.getState().instances.length, 1); +}); + +void test('pruneExpired: молния удаляется после lifetime', () => { + const store = new EffectsStore(); + store.dispatch({ + kind: 'instance.add', + instance: { + id: 'lt_test', + type: 'lightning', + seed: 1, + createdAtMs: Date.now() - 10_000, + start: { x: 0, y: 0 }, + end: { x: 0.5, y: 0.5 }, + widthN: 0.05, + intensity: 1, + lifetimeMs: 1000, + }, + }); + assert.equal(store.pruneExpired(), true); + assert.equal(store.getState().instances.length, 0); +}); + +void test('pruneExpired: луч света удаляется после lifetime', () => { + const store = new EffectsStore(); + store.dispatch({ + kind: 'instance.add', + instance: { + id: 'sb_test', + type: 'sunbeam', + seed: 1, + createdAtMs: Date.now() - 10_000, + start: { x: 0.5, y: 0 }, + end: { x: 0.5, y: 0.6 }, + widthN: 0.04, + intensity: 1, + lifetimeMs: 800, + }, + }); + assert.equal(store.pruneExpired(), true); + assert.equal(store.getState().instances.length, 0); +}); + +void test('pruneExpired: облако яда удаляется после lifetime', () => { + const store = new EffectsStore(); + store.dispatch({ + kind: 'instance.add', + instance: { + id: 'pc_test', + type: 'poisonCloud', + seed: 1, + createdAtMs: Date.now() - 20_000, + at: { x: 0.5, y: 0.5 }, + radiusN: 0.08, + intensity: 1, + lifetimeMs: 3000, + }, + }); + assert.equal(store.pruneExpired(), true); + assert.equal(store.getState().instances.length, 0); +}); diff --git a/app/main/effects/effectsStore.ts b/app/main/effects/effectsStore.ts index 98ae763..22b97ee 100644 --- a/app/main/effects/effectsStore.ts +++ b/app/main/effects/effectsStore.ts @@ -45,13 +45,15 @@ export class EffectsStore { const now = nowMs(); const before = this.state.instances.length; const kept = this.state.instances.filter((i) => { - if (i.type === 'lightning') { + // Пятно льда не истекает по таймеру (только «очистить все» или ластик в UI). + if (i.type === 'ice') return true; + if (i.type === 'lightning' || i.type === 'sunbeam' || i.type === 'poisonCloud') { return now - i.createdAtMs < i.lifetimeMs; } if (i.type === 'scorch') { return now - i.createdAtMs < i.lifetimeMs; } - if (i.type === 'fog') { + if (i.type === 'fog' || i.type === 'water') { if (i.lifetimeMs === null) return true; return now - i.createdAtMs < i.lifetimeMs; } diff --git a/app/main/windows/createWindows.editorClose.test.ts b/app/main/windows/createWindows.editorClose.test.ts index 36fc993..ce93bf2 100644 --- a/app/main/windows/createWindows.editorClose.test.ts +++ b/app/main/windows/createWindows.editorClose.test.ts @@ -27,3 +27,9 @@ void test('createWindows: иконка окна (pack PNG, затем window PNG assert.ok(src.includes('app-window-icon.png')); assert.ok(src.includes('app-logo.svg')); }); + +void test('createWindows: пульт поверх экрана просмотра (дочернее окно)', () => { + const src = readCreateWindows(); + assert.ok(src.includes('parent: presentation')); + assert.ok(src.includes("createWindow('control'")); +}); diff --git a/app/main/windows/createWindows.ts b/app/main/windows/createWindows.ts index 7af3427..4398120 100644 --- a/app/main/windows/createWindows.ts +++ b/app/main/windows/createWindows.ts @@ -118,7 +118,12 @@ export function applyDockIconIfNeeded(): void { } } -function createWindow(kind: WindowKind): BrowserWindow { +type CreateWindowOpts = { + /** Дочернее окно (например пульт) держится над родителем (экран просмотра). */ + parent?: BrowserWindow; +}; + +function createWindow(kind: WindowKind, opts?: CreateWindowOpts): BrowserWindow { const icon = resolveWindowIcon(); const win = new BrowserWindow({ width: kind === 'editor' ? 1280 : kind === 'control' ? 1200 : 1280, @@ -126,6 +131,7 @@ function createWindow(kind: WindowKind): BrowserWindow { show: false, backgroundColor: '#09090B', ...(icon ? { icon } : {}), + ...(opts?.parent ? { parent: opts.parent } : {}), webPreferences: { contextIsolation: true, sandbox: true, @@ -175,16 +181,17 @@ export function focusEditorWindow(): void { } export function openMultiWindow() { - if (!windows.has('presentation')) { + let presentation = windows.get('presentation'); + if (!presentation) { const display = screen.getPrimaryDisplay(); const { x, y, width, height } = display.bounds; - const win = createWindow('presentation'); - win.setBounds({ x, y, width, height }); - win.setMenuBarVisibility(false); - win.maximize(); + presentation = createWindow('presentation'); + presentation.setBounds({ x, y, width, height }); + presentation.setMenuBarVisibility(false); + presentation.maximize(); } if (!windows.has('control')) { - createWindow('control'); + createWindow('control', { parent: presentation }); } } diff --git a/app/renderer/control/ControlApp.module.css b/app/renderer/control/ControlApp.module.css index 8a8245e..b161c07 100644 --- a/app/renderer/control/ControlApp.module.css +++ b/app/renderer/control/ControlApp.module.css @@ -42,7 +42,20 @@ .effectsStack { display: flex; flex-direction: column; - gap: 10px; + gap: 12px; +} + +.effectsGroup { + display: flex; + flex-direction: column; + gap: 8px; +} + +.subsectionLabel { + font-size: var(--text-xs); + font-weight: 700; + letter-spacing: 0.02em; + color: var(--text2); } .iconRow { diff --git a/app/renderer/control/ControlApp.tsx b/app/renderer/control/ControlApp.tsx index ba5841f..1717f35 100644 --- a/app/renderer/control/ControlApp.tsx +++ b/app/renderer/control/ControlApp.tsx @@ -12,6 +12,12 @@ import { Surface } from '../shared/ui/Surface'; import styles from './ControlApp.module.css'; import { ControlScenePreview } from './ControlScenePreview'; +import { getFreezeEffectLifeMs, playFreezeEffectSound } from './freezeSfx'; +import { getPoisonCloudEffectLifeMs, playPoisonCloudEffectSound } from './poisonCloudSfx'; +import { getSunbeamEffectLifeMs, playSunbeamEffectSound } from './sunbeamSfx'; + +/** Длительность визуала молнии (мс). */ +const LIGHTNING_EFFECT_MS = 180; function formatTime(sec: number): string { if (!Number.isFinite(sec) || sec < 0) return '0:00'; @@ -21,6 +27,21 @@ function formatTime(sec: number): string { return `${String(m)}:${String(r).padStart(2, '0')}`; } +/** Файл из `app/renderer/public/molniya.mp3` — рядом с `control.html` в dev и в dist. */ +function lightningEffectSoundUrl(): string { + return new URL('molniya.mp3', window.location.href).href; +} + +function playLightningEffectSound(): void { + try { + const el = new Audio(lightningEffectSoundUrl()); + el.volume = 0.88; + void el.play().catch(() => undefined); + } catch { + /* ignore */ + } +} + export function ControlApp() { const api = getDndApi(); const [fxState, fx] = useEffectsState(); @@ -36,7 +57,7 @@ export function ControlApp() { const previewHostRef = useRef(null); const previewVideoRef = useRef(null); const brushRef = useRef<{ - tool: 'fog' | 'fire' | 'rain' | 'lightning' | 'freeze' | 'eraser'; + tool: 'fog' | 'fire' | 'rain' | 'water' | 'lightning' | 'sunbeam' | 'poisonCloud' | 'freeze' | 'eraser'; startN?: { x: number; y: number }; points?: { x: number; y: number; tMs: number }[]; } | null>(null); @@ -89,6 +110,21 @@ export function ControlApp() { }; }, []); + const [freezeDraftLifeMs, setFreezeDraftLifeMs] = useState(820); + useEffect(() => { + void getFreezeEffectLifeMs().then(setFreezeDraftLifeMs); + }, []); + + const [sunbeamDraftLifeMs, setSunbeamDraftLifeMs] = useState(600); + useEffect(() => { + void getSunbeamEffectLifeMs().then(setSunbeamDraftLifeMs); + }, []); + + const [poisonDraftLifeMs, setPoisonDraftLifeMs] = useState(1600); + useEffect(() => { + void getPoisonCloudEffectLifeMs().then(setPoisonDraftLifeMs); + }, []); + const project = session?.project ?? null; const currentGraphNodeId = project?.currentGraphNodeId ?? null; const currentScene = @@ -388,6 +424,21 @@ export function ControlApp() { }, }); } + if (b.tool === 'water' && b.points && b.points.length > 0) { + await fx.dispatch({ + kind: 'instance.add', + instance: { + id: `water_${String(createdAtMs)}_${String(seed)}`, + type: 'water', + seed, + createdAtMs, + points: b.points, + radiusN: tool.radiusN, + opacity: Math.max(0.06, Math.min(0.72, tool.intensity * 0.85)), + lifetimeMs: null, + }, + }); + } if (b.tool === 'lightning' && b.startN && b.points && b.points.length > 0) { const last = b.points[b.points.length - 1]; if (last === undefined) return; @@ -404,7 +455,7 @@ export function ControlApp() { end, widthN: Math.max(0.01, tool.radiusN * 0.9), intensity: Math.max(0.9, Math.min(1.2, tool.intensity * 1.35)), - lifetimeMs: 180, + lifetimeMs: LIGHTNING_EFFECT_MS, }, }); await fx.dispatch({ @@ -420,11 +471,55 @@ export function ControlApp() { lifetimeMs: 60_000, }, }); + playLightningEffectSound(); + } + if (b.tool === 'sunbeam' && b.startN && b.points && b.points.length > 0) { + const last = b.points[b.points.length - 1]; + if (last === undefined) return; + const end = { x: last.x, y: last.y }; + const start = { x: end.x, y: 0 }; + const sunbeamLifeMs = await getSunbeamEffectLifeMs(); + await fx.dispatch({ + kind: 'instance.add', + instance: { + id: `sb_${String(createdAtMs)}_${String(seed)}`, + type: 'sunbeam', + seed, + createdAtMs, + start, + end, + widthN: Math.max(0.012, tool.radiusN * 0.95), + intensity: Math.max(0.95, Math.min(1.25, tool.intensity * 1.4)), + lifetimeMs: sunbeamLifeMs, + }, + }); + playSunbeamEffectSound(); + } + if (b.tool === 'poisonCloud' && b.points && b.points.length > 0) { + const last = b.points[b.points.length - 1]; + if (last === undefined) return; + const at = { x: last.x, y: last.y }; + const poisonLifeMs = await getPoisonCloudEffectLifeMs(); + await fx.dispatch({ + kind: 'instance.add', + instance: { + id: `pc_${String(createdAtMs)}_${String(seed)}`, + type: 'poisonCloud', + seed, + createdAtMs, + at, + radiusN: Math.max(0.03, tool.radiusN * 0.95), + intensity: Math.max(0.75, Math.min(1.2, tool.intensity * 1.15)), + lifetimeMs: poisonLifeMs, + }, + }); + void playPoisonCloudEffectSound(poisonLifeMs); } if (b.tool === 'freeze' && b.points && b.points.length > 0) { const last = b.points[b.points.length - 1]; if (last === undefined) return; const at = { x: last.x, y: last.y }; + const freezeLifeMs = await getFreezeEffectLifeMs(); await fx.dispatch({ kind: 'instance.add', instance: { @@ -434,8 +529,8 @@ export function ControlApp() { createdAtMs, at, intensity: Math.max(0.8, Math.min(1.25, tool.intensity * 1.15)), - // Быстро появиться → чуть задержаться → плавно исчезнуть. - lifetimeMs: 820, + // Длительность как у zamorozka.mp3 (фазы «замерзания» в PxiEffectsOverlay масштабируются по life). + lifetimeMs: freezeLifeMs, }, }); await fx.dispatch({ @@ -448,9 +543,10 @@ export function ControlApp() { at, radiusN: Math.max(0.03, tool.radiusN * 0.9), opacity: 0.85, - lifetimeMs: 60_000, + lifetimeMs: null, }, }); + playFreezeEffectSound(); } brushRef.current = null; setDraftFxTick((x) => x + 1); @@ -496,6 +592,18 @@ export function ControlApp() { lifetimeMs: null, }; } + if (b.tool === 'water' && b.points && b.points.length > 0) { + return { + id: '__draft__', + type: 'water' as const, + seed, + createdAtMs, + points: b.points, + radiusN: tool.radiusN, + opacity: Math.max(0.06, Math.min(0.55, tool.intensity * 0.72)), + lifetimeMs: null, + }; + } if (b.tool === 'lightning' && b.startN && b.points && b.points.length > 0) { const last = b.points[b.points.length - 1]; if (last === undefined) return null; @@ -508,7 +616,36 @@ export function ControlApp() { end: { x: last.x, y: last.y }, widthN: Math.max(0.01, tool.radiusN * 0.9), intensity: Math.max(0.9, Math.min(1.2, tool.intensity * 1.35)), - lifetimeMs: 180, + lifetimeMs: LIGHTNING_EFFECT_MS, + }; + } + if (b.tool === 'sunbeam' && b.startN && b.points && b.points.length > 0) { + const last = b.points[b.points.length - 1]; + if (last === undefined) return null; + return { + id: '__draft__', + type: 'sunbeam' as const, + seed, + createdAtMs, + start: { x: last.x, y: 0 }, + end: { x: last.x, y: last.y }, + widthN: Math.max(0.012, tool.radiusN * 0.95), + intensity: Math.max(0.95, Math.min(1.25, tool.intensity * 1.4)), + lifetimeMs: sunbeamDraftLifeMs, + }; + } + if (b.tool === 'poisonCloud' && b.points && b.points.length > 0) { + const last = b.points[b.points.length - 1]; + if (last === undefined) return null; + return { + id: '__draft__', + type: 'poisonCloud' as const, + seed, + createdAtMs, + at: { x: last.x, y: last.y }, + radiusN: Math.max(0.03, tool.radiusN * 0.95), + intensity: Math.max(0.75, Math.min(1.2, tool.intensity * 1.15)), + lifetimeMs: poisonDraftLifeMs, }; } if (b.tool === 'freeze' && b.points && b.points.length > 0) { @@ -521,12 +658,20 @@ export function ControlApp() { createdAtMs, at: { x: last.x, y: last.y }, intensity: Math.max(0.8, Math.min(1.25, tool.intensity * 1.15)), - lifetimeMs: 240, + lifetimeMs: freezeDraftLifeMs, }; } return null; // eslint-disable-next-line react-hooks/exhaustive-deps - }, [draftFxTick, tool.intensity, tool.radiusN, tool.tool]); + }, [ + draftFxTick, + freezeDraftLifeMs, + poisonDraftLifeMs, + sunbeamDraftLifeMs, + tool.intensity, + tool.radiusN, + tool.tool, + ]); const fxMergedState = useMemo(() => { if (!fxState) return null; @@ -544,83 +689,127 @@ export function ControlApp() {
ЭФФЕКТЫ
-
- - - - - - - +
+
Инструменты
+
+ + +
+
+
+
Эффекты поля
+
+ + + + +
+
+
+
Эффекты действий
+
+ + + + +
Радиус кисти
diff --git a/app/renderer/control/controlApp.effectsPanel.test.ts b/app/renderer/control/controlApp.effectsPanel.test.ts index d585262..03f96c0 100644 --- a/app/renderer/control/controlApp.effectsPanel.test.ts +++ b/app/renderer/control/controlApp.effectsPanel.test.ts @@ -14,9 +14,46 @@ function readControlAppCss(): string { return fs.readFileSync(path.join(here, 'ControlApp.module.css'), 'utf8'); } +void test('ControlApp: звук молнии (public/molniya.mp3)', () => { + const src = readControlApp(); + assert.ok(src.includes('molniya.mp3')); + assert.ok(src.includes('playLightningEffectSound')); +}); + +void test('ControlApp: звук заморозки (public/zamorozka.mp3)', () => { + const src = readControlApp(); + assert.ok(src.includes('zamorozka.mp3')); + assert.ok(src.includes('playFreezeEffectSound')); +}); + +void test('ControlApp: звук луча света (public/luch_sveta.mp3)', () => { + const appSrc = readControlApp(); + const sfxSrc = fs.readFileSync(path.join(here, 'sunbeamSfx.ts'), 'utf8'); + assert.ok(appSrc.includes('playSunbeamEffectSound')); + assert.ok(appSrc.includes('getSunbeamEffectLifeMs')); + assert.ok(sfxSrc.includes('luch_sveta.mp3')); + assert.ok(sfxSrc.includes('playbackRate')); + assert.ok(sfxSrc.includes('SUNBEAM_PLAYBACK_RATE')); +}); + +void test('ControlApp: звук облака яда (public/oblako-yada.mp3)', () => { + const appSrc = readControlApp(); + const sfxSrc = fs.readFileSync(path.join(here, 'poisonCloudSfx.ts'), 'utf8'); + assert.ok(appSrc.includes('getPoisonCloudEffectLifeMs')); + assert.ok(appSrc.includes('playPoisonCloudEffectSound')); + assert.ok(sfxSrc.includes('oblako-yada.mp3')); + assert.ok(sfxSrc.includes('playbackRate')); +}); + void test('ControlApp: эффекты в пульте, иконки с тултипами и подписью для a11y', () => { const src = readControlApp(); assert.ok(src.includes('ЭФФЕКТЫ')); + assert.ok(src.includes('Инструменты')); + assert.ok(src.includes('Эффекты поля')); + assert.ok(src.includes('Эффекты действий')); + assert.ok(src.includes('Луч света')); + assert.ok(src.includes('title="Вода"')); + assert.ok(src.includes('title="Облако яда"')); assert.ok(src.includes('title="Туман"')); assert.ok(src.includes('ariaLabel="Туман"')); assert.ok(src.includes('iconOnly')); diff --git a/app/renderer/control/freezeSfx.ts b/app/renderer/control/freezeSfx.ts new file mode 100644 index 0000000..7f5d7b3 --- /dev/null +++ b/app/renderer/control/freezeSfx.ts @@ -0,0 +1,52 @@ +/** Звук и длительность эффекта «Заморозка» (`public/zamorozka.mp3`). */ + +const DEFAULT_FREEZE_LIFE_MS = 820; + +const FREEZE_SFX_BASE_VOLUME = 0.88; +/** На 25% тише базовой громкости эффекта. */ +export const FREEZE_SFX_VOLUME = FREEZE_SFX_BASE_VOLUME * 0.75; + +export function freezeEffectSoundUrl(): string { + return new URL('zamorozka.mp3', window.location.href).href; +} + +let cachedFreezeSfxDurationMs: number | null = null; + +/** Длительность трека в мс (кэш после первого чтения метаданных). */ +export function getFreezeSfxDurationMs(): Promise { + if (cachedFreezeSfxDurationMs !== null) { + return Promise.resolve(cachedFreezeSfxDurationMs); + } + const url = freezeEffectSoundUrl(); + return new Promise((resolve) => { + const a = new Audio(); + const done = (ms: number): void => { + cachedFreezeSfxDurationMs = ms; + a.removeAttribute('src'); + resolve(ms); + }; + a.addEventListener('loadedmetadata', () => { + const d = a.duration; + done(Number.isFinite(d) && d > 0 ? Math.round(d * 1000) : DEFAULT_FREEZE_LIFE_MS); + }); + a.addEventListener('error', () => done(DEFAULT_FREEZE_LIFE_MS)); + a.src = url; + a.load(); + }); +} + +/** Длительность полноэкранной заморозки и льда — по времени звука, с разумными пределами. */ +export async function getFreezeEffectLifeMs(): Promise { + const raw = await getFreezeSfxDurationMs(); + return Math.min(45_000, Math.max(400, raw)); +} + +export function playFreezeEffectSound(): void { + try { + const el = new Audio(freezeEffectSoundUrl()); + el.volume = FREEZE_SFX_VOLUME; + void el.play().catch(() => undefined); + } catch { + /* ignore */ + } +} diff --git a/app/renderer/control/poisonCloudSfx.ts b/app/renderer/control/poisonCloudSfx.ts new file mode 100644 index 0000000..493e892 --- /dev/null +++ b/app/renderer/control/poisonCloudSfx.ts @@ -0,0 +1,59 @@ +/** Звук и длительность эффекта «Облако яда» (`public/oblako-yada.mp3`). */ + +const POISON_CLOUD_SFX_VOLUME = 0.92; + +/** Запас, если метаданные не прочитались. */ +const DEFAULT_POISON_CLOUD_LIFE_MS = 1600; + +export function poisonCloudEffectSoundUrl(): string { + return new URL('oblako-yada.mp3', window.location.href).href; +} + +let cachedPoisonCloudSfxDurationMs: number | null = null; + +/** Длительность трека в мс (кэш после первого чтения метаданных). */ +export function getPoisonCloudSfxDurationMs(): Promise { + if (cachedPoisonCloudSfxDurationMs !== null) { + return Promise.resolve(cachedPoisonCloudSfxDurationMs); + } + const url = poisonCloudEffectSoundUrl(); + return new Promise((resolve) => { + const a = new Audio(); + const done = (ms: number): void => { + cachedPoisonCloudSfxDurationMs = ms; + a.removeAttribute('src'); + resolve(ms); + }; + a.addEventListener('loadedmetadata', () => { + const d = a.duration; + done(Number.isFinite(d) && d > 0 ? Math.round(d * 1000) : DEFAULT_POISON_CLOUD_LIFE_MS); + }); + a.addEventListener('error', () => done(DEFAULT_POISON_CLOUD_LIFE_MS)); + a.src = url; + a.load(); + }); +} + +/** Длительность визуала = длительности файла (с разумными пределами). */ +export async function getPoisonCloudEffectLifeMs(): Promise { + const raw = await getPoisonCloudSfxDurationMs(); + return Math.min(60_000, Math.max(600, raw)); +} + +/** + * Воспроизведение с подгонкой скорости: фактическое время звука по часам ≈ `lifeMs`, + * чтобы совпасть с анимацией. + */ +export async function playPoisonCloudEffectSound(lifeMs: number): Promise { + try { + const rawMs = await getPoisonCloudSfxDurationMs(); + const target = Math.max(200, lifeMs); + const rate = Math.max(0.25, Math.min(4, rawMs / target)); + const el = new Audio(poisonCloudEffectSoundUrl()); + el.volume = POISON_CLOUD_SFX_VOLUME; + el.playbackRate = rate; + void el.play().catch(() => undefined); + } catch { + /* ignore */ + } +} diff --git a/app/renderer/control/sunbeamSfx.ts b/app/renderer/control/sunbeamSfx.ts new file mode 100644 index 0000000..6b81b78 --- /dev/null +++ b/app/renderer/control/sunbeamSfx.ts @@ -0,0 +1,56 @@ +/** Звук эффекта «Луч света» (`public/luch_sveta.mp3`). */ + +const SUNBEAM_SFX_VOLUME = 0.88; +/** Воспроизведение на 50% быстрее → реальная длительность = файл / 1.5. */ +export const SUNBEAM_PLAYBACK_RATE = 1.5; + +const DEFAULT_SUNBEAM_LIFE_MS = 600; + +export function sunbeamEffectSoundUrl(): string { + return new URL('luch_sveta.mp3', window.location.href).href; +} + +let cachedSunbeamSfxDurationMs: number | null = null; + +/** Длительность файла в мс (как в метаданных, без ускорения). */ +export function getSunbeamSfxDurationMs(): Promise { + if (cachedSunbeamSfxDurationMs !== null) { + return Promise.resolve(cachedSunbeamSfxDurationMs); + } + const url = sunbeamEffectSoundUrl(); + return new Promise((resolve) => { + const a = new Audio(); + const done = (ms: number): void => { + cachedSunbeamSfxDurationMs = ms; + a.removeAttribute('src'); + resolve(ms); + }; + a.addEventListener('loadedmetadata', () => { + const d = a.duration; + done(Number.isFinite(d) && d > 0 ? Math.round(d * 1000) : DEFAULT_SUNBEAM_LIFE_MS); + }); + a.addEventListener('error', () => done(DEFAULT_SUNBEAM_LIFE_MS)); + a.src = url; + a.load(); + }); +} + +/** + * Длительность визуала луча = время проигрывания при ускорении 1.5× (совпадает со звуком). + */ +export async function getSunbeamEffectLifeMs(): Promise { + const raw = await getSunbeamSfxDurationMs(); + const wallMs = raw / SUNBEAM_PLAYBACK_RATE; + return Math.min(60_000, Math.max(400, Math.round(wallMs))); +} + +export function playSunbeamEffectSound(): void { + try { + const el = new Audio(sunbeamEffectSoundUrl()); + el.volume = SUNBEAM_SFX_VOLUME; + el.playbackRate = SUNBEAM_PLAYBACK_RATE; + void el.play().catch(() => undefined); + } catch { + /* ignore */ + } +} diff --git a/app/renderer/public/luch_sveta.mp3 b/app/renderer/public/luch_sveta.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a2f915fe5a021c060983a0d2931d45b4b1e35ff5 GIT binary patch literal 67393 zcmdp-Wmgaq@6;15%nwG5`P-eyXr@GPAMba(QC|fTbMGJ)K|{ z&Tp;UfM`v11uS%O^rseBN{X`DPqF1wkbqeVu~8dI7I)#C5e zA)v*V?g_#RS>Qm2{#ex3)}nV3fZ>JLM-}3($Ha^%zk-yRe`b-YGd<;(*N&%I{Iwg3 zgDI}$=-109w%O}`H#?oT<#gw)-n_N7e*b(&D+))k4=Z?XO#xaR0RQ2L8w9%&_zq49B+!{el6{smq)Z|y^TV#D z;3DO_mCA8HegGVODntTy&o>#Z;}1s1Z8Zu2|pZ&i0FT$v?RQO^y3C66e5 zMsHJyM)iiosw{t_m9fWfqei(JedY}^!O_FQXiTZ?Y{LZ9C zf>9Kl_(ivM*d!9Dvb2G+6Tls#elJZ|?#{(jA7zKk2h)5pw00?97b4VsA$T*uP*n=* z^8Q1C)Y^b(Hw2vdmM&*l<7K`eSJf(Ku&fs$zt=9%Y9*c07bG*^K`v9^Oa>|Plx)_8 zw?#?!q#ySC&kCs$JWu!TY+ZEaDJa~uK3jaPC~*p& zCWE2tk;l@?upiv@J8w`AI=77!zxf-Z*4L!t?iyq+s%DI45}xsZz*B1=TXn{%VZn- zdOws_r(nFx`k+%xYamtiK>AkOU%{Z(QJY1f3bTSi5Hpar^=-YW^-%J#0D2@b4Fzh6 zK;H+e1o7Uw#6IHn!F!G+{D3VG+<3FoIx36mCavTeyDXcTWuZVwXgrchFK7=P`Y5v! zg=TD*@@eZ&`vA-;o%WkaByXBgfeazJVOY&qx#$x-wddxL@j3<6kz~M;x+-XJF9smR zh78yO?TO8K`69Sfq5Q~=?Dp2Fx%8f*eAhopf68aF6P2f?a3#-Sj3pdCY*#ifb(OW3 zEIqd8$5&FK?>On2Q&!lId*O%9y(~a(8F@P-+nBui#lv4jMiFvMTKnF1PHx<^*Z4gV zy?6L{Cb`r_Yr-c9n6NM_S+CLvvWeEj9BoEn_w`4kaLpqyy>|!IQ6hZyejSpXf%&K; zOkjEH9}lY+e%yYO!H%D%pW`Y=(Spf9$qsybqtr5whV6x(#o^6y^|xW45Mm&HPA75l zZBgA)x@C%Twq`Q-WW;4sTS+?+Pn?!pon7$E*CDn?I9P@SmEz1+=>BK+PY2zI7J3wD zLUE(}g@2c?0}dHsG1d1#$9IbP?FibgH%S2f?~5N~PO>x3o-UPMoJyA=6>c^_NK5G; zyB1zf%F=+)MzcIw>vnG{*^y_wfJD|ssr<6L>FJI=$#@A(-0=7vHKM0J9aX}HpG})LaFQS)*zTa$Q zkt?J{4nnf!sw}>p2qo~oYjhm^igI%eb~2$|-A_7GkxYNnS(~b5X&C+7M}kK)DC6h1 zX2*&q=DggFyedzs;eN!P`6!CnSO8w>O)t52p6DPwlS#a8wG}8z=4{CkpqFRX3|sdU zP`#{o%;ZQNpP&4oY4frR6%sM*A157c9r7Z{{>V3MQYQkdt{^>rpR+CnIgidOYT=nt@#WNW4dyO;0TuEj zx&D%Bj+Dju#Xif!AHFffiJEALo8R&~Yx(YKcY=C}DpwS=ix@ zqV%Jv^nqjAcdP#JAC?@`-8GQW z(th|94VqO$*6R&_Tl9hU=MOI%?bgwnasw{=pG*ms16L2BK6cQ7cl#-QK zQc>5|(KmQyY-(<0XYb_f=Hcbz|1LNzB04r9DK$MaC$F%$tfIQMp{cc_>qFn*@YuxE z?A+q=+Q!z-{+DmZrx#b(xA%V@|8?e{)$=d@UqX+<{onb=M%~1ZBmb-J|6}F}kSqWo z)q>`lqM_*8yOWD%he+s!d_taR;VWC;p0RYU`D@$h5`{v$+F?>UXST=>yL3M*ML z!0`E9TOwpBO})Z7ek`ySGb{RFp)CutdPs@&P;{#iQw$#B(eEK)q_F-cANR%WpI7oR zL-Y%b<39M^a%fRkuG&N#COu|WnR-gfeB8Ku+?!IGx)YkR-k9Rb43^|z9wKrqqn8+r z*Kc>5PBG8f^VIe&)}okPI@t*YvB1gz96&KOHLHtRvBtrk0D<;FYsi-N0WUJ{1CdIBjL&veB3p$7?lG-YS;SP7m z83yCz5Amr6YyR{w!AX!sSk!*zTIbh(?xfdbhEO@{wk=ZlD>!GkUi~+4{LrKQTYhhU z-$Bf5g#$@I;NPH=?5d1EFNBA&%y9&>iNSbqI!t6fI{57Cx(^t$DhxjyuCH+3&}5r^ zMYhXAfxy2>BQZ9KO4d4y)P_AkpG2raMj2p3tInM*BztKnMt=C$@!B?!cvwVtN$GONoJx*Hl&h_*CY zVQE$h4pcYYb?G7hv%#i}-kI{grX7trV;CE4dy!&~A%~|{b@R?*H_xd&K_+7wk0DA6 zYLYiMjo2YBHW8T{$00b?ee@xI#bc}EW*`}lOx0FVF{rJ`=z9-bJe@b#hL1LQ_n1%V zc}t-Ox7N)Gi#?UR(QQoAKSE4FKTqYQ!Rv~<{QCx)ek>3y;EqJSRBd1v!z}m=lf~K` z+i|qWCKK1NTs-q@cb4G!CsV&uiGoqd&5C2LSF1CDb$31mj}5f#SayMrp;$k>`AM)_ zdVw>UZ0=zDBvv8h!b10eyJg89wquk0_xX(MI9crM4umb1@2#!lHFrJDYAj8(m427czID!A%3S_ytn}=t>`SwH z+rxQaL=A#(m`{n7H}m@h0d{Z3j*}y_<-gwM-pO1rW#XC%b~q1k@+t@-(|uYZ^w)4t;{e` zQ8jho9$kxK9;WYB%~5}RvHH~a`J;~c*c8g#GmI>x{jt%-zSvO$#L4(_z~|+&N&pm> zAVrW46URG=g~`_}8=Ln)FdYQN?CY>=j(nCv#iRX=+SxpaFoP@_|sQVI;iOypMe~9 z85}fzFdRqKD9{Bl=^3Z|3PV28F3wUXmItvE!b)!xL#*B3El?VlYZg0~8qau4USrWc z-mn577{KF5c96Y)!?OS>fpSBMp>w;8va(#S>g2ZG!qy4}gM-)uph>y3q*#gT4uWuUI)w(e)gT>uiR%_U&ArL{ zMjJWw%|BU)huya85D*%v=`4?YOlh-eIchkN5+OA}=Ncrz$3~UdK-wzeFpuW{wrjM` zeQsN7hrLs2ZDi#`hA25TmGXGhCHXkUScUPgDNT4_l#SSm`pMYBXQy!^!Hkn= z3Q83zVR(}s?j$1%dARB}NeU-?EAQn$IQg#C`5wCM`my|~_?3bnI+3e-oEFG<|NCYY zIa}3bfQ{?5{SS0HqL!d7Y2cy(Iq zmdjpLxibI3A8ia!S!2n3A|z`WLPx+o0{*NBHyh1N_fta0;CCkDa-{)9J)^T)!D3d# z4(?1^%QeWgz^yD)B3b}>4iY%^oHOiCwvu}LPqy-w<=ygzpwINZerKB2vm*Tyo30Ry|jF z>fc^UmO=5+V3~t?SBMws*WJA_vn2)@Ha(SZ5mX_JXmHdHXmU&|@6ReIgXY2AhvC%x z8vp_jVDP^XcZG*yb6au$(;QcK(d){K0Dq1QbaEnYkC-s*cxxNPHBbb6WGVfg`28!k zk}94jVG9Gyz$c;*+t z|1KRb2%xvbRbUGGcxnm3+0_*1W`r~Y^nu}UJZe%4`^Ry60en(G8jemb5v^G=Q4jdw zp+}|A>UQ}IHb;2s7tYxxc+1LwH@wF5s76cRK*VVcHbI1SnZXoV#)R9K&Hc1*k9znU zLvlRCh3lsHeAGJ+*S8NaIbnc4IMk(#+!d=*qOh6&$lkto&5qNq0iIs9a;mzBx-9KZCtILV%SfO);7rBLG(qpgWhMvg;uWFzrlRfE zoq~q)?9K^aK9u`1{fE$-5O9m+DBmQ7iY21<*V~kV9~HkSjM*vlYNgz?sVFy%o$H1IzwD2^%YRKn%0RKyjCpK0 zYT~rWEnFS^IrrjovcAc)W?`@ym)O&=ky8GVVLxgeMerKq;q(!`$#;tsNu zWqtGLja2k^ygLJ0JjsOf(b|$n1heI2mMp9o3Dpo^vw;vkdqZ>3#!UD5?_E-6;`K1z z586R(TfK>+*IsbYTo{rxBWW4MdS&wkrGjucY&JsGA36m3{PjS6w=qjsyj#wEz&sq< zm@f5_;MHsldhjRN+J8Fa9R#l98)f^gxGM+op7a7^Vh62LX*kiquM^7zrZL%jJY5ct z#OoNlCdn6>eoRGbjJ-_ueTTah)_hafyYb;s;&J(uZcZSrh za&8@&nA`H`{QReWPk%9R2nRqMPgZ)f@U5gffvF+)b0i%p%rcJ9h_!6K>%*0q)pr#; zbM|;<@}YiVN?gh%`Uhv9tseO%*fM5N)xxp7OF|Inu7*-!@$Hq zA#^;*Nu0R*!aJw-!kPI;C^!UMtfa8G2A>nQ=;p9G5J=d=BLBqgFmMVfq1kH0P4%I{ zbNbwX^Mh-3P3thw$g}l@T$KIXp`Yt}?gOpGe8s2fS8ysp^tx~IPGcw@K9xdJ$^y2b z2S%vYb<=W?Fab^@t}rDLX-6wqY65@Wm+eIPoF0s~*js>51619qMiw8Zf|?QMUvsvpR#^_Ky}tuDF%%RKB_mTA z1!2zQ^VB^s9!+-*!4Ty4+D&K*rz8}D-+;3jbQtd5z|4xk^wjT*hHeT%J#VZS(Roh z*3OqK${20u{1Ar~Bidip-|*|$db$(WceIeONPplrA$F^?Fd%y&w$zzSz+|v3q|z50 z76ej-EtmIw_SRJjZNnxSI+;$_NO)0S6#UCez9XN#^V3kd_I5-2RbKuZHl(zJFE8X1 zW}7kF)+rW9s+vC+q)q-Kl#C8hQId=O#Cs_&m7Qo7ijk0qL&e4IECpoQ-Xupil$!)5 zuXil|avmei)E8Orq*=a4=T_kO;6gUI=c`^((038GH)@nRiM_i($jW!!-mj|z~G*z;T^3jrWW$UKQW2kY%Vyh7j-=zyKT zBfjanS$3O{XPz+LdPm0TR*bb-ZiVWIZulj4a%l{8oeZcd)DbP+}JQyC1w7NP5{c=}D7_PDKG6-tGvYFQ0du2{YwRC~02 z`#KLPRP#IQzh2qv2|N*!O$h-&`#FF#fCTJ?1U2PKyyuCs6)4gQW=0MH6k(vxFSepTzPzk6?GzP_Fzaa4 z-@Yy%icIB@dqn*mCxgmkP0SsSQd){R+Vkevg=(fgTqrLcPYusYl*>z@l#~$GBI@rM zY5hY#u=V`#oK5GmPaGZMD@G7c0=LvNJ~XoZqzG3eR3=POZ0<{--z5`?!owi%7n0`M z0Y+kF-jcY%owO1oS>v8LJyw0HDzR&9?bUR)wf1;VPTP%r*Os`R>J48(|HX;ERJt&$ zl$~gflRFZ$YQWq6_NZbBB%TBUFj2^*+a11Wg8J3gOz~2&rHDog{ zYqjU;6Np4pW_uDA-vydw-&M(2m_@X{+vd__dD!oG)rByrqgg)5-Q2mTKs=~0{}H~O ze!K{)x=qs=X88sPY06`Y%zAHGrKxWV3h?BP?d=9dzmpBARL*tHiz=x;pYOXn7JK1G z8xUNgN?c6nvLViXpN#g8P%si$h)a>}vw^9FrHG-QJf`Z0K{_s%!68DvuT@(x5wl3U z^hT}pEGwr2iPtlgmw&`A-t(NyiXD8d6AL+d*-^e)Iz8^P8jeTbr=52jBsBD7<-Sat zrfGOd`rAU$Lop?Wq-e{fRQ>spC8H#5PW-ge;hQF(1KoKf)oeGhX4Mc>rp_@t3rK{{ z=;y{wujA|#9epl}=e*xvyI01q;ypKfd&PYFb!!I&WAY%5%-mL=R7K>6e(L75qv^ql z8HXGaf4b|>#hcep>wbubtGm}rBAL|y3ml-pltJO&vcihfm4Z-0=?azWPLqj9^VU8N zOSYd41LnQAM+8FrQLLgq z%=)yPhVQN=TUv?@!V~414ZWNv{`L^Sck>rOSz-=NUWw;Xs9VBWYyW@!6}F2b3& z7|BZYeRCM?eN0zH1uaS%j4v@~-sW;Y6yI*TVVIB~HZx*oTy&kEP!;xy=WngA-TgVY ztJ&Hg`tg8kXf~Zl7ar+P@sE%d05+AFoSLK<@{d8w^%%~@G_v7pupNvpu4LjFM%yit z)o`bPDpFI7`ahmT@&g^Gg}MCdFe1c_I)nS(C7@NT2$ZIw5QV&P6n_q953`J8rkyWB zm*k7M8Z`Af%9&VtYh28Pnazm2KIuMVQOzZ^@8PE>Woqgo`lkNtzPSCIL!^r}lV$oo zTc(`I`a@D#R~6y?hlo#)-?rY>ojxK8k4Ss(4xabCLtHSwW5GS{5vwA zf(j(08b@U47lzUyOqfnX?Xe2QUXQ1%rV2jXLQkg3aGx!r!8-%xMBiFLt8o0sU~RfP z1uIJond`dc-8UTHsIL3 zrfTksG(N3dkft>B!Ne=oYRP1I=V=_>Uh6~WWUK|&84Qb|v z-J#zW=V_@J7q?MUoZ_GVBcu!vnA%KDl@r3u8S9qvywgQA z#0zrjYn*3)`{MKzAIz1D$ajU=%SjI&xa*L{abXabF!vyTP|Fy1s5ROX&|D&LoE9A; zk6R&9S?)4n>4-fu{x`gxKYPL?w^PuhWKBi9{WdHunf*;o0aF7=9p>||L7VsP!V)Cp z=rP|h4wFMoT_X?ttoL4EYF99l`d&dFPA=OxnER zf4M}I7#Xa;NwJcX!pQuolRcNTrok^(mn4f! z2cXfE9mF~C7*}55jZckoM$DHi4ioSyHaK(N2Oi01^*>$l;wZHoJqVP&EV7>tilfO2 zmZAwZeaQ_ivYPkUye-luEAcTHnSng-l6}<9NoPCpEl49tFDX6h(pc)MPI1aNft*+0 z3x912bU9v5=^Ql4eIjJZ7z!b<9$Nc4t-|{3&EmYQ+waO1h0|TUu*Efi#mUC})PGA{yG!ROg?d$5?~}vN?gC)X8Q#Vm$#IW z`~?ooUn>rTSNnf+o*(Y#tvNKow=mm$b}97MZE53St^SZFR6yd-$Ir02AxN2{JJg6w zcFDWD=EPS_^kMvTWb>)lh`Qm{ppuqhK7seI0JN~l#z*WXpXb6qX^w@G89w=_Mjw4z z_}$SL7j3DpdzBXHUiv~@v2vJ08k-h~f+KOO(OT#w9dVDM%YXq|C{igt3EH-;Iwgq3 zo1st5 z-Gu9CxNN`|SnXLh#^^CzU>ZY!6Q-q= zq6lfyGXU zv&V@;Tr9Uu4@@XH_=wigWD}Cmlbsy1tA_O%5-!<+m?q>#Ptrgj1}=o9%ts7zCep~> zRpSAq5D+*n4;i}JNil5+3=B>~rXfMf{Hj3Zms%{dU#_(x*d8W)26Wh@;!8fl13KvU zva=ecnW%i_;eRV&>0k9VyaRKts&4BAUrp-$<;yZLx~QS8q}lpAn&a6!U7{UnsU6{V zC~RiMVGFO$8J)N^KPRqF#`f|BYCu8Ub0Pv zm*t}JA;bf)2LKQwjJeZU+WwHB(*kl(Y${Edij8c}36bd8Ri##9@1xe-O@=9u5{undD@)W2X-Lq5!JnC z-AxMc?~hkP!jJw4B5!qm@A*rz>eo9`&H!^4`j4^IPwD|8iK9-|oztVoWCBkQ!U6m% zoCV6xYVC>biCj+J>yeiDu`-_fwRp|2Vj0cW3_)~(_lm}3uY7gN^}uet$6Nj7-G(pM zi|$8{tThf6lb10+zJAc)x^R0PQ>DyiUCTzq$9-%J}QE(2bZF;t{9zv#$)aK zDXH5apok%Ipho>h5w8S2ie9!EH)@Oi*=fBRtH>Fz=Z6(_1^=A`(_ZHS#=!MJK~1x0 z64PBd+HU^>pfTDL}pi7 z#t!$oBE9VufTK=U}4YioVaft1~Z@qG*nIP}?tQb8Py?{BIDe&Tj7INoT z6k@dTFywEz-bvmi{*N;fx{K%=6ztU8O|oj!%?cKiHT1EYQLU#G@nvu~)AK;Oa%bmo?JrL^_Jp;B~d2z(ZH3!KE`8`U+)G#YOvEoZ^0~rrzP_ zxZQv9UH8NX*|>iD{K9#;3;=4PAll3u=9DnT>=9ElOTaXVnh?0`M1vs0UqQMAC)9!XF&A5D0gO#^auS}-iV|4WDp_NhISij61G0Lu( zPd%<2vwJ*^h6zoD%*ff@*+E!QcF*gNXy6Yh)voQ(H^WhX#!D~wkTF}SbYW3J zr5R@U+AlND`@Yns^wm&^^>tXr7whN4_N~kd=LH0b?6joODaE5oPy{)}Ws4Llwd_?R zz+h@4k5DxhCWrQ8me*@Z6KGoyPGQYEX|`GYd+hu0+5p^+E>bNu(dy}lVIl}{X)Y@Z5Y!& zZOyp4J@~z&!a{G#jEByj;d^pyW;;ApQ_aFc=M$}~`(Ds+$y97l1>prp0 zll*UF9Fh+U?)Zi;?+Du))zG}T?n^A?lR=(cE62|)Dzh@}-oK1aD7UEFx9{?fKL6I1 zIh3kqi$_X|%I^Kk2xQ|ipV1GDZci9B6N1_CQN!4kJz12- zV)%Fe5%PRm46~hc=!TmL6^mZTMPMaF7l?3XY6M*ooZf_@nV8RN0pv~3kE&*l*V-5Y z%?*|BESG2EHP(|MM4zLwIaDie16vw&bXG;dzFZ2zQH<^^w(WwZ1)P3_g)*MCajI&}MR)N!rk@lo&%aYJ@eD_Hs z!dT-Up}-)pug#~E62e_+$o;zOK01z4ftY%xR?znd_SWl6lNEDjCWlBmFVkh}xBb1B zFMJ(dh0L7Jd)l>^=r_=hTXuHH%$K}y>b-00=yavuF?LK7rbGtZ&_0p^YG8f_8cU%f zogJc)OfMfcfR#vvI4Cno_wKP_&QJ)k4dbi_yj~*CxK-T%PB^-hI=i&6Gw#frRP=DX zG)i=(IXIaC;})|$6OBCwGU}*=n`@^7VQzn0Q>%-KKF=$bS67lQt$XDh2F6QDo!0JO zst3FR@MalF-paOrCma|Luhz=Ms`r}CVe`Z1ZB>e zmQ+RTZT4U3TZ-U3*Mst%Ml#3aZ~pncO$xYA<3ulg_TkydpAGgp^5?x(56g%LI5-G^ zLkWpzh{Dnam}!uZ90wW!cp>KdS(bOSaVr=}9ZCLR!=6v;&SHeW;j4G^@+?DScuCrA z6zN@AGNxNC-~1FtO=~AsyyEwc@_H(DVPy*0#`t7|*=S!&xE<$O4f&U586^wI-g*&8 zpK<;p6dMF~mz|x8CU6l&QvP5?rru46@fm5x7SZx*F>VSt;3 z1s`E^GFwq`a$YTt%Cppw)K=zBjcy=qhE%EVd@Cmlc-Ar+^Wg+Ty~UHt-oKlZ0kDfg zN~Rfp8M`=k{8MM>06mxo3Z+M3!~KrFT}#_jeKN|1jG6$WW^IjE!!v+ZX!m$nwRq9Q zZn*5lZEY?2;+lV%oTBZwE`2W=NMmI8&CLHZv#O~}{J871`M2!2!TpvhLaV}s={!78 z{>OeBLPby`fZu7p%ri8GvQR0yCVax2I98aY0*#zxG;M{SEPV_TY&DH8OIxM0dwr_F zbSUX{;f45nS3H)Dc0@E5)<~6pY2OTGCWeBCRVTedoKa&y2Xhr@D5K!7&iib&CeuDg z#IRjnO^QjarE>0Hr&QRBOL_n{P!moWbm+ATE2H9^*1pw}L!rfNwsiA#l229s@R&&5 zAo!r&WxF8W>Sw_+E;&cv$E>N10$L+?^bV0`lu0EtSEXlYLOQ~yBbVQj_ARNJuXyvN z-1i@$0%&MB|0kU)3Qb{}=qh)4DAtjKTs^l!&<+7}TWM6SfW!(SPm_vUxy&O@eFtHs z&wv6TMRAf!hS?Pcm6N^>E5c<9fh(231XNZ6FsveITe^@srI~yagR8x7^7_A2<*5++ zue@m((~`reHB=@3{HdSndunf-W;Wf=Nzy6_&*ncTte1#>|CU?k*ZVHGsRT$d-YiI; z=kW7KDzA;-R(Q2m4?tjm;jpcUnvyKjX&&K6U8^lS1``U2Cj60C$QAgy(?~RF$%3?U zHtMA06Ym#w*nS;8(@Uo#O_XnVEC(pF74Wr6%SA%?Y}T>Qp=633%kSQ6Ig2|^&byW1 zO~@LCKs%UwEd3J%KRCHxUp~7r2YnziLa7|%axjlT$p`Jswib{W*@@D`TKufTdf*E^$+^o-p z@|)t1809K^$Tst3p-j%I$F52*Z>(#XTvR`EF0t9M#u@5Y&;!tL(WT-fqiyFQ#n@pJ zpCC^Tjh5{II7Mc*=V^~seD8@63j`Z;OQkN;W%q=bHJ~+WOL`AVo?H$P*3;bfU!d~9 zx#gMdf(8NzvCDsEiF{cf&YmCrGS$Pj<)FQ_ggilH5HBlQDi` zMC50fX^*_3U{Gjg7->t*1Jz4c(5&vCp^4TWay5(gE}5ZqT!{9W1w*T9VWI0r;ZWhw z9lIFM8>f;aOVpDyNxw)IIJ{?(+?=4H?uZgBs zvxf}~ntfBQt7jMfNve+`^+I-lc2E$IkL~6+;!oGWqd{yl7?9Nr_w+b8rNH$fE>Ws; zJF9dpCi3bhn_U^qzD-VQ4ZvyrHmV}EwF|!&D-oQ5<$e>Nf>%1XG1EnTLUcua(C~=M zsmfIUyek99Gyy0`#ys=jlfX~n$m=YW%puKGQo|(7tJ0}lMW1fI%ydO`8Is=V9soJ` zsQjM_jRW8efln$=ZVDoUKE4)%{qe+djvLH?n%tWoO4|IZHn)>@!Zzte`E`%n7b8t>W#ioLfRhK&*?qP& zo+4lHv&YS9I7k_QXlsxPBo-A`&Qbb|lg{U0mJ&tbBYO_kR#W&{=^x;0#HrZX1%V?W zNdTwfu{@2`Am)V$y}&EE5ERiYaj8Iq#B27SKi6XvVLjJz4{B_MTzR}LeBytwci!AT z`{L67v?`*Sj1jh9Z!7B+rbUnFeSR*djs-vzXUU>FEE9fGm#)dQTIvvyz~rhZ%-&rNmK<#bXT;mTsbI0(5RYi;iy!$T_MFtFkK1KaqGQJJKEZe%!z7viM)k%p$VvYlKbn6Qw+O7+}!G|4$ORa=DOVkC#{e z6VuKz+(U2_wV&9)^cbKo>X^a0Cw%pt;X1HZj%HoHj{Z5b6n^Ysnt*icODl|tx5TeX zWhQX7@%roFXsp(XB}zd@McA6 za7Yk2eD0cP)In=Ekj5e7Aa2dZ#YO)pguvvYkw%KNos}PEPSShh^rKsg4v#3aifT)3 zpAU<$-i1nG!-ThM_VQ-B%0^7Pu!WoE#kjd%Z?EKo0GE<<(+uHC#pCtNiIhDQkk&LE z@L+VPnsX5{EtDZ7(prRoq$XqW26h!Hvj8DY2rcd6^Ogo6~UL~aB z=Jrb!|M@xK=iRgM{HmW8`Rr;c0jzWFbA_kThaz`k+dFaq7Cll7tAztdW*eJN4tW?w zDis9$BeW6(R_T8Cs#=3N=Zd;UupN)45cDgeAF)E$` zAFckY?^2o%%Y#Xdsydo<`WGRslm5pb;$>G0;Oxs1L7qQ9dr@BWX$F5 zc-ivB^TLhG;d_UQ?WM=Q4Dqc@tH>}tIs_|-vyhyG6eGJRW`i=E6%9`hPm{mj_WVM4 z_Ad`^BxO$mK_wh8XCWH@IQ5+Ox}7&Bde*+SA%BnPLVzvu{*y6A_=f%$lFr{;Mfxqi zUVBE2ujC)p{;=BCTUy_7&yg$(2fC`#~79|HJ*=r`PNx$={?l*gJKf zCsj~~e_pCYLs69+_CJ)3Ovw8{WR5LQD@DzPjb;3Xe9qF@v0e8{K#<~#Zr z(}a5Y$YhZh;Sib{*AIyn0y9>`pFeu9SA2USwa%oJf;NT{liK3+<&<4hm4$`od#l$! zwRkN-01)LKo%oT3WLG08Y@K)2SlgwO~Li_Orvp_EZp@Emavzrm19EM7!1snZCZv8)n)0<={U~ z8@=b=1$p=PJU7516v_6Vq(f_?zXq>}}F|7XETJj<}1}o0M z0R-d8_7ZJ!cA{EN@>IR?dA%J~XS^I(ar^Z9!?lCCo|xVU+fof~-IHS&fCO-3ij=pR zeK1SIk_uu*L3IaUxLMp7fZW_&6Uq9gfZPzbL0Hln=iRgR&e^i&_DewiHJe z&QG2D$DuYH#MUlKCX!}M{v9Sgbl3U7YM(l>YO z4T5C}Y;ag7KUgXLiq@A5I}6U2uK4Oo+~iQdhAMM|5>>|hm1CRM=PRbn7A|~(-jkhn zwVZ`q!vALKLr-VwN`rpFy-j_cgWgZpc^ljBn;n08HiD#kzU&xBk*bW{+LCpX#)4`F zL7h<|WzWV{a1z)ESPPZW%jDr|Skm3=#zOkvXN=p+R(*0d{CH3ER1iFf+!`O;*sQ2elk zAw$&}Lsy>>s#E7HZZ+t$bi39OdP+FuA)= zkvHNQtitTRIT}NgNcXjq=@#!0f3GE1^Ev{ zvwJACat)Ia(*g<5yku1mno>LIx->Slx{sAew##nrsz_iuixWu<@+#Je(Yrm=Oxt&| z-PZ2+nC~DgE3Hq7VE(yr&)!k1qrD#U4>%2pji&1u0BpRS|iSmynejl~P`~t`H$nXwpWDf*k z)*P@R2a1L83O>=U(kN=iu-e1GDNTZw0il>FlH5x?_$MgD#_dp@~; z;MBP*TXpn}750C${|IG4sOM#snAUYw#U%ttok9dKx~;@o-qy^oFuR9lHrRFHmv|=# zqW63Z3cU8H66G282|T=2bK29zdPqUVW|L3}vTxlK5%c$P46-7Yo%2h2EL_Jwm0T>! zLW5rei=nSo;28)OfC#%o2K1$_jf>E=ulb$8FkH zmi`_q=~BH^vG7Nt87~9-Y;&QZu_5(@!-$-B<#*O1wn}Ys?Otc&(beJczQuuVY*@U> z#3O&wsNBEx4cfzP1Yb=yFo@GjdZ?X0XM9XQd7#es2|*cC?}?CX<6 z3hLv+gHbny13_+x<6tbbSnR=zFIIS)m?bpbDpWTC?nF4l;FM6F^u2?=@x_#;sqbRu zUN4#nsn(}BJ+l7@A*!6 zc$4Pm*XA#Z!J@F)21+e3`SWQd;AGP^wjiYaxEo$}6fm`Us3H}TY5_sIZl5lYeBlEM zf{+lPNW<L{ zS?NcBEzZ2(NHgQH%DVgr>g`X}FfY-zb5{B0?)Z5a}b#A{Gco?lnkdoPmkw^7@1N zE(o6n^-psMJbuN%C6}v&aAB4B9*&B;w(l1>RbK~hu|s<)fSv+CV$|TkD|Wcoz#Lwn z3&SeVWd?I-!2Bch*4#i)pIPzf14Jtr}ziy#-<2ULO&K$QKK1W%DkCO zNptc&6?RswyPN9+M^VG`{W+zjSHgpIi_z8x<*MzwYVOyj)y6C4YBQ#?vazaOlvPOh zAfm%!XLSP%?W0@)Ogf{tLFuh-GKU~<$kH})L8#;?+nTSG>TFz9K6E-*DrHPJLc%{8 zx*+$lHoHJ?^SYzQbX7zGl(HDenY0{rKJN1kVw+Ffbd}&?7lP8RQ(f! z#duy6i3}Q>e}sqtoN@`(H?Mmb`PASJ%KwqCnLRh z%B*Y<4)vT{ImdxTZ(tamW{>8FrW@bpJav8nUcE5&3T9gZ46K&aCHYyNMUVoyveD?U)sM$0dd6|Qxndm;GZ7h`dZT+ANldp-PM9d6d zEbV+5{(^TLIQW^>XW8nE zsZE__z0kX!#gn$X?H<=mukpLemoO7NfK(I zgJ5)eWwm&4!)fDh+38nQ4A{p{pvNx%YaHh|@;{RrDX^5-(#H}G?$fl19&tRZvJTjz zVFq8&+dW9ql+|6UfOtrZ-e=8jVad8(Sg%2 zn!YW8UQW=cp|w&W2*!H61momX23lDzqVgipM*)i|AI@?~cj^t#8+`;977h<70|6m@ zE|@45j;G1rx~MQFwZV}JPOWmH$*63&G?z4FlN5##kc-4-Hw!tr`7GKtDbDtE-A3`} zq{Ow#-_wT;pBqieY3&*gQ#trhrw;I}LKxOn){0Ww6UDDZ9|X-;{;D!CEw2$LLe3K~ z?0mY55%6I0bjnC+a4DmLooHm7lYbxQAA{;UKW;-nCP+k^wx`g&VI4m*&e@? zLY@j-A9JjoT#)D|qs$h=9Cq`Qk2bd-+MV}L8d5$x^{Dk_JqQV_cl4y|edLDS`KkB> z1JlHAfghOuPZVrP27oEp*3Ul>{8g~vfAE$@MGa%IDKAj_O_or5cNZ6bmuwx&Q8}59 zzbJ#x_xXNWH7Q)!I`r^dR^?L^ETKCB7uVE(N0-BR@Du>11yJYP-^Wvsl9W+!+m)cY zA15LGTgJ-y;M+hDX*A58c(SFsMh@WwbNF1_wXq--d{9~wDmu4dbqtnE`*?ECBed;h z$BI*Q?9+-KZECydDzHjN0L~Tiq%8hO_*&x=RyXbWXy1Mi=_4tJW~omU({In`72Wo# zJaVhssl;R?{IYWIxrka}Acxb0Z+|VVg>~;?f2Wz3?mumxZ%2x=R3@s$I+a4_N#2og zxdLr&GoSzyRKgDwWP<`8?siInyeZj%$}1 zMpWS;{cuKgT%ui2aAsmmS{B9#pzt=(mBhWB=Xt(U6M<#mZ7(Iok)vSPe-}&n5vE0{ zWOqvL$D4Nf>IQ2Qqz)+`W6e}!A8xngio}mAi77sX66$LE!=v@M=v|-}pt`=3G>H6W zj`#AcAUqO)|N4*62LN=(w&>tUs4FY3U}Q#3I%#I$eVn1>iiLU{w3R_opqaI0nKZhJ zI%z*vjVS7(B&!Wp`korcQ;jK^DeQQhKu4&e#P!y^u4IjBk^XotUH>Wa_G3Q*ls51s zz$B3R(V%x-J8q}#0!C|{G`Fr}j8_yd5^Xb>4DP#TF0!`w4Z}cWG@(rea^XV6NW}J| zHQid~qwx}#aMolIkCkWRsfx76#>%BWncaHlT*`l#!PiQR&fc6xC8Kp3q=+1d@X==I z`{*v_HV^OXr$*{&;yw-*Alk!MQ(~GA_Ts7|(G&bg2?^t*80CPKHKf12u*h^<$_z7G z88_P%lO8;`(g`>0D&<194Etnp)<*In17M?J4qiz5Xc=xcuy?9Dx$pyt0fh&X01ds2 zwUj1ps`b?3{!$B<)ej3f9QUgp;Zhu7>Ve${WrcI;+4!?tysTpr&-vJ^a;@SleJg`W zk-91qD0CrE=|sxpwO283+O^;B{Jyf2>QiJrv0@u9ZGsWZ9UXySaO-j(G6>z{OSvTe zhNH)DZ69tH)z684gk%6Pvd#Q?EY_@eP_~jV9dC@2lv!-78ap}G`F$Gdl~ZcPuTVU< z*?fZ@hh}we=;h@%=yeGa&9V-3!q#12UP`}$o&w&59yx0wCy(>HM)-oI_rd3+pP+$0 z`S(%+QFM^$Uk^5gG+#_l7E143dctzWM7r%&I8By|QuFQ?{QQKu>fScl!#dKmeK{gE z^byWs!-)737eH!wE;>kr!Ue+OFo>jY{Sz5W#{yq~EF30}FI-+=flB>uxU}Zesx!yI z#8~gE_jIhL>TLf$ktA|cS!Hv;!~#rbKr7w89V0@aFgPfSqncC@N$`T9Db48TwB0v-qF-IXKy{I?r^R0oz@o>tJ zE&?R%dz2Lv{i8iMwA+K>ef|R(q6HdLxs!i@FxG{9+8)FUO%fs>)i(K+ik(x4Jxd-A zIUh9xPPydK{2}5Wp*Jy>j^3&RD&wSZ2xFk#J~0}p&D#*X68IZi`BD-`qTOe!sl;Bz zg%tGSzl-PE%tFS|AMM-XX~RH2hh4^gPUL~*FfRY*DwsQ}%j+0E)4wK6^6HWeZ2f(` z;`aho@~V}X3ym|nyOHZIg;eGdE@8Hwpn?MlrtNqjs&}LE+{n6aVXYSxx~v0{2H5#h zc4g+w?&TPzn{h`w=pmp=#6L$A#fv-87voEL08*`#mK}A4pPQY7NwTW{q zIWT+jdZQ#=PKGTsCx)E_saipQwG;HmVcV-SHq2WGet7$SWktcXN%c!+ChW4S(vw!H z|I;PYI?~bh*Y~ALI(cR0UG>ruY8SQ{6baTE$`4NfQUw8k1K61J&uSn4V&S$Yqmsi8 zs+G-ph5VGHx0+g`;8ywe@|>=D5jP_zrJsFr(tWx4<9MN=0@{%ZRCP`ca&H*W{sh!< zl-0kg+j`?w%pS<64OY>vNfx|kaN#*v_ zUkvQ^+ueTs9`%oqF96opnL7{1*%kW9aN&-Gh}v!9eq5l&4ui}n91(lKbEDQPQ+GFW z-Fl;=baHzfT>nd&T-~W|v2NfTka(ZfVpm$vhU$alW3w}qvgP}T9DyS`&Z}v$=z=E^ z#f1^_ElP-Tt|BnLxZMV6xJyr`!QLM$fVdaBJ-+o+1>m03V`Eb=T4eNRl~@}R)F-g< zKQ*qi$XPg}^50?2H{zi4MMZM{{>EJU%_m;yg@NR`lKspZc7?Cs zzR-~Vtz*Oz1cyL05x`~@S5YP@IuhogKaG`t)G{5j*|1}& zN0Qs!!eL4QHUA@&00EonshvmR=nDO)a<&U5N5is_sXGws`;A)baTn`#E=xPmmxxL> zSQeF?BO0W+|Ka7svDzl3FOEuD1#^1AAJW_sueYO1@AHX?7TULVJ<%zjgJWz|5+}jv zKJxJT;q8lz&uUx4=k5HTe_GPB`X|-bCQGI&xj35eEZ#b3*^c9L4;EGl7`UfQRamdh zIM$9fDrf1($`PtnX4Z*1c_T8kSX9lgzd1ixS}H7IYXXcMv)7*-6kAB^5kWcxar!(! zXn#l3^A2|}F0sMad8tIU(WnU73{)+mZ-B#2;1;_{_$-4rl<&P7ucVc6Ta|0ndLBeh zSr2wp5Zov$~H`)jUmoP`$hZ z0Q^QQ+xjKfTlNlgB2Xc%sZA&hPI6|K`TM9y1_d@-Mnhs0`MRpi@Se>Dj;AFo5cxRoGU??XeVcQ5E`C=MqGhf{a-kG_9-?*M&O;WQ^~&E zw0X&YYjbphD3Y0A3+HV*G-7X~G6UF|t|lETfz+ETC?@=h)t4dIzd4kjg;!Vc8M^jl zblu3Ea6|-OCTlp_OYD573Trs_TK5xT=;wen{eac&*S7z9ehcW)k+GO7YIhqw^`WkO ziPoV|B^uf7ES4;s#Uf1I;>)U3j}!Go+<5c)p3<2xl1b|`MMw(C^X_uu=JiH1Hk!Q7 zK%ZVjWn-r=(VUjs`O$FuIE$lG)tN7tY$UK+D z!hr<5VbGP>jtHnpRhv96Y#pOh`X_K0GqX6|MyC;fY%d&Q^RYCPM~_em=>y-@>=VT_ zkBgsS;~?pVlBB=s#sL!1V32H&Y#rIIa+oB1%$79%7v`xs#YML% z_vG2x6~%=$&bxnvdLUqZ?L~(W=0AeejB$3UQ4(Y@y!`iD%Ao4ZI+fxHQ{(m-8*l;!}!$8AVyT0AB}m%!;ZJnLBBSf4|r!+ z4o84yvjrRU_|&-e=h~S1ctk zmnSLD(rDRwdA4rQ?rbg^+2JuxkumzPK&^y%WcRvHCiF!A z4c*(N+o|)pOy6FN;**cO%f=sNI#VnK4Ruya*K?y@E>9&O005XpX24}r!uy7w@FBou zY9a=Sa+w0aeji!Un}Q6xzS?y+PPe{hU1nb3a^!lIr@vpI z%DGx4RJz(ePFPx;(W&BPN(%re-+F426;5_R&*w+oJi*dtFbBR4{h}1V(2AS%EZhRg z$0S}bK^3x886>MI%6vlnYf^g>nT3M5)$+{?E>!zOL;OL1rr>Y&Pxn8T*go}W>zz0Z zuJ#(f&cR!}jfoR1Zz92ydMXQVCP_uQbw#IOCJcT9K@~QIenQIAhUUncPsa=AftG~# z1E+_ZFX|u21DE`7jmCHGtVEylSbEwH)Pw+(0!?d84sV#hX0j;+Bm}rXnfQMm429`E z*ejK+L)5?fFf&w9TehnY5jIpKREGPMmHNY9hpbV=%6?qc8H+*vTpx z(crq{%9vm}wsCh)J#s!yYhf&JU-Nb^Yxz)|->%=racMMfa#gzpooU`EYTEE|_j!c+ zUyF3Tp5OfC4zGv41d2fKbKAsE0b4Z0$XtuYfw%PufI)woNc%XypAQm?4Z;q&bBBb8 zi6s+<783^j+d@}wjZ1}6vgv>&v^h}NaAEcd z*fQ7*U^rnhN#P-;rerKlV1Usm>=h4iTfznyT|1mXBvKG$Mz;Zzm1Prlke-$5Glmn< z)qcIg^6LWcxp05d$oh3V#^4gAx24)D+`Q|d3fHD!Y#YfzUD!BEiu+<>X7_Pd-JVX< z^GI&G`f_G_mG62}##!sNVb)P#Wmcv;n#qn;Qugw-H{U(;D+h5aOQ0`rHOJ-E(PQ;( z>ZPK=HdjRGd(_VZ@|^`IvH-2_Txm3+>cWUuo#dt|xHd7?1N^a{go49vUN=GZhopy! z3}ZiPVq8=PD!aq>>>JsN&SyDTt*E_*3vTNcyEKvg_02a8mU-ISTG zswA)ee)A_nO_m%JujfhG8HYY=^Spx0{M&R{&PK<|UsWv{=4eI%LgVk?*{bK%W>6Ye z4^u<4oda`QW+(rS2&dvFEL-<(R%H${`~eN%ivVR}{xne%~KH>cf@$ zVIe~F#Xu-wM85QG3|Q*K58QuLKi1p+bF0aaa!syNna-Z$QJ-N*d{%ze;&k9~?O4O# zoZ?H0y~o&mtC6*qT7`dm8MoLwfpwnMp<>@Cv;CVJL>_qZ`3XwNgbProZ8)ZFIJJ%u zysi3-duephjy`EhX&3jS-HwU8TuASEwBmEWD=A8-6s2xEE+hSJ{|&7IawMKl5Q4l*89?_go=w@;UJ^E6o=5DewFxg$pVKF zcm_DNwi!IMIXx_Iwf2Gc5c$^1xGd^lMj$}g*r%{pE&Q&%#)_P~`fQkh1GtIp&)k@j z*h(9!o;F*0tRhnmBb+{qsy{1M>NJp-ZHOMTgVV#Ebt{{9f;#nImP?tOGH3EK#~-$> z&YMRjyibpyu+0ln9+Roc&$)gMbvSr4a2vW=+TA{_w;9T=8i&GdmUz5x~! z6~fc8j4y;?lk%U@cGX2MW)9-miqDE5_!& zCU8gWt7GGWk$^GfH2u-__U@yx{gURmFaQ-*IWX79q;b7s9||F6_yPLhN!US`S$Oi8 zOt@Xed?Ss&X7J7lL+ys<#irFMrawaHX|1w0A?iQoAsK1D{hn*ZqsOMsVz*pBtk|<- z!6D5{o190_iQea$-#Gw0B8)6AO8vPj=ap447=csE(%wP|nQL5fAWfeVM`T~&?;wf@ z(XS%?K97Vb(3Q=?Wk$S1hu6!?&KlH73+8PpG6s9O(*;;C#j2ZOvKg{*fl(1~$NKD} zU-oDb{t?1Ngw@iY?yMBQ5il2IF)c&-ik2@{m!TF!9nREJLxbNhnh3GPB7s3c^k2b4 zO3_D5X4p(jDvI%Qdx*;9^ceS;WbD@bZ|WUS*TA3-J3~Jc_`zYd)cvPmjF~~hP<(h5 z%P@076QP(>q2yov#m`HUuI~b&Y9ndYa%8l6_5ux4Jo^j&rd<9y5vnl!E!%RMax0j= zqF%Zy1}a6LOp))`)rCrAC{VFZo{0u!&FG>_t>a{I*e@Q0nnLNHU-A^7&p&hJBPjqD z?1pLu{$H?BRg&!C6#NjN0+Cp)j}1NnYq)rcCASi$cftGAB6U{ih9gW7>w%{<%c|@A zqfFq-1bVv6l>piMROi*hfX1~Ik|9gW5`)+2P*MK{>dlCCv2#riX_4~syI*pYmx{f?a`KomJ6zk=L7FJtsw1|ngZ zF6KMQU;hZ9K)^LN)175ZF7jsrMs`%Z%AWZWb+KCgWGHsrLzyJ9$lr^Zdk{l*P3moW79FcR&P8Kf}CPnWn2UpENkjycv4a^%NtW2N+?%Z#t21wL{0bc#7X zYW-N8yqtpeEN#@E0hN^vCFT?a795p3Baq$Xr*A1s!(KF#2dKo`WcuInz2L{;*pnhA z$63vge`wkh$Tr?S@3@)?fm~c1OemOEIUZ!C`yE`leh-+p=#wT)t1PZ!C+l*r$j#Z6i-xmH-3#tQ2E z)@fh2V?@8iC5ncG1&d#STGRfK`qwD%Zb{^AOmy=@;azY!trol^zdidj3P?arQ#iLK za`Ik*^h){u@uqmULc7qVbCqHHtSfd934T$a97l=D7_*6NkuU~6SaOyhEr;d`9v8#H zTy0M?O67FxyM8piFK!NEDVD1g7l&4CYel!6_>xuG(o&^Vb(J6S$&^3sjlx@8t24JS}R;Rv;D1Jhd{0;Iu5-AKmHjaZgQ(H!gF z*}9&CS7>D8@G^n+|b@F7?(dtQ}9 zy4DV?9*$DLm*1}cGo>rlwYExHBY=?);Ym-_Ssc83EwBtWT^D!rr}rEzxEaW}~x72;j5Z7I;*?Ram$rAnQ#AqJ(Dsq<^@ z$;-Mn>ed$`4y)>>#htx*R}5`|MXZ`aoxW_8gApG%Zhm3r_{$7B>;#ApILvnOzy~X= z-oI=kA_dMb1cD`q2_XAHhZo8-$`3@VsTr{IpI*FZ&8RPla=*-+1F+PhAa&oYgZ_!c z%!E*)GCIWh7aaKlB~;)>&%E|i7HAq1i~@&YGsjh+DP!Ic^+E`m> znF4k#&sFSCef40Trh|TMGTW(CJ)?VxTJ0ej^|tORz{~kLBIgJibWaDtQ?5(t6i`h%G7(c+E@)Uitx9_X~s4PsdCW#chHTU$JHYv zcU~I006D%zf&rZq@8Z!6jBb+4DZF!t15HBa$)n?&_xT(~E^wRc(r(*k*`}D$!UBV% zp53z|kp;P_7s>aKBa%pB#Xif;$XjzEVKA}9@u$Xe?;$dlem(i$#A$9_6Ar451F0#; z1E{v<#&UJjfya{lLjYZ@_WI34m=*qTsi?r!^C@kSEJ&6KAuaAuJv5t}9T||sl7pBc zm_Ulf1~XLU?aVC0>-_Lb@^X>>A}zM437j{g*XGh?dm5};usFitANO%k<qRc~0s?ec}XVXPK z^b>}~3tCEZW$x!BhZfRWLuiydEV3qgg&5U7?jZ>?BVr^sjkFZIVjKO^M;VGz%(U~y zo@P$!8O7mVX$9${?SSed{4E{%+J~~A$a*W#zpF@>-AQ8v;_BLAi%49idW=5-SdXg6 zj886ja9U=_XnzlOi~4d?V)i=s*>1!u*f?ujpiprr^a{D`_{w2y2M~= zlwmea;_L&i(F<)BBi#5OuAT!;ERUee&4FI0rG(pM!A36+Oy$t$kKe1tcho^r-WlHh zpIXK;GIbN>mB$F&P0X0#mLZf&(_=(26Yn-jymnW(!6Ky!FiDa zYMZ8f9*ZaVjZ%s9QDl-fqU45)O{;Gu6$0wy(}UkhCC82 zS0tU1L7wj*j{zsSjT^l3he>KFLqydZe{^vTrUR*T5PEIYwY1`k&{pTX)8du9f}|m4 z>iPeQH5>pdXm9$%;~EN63A~tvlg9;F$kkG)iJqdJ1*D|L5?5YaN%@Mxiu;9|uQ*Tu zGXy7WO&npj=pw)UeVYmIH*cH!u_(2Fou?>0nIlpV)6L9DX0BHfS&os0F14LQd(agE zI>uO{x`+Wgn4B%LVEdmY2u6xN7iAq%twL~GI>(}{3K&rg!~TCH46Rc(;x~FbNWO=* zwrze7q!mN@&wOkx5lxGKYwO2pBXnEkGQN7Wj9gh^1NyAt*Zdm0r+YFTjQ`l?((Z!X z*iPg-1VZGIpp5&yd*3dth~BOU>+idx4iTxwy<2z^d4*(#I3aYCL!mosi+7(koc34q zp-}1nT)+!c>vFBw!^h?KGRXLvm4n=(AF-uzycuB`FyTETHijtoXzG9p)ArP`j89u zj-AkbrD5E;D)h1IKbg2j}?b^k%wW7GaH5wP?Uzu*1RWk-XonSUTnw;3ijk% zPUZ+O;XM%iJGUrEU-3S+EuTzdWE;007Ix{93D(kABnhqN{%*TdBcL^Z#U84-;lH+T zfj{P_^Vo+7ScSx7qAFXkWzn4QkQ4>T9M0W`9&nVeuf`WZ!4ER8KlRp*L1^-YM{gzZ zdYGPZ?j)+?1Jqsw`fLwOV#2{pnhkQQ?ru@cnF6yUK9M_cA$8{nppy`6kVeGBtf8We z%s)aMK!}OWl0PcLAEAAQzjjn!s8eQwtZWL9$H;Q_DH{6r!A%jbqle7>oQ3Q11!|HX z?$P2|=u$q*jIuY~XDyKdDGt)t*v>O*bJ_nr#`&H+6fc#$ZY%`Uw(!ROI1%7A+6sMa z5mOR*)}?<7<^UbUM1GDPrYaL2Ck!s~l+Uk_6#9cCIMW`Qsqy-ixJ3jCg*H3nGau7B zxZ?!&)C2JKqHtUqWs|F}RnmYu7g<5H#+$q4+n;B}2X8c)IBZthV`}9^wS~@T{|@=0 zL=1wHG`xbMAVSwDyuwMAQdSm%ZHu_VHnr;i*cUDj<|(z!vb6S9M9Ta`&hz4&%52Bc z6Kk)pR8nE;{&u7jvq4PF34mZJ>MQ+A?^B~P>MsWz$0M+DMd3W?%fxiFW!7`mH8=wr zmnJ7WWp6d-j7+I?KEoNH#N~_e1AbCcF_sTG_U)fX0^#uWhV(rRR&>^%j(M<%@B$|^ z)Y79*hJKu(jua%E^TKmtVs~>=?V!#kX}onTOfDwF3)XZdy~)Hv;%T9A+PZ#W&RqDg ze}v{CU<*Ac~6+Q+eI20An%Dn z?-A_A*pa{8_m-{}-jVp8j`4jHFvbB4Ep17uI-rvF`w=*jy^NnJIPJq3gD}ti+1tA? zEoN$>ACLUr zWf}wC5z`Z;T&Oo$J5P>{FPVIjOvvlvYqo}Ql_wrW3W|8<0$*j6DBD00@PO@jj-@Dy znV}UXh|2ySq-Y~S$4S_hIc{fj!0^ou^Yz@KOQiOsWf#NvquQR>^nRf5j< z3Ff)gAApioFwN}f+o(2-ZO9RRnxWY851Q&`E0qr$Vm+BFK^D!&p<>jAp)f&5mkN1N za@fYcqmNkd1adUVOFZ>~eAss8(&=a$iXECC*frJ3uFG3|rDl1M2QIb^O8gzg$DZ8( z5xPL8E|FD2slmRJFJ>t7mPSWcvf+Qb+a?GTwOsB^E|--3lWSs~>gBaL&zzK%yfI)! zO4od8A$H8`v92V}f3d82iCpn``sFrIz~83)xW}~Adds(bNxAQe()0Y6((RWo$$rio zoxNp*C2vl#Tej=A^+-OxU<6!b`DiUPR%7i5UsL|L1JlhAfm$(1D$1o`b_=XBdpj~% z+#pmoU7YtK6Em8bpVc8bSNmH#ugYz*ZC#&6xgM8u-?YxHY9mk4>6hBaFG_D)UY@>{=3L!L7Kas8`+5l<)H@nOGsd zog|st^z5@xror!=d+v5OaY>6F){GOACJ%jf8c50MabVLNxcfn9ip>x!?5RHf>(*k= zX0XXM4UjCS7j0Gb7{;6)8RBn+@h({MdrlTmz@v1<{EadWr$WoEXtX?2QeCdzLR<0P z6}JP#W>8)?J;M$cDO0}OA)?3fT`S(bQ%NhScIpJb-FCYE=^&hOPcf!R;?M}s_hu%Pc~%SYiy{NbL^CA&<$tqLw6OUh=eHEMEC+%jZ zy3hx!q0W~lQnP-ppL4bLPPVu|4A)*Vj#`d!o>yo*g_VJ#&Ee>X)@%q#7`yE~^BF;^ z1S-bf+{pTgz{d8~+a-HPbV8A4A-VKjrfI|INf9*t0#km&zwyT1?MTQofI3)^CyEKXD+IC}Yf*LL7BdBo$>Wz=1gJnCTaf}d>kpa}3ew;~J= z+~=G0l@i?mqyTmHwE?5Sy^?TQKDA>!4l*p>HeW6~qh?QIna;WP?XY`e84EEyiAa5M zr*Gch*|;DG$0ZfB)(d7U+WcyxM&%Y9*>uGX)Je&a|ePS@8!1w+_>EKzLB4Q;tlja z66|VmOu4O7;pj$KKT3!hy@W<=PxXjA{_bVk>$&L}mq{_RE?QgbZXNr0eLwg3-0o_b zgGo^WlZRxpDoBXAoEmvhe@^>=B&z(5dSz4907Va0kJbjChE#3i%F+u(NETVIS!czj z>cq|#A6rYlcWI^SZ35n5j?HnjNb}j03=tk=iftMWSOa||ig0@_h*IzSk#io0sfJdZ zP@_b3h2VpSXQ(87`4aZ#WXp&;tK@P6@FlbG7*S0s!W*?T4BA+%5v%HCgrD~t$K~O| z_5TsdLWFI#Rmxsvclk)ou@%(Od~)9B2mdVY?WuzREnceam}ymP$BVdl?KD56$3^mi@$tis;bd+W_zIu%%M zf_gLhXA1T=sfpKtl;@8}76t&Nm@`{9)jSfzOG@T*cIO zX{0e9f1Yh|KC8VBJv-5Sd+2<5GsFQXWjPxWE1%0gAs@kmtjUAJ;e%27B7qMQNu9ef z4wY*FbA*fvNE{Ts6jmUaK9G>ciXF~?R0Voh zYLd4jbdqH_BKVKNjK+7-U2bzmG^b#Cj8h{)xAC0w4K2GkNn@V4&n7-l=xNh9bf6b#J@cW=#)7@{}ULEQY9f;VoknN!!*H*&GGU^ zuRv2?8$=QLSr?V%V~lh6dao5))5770OlZ>9<@sCJ9Y7|C#wF~`l*^zGGo?X51&gMj z0?2oLn257PE80UiblzL+3ug5m9+ElHcKsd}<`c|4tpTG7KQ$tMHut6oFsjDKz*h9JQu$o;zn|S#yFNWwy+v(CsQ%Y*zJa%&f zzqjYt|0~w75b%bWvfvo8DK~A$rsV)bTp^lBU4}~EN!kT>F;d#2gG78J1i6lkKWb6c zr}QkgJ8!jdC_kNmV!a4{uUh7%?i{u$X>$91D4s?GcjQf-0@ZJ>kLQ&FSbEk+9FvSq z#VHri%*EDJht%H}1fRpyXJjbipO^Ks!5^kLiPK7*Q&voU-X8btYCK}u7?yL2qzqc_ zqTeqc<`_Z-jnXu}mDawrnIr{oJyXBjPtkT(w@tn3eJ}-pA{+9>Y{CwDRB#@!r#2$V z_QNb-$5S1(k#81-OVU(C#{%wFBgCcrDNP;^-!K0=g%*|vyWl9Tv$>8C$q9?6$@A&j zec+uR1Rxj(aFe_;;*H3UaWnJ8Kmax-0Rdd4+pOtYBo*5UKE##gMUVF2PQ^26fAUkf z;U(-)8ImeNbNrEYU*tQH54x`9PI~P!4vd-1=A5?qhktVwyPj{1v=AnOmwzwTb8K-- zeeHq`dffRJ@&&t>5Eq=G48|qEV5`J5eddhHG{De{KVXU4r;Xfq%%Z6$jeA~~h{9EJ zQ#Jm#hl(JeGcwKdShiI~Fkyv110q@>npj=EofsYx{mV$K(DL}!K_Z_Z)O8E}!3CKK zsiZY!^HWbLphp2DuyWFtCI5QeCy`gBr%$3+hJigyvHsxiX6zc?*h7kRqSpkcL=S1b z9nVoyk434lg5`Dz=}@oNRj;uW-S9TbXqXm3e3Hrk;_LlfetV?gcI>ZGE4RR%_=6Ok zQFB6_y#Sfs>I5p^A3x;@QJ_emTov-xcY3m-asr|hEeX88d$YVNe*e~vnX`RrpdTz+ z%JZyhsciRzo*0e1b$Gsh&v!Bf3jq33quQj>mk>jE3MH5eW#!(5QzwcN+b~EmVG8l$Wg*V+kGgz`aVaV(s}z; z^Si2K)E?7U#Gu3Wy%AlbyO}TFUYzVpK1OyKZm5Z4es!`3U@Qn-v z3Gn_AYJz~xC6pH`iR%Ta&q=MQnBsELgjLw&`u>K!=bntDCqMz}>47j&ym)c-s673i zp?m^2dwr|Sn6(*#5uG|DmFpv5gID)q8R(;3o52BgGf=96ENP98Fxt0^_|+r$s*k?*b}d#0!yNawc>8qrZR1pn%Z}l10nF0QwT}gG5OK zP20%Iv5~AGlx%-$B1MaFbg({v6ggB6i?W2>3#30f8JZ*UD*0;&sF_~HT1h*wWPBq_ z)3j*M*80@Z{qR_3kK`uUjFlq3)Ij`hslEDDFVF?RewHdA0D;ND=v_YeWSrhsPoxJ! z8hRvheK3##-FWK&!Hj13{!m=D(d(ONR%5>Mw~`yG@99?sgaOFJll&2%H~Cs)KLE`I zWI>`JZI}X67|Y420k_>XRQV6cA@7sv5QA(hSN9J}COG7UNwwHZ&2+L<$}vpM0nLZ} zf5A(Zqp@HE2_>8{oLQbiyE1nV~M7;bj+kIr~u(Ld)tP z!x9+WhbaRa#nYDb@Sz1KT=cfu%!ZLTLZOPrgm6e>@jfvCuqJBm&cGW3bUs({#mK8ZIeDPi88Rd&^&5!SLq>2&P8ih0vsEL2cvV8`c(wHZ?5gjdH-!oC0J5UvujluL| z${}`eB5q3A%7sefQ8K%v5*9HK`Ta&L@tmZQvMpClF~dkcf9YuRRr!wrO~wEGSp6@9 zim%;2LE}#VtSK@5mWMtoNb%pgI|hIeyT|e2Eg6dlznZ%w(t0GY_L(&O>h|70@NnsP zYod*8e0dxar-U0bl4$a8Z})*Q0Zbf-y0OduIJ(NPsJbqCXXqX}g(0LtT2dP6?vQSf z1_9~r?(XhxknZjf=>}2oRfPG*kH7P9XU<)FpW17$r2snq)UqJh3R>hK!B9gg`NrcF zwY^w}-g^7o*N912{euiu00plnfJPuoQh_=xg14b%AvT4)_Nx!d+fSa0M1fl58uV&JpQvm~>-v+#Q%z^_FhFZTK{d*XOOXtdKItwk7-R2ZK8RCHDm^CE ztfr#{m&T-X1gROZ*sM6&sS7g_5<+5q%19R7EEP4xr?Yx4bpiQhD6wNlAZT(~s|>8i z*JK^ef-(Tv9{w2Ir_d3|iQe*ezW0gG<2o!AInn-H5$U{}Mf7Z7vFiC{WlVn_?{tji zCIf%~s#9l0*!ihfqc+HxOk(?$ASo!Bi4PDCG9h9Gg$=5C)xUDjlw|oxl!_RrF^X6$ zj00-yC+D_@RNG1}jE18T2%uJ3zY@%NSL~cth2f#?iQz{5=QfrG-UqD}yc-t6#oqqQ zJ;d$M`dxe`Y(}j{9tA%^CmClh4Q0n zxz5jLW4{wkE|QJ`jXN)bcRW26)A1l=Gsl3b!Rm23)F{MJvJ)b9@xL8JHRR*fV;gcY zGq7YtBuKasv0LMJhkPov-g;Lmt-c(;9?rKtbFdcfg5<32`)d^a&M{~ZjN`UnV=!Ef zodhN2dk4v3-p;p1GLlc6j2!$9sz_4C5lr2E_e?yls8g<1wC~KO1r>w$EH}3)RZqub>@zP=PcDv5et?kI zB(wr{38MxBP(D-sa4Tt60(-v`=UNM-V@Uy@eb@Rf+FvX>=H| z5pn5G?ulVQY!q*?ZoXX#wVZZl_OkZIdd22!#{FGtK$XbS%ub)Jl9dwM%cMx!pLv|5 zT-tvKJ)j~68Y|{ZlJ6@|kU3afFQ~z$NXUy9Ja!q*qcKhAmX(5*X<5NAziLFk!sJmr&--I10<^WO@8<4N(#*P8Uy zAEl$hvI)s|?74>?2U2&2`b=@IZY%|K>%ZuBWqsXsau^r83tJ9K33~YOcZ`on;W-T^ zOz!#HTv-Mz&ZGPR8$DIKY4ojg1 zdtYI&jrE=cq9Tya$n+KAHTb6VwS&396n*Zn1|)xX6$ zP_oVbA@m&+QBO($v_>%_*ED4WJXXjNS%5#Xx{Y{zry}s3+Xfs8ye&^VzyZ)5P=R%9p-J@}+_ltML zWtNnz`$7cmKy!A402v2o%&BmkuQV8HO^yazntu)?yH?Z?qO?iDt0e<$xsFYHBN*u|OVEKD=h* z!TOyCdGSC{yh0sJ&jq*V>QHgZdqc;EPd-Ou^bw z_O|;vFQ_cAe!x+|lc!LiW+s{L#4-y1T^?$4_vQ|YM6kE>gWP7w#hc>~Ps{1YW7PVm zTHg>pD;mYhS?TQj(oEf%#1%m_*JPjGt9TH%&+3=G@41d zPFyvP&?=|(m>7{e)I*w<F7@=tQ95tb?dQaV&T&V*H zeOB7xsxpVnMz$exIJ^dMbvdOW(s))lO`#x0z}tXVKSYI1$q$yz znD4p%F{9PnAOok@L9Qw@UUuDf^CwpvW~G&Oxl&=iKJP0f(*<(3EF7eQZGER~qsuLQ zc+bv3pr?R)F(<83gCv^P>aSzhhA{$yzSeeFqgh~n&u+$J8#C7q>{on>Ud@Ig7hsE7 zWJ(hyg04oybo2A)X#foNM+`v>5OZrx8iwH_Xkwc<kQ|I!m80pgx+WKj#oBHj;l~ zRo{ygz~F;v4n;zo83t^WU~}*g6d;(SRbnPD4b<0^&-Q#n6#W=K z7@XYtFNfe7n#FLz`f>sjaqu>l$rphHBeE+Krn!ePb#Q!Z^SLPaFopHG*eVcV>L_R3NCLW>(|b8}CU&MJFEcgeV3^*Mio66c{P-`XQJKUL3}ZN~!(86C6(2Su#`( zNuIPvAzs^**d@JXfpJDEPT{1dqleI{+Jk1Xk9i z#F=vXhtPT;qLTIObUCYp-qn+nFipT*9Fh3=szM}46SJtyqV|tf*?5CA<{LxaHy(Be0J1cDN zVV)khwWL~~dg_8Tvcp#O7j3hK(FQq*Tn3Bu@a3_m54yGhy4$sJ2i!Nx1&SEocr}%} zHhCTvOfgYN@##nJBqh(JFI`JAPW174%7q^**GBjzGpUD=r%E7HqAs%pcX@9M(T2O zX-n))Hwo0Y$i#{vH0(`EF&*VfZUDbq93UbeNh73zlwsnM(}ieh?LEr8wvy@EOf5a( zioZA(SVtLPc0x?g!sQ;W`zj^E+3e9__i2L`jN8m$Bt^%qwUecG?MUR1!; zC-zMW`gi=F7x{-|3zv)Ir6FVjgyrpS5Gn#oS^ETS-R+6e8YHu!^?>^HsI#*oMOPum zM6aiR2#o|IEL+bhRN*^o1PK;6F`;1h{Xd7qX(BE}%1LrXVb8o^F|ZgjNh76R`T5)Y z=SGtS66Zk)g-;adWeY6rTYZlVR6d5rm#JErj0bcP-NgyawWDMmXsmxSGed+5-oE*@ zKC5(4cgTCtY^G1eEB)?g{;N84mY3i4Rh$g-@h9J|%V@ig*{Qn990lureR6*o!=A0L z9^SB~L`9}69H(5rz5TT+2Q`DBUk?1)F8!z`{EBX?rmTcOH*Ca>2#s#_iyYKVM?QJC_r4W%a!N6m}lgHqg9i`5EP3YR1Sd9h*qPxXLw6U710gw z;p?91GtkzhsOjzq3*jPmeZ11wU0W?^m2PRFyQJT1KmEnb&NE`Tj%Gg3ntXKrpm6pd+U<{t#D1Ug+PFjA_md8KCZ z>5u;*)Q3vPt2rmM&Ecwh2rq(%2qo+m2w-Pw46zqG{=JL#&u%ygP$@xEP)lFan1ZIf zJB4%HE{}zGd|($39@cRzB@znFvNIIq`g=(;X)stK02Dz1xR_iXmLl@Vg)Sza3vTA% zaW{MO7on)f2jNBx4$t}-xk}UXVsr)^EzESH;4{r*T&Q_j;p7?-CA-4ce$E}emCD#0`V( z@Kibm0&lCxWRYX7Uh$dz4ObR6zWwydavV$Ad>@hOl$gnOy~MwrVy@JKyE~0<<sic&ZyYFo>f>iEZ3ze=vAR|82;x#BYedDcwUaeAf4EK8cpW1j;j`db4|a7h^gK>3IA#G{Hu4;VZ5C!&nCwBI?hzk%1nE`2x%b?_c=Lf8W zNRi8#QmWNoVP-4HPRV*)rn9rc^R}tJ1~Aw(GvJ^JmIX;#K)7ReS~P|bFhiVGDIti& zkO5|-HO9vI;hpmy*X$pk<2HN5s~3HkYI{>VS3p<&b~Ri@tMBjYxK@6|uFQO|e1d&w zvN-$dccI%;s`txy-cX|Wd;Rs{scg=@qqJG?p0#G@`E$!yOAq4%q%$iuHCKDyN3>vW zNhA_cmg~8Gt&>Dix)nQ6y9GEXb%Pu;iK=pipacqLQNE7nGQYI;<78v-q-Rw$coq?T zx)?Ymx+`W*`G?RD0AO>;f zAPzGx)vUjey_!Ss9RDe+h*43q?Ciq}Y5GOMQ050IFR}}}K8h&Mhy(M3aFyup#r&n$ zWN#qeex7-C=Y9J6DYG3$e6YtSXb$)hwjG*2wqt?`Ia`(=a>1KPsn^H8{)bRmAmS_Q zx#e;;RgnV&Hq#Tdc&#Flc#53gBK$nRy7!vVT=c+6^GK2}Q* zD*fpmn2BoBlV;NAV%$g*{h-j&Mg{wCY!xt4Gv(?#6Tx%l{F?|4L=bC^9*;?_Ry~v} zvs$+#AXSlW(98R>a@~~kSuHp?FqnfLt%vo2V_GO|QO#9R@KnHbh{bnXWXHUs19^QJ zc`@c4FVVAafP3FNwT4}p`-q4~7 z;>JIimmt!`%%{+FOQ|GwSJ=RC0$;D6({^(}1x@Cpo$<%qRjH<+ftdJ6F_TVP?}C5v zmojT){U?zJyJ-O)8*Ez1TFNs?Fxcwa)>wBF;P1WWnHeDWY^L9$>op&jYcCcTn?a0c z=T08UTtP>}e!M@u5rtQ2pyWVjZnvVM#KJ#>#sLH+xy3^VvJI)= z%U7nsRIx=G|5uko!mjct$8=Afs5;VXjXRxi&(BZMd?syvlD1QKo+5p5FsQQ6!1+@{ zKk&TvcK+(&n|)=XR-;x*5B~l_DxDYy0Jx6XN!5zck>X8Wl;)wP(hTOEyKARw9*a25 z$OxaJUyb6qQTgl|546E;YfHV5B!)r#1u&Io5pv@N0C6l5pp(m-+%LTgbAQ0cbae;4SSHM31v6T+R32cP`2+qt( zeH56I#JZSh#wrR(5j5?JrraTBp1B67_o4#M(|pqWoY9e#Qh2BXHK{!}<5sP0%*)$$ z>p%lM)j?w7oMg5!l{{Dgd@lnk2LQ6Wrm+x^O!jt{Ha<(nfW|O>31iFa$#0WX_Pnoi zt@1u?jQ_T5a5@))gJo!e%Il}-tTLB#*{|F#1W5;WB>W65+y5V}R- zy4u)7@HW;f(}^n#tJPsFlKG_c_Z=|;OY2uRGwVv;jG%sszf()!}HB$yHb)GE*S)b70^n=YN9$>4XGWP7qTTRj|kKK;o?ZyN$-o z60X|W7?>Qg3Oc%QhXA6Xo|yL@Dubej>Eu3x_*hVleEGi3Uy&X$KO5pqWJ#VMG&4a0M5$Ei zhN<@fRiGZ4m9UnqsBThLPN}Zl7=cBSb?&rRLmcizxCQ@m=pqoIAHGugj*%O^3TW-EAj1Lvfz2c@b~jgu0t?D%Mbl~|Er+Nf~8;#f_W9G#DsO&}SU zj_-y0n8?m0lB^HL551abFc{-!;Xnw$XwDYuHyduEN&@E!nebDiz?Y$(+_jrQJPPAv zeDNKeRa%t^tNb4;YXhnZ=q0@$MJ@X1PMI9CX!EQz3ugm5wvV$ZvhPldamSMz2#t@Bw0r*lW&22%mENC3d39j=;0XyPOb zQ@Xqubc~@$S{75g3#^*CqhTaFP7xNQ0t+xGlw7ae>KMP2v%-p;8hh51+KqAoV9$1N z3-sWutL&czL6hvUfn@x0!I&hGB!;*~Qazv_PCKsARH;+6c>A)ZeRLtJwHS%V7%>nZ z^q6T03csSzm@YXqa*y|}ZQq@9@|q9rh)E$egdfxE{~>e(AUwfueZ~kR6inr^;6-p8 z=>qkVh_vg!!pwx8wl|o z^f@b1($&taECHPdGDdb3gL>F{jKSyN{L`B;HI81J*{p9%{nLU6?hi)|0!}lUn_72# zOSD4u~E9|46x&V_rub^HO(Zv8Xy1r{`m)N{qNt;iBy%q^{RGG zr}P;?=;%@G3{oE31^p?o?)rf9F;zTr%u;qZCdadXIdy7YqD;=NK(f*@>I-8sdBf8go4?h)z-ZoK$Qj^wb zbj7*r8wQhfHxO)$e0(X{4+L0OhPh;a)`?*fV(~**naz>JF~qB4e1tt|B`g+>sN>py zM5EX41L(4Utl8w;z8q9*egE9^-z&EowurU$m4T%OrOM|@U0}K{wm1qjG!gZ82q-e^ zp!MxO;AgY^=A6qoVl?mb8t;yVRU-S8dtGKY4U29{ZlcYoclNb44SJ|=t_bDBea>Lzu&;lcQ;`M{20^iZuilB! zos42~&`Ci0)^|yh$8*@&-E~Nh{Oq4H3gq>XF~>NYBz;-B@(MP!u6(X!mL%5cTV}pW zz^Xu#p6z^xwmcST*^zQnOBt8(m3o~r|3!-iZ6^`qAzDvYV^g{K@!Y3$oR>*+$4Lw@TAo0r7uka}=LeM%JU@i$*Wd{xJ4c&Z-(Mj}aMNy{Syo z^~mA6!{ggY0dA28)gL*JcUL25I?|4Mv?HWFq?KNcNbq9Z=X`pdJn-}s;Pgk=8LS(bsh#|6c}F4^ zAXhvD5r^1PsD!MJw9j9q2_8OCIPRVoZpdXr=62g+gx55ASHuQ8_nU%I^uRej+XV46 z?hhaP3K(6Zocr2h$a-8Paj#WiaMLK;m`~Q(PNh2-Koy&?WwrM7Ir-!B-VTaC|3mPS zdA!@Q@)KWXX;OunJjKmkeTRN?e_m6Nww4cHBo5 zAwn>5jw9A693x z0`x&QrRzrXqF|=#z7n)t>bI@!{#KtqZFVR;VUxC~(3mcn#9dHOalVI}9vI{(Fg&w` zXvYj7@Jf}!n}GT}-~lgH`s&Osrrp-Q5xMz>Wx{gRxg?1w zP+3;7R#{Q@o%dz1i86`Y9PW&BMukMK9aErm>X}y;-dTfPxlBNh?{YOyWdqC0o?q4` zG3472T165D+7A8NNLH^7>_rJ6zLpKfqZ>1wZ1k0=7e=o$30y6qPi-p~NZg9+*Cz4# z?NxHmqS3}G&(VklmBWl-lRy;DPm&h23x)jsZ%>Y!=%3())B(K4D!26HL~>>#C)jIy zh!Yd3BN9(%T@*om$(tILe);b6#6atk_qr%!zQ++PvB<+9DLa+MOQ^eA#-!%Qgm`8T z!@m{fMLZWENQZ!nkm(gp`eX;0!mC(Fz+YN_u|;r2sQn1o*U2jFPRiEZUUOOJE;H|S zw#UE)_#qqI8+BTQPlHF;kYk^kgMvUB z-BQDYn&86|GBm^w2!6AmS(2Aj7MWpc=VEHbqz8jm^d?;P-s*;;V%L)v7X3%} zUpAeOg0EV;Lz@fmMLmqAMVcQ+ zhkI0NTfx(6Z~broK)Imc3&lcJDo(-({-j_IDO6O<$v}6RaD&!mQ_F->`k%_8A3UiV z?6M>qn^l!-r?DVA9nxd@g=aMyW!J}VaNm4-Kc%iLG2PKGU8OIiy=;_S{Uo?**;v9= zoh?r`(0IbEHt=se#g^bsK#w-gULqEOCO(`=5g#=?uy{o_Yle#4cDe40q&77^Cqw6 znDaKEFk`BLJ)7ykIgp6}Sh?5m-NDtc#fl{qt-Kjdmy_CrpIB{F?L!Dut;WuGU1;U8 zH>u@z_P5|Q zt$cM&ou41?ZkBM>@9)SgTt99ccz=~Mb${+W>Semvrb$EP)G2h~?8*`u+ai>kJ~hX- zWKvI93q9GL?FoRt1-Kg`l^DVmz}zn^pTAC_sXnmqHk&L(Z2GXRZm-(FdNp8IZrFA zT-v9TB$YSH990*=)SfZDtkR!+58r-1zh>pwM^CXtgkT|8N0`MU&x!q1(owb^9jYB zX)$f8H_~0rH8-}sjC4^^Ci&_ln0hGhT(USXso>urUn&4+tncDQ7Sjh5kH0IYRF5Zg z(2|qRA@>4a`2x|_kER==TEVF0p*6ga_KJy^Wt@ML+ysDdZKI?RF5>Ju^SjFZ%O~vD zaDa})hti5p%9hdYZVPTh1H0uU>?LwMzT$5urH@_G4$O@eZ_UcM5>70CP4d0>sXUXlnjn}M*b09C>CYFJSKLHaLUcuyZ(yxckH5w)ucsZ^>>77`BWe0> zy7GSH)a-@De#oq!v1s|HP+Wh(`5w^*pw;yX{Wmj(OEK8d6P@#ClRxsm!NEa2Pgoco z!7pR46ZH$Gr6!M#@5=qcYpZ`O;rQuh{T{~kY6I4iK;BXA)z`ryQp-E=+d}W&nC5yO z25XijKSdM8clN`+>^a*)u`%QWuq%UrxYQI;mzlLe6HePuCf_pT=4c;AJF?ixA`TIq z?q@ki$KBO{x^OAV@|fJ2^mEUdh6)a@e#3$K$O>kIUNB92HiHbjx1 z-ez)4)9FV!Jxx|RJn_$77RlTY#;V$`-5*&qE#Y3Kd?sPJ6j`f&U(-)Vwn~Q z#AB)jg<@MZ?PT(=Xc84Vax;AQklVYwLd~QgiJ_IMy!$S)9*-W(`2?ADN1y+>&DUY# zh}p#ToZBNGYw4#{y}x+dr2*GL_XYg-GX{Jw-3L(MU_vo>W4Ve)j`&69#kBlYd0DxZv<`fc0_RY}AoGi@pu#^e} z>PZ@+LUGSL#xQ>#{N*JG6~3X6OkR>fAjL`0HUB%Ri9TReb?~E6A}?QzY~iFQnb|3?c0D6GF}qjW?XFoW z`=RC3aq-Ytoj%%86sOI0X_>Vtnw~@aZ!ZLMu?J9-!~p1iFh0-yAg5{t2pk3idzWE+ zT-JA%8O4EME&`|GOy(8d@-LQ(eojIA&*vRcRO4l&J#CoT7i8*SeBr`EOgi;Qrl6EKqXePp46TqTA}x!( z(P~z$h_xgZWDJ@|48kxpW(;V5`By332R3{@rkF`InKhm)3 z{l|FVXn!9SfYQCP73Q8%Qet zimJpbV|SU|w73IJSStItcrbJk1IH+qu!((BEoKz7I6_|LP&>S{OmmB=sWy{G)||N= zlvZ5)`m0gh$MHJUNbJFN!%`~~T1=gP2w4S!Vb;sOlK6kLEzo8>Xa&$`25hf5EM3%* z?b^~wiG!uXEWZ4e!M=qlC@jsrry0Oj%rwFvq3hO0h zDlY2tMH;i@r7|_%>*?@T8d)yK`lb$Yc~FM(X3W-K!Ra8E<}t;MB`g_~AqnzwFfb|o zkT{9$BcQMb7PqrVZec5ByrG4`wA z_mL41e(g=uYQ-Gt?w84AA8A%l#mBxJBaJ&-ISxbn^78qUlR^bV?4%`vv-%_CxARk{ zK7{Vs!p~*vK5w64&qoIB@jMS)JCz-mTPn3$)A0Hk7`PcQGE5uWms0%|+2m+o#DG;U zS&xL1#ey@aVwjXCeeQcBjdNf8;nyWfmjWt3=u0Tj>RWf zFiEUhL6epI7oG@nDnQpZvB(CPkT{dwtD~bAWt)o0*WuYGW$wK7@8#uuq(pL2k)TkA zSYs=sZFF6`twp=FK0g`w>~55&!F2u+8l~I=!A+`LzYhrRxoL_)~1emNRQ z4zBS%$|MqDeodqIhE-2;9yN**9bEXDMi=M;K!}-`hG@B~X9t+H!NOp)z(5rAK!^!Z z*|wE`aH2B~{)D}Hx;dTJiPzrD4oBGAdIKk4np~MXfx?;vhvCfEi#js-UT=O}CK!JT zR}=rBc&yH-eV)PHAHe0tzH@pkde1!oN5~>F5Z_XI#(s;$`5m>-E1SVrSYZNeDjc?h zXQ4HIAsp#1Y`_l&Jmm6uu9>A6T0{l;{|@y7hy@#|O)nsUXIE5J(o>~IaaHdb`rg4r z-|e}`HzIS`<{n0}g~UUtZZ)cbc1=K*9s!~F40Q(UJjBDpx zwJ_ajglIdqfABSi)${{MCGhyB8#D{mD5sX);cmBMjLMEWqm0DtYvG#o<93+dCy8m! zL=8G2jLgX04;iZB;?QC9G!(yEY*M(5R=epHF=z4mYUw)soG8f34*9x^^MkD+HV)R| zAMjGQ2P=Mj(FRl#A)q1z#1YAhr5{^*sIubiW(Oj7+#dYeCL7E#8;0t*^dj|TN*b2$ zC#!BZCTpO4B#!}b=b6v4Kw>H~9$5Dyg#<&d37DP>>M{4D=0x|ebkP~o;irb4;|DPbd&wYU=5Dj8IG7FrSahbl zn2bSWW+pPwL_AcMY*M$zt>=pK+byp7fF<#90xp7TN?N+8w~&;t?`0664*LnLj3Q zAqTO|6ZPuZ8!6!(Hj*vaeV%`D2k?Rt(@DYMlrJ55`N)Bp5HR+T%4HdC@u$4A?G{cl zWQwew+TS_YAJ$x#(R7(ZWU|AJ$sT46RQ^~6{LX#iSp^RQ5VH;LiX17ZtHffx)L`j( zjP%ejic-Pg?AmLr5kv47JTNVKkx%GU`Odv?^@?6QmhQD1IG%Z zk;chhYUd{{gdPJgj_WmRY0=345ZVMIyylQ!-XU=o4XV0zLPo>Z+@^hFNs9)GI=bE^ zVPxcc4c^l}9uh~(h?G_$bW7+;`ju&{$|wdxshN$&X2P*_y#-iDyIU8dCR zoT?FXS`|=)5|~H@A`7$m2XM&z>^HTPqNWjx{8O^jzNKmbXW$hIEn&TiVscm2oEkc^ zQBN>cW;x9euWjxSYfVj7uh2I*?9l)3R=$N#s3F)3XJ8mc@#m4>M?OI~M{M2jv~m!e zU=oX%W2vB{6Cj961Q5bezkIX_rF~!9kNyD!X|{L#b5?)ToPkNmM30GI=wzT_*D}sm z!J;6Yx;9i1!}(Yy>KAZ4@bYTRVTOrhim(A~kAC5<@?`5h{$f!ko?BUZ!~+!Ynm=nZ@An*2~5J6(P)vC~0u;@qk3) zv*5t^UsUM(R0N@hufMBa&Hw(r_z$5gFhUr|M9Yq>s+KhW@u%TWScXHiZyc#X=ut;a z*QHRZLNR~@?uvOzW=QfJys==I%NY@D6a=8-u-n$6Wq>5`%hgfDy-AyY=Zs>tljY!P zzh6jSqV=JSsIf##ZW!iCWp-1!zPjd@*Q~hvg=`NSc-B?Mr7O11lz7ve*UauZo;ZkGz8I-m?sFN zDoeIAy?sPLM?gUc0mKI9>6VQ?Q%6dE=fy9jL?dqN?G1H+Dh%0;D~6a5g4uW!eF1fl$&+BmklbOaN#F-6^3aa*V09L0$yp zZmw#%n@b4ENqLEwPe{h;Q9^@CaUh z4_^bkmH>LGC@3HwIKnq^nrbt_QAxl75*t6({r1a0>pFtYLF6uK{Os^Q&3eRd)D+yv zXoEC5h>-@PNjm-s?2~;Z6-VrOD@iKqfAd38LokPaRQ+k4pQy@a|Fd`%&3@GKbnkYt0O#&GkcX>^f;?npzehMJS zSh;**s&7bU*osA=7b^T)MpyC1VfNb7k@~@3bPr}a5aE9V%H_ErDEM{Nec8 z-ypiXg>iSF4RGp)KmY7nkT7$2KlLxWJ)N~fsE*kpqSPBGUUh2Qtq|!PCq`qFrPGVO z&7)6};RIBFK?zy5dgiF@|L37g0D<_8+;lnlk~s<*sW+`McAO+zeH^a%r_>|r8xnyk ztx$8XMPe${&MBk@X->Q~Fk9z2;cl#tTBSlO=wthsdR41EE zb*)v382jSYZm(N4dQVU3Nn~-0Jgass7j*d|4fQ`;jCa)HgA*quvgm&z<;2WTiQWSU zf*xXlKZHN2G6O~|f`_XjAR(>&o`hElNM#b~&a0h4{8g$Av>%gmJu(dS`?MPybQt>; zb+oi%)uhXGbi6s1_h^_qLX#wx6}J9+05FR!090VayrhF`#W^oqeu>ommqWXO;JG)73b9OgTF0Al@S9WgzyYmV4$1EZDHdfnP>x8S z-_EhLxt}>zX(JSZ<Y7zZ zd=mUpxZZ*t*Imk&vU5pRx(gF01tE2=!_!qfmD%bX?>7?E5h+yxu+kSw6;+6m7)h)s zppb*fw%XqUJyn7Q94~M`ct1|5Q8i|jq_CI%41eT)<1As8nC$A<*w@0NU*~c=e1ZG> zd5b7CMs;yf@PkC6LOwy~KZI@p1Y=bN`%V&PyA#wi-zZEB!=X3ICZ#v*lSYobkpK}F1OUV&$My6rm6_21awpZ>I>R8RF`;dpO>-g*) zqps-Y2M8FOcfAgl&bA#B7hjqcWN-Uld*9R^_Zzi4v28nz8(S0Gwrw^^)7Z9c+qP}H zjoLVAlP2>{|9cQ8VAuW{U&{69z@?uYdopM@wM4@fx3&jB zUqwP1C@xwsnudv(2D>elQz3LNn4>v3?z$CnyU?h|0e%$t;igo%+wCDxeoj!IGw$-1dJ6T|h$hs!Yq5OQ<-X{z34ILPgPJ`^1vj1oXtV zd>Tcmv|4Rv)avD93aF?144*GUENdP@0tsm_G&)U%4}<#!ShB^)mCWr754yCf9<}ix zw`;q1NNDv7-KIC>cw67~dHi+W$tm-P(h7-{|9*i`OT(d+KLM;AL4yjMH2EX!>awW@ zkf02aqoyf@2r5r($PsvrjUhgC8gnX(Q zEvyosw!daG#GU!-4MFLQm9Me(*kFgz{hVNl3MtD}T)j#uHY}a`&WXPLg4FU_ZgD5u zz?en7u^cQ-mFitgETs&C!2P-05-C5SK`5_8cB|0{A?B1DX&UwS$9~;n#nt)ac_`f- zc?0vSG^PbFTz9}19J+Ef;xOd)1qu_mARG){rXn*_+Bz7ojXzTKRk+pzpob(?N9d%f zH3$GfX_o7n5k6prHCF&0Jze)}7@!=Cki{Y-)B^wH%qHutP?0R1w*w?rU(qL}QtinF z=nAmV7`wmg2Yw{V=UBO#NO`p^gR>2F>Y=~Ny_X) zUn=a~Wg1zZW`iTjxEXWP$MS4`8pU_{pVsfVwgvp8I!*$=UY)Mh_;QqClGNr`ZY}o- zWP8NupG;4z-vy_p>geFnzh}Y<-hBpLUcxH2)q8LT3E&qi9g3s0VDR^M5!Vl!Z3jPW z@O1092#L+&6NW3L8C8NBz#O`XDkPg_t6d$zXDJN2+lq>1aP^>Df&b1&4A!@9rY@q0 za0)PBVyFSMgbbIHXabe}7dg{g;S;8R2u(vm)5uIQ*2>+oi$^n=m@&qWi7?h@x(>dj zo;N-tXmufmhJ3PV8+x*9`JTY$Sa!0V={m!lZY@%xPuQa=$^Lr!5(8E(>MYtGm0>rP z@kuQv2NvOwv=`$-3xAzSA0-+Slx`=OYX zazrX_QuFHM7DO0T6ANT0+$~>Pz0oglDwX9TFyxx5DpTfk$Sl4UbH2OAPR0@2+p_X{ z_Q{l$ifgQ?o+VxF>myPdko^aZ+aXqe%4iFisO-9_fdxA2#CmrGsi z{))>RYqZc#u$7B|%9Py!=!wu$P-&9fNr_!1E?@oa7Jv!w#wfc4TKJbDM3#73CD`Ze zoSmOa$=ktZ>7P!0^kQ>bo1268ca~OXk*^Nw1pH4<*Tu^I8h>$m0Hu)uC?Y0_2!kT{ zVr&!;Ae(~V;VJb@={3145xya{RCE%iN`l;geN;nebVt}@@VL+=<$DXh1I<~0 z*{hE+uk}wzOd**{y0@^+B-kXGXlWYEE9s_lnU2ULnz0@#xVhSf?SY1bDmGx=6-Y#F zx#Rnvl<#}}Z|Md0=rQ49Lrdd?A>%|^64lMZMUYly7FIUpHdB}oIH=pW1Z=}NEIURi z{J$7C2mli>Cf(JoUxQ65+iNQuTgUVos~IU&pO6p<;4t z>P4?n#(z;(FK~K2!dA;XahG;MS*x&=h%Pk|QSHkD@5GSrh|KdKew3)zzjtzT1B&Vq zCs0{G+Q=9${0@F>Vq6SsqRrQ(i@d0orI^Tp)MoW^o z(n{@AKCX5JkPS3vIhSK+uX44u^e}fYH<`)kSMG?Fl-hl3y>Fkkvg9}uVDsGPz9y-u zpT#MO^snV&z4Xyr`PzpkB4PLp?bhGO0JTmeg178KNU6{gkvRan5_5)}a&%+6c-@fS z%2YSwv5O=zsGI4^<28pb>St!#%cu7fsDJN8$X;vOE~s-o);~ze)1E1>ziDm>(K82V zeccy$zkYAWESBL%S%mF}@lbeDDzo>r>@($^?Zrh?fWiP%l7`_RCnVflc||Fy zJYqdmoLcB|>5(ZC=9Pr=G*%Y~(%EIO3E_HMpo5pi>K6AWT6ZIbPsjFN{sJkc1U3=m~Kb$F1E!o4I;g<;6>FdUC~{3T_f zrn9cVj8`r(%2K(ESsK2CBZMMECoqeS`46E^G$=#5Ob!h0=qi9m8>pw7O3^QM5Sv@s2}io6vPI=y>Cs6y>5N2*7e7iSFXk5hBgeG z2=v4j!KW1PUabVZwy);%NxP#)!#%1!JD>qjB|yOu8xktq zMTE@Bz%H4W8a|jn9?dD_kxZWd8PBB>{K$i5G9OU2^(Hf2mzTG zA(j@d(9>(yh>I?SVl%a#D0zO(`N!q@cN=npAT9Hm#o*|P3jPY1oYOX zUkth@+2V>Q?-ndlO6k2S#=ZFElog>a*t;xQqA~~ymTz1>mchg<(pJG`>?=~`1#Uff zmP;Z&qhF1){e;De*!TrORK_zrb3*XBw(2z5=e_Z&3V;9$vZFKDhDPCEW{nVlLw{Hy+Z2$Y4J-e)qr#R&OiMPSpZ4~4!*zXG z5WZphoo6LLQFVPiUwQ${ZLeEA*SafAUBdNMqITe-O#>SU1 zw_V44wb%o`^sEH?KU+kVg_5wOuxKEp;Dr!aB{(>bA(DezM@OYHm@1^*$SQVkK%XT@AFfRnLSrbi#kgN>CA?$k8XZqm&_^;2J9v;lH`~;SZHig*+uV2V}wNhgQOl` zWhl7#p@Fg>-Vp{&z*rm8Ou#`P1LzRFBX16ISB;`+*l zh!=Yu5BpBlb|)x5!TOvv#GD7#kjKIT6*(3g8tW*mh~AZ>J^QaX%KOVWbaIFs#Q3^l zGf%bL@~KKl2KjnUmy=OCi9$S)zt+#(KkI1%Gd3v|Xs+KoeH&V`GJ)YC7z{ca?n`xA zVW{=|SylBx zt$)RZtE7r8xT4SP0$vMe-$U)39^#ecq^4>=?#45ZBfg>|tmrf_Q&% zR&hY!z49i~SNQ?9)da)`2IFIHfAyV8j|r!Nq2gnWdbUtzE!;5cZ%`Qdr@oUJ=aAR?UbGE9@R>WY^@ECJS&;&=l4Z> zDN$@=;8-gKJSA^2SC9P}{FF5X&uBOs#+Rx9W5gA81$Km{`zf2K8WGnfMLE%)hK0u9 z!S(ZvApYA=Sy{XUn2v#RJHd4?#u{K27J;5G52&N(E$ZD`4l6vN`uj(0IVnUKI4guV zy236oQbf)A{iY6PQ6)H*mS9{Q`qsS_CKCBy31tDm)&NrSv6zddm7SZemQDzdQ=jU< z`mO-VrTb$UX#d0x!gr(w=BlfVEnX^sL)y>>)8@>3cKCjAQ zf{d2g^8PrICvbvg$@U{^3qPAr<=`MUFQ;gZ+WQLcE{w!vgxuzPnsreWrp*yG57CVH zI_`?M)=ESx9#hOG0=s>9n%`S+m>!2XeiE_z&}+zt`3ps$(sOm~Id&b|7`0 zCW5~#P!eD_)|O3VIcvYv=#40p8M+TV0^}>nAwB_{?I5JsDj{_sGx6pc)uL&s74V$Y z;BfVdG@cS5bWHBR(Y*@Oghep%WC~}Pm8JIo5Gsv@9O0KpiNd@!sgT)prE!p_enLeB zXM#KCp3ropx=8+Y@-br0rmZ9k6Kt@vN3wMw!hfk*`Le;A{;F+j+;a`)_&)&(MX}9^ zrdlkn|r%c*TAd z7A{la7%)qxT|mDSIT<0_LlYNJr}0I;gZ6$t2b7dTltZKI^EzU21acant6h-uE@2A> z(}qRy{`NCSWv)juB+nUHMR9LV02{5az6yEA6{$GU8@6cM^)_IJ3GOIt#M!Bcm_u|a3c(4x9?>d3wEYzGyKzYA)2_c^*ibd= z6M`1hZ|@P~}($M$`)&RT6Et za#f&S?(tbW_HX$UYu(=9dN~1+mX9`ga)KaYiagt{s=+%ILe@w;WMo2mI{YxS9oks- zG;yUyb<7Fh(V~ZJI&f_U`V-UO=0Mz%A-fppd9u%qYV^u>Id*;frR`<(5c}piBk=TT zOL?dD?+uR7(eW+;x}?-gh~O%zR~c9F(($XmwzfOg6{tH9kr)8`Bi}7Ws$7nVcI;4A zU$deU^0*vlFPG2$ia2q_s^p+>!(~{~-11(c;~})e?rYiOJv=l(b?}RA<`4SL5na}8 zTny-7EpjI4vYGNKVqF1S&A7fsld+*Hb=Qr}`!)oEGm%1nz-x_ii1OKujrKJ*}WduYvZJ(nQi!g zy(^iCe3YSaEA*AmCo2aB`UFBw-f~8Yik6v{fDy9j3=S!k9I2_ocHs_*On0!9L)Cde zpKojseZV`G9f99u{Iln5B>kjA^abUjdAPQYT+_BJ=F&viSb90`mllaxb+u(imJxil zpMZg1-4;whOY~-mqK_`nRc)OqL~0KTv(hAKty0ggM5DK~nnCD?bNLczDd26huHcj( z8R|rbU;m^F7bcL^15dhO9*dahv>LV%*eY!0W27i`1zkdI?< zQ`vc^&I$m1b%drEWgaQleC1h&7!=LL66VN#P%Ffy7QRiP;QCg+T1_x#yi4Nx9!Gb)!B=vR5p zTf;EZRi7doILb_U^=B*#$jEq@E||NbxTd*!59?zQ^GEU*MF%8eR}_R>y#;zjbii=I z8>_%0z{JXID@^aQ@f~D{R@taV5hy~qRvp;YUSk;o<)c6wU@`7H+3N~O5df_N5gcbe z6%XAym&2$ak2)mbG6;nT)`%ZF4OTyC|a9g>g+fnN=NvAflWi zG%B;5Se1&N_K$G@3td0n_3DYnkmtM&8fuP>{~@#wAHpd(+ERtBB5(q4;th|89)t(a z()Stg1b1xPn~A<(|H6GR1iPG6&z9YAAgxh&?w8fCo!d95KB6k!9i|rsY7m>9%u>So z61z+h3k??y8|f#D`qr%?hMeenU!iC^Wv(d9s<)V09uZq_(R-@y zg4*Ep!gAZ?PIn3bpqj82)!&4WS#=a$L=iZYxk#HK1q(&96-Vnnhu<@1Y1V?O{xNK2 zD!?XUTwAwcWXOzjhwNxA(h^hY^7*x7lXgz;AoiD&UUE!3qngcudm#hPBzQ&A8pcFc zRoPLppn916_>o!L>|LbrHM*I>4{M5H&Z*2w9v+SiSIQ2f1bA+M=vI&#t+$*hVIh86 z*g^@tfys=3Jf|sDqbH=?J6T(~*78#^qvIF&D2&3^{azN(;f@Yadj5jkLX4`(p&*Ea z>c$~Pj8R9t17(<`%zP2XW&5-ka>&PDjuZ#A#ah{0$|D$50yUHvX%2C_Wv8)6S#%yC zC?t$3ZuGQDDg4LJP4JX9X*@@+X8338;S!wEe*s=s@DIm=BQv$wF5;5#DxQ>bXe4;Z z^Np&3AJ`PYRRouZ?`~#)ewpVpsy$?T@9FdY$*-xMN!9MkDNt*uyZ-g7G7#|Dt(Lw4 zKUZ`qG$`g5}%katKF?(SEiwE%&lPY9P@M%l3rP+ zcT<6lf0SrW^ED|Qk&H05SIZ@6#BJilX^Cas&(#wEz_#`oZlxYBR>2OAox##&nN#cl|A~|PuVM-Uo(&bULv|ha zf;S^V#%+k4tDpbbG&iM^O!T|7i~)pP`W3gIb^xdc^tc94C>xn;a#ieM2pa67`^rSg zfyes=HKPXn$X_Lxo}FJEbYS{@ZGX~yYj*bZ`iBva!HHvOz07bW{fAxTOdZw;R4vBv z>|1!mp308^6qyr$T{qvDL&@)@8I=d+A18>DLjNxCEPkPlJWCEEb?O`nLg2eQ!(yV& z;lZPp>I4y^kWbBKnprYD+N-ch7(JHX7^vHMYx?UW8I3Ytua(YULG?|~1qQI$=%^qv zvBj0u!1PK;;i{Q5K5_-04wz!F>c|Yf}e1v~HAVc7u7>E}brE zNXa?AgeHE>~F-)^#u>f}+B;yjk*u>jpg@d!*r~IAus|ADo z=-+#4esV3{pG0G`NC-owR8E+eLEHkBX6(Wt z1TN0WZ?Btyy>gAo?rnCNG}fKh(CEdHKC++8yOEaidhCXp4W{|1lqeryQdcZlC~GRI z14Rpog=tDuP`EMf8%@}QfT2CrzTcq|$sX692sm#B3WFQbzXh!WPzX|zU-iY0pIorxFXnU{sXu#y= z5Sq2P$ng#hCc5y^OczBLsu3?&_EgiePkSI3GjBfj zBJ#gq!J>+m44ZlI(u$k9r6(!QDZd9?NrNK^V}9~$Im}HoH)eT=qsFm{LAg`Pjlom7 za#K~piTi4nNftD7mpmq0hw79YRFe`o6;QZFC3DnRIeMo%@G#I*{O0R(@FF%%Az#3* z!eUB(l-d0Z=fk~mzU;(3g1V%es#N6Jpf=AaP<^5Kpa0*l$P+WI5e|E76Zvs?FhUB* zy#r{9eN;gb@r6+nnT3~MJp=T#^W=Wmb%i2SYjU#I-pUrOSo4mq_7I60TvzxrFb}XHW{aQz zfqR}rG1a$xl1H0VvX6{U5Y8XT;uCcM$zbfMw4{(n)#1)Wy)lfM>TAH+<8lr63MDgl zwNKLzo=n<-?zT`&S@}C{*!(3f?;zruV%Q>^9C;i1+KoC%x~nP3@p1T67;JemfoqT$ zv$XSC1!&9PN}RtRoJOw+0JuY!Q901I#LO;}N6K*6#h?QKLhCbCwo|$t%cNTUtB$W7 zs1EQ6Q9ldl6a>4qHCl}h*M)2t!d<*s6XG)P3|>)Urc(?GbL1^D`in{j%WI08o{AV@ z;#83^q)-_4HuZ4ZB~i>&_ndf;O~U244D73q&S)S1)zC8_6ispnDM9a6>ZnuQ-3k_! z*&I!=R5kDn_L!tJGLxi7*TKu&R$HrtyoP`!Ch7R6?~j@(yAp{&0JJsw3l9onoN)+^ zhO5s|55I}8hVPkk#m!6-N=#8Pv7W7#e#?7w6Ov|MnqC2j2K3mRcK*{y6p60_dc7Wt z7ALr<3BQ(?2wij5|IvUQp=uhJ12Iq~hIxsf-{9QMA3`0HOX4{l<|Q>B)LWe98G&;Qmc#l^_}J5qvQP={{oQq z&9yV=GyD?W%gm|2JgB=205C5tiZgrS50aP^bAiv*IgSbv<{ita1KO%xCB#e2 zKk0fRS$_H=k3%b22O-z!E4V`dft8iGC-|6fV_6SFWGd<7LF4s?F?Je{ZY@L zS$6VAJdeIV)e?J#3e)llIH;m26*0b`^oYNfJc^)x-ob4|3ma+Tjgg^D;v9)M(VK0R zPc~cGOgR_)Yj^A`+h+aIljv_h*7;LIIAGw7wL_2?-{$#8nfH1}!Q;1QEkNpoR($j9 zGihQRAwuoD~^Y$s;ub z=VuX&Rqm+pMS6(gRhrm!xh>`2HJ-%AlEY9@4~bP`j{j=t4fWJVX)q;Sl1OPN(wMJc0L(3VYM!E3))Mir#Y!_*2O|@V(@34dyC0Pilmf|~sLe+jIuea2sUC0^uuVl+2#Ag0knDuMT!g74 z!fRuUIRVB7`CHsh`zKdNut{j?LV|dxwezY>1ZE%oL z??x2$YF43FI{R0y7=KLH{S%JUfZmrH?80^wSZ1G$EcMhEgj^cp3T&$oAS8*nX;|V_M zPiHhG>L$QkBn3(f{NYdEEO-r;#o5;-l57K?36mxui>tjo;;v_zD1d2{VquucwpZpm z|AkBqkQ`knQOy);hAHSBoH33W$LX?ZhP*RxqfXIG-$?cn1RVRZoc|hZ%&%2%k50hudsfC z=Ho|M#9hMfC|`F$GWK^p=N?UGL7Ow>cPcwguF z#SffgjW}==M=7Y2ZXcO)%;`Czo3NUO4N}yk#l$K8>vGQk2{E1Fl_(q&ai~s6hhbri zCpOsmM)koF#A1@d$op0k2YC_$!SkNw0wFdsu{JsD*Bd=}1>c?m`{om7tKTGwX6azk zS5*%BkJQk7%=@*^u}s=pQ4?EKm|FDjG_61yXRP->&DoNs)b&*849|?uszu;P?JF>S zn+(Kp`B7?-EDJG`mJL&qi9czUqKHXZKgl5fbLotBT$7J=((@!iBFA zwmIk2=?p(pY^q7yC$ll)ZK2KT4C5Q-J>IF)$o}(o@OP8^tp?@0&DoMU*Q2MJ;ibcY za%Y|#(jFh~dbdnpA&mWc1I{N#Hyl3|4Rj2(2j-Pz@|-lA!upQDd-CEh&p$Wzc)wo! zGMOpjDS7kn&rf(i0M&qc+I$%RfEF=JDtWRN9_eE8a|?V{c<2m#QmE!OR`1gJziKKe z&FS%mq`f#~;Z{grDpSF(D@rn6`ZgKZe_q_mzf|jq3OX4(GD?`QsT2E**M6}WXY|A7 z45}YDa@o)6${{QAvyTJxcWq^~^9_o=(%yGRR&2T;{OfWz@S|kEnXq(YT5tWgAJ zS(wh?UjjQ9KR+%rKusc`y^jX%$4Crlz)_(w8Dr3#OpToe8e)qEtCw-*^i%>-0o5DU##Y6$Tmz$T6*}SFyfn7U$IauhBqhIrf5>>gNyE83mjLa@*2IHK!qn6< z4Iwq)T*FOPr01<+!_az}mcrXeATMp!+t?iq^e5G#QzIU0jKLK0iitCZ4FSbo>$szh zsF@-dY>i#w(lbm_eeTS5P5?ElNk5)W?@ONyzmK=S$i+M8vEtdIu%fHr5mZwx3TRQ7 z0T&9A1UjWQ$QyYV>&P0zqyn)rn&z*bj(2in{w>e zWmOoQ*g#oh>J!>un>h@hRAd~rXy3O_9uC`%tGYR){}B2U8kT4?kkTOG!cNgC?np(A zK_3JAv#}|%E$En}7631BifvLJABUY+;qe7Qb@@iYFwrpWq-FL5dWviBzUOO~x$90$ z-Mp;le1?8dC=&plMIC(>A+lDN^@kpV1dAk(9bmHlW1hVB1>@QD=$1lw;9Rqt03;Uh zhpegR>e6oMHSN8yc!U!u(P{2JaV}>{OJ9!w&9s}RX*fk>7&Wrm$-}GgMx3*D6aK3c zRiLn!-2Mzq<@V=PF@uMVqDA4n+sN`uwHv?pf{-^%Q-XqDw;3%)HP zp|vm5xRyQms<7O1nOq=!0;D3$FTeAt@eLi;mS@>{obR))#LJppS(2wKV|1HF)wS{qJz0N~9S% zqW1=?^R-+9$e_U7-$>+6<_+x}yOahPGLL}r^j z3U>$r)E*#(a+OPOu>^sbRf&?JBt?ZGVe{O^hQ`5VPHj(;_64^6H)BhKM#z6_1%81{jvws>suiK0DMRvF2X_ft#BwgLR0c@3T=88>38%Pflk4O z0f?`Oe}b<#^_NK`D}61y{ex*mAIMPSpuMMIm5py#Q53y#7Y@3buns)pm2a1Nd*7z< zfeZz*es7t^CiU6Bsut2H+@ci)GcQ$`g2{0*M=8IY0xMqu1f2Ldbg4%0;b*oXiRM#S zY<}cwcsicAXGPZLtFqY#2bIZ-0AyE$Gu7pRiv#Zukn=MGBs4kzk${pmKQ=il88sHN zY%VAxOB8HytB>OIXurZdPm;_=&Mb+?`3q$1@e zv$i$)lKG1;0W2k?LKe5+$(y~2hQyVh4JzB#W?93dC9ZmdO_sr^BpDY?*8IFsf=PSh zo*xrLu^7b>h@PX}H?P^6DVKidU+}E0p#K)|mYxVbA~pg#Q`|0Q*WnyIs$G8o^I;5y zITiN*@~)oNl>1)CE&EU?$_|IWcEmZrvVkQB%@Orzuz2=IPG?|Qg1iNzs(d2el1h-q zS-$C%-YzE)8bLAcT?OB zS|JAjP)z}*FW2LH6oF8K6uflM>spuJW=?Ns$;54+bBl~0pJ}!R@*+E%Bir;jG@>NB zLKRHSbO`BEWh6uh7T+ro>)3{>H==+Mz_HMrp{C-hHgE_C&$~)jwE5)mUa5Mpp=QY@Jpr1J)kk?d^B~*OQQ3Z(;;xHt5oGRDBLqcZo`8* zDC@J(n4bI)!{r#8Ny`}VG!!SA>nzzQSP8Ul{oRDoR7BE~kHj-C~c zhTbK1^Sh!L>>PT@gL`XGoHVzYVYI%mCW#-iMiJ=e9pyM^R;eYe zhrC4mNJtC(7KXE8SKiE0XA$7q_LPQyWYHF!L0zwq*XLJEF!a(Z; z2huD$LP^fG8Jt>f>YSXYvax3V4sDKy88r{j8$hPBqHO93cyAAQ75HGf6mfpVhLlKz zK!nrC1FN*+q2c2oXzcP7701p9_*wj^!#{J5F%D`MlHqkzD!;`Ks|(u5d^yh_vx!Pc zJS^RL$}z_Z7f4@ive+89HyDh;a_C{NR#gdH|7W~p@dFl`UT&BpidjV(N(SBA78Z^8 z0bZ#IZg3%__@W|HVw!t1Y9uHe(WWF0jXXz^k#!pfw)J2-w5y{9U5KB-=x25YzW$P7 z^ulLXER`yHS*y+?4FDikmY$w1t|7mh!C3ZmWgQ-;4|0EzUH()&N^#OHsFfQoTlTq( zG))UUE+xD-1k~;E1iX6yXcfcAU~65MJ0HHXn#Ofqy7;+FNCxV>UHLkF~}@usJq~J3L1a$EljqSf75jIzo-* zlAW^@KFD^#?XiaPO$#@YN0@bm(z- z&@60dLwE=#bA8n4D~Q!pJ&S# zZ{o??-L*=h-nn*TfB3A{PY;KlWCLfBC1GH7DE}JbLsY@mVsK`|W{4=(h1nCeJI=(h z3$NNw_;rm#K+ib(>|}CbAZmA+1-#coKqN|YD91giFJnj5#6O5KY!SwaYg2hONLjeT zQV>M^z;hTfTXaDi|X|ncb~DXqkjIjyZ`yo5C@ewnq>EE z2A=|h0bv?nUuLr1Jv-aSPX4rH3ya(MqEBsSEb#*7+uCXp0)`EGX)kf=&nSlEG}Ek3 z0_0#B{WYexu5|k|Y&yW3xTog<=+WTymz!~brSZyE%SZnTvG+$l;BO(cXPa_33C7o z^ii0pn*wJdkMnAg;ko~UUij6<{*W556ObjWBu9uXhD?zpvOT2LM3ZLa)fA9rA@?&?#YQM8-y>_@4tH#DubQ!Jx)#x?h)3K}rT zy(?6AaFvQ_)UgeVjxJOX93{gULBw;hYW>AZIZA4#;h}KNFD-3flzlTN-OnhXRW_!g z&N-^)OxV%KvnWbUdl`|v9%Xf|D%{~fRRZ;y|Eo`*`>{ib(DlXn#jgC+$FCdfmjDoW z>#dvm^Cni9sUxls$ZgBH@)|62s`)3O90|n4nkw~{;|p=OEpA5kmV-`gB5kbiB1T3} zYKnm%QD6PZInUr`mC`oPj6j|8Y?{%0hREg8#pGc3UtI2O;HaSN$cioTEnhIcxy1-I zwon4(ykOH{WfUb!QsiOuTL=0glQM>`=C+<*)T;M`cJej5+e!ZeqqAG)Og+KN4_P^ z?<5NDr1nIp-jhdT{2F{$RGO=;pFu3b8|7wBZs>v!8E;^pQ|tBCxL2&*O>79uB*Ok) z;)~Ob2ztB2af+*`yZ9qlSgX6BWT3|ZZlwrU=M%&_#b+T0AEUZ&&HD?1c%WutTj$ z+9b3wlT}`zmbXiCAm{g^G3PYmcv;853cWRfjjMhcW9zl%Izxm@u$8;A@-tX}+uRKh z1)y5OmLpcW9l;_);=u)!m0de5k3-n*OTmY`PZ+G002d<@2==>VbfbRjz~)) zX)DgRO?+(X&2UFEF`M3YC3im0vE+&9{$71?pjivj{CQLITuM!s5F4V9TZBy=Dc;yy zwuoK+7ys`fXLhqF@mGz%1l&Rt1@SWJ>BKF6u&NV}G#=sNQW9ESy?B3xUQ>#6D+X#u znYxshL(ZQ3&6+0fpVBu+CO{1h?J8Jk>=O`fXkhGaYKy!&=%4BdtmUOYZ>A$N%p8XOY&b?qf;#?eRmwK? z9V4vzDlZF*y>0r+`M|anmfHWxD!sS4I}+>w7tVbyu1Tu1xa`>#06J zP_CTb#Xh9Bl1FYF!uqp>>556`FQvFIu-24TqvOGzHk*jkoAfoh#BMjOZn?VWqZ`#4+Ej|ZdL z-TP$8(1Pi=vJK6Ixi7-aMTXrx9G=+MM_TbFgYoJtG>iWRh4@EfSs<1Ir-^{2_pL3Y z5qc68G>Q=OU=KVwFf}uhPcCGdf%nTPB4;cI4QonU(y^4POj4>lzkGc90QcH{_q3*z zg*g`i4zs6)P%Oj3E`Aw$!m`g9{)**mpX zJgdYyjIrjDaWl=R+@de<7}xE_w_xJQX4I#*UwQK}nV>imYiLoC(6^O+K{{i8c>~L| z@@@~wSnKX4k=c~G63RpcffSOu?9+PV1q7ccFnBo_ep{X8&F?Aq1@*hjThc@4S?=q* zugFrq@~?&)kek3qd^TWYlrx{Vi4Z_XRD>lLOJ%=T*diGqn|977=s5C}1KU)lUO3f?@uU&E$Sm4l{?igk>y^vFL_=JK*O{L5N}x=Wku%RL2XQ zfsUP0xIV4IS47{iN%1_GlPagHVDA$+b8-|t?>?=`s7*SL6&3BW{i{^xEii)yBrz1r zNy98AbxFiQ!}<(SWA@79#U`NIaY>15BIq=IrdU{PQ=`_CI$J6DmkU3)p%Fl?tBVGV5>?rpnq+L^o4Hftk^ zvht&@6)nfDUJNS^;a#;So*wXi(_6U5ettoEHG#X!e|LZ3r+eO?f*&U%?<8TXNoJQn z2RybkF!6SHUiNpJyl^tkhnpF>tim ziX$^_icXmFnxJ21)j$Bcn58HHMg+0}e+#1mKGVkbE-`EC@`8{tN9qoKaWNHoT{_4_ z6DbgCF+Q=BCQiyJV#!w%1uOIej#3t%!VJGavs^y-OE1iSqa5NRht^;W6O#)|@ux-8 z5C)7mM%cA<0Q`>_GRRgFfT##8=G0%;k}=!O{?H7zzePC1HmbE*6@XU-nnao8P0=N~ zHE}|8HHzt0yICzdq%7{L=mo~~#^L+8dZzhet$E#b`d-txb^P*DD+gI36%tlGs4a?L zFfC-i{N&*{_pS=gV!>u(amQIfNK;HnJhZ(Cr7^K~#LP~A_TS01Zaoo3mUE&w{T8S| zVE%C%EIC9HKvcq`mRC<>*3{QmCWcB>3`uvds=c}FyFC~6uo%oM0`uGoQsyU9KW@=i zL?)YzDBWn%rgJ&UN=;bkLIsvf>-}>%w^w8#ku8n;;Mut;w>$Tb%a7zZw1kjhtA-Dx z5Ywh{)PRq`uSEcIE3gO^gq$}x4!M^ZTFB`HV$IYUDtbVG)lYaWBZV!ZQ4AR5{S8Tr zDxu&i8aRaB71$_Aq3;q1PsspzC~l43SQ@?<{}mAqqHu6uln@)&l?_2k!dyBb@|F#v zFlaQ9>r3Dm#r&s8SLeHP^@*mhq^yrH*p^!2(wyPRRLp<>A#@6Wov{*~cRU1mPW)J$ z=L8UyZ2<_T0g#+EMR=Tx0NoIDi*Z2LgrJ_(=4~;PGIsPRw?fLmT@GIGDdC7kOgzLh z3)^4sRJl@qMXYg2Ga@$788C$$DlncrLdwK5-iMuc7LEX4DKk4Y-9j=p>Nr}8T4Qtr z^aq`CBq#s``Yw}88wj3*0OxFCzF6rmuU-w$MB49<#*d8)zxl=iNu<1tfMTS|U%Wz{ z>PSH%_}I(tWC|&yA%EDT8KqCiQ`II4e|(~+P7at=rJf7BJGYBYH)IpE{5u&en*nb{ z)!OTuQngfk@K7d$DT(zR*6KU$jHQ|v~!U4d(8UPgXLjVK-08t76fUnj7oPhuU^#95i M`~M&Me}94h0Y3$7LjV8( literal 0 HcmV?d00001 diff --git a/app/renderer/public/molniya.mp3 b/app/renderer/public/molniya.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..65ea43cf3e59d849d45f8ca4c21efad0b7092d9f GIT binary patch literal 48945 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 lD8wGgVjb>5fPfHgf~|l^5=+bOMBNws&@a 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%0DOMu)LH+TlbXnm_5K39g&k3^Ht$wt)J*q8ta_aYr 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 literal 0 HcmV?d00001 diff --git a/app/renderer/shared/effects/PxiEffectsOverlay.tsx b/app/renderer/shared/effects/PxiEffectsOverlay.tsx index 70aacf3..1711f1a 100644 --- a/app/renderer/shared/effects/PxiEffectsOverlay.tsx +++ b/app/renderer/shared/effects/PxiEffectsOverlay.tsx @@ -4,6 +4,17 @@ import type { EffectsState, EffectInstance } from '../../../shared/types/effects import styles from './PxiEffectsOverlay.module.css'; +type PoisonParticleFx = { + s: any; + kind: 'stem' | 'cap'; + uStem: number; + side: number; + capAng: number; + capDist: number; + sz: number; + flick: number; +}; + type Props = { state: EffectsState | null; interactive?: boolean; @@ -173,7 +184,7 @@ function syncNodes( } if (!state) return; for (const inst of state.instances) { - const sig = instanceSig(inst); + const sig = instanceSig(inst, viewport); const existing = nodes.get(inst.id); if (existing && (existing as any).__sig === sig) continue; if (existing) { @@ -317,6 +328,26 @@ function createInstanceNode( c.alpha = Math.max(0, Math.min(1, inst.opacity)); return c; } + if (inst.type === 'water') { + const c = new pixi.Container(); + const halfW = Math.max(1.5, inst.radiusN * Math.min(w, h)); + if (inst.id === '__draft__') { + const g = new pixi.Graphics(); + c.addChild(g); + redrawWaterDraft(g, inst, viewport, halfW); + (c as any).__fx = { kind: 'waterDraft', g }; + c.alpha = Math.max(0.35, Math.min(0.95, inst.opacity * 1.1)); + c.blendMode = pixi.BLEND_MODES?.NORMAL ?? 0; + return c; + } + const built = buildWaterFillSprite(pixi, inst, viewport, halfW); + if (!built) return null; + c.addChild(built.sprite); + (c as any).__fx = { kind: 'waterSolid' }; + c.alpha = Math.max(0, Math.min(1, inst.opacity)); + c.blendMode = pixi.BLEND_MODES?.NORMAL ?? 0; + return c; + } if (inst.type === 'lightning') { const g = new pixi.Graphics(); g.blendMode = pixi.BLEND_MODES?.ADD ?? 1; @@ -331,6 +362,66 @@ function createInstanceNode( redrawLightning(pixi, g, inst, viewport, 0, Math.max(1, inst.lifetimeMs)); return g; } + if (inst.type === 'sunbeam') { + const g = new pixi.Graphics(); + g.blendMode = pixi.BLEND_MODES?.ADD ?? 1; + (g as any).__fx = { + id: inst.id, + type: inst.type, + start: inst.start, + end: inst.end, + widthN: inst.widthN, + }; + redrawSunbeam(pixi, g, inst, viewport, 0, Math.max(1, inst.lifetimeMs)); + return g; + } + if (inst.type === 'poisonCloud') { + const cont = new pixi.Container(); + const tex = getPoisonParticleTexture(pixi); + const particleCount = 520; + const particles: PoisonParticleFx[] = []; + for (let i = 0; i < particleCount; i += 1) { + const s = new pixi.Sprite(tex); + s.anchor?.set?.(0.5, 0.5); + const kind: 'stem' | 'cap' = hash01(inst.seed ^ 0x50f3757f, i) < 0.44 ? 'stem' : 'cap'; + const gVar = hash01(inst.seed ^ 0xdead00, i); + const tint = gVar < 0.33 ? 0x33ff99 : gVar < 0.66 ? 0x22ee77 : 0x44ffaa; + s.tint = tint; + s.blendMode = pixi.BLEND_MODES?.ADD ?? 1; + particles.push({ + s, + kind, + uStem: hash01(inst.seed ^ 0x111111, i), + side: hash01(inst.seed ^ 0x222222, i) * 2 - 1, + capAng: hash01(inst.seed ^ 0x333333, i) * Math.PI * 2, + capDist: Math.sqrt(hash01(inst.seed ^ 0x444444, i)), + // Мелкие точки: узкий разброс размера (раньше до ~3.7 давало гигантские блики). + sz: 0.22 + hash01(inst.seed ^ 0x555555, i) * 0.75, + flick: hash01(inst.seed ^ 0x666666, i) * Math.PI * 2, + }); + cont.addChild(s); + } + const TextApi = (pixi as { Text?: new (opts: object) => any }).Text; + let skull: any = null; + if (typeof TextApi === 'function') { + skull = new TextApi({ + text: '☠', + style: { + fontFamily: 'Arial, "Segoe UI Emoji", sans-serif', + fontSize: 40, + fill: 0x66ff99, + align: 'center', + }, + }); + skull.anchor?.set?.(0.5, 1); + skull.visible = false; + cont.addChild(skull); + } + (cont as any).__fx = { particles, skull }; + cont.blendMode = pixi.BLEND_MODES?.NORMAL ?? 0; + redrawPoisonCloud(pixi, cont, inst, viewport, 0, Math.max(1, inst.lifetimeMs)); + return cont; + } if (inst.type === 'freeze') { const tex = getFreezeScreenTexture(pixi, inst.seed, viewport); const s = new pixi.Sprite(tex); @@ -455,6 +546,12 @@ function animateNodes( } } + if (inst.type === 'water') { + const cont = node; + const pulse = 0.94 + 0.06 * Math.sin(0.0011 * t + hash01(inst.seed ^ 0xc001d00d, 0) * 6.28); + cont.alpha = Math.max(0, Math.min(1, inst.opacity * pulse)); + } + if (inst.type === 'rain') { const cont = node; // Дождь: стабильная “шторка” + движение капель вниз с лёгким дрейфом. @@ -494,6 +591,28 @@ function animateNodes( redrawLightning(pixi, g, inst, viewport, t, life); } + if (inst.type === 'sunbeam') { + const g = node; + const life = Math.max(1, inst.lifetimeMs); + if (t >= life) { + g.visible = false; + continue; + } + g.visible = true; + redrawSunbeam(pixi, g, inst, viewport, t, life); + } + + if (inst.type === 'poisonCloud') { + const cont = node; + const life = Math.max(1, inst.lifetimeMs); + if (t >= life) { + cont.visible = false; + continue; + } + cont.visible = true; + redrawPoisonCloud(pixi, cont, inst, viewport, t, life); + } + if (inst.type === 'freeze') { const s = node; const life = Math.max(1, inst.lifetimeMs); @@ -526,14 +645,303 @@ function animateNodes( if (inst.type === 'ice') { const s = node; - const life = Math.max(1, inst.lifetimeMs); - const fade = 1 - t / life; - s.visible = fade > 0; - s.alpha = Math.max(0, Math.min(1, inst.opacity * (0.35 + 0.65 * fade))); + // Пятно льда: сразу на полную яркость и остаётся на сцене (не синхронизируем с длительностью «замершего экрана»). + s.visible = true; + s.alpha = Math.max(0, Math.min(1, inst.opacity)); } } } +function hashWaterStroke(inst: Extract): number { + let h = 2166136261 >>> 0; + for (const p of inst.points) { + if (!p) continue; + h ^= Math.round(p.x * 10000); + h = Math.imul(h, 16777619); + h ^= Math.round(p.y * 10000); + h = Math.imul(h, 16777619); + } + return h >>> 0; +} + +function redrawWaterDraft( + g: any, + inst: Extract, + viewport: { x: number; y: number; w: number; h: number }, + halfW: number, +) { + const { x: vx, y: vy, w, h } = viewport; + g.clear(); + const pts = inst.points; + if (pts.length === 0) return; + const px = pts.map((p) => ({ x: vx + p.x * w, y: vy + p.y * h })); + // Толщина как у итоговой заливки: диаметр = 2 × радиус кисти (см. buildWaterFillSprite). + const lineW = Math.max(2, halfW * 2); + if (px.length === 1) { + const p0 = px[0]; + if (!p0) return; + g.circle(p0.x, p0.y, Math.max(2, halfW)); + g.fill({ color: 0x5fc3ff, alpha: 0.42 }); + return; + } + const pStart = px[0]; + if (!pStart) return; + g.moveTo(pStart.x, pStart.y); + for (let i = 1; i < px.length; i += 1) { + const pi = px[i]; + if (!pi) continue; + g.lineTo(pi.x, pi.y); + } + g.stroke({ width: lineW, color: 0x5fc3ff, alpha: 0.48, cap: 'round', join: 'round' }); +} + +function buildWaterFillSprite( + pixi: any, + inst: Extract, + viewport: { x: number; y: number; w: number; h: number }, + halfW: number, +): { sprite: any } | null { + const pts = inst.points; + if (pts.length === 0) return null; + const { x: vx, y: vy, w, h } = viewport; + const pxPts = pts.map((p) => ({ x: vx + p.x * w, y: vy + p.y * h })); + const firstPt = pxPts[0]; + if (!firstPt) return null; + let minX = firstPt.x; + let maxX = firstPt.x; + let minY = firstPt.y; + let maxY = firstPt.y; + for (const p of pxPts) { + minX = Math.min(minX, p.x); + maxX = Math.max(maxX, p.x); + minY = Math.min(minY, p.y); + maxY = Math.max(maxY, p.y); + } + const pad = halfW * 2 + 8; + const cw = Math.max(1, Math.ceil(maxX - minX + pad)); + const ch = Math.max(1, Math.ceil(maxY - minY + pad)); + const canvas = document.createElement('canvas'); + canvas.width = cw; + canvas.height = ch; + const ctx = canvas.getContext('2d'); + if (!ctx) return null; + const ox = -minX + pad / 2; + const oy = -minY + pad / 2; + const alpha = Math.max(0.08, Math.min(0.82, inst.opacity)); + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + ctx.strokeStyle = `rgba(95, 195, 255, ${String(alpha)})`; + ctx.fillStyle = `rgba(95, 195, 255, ${String(alpha)})`; + ctx.lineWidth = halfW * 2; + + if (pxPts.length === 1) { + ctx.beginPath(); + ctx.arc(firstPt.x + ox, firstPt.y + oy, halfW, 0, Math.PI * 2); + ctx.fill(); + } else { + ctx.beginPath(); + ctx.moveTo(firstPt.x + ox, firstPt.y + oy); + for (let i = 1; i < pxPts.length; i += 1) { + const pi = pxPts[i]; + if (!pi) continue; + ctx.lineTo(pi.x + ox, pi.y + oy); + } + ctx.stroke(); + } + + const texture = pixi.Texture.from(canvas); + const sprite = new pixi.Sprite(texture); + sprite.x = minX - pad / 2; + sprite.y = minY - pad / 2; + return { sprite }; +} + +function redrawPoisonCloud( + pixi: any, + cont: any, + inst: Extract, + viewport: { x: number; y: number; w: number; h: number }, + t: number, + life: number, +) { + void pixi; + const fx = (cont as any).__fx as { particles: PoisonParticleFx[]; skull: any }; + const particles = fx.particles; + const skull = fx.skull; + const { x: vx, y: vy, w, h } = viewport; + const cx = vx + inst.at.x * w; + const cy = vy + inst.at.y * h; + const R = Math.max(14, inst.radiusN * Math.min(w, h) * 1.15); + const inten = Math.max(0, Math.min(1.2, inst.intensity)); + + const u = t / Math.max(1e-6, life); + const stemPhase = smoothstep01(Math.min(1, u / 0.34)); + const capPhase = u < 0.14 ? 0 : smoothstep01((u - 0.14) / Math.max(1e-6, 0.44)); + + let alphaM = 1; + if (u >= 0.66) { + alphaM = 1 - smoothstep01((u - 0.66) / Math.max(1e-6, 0.34)); + } + const aGlobal = Math.max(0, Math.min(1, inten * alphaM)); + if (aGlobal < 0.003) { + if (skull) skull.visible = false; + for (const p of particles) p.s.visible = false; + return; + } + + const stemH = R * 1.1; + const baseHalfW = R * 0.72; + const topHalfW = R * 0.1; + const stemTopY = cy - stemH * stemPhase; + const capCenterY = stemTopY - R * 0.12 * Math.max(0.2, capPhase); + const capRad = R * 1.25 * capPhase; + const wobble = 0.04 * Math.sin(t * 0.014 + inst.seed * 0.01); + const particleR = 0.32; + + for (const p of particles) { + const s = p.s; + if (p.kind === 'stem') { + s.visible = stemPhase > 0.02; + if (!s.visible) continue; + const frac = p.uStem; + const z = frac * stemH * stemPhase; + const y = cy - z; + const mix = frac; + const halfAtY = baseHalfW * (1 - mix) + topHalfW * mix; + const spread = halfAtY * (0.82 + 0.18 * Math.sin(p.flick + t * 0.008)); + s.x = cx + p.side * spread + wobble * R * 0.08; + s.y = y + Math.sin(p.flick * 1.7 + t * 0.01) * 2.5; + const pr = stemPhase * (0.2 + 0.8 * smoothstep01(frac * 1.15)); + s.alpha = Math.max(0, Math.min(1, aGlobal * 0.55 * pr * (0.65 + 0.35 * stemPhase))); + s.scale?.set?.(p.sz * (0.75 + 0.35 * stemPhase) * particleR); + } else { + const vis = capPhase; + if (vis < 0.02) { + s.visible = false; + continue; + } + s.visible = true; + const ang = p.capAng + wobble * 0.4; + const rd = capRad * Math.min(1, p.capDist * 1.02 + 0.02); + s.x = cx + Math.cos(ang) * rd + Math.sin(t * 0.011 + p.flick) * 3; + s.y = capCenterY + Math.sin(ang) * rd * 0.48; + s.alpha = Math.max( + 0, + Math.min(1, aGlobal * 0.52 * vis * (0.75 + 0.25 * Math.sin(t * 0.019 + p.flick))), + ); + s.scale?.set?.(p.sz * (0.55 + 0.55 * vis) * particleR); + } + } + + if (skull) { + const show = stemPhase > 0.72 && capPhase > 0.28; + skull.visible = show; + skull.alpha = aGlobal * (show ? 0.94 : 0); + skull.x = cx + wobble * R * 0.05; + skull.y = capCenterY - capRad * 0.72 - R * 0.28; + const fs = Math.max(16, Math.min(86, R * 0.48 + capRad * 0.38)); + if (skull.style && typeof skull.style === 'object' && 'fontSize' in skull.style) { + (skull.style as { fontSize: number }).fontSize = fs; + } + } +} + +function redrawSunbeam( + pixi: any, + g: any, + inst: Extract, + viewport: { x: number; y: number; w: number; h: number }, + t: number, + life: number, +) { + void pixi; + const { x: vx, y: vy, w, h } = viewport; + const sx = vx + inst.start.x * w; + const sy = vy + inst.start.y * h; + const ex = vx + inst.end.x * w; + const ey = vy + inst.end.y * h; + const width = Math.max(1, inst.widthN * Math.min(w, h)); + const inten = Math.max(0, Math.min(1.2, inst.intensity)); + g.clear(); + + const lifePos = Math.max(1e-6, life); + // Фаза 1: рост сверху вниз; фаза 2: полный луч + лёгкая пульсация; фаза 3: затухание. + const revealMs = lifePos * 0.28; + const pulseMs = lifePos * 0.47; + const fadeMs = lifePos * 0.25; + const tRevealEnd = revealMs; + const tPulseEnd = revealMs + pulseMs; + + const revealLin = Math.min(1, t / Math.max(1e-6, revealMs)); + const revealEase = t < tRevealEnd ? smoothstep01(revealLin) : 1; + + let pulseMul = 1; + if (t >= tRevealEnd && t < tPulseEnd) { + const u = t - tRevealEnd; + const pulses = 5; + const omega = (pulses * 2 * Math.PI) / Math.max(1e-6, pulseMs); + const phase = (inst.seed & 4095) * 0.00153; + pulseMul = 1 + 0.1 * Math.sin(u * omega + phase); + } + + const vis = t < tPulseEnd ? 1 : 1 - smoothstep01((t - tPulseEnd) / Math.max(1e-6, fadeMs)); + if (vis < 0.002) return; + + const bx = sx + (ex - sx) * revealEase; + const by = sy + (ey - sy) * revealEase; + const intenVis = inten * vis * pulseMul; + + // Засветка кадра: нарастает с лучом; в фазе пульса слегка «дышит»; затем гаснет. + const veilMod = t >= tRevealEnd && t < tPulseEnd ? pulseMul : 1; + const veilA = Math.max(0, Math.min(0.24, 0.22 * revealEase * vis * inten * veilMod)); + if (veilA > 0.002) { + g.rect(vx, vy, w, h); + g.fill({ color: 0xfff4b8, alpha: veilA }); + } + + const minDim = Math.min(w, h); + const segLen = Math.hypot(bx - sx, by - sy); + if (segLen < 0.8) return; + + const outerW = Math.max(width * 26, minDim * 0.9); + g.moveTo(sx, sy); + g.lineTo(bx, by); + g.stroke({ + color: 0xffec78, + width: outerW, + alpha: Math.min(1, 0.034 * intenVis), + cap: 'round', + }); + + const haloLayers: { mult: number; color: number; a: number }[] = [ + { mult: 18, color: 0xffe040, a: 0.048 * intenVis }, + { mult: 12, color: 0xffea65, a: 0.075 * intenVis }, + { mult: 7, color: 0xfff090, a: 0.11 * intenVis }, + { mult: 4, color: 0xfffacd, a: 0.16 * intenVis }, + { mult: 2.2, color: 0xffffee, a: 0.22 * intenVis }, + ]; + for (const layer of haloLayers) { + const lw = Math.max(width * layer.mult, width + minDim * 0.025); + const a = Math.min(1, layer.a); + if (a < 0.004) continue; + g.moveTo(sx, sy); + g.lineTo(bx, by); + g.stroke({ color: layer.color, width: lw, alpha: a, cap: 'round' }); + } + + const coreLayers: { wmul: number; color: number; a: number }[] = [ + { wmul: 2.4, color: 0xffffcc, a: Math.min(1, 0.45 * intenVis) }, + { wmul: 1.05, color: 0xffffaa, a: Math.min(1, 0.78 * intenVis) }, + { wmul: 0.4, color: 0xffffff, a: Math.min(1, 0.98 * intenVis) }, + ]; + for (const cl of coreLayers) { + const lw = Math.max(1.2, width * cl.wmul); + g.moveTo(sx, sy); + g.lineTo(bx, by); + g.stroke({ color: cl.color, width: lw, alpha: cl.a, cap: 'round' }); + } +} + function redrawLightning( pixi: any, g: any, @@ -615,7 +1023,7 @@ function redrawLightning( } } -function instanceSig(inst: EffectInstance): string { +function instanceSig(inst: EffectInstance, viewport: { x: number; y: number; w: number; h: number }): string { if (inst.type === 'fog') { const last = inst.points[inst.points.length - 1]; const lx = last ? Math.round(last.x * 1000) : 0; @@ -634,9 +1042,19 @@ function instanceSig(inst: EffectInstance): string { const ly = last ? Math.round(last.y * 1000) : 0; return `rain:${inst.points.length}:${lx}:${ly}:${Math.round(inst.radiusN * 1000)}`; } + if (inst.type === 'water') { + const hp = hashWaterStroke(inst); + return `water:${inst.points.length}:${hp}:${Math.round(inst.radiusN * 1000)}:${Math.round(inst.opacity * 1000)}:${Math.round(viewport.w)}:${Math.round(viewport.h)}`; + } if (inst.type === 'lightning') { return `lt:${Math.round(inst.end.x * 1000)}:${Math.round(inst.end.y * 1000)}:${Math.round(inst.widthN * 1000)}`; } + if (inst.type === 'sunbeam') { + return `sb:${Math.round(inst.end.x * 1000)}:${Math.round(inst.end.y * 1000)}:${Math.round(inst.widthN * 1000)}`; + } + if (inst.type === 'poisonCloud') { + return `pc:${Math.round(inst.at.x * 1000)}:${Math.round(inst.at.y * 1000)}:${Math.round(inst.radiusN * 1000)}`; + } if (inst.type === 'freeze') { return `fr:${Math.round(inst.at.x * 1000)}:${Math.round(inst.at.y * 1000)}:${Math.round(inst.intensity * 1000)}`; } @@ -695,10 +1113,44 @@ function computeSceneShake( let fogTextureCache: { key: string; texture: any } | null = null; let fireTextureCache: { key: string; texture: any } | null = null; let rainTextureCache: { key: string; texture: any } | null = null; +let poisonParticleTextureCache: { key: string; texture: any } | null = null; let scorchTextureCache: { key: string; texture: any } | null = null; let iceTextureCache: { key: string; texture: any } | null = null; let freezeScreenTextureCache: Map | null = null; +/** Круглая мягкая точка для частиц яда (не квадрат `Texture.WHITE`). */ +function getPoisonParticleTexture(pixi: any): any { + const key = 'poison_particle_round_v1'; + if (poisonParticleTextureCache?.key === key) return poisonParticleTextureCache.texture; + + const size = 48; + const canvas = document.createElement('canvas'); + canvas.width = size; + canvas.height = size; + const ctx = canvas.getContext('2d'); + if (!ctx) { + const t = pixi.Texture.WHITE; + poisonParticleTextureCache = { key, texture: t }; + return t; + } + const cx = size / 2; + const cy = size / 2; + const r = size / 2 - 0.5; + ctx.clearRect(0, 0, size, size); + const grd = ctx.createRadialGradient(cx, cy, 0, cx, cy, r); + grd.addColorStop(0, 'rgba(255,255,255,1)'); + grd.addColorStop(0.88, 'rgba(255,255,255,0.95)'); + grd.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.fillStyle = grd; + ctx.beginPath(); + ctx.arc(cx, cy, r, 0, Math.PI * 2); + ctx.fill(); + + const tex = pixi.Texture.from(canvas); + poisonParticleTextureCache = { key, texture: tex }; + return tex; +} + function getFogTexture(pixi: any): any { // Кэшируем один раз на процесс. Текстура — “дымка” с мягкой альфой. const key = 'fog_v1'; @@ -1049,9 +1501,11 @@ function smoothstep01(x: number): number { } function freezeAlpha(t: number, life: number): number { - const inMs = 180; - const holdMs = 220; - const outMs = Math.max(120, life - inMs - holdMs); + const L = Math.max(1, life); + // Те же доли, что при life=820 (180 / 220 / остаток), масштабируются под длину звука. + const inMs = Math.max(60, (L * 180) / 820); + const holdMs = Math.max(40, (L * 220) / 820); + const outMs = Math.max(80, L - inMs - holdMs); if (t <= inMs) return smoothstep01(t / inMs); if (t <= inMs + holdMs) return 1; return 1 - smoothstep01((t - inMs - holdMs) / outMs); diff --git a/app/shared/effectEraserHitTest.test.ts b/app/shared/effectEraserHitTest.test.ts index fee4245..9eb5872 100644 --- a/app/shared/effectEraserHitTest.test.ts +++ b/app/shared/effectEraserHitTest.test.ts @@ -20,6 +20,20 @@ void test('pickEraseTargetId: fire/rain по штриху как туман', () assert.equal(id, 'f1'); }); +void test('pickEraseTargetId: вода по штриху как туман', () => { + const water: EffectInstance = { + ...base, + id: 'w1', + type: 'water', + points: [{ x: 0.4, y: 0.55, tMs: 0 }], + radiusN: 0.06, + opacity: 0.5, + lifetimeMs: null, + }; + const id = pickEraseTargetId([water], { x: 0.41, y: 0.55 }, 0.05); + assert.equal(id, 'w1'); +}); + void test('minDistSqEffectToPoint: молния — расстояние до отрезка', () => { const bolt: EffectInstance = { ...base, @@ -37,6 +51,23 @@ void test('minDistSqEffectToPoint: молния — расстояние до о assert.equal(end, 0); }); +void test('minDistSqEffectToPoint: луч света — как у молнии, отрезок', () => { + const beam: EffectInstance = { + ...base, + id: 'S1', + type: 'sunbeam', + start: { x: 0.5, y: 0 }, + end: { x: 0.5, y: 0.8 }, + widthN: 0.04, + intensity: 1, + lifetimeMs: 220, + }; + const onBeam = minDistSqEffectToPoint(beam, { x: 0.5, y: 0.4 }); + assert.equal(onBeam, 0); + const aside = minDistSqEffectToPoint(beam, { x: 0.52, y: 0.4 }); + assert.ok(aside > 0 && aside < 0.01); +}); + void test('pickEraseTargetId: scorch с учётом inst.radiusN', () => { const sc: EffectInstance = { ...base, diff --git a/app/shared/effectEraserHitTest.ts b/app/shared/effectEraserHitTest.ts index f4fc895..19c622b 100644 --- a/app/shared/effectEraserHitTest.ts +++ b/app/shared/effectEraserHitTest.ts @@ -30,7 +30,8 @@ export function minDistSqEffectToPoint(inst: EffectInstance, p: { x: number; y: switch (inst.type) { case 'fog': case 'fire': - case 'rain': { + case 'rain': + case 'water': { let best = Number.POSITIVE_INFINITY; for (const q of inst.points) { const dx = q.x - p.x; @@ -40,6 +41,7 @@ export function minDistSqEffectToPoint(inst: EffectInstance, p: { x: number; y: return best; } case 'lightning': + case 'sunbeam': return distSqPointToSegment(p.x, p.y, inst.start.x, inst.start.y, inst.end.x, inst.end.y); case 'freeze': { const dx = inst.at.x - p.x; @@ -47,7 +49,8 @@ export function minDistSqEffectToPoint(inst: EffectInstance, p: { x: number; y: return dx * dx + dy * dy; } case 'scorch': - case 'ice': { + case 'ice': + case 'poisonCloud': { const dx = inst.at.x - p.x; const dy = inst.at.y - p.y; return dx * dx + dy * dy; @@ -58,7 +61,7 @@ export function minDistSqEffectToPoint(inst: EffectInstance, p: { x: number; y: } function eraseHitThresholdSq(inst: EffectInstance, toolRadiusN: number): number { - if (inst.type === 'scorch' || inst.type === 'ice') { + if (inst.type === 'scorch' || inst.type === 'ice' || inst.type === 'poisonCloud') { const r = toolRadiusN + inst.radiusN; return r * r; } diff --git a/app/shared/types/effects.ts b/app/shared/types/effects.ts index e72dc42..01e4e01 100644 --- a/app/shared/types/effects.ts +++ b/app/shared/types/effects.ts @@ -1,6 +1,25 @@ -export type EffectToolType = 'fog' | 'fire' | 'rain' | 'lightning' | 'freeze' | 'eraser'; +export type EffectToolType = + | 'fog' + | 'fire' + | 'rain' + | 'water' + | 'lightning' + | 'sunbeam' + | 'poisonCloud' + | 'freeze' + | 'eraser'; -export type EffectInstanceType = 'fog' | 'fire' | 'rain' | 'lightning' | 'freeze' | 'scorch' | 'ice'; +export type EffectInstanceType = + | 'fog' + | 'fire' + | 'rain' + | 'water' + | 'lightning' + | 'sunbeam' + | 'poisonCloud' + | 'freeze' + | 'scorch' + | 'ice'; /** Нормализованные координаты (0..1) относительно области предпросмотра/презентации. */ export type NPoint = { x: number; y: number; tMs: number; pressure?: number }; @@ -38,6 +57,14 @@ export type RainInstance = EffectInstanceBase & { lifetimeMs: number | null; }; +export type WaterInstance = EffectInstanceBase & { + type: 'water'; + points: NPoint[]; + radiusN: number; + opacity: number; + lifetimeMs: number | null; +}; + export type LightningInstance = EffectInstanceBase & { type: 'lightning'; start: { x: number; y: number }; @@ -47,6 +74,25 @@ export type LightningInstance = EffectInstanceBase & { lifetimeMs: number; }; +/** Прямой луч сверху к точке удара (как у молнии геометрия штриха, другой визуал). */ +export type SunbeamInstance = EffectInstanceBase & { + type: 'sunbeam'; + start: { x: number; y: number }; + end: { x: number; y: number }; + widthN: number; + intensity: number; + lifetimeMs: number; +}; + +/** «Облако яда» — ядерный гриб в точке удара. */ +export type PoisonCloudInstance = EffectInstanceBase & { + type: 'poisonCloud'; + at: { x: number; y: number }; + radiusN: number; + intensity: number; + lifetimeMs: number; +}; + export type FreezeInstance = EffectInstanceBase & { type: 'freeze'; at: { x: number; y: number }; @@ -69,14 +115,18 @@ export type IceInstance = EffectInstanceBase & { at: { x: number; y: number }; radiusN: number; opacity: number; - lifetimeMs: number; + /** `null` — пятно не истекает по времени (снимается только «очистить» или ластик). */ + lifetimeMs: number | null; }; export type EffectInstance = | FogInstance | FireInstance | RainInstance + | WaterInstance | LightningInstance + | SunbeamInstance + | PoisonCloudInstance | FreezeInstance | ScorchInstance | IceInstance; diff --git a/package.json b/package.json index f77d0fd..eda230a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build:obfuscate": "node scripts/build.mjs --production --obfuscate", "lint": "eslint . --max-warnings 0", "typecheck": "tsc -p tsconfig.eslint.json --noEmit", - "test": "tsx --test app/renderer/shared/ui/controls.tooltip.test.ts app/shared/ipc/contracts.mediaRemoval.test.ts app/shared/effectEraserHitTest.test.ts app/renderer/control/controlApp.effectsPanel.test.ts app/renderer/shared/effects/PxiEffectsOverlay.pointer.test.ts app/main/windows/createWindows.editorClose.test.ts app/main/project/assetPrune.test.ts app/main/project/zipRead.test.ts app/shared/package.build.test.ts app/shared/license/canonicalJson.test.ts app/shared/license/productKey.test.ts app/main/license/verifyLicenseToken.test.ts && node --test scripts/build-env.test.mjs scripts/obfuscate-main.test.mjs", + "test": "tsx --test app/renderer/shared/ui/controls.tooltip.test.ts app/shared/ipc/contracts.mediaRemoval.test.ts app/shared/effectEraserHitTest.test.ts app/renderer/control/controlApp.effectsPanel.test.ts app/renderer/shared/effects/PxiEffectsOverlay.pointer.test.ts app/main/windows/createWindows.editorClose.test.ts app/main/effects/effectsStore.test.ts app/main/project/assetPrune.test.ts app/main/project/zipRead.test.ts app/shared/package.build.test.ts app/shared/license/canonicalJson.test.ts app/shared/license/productKey.test.ts app/main/license/verifyLicenseToken.test.ts && node --test scripts/build-env.test.mjs scripts/obfuscate-main.test.mjs", "format": "prettier . --check", "format:write": "prettier . --write", "release:info": "node scripts/print-release-info.mjs",