From bb2e6ef2ffe11219340e834e8b58ff9138cf794b Mon Sep 17 00:00:00 2001 From: ILoveBingLu Date: Tue, 21 Apr 2026 04:44:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=204.2.0=EF=BC=9A=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=9B=BE=E7=89=87=E8=A7=A3=E5=AF=86=E4=B8=8E=E8=81=8A?= =?UTF-8?q?=E5=A4=A9=E6=BB=9A=E5=8A=A8=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本次提交将应用版本更新到 4.2.0,并同步更新 package-lock、README 版本徽标和 CHANGELOG 发布说明。 主要变更: - 接入 CipherTalk 自研图片 DAT 原生解密模块,替换原先迁移自 WeFlow 的命名与资源落点。 - 新增 Windows x64 与 macOS arm64 的预编译 native addon 资源,并补充 manifest、检查脚本和同步脚本。 - 保留 native 优先、TypeScript 兜底的图片解密链路,兼容 V3/V4 图片、wxgf 后处理、缓存命中、高清图回退和实况照片提取。 - 优化图片解密服务的缓存校验、wxgf/HEVC 白图规避、耗时诊断和默认日志输出,减少线上噪音。 - 聊天消息列表改为动态高度虚拟列表,卸载屏幕外消息 DOM 与图片节点,降低长会话内存和渲染压力。 - 修复虚拟列表初始挂载时滚底与顶部历史预加载互相打架导致界面上下晃动的问题。 - 顶部历史消息改为接近顶部并向上滚动时提前加载,同时加强 prepend 后的滚动位置恢复。 - 解析图片 XML 中的宽高信息,并用于聊天图片骨架屏、未解密占位、已解密图片和图片查看器初始窗口尺寸。 - 打包清理逻辑改为按当前平台保留对应 native addon,避免安装包携带无关平台产物。 验证: - 已执行 npx tsc --noEmit,通过 TypeScript 类型检查。 - 本地未执行应用构建,发布构建交由 GitHub Actions 的 tag 发布工作流完成。 --- .gitignore | 3 + CHANGELOG.md | 21 + README.md | 2 +- electron/main.ts | 3 +- electron/services/chatService.ts | 2 +- electron/services/dataManagementService.ts | 8 +- electron/services/imageDecryptService.ts | 930 +++++++++++++++--- electron/services/nativeImageDecrypt.ts | 155 +++ package-lock.json | 4 +- package.json | 9 +- .../ciphertalk-image-native-macos-arm64.node | Bin 0 -> 389472 bytes .../ciphertalk-image-native-win32-x64.node | Bin 0 -> 352768 bytes resources/wedecrypt/manifest.json | 14 + scripts/check-image-native.cjs | 43 + scripts/check-macos-native.js | 15 + scripts/clean-locales.js | 88 +- scripts/sync-image-native.cjs | 126 +++ src/pages/ChatPage.tsx | 168 +++- 18 files changed, 1419 insertions(+), 172 deletions(-) create mode 100644 electron/services/nativeImageDecrypt.ts create mode 100644 resources/wedecrypt/ciphertalk-image-native-macos-arm64.node create mode 100644 resources/wedecrypt/ciphertalk-image-native-win32-x64.node create mode 100644 resources/wedecrypt/manifest.json create mode 100644 scripts/check-image-native.cjs create mode 100644 scripts/sync-image-native.cjs diff --git a/.gitignore b/.gitignore index 756b0dd..8a16b47 100644 --- a/.gitignore +++ b/.gitignore @@ -53,7 +53,10 @@ WeFlow WxKey-CC upx native-dlls +native/image-decrypt/ +native/image-decrypt/target resources/whisper xkey skills .claude/ +.tmp diff --git a/CHANGELOG.md b/CHANGELOG.md index c51daa6..abc51cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,27 @@ ### 变更 - 暂无 +## [4.2.0] - 2026-04-21 + +### 新增 +- 新增 CipherTalk 自研图片 DAT 原生解密模块接入,支持 Windows x64 与 macOS arm64 预编译 `.node` 资源,并在打包时按平台保留对应产物。 +- 新增图片 native 解密运行时检查与同步脚本,便于验证本机原生模块是否可加载、是否为当前平台正确产物。 +- 聊天图片消息新增 XML 宽高解析,支持从 `cdnthumbwidth/cdnthumbheight`、`cdnmidwidth/cdnmidheight`、`cdnhdwidth/cdnhdheight` 等字段提取比例信息。 + +### 优化 +- 图片 DAT 解密链路改为 native 优先、TypeScript 兜底,保留原有 V3/V4 解密兼容路径、wxgf 后处理、缓存命中、高清图回退和实况照片提取逻辑。 +- 聊天图片解密中、未解密、未配置密钥和已解密状态统一按图片比例渲染占位,减少图片加载前后的布局跳动。 +- 图片查看器打开时会参考消息中的图片宽高预设窗口尺寸,图片真实加载后继续按实际尺寸校正。 +- 聊天消息列表改为动态高度虚拟列表,屏幕外消息 DOM 和图片节点会自动卸载,降低长会话滚动时的内存与渲染压力。 +- 顶部历史消息改为接近顶部并向上滚动时提前加载,同时加入滚动锚点恢复,减少加载更早消息后的跳屏。 +- 优化聊天滚动事件更新频率,避免每次滚动都触发不必要的 React 状态更新。 + +### 修复 +- 修复虚拟列表初始挂载时被误判为滚到顶部,导致打开聊天后历史加载与滚底逻辑互相打架、界面上下晃动的问题。 +- 修复部分 wxgf/HEVC 图片解码后出现纯白图的问题,避免错误缓存影响后续显示。 +- 修复图片 native 解密调试日志和聊天表匹配日志默认过多输出的问题,改为仅在调试环境变量启用时打印。 +- 修复图片 DAT 路径搜索、缓存检查与写入耗时较高时缺少定位信息的问题,保留可按需开启的耗时诊断。 + ## [4.1.9] - 2026-04-11 ### 修复 diff --git a/README.md b/README.md index 2957c42..3426926 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ **一款现代化的微信聊天记录查看与分析工具** [![License](https://img.shields.io/badge/license-CC--BY--NC--SA--4.0-blue.svg)](LICENSE) -[![Version](https://img.shields.io/badge/version-4.1.8-green.svg)](package.json) +[![Version](https://img.shields.io/badge/version-4.2.0-green.svg)](package.json) [![Platform](https://img.shields.io/badge/platform-Windows-0078D6.svg?logo=windows)]() [![Electron](https://img.shields.io/badge/Electron-39-47848F.svg?logo=electron)]() [![React](https://img.shields.io/badge/React-19-61DAFB.svg?logo=react)]() diff --git a/electron/main.ts b/electron/main.ts index fb8c18b..c3d4cbd 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -2243,8 +2243,7 @@ function registerIpcHandlers() { ipcMain.handle('imageDecrypt:decryptImage', async (_, inputPath: string, outputPath: string, xorKey: number, aesKey?: string) => { try { logService?.info('ImageDecrypt', '开始解密图片', { inputPath, outputPath }) - const aesKeyBuffer = aesKey ? imageDecryptService.asciiKey16(aesKey) : undefined - await imageDecryptService.decryptToFile(inputPath, outputPath, xorKey, aesKeyBuffer) + await imageDecryptService.decryptToFile(inputPath, outputPath, xorKey, aesKey) logService?.info('ImageDecrypt', '图片解密成功', { outputPath }) return { success: true } } catch (e) { diff --git a/electron/services/chatService.ts b/electron/services/chatService.ts index 8f1a6ff..575fb54 100644 --- a/electron/services/chatService.ts +++ b/electron/services/chatService.ts @@ -892,7 +892,7 @@ class ChatService extends EventEmitter { } } - if (tables.length > 0) { + if (tables.length > 0 && process.env.CIPHERTALK_CHAT_DEBUG === '1') { const sample = tables.slice(0, 8).map(t => t.name).join(', ') console.warn(`[ChatService] 未匹配到消息表: session=${sessionId}, hash=${hash}, tables=${tables.length}, sample=[${sample}]`) } diff --git a/electron/services/dataManagementService.ts b/electron/services/dataManagementService.ts index 2e91383..e8d1527 100644 --- a/electron/services/dataManagementService.ts +++ b/electron/services/dataManagementService.ts @@ -1042,7 +1042,7 @@ class DataManagementService { let successCount = 0 let failCount = 0 const totalFiles = pendingImages.length - const aesKeyBuffer = aesKeyStr ? imageDecryptService.asciiKey16(String(aesKeyStr)) : Buffer.alloc(16) + const aesKeyText = aesKeyStr ? String(aesKeyStr) : undefined // 分批处理,每批 50 个,避免内存溢出 const BATCH_SIZE = 50 @@ -1067,7 +1067,7 @@ class DataManagementService { const outputRelativePath = relativePath.replace(/\.dat$/, '') // 解密图片 - const decrypted = imageDecryptService.decryptDatFile(img.filePath, xorKey, aesKeyBuffer) + const decrypted = imageDecryptService.decryptDatFile(img.filePath, xorKey, aesKeyText) // 检测图片格式 const ext = this.detectImageFormat(decrypted) @@ -1213,14 +1213,14 @@ class DataManagementService { const outputRelativePath = relativePath.replace(/\.dat$/, '') // 解密图片 - const aesKeyBuffer = aesKeyStr ? imageDecryptService.asciiKey16(String(aesKeyStr)) : undefined + const aesKeyText = aesKeyStr ? String(aesKeyStr) : undefined console.log('解密图片:', filePath) console.log('XOR Key:', xorKey.toString(16)) console.log('AES Key String:', aesKeyStr) console.log('AES Key Buffer:', aesKeyBuffer?.toString('hex')) console.log('图片版本:', imageDecryptService.getDatVersion(filePath)) - const decrypted = imageDecryptService.decryptDatFile(filePath, xorKey, aesKeyBuffer || Buffer.alloc(16)) + const decrypted = imageDecryptService.decryptDatFile(filePath, xorKey, aesKeyText) // 检测图片格式 const ext = this.detectImageFormat(decrypted) diff --git a/electron/services/imageDecryptService.ts b/electron/services/imageDecryptService.ts index c185d50..651ea6c 100644 --- a/electron/services/imageDecryptService.ts +++ b/electron/services/imageDecryptService.ts @@ -11,6 +11,7 @@ import { promisify } from 'util' import { ConfigService } from './config' import { getDefaultCachePath as getPlatformDefaultCachePath } from './platformService' import { getDocumentsPath, getExePath } from './runtimePaths' +import { decryptDatViaNative, nativeAddonLocation, nativeAddonMetadata, nativeDecryptEnabled } from './nativeImageDecrypt' const execFileAsync = promisify(execFile) @@ -43,10 +44,22 @@ type HardlinkState = { dirTable?: string } +type DatDecryptOutcome = { + data: Buffer + source: 'native' | 'ts' + fallbackReason?: string +} + +type ResolveDatDiagnostics = { + source?: string +} + export class ImageDecryptService { private configService = new ConfigService() private hardlinkCache = new Map() private resolvedCache = new Map() + private sessionDatDirCache = new Map() + private sessionDatRootCache = new Map() private pending = new Map>() private noLiveSet = new Set() private readonly defaultV1AesKey = 'cfcd208495d565ef' @@ -54,6 +67,7 @@ export class ImageDecryptService { private cacheIndexing: Promise | null = null private updateFlags = new Map() private notFoundCache = new Set() // 失败缓存,避免重复查询 + private nativeLogged = false async resolveCachedImage(payload: { sessionId?: string; imageMd5?: string; imageDatName?: string }): Promise { // 不再等待缓存索引,直接查找 @@ -66,7 +80,7 @@ export class ImageDecryptService { // 1. 先检查内存缓存(最快) for (const key of cacheKeys) { const cached = this.resolvedCache.get(key) - if (cached && existsSync(cached) && this.isImageFile(cached)) { + if (cached && this.validateCachedImageFile(cached)) { const localPath = this.filePathToUrl(cached) const isThumb = this.isThumbnailPath(cached) const hasUpdate = isThumb ? (this.updateFlags.get(key) ?? false) : false @@ -79,7 +93,7 @@ export class ImageDecryptService { this.emitCacheResolved(payload, key, localPath) return { success: true, localPath, hasUpdate, liveVideoPath } } - if (cached && !this.isImageFile(cached)) { + if (cached && !this.validateCachedImageFile(cached)) { this.resolvedCache.delete(key) } } @@ -127,7 +141,7 @@ export class ImageDecryptService { // 快速查找高清图缓存 const hdCached = this.findCachedOutputFast(cacheKey, payload.sessionId, true) || this.findCachedOutput(cacheKey, payload.sessionId, true) - if (hdCached && existsSync(hdCached) && this.isImageFile(hdCached)) { + if (hdCached && this.validateCachedImageFile(hdCached)) { const localPath = this.filePathToUrl(hdCached) const liveVideoPath = this.checkLiveVideoCache(hdCached) return { success: true, localPath, isThumb: false, liveVideoPath } @@ -135,12 +149,12 @@ export class ImageDecryptService { } else { // 常规缓存检查(可能返回缩略图) const cached = this.resolvedCache.get(cacheKey) - if (cached && existsSync(cached) && this.isImageFile(cached)) { + if (cached && this.validateCachedImageFile(cached)) { const localPath = this.filePathToUrl(cached) const liveVideoPath = this.checkLiveVideoCache(cached) return { success: true, localPath, liveVideoPath } } - if (cached && !this.isImageFile(cached)) { + if (cached && !this.validateCachedImageFile(cached)) { this.resolvedCache.delete(cacheKey) } } @@ -163,6 +177,23 @@ export class ImageDecryptService { payload: { sessionId?: string; imageMd5?: string; imageDatName?: string; force?: boolean }, cacheKey: string ): Promise { + const totalStartedAt = Date.now() + let resolveDatMs = 0 + let cacheLookupMs = 0 + let decryptMs = 0 + let wxgfMs = 0 + let writeMs = 0 + let motionVideoMs = 0 + let thumbnailCleanupMs = 0 + let datPath: string | null = null + const datDiagnostics: ResolveDatDiagnostics = {} + let decryptSource: 'native' | 'ts' | 'none' = 'none' + let fallbackReason: string | undefined + let finalExtForLog: string | undefined + let nativeFallbackUsed = false + let usedCachedOutput = false + let wxgfDetected = false + try { const wxid = this.configService.get('myWxid') const dbPath = this.configService.get('dbPath') @@ -176,36 +207,107 @@ export class ImageDecryptService { return { success: false, error: '未找到账号目录' } } - const datPath = await this.resolveDatPath( + const resolveDatStartedAt = Date.now() + datPath = await this.resolveDatPath( accountDir, payload.imageMd5, payload.imageDatName, payload.sessionId, - { allowThumbnail: !payload.force, skipResolvedCache: Boolean(payload.force) } + { allowThumbnail: !payload.force, skipResolvedCache: Boolean(payload.force) }, + datDiagnostics ) + resolveDatMs = Date.now() - resolveDatStartedAt // 如果要求高清图但没找到,直接返回提示 if (!datPath && payload.force) { console.warn(`[ImageDecrypt] 未找到高清图: ${payload.imageDatName || payload.imageMd5}`) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: finalExtForLog, + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'missing_hd', + totalMs: Date.now() - totalStartedAt + }) return { success: false, error: '未找到高清图,请在微信中点开该图片查看后重试' } } if (!datPath) { this.notFoundCache.add(cacheKey) console.warn(`[ImageDecrypt] 未找到图片文件: ${payload.imageDatName || payload.imageMd5} sessionId=${payload.sessionId}`) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: finalExtForLog, + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'missing_dat', + totalMs: Date.now() - totalStartedAt + }) return { success: false, error: '未找到图片文件' } } if (!extname(datPath).toLowerCase().includes('dat')) { + this.cacheSessionDatRoot(accountDir, payload.sessionId, datPath) this.cacheResolvedPaths(cacheKey, payload.imageMd5, payload.imageDatName, datPath) const localPath = this.filePathToUrl(datPath) const isThumb = this.isThumbnailPath(datPath) this.emitCacheResolved(payload, cacheKey, localPath) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: extname(datPath).toLowerCase(), + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'plain_file', + totalMs: Date.now() - totalStartedAt + }) return { success: true, localPath, isThumb, liveVideoPath: !isThumb ? this.checkLiveVideoCache(datPath) : undefined } } // 查找已缓存的解密文件 - const existing = this.findCachedOutput(cacheKey, payload.sessionId, payload.force) + const cacheLookupStartedAt = Date.now() + const existing = this.findCachedOutputFast(cacheKey, payload.sessionId, payload.force) || + (!payload.sessionId ? this.findCachedOutput(cacheKey, payload.sessionId, payload.force) : null) + cacheLookupMs = Date.now() - cacheLookupStartedAt if (existing) { + usedCachedOutput = true const isHd = this.isHdPath(existing) // 如果要求高清但找到的是缩略图,继续解密高清图 if (!(payload.force && !isHd)) { @@ -213,6 +315,27 @@ export class ImageDecryptService { const localPath = this.filePathToUrl(existing) const isThumb = this.isThumbnailPath(existing) this.emitCacheResolved(payload, cacheKey, localPath) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: extname(existing).toLowerCase(), + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'cache_hit', + totalMs: Date.now() - totalStartedAt + }) return { success: true, localPath, isThumb, liveVideoPath: !isThumb ? this.checkLiveVideoCache(existing) : undefined } } } @@ -235,41 +358,71 @@ export class ImageDecryptService { } const aesKeyRaw = this.configService.get('imageAesKey') + const aesKeyText = typeof aesKeyRaw === 'string' ? aesKeyRaw.trim() : '' const aesKey = this.resolveAesKey(aesKeyRaw) - let decrypted = await this.decryptDatAuto(datPath, xorKey, aesKey) + const decryptStartedAt = Date.now() + let decryptOutcome = await this.decryptDatAuto(datPath, xorKey, aesKey, aesKeyText) + decryptMs += Date.now() - decryptStartedAt + decryptSource = decryptOutcome.source + fallbackReason = decryptOutcome.fallbackReason + let decrypted = decryptOutcome.data - // 检查是否是 wxgf 格式,如果是则尝试提取真实图片数据 - const wxgfResult = await this.unwrapWxgf(decrypted) + const unwrapStartedAt = Date.now() + let wxgfResult = await this.unwrapWxgf(decrypted) + wxgfMs += Date.now() - unwrapStartedAt + wxgfDetected = wxgfResult.isWxgf decrypted = wxgfResult.data let ext = this.detectImageExtension(decrypted) - // 如果是 wxgf 格式且没检测到扩展名 if (wxgfResult.isWxgf && !ext) { - // wxgf 格式需要 ffmpeg 转换,如果转换失败则无法显示 ext = '.hevc' } + if (!ext && decryptOutcome.source === 'native') { + console.warn(`[ImageDecrypt] Native DAT 解密结果无效,回退 TS 逻辑: ${datPath} reason=${decryptOutcome.fallbackReason || 'invalid_output'}`) + nativeFallbackUsed = true + fallbackReason = decryptOutcome.fallbackReason || 'invalid_output' + const fallbackDecryptStartedAt = Date.now() + decryptOutcome = this.decryptDatLegacy(datPath, xorKey, aesKey) + decryptMs += Date.now() - fallbackDecryptStartedAt + decryptSource = decryptOutcome.source + decrypted = decryptOutcome.data + const fallbackUnwrapStartedAt = Date.now() + wxgfResult = await this.unwrapWxgf(decrypted) + wxgfMs += Date.now() - fallbackUnwrapStartedAt + wxgfDetected = wxgfResult.isWxgf + decrypted = wxgfResult.data + ext = this.detectImageExtension(decrypted) + if (wxgfResult.isWxgf && !ext) { + ext = '.hevc' + } + } + const finalExt = ext || '.jpg' + finalExtForLog = finalExt // 图片完整性校验:检测解密后的数据是否有完整的结束标记 const isImageComplete = this.verifyImageComplete(decrypted, finalExt) - // 诊断日志:记录关键数据以便定位半白图片的根因 - const datSize = statSync(datPath).size - const datVersion = this.getDatVersion(datPath) if (!isImageComplete) { + const datSize = statSync(datPath).size + const datVersion = this.getDatVersion(datPath) console.warn(`[ImageDecrypt] 图片不完整! cacheKey=${cacheKey} datPath=${datPath} datSize=${datSize} version=V${datVersion === 0 ? '3' : datVersion === 1 ? '4v1' : '4v2'} decryptedSize=${decrypted.length} ext=${finalExt} headHex=${decrypted.subarray(0, 8).toString('hex')} tailHex=${decrypted.subarray(Math.max(0, decrypted.length - 8)).toString('hex')}`) } const outputPath = this.getCacheOutputPathFromDat(datPath, finalExt, payload.sessionId) + const writeStartedAt = Date.now() await writeFile(outputPath, decrypted) + writeMs = Date.now() - writeStartedAt // 检测实况照片(Motion Photo) let liveVideoPath: string | undefined if (!this.isThumbnailPath(datPath) && (finalExt === '.jpg' || finalExt === '.jpeg')) { + const motionStartedAt = Date.now() const vp = await this.extractMotionPhotoVideo(outputPath, decrypted) + motionVideoMs = Date.now() - motionStartedAt if (vp) liveVideoPath = this.filePathToUrl(vp) } @@ -277,16 +430,40 @@ export class ImageDecryptService { // 如果图片是完整的,才缓存路径映射(不完整的下次重新解密) if (isImageComplete) { + this.cacheSessionDatRoot(accountDir, payload.sessionId, datPath) this.cacheResolvedPaths(cacheKey, payload.imageMd5, payload.imageDatName, outputPath) if (!isThumb) { this.clearUpdateFlags(cacheKey, payload.imageMd5, payload.imageDatName) - this.deleteThumbnailByKeys(this.getCacheKeys(payload)) + const thumbnailCleanupStartedAt = Date.now() + this.deleteThumbnailByKeysInDir(this.getCacheKeys(payload), dirname(outputPath)) + thumbnailCleanupMs = Date.now() - thumbnailCleanupStartedAt } } // 对于 hevc 格式,返回错误提示用户安装 ffmpeg if (finalExt === '.hevc') { console.warn(`[ImageDecrypt] 检测到 wxgf/hevc 格式图片,但未启用转换或转换失败: ${cacheKey}`) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: finalExtForLog, + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'hevc_unavailable', + totalMs: Date.now() - totalStartedAt + }) return { success: false, error: '此图片为微信新格式(wxgf),需要安装 ffmpeg 才能显示。请运行: winget install ffmpeg', @@ -296,14 +473,123 @@ export class ImageDecryptService { const localPath = this.filePathToUrl(outputPath) this.emitCacheResolved(payload, cacheKey, localPath) + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: finalExtForLog, + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'success', + totalMs: Date.now() - totalStartedAt + }) return { success: true, localPath, isThumb, liveVideoPath } } catch (e) { + this.logDecryptTiming({ + cacheKey, + payload, + datPath, + resolveSource: datDiagnostics.source, + resolveDatMs, + cacheLookupMs, + decryptMs, + wxgfMs, + writeMs, + motionVideoMs, + thumbnailCleanupMs, + decryptSource, + fallbackReason, + finalExt: finalExtForLog, + usedCachedOutput, + nativeFallbackUsed, + wxgfDetected, + status: 'error', + totalMs: Date.now() - totalStartedAt, + error: String(e) + }) console.error(`[ImageDecrypt] 解密异常: ${cacheKey}`, e) return { success: false, error: String(e) } } } + private logDecryptTiming(details: { + cacheKey: string + payload: { sessionId?: string; imageMd5?: string; imageDatName?: string; force?: boolean } + datPath: string | null + resolveSource?: string + resolveDatMs: number + cacheLookupMs: number + decryptMs: number + wxgfMs: number + writeMs: number + motionVideoMs: number + thumbnailCleanupMs: number + decryptSource: 'native' | 'ts' | 'none' + fallbackReason?: string + finalExt?: string + usedCachedOutput: boolean + nativeFallbackUsed: boolean + wxgfDetected: boolean + status: 'success' | 'cache_hit' | 'plain_file' | 'missing_dat' | 'missing_hd' | 'hevc_unavailable' | 'error' + totalMs: number + error?: string + }): void { + if (process.env.CIPHERTALK_IMAGE_DECRYPT_DEBUG !== '1') return + + const shouldLog = + details.status !== 'success' || + details.totalMs >= 300 || + details.resolveDatMs >= 120 || + details.cacheLookupMs >= 80 || + details.decryptMs >= 100 || + details.wxgfMs >= 100 || + details.writeMs >= 80 || + details.motionVideoMs >= 120 || + details.thumbnailCleanupMs >= 80 || + details.nativeFallbackUsed || + details.resolveSource === 'search' || + details.resolveSource === 'search_normalized' + + if (!shouldLog) return + + console.info('[ImageDecrypt] 耗时分析', { + cacheKey: details.cacheKey, + sessionId: details.payload.sessionId, + imageDatName: details.payload.imageDatName, + imageMd5: details.payload.imageMd5, + force: Boolean(details.payload.force), + status: details.status, + datPath: details.datPath, + resolveSource: details.resolveSource || 'unknown', + usedCachedOutput: details.usedCachedOutput, + decryptSource: details.decryptSource, + fallbackReason: details.fallbackReason || null, + wxgfDetected: details.wxgfDetected, + finalExt: details.finalExt || null, + totalMs: details.totalMs, + resolveDatMs: details.resolveDatMs, + cacheLookupMs: details.cacheLookupMs, + decryptMs: details.decryptMs, + wxgfMs: details.wxgfMs, + writeMs: details.writeMs, + motionVideoMs: details.motionVideoMs, + thumbnailCleanupMs: details.thumbnailCleanupMs, + error: details.error || null + }) + } + private resolveAccountDir(dbPath: string, wxid: string): string | null { const cleanedWxid = this.cleanAccountDirName(wxid) const normalized = dbPath.replace(/[\\/]+$/, '') @@ -412,7 +698,8 @@ export class ImageDecryptService { imageMd5?: string, imageDatName?: string, sessionId?: string, - options?: { allowThumbnail?: boolean; skipResolvedCache?: boolean } + options?: { allowThumbnail?: boolean; skipResolvedCache?: boolean }, + diagnostics?: ResolveDatDiagnostics ): Promise { const allowThumbnail = options?.allowThumbnail ?? true const skipResolvedCache = options?.skipResolvedCache ?? false @@ -423,6 +710,8 @@ export class ImageDecryptService { if (hardlinkPath) { const isThumb = this.isThumbnailPath(hardlinkPath) if (allowThumbnail || !isThumb) { + diagnostics && (diagnostics.source = 'hardlink') + this.cacheSessionDatRoot(accountDir, sessionId, hardlinkPath) this.cacheDatPath(accountDir, imageMd5, hardlinkPath) if (imageDatName) this.cacheDatPath(accountDir, imageDatName, hardlinkPath) return hardlinkPath @@ -431,6 +720,8 @@ export class ImageDecryptService { // 尝试在同一目录下查找高清图变体(快速查找) const hdPath = this.findHdVariantInSameDir(hardlinkPath) if (hdPath) { + diagnostics && (diagnostics.source = 'hardlink_hd_same_dir') + this.cacheSessionDatRoot(accountDir, sessionId, hdPath) this.cacheDatPath(accountDir, imageMd5, hdPath) if (imageDatName) this.cacheDatPath(accountDir, imageDatName, hdPath) return hdPath @@ -438,6 +729,8 @@ export class ImageDecryptService { // 同目录没找到高清图,尝试在该目录下搜索 const hdInDir = await this.searchDatFileInDir(dirname(hardlinkPath), imageDatName || imageMd5 || '', false) if (hdInDir) { + diagnostics && (diagnostics.source = 'hardlink_hd_dir_scan') + this.cacheSessionDatRoot(accountDir, sessionId, hdInDir) this.cacheDatPath(accountDir, imageMd5, hdInDir) if (imageDatName) this.cacheDatPath(accountDir, imageDatName, hdInDir) return hdInDir @@ -452,18 +745,24 @@ export class ImageDecryptService { if (hardlinkPath) { const isThumb = this.isThumbnailPath(hardlinkPath) if (allowThumbnail || !isThumb) { + diagnostics && (diagnostics.source = 'hardlink') + this.cacheSessionDatRoot(accountDir, sessionId, hardlinkPath) this.cacheDatPath(accountDir, imageDatName, hardlinkPath) return hardlinkPath } // hardlink 找到的是缩略图,但要求高清图 const hdPath = this.findHdVariantInSameDir(hardlinkPath) if (hdPath) { + diagnostics && (diagnostics.source = 'hardlink_hd_same_dir') + this.cacheSessionDatRoot(accountDir, sessionId, hdPath) this.cacheDatPath(accountDir, imageDatName, hdPath) return hdPath } // 同目录没找到高清图,尝试在该目录下搜索 const hdInDir = await this.searchDatFileInDir(dirname(hardlinkPath), imageDatName, false) if (hdInDir) { + diagnostics && (diagnostics.source = 'hardlink_hd_dir_scan') + this.cacheSessionDatRoot(accountDir, sessionId, hdInDir) this.cacheDatPath(accountDir, imageDatName, hdInDir) return hdInDir } @@ -477,19 +776,102 @@ export class ImageDecryptService { if (!skipResolvedCache) { const cached = this.resolvedCache.get(imageDatName) if (cached && existsSync(cached)) { - if (allowThumbnail || !this.isThumbnailPath(cached)) return cached + if (allowThumbnail || !this.isThumbnailPath(cached)) { + diagnostics && (diagnostics.source = 'resolved_cache') + this.cacheSessionDatRoot(accountDir, sessionId, cached) + return cached + } // 缓存的是缩略图,尝试找高清图 const hdPath = this.findHdVariantInSameDir(cached) - if (hdPath) return hdPath + if (hdPath) { + diagnostics && (diagnostics.source = 'resolved_cache_hd_same_dir') + this.cacheSessionDatRoot(accountDir, sessionId, hdPath) + return hdPath + } // 同目录没找到,尝试在该目录下搜索 const hdInDir = await this.searchDatFileInDir(dirname(cached), imageDatName, false) - if (hdInDir) return hdInDir + if (hdInDir) { + diagnostics && (diagnostics.source = 'resolved_cache_hd_dir_scan') + this.cacheSessionDatRoot(accountDir, sessionId, hdInDir) + return hdInDir + } + } + } + + const sessionHashRoot = this.resolveSessionHashDatRoot(accountDir, sessionId) + if (sessionHashRoot) { + const sessionHashPath = this.searchDatInSessionRoot(sessionHashRoot, imageDatName, allowThumbnail) + if (sessionHashPath) { + diagnostics && (diagnostics.source = 'session_hash_root') + this.cacheSessionDatRoot(accountDir, sessionId, sessionHashPath) + this.resolvedCache.set(imageDatName, sessionHashPath) + this.cacheDatPath(accountDir, imageDatName, sessionHashPath) + return sessionHashPath + } + const normalized = this.normalizeDatBase(imageDatName) + if (normalized !== imageDatName.toLowerCase()) { + const normalizedSessionHashPath = this.searchDatInSessionRoot(sessionHashRoot, normalized, allowThumbnail) + if (normalizedSessionHashPath) { + diagnostics && (diagnostics.source = 'session_hash_root_normalized') + this.cacheSessionDatRoot(accountDir, sessionId, normalizedSessionHashPath) + this.resolvedCache.set(imageDatName, normalizedSessionHashPath) + this.cacheDatPath(accountDir, imageDatName, normalizedSessionHashPath) + return normalizedSessionHashPath + } + } + } + + const cachedSessionDir = this.getCachedSessionDatDir(accountDir, sessionId) + if (cachedSessionDir) { + const directSessionPath = this.searchDatInKnownDir(cachedSessionDir, imageDatName, allowThumbnail) + if (directSessionPath) { + diagnostics && (diagnostics.source = 'session_dir_cache') + this.cacheSessionDatRoot(accountDir, sessionId, directSessionPath) + this.resolvedCache.set(imageDatName, directSessionPath) + this.cacheDatPath(accountDir, imageDatName, directSessionPath) + return directSessionPath + } + const normalized = this.normalizeDatBase(imageDatName) + if (normalized !== imageDatName.toLowerCase()) { + const normalizedDirectSessionPath = this.searchDatInKnownDir(cachedSessionDir, normalized, allowThumbnail) + if (normalizedDirectSessionPath) { + diagnostics && (diagnostics.source = 'session_dir_cache_normalized') + this.cacheSessionDatRoot(accountDir, sessionId, normalizedDirectSessionPath) + this.resolvedCache.set(imageDatName, normalizedDirectSessionPath) + this.cacheDatPath(accountDir, imageDatName, normalizedDirectSessionPath) + return normalizedDirectSessionPath + } + } + } + + const cachedSessionRoot = this.getCachedSessionDatRoot(accountDir, sessionId) + if (cachedSessionRoot) { + const sessionPath = this.searchDatInSessionRoot(cachedSessionRoot, imageDatName, allowThumbnail) + if (sessionPath) { + diagnostics && (diagnostics.source = 'session_root_cache') + this.cacheSessionDatRoot(accountDir, sessionId, sessionPath) + this.resolvedCache.set(imageDatName, sessionPath) + this.cacheDatPath(accountDir, imageDatName, sessionPath) + return sessionPath + } + const normalized = this.normalizeDatBase(imageDatName) + if (normalized !== imageDatName.toLowerCase()) { + const normalizedSessionPath = this.searchDatInSessionRoot(cachedSessionRoot, normalized, allowThumbnail) + if (normalizedSessionPath) { + diagnostics && (diagnostics.source = 'session_root_cache_normalized') + this.cacheSessionDatRoot(accountDir, sessionId, normalizedSessionPath) + this.resolvedCache.set(imageDatName, normalizedSessionPath) + this.cacheDatPath(accountDir, imageDatName, normalizedSessionPath) + return normalizedSessionPath + } } } // 只有在 hardlink 完全没有记录时才搜索文件夹 const datPath = await this.searchDatFile(accountDir, imageDatName, allowThumbnail) if (datPath) { + diagnostics && (diagnostics.source = 'search') + this.cacheSessionDatRoot(accountDir, sessionId, datPath) this.resolvedCache.set(imageDatName, datPath) this.cacheDatPath(accountDir, imageDatName, datPath) return datPath @@ -498,6 +880,8 @@ export class ImageDecryptService { if (normalized !== imageDatName.toLowerCase()) { const normalizedPath = await this.searchDatFile(accountDir, normalized, allowThumbnail) if (normalizedPath) { + diagnostics && (diagnostics.source = 'search_normalized') + this.cacheSessionDatRoot(accountDir, sessionId, normalizedPath) this.resolvedCache.set(imageDatName, normalizedPath) this.cacheDatPath(accountDir, imageDatName, normalizedPath) return normalizedPath @@ -515,20 +899,19 @@ export class ImageDecryptService { const dir = dirname(thumbPath) const fileName = basename(thumbPath).toLowerCase() - // 提取基础名称(去掉 _t.dat 或 .t.dat) + // Extract base name by stripping _t/_t_W/_t_NW/.t and similar thumbnail suffixes let baseName = fileName - if (baseName.endsWith('_t.dat')) { - baseName = baseName.slice(0, -6) - } else if (baseName.endsWith('.t.dat')) { - baseName = baseName.slice(0, -6) - } else { - return null - } + if (baseName.endsWith('.dat')) baseName = baseName.slice(0, -4) + const thumbMatch = baseName.match(/^(.+?)[_.]t(?:_[a-z]+)?$/i) + if (!thumbMatch) return null + baseName = thumbMatch[1] - // 尝试查找高清图变体 + // Try HD variants including _h_W, _h_NW etc. const variants = [ `${baseName}_h.dat`, `${baseName}.h.dat`, + `${baseName}_h_w.dat`, + `${baseName}_h_nw.dat`, `${baseName}.dat` ] @@ -783,11 +1166,8 @@ export class ImageDecryptService { let baseName = lowerName if (baseName.endsWith('.dat')) { baseName = baseName.slice(0, -4) - if (baseName.endsWith('_t') || baseName.endsWith('.t') || baseName.endsWith('_hd')) { - baseName = baseName.slice(0, -3) - } else if (baseName.endsWith('_thumb')) { - baseName = baseName.slice(0, -6) - } + // Strip variant suffixes like _t, _h, _t_W, _t_NW, _h_W, _hd, _thumb + baseName = baseName.replace(/[_.](?:t|h|hd|thumb)(?:_[a-z]+)?$/, '') } const candidates: string[] = [] @@ -939,8 +1319,7 @@ export class ImageDecryptService { private isThumbnailDat(fileName: string): boolean { const lower = fileName.toLowerCase() return ( - lower.includes('.t.dat') || - lower.includes('_t.dat') || + /[._]t(?:_[a-z]+)?\.dat$/.test(lower) || lower.includes('_thumb.dat') ) } @@ -995,17 +1374,7 @@ export class ImageDecryptService { // 校验缓存文件是否存在且完整,不完整的自动删除 const validateCached = (filePath: string): boolean => { - if (!existsSync(filePath)) return false - try { - const size = statSync(filePath).size - if (size <= 100) { unlinkSync(filePath); return false } - if (!this.isFileTailValid(filePath, size)) { - console.warn(`[ImageDecrypt] 发现不完整缓存图片,已删除: ${filePath} (size=${size})`) - unlinkSync(filePath) - return false - } - return true - } catch { return false } + return this.validateCachedImageFile(filePath) } // 遍历所有可能的缓存根路径 @@ -1154,22 +1523,7 @@ export class ImageDecryptService { // 检查文件是否存在且图片数据完整 for (const candidate of candidates) { - if (existsSync(candidate)) { - try { - const size = statSync(candidate).size - if (size <= 100) { - unlinkSync(candidate) - continue - } - // 快速校验图片末尾完整性(只读最后 64 字节) - if (this.isFileTailValid(candidate, size)) { - return candidate - } - // 图片末尾不完整(半截图),删除后让系统重新解密 - console.warn(`[ImageDecrypt] 发现不完整缓存图片,已删除: ${candidate} (size=${size})`) - unlinkSync(candidate) - } catch { } - } + if (this.validateCachedImageFile(candidate)) return candidate } } } @@ -1181,6 +1535,43 @@ export class ImageDecryptService { * 快速校验缓存图片文件末尾是否完整 * 只读取最后 64 字节进行检查,开销极小 */ + private validateCachedImageFile(filePath: string): boolean { + if (!existsSync(filePath) || !this.isImageFile(filePath)) return false + try { + const size = statSync(filePath).size + if (size <= 100) { + unlinkSync(filePath) + return false + } + if (this.isSuspiciousBlankCachedImage(filePath, size)) { + console.warn(`[ImageDecrypt] 发现疑似 wxgf 白图缓存,已删除并触发重解: ${filePath} (size=${size})`) + unlinkSync(filePath) + return false + } + if (!this.isFileTailValid(filePath, size)) { + console.warn(`[ImageDecrypt] 发现不完整缓存图片,已删除: ${filePath} (size=${size})`) + unlinkSync(filePath) + return false + } + return true + } catch { + return false + } + } + + private isSuspiciousBlankCachedImage(filePath: string, fileSize: number): boolean { + const ext = extname(filePath).toLowerCase() + if (ext !== '.jpg' && ext !== '.jpeg') return false + if (fileSize > 8 * 1024) return false + + try { + const data = readFileSync(filePath) + return this.isProbablyBlankConvertedJpeg(data) + } catch { + return false + } + } + private isFileTailValid(filePath: string, fileSize: number): boolean { try { const ext = filePath.toLowerCase() @@ -1328,6 +1719,118 @@ export class ImageDecryptService { } } + private cacheSessionDatRoot(accountDir: string, sessionId: string | undefined, datPath: string): void { + if (!sessionId || !datPath) return + const dirKey = `${accountDir}|${sessionId}` + const datDir = dirname(datPath) + if (existsSync(datDir)) { + this.sessionDatDirCache.set(dirKey, datDir) + } + const root = this.extractSessionDatRoot(accountDir, datPath) + if (!root || !existsSync(root)) return + this.sessionDatRootCache.set(dirKey, root) + } + + private getCachedSessionDatDir(accountDir: string, sessionId?: string): string | null { + if (!sessionId) return null + const key = `${accountDir}|${sessionId}` + const cached = this.sessionDatDirCache.get(key) + if (cached && existsSync(cached)) return cached + if (cached) this.sessionDatDirCache.delete(key) + return null + } + + private getCachedSessionDatRoot(accountDir: string, sessionId?: string): string | null { + if (!sessionId) return null + const key = `${accountDir}|${sessionId}` + const cached = this.sessionDatRootCache.get(key) + if (cached && existsSync(cached)) return cached + if (cached) this.sessionDatRootCache.delete(key) + return null + } + + private resolveSessionHashDatRoot(accountDir: string, sessionId?: string): string | null { + if (!sessionId) return null + const root = join(accountDir, 'msg', 'attach', crypto.createHash('md5').update(sessionId).digest('hex')) + return existsSync(root) ? root : null + } + + private getLikelyDatFileNames(datName: string, allowThumbnail = true): string[] { + const lower = datName.toLowerCase() + const normalized = this.normalizeDatBase(lower) + const names = [ + lower.endsWith('.dat') ? lower : `${lower}.dat`, + `${normalized}.dat`, + `${normalized}_h.dat`, + `${normalized}.h.dat`, + `${normalized}_hd.dat` + ] + if (allowThumbnail) { + names.push(`${normalized}_t.dat`, `${normalized}.t.dat`, `${normalized}_thumb.dat`) + } + return Array.from(new Set(names.filter(Boolean))) + } + + private searchDatInKnownDir(dirPath: string, datName: string, allowThumbnail = true): string | null { + if (!existsSync(dirPath)) return null + const candidateNames = this.getLikelyDatFileNames(datName, allowThumbnail) + for (const candidateName of candidateNames) { + const candidatePath = join(dirPath, candidateName) + if (!existsSync(candidatePath)) continue + if (!allowThumbnail && this.isThumbnailPath(candidatePath)) continue + return candidatePath + } + return null + } + + private searchDatInSessionRoot(sessionRoot: string, datName: string, allowThumbnail = true): string | null { + if (!existsSync(sessionRoot)) return null + + let monthDirs: string[] + try { + monthDirs = readdirSync(sessionRoot, { withFileTypes: true }) + .filter(d => d.isDirectory() && /^\d{4}-\d{2}$/.test(d.name)) + .map(d => d.name) + .sort() + .reverse() + .slice(0, 6) + } catch { + return null + } + + const candidateNames = this.getLikelyDatFileNames(datName, allowThumbnail) + const subDirs = ['Img', 'Image', 'mg'] + for (const monthDir of monthDirs) { + for (const subDir of subDirs) { + const imageDir = join(sessionRoot, monthDir, subDir) + const matched = this.searchDatInKnownDir(imageDir, datName, allowThumbnail) + if (matched) return matched + for (const candidateName of candidateNames) { + const candidatePath = join(imageDir, candidateName) + if (!existsSync(candidatePath)) continue + if (!allowThumbnail && this.isThumbnailPath(candidatePath)) continue + return candidatePath + } + } + } + return null + } + + private extractSessionDatRoot(accountDir: string, datPath: string): string | null { + const attachRoot = join(accountDir, 'msg', 'attach') + const normalizedAttachRoot = attachRoot.toLowerCase() + const normalizedDatPath = datPath.toLowerCase() + if (!normalizedDatPath.startsWith(normalizedAttachRoot)) { + return dirname(datPath) + } + + const relative = datPath.slice(attachRoot.length).replace(/^[\\/]+/, '') + if (!relative) return dirname(datPath) + const parts = relative.split(/[\\/]+/).filter(Boolean) + if (parts.length === 0) return dirname(datPath) + return join(attachRoot, parts[0]) + } + private clearUpdateFlags(cacheKey: string, imageMd5?: string, imageDatName?: string): void { this.updateFlags.delete(cacheKey) if (imageMd5) this.updateFlags.delete(imageMd5) @@ -1393,6 +1896,39 @@ export class ImageDecryptService { return deleted } + private deleteThumbnailByKeysInDir(keys: string[], dirPath: string): number { + if (keys.length === 0 || !dirPath || !existsSync(dirPath)) return 0 + const extensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp'] + const normalizedKeys = Array.from(new Set( + keys + .map(k => this.normalizeDatBase(k.toLowerCase())) + .filter(Boolean) + )) + if (normalizedKeys.length === 0) return 0 + + let deleted = 0 + for (const key of normalizedKeys) { + for (const ext of extensions) { + const candidate = join(dirPath, `${key}_thumb${ext}`) + if (!existsSync(candidate)) continue + try { + unlinkSync(candidate) + deleted++ + } catch { } + } + } + + for (const [cacheKey, resolvedPath] of this.resolvedCache.entries()) { + const lowerKey = this.normalizeDatBase(cacheKey.toLowerCase()) + if (!normalizedKeys.includes(lowerKey)) continue + if (!this.isThumbnailPath(resolvedPath)) continue + if (dirname(resolvedPath) !== dirPath) continue + this.resolvedCache.delete(cacheKey) + } + + return deleted + } + private getCachedDatDir(accountDir: string, imageDatName?: string, imageMd5?: string): string | null { const keys = [ imageDatName ? `${accountDir}|${imageDatName}` : null, @@ -1562,36 +2098,26 @@ export class ImageDecryptService { return this.asciiKey16(trimmed) } - private async decryptDatAuto(datPath: string, xorKey: number, aesKey: Buffer | null): Promise { - const version = this.getDatVersion(datPath) - - if (version === 0) { - return this.decryptDatV3(datPath, xorKey) + private async decryptDatAuto( + datPath: string, + xorKey: number, + aesKey: Buffer | null, + aesKeyText?: string + ): Promise { + const nativeResult = this.tryDecryptDatWithNative(datPath, xorKey, aesKeyText) + if (nativeResult && this.looksLikeNativeImagePayload(nativeResult.data)) { + return { data: nativeResult.data, source: 'native' } } - if (version === 1) { - const key = this.asciiKey16(this.defaultV1AesKey) - return this.decryptDatV4(datPath, xorKey, key) + const fallbackReason = nativeResult ? 'invalid_native_payload' : 'native_unavailable' + if (nativeResult || nativeDecryptEnabled()) { + console.warn(`[ImageDecrypt] Native DAT 解密不可用,回退 TS: ${datPath} reason=${fallbackReason}`) } - // version === 2 - if (!aesKey || aesKey.length !== 16) { - throw new Error('请到设置配置图片解密密钥') - } - return this.decryptDatV4(datPath, xorKey, aesKey) + return this.decryptDatLegacy(datPath, xorKey, aesKey, fallbackReason) } - public decryptDatFile(inputPath: string, xorKey: number, aesKey?: Buffer): Buffer { - const version = this.getDatVersion(inputPath) - if (version === 0) { - return this.decryptDatV3(inputPath, xorKey) - } else if (version === 1) { - const key = this.asciiKey16(this.defaultV1AesKey) - return this.decryptDatV4(inputPath, xorKey, key) - } else { - if (!aesKey || aesKey.length !== 16) { - throw new Error('V4版本需要16字节AES密钥') - } - return this.decryptDatV4(inputPath, xorKey, aesKey) - } + public decryptDatFile(inputPath: string, xorKey: number, aesKey?: Buffer | string): Buffer { + const { buffer, text } = this.normalizeAesKeyInput(aesKey) + return this.decryptDatFileInternal(inputPath, xorKey, buffer, text) } public getDatVersion(inputPath: string): number { @@ -1612,6 +2138,99 @@ export class ImageDecryptService { return 0 } + private decryptDatFileInternal(inputPath: string, xorKey: number, aesKey: Buffer | null, aesKeyText?: string): Buffer { + const outcome = this.tryDecryptDatWithNative(inputPath, xorKey, aesKeyText) + if (outcome && this.looksLikeNativeImagePayload(outcome.data)) { + return outcome.data + } + if (outcome || nativeDecryptEnabled()) { + const reason = outcome ? 'invalid_native_payload' : 'native_unavailable' + console.warn(`[ImageDecrypt] Native 文件解密不可用,回退 TS: ${inputPath} reason=${reason}`) + } + return this.decryptDatLegacy(inputPath, xorKey, aesKey).data + } + + private decryptDatLegacy( + inputPath: string, + xorKey: number, + aesKey: Buffer | null, + fallbackReason?: string + ): DatDecryptOutcome { + const version = this.getDatVersion(inputPath) + if (version === 0) { + return { data: this.decryptDatV3(inputPath, xorKey), source: 'ts', fallbackReason } + } + if (version === 1) { + const key = this.asciiKey16(this.defaultV1AesKey) + return { data: this.decryptDatV4(inputPath, xorKey, key), source: 'ts', fallbackReason } + } + if (!aesKey || aesKey.length !== 16) { + throw new Error('请到设置配置图片解密密钥') + } + return { data: this.decryptDatV4(inputPath, xorKey, aesKey), source: 'ts', fallbackReason } + } + + private normalizeAesKeyInput(aesKey?: Buffer | string): { buffer: Buffer | null; text: string } { + if (typeof aesKey === 'string') { + const text = aesKey.trim() + return { + buffer: text ? this.asciiKey16(text) : null, + text + } + } + return { + buffer: aesKey ?? null, + text: '' + } + } + + private tryDecryptDatWithNative( + inputPath: string, + xorKey: number, + aesKeyText?: string + ): { data: Buffer; ext: string; isWxgf: boolean } | null { + const result = decryptDatViaNative(inputPath, xorKey, aesKeyText || undefined) + if (!this.nativeLogged) { + this.nativeLogged = true + if (process.env.CIPHERTALK_IMAGE_DECRYPT_DEBUG === '1') { + if (result) { + const metadata = nativeAddonMetadata() + console.info('[ImageDecrypt] Native DAT 解密已启用', { + addonPath: nativeAddonLocation(), + source: 'native', + platform: process.platform, + arch: process.arch, + moduleName: metadata?.name || 'unknown', + moduleVersion: metadata?.version || 'unknown', + moduleVendor: metadata?.vendor || 'unknown' + }) + } else { + const metadata = nativeAddonMetadata() + console.info('[ImageDecrypt] Native DAT 解密不可用', { + addonPath: nativeAddonLocation(), + source: 'native_unavailable', + platform: process.platform, + arch: process.arch, + moduleName: metadata?.name || 'unknown', + moduleVersion: metadata?.version || 'unknown', + moduleVendor: metadata?.vendor || 'unknown' + }) + } + } + } + return result + } + + private looksLikeNativeImagePayload(data: Buffer): boolean { + if (!Buffer.isBuffer(data) || data.length < 4) return false + if (data.length >= 20 && + data[0] === 0x77 && data[1] === 0x78 && + data[2] === 0x67 && data[3] === 0x66) { + return true + } + return this.detectImageExtension(data) !== null + } + private decryptDatV3(inputPath: string, xorKey: number): Buffer { const data = readFileSync(inputPath) const out = Buffer.alloc(data.length) @@ -1738,27 +2357,30 @@ export class ImageDecryptService { } } - // 提取 HEVC NALU 裸流 - const hevcData = this.extractHevcNalu(buffer) - // console.log(`[ImageDecrypt] wxgf buffer=${buffer.length} hevcData=${hevcData?.length}`) - - if (!hevcData || hevcData.length < 100) { - console.warn(`[ImageDecrypt] HEVC NALU 提取失败或数据过短: buffer=${buffer.length} hevc=${hevcData?.length ?? 0}`) + // 提取 HEVC NALU 裸流。部分 wxgf 内会有多段 still-image HEVC,首段可能是白色占位帧。 + const hevcStreams = this.extractHevcNaluStreams(buffer) + if (hevcStreams.length === 0) { + console.warn(`[ImageDecrypt] HEVC NALU 提取失败或数据过短: buffer=${buffer.length}`) return { data: buffer, isWxgf: true } } - // 尝试用 ffmpeg 转换 - try { + let fallbackJpg: Buffer | null = null + for (const hevcData of hevcStreams) { const jpgData = await this.convertHevcToJpg(hevcData) if (jpgData && jpgData.length > 0) { - return { data: jpgData, isWxgf: false } + if (!this.isProbablyBlankConvertedJpeg(jpgData)) { + return { data: jpgData, isWxgf: false } + } + fallbackJpg ||= jpgData } - } catch (e) { - console.error('[ImageDecrypt] unwrapWxgf 转换过程异常:', e) + } + + if (fallbackJpg) { + return { data: fallbackJpg, isWxgf: false } } // ffmpeg 失败,返回原始 HEVC 数据 - return { data: hevcData, isWxgf: true } + return { data: hevcStreams[0], isWxgf: true } } /** @@ -1775,7 +2397,28 @@ export class ImageDecryptService { * - PPS (34): 图像参数集 * - IDR (19/20): 关键帧 */ - private extractHevcNalu(buffer: Buffer): Buffer | null { + private extractHevcNaluStreams(buffer: Buffer): Buffer[] { + const nalUnits = this.extractHevcNaluUnits(buffer) + if (nalUnits.length === 0) return [] + + const groups: Buffer[][] = [] + let current: Buffer[] = [] + for (const unit of nalUnits) { + const unitType = this.getHevcNalType(unit) + if (unitType === 32 && current.length > 0) { + groups.push(current) + current = [] + } + current.push(unit) + } + if (current.length > 0) groups.push(current) + + return groups + .map(group => this.mergeHevcNaluUnits(group)) + .filter(stream => stream.length >= 100) + } + + private extractHevcNaluUnits(buffer: Buffer): Buffer[] { const nalUnits: Buffer[] = [] let i = 4 // 跳过 "wxgf" 头 @@ -1840,14 +2483,69 @@ export class ImageDecryptService { for (let j = 4; j < buffer.length - 4; j++) { if (buffer[j] === 0x00 && buffer[j + 1] === 0x00 && buffer[j + 2] === 0x00 && buffer[j + 3] === 0x01) { - return buffer.subarray(j) + return [buffer.subarray(j + 4)] } } - return null + return [] } - // 合并所有 NAL 单元 - return Buffer.concat(nalUnits) + return nalUnits + } + + private mergeHevcNaluUnits(nalUnits: Buffer[]): Buffer { + const chunks: Buffer[] = [] + for (const unit of nalUnits) { + chunks.push(Buffer.from([0x00, 0x00, 0x00, 0x01]), unit) + } + return Buffer.concat(chunks) + } + + private getHevcNalType(unit: Buffer): number | null { + if (!unit.length) return null + return (unit[0] >> 1) & 0x3f + } + + private isProbablyBlankConvertedJpeg(data: Buffer): boolean { + const dimensions = this.getJpegDimensions(data) + if (!dimensions) return false + const pixels = dimensions.width * dimensions.height + if (pixels < 50_000) return false + return data.length * 100 < pixels * 4 + } + + private getJpegDimensions(data: Buffer): { width: number; height: number } | null { + if (data.length < 12 || data[0] !== 0xff || data[1] !== 0xd8) return null + + let offset = 2 + while (offset + 9 < data.length) { + if (data[offset] !== 0xff) { + offset += 1 + continue + } + while (offset < data.length && data[offset] === 0xff) offset += 1 + if (offset >= data.length) return null + + const marker = data[offset] + offset += 1 + if (marker === 0xd8 || marker === 0xd9 || (marker >= 0xd0 && marker <= 0xd7)) { + continue + } + if (offset + 2 > data.length) return null + + const segmentLength = data.readUInt16BE(offset) + if (segmentLength < 2 || offset + segmentLength > data.length) return null + + const isSof = marker >= 0xc0 && marker <= 0xcf && marker !== 0xc4 && marker !== 0xc8 && marker !== 0xcc + if (isSof && segmentLength >= 7) { + const height = data.readUInt16BE(offset + 3) + const width = data.readUInt16BE(offset + 5) + return width > 0 && height > 0 ? { width, height } : null + } + + offset += segmentLength + } + + return null } /** @@ -2207,21 +2905,9 @@ export class ImageDecryptService { } // 保留原有的解密到文件方法(用于兼容) - async decryptToFile(inputPath: string, outputPath: string, xorKey: number, aesKey?: Buffer): Promise { - const version = this.getDatVersion(inputPath) - let decrypted: Buffer - - if (version === 0) { - decrypted = this.decryptDatV3(inputPath, xorKey) - } else if (version === 1) { - const key = this.asciiKey16(this.defaultV1AesKey) - decrypted = this.decryptDatV4(inputPath, xorKey, key) - } else { - if (!aesKey || aesKey.length !== 16) { - throw new Error('V4版本需要16字节AES密钥') - } - decrypted = this.decryptDatV4(inputPath, xorKey, aesKey) - } + async decryptToFile(inputPath: string, outputPath: string, xorKey: number, aesKey?: Buffer | string): Promise { + const { buffer, text } = this.normalizeAesKeyInput(aesKey) + const decrypted = this.decryptDatFileInternal(inputPath, xorKey, buffer, text) const outputDir = dirname(outputPath) if (!existsSync(outputDir)) { diff --git a/electron/services/nativeImageDecrypt.ts b/electron/services/nativeImageDecrypt.ts new file mode 100644 index 0000000..93dd693 --- /dev/null +++ b/electron/services/nativeImageDecrypt.ts @@ -0,0 +1,155 @@ +import { existsSync, readFileSync } from 'fs' +import { join } from 'path' + +const CURRENT_ADDON_NAME = 'ciphertalk-image-native' + +type NativeDecryptResult = { + data: Buffer + ext: string + isWxgf?: boolean + is_wxgf?: boolean +} + +type NativeAddon = { + decryptDatNative: (inputPath: string, xorKey: number, aesKey?: string) => NativeDecryptResult +} + +type NativeAddonMetadata = { + name?: string + version?: string + vendor?: string + source?: string + platforms?: string[] +} + +let cachedAddon: NativeAddon | null | undefined +let cachedMetadata: NativeAddonMetadata | null | undefined + +function shouldEnableNative(): boolean { + return process.env.CIPHERTALK_IMAGE_NATIVE !== '0' +} + +function expandAsarCandidates(filePath: string): string[] { + if (!filePath.includes('app.asar') || filePath.includes('app.asar.unpacked')) { + return [filePath] + } + return [filePath.replace('app.asar', 'app.asar.unpacked'), filePath] +} + +function getPlatformDir(): string { + if (process.platform === 'win32') return 'win32' + if (process.platform === 'darwin') return 'macos' + if (process.platform === 'linux') return 'linux' + return process.platform +} + +function getArchDir(): string { + if (process.arch === 'x64') return 'x64' + if (process.arch === 'arm64') return 'arm64' + return process.arch +} + +function getAddonCandidates(): string[] { + const platformDir = getPlatformDir() + const archDir = getArchDir() + const cwd = process.cwd() + const fileName = `${CURRENT_ADDON_NAME}-${platformDir}-${archDir}.node` + const roots = [ + join(cwd, 'resources', 'wedecrypt'), + ...(process.resourcesPath + ? [ + join(process.resourcesPath, 'resources', 'wedecrypt'), + join(process.resourcesPath, 'wedecrypt') + ] + : []) + ] + const candidates = roots.map((root) => join(root, fileName)) + return Array.from(new Set(candidates.flatMap(expandAsarCandidates))) +} + +function loadAddon(): NativeAddon | null { + if (!shouldEnableNative()) return null + if (cachedAddon !== undefined) return cachedAddon + + for (const candidate of getAddonCandidates()) { + if (!existsSync(candidate)) continue + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const addon = require(candidate) as NativeAddon + if (addon && typeof addon.decryptDatNative === 'function') { + cachedAddon = addon + return addon + } + } catch { + // try next candidate + } + } + + cachedAddon = null + return null +} + +function getMetadataCandidates(): string[] { + const cwd = process.cwd() + const candidates = [ + join(cwd, 'resources', 'wedecrypt', 'manifest.json'), + ...(process.resourcesPath + ? [ + join(process.resourcesPath, 'resources', 'wedecrypt', 'manifest.json'), + join(process.resourcesPath, 'wedecrypt', 'manifest.json') + ] + : []) + ] + return Array.from(new Set(candidates.flatMap(expandAsarCandidates))) +} + +export function nativeAddonMetadata(): NativeAddonMetadata | null { + if (cachedMetadata !== undefined) return cachedMetadata + + for (const candidate of getMetadataCandidates()) { + if (!existsSync(candidate)) continue + try { + const parsed = JSON.parse(readFileSync(candidate, 'utf8')) as NativeAddonMetadata + cachedMetadata = parsed + return parsed + } catch { + // try next candidate + } + } + + cachedMetadata = null + return null +} + +export function nativeAddonLocation(): string | null { + for (const candidate of getAddonCandidates()) { + if (existsSync(candidate)) return candidate + } + return null +} + +export function nativeDecryptEnabled(): boolean { + return shouldEnableNative() +} + +export function decryptDatViaNative( + inputPath: string, + xorKey: number, + aesKey?: string +): { data: Buffer; ext: string; isWxgf: boolean } | null { + const addon = loadAddon() + if (!addon) return null + + try { + const result = addon.decryptDatNative(inputPath, xorKey, aesKey) + const isWxgf = Boolean(result?.isWxgf ?? result?.is_wxgf) + if (!result || !Buffer.isBuffer(result.data)) return null + const rawExt = typeof result.ext === 'string' && result.ext.trim() + ? result.ext.trim().toLowerCase() + : '' + const ext = rawExt ? (rawExt.startsWith('.') ? rawExt : `.${rawExt}`) : '' + return { data: result.data, ext, isWxgf } + } catch { + return null + } +} diff --git a/package-lock.json b/package-lock.json index 71d65d7..0a27bc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ciphertalk", - "version": "4.1.8", + "version": "4.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ciphertalk", - "version": "4.1.8", + "version": "4.2.0", "hasInstallScript": true, "license": "CC-BY-NC-SA-4.0", "dependencies": { diff --git a/package.json b/package.json index 6931d8a..48e2667 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ciphertalk", - "version": "4.1.9", + "version": "4.2.0", "description": "密语 - 微信聊天记录查看工具", "author": "ILoveBingLu", "license": "CC-BY-NC-SA-4.0", @@ -10,6 +10,11 @@ "icon:mac": "bash scripts/build-macos-icon.sh", "native:macos": "bash native-dlls/build-macos.sh", "native:macos:check": "node scripts/check-macos-native.js", + "native:image:check": "cargo check --manifest-path native/image-decrypt/Cargo.toml", + "native:image:build": "cargo build --manifest-path native/image-decrypt/Cargo.toml --release", + "native:image:check:current": "node scripts/check-image-native.cjs", + "native:image:sync": "node scripts/sync-image-native.cjs", + "native:image:build:sync": "npm run native:image:build && npm run native:image:sync", "build:prepare:mac": "node scripts/patch-dmg-builder.cjs", "build:prepare": "node scripts/update-readme-version.js && node scripts/prepare-release-announcement.js", "prebuild": "node scripts/update-readme-version.js && node scripts/prepare-release-announcement.js", @@ -214,6 +219,8 @@ "node_modules/sherpa-onnx-node/**/*", "node_modules/koffi/**/*", "dist-electron/workers/**/*", + "resources/wedecrypt/*.node", + "resources/wedecrypt/**/*.node", "resources/**/*" ] } diff --git a/resources/wedecrypt/ciphertalk-image-native-macos-arm64.node b/resources/wedecrypt/ciphertalk-image-native-macos-arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..313539f9d29ec99e16b6bae511b92341cc6c5a69 GIT binary patch literal 389472 zcmb@v3w%`7wfMi!Odd0NhrA%5$$&@_5Qu<~3e8MFg`g-9AD2Fo7^#6M5TPn6k`UC8 zpfV)tt+a(mYjZ|pt%ge4+e;#~#X%5E)!x2L!0IGXA%sVU*ZjWg%uEQe?d|9PzxjMl z&e_kk_F8MNz4qGcoO%E3mlvay(iDGTTyb0#7Nwq0TO>=3;M!+Ws<5!&hPw)ktjqt| zL;qn~a^<2c2lr7oA%3-2u{DO~z+$N=>C5mN z(qUm?$?7!^EL(AJAb)6o6}rE_4XOSL!E~^jp?wz?et*S7%U0Y|xNODuR#Itbe<8p1 z_tzi5PtrsC2=*=a!osDch2MLi`2MB-+@bxckNo{jUJ__U+8lV4TclE@gOY|E&p^rx z3+Ffr9EG!QU9i|M%|ZFK2Wk&VOP|3@<_3INd5Nq4yg#XH{L$ZFyhMD~2a4oYSa|{6+*kc2RFyJ$MGSA_8vGX= zd*$HFAk{VC{R9HQP)1~5flBRYh=dHcI}zf9F^JN=T=ocOh)i2D}oIdlI!#=a}_L-IIXs(u1I79VTYpP&JNX4RWCusE@D^)YP?vUkh zrc;I5n^=&WEQcNamP1;9BX!0rm6&mrJ;!o|W$`|9|MbkM_M90!Kg{#(Gu7eDbbC(L zD0|NM;r5*T?+jmD7Cma%Jcl(aL$hR+YL>`khl+1BCHK4(q6#X)Di-AeQ{Atc_kFo} zQFTny1D46E#elC}g0HNtvy`P`RyFnEW?~0;WDBm#1GsJ)e+k!Ka6PW|d#F=tQhMp* znx3I}9<5p!yYs@MH$aa$&}BCC$%9S~{rt+`HMW`yKk~#Xuh$&nx_+`f=Nl93Ih|va zcWQ<`=SaBn+8JA-;99Dh`_h#6lsQ!QO;O$sbFwRj{2lkIX3yRfr==mp=`ovh<Pc zI!igbp!KG_ky)9x)T~Txcve@W@@nLt9;v)XXd6n~bF_QdtT~IgwA(5c{d^c>Bd^mu z!gYk}DA%W4v7=PIMOA#DK2<9_pHR1E!l%(mt+V7lW`zHK)fN8xSX=9?u$RMcwW|MK zG%nh*;G58GmAQ3R+?C^2tTI>3T2<9H(|E3`oEdkMy(#X2ii2@i+7=AE_3@^-E3aKK z?8YN27F{`JLE?>{uBg9q?1H2_ZoYNbl~*s=O4)6BNe8p3pH2PjE2pfuHc)p8byrh& zDs}6r`v7$p-k5lB*sYGHMbuwJ{lq)hH!Zqy>WTu|)YJbRwE2iOe<1G;+I=K2@{&jF98l*#DlbCu-&T*Y&xx}O8) z$68X&J1W%uQi$fH)=XDn?mwwy(#h^VQ)tadKnKD!%3?Dx~Hm;2vRIg2&Zr6n%!df2Ky%>`#$%GwHfE!EFsU>uEOCo7d$lSjK$IjK1fCWz5-| zeZG`P=Deq~;R8=+=ZS7@#|PbMttTR`>^RZ2UA>XH?!K*GFuyiyCg;;RkLf?R-Qqr` zS!<5jVr#zy*Pq8r+EQ~Y-k*NowqT(AD=o(Te!Qgp<&u6nXQuvi&bt4DerD0n|OFwphKUc(Ug+4B!k3o+>+CP3pJ;%RMPorMmzfsRbz1japJu~&@`0HsA z{|o>8<^Py}A@p;@|3N>Y^mF6?K|f*ibJPFtevX+VT~FtP>zlO@=XmDB&pqMSo!J@X z?0z!OJKvV?E<@(aY>~CgwFvk8cu8Ao%HsX$?k7#&?wWt2UJdo0`8Vo4L%ps4M!l`n zd;Z_3_dNAp{5R^oNWCBb8})uny_fv;mO+cqY z?yx6dliZcQ!k$nu%U<=nnZ|R~lQZpO0{LSk-yO)WnQ5OA$e$wl2Lt)f%(TxAx6mF7>hC?WwZ&wq6+0>2+&W9c{;`LvCP%o|G|(Sq9_i22 zIxF2=F)NKe(#@(MJ-l_6owV3YMOCV)$XqpZaGO5|+l135QuS6~3#Ui^>oy02Z6YgX z?F&m4e4Hhn~zDi)P#5&OSj4sM^Ndf7M@T(j)H8Jn?d_Gl4h zMLu6ahq+?WdT5rOY}m1{Tb{^pDh+xo@a=7#sg7674BD<9>IUuE4(Rx8q5UMgcM13W z3%-;Gk|W1!yVs(n?El1M>1m8n1s^HwQtBx!rM8oHLibYIoG~R+U+mW;*F4hQ z;~e@lEu!Zolix1?5Ay7BU$e_!x9l1>U~32M@*s|4p9gU?@Hpq&H3r-~X1h08ORVh| z+{`Ka_kde^pgY%*Q>G>Ek6KnX<7O=?f5I}` z3|okDmW8Tcln4(}T4xn)sF+zCqr4V%`~&d!o<48b4D*o+PwNbVerct9;m`9CS5i;tk6%E$hrk(K{UOlL3y`9Vf zn~JR6Zi?*b^!f@u#IEU>t+6jiG5Gkm)2d#0UVT}9lIxFwe4)1Mt&Kl9czNwFT^4!Vu@xXH>y!|qm50APBo|9dl4?I^a`jqE?x&N$6 zGWMTm&1Tm*v&nVdthv1GMWp@oF$9i~e3y06g?A}K6@cu@# z>F~R_ATk#wIX&kzZL<9Amitk4*roJ?w3mL?aG(Ay_MYIT#-fwZ6?36!#o=0)1Q-6m^o6!YO-=5+L-4U2k^ zp^5Ap5004S#E+8rN2`DQ-vaOSb*fo-k~T*5zRmo!&~62Frh|XqY2U8h$V!@7>%E)# zCuQHJEHXkld*f5595cte?$hFsd28+Qv1(yjvMM(*hV|fDl%xudqYt~xQLg)vT4y|a zg&OwiMc;LiVfLKzBsI)eX)fP;!B_A_yc!l6Vb3WeuY5#&maolRUM2H+m~zI(*mI7N ze~kQRtua&n4lce*Rjz2~(@f<@!Rh!q%i^@hRr$@(A$J2WU!ODb_5wXY98tO(K+7>>nOK;{>av%SZ%?k4a%8SrJRwZ zZRmh8=m6WO^c8trC0rZ19O!`A=zy|-4oK66_f#*!{U;;QscAYuT~3l;pqnOk@^*3s^FM8!gbq)Pi9Q^ z`L63W$GR4N`N@o2la`&2{*tu)ub<3FQ(ATnZPX|=O!6ED@H{1|Vd<9CDY3v19#p`? zG?S@(C-M^ixMguJJlxE97sA6_c-Sd4FvXPF(XolN!2vfc`${fw%T85UAH&Ps055al zWwG!y#$MhEFD=xMyVAb(^<}GO+y*Z>IT=VFf|oT~(uVqU0i(T}I4{(1y_b%}42FDa&q@X_x*yQ84 zP3)TQ@OJO9d*?6J^t;BI^m*jZvnjpqBOm%X(RC#}`Nc(FinLi`Qd^cJq&tOX^f5ss&_}UDyU_CuV)S%VQf>(iM3@W``Y`^DeIwGg_i$FEA~e%`b6rCMo!0}@)RNSGO&!G=(^doc`fNf59iX083`_h~*&_-eVS;14y_qUru zUQvu?f!K8^*ufplHI4F$h4>PUbtn~mk>WCu*EQx&Jxx>I5npQh@SmFWlmlixWvuch zIkp)TRZ0KS-&u&2xevajv$p@0 z`u5vYb7@S)B1@~vk#)UtMAvaT1RhbAB=?;$4*SEz#X+wiGA#W;}%t5&hdH|`4E*QdNf z&u*^OTrtqvgIyr@pB?}4^tDs_h3_Y+x5uQ)OT+436gxK}N;zeHFNC)n&?P<-a&RNE zTK3S44(eNczG-P{cu(F?3oEYB2;e` zIy9r~?2NhRebYN$Nz|wR)ccmmrSR=HBjDRi)oe4T)^_X^KXr=hTkuVE+Sxk0S9mA( zcE>9Py6C{U<1O2|cG|tjsh(n0-X)CXEHpUFSY=Ey-nM>U0q3BJA}c@dQ}rHnqvsXn zJqFFhMmr;Eczfz8yZ8JyyZ0n;=4xtJM1beP{CyKtv&cvSm(Vr^8jk?Cf+*%vVZ1K+ zgXQNWcvOca){g33*DgHh3h>}$o^mG9*23lSCF&wu-vCb;qu88^bxp=rdWU6O$}<1B zRwFxojH&)^<@{j@dphd80B`QR=xg4#p|HQy%(+NX+ORYYeTZ&+)5P9O#`KCEI#_x- zkVOOU?X9ystP589@BSG!dX{xt26Ri;DrW5h#wqA>3Yivs4g3N)3%el`1#x$<-U*#=ht8*<>%oAWE)=>$GtbYI_iyASn4wu8X>jz+SH`&Q8+n+_(GXu_Im;+;XQ~zcW%~f;o7#>OBh`zeIjb$g0?>sa#^K2@ghbT@Sw>7Ca;D zCq!m4wCWcPZOtkEf^Oi8uffD+=GsjCtF%AO9B_#9vmfIt?MLgl?&o@WZE{Rvp z%uv-^iS75NC%tc-HTEZdJ^b!)RbQ0u*TW{pE8~{&pGCgT1!PNTd=B0enGLf#AUlgQp#HqO3P;MhJVI9X<$zH z>m=+Kogq3%l&-f14?+5nDMQ+A$w!K*8vCryILH=L2}58=UBKKVDSe_* z^ivubUlHT`YoH%bZE(F$as83J4(3c3^923hBfc*WV<=?|nVQ-kf$t$>-M(#>3v=4L zcZTX+&^hA@*23O(TRpYRDb2dy^Qgj(9p<#KkMN`@Z{uw9VT<EAvBa6v%dXc)vGwJgiqBqRZ zu70llhP;h%^`SdfLzh16dzo_{?p|bWEwo`Td#J=7;_RS~-v=?=mBAQ{{0=kuVh;{? zjUmtQ!{E1g23-BmDX!Xq=i#nup4p2X%G)9Rr5OD!2(;6X&x&BV3T0jmcilA5XR2#$ zu&gL_0GHfAxeYt7oO0iK)zXiyJ`;`}zg}!K|N4A-y4~A@ym^o}LpIjiy&|u&cJ8=K zD_H)LUH7~at?wB(Mc-pi?B9Xk=6s2&Z!UaT7a0;8u5Z2awoTRwJYko7Eg_lqvpdk& zeHRP+PvTdpM&6Be1N(8PuVtjjJYycgU2Fnlt$bE_cN{ex-uAhwf3s(e0ZVWy8mkH# zs&4NW+V=egKk*p956FWqI{Q?jVZ-|UY8KZRWT0f<1m{)A*AJP zjrgtnv>N65Lj?A~xxktW+(VK^*8SxpUGGUcxF(|~_mTGNUVMwM*!^P+(BLoNB06}0 z21CaA2g=V5(BSeh9-!>}Wi+^aobLq2xkuz?qE?_+E$$b++65mQjj{f5ri@WH|A#T& z=djadte3_%%JqZG#+K@OZt&Q^)j4Er*TdgO-<;qS|BTT3CxZWF<4ZMsH&XVaLHMbx zOMDRAIvxtxM%Yloi|5#L8n^}N3f&(N*fKAn>Fvl}YwRVt3({Nc;3MdQ!E(1Axc^G- z9-{pG0L=q54anUp8P8=jznmwfl>d4_?gBC!kh@~aMDBzi>0>S*@7Ltc^!OW>%iT!V zbwc|=a(Aty2jp&)Yoers^g-^jgg(Za|8=?hCb-DH;F8>>TsFV1lW`8v;PNp}qU_vd zG`M`6;|7gW_8Uc`{&(4{Pgc(6%Vck)>#TL~_)=Y`CC&Ku8S4PHI%z_@5>H|`2%NLn z`+i?@s;h^x#;St;pl_&{we45t+xzDZ@;wLj;bMHxw};~cAEFN%2l<{qra#edA95F6 zxM$1^bnl43eDdoK5Bkevwz_n9+*PH#%~$yMQ=-GW*ee-#?D12`qea$9`fH;<54;NQ zV`Loo@d`YQNo>Oe4f#i>vj^?5k5mPzf5n$?@YL_uxH8di$BnucfBeUZ`YGts2VZ{} zu9`d0d;d-Ut=XF4WAWRCqg;E)+k@>>hHck@?%zSWfc=#0o4i-(K}bLVCrCQ{ZW%o!BGTD{I~FZC>Px ze(eGAyET5X+3>p&gID0Y7}{H!04{^Z^}OJ?eEJLz`q%dje;l2ab;z}R*^K33YHFtV zTk-jcP0pU(u)AeUHJs%fz~<|!6*eu=@U&4r#0_PVks>PV}c)iIJQg)4z8 zmMfAgoU1CW$)FEw;Z@A*v=Eh@j?Yr;wT^_gS)H+M>?6aS>6K5+>_};wb!24Qtn|t! zXO6CXYGy~8JXg;=QdQWLURgP_BfM?a(MZYLFmp_0)l6IEM(S0}Y&5A|vd$UnVqlNn zg|DFcYRfj+OGgCu>f#q_M)uF5sDx9Eq*P>45#OqGJLg-*x_enPyA18 zkWLaMTKxLGpZjCRoFC~r#j^)oGCuR|x)zu_Nm~@>H>@WamF#H)u<^a@5;+jt zVEHlhZq;4=9_HYF^89CEe%T!r?$Q6_U!=A#AK=|Faadlk#Ncef>A-;3Wz z_7BFq2<#sk1N(;^%#Q=$Bl{yy6?7Avu`BkG*UTFG)|iKN4{NX3dE!$Meje$;PB!P~ zq*+z@nKI>VK>p4!hX>QF1i$uNEB*xRw*QT0O~8^h@fGd@N6uNq&(Kjq3LN>LmYh1NS7?V*%Vf zp9E~Gqjv8@3h-hM%^&ye|D?-M-16WajlR#&^v)W)|oQ9_h0SvN~kM*`uHd8 z6=_pQTF%q^zNHMG7JIjLu?e&A@pVUXmN5R?de2IHC?)tz@JnP=Drff?vo8An6#6a+ zeP=BuCUp$u0iE3)tGtEig4R#bajS_<-DKA@Mg{hTvt?hX?e`=o?=5z9cy5R~>>01T zb9wgETJ_F5l{Z#+2ajfeTM&lG%!nxe-odjPIYn1_=sT@a^&Sb&*T1~g?zO+K3SNRI z8H)3R-*8rgo-bg25E7p#Hu*eY70%=wANh_*vd<`_&Pn{QSBe5c{fndKH#Q$oZ_Fol@D+3^u}-c`0IYON0GV9 z?zFyd<#z`59}SF8{K;qg?A|lT74hGRcJ>cG=C=K!-zMA_j!!3Dt(}W~YUv`*B5>a1 zw--jbKB4Y3`dC6c#dVx?(K)}&rYZPBna6yEK81URJohPYs&U?s>iRo%E6y@M4WFTZ zPJKpRwdliQv$IS1gsxw`UKwXDU9=VZwqtw6tTT^l-m~lRU6*mK=4uaJdvbqNj<1U6 zTCSa@7T+tTmQ#D9a=P#r$vK!|N6hE>R<1hDtAkJ1UQiddL0s-W;6wmusAP)O&4k-pOm6Z{G}4 zc`Z4?eg?Hc7fpX&sa>*%_RKeVUook~J?4ad*<<6+nV$K9s@EBFW~JuL7^|F(<7Vie zgvtKc?)9Au_>+C`#BB1eAr{~T)`RKX<-Ee!Kkp>|CdtZ3Q-v2Rs7MbJI znBx`r*sP)lSYOlZs&_8q>cammKGle2t7jCR;w+tYS^Qg@JZbr%;RRVLlXmVT!1II^N#D*=g@T_I}tK$2!#; zuMwC0nki;K@x`vq#&gvE_pq6;n`*vfPVdnsbPKF}=JZ$KKs;Yh1-6&O1zEI+T8RnT z4%{8oAsz^PBMp4_Qg=1wj|eVi)zkPt*yYHmtO2Ye&SCH+y;I`Zl{+Fs(eyJ)jqEv%JtBC?Jhf0yY~Tyx#-_c)|zx=qU~brb(L!Pbs1X4)(mB-IRy;-euq?r=Cp^fR)Eu~ zJFn0MzcqJSw)HK(QolY#H5+zKn{tZJ)w4l!cD*fpN$j!X&lJ1ojMzRg-x=65RUjLU zRf+u_8(L>J;`dS5h#ec+W_prYx6LW|ot~d5G-<$>`4Z(j@wK$E4;Q*|me<>Z?(TqA z)zJD=a6EO4wbhi=BfiJMc2(kq8`^hm2-sENBz{@{e&f4_&t=Dk@Af}LA7W>5zSt~w z)@sr+ZbN@F-j$?1WezXvYjZM}_^i&Xba>@ltduefY2oun#1tlvRLv)u=O-C2dzR+< zVVscx6Z_9t-!@%0XRVL@)&_Xqg@3La8I)L!O~CE?9kvegTyyQ5wd1GFS$h(mFptVc z(^lqo2C_UpI-<6$!Qxzl-mTqWaZD^RHGo^hW$Po+|d1$a{Akeqoz(&I5MWD+zjLsI_()whHpKbr&|*sAA>R z8tnRm$n4$32FM=MF5`d9UdK9CzRy(sqWD-nA8${!EZn|CbON^QVJq=M9_B?ZXR!E~ zIRjPGlEAf(Inl)&u%7n$8?{Y3=ik^U_H{tRDy1mm(mzhGV^bhDBt@EX_8&~^45Vgoc_ z*T1w=JG}RAVn1_+5$W(sTiLhmg>Tku`hos|ys{1S(>>`s`WMr`tACYSsK-J33|rhb zYc%6yo~p{$nH|20SrJW2kBY`tyPrq=&xM%=3P~G@3PlegODproS(0a_?3|n z?~C9kb2;ck>G(Tm^Wk~kzQ{bkuamj$q|TnR_7jRSvEj#p+pfaZ`kTO8gKSlvSl3>C zab3G1bH~=bFW9^@( zjqH(iFT$Y?ORUdwbHx50+TKT-36VydU+iQKNO=b3FPJT_+}*%F0UU)MN6~RtLCdjR zKR9(shqwMz707z`7XB_D@dm}L@nR?YeeR=NVh@htlD4I^6MDR5zNpjTB;QBJo zVEu1X|JQvF>x1k67xiThH!}7zv)^CS6!6zH{R4lEj9L6OeYA^!2d$)+(N1VpX1+wL zGt8B9%oW}r^d^C;jQOKj{FvAoL0p^h`&Y0&B>q4(H&)%zKXPq)ziz$*e+a%F`jxYU zeP;11-qD{%d`va+EwU$T!^iMa>uoU>nUbcg?)c^U2eGGLSavp2oH4j;~Iu}}0 z{mDYs%R+Qo=q0~I)sw!0(kFeyvfxj^m$C+WSF@%I?ZpPa{0uC`wM1x-PP>cySmM@C zRn2J;I4O>K{U_VCmQx>VEuNd$bMC~}0)NjZT1#5xojpa!O2@^b_H^1|XIzIZ;*Uw< zye~*cnY(+;!*>VMvYrVJChA^~9+3DG@$vPc&m8Cq?7?~~ey+KcTZmQmAj?@iclViF zh+8VJgtvm5!ZtX3C$Z?r*g5!d8h-omyaU8T%N0l_)rNgNyJ;^2EOWjPyU^Roe+)!4JVh`~}_Pv0F6D{w(HY(BBY( zzd_cdV$n;`mvwHp2O7zm=z)KQ;VN7F5*^T3Xd!gn4=hQm^F{4~V;a5zJNfSj4(shL ztTW}+Vg6V$zs=5mH=Ogz2g9d71}?@rxzfMSTyO+GLg6Jp0{hv^&P#W$@fB3BL0_-Iy~|&J@Ogb3<0ii5vUt;qJ2~H7AvmSDT;Q|@oVt+%iJ{9_SG095Yf0ZLAuZ>B z9@28|&5)MUZ-umUFVsRsqwhhdafwuKl=Uu_J)RneUSKhmkxg~4lROZip&_`_KY19=t-}`5g>10g2ygKKrz3p2d!q zeZjJy*}Zv`y-pcEmuX_Z`1?w6+0FQL*)!l{ZYfPu*BR&T*E?FIpY${}Rq&CzKOrq; zjokgZj57rERt9U8=#-c6Q;6?TY=Ernnis!7UcV%MP3Zj$y5kdkl@(w33Yr467P<;e zg0#&%1s`ZD^}(k=d=Wt&wRT_Pk?4WPKfJWg;qx+NRbu!C<5NN(qT`y__wNC}yTMOr zBK~^8wE%i>wv#AlAs*(L@Z!v$9W6gTpz4258_`=5n<(S2C{a_9-Piw@J^$-N_xwfJ zm9pn=3%PvHFLL^n_#*=N>?C%!10HQ4Pw;vYyuQV=WzhLZaBTly@aQ0}Tkvp1T#m;M z#w5N6o09c1#dS9@e_fTldyiSJg#MGrgzRY~#$0@gi{U+V`9%Y3`4s97Ue{zzb75=B zn&wy}dtq#C*0fP~sCw~rrK4NZ(p7KqV%EfQa>j!HaLl!Oc!WU zNFQQDx{jI-&uw$`>s1B2^Bwm7?whbVW}CcSwIMCygJz$#TWsH5VCo?S}Jm( zkq*`+{>qSx^O{z_OJn|nugImWn`g+|vG-ECPtxYw2g;9;9&AGf?FFsbSJ1$DiNui0 zdi}A1bGY*iaE-N^`6P3!0e&9~(I>=*|K4xAihlSZ`BGNuYM;{yQq1BHmFZ!!*+Hc=8e6p_xeX^c$#LTCN{o;>;CUKaZVUTy_nsT1VoGs1(w z9GALxV|Q(%t|vBVyK1hVOP!JUX*iqmyfRytINmPfd@91#70LM)dn0YUui!a&^(*#h zhTk7L2G0Kul?38jcCTSi1Z^(Gg^ZN*!9yj1xT@DF?;D5Nh0jD8Yz1dP>GHfa6Hwjr{qQGLF7d2#-YtF@i3P?_X!z#_#{v%nZ{w`HEFg!B zF`B%AbK8}2{zSSxP=2r78%nyv9OleA%G&#T@^@cs?%2!u32R5|DgQVhAB6J@$a$aG z4vha{^2OE;(!eG2h5g=#A@mg+fN`hY`vrZ;*iQd!Hh!!jV`GlU*pdQc`-rja3XE-E z;2gh|J>j3}W9ZmEl72r4z+r43NP5uN4w9C!^|7xo#-@}pwtZ4h_5p@XZ!K$MZ<`Ol zJ}#Z+#A!IFw}g7* z+f@90_;9ypV#DHpxH(!mx6`&1`RnF<=L_Cdyv1tIdD<48^=fGAk|x&0rgd?P_h83Z zY!hltwt}-3u~X?|J@15yEs+~;XNCVg9gld-OGn-yB;emJ?;OxdQWibb0qe|MYDj86r-#-Fxsvz&Uo zojp*`5wWkXzvK_^c==+1|BN=p^&oVVnAz))6NT-&19|uzV;5cDMH^|a(Y|Xwa?M$( zyszHHdFe8AVbArXb9v6R>t$Ad-9GcC7r&LX{l$KB?TaEumQeVHd`*Qnspym?*Zbes zlep^6lgt-jqkL=FrZNE$}Q=$O!Fn z$x8$-?+I>M5_s2bARc( z&nwDy+IY`=6#AI>nM9*q$2U1slXwexw}p2FX!m`}>bPU?A6Kn2omT3vA}<|$BzE>j z$^_0F?#sz1CVER=Q5dgQb1q5UrQ}IGyRPx>xGmKwYw(UL^Wjd`(3p#={yPJGCA+53 z$A1i@N4h4FzMZtfPLO!>@uU|Hl&8AJk-jC6c2HhIdfuS&G}1Q=q(`|%l4i|Mlyj#} zbb7n2llcA&TZA?K-FA4~?r3RbFC^=~F7LZLMjJRA<4O;43f}2*o;G!&@&045?XLoD zEwuI1!0c?mziZHZR3c~Nykkk9;+x5k`HiiSjy&AI*oY(FlDEU;l=yk!myGu|a1$E0 zaeet2cmY@JOl(_;JKvI50WQ`+{}l<&?=Uubmn2y4&S1S(^JVoGQ!ibm|H0TN7i-Q0 z=7%MF3bu=*X!*|ZrgkELPO2(Ei@B-r+55DZPj@#xA zbMAObJN!~Y#iFMd(XK~%nN!WuZZvh?AztgG=zMIf;mixM`9^Wy#MlS&sV8S?a+WE1 zg2NnOZ5WiclYS(S4&E&Rzg7e5o$U9IaF;ysJvN{_#6~l8&>+7l->)cmk$%KaFrGf8 zU5VJ#*xBPq2ivEUml%L2xc>s0I7z<OLPXbyHnl`p607O%L3YkgN6!zFnMmP9GJ>6WRVP zbvuyb#eYDKkD3mz8v;6H=YlE;$xT^7?*#2Np}5>_Hx$dK^Enl=})A^{t85>HupN9~M7zQ1OwRU1POfzO?dF%kSLn8s zcG2_|6~ON~BPPWkLm=&aA77!LIitM3kJI!FXknahF^4?olsAbptUk`Vf@cOd0#nZL z<`Ro3XAVKoVJM8fJl?i;uF_G^%Ch=WI-mAYg zh3{Ps*Dr{j!#I75!NV7#`z9&FuJy1M9vP#YN5^Q+PpeGC8sMX%Pu7;HLKhXv`4Z{$ zv8s6lWtNJHMccot%3rv)I#u+F<-o*&_o6NF?Bn8yvqA?Y(QY_bKI1>~=Q;W**7goy zNF3sIV^w{B)g1lg=QrqL3#8$j3@Qv6c7+v8#jFj5{SwjJU+Q1Zk00sLE5O1ZZ*pqybt4zXxRL z&Ep%KCgMOV7WH!p9zq|(jsW&G^eM7uUtjcQe^rQn>hnn(vtl`DzPpt9(c(--jZ2{Qg+f zB-e2AWWERSm2VdP_f_y$c)s%nJeBP;1|PmcLR8P8~2Fcvk@wf}I*;)0@Ozi8X4!()j5y8GX z*Y5R{$vauv;Umn6NPbiDwc(r=o(WUqWUN6})?rVMDL*KIo`cCYz zQCIpNZC1mie;jN9920vQn5Xo!rR0ZS@8`GlGk#D%o#Imh_l3}9N7et#>`1Pd)mXKJ zce94~i$2~_bw~fMdml2+lYa%?B3FWYDY(m=ka_Zrf1|C`<9jQHZKk1fp8V8r%XBi| zs)EnpQNc5@e&|RO^T*6Q3SmBlGOxnWk>UD zU&c3im+?*B($T7ACG@Cfj#{)hr-kzsk$net%nRh5$%}K!y5YIDvA;A%P5)19G7EE8 z_BL(QL2eiQfO;7vx8-o! zMBU6v`e&bIJ-@a+Jz9(D{5*VR4Bs*}En9JZ_U817D|zqwSes^iZ|Aty`lq;It$#Wc zeOqlD-+zruirXJ=`fh(N-!a~SY#iszCDs(%EpeNB@Y^VK$?V4Tm@@h((^PXA?aSg@ z|Fl1Pel6dGtI6AJo0!))dEzbV>ML)-KDdUlh-?Uco3X7cv=}~L@^xI=u&q4sJn4gP z@?9y;SU05gzi3j|iM<}RtY^ln*8b}@Yxb@8+tgtfaIDM5&xqh`VV+Ip6q#FR$rvlI z;5#H6J69B$D`r`eBKIfX{!KlTz7ogg>e!FdgESWXWdkqY#fE*kA;g9;KRoR1B+h2p zXoc+Dgbdw?EZu-i%|W(iqnq<|WX;gcI{I}eA3eR{*Hu7!Wsh@CIH&3d^R%Lu*t9PU z8*PBErMCQI((bW1C;P)gB^AS*_i*26Pjnuc&0YlgCw`szqrATWZU_8+ z0y+g@O+BmX50m~I{TF$|r;A)=l*HxiBTs4e3kqIE8ocuJsf_o(B{sB)a?ytxa{C&- zAimvkxW75GpX_Z(p#@cmt#5T?_y;;n& z{HL#Wj)#9)*JwKXt}XeMW@lEs@^%sTVGUK@=izA(rszZA>G}XqJK0MpWbVSF*d=_o z@${W}@Y2Ehsu?`|0rpiVG}y@fYvb_-cv&&s*#dnBj}6QVs-QJ;d1-uJ-&AZd@98lH zFJD*ZGyJ?%@qS*icf?mf%v{ByTi~U^JNkadtLo*uPAlmzo$odY?;2m4o+ID1ID7A} z!T0O@5Svfg@mt&ot(D4|i=K@;j~J08W;vbJl(WkHz-zqWi_>68l5;Q}C@>5$i@Qs1friZG-i9 zqGyJ4RxpEeVq!v_BPP#T`$yngrq5X`-=53Gwlsn3bTcqwN7Pz~^F+?QmI{mUy@UqJ zki8G4mn3cT5ZAL0SRUwM*nF%7@6ea@EL{u`q_#q}OExQ>`H zsXNdYd!7^I55?aCz8>I6JZlr}s}1@lx~hFXwn+YcimZb#Q&yC3_p(QCE?sbme>)_9 zQ6T@0OZhL7zh+6Eo(wNvfPV%b^WYT) zcN%XzrxJ@6*jwgEKY_Lm_*is@y(L%j0(~g*{!x3echPgNxx7<%o#kxSK_rs*?IpDeFE;?_|TWjcOllfw@t%+=joP}n?GobdhJB@!~-Wh2fjSPH`C6xFW4i6TA#h!u6w`h&{L3G>FY?KFWF-(kp6%x&(OBsR|PKgdjx(;{vz^t zcTez`PHe3%?T?oD%YyV8O`W5G`u=ZBjBs5+UT3XCKN^4)LHacP`t9f8uHS>FA8xYi z2Fil?w~_zP=q0>Hj~=&8w)yq>jznk2Y`zDKe5RqZzgD)`Up8FyIdm3V`{PbkpLQ4D z@8S%>BXS|WyQqmy2jw2KCCe)IWM{OqhM&zCzpQjdzBRJeuBCls)JvoueoDc^NP8wb z7eim;dDUcR18d_z*?&#qUEe|JS0_3v2d6tIA6$RqBxl>;@|hDaPycrE<^8Q0Ql2=; z**UmxT>!r={O$O?DO!F8|9Acr&vHk7tXr59#l= zNtgFmbgffkjT-3xzU<5UZ@t#p2@jadb-QFf%Us1D+}vpLzt6V=UAP_{Ec&J~ ztTl&kVrAFzygr5)X!fJ%cYK=o{xIed??w212J+421Xm>OPH`81u_IKAL->R$!U~#>#M+zed?U4(?OkG{umLTo0z*%rmSXEE-ta%by@$cwu&Zfo4=I9H4*#(ms&>p+_Q zq5JtGR%a4>i9^48OfMszZq>s5bw%;}>n!{pM*PBkbz1zsy0@QMr|0uq8+i-eb#vm~ zb$lDlJ!av%bz|e-t^3`NAJ?0-F!##~57fOCf1qx&7ViE%_RT@=$F$+@rxw0f7x$Xl zsy2sgjWa1%HqYriXY*VU|6ZNrRkd{kX`3>+-d=dHu7vbYNSCM(*Kgww*1bdevu8rK z@>?LT&lbL4_c>|l3*NgvkAJ@|kMu^;c~W2M^1P9{ai&Ojw#nkQsR(xozuWOse)mJE zD0iNUac|`JJ)Y$EJuH-mYa#CG{O(Eyb%yg?O1)_AuTa-Y-MQ4A2wjMgci#$4qWB$= zEsS>pG;lJ;FZewb2egmiH(TtC_f_arL*H*V9IVUxq1w8)m@)m(0)A%KLE6c0mKoG0P6=#lj3orQ=xIS@5Tiv9hHluy8t^DRm?2gvDCXos0x2ScXUwi@l#zKty z%Sk4^w&A_HGRmJWey^?xxMf~r&8vwOVbUH5yxT+4ez4xM)*-Oo7Qa~r>H;yBJ2=nw}_kS};|hTkFXEM(wD+Vfj5?gjAlAUN@RGVc6JH!^B9CT?GSIzAvU%R~}@1F>bx`ec;5pJ>xWeE`3_~y%Fn%R`QfPYr{UHP1hKcZZU

SD9^)d_7Tm%m$=o&9c|`?c@$u9ZWt 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

#_W-QmpjKBeAD&V-i3^%O2$%% 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≶?X(FE2ef&gWkfwih9XT@+YvL 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 Vepj{SrS`wOEEfAa1{Z(W_Fqm27H|Ln literal 0 HcmV?d00001 diff --git a/resources/wedecrypt/ciphertalk-image-native-win32-x64.node b/resources/wedecrypt/ciphertalk-image-native-win32-x64.node new file mode 100644 index 0000000000000000000000000000000000000000..cd7bdc2cefab9597b7b05877e5011b0ecd6aa8cc GIT binary patch literal 352768 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�`M`^ziI^K;_W|i2U$&4^Cw5I@|aV?GXQ#B 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

^==)JV5HVg?wuVg_|?jBdT6?8q&c4>c3PG z(-D{>pgbnD?!fa}!3ZildjpNypkBw`ka8E0P`qUU!VKQop;ROflz}iyVedg54gR&b z6Tz)mkV*?yZ?`J@Wo0+sn5E~9gm1zUBGxdR187b8@GS3R>Gob1bEbl`JvLEt6G5C$ zffEJ6powy6C>a%x)xx#=XT)Ez@s8IyUJCEL{o^43i%C1?B%9r(i0j&8vlJ5%!kvyYK{G0cSN<1QF-E@U)cDfKs=ZA|yS9g`}&+6iFg*v3YN$g5A%Sw_?dC zM%pMA>rGPzU7R(|S=n$H-LuMg!j%scTv{K-}5tKI^7 zLtlS-n(6D;_^G3>>M-zg?B|435WW=8jst6xk~3LKRJ~LME%g@$fMn}Gs@02_Aws=$ zzc9Lu%h?e_=izXC$=~bBM$CvU6#4P(Vm?I@mR(wgd;q6qNM#~zRWPXYe3 z7a9rhA9zaF8NOC}roS6XrL_+c;9mC98jRnh65z1pL$|l4IT9jl`;2d>G_=&(dbYm*pB#N-I>S)P=CCp)5b!G$c z>8k+HYWJ`;++_s z>hkXvr4W%|iXl%&3>nKwUDa3+4ARUNQ6j!P!h&@huFF-~18{eu2qPau82K2MpH(7` zd>kA_mV{jvrCf_6A444ZkVPre;>gFaXrs*Ho3IVsN6qe{<`$of*mX75vW?mW7cwa) zjYSnJVLW!(5{hKgSt%EvqYWY+N5HY60$XBV>Vp*tQRJ?X*zR1cc`FIPJk1CGYTN;PqN5Z3UhkNMzjrxP*sFI1 z#UM_!V^h&g*pT$j(xn)#i<>Hn;-UvUePTrtJ56 zY;U=YqzvYbF&PEY=XS$fw#18!oL$ZGE>}@km8j`o5#WZW>RQwkt8#AdsfwHf3mBL2 z*5G!#=}h)vUI70Y>U@+#Gy-@K<8myxteUG}wUF1MVoytTp5i_64?N zT!0$tyP~u`5gaJQaZ_0x)MlVL$eO!%7SphKK2;s&A|(&mdfDeJU}}C@ZNrB3UHHT{ z9@(%h#(bd!{^m8rh#rUiTWRf9f+cDFWd$py7QzA`wop1cg#g2EDp;A}eFZ)M77n&H zWS_-S4J@3@{TeD@^R7%~OS1cc&+3(|VKprjD1{R9Ek~}pVlx=z-w*j?g#0l={v~xN z$!CH+mzYYHu+${aRjz5*J5x0ILP1gICH~Et9(Eu->TDQ0 z&YSTicVVn7e)J+9vAT3lkV}ydI6h)Sf*Khq)+)I>(g7?=N#J`3_ra2B!S+obv0(dg+(NKj-P{|T>V3^Z{Ri#Oq}gPd z#giO!(LgdTU^AExS;K04WEz8;+v0PYx`xJE9GO=4uf}XFpyP#a!vjdvjjRKTX!)3y zyoBLs-``l&2i;^d^efIyfuya_JwpH!+UVzQOM+n5s8fag)uSIZGBX_>C_-7jfd*uT z@-hy28K>oCH2JB>$~dYvhsX-WvXXgLy29chD{ubFveFveGv7Sw{5;S$<3gYnix`O< zjY~oR4bG`@4u&L@sXNS5&3Zo|7Bh&r+rLpBn)9ax4ZhBnCkS6>fz8+Rc3iUkM`Bcn z=vzFZZ+{0ri@x>J+>}%;`gUBs_ZRm3&el1y+o z77Cx$k4Lh5xeAk3fOqu83StF?w&tWidVBTRV|?_wn}loQE>VTP^fB2qGL~|ysbMV(Tc$M=+G(Ucs94p6P<iw$#cwRhABbz61D zMY+{{C+|cA2Cb=Zaav>Mb(gf7?6l3>8hf5_wh{s@6XUJ!OV}rb)!-B;i?R5o!S6T$ zzoWRh*_X-u4zn~03nQ_o*~pnj8qL1>+uWy)x=Y}jOk+G*(x@X?$DSm)DUe@K8EcL& zUOXCG3;xVngDyQ2H%l^UzcsqYQcG1B&_3rn**66nLC>lq-ou7GT6*>y$^cKSwZZQK zC%b~5iMeFvt>hyc2q|5u%^ z5hkTXZORdwali9%KPeSF)b(&4;M8Idr(&s;vErIE&hsf=m&g}e+!V{3je$94r9iA? z;9lrZZ2ci`Q~03dVSYapTYtbE3)d8ji}^YRwlR$s7nf%x6a>29G2Wm>3^(W-1;;y4I~ z{4JE^(IB>bV(^lrl)KA}(w7D9s!oM!jLnyMwFK)y40B7f(h!X`D;4I#pW9-j@CaJg z7{t1>*4&MAOUx~rqunMIQ?SyPd@oy1N4o641pzV{le@ik zAq6H5t7*E*rZ};kxrA9_?8K;2 zcO%MT4eoKC+F-;ED1#Hd6IOEROB~O;!erBV1A~~F&>mmD*vzpfprRwTF-sJKSqe;{ zV9kDofAve`aU@{uDQ&Loklh-8J4)_{;3(uJ_~SOPpGQ8tig-?~Sp;mY#rE`UZFWt) zfB>dzh|w9(R-nZPdRTFW0y1f%RbAfOuxMP&A9SKc;DK2D)dIZ8FPkz)pi4?>hLvy> z{l|<$;FPQIb=Rd1i#kgi3kxfoKo2K>4t4joh0-RbzyQhK*!X%XfUgV$us~F-c^;#_ zbr6}vn&-#DCW6RoDp^UbDEUMD)ag3Zt{CO;=*YmZjzF7Q#d!(7_??3s5 zSP&X^Q(q0b03!iZKB7G|e+D5FSS7Mx{CjwjCyCWuh^}>>h6FGV?Z94)Ah{+yC>rJ^ zEyWw~lAa5WPA6v^E&Hsx7}Jv0U@1KG?fyluvNR$I%ZcBMaI7YZLVx>MDX1x^y_q;{ ziQ%uQv%#9xYhk*dX7u^$#M$KC%_dKUmSElipeu#vP)_r{v;gxyu>f-&MAlt^S&3E4 zRbrhbW%rIFb)z$X*Ybzdl1(eZP@aude|`@}2O0;0Gb&8fmF27|f5K1Q;LPpd4_kdH zau8a5NkT&tW~t%+>m8cQ_%$TgaT&Afa~Y4bVX?C_Tt;=_kF_1fP5&2%v8I9Hu-{!% zzqfzK_1hVy-?W1L)G`Lj9{kkR?-9r%Q#L8LiZmzW?9|ZlFYs~%9XI0bjG%uby(!c( zTi5Jo=&mn$At2*^fm(rcR77HKJmlKF6rxGHN7tv_ui!0c_wC`@{gPkT?!XYzpKj1x z?EDY()$&0B@F2@I)9E|75S)v0R;9fw;3bu=6*;c45|*@ExaIHg0`du&2Wm{nVE^?Q zJat#!CVAdw7n7W0kP2p?S02}=-)UH><&0X}{VZoJ(EcSG*h;yy36j4z2JiX#lzC|W zBk3`Mk&OnuctgPW0=>lRjBF}9kyJ}(Dbi`e-eNXE#Qgkryj^oq(cRh`H0sR93Kub{ z+e1sonGs6E80a3({uWCBfdhm3$19rM!t!7SEMJ{VkiQA{irchPFlZ0qCBAmUVba%a zU?^y`IP98mm^Xrl27xa_FcjcD5;OyXVABc%uL(x6yTO;$f8ib+OFcp%p=nw{FPJzwWX9N(zXz?rDr3Ili2VgWSj_^*{ z{vVNVU-BlrpdNjhk9^){I(Js3h|SO#$wM=RvbPxBTabtYQD{D)bp=^xHm*C0yY-FhZo>H| z>gIiXi1stj9vcrM9jX;N6*5kw!-jpRnHSK#a`P(X(uo!R&OqF*oVF`x?8IVj=GTEVWZ$=Dx^suykx^kE(?{=mxK+ya|&(XRYzS5DfMKdIuR z+$pI1fF*3$S8F9!#Uf@Czrc?e_T9pSI-2qEdyUyRzW$@u=_$Nk0>^6ihlt=JZm>dE zYX|m}8r_$ylE(#5u=)U}PI0Xa>oi}++yr%+lIP!G5*_DpTsGcuE(6N7_bs&Mb|k$F zHBy>s;Ej=WZ(7pKKE>mC=I1eh@`wgES7f$RosEEe(9A zvG?cQt_N@6#fR}zx7+=3Ey-}iBPBoWN`cPR=z4?xnYEkdsxugGLgIUAF8alUAwyO2 z1X!z?499v@l58r^X#<-v1yiR4=%^&~Mq{7}MVIg-15d^|dt+RJwVb1{b)YNO~dh^YRPj0H~G8pe0j z`kYmOh-}q{Z-A1QuOqwyVVLl%X3^P!^oDzRJfgNY;1a1h*V?=}2;E-5DPq3lmsmRR zw9vTDs_XxyC)FF=*d5}-*pxN~U{s+j!S2r`7)F>=@tZE^&%#^uKkoD^F%L4%Ej44b zuQH29<5!B`QabHutrF$4NF9R&C^kf$G@48mg4XNV=bNz?`FHtkv?vz1!a~PO>Q{t1 z=5fYamF-k9ATBsg;A9`sej(A9Y(W0iv;SoJGJ>YyS&EyHoJ~1yS5);oJcC%M!rK8v z#Dk7*c&p4o=%R$k`z7^b_BvE$qtQQr5)G?|Hy9`DF}+|D_0WpA;9XhJfN+aea^Oq> z{YC0(`>+?mXHX|G`BLsd#?pcsYA2>jLq^3jUBWIGp-XJ9vX(xHNn>J|gWf`jVGa(~ zs;y$E)QIJ-f$hx9!{|elpbz}8yK`788G|2eMv<|V5G%P#_02(_y&y{E94aQaGuJ#8 zk5hPr2Biq3O5>kg~K+aRz{%Gi7(rrzV2$w4P!vKqfb z2;QbVf;r9K@TsfpRNIh;s~2^|q-R{ty*OxSC@l!ID%I+8ztI5U!;z(&Cjzmua(8OU zXtNQ%1+Cw;8o$Cmi(Y%Mado?EMW%s%G4rksgYGixvp!9&y-KY{JnU;zDg%cRw%CTA zfqSjkzmM7a1HVw*!)uf_!Y(B~fQ^VYZ)_nhAIGIwPpwVhddH$|7FmPGYWN$g&a5S5 zg;BFA-$I(rJBS&FG)!N~UKvf>o@DdRPr~5<3igI#R?(9|kKD_X&^Nq*OPlWjqdBiV zf=%CJ=YNvjH#V42fQ>a43Qi#mRuveZr4+kP;CPPTLEhEOs7;dI0CHKg7&>R?^oWF` zm^iJHW_KatotLob zWdq)oeX%Z!veW8|H8bVf=lq^*)m++9)eCDsrz9P$&;sWAJ}#tL^)x%+Z+$xX{Rl?tr3q}7+@{)2dm-UjDM zBw3Z9|1V@y$|WAzSdDY%5Mw28-C(|umDa{3d8l34P3LhQ6y0=H&y#XXab?A#Ge>jR zN^H}4auvPo8)F>nYug^37(hf4c`2yuVya)9J5&&Gh#7Ec<9vRu0p`C)f&&LE(Xj?} zz|!w@tif>H%S7N&oB75$1$=HCGu!4>)qD#1TZHP+9mc{SW8EbkeSkv|Xdb*3XoMnZ z9(=b&If&_RgjSCsyj-YB{vq&k_*_eK^ZX0{w)2FDcv$L<2<;e?{rQ zQy}?vfZKnS7y%A6=`kZUIYQdE9MPj3BXktD(%!2IXxvi6CSwJ68Uji+Y;x<5(#Rw) zLiA5J$&zO#k{j=9d9&4YDW?Ves8*XWVV;mYpn$eXW_Bt;cfA^0@AD=hQ=(>br3`emL{`25a4_evDHxG`AAx*}4 z9@67($d)!vrl2|BKv;zRgVJhRS|x297t4KXgzdi~7^djH5R*Lo<-Cp-w4x5`JBe#Q=GlHS=fT6{L=M zzCRVx=dKz)c>=WYrUfyu*o&Z>xHFROy!3avGl$=qgn60d)$9(f?f{SNcHEiA?$9b@ z+!;f6?qqjv5Xo)X^^+6OQ6Ebi{XAmC|w5V8>TKW*fj35@7 zFd5BpdRkgbYj10%x7S{8TW_Nkj97F+FbVhyP%&!NpjOW~YU87jATr;7?Q`alfW2Su z{XTx0IcJ~!Tzl`e*IrLCR-TFY10Jn$lj~7D%k*o_V%T6ib=!`|65IXW?LOPj8K`$5 z$om~MZg6zwWdqf+&hd06;*35q+ni38xmiCdj;f7URBc}MHlh82_$z*s3o23&&WZe` zymEWy!|mDOyfcmB_6)BpnI=&CGL#Y;Pv5Ofj=6^CfXUJ^f z01^pbcz{(21nwzGot<5YHj&CwOa6dQD$|CN=)h@GL~Cv)EjqwCbO#SpwoW?@^<{t6 zvpR4R&v4NWKoS(c1mYS3RKlW0GiCJQ_2#8u#J3POZ60NMd!mCPY}%|ubfS&Rf-Lfm zOo(QF&9mX>ld=mC?2PQOyLH7xF%}pvIPI(~qMZLtNRIS&*$(AY!FDceWIMCczW*3g z=Z`*f0CT(oJo(w`Ql{s3q9I_Hc!LJm`sCFmZ~A$;85?i1ypzAjR>JN%cptbSGZPOv z|8yATOTRmG2wMA-B(RYV7}twyHss1@35*k#E6m=cBT+?A-al?ho$T;TkGMw@47jC%0`gK zTK$eZ7ax(ypSd3mLW~5B?baCDfdoqZ2boGTnS?U~B}Z4RPbiNLL5%v2RG$OVQ7MhJ zYibk8606fjoSbhxh5df&Z(TTcwb-xg#@}@VrM8TG?Z(AIu9wjO8(oBGy7ASPnWddG zN6LiMf5uSMtec*{fS7H>$!iCyDz zEj!X1+1gj%5=6xB`=Z5nz-G^-PV`3bZxz`ZX@7rAWLrPYkq1ecWF*zxGI3gVd@_JZkS*AEAgIovxGS!smLN4#a)k>A75qyU=Ba zyVF~X_osQa8wyi58(czwj5qqk-LcyG%R+{l;hI{`I}c=6}_a1o|9 zt6OB|N`Q`8Li34q+4>tvAPawV+C=xV5!SoB8n9zlwguz2vBYsFjjCjN*COo}U*94v zRQ%xS1+GQf%Zcf-FtnKHn=LLy*9jg3jg8h|H$J5Nw_k#PwlK2wQ)qEkk;_`ZlAGvm z@sY#V24z6S@V*g3vvXRbf+>6h@!~7#>`m080F3ChU5`fu*0tJ(J<7Yd@YN`SJ3i4c zz=L#1-DZjnbwM88s=M3MyARRtFHXzrH*RXo*`%EiYQy6$PvteF%}P7$$#>FHW+_rcqCKR~it z^6GewUZuL@Wgi?@=xQ2dm@~phFTQ{Nr)%P6ujG!%1QNozqUbu!|QLd9PiZ z_Ffl=pYhRG3NRlCtuVR?NX!!6xchkR-p%!9gq57&pr^rvSGzY+-@G||R=!KcMOWqgb8zslGqK>P`x>dm_B$6b7k;o^C-*8D7w z*o2y8>tOF7FFp!!!eal`*2vf8;12dgC%8JjMLha?b8BLn5Myd(`4X~`SwmF>M&OZc z=($Jq+y09zlz%9-AbnXi?1#nftKjc->o}XEF18(<9Wa3zY|FNQpGdWKsm>#;0YMc` z?HAY$O6_x`_KWS>*;sB1vjf-S5m!B5r5z>>W~=jji=2zU=ACcJ&45op&uv|wm;2CO z+zNv6p?|utOEjhC6spPQis)QJb6qmz8SpvnqTE z*z@I}4fKS9iGYFkTC?mz`om){NWPC5`nw@qW2MlIVhpzx+@f;5qd<>Uc+-Kj^m^en zdC@hVdrq`?;uV3o_(^O}UK=@(&hMDGjcg*vF{04cq6004T{b2r@#d`|n8u0FQW~8r+BG=#=kgH}AHga`d8`*t|8ZSTE2!660%rKQnkWXk z*g#kW7~!uF7kYF#QAW`CpIdG{UPDJbN%83;(cN(4+n4sd#cQtWvh^IJjK7GEZG2d! z?J{(>SO;pF7*r)r`R5L;yiBzt4P2=jXc^i-6R!fn%4<4u@dt+07hTyaoiu~JRvk;r z$({#NrTHE^g>UvWYy_g|ey!be*inV9^fseM5Y*FqdzU~Xm}Ps$7rK(hC{%?r|HKi! zOBS?~Fof3AHhBJv5(l=gR++T zWi81l#j%&Hr4#rmuV^g7c#F89zo^U~!dl+ap1U(?tT54Fr6r=Y+)nBu?Sy6-KMPRe zJ>ZyDER+`4N;|n0WI@pd7F6+hvSQE6uP^PX=2ce6BnFTfw(K{S=C>zSK7xxOAXxU7 zafPn%@lZg!dC<4_37k&FE@VU5laip;BTMCBUabEvVi3@G*_@$W*3pFpuCpOr%f6q@ zo@tEVVO;laa9f7!u6M<1c~v0C3xh|GL+sWmBPF)sWtDn*n_M0P@tOc}eMAI;z(YRM zo3EiDB}iR4_Td5EvMFA9bldq;+H=JT1tN@)Gi-jm_!PP}j9zM)tCrW+aE)%RQP1(> z7d?e8749Q%|6#|kHMc2>0g{w(EM@;iuJC)hfx@r}gc;AuhiuPio)n@ zoU01lKcEuVtLlwSrK&G6+lx`G+-`F`KX#j*U*DiG){oVGHRXH2G^GdD?Caz*AO{&_nOrR-WWKTF*O!YZ> zJ3Hf4iQH7tco@5Az^NkbS#g}RK>~J(v}Xw^Y0ua5(xqMYKPkk~Vb?lyu11jspgk#u z*(bvo3OVDDAoHwRDUeZ)rO>rV_hhy|PUTe{?Ks-cj&Jy=ZCD&M>P+X~*2abTT=eDiO411fT<^*0T;DXK-4u+?mMhz@(x4O25+ zMiB$V`~O9EV8@r|^`s1gG7Q zX&3<5(|;8y!=SPH6S6|D{OS%q8JitXdRwjk-j3wGs(`MWWkn0s^1qxP`@sG+-h{Qo zhVS=(MrPS-ny#ujS4h4*^Cnn$mE1QxkKj(gp&Qhg(w_e$MIquLu=;25d=w??}2I=-}a+&y%tSTSiWu_FEk%=K%yyNZ5_#ci97Dz9R4wYOJmQmTmY*nK2rFoW%A!6sx( ziwbSJ*z8x2Le9hn)MFNv$rnN3o9rz1=V7Fc;IG7yS=_+eM&8n%KV;I_snS^5^Y5gj zj@3=oDcUaQ_*~~OLpE|QiT~)BQs*9 z_L~fxZ{_xz44${~DsfY#ohUFOagzNeUE{4kCg3o#L`ac{4rNsDdA6z`ac>Y2JaIpn`ug6*4Q(9S!40_Ql9-OWp#7(o!+(sT;KTo!82}* zf12-rqx`2oc4_8BZXT2ok9qqBpAnPz9pOaqm>swab>DV{`lar37|5Fx^E5jh>~y zK;s0F5OmG8bVQBcp8j@jNJ8yP1P6^KCjaB_?Lb9UspjN|8@@#sZY>?H^mx0ESu)7&Kt0Bzy zwC98|YE_fbL|_2rEH$Nf39gm~s2MP`E~PnEoy@!*zh5QRycyQy%$le=Y^TN7%Q>~E ztLRS2H+`h)PnsPaFMEk-QZ)1TE2KYj?f!&N=<1>`yZM&(+*@Jyh48B{i|#j})~oF# zMA9;+r}EZWypqhwM;=}RJOajpH>;mbmV(axE&SBS9~7KbAAk6J{G>e>P)sm${2W92 zfCkJ&P)AIjjaa{w168d|`G?bw@v;e$$MjsU`us})mFy^S5MjfxM!v_3&mUUVS&a5Q z2_0&BZdE0}u7I3rN^4dGf82gIiubFmcZi#Q7@MCzDND*1dq<1C#seJbclaKReHcRb z?&Lo8{7!fQ^2T`CYP*q7E*Fq~A)u1(wNgxu7o+%he5cUwokD`^F0qT;p^9wF6v6t9 zB3mf3N{Wb1J2H@$y3``zo8Sa>mo#F(1YV>w%ks|-a&NC1kpxcCiFIG8?0BUP&ICk( z-t=GCAz>|kzZ6b)Ffp>Y>fI?X?f_QL6>w(u-XAq}(5l(A586Q7p5nNg@W>{0;)NR{ zo8(w?g}%wERHt5-I_{)X`2Uq<04A1hg2vS&Ey_j`WXunfV@fe_1y^V3j6WG zR=Q!K3zA+d=){gWC4f68Zc6=n*Jg-+bU5uM9Dd*;Z}fX}nRoLtclcAUa%ApReiv8? z-3%jOte55khN3NWW33zj^@iEak6}K?U*=c90u|PyGCtTViBP)sH?@Y%wNi=oG|R!c zXC!yZ=@;E3=@4H(g8`NNt#F~Do1`|5$NS_BRL)y+InU0@CvHnzQSvZh_3c>A%2BgG zn`GZ|nzqOtXvnoVvPr0N7l9QV!aXDW_PA~o@?KV;BJab$72^Q2R{Fhtw`>FU!Pd}! z(4J0O+B4}e042niItNbV%@|0ylie2UH@L=&L8Nusq*~>7HQ{ z2;NG2R+FMlk{Y60<`01gM@)_$Is|`WSo`)xMlo{5K-B@pF_{JxFg*XPv45$($RA<_w(|lqy3l0%K~KGyHvA6M{xcRY4%j!>^XOTd4vBF zd~GyeJO0b7`Lm&1->u+GPKtutk?p^-|>&1_8g#t2EK7EzwrfTEp}hIZ^k~N z4g5m{Yqn^LpPBaTBx`hFg%&%8eh1y}1ZzGc;={W^qc6i+U40%sNnS49$zH-T*DnF5 zSQhyRFv_O3Ut=-^-UPsmUHYqHS(2oNfJ5KaKa;_l=0kiFe}l#K2e7@0$*Wdwwn@Qw zOr}h$Akq?^_@kSoZhKWry=l+YCHb4_3f_bRD+^!IV7g3>=Bez1K-$OY@(PgvcB;i(*VHAlNggVe?M~{Wt3mJZLmh?5)%Hz3s z)#0%XiFAVR+*N$t9BSiI30g>tDY%#C{?`RrgA zHiN8LgsjP({1E`+4ooYbT}!O6ejY~f|0U)8nODi5>#DV?Yx=aRh8_YpCCJih_pp_2 zl>(uk*gfQ=%fO_Nwo-E``oFBP?w}ff?^94NwSLC#fu)MjGH+~)`05oAi9M&GF_0QL zy;BJR(cz6=SP=Iu(bl$Cc27gcZcvMDg{+DDmK(lO1@}5Ns;8r#A7`wh?nUk`lulBQk)5(PaDx7I13-O)tPi_$wdkWOFbl45HLl*$n@( zM&)KP0%Ln6eEa6%i)eAC15Gp4+KUxAg=8j_3RXaM!hwu!6)anaT&uJnRN!fO~i#+52jZ*KV;aS=Fjqp)CE6zL1) z4&6Qk{~JBVW<16C+ml5EDj8MRaz*h+eseB_M>wF`t<|p=*oUj#F^wmCw>6qla&(a^gHg1dA!(O z_5f`we2qO9B0u!*>B4}af~TPSgFwxD+UoIAf&1-1)qCLwl-Eae$1WDjTGLy)cUHMT zQAe#3Y|~HgIIw*KwRIY4VW8^k6_*CSJ{`@ct+F;z9l#8ctp)v)Ne<)S)R<+TSMK8Aa3SX>22 zg{EgWdA)5y{M+O>-X3yo#V@Z8#Ai-bZKjSEzwPKaFan$gED+Fyicld(x_=O{%V{() zlTH}BVFd`>-(SyBYZiCVntc;C%kEIUEbCz*uzC76o<|?7M)v+e^R3$pxy#n+7`MvOcIO|B2@P}6YaMX^X0zc7x zo${ak(Je#utUh#f|Kw)%X-02m<*Acl&umo7&ms3c=VeY2J2%J7Ur6q{R+2f9sASOk z*;VTNc`~_L5=_rgqjO)S2?{;X=^McbBQZtAp4*3bO;mMeBlVK4t90mkSk~`wD zS9R8*pSpZ=?TdnVj{+H@c#A?uX=ExJLQuT8Oi(XK5_q|Gyc}z+s3pu$C6Q5G;jiI$ z0Q6FUMIT%XaE~x)16qB8;}zvVAq?6G{Y|Hf-wOza_JK4c*~jiFe&=O{bEsCSAX5Ah ziu*BT*f@=#SDhtbJt2UlBVc~?^FV^m`&2zXA6=kjm3Uj_Thj4*T>;LGu5`J>H>rtA zu2rS4BiAy?1saEMXQez3++k1R-#)bv`J7@738ZR zUqu4|WqBCBsi=I{vUGGclszNdp)v?5a{1cqJqUo~v&Y9TIaW?a+nOTS?-v#v1S1!e zEn;O6pHtn!v;w>|>ak5*WCh61RZE`1RKh*xWMX8Did|K<=Q4*CB6j282^jL6ba$4s zV@kZ8BiyNtUWsjqqpq^QNmhaeF=s04Vp64O_ldKaZ zN7upWWu99sImz?o<*ebUvKk$$?M3z4s)yIntUNrp#(B6u;yg4gk@Vm~`RkjzNL#hC zmOtU@fCvwE`tg}ovu){ojsyfrB|6dT`3)QoO6{529==Y!9N_6v_4EZ#D>2gBuip0a zHa#eDT6VG-N&Z|Ve;zO|)&eyzG@hEeHauHV4xC`U){VcD;|7cB&SbnuyWNN+b)$w>nPSYCgT~O_+tr2D{W3nfkXuBDNyeTBLoK{}(1c(Uv4o8C=p2 zG15LfaiCuLuUpAx#CfR^?&hee=(42@%#x2zxE{gv7 zv`)LFXvU|rv|DbRQ7%7M%&3%~`We;OIdpzHQ@bTFt>@F(+AZIn)+av;ruECu=xKa@ zagp{~H}HSC-N%Lfn+%1Q(7W>I?~8oeYaj6ER?ZA}q*5Im=bbQQg!>rSS| z*YwlEjG*W|A(%g9X3pye0Zrm*v|FZVcnex{35!;bcJ|Bgkmw3TinAk3il(7%ESRXE zqG&MUzJ6>KepB#f8|3eMY%o2(vR@H&c$E*B^V#JM+&03{;Oz2dw>mR|eHbYph2u;u zdY(cA*YrX)C-9We;}_$ZhDpJyT`b7T+1PNF2DINiyL1NRF^-1<+U#`D99tSR1|0DYB1V3N_TeC}x%3&Nd8`bFP?CBMu*Y&EwfP1@) z{xOMS8hzj0c#0o(S9H0`>x^(EFS!xE5^xWuVtDBBM&5PT8~xg(aJ4pRWo%o z7xJfJ34ateQ9}`-RUqNhcEvFFA zDWQh&Yl`{)B0J?{m9o{E$1Cv^a>e@jV0lTE^Dd`vCRbEj9XqRD2Fok$x%3mtJ7Nup zSoF?NIIAa7F1`&{N;HePHYw~_REQ0R!uJim@EOF`qc<3@<+kk;H|*X@Jw63g>1Ubk zeHFT;KcIQ>($H>2WTS6?S9oXS5ykUcOO1}Sr|08b2hyHxyeVpW?$<;EPRS=!CqN*J z=Sn&2D@=^=`6?xc^fLDkt7X*(IuN*Eq}{RrEh)qw*@m6};{|m&=RbVxH7r9W0i%=` zaI~VvX)Yv9h3;U8(W&n64Ba&48g2dPOsG(}v@$9qcC*SB6Pl8@7W+-uX1qoCX?`vA zwdCt^7CXfsy$n)tle&;QTIcn#y!@=4g0Hf6wE7`+wo$+Qi#Sb6prgB`*0^c6xmFsp zd?QH01L@lKW?W+|lJh=J>;XtGr+E=ilM!j4%6}6J8o1rB1`{_`KjO+#9ZF;;%dfQ& zM~*j)UW0E7ib@$`iBnoC@nZTHZ7)iljm3|cMF`O@!AYX+rK!p%ge#gl>Yz^rsba-* zp&Gw9&bBbV(+kxg{6=@Z@mdfa{;{;~nl>4;{b>top?7LaU*M9@0jatM2;QV}_}(9@ zA5+c=t;+0?x2jlzA7``(xd>(NHD1jQOqZZ}u>_ORqk|mt z2X@e>%)qDxf5Y19N(RPx!k{EJp-P7-GE55tmq}sv&q_#pwVvSN%M`G)Dk0>n zncQ+-*-N!8J_+2RyRgDs|04$Y2(Gm`0Zf^ZK>U6+9g%${p()x45k9jn6pR3sCKXOn zP|+qiFtS^zQf&tDmTf5f95kK}7-kEleJwB7x2#=b*CQ3+aPb5x5eQO=-ACnQ)!5mx zR+zu_xZZ40It1R9=UU7sq$t)!y16#Oqjf*}g1oQO&4zMojl9IU#u>3n>0G(5m+Oti z^=3e;S}P-FGF2OP56RoZgiccZ@K%$59r;_ypU^5U1yX)Q9e7dh9mR>dPHPtUOdDnY zW|qCVR*GBCl-Z^U0bT%`^bH`&kl6)lz**;fHpJ{z#pUA!XVsBU4HK4-_}Ye9 zXST#b)Eb|4su5el11>d6v{(qVlKi>g`B7SI7df*NB zw#2^2-^k~n7kO*L4-}$wpvu5`7eeh*LO><5Ij6Gb&kv zh~XmqK(DfPV+&OZ*k`%e(upsUlT?brK)M@Sn+{G#{7S>s3fA-mHD9}TBZ%3>{Vw3% zi2)y}TC;5OATE8N0*>-3SIEBR*KU79IjY~n-w(s5t9)W%NdV7-DI=T-8412lZ0&bekohC*b}?)pfMe6wuV z=W+tR0`ZJA-O_*Ub|uG1)o5Q=5rQHMC}vSHRWgYHTf7hj6fpgqb8L#5-W= zlI9_;t5CYot{CS1))bQeMf-|j@c2e@I6ST)<)2CnZTW>m|A=df7Zo}aR&u{3TM1Od zq>9aFgD~(Dbo$p^O2dpk@xpI?j+e>-nuWT|hOQ0$G%VyQUAi@fQi%;kb z05=9aIr*stbh}=w--RbDcX%?}Z^~=)a3vzJ5v< zgvSocmwZ@dSy6ze!O33Ll2@xgK;FXem?3$UEJNE+S2%5QyKlA3nl{<{ zr1X|LI;f*KJSvkTHJjmFRP2omPWEZOSNK>G9-%&_&d@eoT@v|xviAw6sC*p}#>LLo zR0XA0jPTMqO18(al9@k<#1HsYqLf_IETc%LXThD)_qq6LMmY)Fi_1aS`csgYhqgyz!Q& ze(R0CM;MHBQD_xI-05$Bt2#)OI&H(V%=9GihGMs^4AA|>>Mt6|Q}1%aCG@LYN^ zLc7Z=$knW)$DOv89t;;8V*R@SGrD;sUBeQDy|N>+BE7&)_Y)mE2f6pSk0t+X!@ekJ z>ihAmRoHk0owzH<(vA2xxiXjCOwtpQgd&Rd>CaW#6_O@fO48mWEsL4#havaFjQdp9<^+v;I)VKKjIVKu7@URBvnDr$L5Z=E?o$5;YTH!;aVotyRCT=K3$FTJ`_48%- zLJ@|p)Hb{p{anZ}2G?0PwZPZ>p{7hc|0L_Pu<<4S7KdKsFXSlth~oJy#F~~ea*%nS z0e=$Lm+-OGAOhr zrr&Hxnh#d>Xsd$^jUYj~aaO>nEA>7)>Q8tL?C?hRb8lG3%1SClt2iNov2VEuxVr!3 zPTtK28piD*52`J1bUz4_zYDY&jLmd?O9j2vnrBcwxJxM#sTMljBa&~!y_A{)rsr=r z2&r)Fqe1shZ~ARnD(cD`_1%wT%}y8F-l`8b(rF6;b0fzf5z^w>S(+{Ow$e4 z#Esvm0EdSg;svi1a4UsT7{Q@J0pSRB(`F8a*PbfU6LGScZ#id+$D-z6%ZL& zueI!_YVS=YQMAH#Sc~igjRfdB*@{=#DbKSol@jul9V|HOLOb<=p{bKd&1_qnK4V*b zdtxOs;pU|JTrl-ONdOBSQbuuJd=9RY_ugR5t6D4qJX+ntUYLk~)*?uCoLdDhs4EYD zL-;&;++S+Bf21V(KS`t-SoOurF7Zw64(qtdgHv$**CAbRD2fE!iF9AK>}g5~gyK+$ zQp3~ml33hh1M%5-IG$A*MlN~fc%tBqPyJe{DO3uz1iQ?Aew`amK4R?i zn&nT$iKlQY++uGz!^3JNekn84@U&L$WoG;nP^4<*;z>kCS(kRXk|MM6_p%nZhptgVZfH{!piT-gzmG2{kz`Pm$Adf>Tct zBA2UHY-{+a)QN&Yvig8(G03@nn0SK3$;XT{!{Y+(t;CbnR)4|n(%moWRWF2p23N=# zDeiX}!v?-h!)fwQwoEI=C(<*%W(0C;69HtYe!_fFrC+Px%6Q${-4~D-pUd9TmwcsL zAmkCW)D?k)(N`%N#gV35Y3gQR6p##xNgA9^akB-A4c|EwANrc#2^|JCJrYHvx{ zGi~+t(p%Jjs^E+<6c6r-&t&51ShzOX4EVGYYPn5zhE9_&;ghuu_+g&5K$u@}z+e?g z&T*-0hQJ5XxH%p2BQ$rvB2)yv7;8GUyMzoAK8wVR7)iU4l@GypP}BnP3QucTr>*{@ zWWl{L>sF46<~lBBsaAEBF+FP$VdyuEz6Wj>%)NN9KlOmk$h(ghSL(-#b(f0sf(E=$ zR4kEe)(K1$ICAr+oB)1e#b`|WfEK>pek1WvRomg$af${saq%@=_?m2dh_xTDJA zA98?#SpI|aTX@U;)`>q>Naa%!oXbYJo$_-z;#s(v9r)QcsYb7n#$>=;;?T$KqF<`Hsw3 z5IUF7e3GLz{C5KE@-MrdwGAf-aeIW&wuk5CdoOh~jI=&U%p?z)$vzjx*r`bm`WSCi08%>Omqt8wM{O+?k`99|4YiHe@Ju+3$ zI?C_v2^b|UC|aRUryF1*o6=Pmwx6A?@UYy+p95_H=I`WEHj@l>MRLcu~#_B@_W4-;QF@(Cx5 zbhR97)uO4wwm>MsMdn4^*Pw`mGSWB7gEd@gcKfxu7yMN(_zSgQ4N}k!-ro@U|5^7i zlWu5=>j;psXXz>8drv98L|564sSu>hp$9NF(oP`>ZASj~3saCx!W! zs?2!X%=pjzj2!=H3GQj}?R`>R7vdLw8HoKg*b}@7h!4QQ{!G*fpM~EUaC5s_1(@Fu zFv}hj_e*y=V79FH)+;dg9;+Z^DKNibgSj>jP743$>~Zqo3!sYsEm!)Vz&Dt2%UMYF zCYPM>qHTadE8lHH7A_tdC!WBz|)_Mb z@r$6M;cg|80x@++bJ9CW59L)$48F7V zzQ~I5lS12*!i~ts&oICUTcFCrd*y;4t~PZyed$d7CbB|12_lik#UT!J9IxZFLeVH* z=jh`pCb{Fi3*`j9prxl=T%fZl-n)u}@f#Z^2qp7|PJqR0aw?mB$_{Df zV9iL+z4&5Dy$z=McOE3rrOjv?8wb@4(TB=KA?C3Aa!+5!q#)Wo!M|iVqdqI`nZ@g& z*`oi`{Dm&d%^idi%Sbop_UrBM7r_qTuoPxbKD_Iq(?+;(gOYA%ag_()oO~#Q66$Wd zoXL=O zmm%rNrFKu6ZzKKSwX8KyAU!F11+q-FShpgj{(oMo4@)Da=K%gOlJn$QAcS@%iDj1` z!?c*iEBM)X2?Mht1`}kK9VLj&UbWYPJjr>Bozs$>vnA)1tXs*flzyKn0SjAEhqz zjTCJr>d=U-4y40XY0uUj$W}J1biMs8NQ-R+sW}qZB&F+0oTYB*(=tl`nnl47f;Zu+Y_d~z4N=4AXTbl(_oiQ|Rk&eotp>B^eS-=TI0YzH$8nrH8 z)i!96LE;z4dTkk9Agt;GiI%z|Zo*8)qbC)(xPqN6s>H3eQ~ObXBA*hb(a&{y(*ajG zte`ge%Z0hqktkTjXNk5}uRDA(0PRzF`dJDpySpQ#VY{!^>v)h-Mh(h7L1ZH2XFGP* z6}fE4n4YGIES9qbyzz!UnIFJlA^ov~%0a6orWI>Z;ThYtzHHr1t(~)rxIy&0!fjHk z@Gro;4~aBUiBqXVE(PjFXtb-Q_O!EYx5-*G8WN1RS4ZWkxtxXp#A9@V>JuE}z19&d zLv6zdR^pFOEZ_;!4+IpII0P+)oimHv$yeMMYaz~4W^snlpZ+#Rnucu+ zVUs|6N1KO09sdC60ar@{93UKWN-J1m%Ynv0cdS?HpI*r9hhd<9yiw{%dw&0d+l7X( zN)JtrC6?nx5D+T{a&urGb$rdRppLv`BQ_IuK- z6MrW&DaI*5%ev|J>GW{dqKeK?r~>&?+tfftuSHW#ESX=~7CI{*t$@*kj^dhJVVcQ$3j1Jcg`O z(iQdbDwd*Y&+k+fq08#yo8(KdW^eer?6rAM$sSwdjZCY4TKi!L(0L=@t4{NL9JR~y z0iKU?p1?#Qp zLDaWZ9PoQm$K>4?MEXKp3%zEi)_gr#wZ{*$>vB};-b6CB)vLH98NIsan%eE2ZDpY~ z4NC9C*YzB;$j2~TsXw5~oWwQ_6R*w#$@A@pFO+X?07H0VkuNWpAO;KqV%dP7Sf4ei zljg%pwSf=kt9>SYfM+3gnTG`2PDswuX#S-wv!2iuzfa~mb3)jh15?}(`#@rNTR}Dx zUoHkBA5E2}g&z%4QncMlmogH$sO6f{PTxp3yFUiHb9TRH2l-j%VjE=_v%bQhv<*Q~ z49&$Yz+DwpmUbt_s7&ljwAh2HN1jlzG$?l)yFsqvYxOw#0bKY9JEOXD7+)QeL7^XV zpQow9a)oj}&*L+8CI3YVY_tj*lgA=028BsKKjuiX79E2m|1o(74@(#YC!T56MDU#= z>5|l%RLn#iLcM~P@sLhxu@9K5PT!Gki4Cr>qVGt+*@G9$a+rAo3O^f&*3IHFO7n>` z(Q}`&sFCql51eBgt^9|q0sP$1sFblAwwj!;ckxx385V@ERKJWxM3-Pxu3{fsKR=qm zbV)+C`+qK!?lV3C3Nass*?o%58c^u_Dh2;r6+GNAQ7m47GPK{=nw3X_Z;Wj@`@{mV zPyBDcvQHd@INUnKKC$(X_K6SB89{osjUr)C9y*NhP1q}|PNe8W>U4QwIM(aDp-~$9 zF+>nIdTuBRW}Pn!@SRD_`xw!;f=h5)0Y+kr<>?UJz#h_HhLXf zDOM1!+u5@$sy2%A$ohf~VIj;_&1kXH)dmqq-}234WLt4|$Y}X)dLD5P?J#itgrzp* zx~uqQwTjIVugmNy*-y@%>gQ40FjDOcuhAVD9MyQ1_#iWjBD2h*1Ytu)d%u;q(Q9n= zPHIQlqaD;Xfh(|Ad%VcI$nfn~i`3T)Z|x@%No#F;ee>4vcye}w)%J3Y<1wJSTLQ)V zxU@bYNJ1FUZuk?4&vRz5_G0Je^(Ya=wpz1B+RoQ&MMB~B+QrPWRjfpzKJxH8s#H*H zJqfGGR>#&5X^$Q`i}v;-WadoUr!6DiU)BWoKx$5YjmI&T|CjacJ!E}@s&9cR6pZss zdcW;rY8)OgL$YpzoEQ3^@eG|FTR&R2`B28L%p8TMsrd^5-OY~{%NOvQQOIga&>Fc;#Z z@kvo%P)a_j0=J4pS`KZsLTE~Ahv|yfS*gdDm8U)5?2zrAao=-;ym9R&>Y|tpcg+@> z4_a<^xjgWzx}+N;;>A-B>TtYezGM=y`pLQ(Q7>JrIhPC5IDfy`t-wZriHeLbSw-?1 z=LMZ|<$ryi?KXXJwe=<)&0CZC@=Rq(Nhn|lD?&KlS?TH=;Szsz>u?_A3sE4Q$=%N1W+#wTnTtSk=gO_$W8;v|@*>QVWF9j_kMdJ>1;@DR%mr1JdJ}s+&*z&DG zqJ@Oc`;@F|ZrDT^T|WR;)+NgMUfj${Lqy4x`&F+@qYWlvs^Jd}{Y?gGbU=Y0p7vbD zXLJmdhY>I83^mVavF}K=o*8^mK553%nV|ba=X&=H?$RvcuVo$6%pr5~YW^JBF^y2e zfB22`VZAty(X$?Dq>srdlndgUbM?=K4#eFgStRt^iZ8xkyRMg4TsF$dhEjV%eyWr! zn~bZNKwQlXR?;Aqy}h^2O@)a6BIE1Q+u!3t^CBu@j@O#Y^`~T3`4@4D;s4QgV{5&pV(jc~px!J{$gUOfAHCcKOQ} zS^n$oEcWMN%U>crJc2*A9NzjpZ)wl{nKZg24telfDJf2;wb<;;%t9|bfi=0}Lg47n z`XB^%6jHA24v1w)gva=3JLB0LRv7cp{5FTH;B4l+om$SSu=|fIvKRj%yf=4V-|Vfq zchjNRZ~u(HXSbJ`e(^eH&-R1Vl!L_shpczVdHW^&!%Y2ZHOL$XG8Jd%xbBdZ|I_*i zdBB_k5jE3lDg{3FyaS&|u(H-Tnh(}=`@>s%S!hV#H2J7v|Q9S<6ejLr? z1NP(LJc?d3hbzqpuYPdEvR{agzAL1q&>f;z5zu6u1Z_0SD zEr+3JX%!_YNc`d{hsix2>0cJ3a0n6I+j4~_q&+E^teHcMsa78OM7YYq+{-7K{%qPo z@p^>+omHB~2u@WB5fsKB?T>R6^Y(qGuACNY=A^fOhn)9{mHurkb1`?*9{)OP_2@vn zvDDwyB@0P(SQz!J(na;g#O0#fgHs%zfsu9W9W54RA_AB`C`PZg;V^CiyHS3TIMyAh zZ`K=q#PcP3uRDqrW@P`Hx7Cv2h5}`HNtoG@e^Ie~h51Y@-$GbKMRq)26?JwuQD=9L zZ1)<^d7ChFb-8XEpIRntB;wAF?7@jUYh1!X0~ew*-Gy+b zV3C*5$$l}IY!6;wXC`k~6&-3bGX;vio|++#Gdo$2kF?%;i}scm5c^Q){*%Kj zUmDSJ$-#p73MGioi)I-(lq7zfBZ=QnsLEU@%L&6p@ph=oU@nrS&Dhv)Z4r-Y4s<|0 z3OfBc==59BpDO6U@lbjUS?I{ECjUNR)87t!YSk6rDRD^nWaa76{j8Di4tz1}eh(!K zAN`{N&dv%qz!m)%kO689TDcoVJMbv8B{)P-tNp!FzE@hpUb5H2d`XxKwzbzooPaKM zr4P9YB_xIO(21}bVL76&$Zpch3DaEBQqTT1J-BoakG>C+l}I>a^zF3W&?gLz zFDo=TQ)mH&^5t!r_)v3!Pv1dC!(j-~V>e{c8CYi=Z-T*wTm{tv<7#z*`&N9TctKaL zfc&R30Oh15dBR>H718HrKpDp^@r%Y|S>{jg&fqHt@huS;Ey>drfkzc^C`XXgc)s)j zP;PEM1zCQDxdH;qwrY9~ALl^n!9CJ4d&%%6z~OzcAGy@b!hWzM5Qpn^Eqw&5bcx80 zDrc3-Wbq3>85zNN{#ZNu?G<@kz^K-Z`K7wCyqt;n>d7<_-Lgc;LY5w)JI>B)dX>)k zMpdw6u@G7r`%IhOat6svE?xq5?{kTIr@;9!xU4yX=f8OqI9EEgFIwZ!Bg4w~xI&(^ zXL+V9LN;jQTZa`^09N>D*!nYGuxBmkz}1pL3p{Ng_y*K_K3q3&(NK##_zwkF@DnhV zv#|{BB)nS;`1LD)J| zx_F(ts$Az_s7Wk42_@W8)Fnk;SauUlh%c(^$`vmoBPvtpgbdd)w!m?Oh=E^~GC%(* zA_Jr>@$1S{k2MT!4+Y(F?gkkZrp9BRmThlG{%zDGP`caoG&CYh3W`YA&1^uX}ACO%*|H~C`_yP!1NZPT#bFXyGh zDgk36nZ&bR=@YUEt;;{Ox8FEjw%_tnmRCQ*9oZbBSZ(h&mGh^I@;EHQxiCGQlf8hV-(!+3jY5DCp^n1O1>A!mv_tv zw#Xba$@AFwKCFGAq$yrt7r)9ao=d!u18?3|PbwB>Qt7P)-uAb#vw0VvCRjx8>u)@l zkJz}$M?a2F`tWViH^$rkE}3?d>0{r>cFc-W<47*?jqLRqopdKv$15ICI=xL$ve4#t z&4-xvnLiK;n8@U#y!hno73%k0n+SeEh+ysqI76`|5ikm?&>&0{I-bsTZDzOLo-9!2 zu7gG1r=gwEESWi|E2b2+<1?zgvDiB4MnU#3Ut}J;QUSqu#afcIxA+Wyx{Efdage~8 z<#b9)MC|7`(=1{sj^&6e@=q8 zN8NozN+*Qwpf$&-@=vVZyxw+^Ei3+%ChwK+gn{|n5U9=@j|gu$pYo=3*nQc--<-i5 zL=r;O+459&QMNLMipv5n$<3lX+UiCw7mM(uW|Q+u6jQCY-xh1h{qE2$NwN3Tj^c5{lJ9XGH9)! zAr6W<7!(vRNBv`Ei0cr?!)XHJfMCv|55se1nid;x#@IlPkLnM{_} zabG77h9FjI%p-2-({z{7O$M#`E~fbr{3?Y%P;h|AR*S^0j&WZ?FKGV}H)|Pbo&wTS z+=)|H=F86n2;!Opx-wvVCp&%{HORTAbU5y!oXqnIS#3`Dvkg7LK2lSZypGR#b1jcT zZ!~?7kQvFUddT(#*Ra`?)qhR9oQw?+=;GE3*NXV-K0WI^#wO1GPo86_0?#px%WP|Z zQ9?YV*BDeJIAp^@XX7^}I7x1sm~{=%uc=%dOIv(n;MSFks~F{QrPn&)2w}JQ))ft6 z)FmOtd#&%|@>dDKnzqQGDvs@?r-1>~|_lO^Za zAL;IG>9<2H)a5T6Ig);9Ti^^Xn?pWgI|S zv+$-;Hyv#&h`W)=Ik3#0YFP z@}|LYN0PO!Y4Aq65jsD0MC$}HyiK#AGnxjElX^~Wts+TdgrVb_1|O5(F{xD3;E9zy zl{O6~Pp0D6TE}&?9^KJe+|hbiN9*X0)>ArK$9J?AbhM7_Xf5q%E$L_-(a~Dg(OTHi zI;x}f*pAktI$DqEXf5w(J)xtuqNDZjj@F4Cty)Lx@g1#Wa`diR?{dY+uJ^9keT)Y* z2%;9T-$T|iIf&zETgDq&ISPrxy@V(%;_T1IGQm@y5iBR;eBF58+v>LN1Acs-PxggE zMI+n+>s^VARy+l|kef(*HmMd|A}#2~+6Z5uK&)dRo1-fqD!>O}d}XVyG$ZIrTAwhW ztAkuthhEbiy2?57=h{d9EEq1nhu8;g_yd9`b4{;Sac#9$ab=}ep*$3Es4sDaR;NAJ zKj<9jfp|<>&GiRfY(RZn$xxCyey;e87MZKkWkorx#iMKZHrg%C2t2iztSjA)=DpmJ zc(zEA3g{hMqaL#&ANe98ALVHX$$~Nf8hv{v+E#-}1EQ30_lI#eJAA z&iyYDSYYwAx1E|QQTj-DOMAo!D?Byca0L*UhO}!Mzb+sFG1O2AB!I#YNEovM#+Wo%xk0Oh4p2N2d>P<}G}Y z)X2hDcL9_^@V{HMv`To1wz59HGD0*xfMRi+34pa+1NM20$K)^hX``e*B?(Giq#LnTzAG0k!j4C`mQPDh zPK`l+phb(_RN@AIfPEgQO95Ugy_;mu!@~avA5|jY zBnnH=_<-oA(p11miF~|G<~y!BZ@fydQrR2GIF)Yl_xa{E2%RXB^2xl2r2J|6U2hx^ zk4>=~qydkIFG^DW64mPN*Hrs>Ea%$Ns~c}P{nl33lQ}8!h2a7OBA%-by)T@hRn3q- z@%56z`WB!$ut`p&sK4ejZS|>=+m>ef9d=@5lgxrEe37>)y_bij-e4S;o1X>Z56ir0 zcby9a@t>P~lwabP|9ig9FCt%QjuXbIHJKzAjz+l8s^Ygz14IgIsO4~e_`*fe+lv;2 z&*PB3j{CP)v7?e-rIb?xqIFpa$u5$@mopH%Gz+n|AT?5Zd?d9OhU@7OdNCrz8^Gzo zr|M~trzB6JnX5-tLD&(V^vBYU+;);8_EW`@BGGp$kYa!2H99auQ^Cm>;U7nq^)Eot z(mHEdFIv<_;^2(X^6221TCA7ev1OK*ERf8$=7VTQJI$6RkCoXnuXW3eO_Gjgr%pFj zgdCI=L>YpM=DaAYK&dJaSOGE~NIWbW3qj+%*Z>``9OM5rb#8uh2S5{~vnqzEE03mAQYDxCRtYIo0+s?DNvDYcT!u7Fz(85y9}Om4rM zHGU^%o$rN5D}6+kQ!xJB(nT}7>LowdVELY%@~g!Yq8;2QzDZUa`V+r$kSGj7^nm0I z_QX`(SUN;3iQ}CMU7>0}HxB%N=E}gzznHhwIHz8}x?aqbs4avODHJ_eIxAP-tdyEN z`y6xPg~T2HQb5Dc2hc%dxAjqzn>fO4vS78CxGBm5bkIOZy)U^5z{-p!f61W$Df)Q| zH8bu5pI|Fzop}YFyCpl3wiX+pLY^)AFC7tp0m1kw0=MKEIo`~&HE$~&@2%8it2(?a z)j+$OGRe$9H$PU(Wh8QJM5Y0ux~ z&C#L}fi+i%B}_oikWAZnlY?*S5HM%1DOr9Lx>_vi%-MyvQpKQt!Il<5A_?j#CkIMg zviK#TD>mMF?2N&QS1D+LxLB2-#RM+?Tm?o91|!w3l@GEAPva|dtPCh^?U;hlj69k_ zv|z}ZWrx5~6qVhOK$c6~(610!pWhD*+TX9l*Kz^;2hd$Z{O`{ zA3WitU@tygj`14pij!q*gE4-bZ^AY&f!MWJmDGaSR$%02hacyl=dM}frG4nCO6`a_ z)ey2%yJpo&l1)b?_p!<{(}VrCBZ^rl+`@%G4hKs|A+4Kzbn}johNf;<(>7dp3<<}j zF6T8gHS_A_y1!>TM*ChYmlS>;r?@B6Y3h-&R-J;VZFiRZE1-yQ*$KZAS#_){yfd=u zI9K?2@svhWmmKSB-WnS1eTuz`?P9njHJ<4!wc|RbMw4UbEc5IJ>T~ft@AxiXuM82k zS|2|wg$64+!yPV;&nrsJimV#%3LQmC!q^V#;)DU50?DFkkD zk8z2vf2~*Z^`s7$EG|B1%@@+w`uKHtP{UUR;W2}~L9M>K{;=yx`G0IZwg&K-+xtBA zBYQD1np7_#KxKF@xv2A05ajppl4O-_62 zf02JWDvnuFjuy#}7G<_X5HcabTAi|kxQ>*8-dgO99w>sMZte|zE$#W7W~Yndd3X+` z`lT-bEC=`!jD)Ab&y~3mZ#_@ zwnn>2QXR%!nXmvHWqEGovL;Gd9AeP+H_#$SYCAa1+jc(nC;Ldrtv^MoXBQtgI5Fm` z@`;3#P+Pu4Ml5QIP26DGbByYi?I<%IOiW2|wP4+#0XJkUgB!V*Wyi7$oj)Op?@s<* zH|C6Gr^zFp=6zd;K9E@RDZAL>Pdl6MSgt>?eCC{9Z_GM7e-q9L7_;W4j!Jv{bV|Ia zsW^3_hvQr~fuqCh2TIxfSuOjsS_aAXwS6nRjJ>(hZVm1L!ZNzM=nR&g;1-AT^QP{0 zgugG@dGN}?BnoGG376m{<+fzF&G|?-IU35U6f;FHZJA##&OOiyR>)GxhWqp6!XI6% z4j|&Y@*&4FcpjzS1lG1VS{ebiRL~$q4=FX% z3c0a+r#_?o4By$;m6mSbGy8l9&1PT=U$-@2hTBr(9ese#*)?tg%^5gO-${{WKc0pW z)^$ujo7Gx{jU|_p+qmqgLv}JMfBra_Qstjj4VhLnkw1ZnLa|*j5!OeJ{c&1Do3>hr zTiuvf+FB5~a8&3Q$*;2Zg*`oqU%&B2O0(OS&fYziv}pyQYrxLx#``(_X};e*Z6LqKS_0Q&YRys>meCNP3LV< zT?LTXXU*dprp6U85Y7Kjy&K?&7(VA=Meewz+0PQ}6$Du7F7ig{d1$riz zmgZ-8Kn8a>S?xiFkCp-I(UezNo zt;nYJkw(I$DuIu}etXVNJ2^kCjkL@GWAn!&0-FqfJcmLtZqbcx%wmsK|B`}y4?I9F z(u!p$o3{^^VH?OI0n4zPjO&n6vEH(YG1O&r)@uFQX4F?d4VBzTD}d z>b`scCN zgyv8k=R&s6S~rU-8A~ObFRLg6VnR!1z*-7QknSYKw7Cm01phjHV_7zy$eVmJgNTep z#l`Y}n|YLIW@d1}`u=x@8g>uC$4wsyfsk2v68N3+9N{9f;|OP1co6C#O%i+M7m`-p zg}Qw2ILX4Epd(5nfz`U5%c=Dh*+S}$bGo|Ov`HTRMbMBSvUr3?z$I-DMfxmsfkTTd zMDb0Jm;f_8mUgu~#ZpoZ0w}{Q4&RE%27b3#$RMIo<}tyWZBDVT7Dctp@p-fGh_B%b zsd9WW$4f#dWRK9VafJTz2f)xaX6j9Qe##sC&rBK|)TwDtle~8M=F$uKoiDS*??QR^ zKIN+9&1{&fy2ROX5-`BeN%LyHDrS8?5ZGpO?OqVjG(11;IWE(by4N1bo7|^y#AzZ9t45MRM-mhvO=3Oy#c&0L1RkdEI>WiD+Ver`XU@><5< zZ=fa}K0R>3%A3QdfIa|j!(3}VI>X|! zs{Odrg5mfs){hjl^Gm{0u|GoF~|MU5fdEax+d)DVX=Q+;`xm=BR zFq~<}p5+TCx{*RW2dbZO7Ovwtm>74M<|lT)GCJ_$&XM^CJtxj7KQA$c=t*6KPUOAJU=8KepRR? zbhH^&yndFeurVF2OHEhG+-)FzT<<9=W{)@HwO_!L`Wj%W_!s4-kL#>h{q4)wEpI`1!I_->a})Lq1^JGbs~qatk$N($0AKwFq z)ald&;TqaZ-3pWWPJaQ@2{gCq4AOQc!$-& zB1{j__d4ngc43BFHN%9`c2T~J{Dtv0>9@UpQ(=4kGyMODl+jitPuXd)#Bo9nMp1gk zD&sv2y(i%6vQ>DNIs>IeJWHJ{$3^iItN2Nyp1(2cd(7Cg^p=;22sSc7S;H8vWDGR0 zU;ksWXX$mHlLMt+ss~(+e|CBy+X zA#8w!1}0|j&yB-qlVr^K<9Cbw5sWVp5ykytvtzU&P`2D4_RO|GVrp@^wr1rZnVxP> zv26(7d#=0}gV{F(q3`m85%tURf=C3b-*s*~br{^NVra-C&@930009cPn1*-FB(zdT zP3d#BK;nz;h@K7>Zo$(a zHzQRMT2qIL;#vK&Au~+&&(p6Ml>mxTd#>K5i}l^t`Qzr;=F-yxgt)L%w-)cNm>snh z<$ZN*y0d?Q(p-Vi@2FAkps~BDEAPVa#|BYMKKC=J8-;Fk*E$$`L#CD^@7A?)iP-B* ztCktwzm^$=p)(Ja59v{N1`F4Eu|fQaJ~5_>vca?ZWtFS;zWMRq&Fx$d8t^+@uEt`KP6Lqr>el77$fXzldYW z)ju9P`6;!JhGge4b%%OlH;g-pk2AG|F6uRjX0O0wX$9|;jmXAYA-W@CCO6hf>VB$n zcV;k_S=~kT$zvWiN50e2NyFmoL9qnjFXU^EU@m-7Ie(_XLV+xS*5JgarqFbr4Gm4{ zSuiH&IAu%1WI1JbYYv>syQ^rDz*Sme0#|9lF?m+cYmG_3-^Z(>#IIY;&%Me>*Aggq zxx1!8rl(-kvE1OU^d&_owM^yI?R)v4g=>QylghC9%By99YBB2r0?tZo7oC;|p~-^Pr#da?(6qZVCbbt=&BRen>XR&(AKVM_fxokXV4J;gZ@;Ww zxc7d926bqc6IY221TG)G7>#Jf&4YV{&)B?Lr9EAgKCE9_skSHtYsi;6lx|wz{Uxpj z2Ah}ou1)w}85G|2R_F%CRS4p8B5%4 z{s52ugs5^mbBU5$H(|}=26jq}*tE@vQFm_V8C10q8x0k1dT$X9@{`r8aHSl;+)b>u&?0M zA4`}W>TTbV3A0m28UO)RXhWh!qJs~FHlCk?qQ%iO%&LdJ=1*`FOWdtO$o zz*SF8x*{o^RR`WKP)LpkE zZ~d78+$(0GT1)(iw<&=30PuiE?LC9Ig?32ysOdB@8k*K=Swr8XAF2qzX!;8SRiES| z<*JS2@t!>-^mDhNG#rx`oN^&xOC3cSv z>F$TY3HK^JbaC@EL=}~%gtwj_G-}}$X z<5G_Qo=B+ewdyqB_Bi(Nu!Od-GRPzp;I(VOri2^mmsbP`LQAD?GE46<63rfQ?e5&(oqzJ6IphYzNdc&N%RC700{a-w5#wO7h0#x(NANvn}_(rOJn zCDHzblk}l~1LqUgiVl}Qj5SR2ADR?s`kv%ZNO3m zPWy^_IvGoXd1a{|?COhuGmqut-?1+l{Cgt}c=-3EQxHg&()|az_>+9}WK-f2+uP(> z(N(G$uNQ~RJu8UOi~OyP-Y17`;jP_db6;2*!qkh0n@8_` zEA&YWvH;u2R!7!aZCeRG{o2slAy2Zwkg7Qg3+ZzB3{GYt1CY^;1k~O|RpDLBo#=Mb zq*8&=mGZuhhaB34|NqEdG4^ZQULRB&*?x8~aSkXF(Y0s zAM$$rke&4jbQ=mWFZ-aj?ajm3=LCWK1BJMJA&r_=S|97dXzXmv!A4Unc3-a-pv780 zq@%X&?PAQoc;Rgy%5LLon_IiX;c#87_>*)5n=@n(k&eAa4$8>KuDQ?g_pQ*UmFp*0-!x%2H=j_TC5{wW9~5NtJk|0fq7 z{*|)y@_`D%aoCdloGFFNeR!nItXb1k6-dzasi?U$1-Jf(s`Cn_@Ysx6NIv|oT3iN_ zIQJ-eTbcEV%i$_7sT9r_pQf=TdmKX^zyd?7M|oT;(aK7G7F<(sSV4jDp;^|1taHRk zYbAFmy^b28KaSu^)r>J(=AGCYRkFI^NYFm!kUPwG{@Bbs#U3D{Liaz=V6CgOTM)8Z zCDK5Pb(~p9t`iAC+u_8koBAXIpLrihQVj7XlfGu7Nsn&U56a2>=pTV+7l;cUD0~z4 zYhsB?NgcTcE7x(Q!9vKdH7Xmde${E|7T71I7CHAH?%e-g^R@zZ9+ujh!5m-14Dtnf zaU0@L3U75rgz&8%LnTC0X)*3@{saKP6 z6n~@w(3UFK32jw)16Y(BZzyK8{z}B2y8_kEIk(A>#RP*ZU`A@fubo{Jev;k#UfUZ- z1gM@{_`FYI7QT2?Y0cuM(!$hBz(Ura2nOQVhjZ`++LA{%0Bf`va-De;moC1rv``-v zrIraG!yt@sXE@OI_Hni0C%fyI>$=4d!xV!x&{TRzN@k@BXd`Y|Px9nS00%{BEnYlf z7R0WV>F)WIO$F(5#`kR?BNlyJZf=ln*?nHV*}pE#`tlF8`zOY@e3<{Vk0k{RD9 zi8-wtt|#L=)CfIIZT&j>-<$I~>ic7^Psxg9QeJ6Zr|p@~vUvoA*2@3ls@jdo+8wQs zVq#YJ<~Pf+@^1R%j}h(c?~^k12!)U2x`frPf2TtJ&3!T5l%w}JHT?U)Z>NVboe;ym_k9~;?a&1}4n0^`&_;n?Cp-R6h%=9u6 z@p;dOCm!vP2PxiWYHSPY%}!F zMRHqEV@==l9HdVB9S!41`Br}7g|W7s&pZB3TK)+P?-@Ii|HRYT>YhJ=Ym%HNuEaz8@Yo441Gvs%K7>jWWbPo zuRdrh!tdWTCXu0?!m0(G`qngt%q7R`C06p}*SX*tQ)GH6OSFKytY&S^{>ZkrdOqJ| ze4nAhRfRR^j_}20kL1%|=nX9v)smAhNtz4>W6}~ba)N?M@}qw|cJm0?p~oIK6=Xz; zXLV)ljI42%K0!kH8!cn}%xn0u9!7Cl`hw@2be#29IvND#B^_((^T(o{GyrR4Swn1H zdP=YT11hb2IRJC$wx#NeHEal0?|6`IXZ*w(1CgqG{FqAO#vUmUdvPrM)ql$G~n>L-hv@&g9py2gy1zm8OS@mt&}CO`5x76Rv67mgK9`G&N>^8LzA}c+(W~rin}) ztMR}|;+Zf+&ceGi+(crT-a+@j>X3}W_&&W zX@G3()8-2M9&hH9XU%(^@)_TEap|AcT!s)*<%BuT*P7vWXzLFxO|Rx?+76e*4K31| z`~>Qc#;NCT%yuhzg-mPd@)kJjLLy^8Pp` ztX~i7$!kKjak0vt%)HN-bBdIn!-!)ULG3CS$}-WHR}3dw&veLTfD?UQ6O;8Vu>iYR z8&QCwDtL6S?9M+co5@y9%H9iH;0mJO+wh|8NOBr9U_A69W;K7~ zdJX3q|w+15J zhcL23sf1~7R^~UH$||q>W&45^b~MT`o{O|MXr-kH^vXKi}i!XfBcu z+ngggkcR7yjh7P|ucmR}xkW77_>30?J4qkT=>7_hSkP)2Xq_3~jg5R^ZzhnMO}xc6 z>ykmmA}g3juiL-pc4hg)W~xHZ4bW{DkU}{?dZ3H?T|ijw9F{h4n1!{|I{m`wHneWImT;aTNP<#$X=PSp7FB%}n* zswO*4RrE58`_;P_vHnwA|-^f3gf9zKy{2M+=t!IH37NB`Rt^s=x0 zowD=RGtw(N)%WXfm~0f@u}1V3^wpIts2H2z2RS{GjTSgU^m8{OIFu&rny8uNiYM)g z9jTfUzT0RaZ^iC%bN5K@8h6`4m*`p%-}PO|>uF2#`J$1_`c{#i_w|?Dum4W2T{QqJ z56(vC4<~gEc>@F4rOUi(O_z(@Y8Tl?pZPB@*X*e6K$p5S+jQB2dSb*0UXLGLVY37F z<3YW9{98UwEn!~d{;0ivxr<|48PsyFBpdAlPlTCVM7u(72gxT^*}87b+-qv z?KV?7&i1d>-SKs9Zl`kNE{w4Q+zou6Nv8I=skV_8dcn*0$k$wkOqd?)3v1)gyh5o# zX4D=yO(P@qmZ{N8nqbQ25ae;>=KIU^oZGo_n>@51nWe#cQ7#tn*6WJY=YAx|MkCT3 z&Kch+`p~@|tt5p?GQJbPZW2KOpJBR#-t`D(jjl((ol#WK=XQkt_I+Q=nTudA){B3@ z%{P8-+0Hh;FA7aHzr~?j;#>v#Fc5zD$iXuZ#EOWQdJKduETmx|gh@Uq{z3NB?|$2S z+Ux#vApXMv`3GG;q0&75!5b*am++`K5tzsR zsgEOeiO(E2zCM2SxQVbY#=*XTz4mtPrnfQpJt1It%?v*bJ1}%oYK=CuId7GQXT}s} zOn8adTQqNiIpN^LP!jj*6jaDIIrLM|dXvBt+Vn6%@%12Mt^`lUI|TaC-E6EL^aQ!b zJvBKo@pSR%SD}9cBq2DaAdQq_)-Ad8JedHa4BeAjYF4H#Q2A~{<<>x??Z*K)e#)6= zoF_Ju&3EPVO86jsuJwV4AH;ukO-l?vf%5Z-AP$SVuApGDQ&u;!o4>aufXlp$e*Oou4x*hGqn?8>>Qd`*`kH2(YeAIcIbv-GNBYp6mStsiS|b z-_G*S&vEX*(7(HJ3Qd^DJv?6MFEY>j%yTi%qx|M^knP2jAxyT=k*x35nnbS_HP9if z$)vC*CP6C^nu4eLqLV_nn}7|&Iwb#OPDD`BrY>#eGobrsy6AxF(6zN*5k2P(Y}T3N zx2B83ui_nWh%TMM*tKPgzcjjUQAxp2Hwy-w&>%-uLs!QU8P8-RF?`2=r+dl&L z%m1t~n9_C&Q>&LQ&Ffai_bjg-n##GB$lfQteE~BM?Hn?Tvrp=nG9a8`*)z`9Jy8!1uZF;X6=1Bi0(u_CxRb z72OE)@w*WUdRU&NGJ4T&G=ba6%Fd+;-=2R#H~h%n_G?aM2z`#Hj6}OAK4QapMd;8k z7bhH;TE!l3#a8dZf`ambVVBL4ncGMhj2Qh<0OIAeqTkTf%1{^5y$UUj4u6)Whk4W0 zw=1?g<2%XB*L?h%1BBN08{3c4^r2^7B-^%6xE>drickSplpj-rxuWO<8pfwANa)IV zNfkXiQv%7*bsZ(g@S=aH`|Bs$p#${fS3nw@DmIrZ1#x0eW^tN#sS{1awEP8`k)BDn z{zt;UFS4u1S@;b~MS4!dewBxG$*PNKDQ8)3gj128$xh2evd>gqPK(0gq+iHRdCnia zfLA`4&Mc&#>g2nLpL@?ZY-J^n#WJ^ z*`ceEJ)S!VM>M-;hGvm8^o)>?pW!n@ha$O05rA4!v-#c>L3Z6nm4lJ1)RlIIPNrn( zj8KKXn-(Gf#*M=#hmPdu(3zpb`Fwa|N6}0eS*l|kEEwCx`fk%jL!Qp)l8xx9zggd3 zil)}<{Mx@iEz4u`$Cg-DVZt!pa;!^N$24r7!i;UZx&vQRJ#a?dK06Ej6i!{ppLXM(%Q!G9*VJTrn&Ms> z^Q-RU@H5mO&)1Y0M%>ILY)y4LbtDxvRR7yq2uDLD#p?{lD~O>8&cP!=Up?G9YCoc_7B7#$y?$`Y_{rcm|(kY1q|zvmN*6dCmE0uR=fM zP2AOf{)wVQ*fO5M&@&Y9$&JXar0;v2si;!0W}nEOV~d7DhrdEsObT+s<)*)$vnWl* zOM|#l#a6T`!-l*{{@$#>id7^vPU;M7`lGNA7o_JHDV7 zyzHN(r2eG)yIpfm+amaRCU!0Ae96;>!Qnl}1Bk?kH9ytWu4D&`Y8k!7!zplrJ4ScJ z{=@|+Ka5z7TBAAa6h!__#t1_=r~fyAe9_|vJ1g&&XR_?dO6kik(5Jlt7|!-+-gZ19 zrAz^rV%6n*8+~v={!+fpTlQ@7s1U+)99)0A*_77be|hz0r||ov*a;E}>uo7?(DiG@ zEhK6^GrrTjX3RiO9K z&>_*ohks?xM8%E(#q`F9KOx89!&=7a|DWJP0i}x%_lz^hLMdQC7awXa`{6^bxLLF! zx$A83;e5~-?kpBXOBd>W;AEkH5(GIqYaZ=`Z%NA8PaI!;J5q>3o*Ojz7~| zf9!a3uR_=HwqNXcug(df#pjdz;{DL#mgF@h;HK?#et&3jbF#g#A6opuY3kPj(V_;e z{rvcO?x3>!d96ty?#914x>L)0;l|hQ&cltL1SjX?#(S0++_;4@7B?nU;Dqe*neqA) z7YjG8SPE{GfJ4ZABLkJN>|pUx4nOu?qJ7iym#Bxg{o%)FdX;>VxBngdc(Ye;c0T8l z^1qHBeO@yLKRN?;zYl&iu8Nx93^VCDNx1dGgm|#qpBe0Y=XPbro{X2Qsp}sr_7XA+ zLKX25OKs+;hvYZ?FD$~?xf^Kk2ZI#I{zLK%4s_*oC zMp!qAXwK6;u^Y{Ax9c+k7ilV9o}2bB+*)H*G1XeuJ}%SO&MZkO;V(UtLi zBbX1FU*Ro%3^~Y)KF4z~Uh)FiSd>w0OD#3xJd%L3C+9xeobgra4Rs9EQ9+y6m9b=w z+>;!dJUb@prZ86;!PAFRapqUwTEP5iuo>S2Bw!E7nxFz7!d~wplsjNq7(3uf)8Tmx zDAb*%P7O#NqwX~yd0frk@`iG5^SUrYlq}tdvo7m0DgXoS-<*Fe%Q3|#d=jpO*=*%* z4SD=k&xv2TCmDygz%WZgxM{{K*2Rlm=g01s{ppwf?d4X+81b`o81esH?hJez&vn-X zh+v7<^C~3Z^=lw})TjRBPq5&ro3Wo8h^(RO|_cAHxM zaE;aXay|PP&Oo6Vzggx>ZWFxX)k8dW9MHQ#2pC}&8k2%XqIDRajPYO+>dNzAaw|)^ zC6I+g-k#wt<7>~Qb?Y9AoDv?@DpEauogJU2GQJ~o+3KsbgXrtY zOXN*d_N=!#&#$`h6KcHA5yMkH=b|l4DM?quPlL38)c|m^nBuLriOrh493@XoS*rXK zZYc*06Vu9*HHOxi0=Yi?VSh)l<%8g8k2&gOXV&-NuB5X}Z=>7mI?K^X!)$>XtimC2 zQEVGql8LEb2 zf2-{KqQ&~~*hc!-*s*A-dC1qFnKGUde>BOaggFZeI;LEr!@pz7Z2LnvQcj3P zEBIT~zDRz(#hCFnqB~!^lb50J?Vf7+^!}=4Wr*tDNYk5~em!1_%1DNyFXczqKe!-9 z%h**@MrMUt7kTK|%K{7!Hy8;^$vK!f@kGcYe`3vYy~WSGehNzvKW#QY9YzhB4#Im| zp==tE-lzTrW54dy2Qk4k>O{&-%y3%?$m!#!sev__)OhD=I+S@pfRK4MVzl-PLuqcM z^e29Iu{zFK(6+VQA6Z`%l~%>`p<~it%H5|jzNgQD*nh;2V@H4Fu_6{R)=3a$>88Vs z)t=uqY?XS2N!Vtdn~qM&SG2dElYh8dK4F~b%Ot{1jlN*Ry}}0dH-D&ZIJa@Z&X!lm z(S?;H5b?Smu6ttCNpP-~e~jtS+%pMqRGERX1CF0C$~0UM`eZz+DF_s{!!Qc9q;4~} z_pNpnPGQ{c>}F7GN*D#-XYp)gmK(pfe5vyxd(Dk)w!x)CYhkqj1y&(FZXS)MdVDfs z?5I&rwwRRDCZQZ5Q}Y0!Z?er%^{~VrvvHZ^nfNbaTS}ybYp$=^MvN|xlUk8dvkuMs+qQ8RkNAe%~w0~M> z{lGIlP~Gq>M|U6+fKTf$j!n-6cFXQpgP-<8f5wm>$8W%`!Gcy8%2tk0QjMO~6_A%M znJF!*<+EtOSs9+qk3bsbAAos?(!6ObLB(`{D- z58!vWIaEhbnjK2sG;Q~|IsrH3d=A?H==({GNQ(W1&mv`8MMa$)xe#XSo2~)yS&1{h zH%V=L>ihhpEAc1L)gY4TIfJV)+{pX`VsjZzV>qQKueiz8-AyO^azruCK-`;%(KJV}8DXSBB0?@&)yC5yQ;>P8u61`djT8gRT{VJ^(zb4b>Z zZ#n#8&!fKdSa`wCf~L=NG_4|f3jJwKK0`m~yCLASv$~_uT}_AdT!#>rPQ5HB7h zD9&C#Tq<4=)AUmVK2GE&op{jksT=hWSvTF{L?f8W>U$e`p&K-<+=T4Q-Uu}DP}V&z6PXcwY&W6ECco3T&CFZY9vd(b{X=u z%QP)qs{!;OUynMQdA3{_s3D);;#11=HZ>ok$m1_h-r&xFncUCNWhVD%=-;!l6|gfs zTK92MH4Kry$ed|H^n5RRH`gsg@0!U;UO0n^QH$}K0Xrd`H#0q|x8HpwuYSnAj7VH_ z;qjM-5Y|?CJ%#e)Mpx-}Q4}xw?Jj7~5^T=O!6qWjSOeW5?r$YBc%x0-mPC@uu1d@Y z652-_{F*+c*Zn5rTYF}9UN&cZ59uw^&g!%Mk*~8O{$yZt?hpL&OMB7@Gi}_H#RH31Wqh@{4rpO!S@Z^NUqy!I&`n`^ zYTWhlCPA<}D_0*pJFN(HzBMsBC}!|=-ppdSn6uw{^r=r5e|K-?E&10jFiXDKKS7A< zvQD<$#t=v`ORuVb8Q{P79?_+Y^;=2Gth_mNwyY8Pe_igCM z3E8P(y&uL9VoxSVYviVQ`XBwy3*t3zYA5ISZ$-&|oV11sJ{3y%L zeVn&|;63wL(=){9=n2HnI^gd1nxh7@2Y~?Gw#_U%93a=WZL7L_oCwX<1cUd*Z zOnYr9R6V%&+Fior+SBsz&@{{--;(4{QB6}FReAWz8pUvV)U0xWu$a~RVz&DQ<}r8L z`Si*gf8%-3hCC(PA6Mg`y?##t{JT*%GHYlV)ULV-2uqe6p?ejLp%aqyexPtjMlrOIT9PtDz3W^Y?ui`=pEwDBD_~NV)+>WDKkN+OT$nj2^tMt? z^jEGW{BYj4RVkcXux~oC%*@qzWa?;A$F@q>BAe>8Ai?HnUyqglS`62MMB_oR#cBB- z%P+S{m*TTw_~71tlit-QIM|tc4SpL27yjb9EA@;2hOg>(-_p4kLjeJ9C6_K{my1t> ze$-El;Nki22{dPPC+~b4*~ZCkxl?oHX4`W2dF5tPPJWZV0~=W#x}Iy`lrs4zgX)@w z34}kkF<9A++ktss3|7DAwCtqgf!H&X+l#+&62j(S?7Fgs$`69ouRFKNjG>`$r!?-Y zALjo^>H>@1)peGY(!5SkpGSlR6IT{C6cUsR|wZXVcC0HLDyR2_-HZb3I@ z$lE9(b-f_5(iZ+MR%GxxtAX^CpW*vmx&QGlx!WUeEH41 z);#YhD4CfU=O=zrOliAqOc1S{n*>8W?wG8;19v; z=zx4FJfHm2943PIOIS>He0q@efzQ;<;wCN`;vKKiPV6$#)EsS>b+^~|2(NX)2b6{U zW%q&~%Idq=kKLY&8mnMtDcsd&iSQD!Aw?In^rGnLtdbc_Qe*5n8u|wt%CC!Sm_2W1 z@+Rz^)gbE=5FvZs&+1Lz$^8k(f*iYFJDAvHfG`U+sg!GF87v>?`jgmjHmV3JGP(QQ zGUyt>6U-YE59N1mU4sD z8?K)mc%Y!r{tG;a0}}Hu5T95Uh|er5ZNSlS<-WiWApbdkEHQWF!~DY zQ*OdkaowgsY(t>(>88;QiKFr5vcB<7+8b8Tgul18hUyLI+hI)0VIch1#jS)zUWjis?@PBalK~h!E3-m9JZ7PMA_uk&o4M8h3UB7@_6Sk;Jocc+`yLMPXTa~>?KBWs&}m4CBfXj|DRFq8s@(ko zkr3c6>5mT~*nMrq#7t8mT5fF>kkh;PV!!A6sY``0biUuO!5>eI28&!c-)G~FZ1rH0 zpQv<(^*!IS^g@<2745PD`=~tHMKY_>kivLWU6y+O-7Epq*oPj`m<8m$>6c~h2hcBl z^*t8DK=vpK7_;4I(MgwsAF&RD_|oH!5AYz2mT981a^X_O5sd#u%xeYESkhM7wm31L z4;1aESpTS85peZy84RbpH>=XKti~XtNuOapULEP1Eqio$`S}}+X%6zSS zr#4QGOuV@ul%ARxes)7*+;9ljqJW5_)yBQ(^_U6Zk)+rCj!$mBy6DWNPXscL!i(A$ zdOLjw1+x5-hD3c~L-k%K^75&gD9(Xx$%=37B~sH{%m z%`eqkVP`OwFtZeks!|*Rsy1>GYo?nT6rY+h%ScT=cdMW)s(Q4uc~mlw#GsXUEINx% zPis1e(^6BL+e`1LiA4y37{^F;; z!dG!qsnz**TF%g^7hiJ;g)+X-N$z%M?lQh>cuO5gK42ro3;jcjQjUc`JyaDX1P#Qg zJCU!@VWA2frEFHu;t@$&{PCaNsh?08ll|9XUx+#qQqD_&zC+w5bH<>mBjnp$>x3;h=13VkH-%3Cm3ICN=90HLTeRJ zEx*$Xr?MM*^(PR2cotA(+*DmSnTL!%xL=BJxKVAKaKFYo?|HKi&D14^@ANmfS^Xq7 z(YC=(iwG|CYE6HG@#;XrbUBb|4OXuWy-k1$4n=5Dh6H{R?<#D^a=@Qpe3eSN6>{kH zgdQII0-~|5Z4XO^g{FXkIs4BWioC1ZsUk@fWVW6xWY}Io8%la^$tI zWi(*a5XVo34b&6=btfg<11w=T84hE+l2^^;2DC;A*pU2N4-*IG* zDQ$>fJqE>%w_IG+biBf7UWM{3vlseQ>Sm@F{A{MeSvZcBNWD!b3?0bMv0F}x3ur-V zD@t$j#Fvm1;gWmI=*4D-sfmh)c+;3F;v1YUE~rnpm_cd;>Wy}WrcR)p2f?7|r0oO} zjpN&{$pUwumD5ITuktl)5D{zOzY8ea;k% zCRKfWNw@h)^zhRjt>Q1BkH$-w`SQo_=rn-Iy4``s?4* zmN++l$0h@tBD6X~$zUbd#kB;D-96Y@80AY(pW7CvZd2U-`v3lwv#BSv(7C_a;4Aca zI1V&)VrXj6`~&35m7-`Mi6zPmCd`Z^JLhOJjL+<)BtyTK;bi$v9u?YdBYzsY_%oxM zKbIA7DBT?~CV0{k3>qF1OSfv(8Ajf{|{8BfSQSafur&En{l@s&eGHILRpDO&(AbgSt!!6v9t# z8C9!6r@}U0VLMZCx9M_aJ#h;gx}3@x-A<*Z>ze3v3Nu~xuqL9jcxDHdr>j^H)uJWh z$1ahn&|4x>y(K#Sn(Pv(0;j?(k*${{qLGF!{>*@6aF(3-Mx+_&~lTFLv zHC3b*hHBXFPRqK}h1NXH{8n-Tna3rX=gHq;mP>ui_%@x8J)^mvJ*Ky~9m&qk2H!g2 zKj2ov#fl&fbpez-UOkDg(DY)XpuW$8+3;&^Zrrc1i8T%If4%D2*}>SW6jcfCfusuo zqTh9%R|J$vycWG}dd&*$QJ=RIfYWjUoj~s+SGJ2dK)iv_hml36H7Tru6omopsKyNO zV$BgO#R06j-q6Eq!gK>P^cB*KdU`VaHG}G1%EM_Hb2h3O1=DLU^os_^K+jv@m?8AC zG+7S$l~E;yG{EGf>!^)zP;^2Qsx;taGf7=aYOhb4PENO-gwFTKw0a?8b3n^l312aM zX(*ajKEwAdYQ>~LVo4nr+9{A&sXbNi-2W$SzQ9#4p=;8?Tybu_pt#&qD(d3Xs$?6b z;X`Gq#<(FnGrpU~Fx#09Ns&Jzg$bNHw~vQI-wE@n>F=qz6KE>-PF7wSh`d8=x|g8V z8sdN3Ck&dpSuM4_UeXZ%##yC-_|0drEe!2uoe8EL`8&2L=`(oF_`a$(#R5P%RPzEK zTq#D=XLQC_lb5Zo5(kD9`Ka|LN-n=y-{vOeRE+8T@e4}vnOr;%y`+*inz*NaHeTd( zuAX`J%$Y>SzN_`<0_X3o(N=$A#6#p#=u!RPbQ5}89Uy8((k49cr62Ks1fxg(_-?_zU{wj;j%#R0P^EI2ynUh+K{1cW^a^hD6c3k>~PE=_udAYrsaj4o) zKciCi`WIUf>#vmA52zLScSXaAFm-U*qT(nsXhpLMR6 zj#9VQ9N0Em|G>f!d=fri-}1r@FW1L5<2m;j(#|iG8^zl2hp${Wnb$8BS=WiL;yUpk z#>H$6sR2bHDdr3OE_NMeeJ{$n;`8-GuvLDnwi#Ce1qIjtAiY>OZpsX*AF{C?pD7`2 z`$*d%Bn_`0@`zi|xlO(oQL$UsR2CSX^O0v|l~Z0To%WA|ap9vt#)1LXAB-3^6n8-{EN9Q$5i=hF?*4a6fcx-iIH z%>KA;UAnRFaQbe}M0QkT7**v&|B$42#{H4IW=ro9h)wv$IuxSpoL)J>-QC+ zGM65yePRyY*z->F1V=0*b6Umj-K_6A%x+_5Ju=DMb3EpTYi!A#zAlF2xZ2pi8>2fy zN2kYPo&NdxCg{i-;Rl=1bR_&{8Xda>rqSNxLMMgaFLXai1*-QrEjsSFe2p3dn7@Hb z*ZGqInRRaIrl+|kKM~nAAv6Tj2m)@CUaC86(epbK1*=N$r=#0@!@k`@K+)x}bH zBW1JIjbV4m-|XI3uB+qy>M>?>;3R;}^JsW?_uK~BzHrPTfylaII05J>m9}yE%DAt(@#b+O`g_9r8r>yF z4^lC+-3%A#o90cX22L2BGPDiX`5*FN6w7kFt6)s^x{N8R7dEy44A~$kOg{WW1)Z70 zV*x&aS21pb@%;(k3^>@yJGY4wwO}(0;x3l76^wuoB>DW+6cbO{X_>|fp#OeUe)l%; zmO9OF2Vk5ipO}}1c!Z(*GhKyE4&k7=QpZlyRGQT#T+MBC*p^1{}tBmYz zv)8%Ah}$?#khLwB$U{fOmH1{${fcJXZly!1>VIc4O;`F8`4x5JE=t5juA)!dimvo3 z`m`##R23ygoEvkU^_uXU$@iZktA?zJ2wI1nqRvk&>}d@;z@g=(d&l$k{4J z3^~A;#BKwo!}TpYLPr4R-@aBO5RD_)PyXT+K@iGuIe-`alKiG7P(m2)TCa|FSJqfe zy~JA@yz12jIxE_A#3;^;dwe6qt8p?Zc`9IX=YZqv=U`=U1Sz2eDa${Cx@{RU#odsc*+XC5(tIKRTp~${}i9dS%BV$SQZG3a);pL=x(Tf)QMi9`h0hhV=O>l zs{#!bzGYeqR6j}xO$9OW+do(FGI1jm!DHPgS>pILT4I9-+*Mxvl2$pN&LrRL zE56@zC5?C(nC1T9i2UV#TW`doQTO62#ChYYIZJPrMOqL#A$@kncPmf<>E8BQxj*t` zk(bwWj{iZXQ2)Z%murj}-w$*3!{Gmp-V9`zLe-BriA~zzx`60kn57KOjdi<<=(GKh ze;`9)81(1#sP*Jgis%M29X#TCTJG3<#a@51$a%MqKK+kj`cvuC4F50-&xbRl|66$e z5-{w+^P{73@Vu2F3ZAFYgWmAmL5_jv>44h*44%jJXdU(k&(MFZf|}S0ag!hlH}aDT zvUUd2t3OX(4$_k-qVzL+=hfCTF1 zlBe!^92UzsbwM6bE~Vq4>hu>gzNmnutqZvCM7zN7TJwMx2A`_w{b3U!&{x>aa2r68 z>q4{MxSi?~W4dfNK&O-V71-KuR43e|5FYarV(fz67SkD*GDx2E-aa-(ei9fV_D$;b z=810#lJ}#<#d(}ZD}=wJCSr*nQ<;k^7^i4wgbMc|sa;XQm;EXBEBUN1#jYvTKQ@st zhI<+aYv`ZrzAHl{7mk70zZ&bK+e4M6Y$Gz{{x#1iU&MiZDHTNPY*MB9=hiPF)2aZoJdd?^HM?N50qc z`t82dd(c^V5m)2(1JLegQ)~JQl*`fXUJsoXOn5WK28R5;#QPxf4oJM$$KK2l?=Opr z9L#6^Y4*TFb}@1^yM`>vKuSEbA#;QAD?XZLH>+%Dc700xqcRtk4b8rSH-&-|%|4Pv zF*LglX!M(?*A;##{`P@r_F>rQ4otJ(0~a&-;>NRnd7^^uh5Pp-=kN@^8<7+AUHF=jZ+aF5Jp7CI63%hFAA z#-uLXIDJ9F%u2C-ttYAA+W#5E) zscpP@^MvKPJupyPB%wT%8Cf=uB)1o+YrjfutIUTkrCy5SP?@&&j_7=R*wk9kxU zmh#Qq6a1@Y7R)4y6AquMxqr_Qz9Q-DT+(GEdHjY0@eO*@q@o-|k-m_lNsmY$Z_aNg zqF^Q7!9B9}AxnrZFobAzqMv!Ap?x&Cc$dmgr3a8HD zPk&0(V*lOA8@mMomd9!@ivWqbnL3&8SiP6}O#XTiF2 zc8|>@{C|(^I`;Z6iT=C`K)ihT?f$||nXTjp&)E}MUmn@@wa`fOwhyViNoZ>NTqDlN zLdTg(_Cz|%BR$^=jWTchBCQYo?iH9Fiu8<^x-3J^1accqCo;Zshih|qJh?jFYFgNV z26)_iKWtBM59g4^s((D{WA{kX!suTww_U49l#0n)7x-%n!u?UP_KfdX(qnD0ZbciofW~83cYfeRrNavSN~QsXIjj-E23!DK z$Cacj7<m}Es}HJq-0@1T}++Ir`nxP%iVkn zHrPyRG!N*_#g?%u z4^2W;Y2d);GJaAMN9Z}!)nV9G^pZDMLBp!d*(m`FuhLgBgUaFVS{!c3XFpuoBio}2 z)QjZ7aI2C}vVKA`pi(^h6kpG$`1Z2ow!1aL4=z`8t4cw^s|zUT)OQYx|B<9vqC&4L zBY)FNbPu5BB6p|d$0RWXNlK}%oN^+Th3~V(@`0{Qh9mYAz4bza?MS`HTL6c13y&$M zUR=0|@$(xsg{ItbbpR_1f*8(DniG}cZPxqQVmLafV~(S~HST_%Lv{LxG%IF!PT-9R zH;s3iw;xWazpK>Pr?JzH8TC7tSCd+Uybil9ty+$dH?y7<0$e$aE@j!AZgMbjPZagIFKr1@mq&bAj70Cpvxr z%p{Y5_mVH9DCUyna+8mSPF*aCz{**9L7@>>!B9Vy4qR1a0)74K?Ajs!R6N8Jot0A| z$R8<2RAnSpFw?ifOivkxIpIelj}#%D8nTi2E<_89JaPzvsoEiry6p1nhe8Mu?MVuy zwF%}Erg?Jci2gitZV1#s;na@|320d>w#O`@T}v@!uf+tk7ZUiixMwkUzehKlwf9$$ zB0z?0LPNw{$S~X%B3o=u<<)>I_CvL74(*nmpJt&u3NGhptKW!}oeHhafSKOJr`l%} z7CfwH0Zih=r+M`!PWv-I!9-|d+5vbb&Nq%W7If9eUN5^F?)sJtZc;Okc%S?^^#Gp`0u-qS`IFsSQ|6WHbZffFy*0g#%%ejx z4?nAD7s-`)yly2PyCv~>uC|#4r>R9EdeWzw6>}vXPq_^`(KD3iH|r;H$5YvlPA8)_ z!KI^@xZ`yz?s&?IJN5w08mbe0pT#rw2;Fvr9PMA7+aO!nAjI2TmD?Y!&RuQXLib># zy@jbP9;&U;=WI333w9?z`MOrKesk(h10M^zT$&IJD$N~NpzO+$L`Lg;NgiV1el*XG z9mVsHlhTFzq5pv{hQ`0MIW(3ER*v1k7TK()MDcXVo5r?s`zSdZ3=>S8IsHO@s@I|i z0M3WfR>AitJJ$@a)!z$i%k(p|wp>5osI6*rLYw*D+32Jn7ccg2=vz*J(B_c!dA{ewNfUcGqST`Juu}=%b zJ9XX8lC?-=Hv-4v<_nIQDEW!TL5yolM;hr3r3ijd?XYAD{Pt<9{4EhqPe)j**M?Yd4)<@3gOWJO0`i-2g&k9p0Vy1_qd2St*>*TE7;I#Zm z+rwFT7$U&6^)0QEzqi%e&GKb7%d1ETd#wC@5}W1KK@u9)57|uI!|u6~zkiYKvKIOK zR^;yz5q42Ru@BeQ57|(U^Y`YSocw()HEc!x{(OC`)0MxkMgG1O`Fp2ZFkk+T;m=6! zzbutGq~K`RX0W-nD(JH3dc?WyuZ&Gj6%)lrotqdQ(n@KlaU)fewCt+CFiFHMCu*S< z*}LXa@lSFUVTXy3J>efeQ@Zu+@UB;`JB=4J9p(@q+Hp_!+>qA)A^pEk(&;amsoNFjrv1>o^J` zgBjEH3EXdv^O)hAqx_}AnPj_9&@5DL^5}XHd1TFeJ}_1)P1I{djpgWiTzz4${|b`0JNfqu)qQgpm#X6p>;sFs9v$D1m^dhqU4lXG5(LZ=oSkb{ zOAxS2Kpso*nLc@K|0-!Hd^?~}^N|1^@$i4wyF}`n%rB$YtXbEx+KTvp*yB!-8QU{@ zi?1ea7_yrpK7QMjIyrFv6SSz}~k*>V2F7mM)eF77Z!1T?h*+vcWFH4BZ!2XdJzfn=#NcZ#bN4ecPdV+1+_o|USPn{a{8t0 zS9X}{uub$OLT*w02|TvNtXhTT35Xskr>a{y1<1ZcS(Fr~!<9H?hdr2m0Bj?@Djs06Q$2V;I@GY5{ zC}s|I)tR=XKT#WLZDusbIt$^r*}i|!yYKT$7;yTk0V#t2y#e6ICp!Q&)x5Q!=NL4A zcIj^8v|P?8=;p1?Z89DrM)F3y_YZ{$s5e8ae6=>x_ArS@It!(41l#f)w5BTS$FFUI z4Bj=YK`MA}@*0xDX}J?Aq7*_TRx65KB!LOA6>OT|sZV90x$I@8#RIXr`9*+pqyw>< zfwB7v?Y#&wetKw!k$5wCs1jh%br``-j?UBfs*Anfh$^!pxu@7e@EAUDTJRHUwY!{^ zTUuV2KMdV2yZ>qad>D_@nL#IW67nzuxnx59f02`#+nKyK^hiZ%RD0ZE<$$DQMnc;>^Fwxt+(_ zf(L5!O5mS?%3RhK4ue+e&0}_Wywof!G-6FDJhooT$y`~8|LD~Kb+rl@%J}Axk~)k` z)<`s%dn@2O!z<~<;|m{6l)Pa4rW${Isvq0lJhem^edfGPocT_zPU+pbL*xM#$9Smt z|J@;iP2hZnOw>$^wj9*8TV8M$AIB?Dn_9tDK06Vx$g?B`e5Nx1B13$|Fzm2Wx{oH+ z3^A4xA>HV_1Lwe69lIBIrl{aPjAXl=_!Cnv ziQIGvKHRKrIv!jiH_aXtOw5}NaRsmPk@>h9iQEV_!+|IEQ(F56b^u|?u4%G5C*FfM zJ!RhX09l&t)S>34uw)rOe5nq=!+8MJzD)9$_T&HP|1le1AD|cdzJXCw(>mQsV@nEb zP3k|UnGbxRn!ZF$nA9(WFS=C2^LjJd>kU2}f0Ru_vy%5ml_LNi&X-&b{;$P{YmN%7V5XwkJg_Gh;g@P+yT^OC;BUTBpamY z&v-!a9a*C(B7?(EbX;xtp)t#N1i*iZ=_bS=U&jZJjl>E_e$$X!yALF!4 zUknoFGK(Gc!^N3m4b(sQOXb+XLhfExwMyx|dK$fm)$=;mA{{@3QR+vwdr=I+GWp$V zI()|_XXX0H)QiQ&Q3kh$X$vOT5_cj9%l>hUYI>ydvcC1P&a z)VKc|qVCI!ysyo*J8Zvfr5bzj)cj<8U-Jr?i|3`h>26HhelH_?Vw|NE%w3kW*0uCF zEumMS$}eL+GQJnzA;**NFmcpOSV4bBtx;lN#~lt)u5shx`rW)Omp$t6lV%i{Grp9n ziWoY_8=$=0B`R19>>+Kg!B{4Fyh;8W$zVRBxVpz)@9Q!|O1xy&b`O&}(XD(nwsld- zIMOB-f!}psc3KwkH-Gx;-%_uwWt^S<2}-eMk`-R2ncd^`7FpAGb`S9inc3a@W_EVv zXUMBsaF+3Pky0DRQ7kj82wgo+^zfH~c;CZbQHZ;YZ#8eJ-7iUA+##9DkVjnd_coD& zuKpKB^Y0omwCxao$66{uIzD-mzwM18e<2q0yGtx;LyWy`YGT|N?$K>;oYhn&QV5~Y z9rw`0XLJN&LbmI(d@RTxMM7f?>vL3$@}wYt2LRY+mm%$ta#URmH-M6g;&>JT*_RP{ zywx;8VzM{=6Yxm*0)}S|T+HG1`8$Yu4q4$$Y7Mj{izE*7$9g0V3shn!E?L+U>Dq?s zolT?I^`GD}xvjos`}{9*Ktt@^2lWPyf0fo<3CwoX1^DO5zCwr{zNL|8>1#_X$DY?1 zw>?R(B{n#hB6YE?_KI>23{6>)?17`njpa&Lpt2nf@H$;l#?g_BEjo84D%-6@Wt$`_ z&!j(XFrX_$d7R5aDYcu0lJMm5+Gd!Aa5e{%BWDG*i64$(=?mK47}~tS%D%Q+0m|dL zu+S|kO|3JG8!_TT$QJhvo_7R)3F6=?8JV+nURCW{Sx5*O_WByK?#u*)Sll2ua_;GB)6oe*&9 z_NB+Wg()~3X~dM_Xb&YW+MV~!o_d|x<_i?4OB)pqhnC#)3>>YtQtP*7G9P(wd&wx& zb7CHEE)OFT7oeL~AShkHDFfNugv`vtB~J8F2!YfKq6U1E(~QMKOs++^OR!pVg#Wxz zV@9Z#7;*jS=3MLM$8bhpSxN&((?G_z=Z#*~Oc#Fhj1gS&x1`+EWHex??6Vh}%BJ!I zGg?$q^1G_&8b2+r};?J<+&9v!Bq3y{T*`D}S z;jdL;V#M~(o5nts&HN8#F1DE+HnSj`c_^9bZ$r>81~M3mr?_n9{{djOAbB4YV|pq8 zSV|FY2`cHTH@mC!UNWIFpEaxbz$krmvl5PQryR;}5Enh+&^K95XV}94LqV#I`z!ic z*58<%RL`h&Jvd`l@cS@D4ZcaRfd;N8-~RI;`fKFHEQlx&YxxD&*1pM~ z{_P)fWcVK1o|~#=6wLVkqLhJ_ao|p6{p%Qia349o&FaX0`?Gtu`t$jI{Wczbl~~JowY>XMC5D;>!O9p2h>Or_0%z7o={NsJ~y&c|`p?+j8w% zs`6i?4BTKJ{rm&AA6{dmmpIMJ8|W>04cdV=?YF^!yW#nRJ7D`XtE0_cFm!xnd<9Hn~Pl=PF=O%xay$>+e+k=0i{i22C#wz#7!zo*^2 z?Wg*z|GR^zzu$b{*{hY?_uI-r&Uaq_Pw!Q86>s)TC>(egz5I{v_dLj}|Jhga=Vv2t z)`7r&rs-qXe_gNo=kPXg$8-912Q&X71}(f_!c)dq)~l7FW)%54vioV%+Or+_{LGuL z-@KeZUrTx0Pu&L(PZ{6&UZvS<|2azOM^x;mDTA;MzCG|o*x(EB@pCV^!^yV%1S!20 zjQ7*($H7m1*K3y7tic~&=563c4r;%I*T`2%L6ZobzKC!qSGpXcdRK1;e}I3CqIvea z2ZUdORtnG2TQRBf6%qoydOMjnJTo+*9wU`#oo!`&kc813#&_P#Hl$cW~?37f~&JE`Pi~ z)!V_(^T!=;c+HQP$pWJPh){eYfmZW?7uA7N59)s0cfYnin?Jq>c>CX+Pxp>;!HRwR z8Hr}-W8fQ2%gQ_8Y}Oml$32XkKuuTf(rnw{}8P>{3yEr+8wa4+_gdQ8nhoR6N9 z@1alculA3*|E;OqJO(jvw?5|n0F^`f<(WFKXK@Cu8Q=f;@mKxLZ(2s_AIF60jXyq8 zv2IQd#)(a(m{cA0og_0wNLH*o3s$pv@8-S7utU?uW7i{Jk2UCj7jgm!-v!7(PWz8d z5^S9Ld477$PoiO&G>tE;Q1%te~0ttE*DNZF4`8YQ0lS&byPlECJ#qwIGtP~HwHS*uD z24bB7xjDcho25#$niVpE(~+o0H=5TaUHss*x5gP6)f%EbUW%hQzhSR9Ln2OGe{Gz&M)nLtORAI{Cn9MhGAy}D zm-7C!#JGxpUDaUqtIi@hZ?;``daIZyoiC0oL0u4K~C9V zd@O6CQhWImh!15}OW&{6j0EhAoLiwOLI1>^j^=lf2{t-&THkK;JGZpsL>!~R_=@rB zT6~3B7^$F-4iNYzd6r%>3NM~eN+sGNYSXM#K$U7JFgR+2T-yd5n zlOlg?v_Ce#lztA9K1OQG2=(JJM5rZBq@8kB6pn&VY8!8XL{v5UuX=2}zp$+#_IjXl zXTwz;<1yw)4!TtZ@F;V7}e@vE9>9+4}ak!jj>;t{c_d1@qzdqC3gOaQ%1u$8#k6MJls*D)#BlY zC0Z}sjn|l;eAq&c7--vGGBqANo-QP2)4rY&NGE3TOiYL2s4my==tTZ9T*5^DorAVw zR0zN+V`9x#%z_>>s?okC093rGeH!do8c3hbM;2q9vtNvLak&a{H6mYSdFo%*pZ-Mh8+SikXuGxk~h7%a4xJ!70S3$&m` z1#JznH{>>jr@Z@55UVp%fT;?8Sk>=uWOV~E;?}RQJ#kyJZC99{pee9S;}|);+!^V| z&pjglT~72*D9jQ6U@buMOS5UrA#=CZ4!`YX{5T6YOXmi4o&SfqH;<31Iv@WtBm-dy zcTfi7RtF6=sT&Ad!lD_-z#W`XT%y#9(kc{p3NwHUnlOoS9j~PptX*uetu3`%Y*hk^ zBm@!`mjG2zTMgFbj)OL63kfRodq3yinM^`J?C1N(j~AJH?^&O7&U2pgJkNQ~b7b+Q zhQhd3~1JwcQ9%Y-casZ>1UY_ z&|v17?9ppPI_;x9zf$dqGoKi9ftOXI7oSIdOhm5d|MC6?&z=3P3 zF$(1vbk$j5bCOG%s>SZ-Sd==+QzOG(Uea1#irK;ogz70prFApDi|)m2{~f(*y*P&8 zXlkxCeW94K;lp3L%9aPYL=7w57SMayi;^W|{7S}dmhpgKYN&MYJU1!kb49&F8&s8P zz&&O4nn!QZJX2eRnlV0Yj1z6o;j^|<^*a;9X8pACH=LHxYl3vTc_%E<`q4q-zaeu} zuEP}tOI{5dpK15OQII002J7Zm)anXT%(@yj-nRa*Kzi7o%^rI;d(>=(=5$?JTWF0i zR`5Aerwk$8GEz*}xZy%~aT?d6bKKT6ilmh?U#A#(BYBlMJH;p;DU?Vk0Vf{HM>1&3 zK9imzf!&A!jay=>ai`=<$Gy5m;2kpKv zeqv+IYQY+2^k)KrZikvzxn>zZOh-sZWg>cIMYLr{zTUOv)IX)2IGqbayfFRx|R$7-oW%ts0XVZ z_f`s`$b~!hGE(ym?17RejM%5hy_!d%_+x6a+L=HVd;Q3!=-Qy=I+bXH%+cymQ!Eb~ zsgN-Q#aR%1JRoC20Kx`GwjUF~L~c^yYb({)6HCQf??J zBEeFS6YTFKBN8KIq%$T>Mpu>`yJ|Z*?1($qT z)1@XM>Rq)Fjy#4wqY&J%D-yi2wt%LI`$?Y__AFt^`D771q8y=o5F%z~|_VRhL= zHOb4f0A4J4CcxFIJZ8bnB2ul8RA(KopnViXN1R5=HN&M{KP0)WP0!*dd(s~lJNAG~ zBdN|>5)pIG1-v5F**DK#<98ev9x;Dxt+Y+)aDTp5+G?8;N=sAThb6=`g_K!er-r46 zlzlk;c^bZycT!fV0&2=Tj*vr3I`aNVx;#3k$NislJgRA_Bqw@y8t&WX!G~wH^4aIR zxAKpK{IBq2mwe43C0`~XPXE0x=dZn^v(l8Q-Z;DG+K+bpV{3;?dqoHTkLNmDHd>Xv zT|)4?MgnUV^&i^GFB`w?_T8OTzKtJqRr%qmR^P)EUP;a1)S>&!nelRZXCYMNQ0Oob zD?f7nl=uBLovpTe^dE%uP}ULmr!w%w)(T^(`t!l8l8aS;E|w6}Tp{ye2)6(nTFX)N zr$z3Z=m>gNjhtv4DO`>kotUmr?e=)>%IZmN{hmv&?dgp(r*6~xi1VRxtxXePhN&d_ zH9a<(w(0RXXf*%0+UYq}-Ea9iv^}Ep?xOFG?U^RGR!>Fq@7%u|M$^wF-CWN7a>)FP za5%_j>x9b=-@Jcxuz3S`pOWKHrD3k!3&g`&*LH>5;uUjJ-YqOPoOPEAyH1r0yUyZj z+R@y6t1j%?kPL>6&$H)4Ea{qi=9KvJ9|-+UJ|KGwa>(LZn59|hDSOjJ)4Hrxb<*YB z(z%oUJL%PiR-f$+Tke>b3(4@~WV(M7gi;uCD@Vbf?G#DB{Cqr> zqd~aIFSU{HRX2bjmiguY$Ve=jwt2|LGU>VO0=aD=&W6zuN zUiORtZ*vlYft-URBnv$4{^_8&ZoJLy$I?XQE9Y?}E%1pU44ap@AR>PeY(R=*;C&>D z%$gE^I%#9bOPqh*#WnA(c;~h_CkG9ZdAta40{LWpK{{drl1XZP>;SkhU8FdeWiU!+ z0(aB*38osgRX>t+jAkW)$%wt)IH9xT64sl^7mEMLMvCbxsBtBfPmq#ai|VMYK4esE z;@JW+E9viI^CVEXF^F># zZ}tlTOSU`li<9e2ay`B**Pi6dJ)~lq=SoIqd9L&^lRQ_dK(^0O54C@TK;J5`nu94u z&GxXdC%FIbVb_1c>@QdgXG%TIqmjEM9UD$<>S32LsJgeRV$g%VRTYDl^_D7NIt2pV zc(At(&{~Pr%^yo*@J^+nP=N340FQtnT`ZeG)}9*#Yb>S5p?MG({zADPl+CL0ERdlx zh;>Sue3@KGg;E8isT;h5^4OOO_4e3esB3S)XczSr@{B-c-AUfCxyXe(xFi6{Xd+qi zx?UtEwn%d2#Mdp7s`Mb!t(Z*OeJ{`x+8hH5F9Q|i-|3A6F{cP@%+`03!^}}d_8f_(mqaUi0tP*OYnF@u5q_sUn zWb22frsX=x(Iz<^jndTIbPl}5p`VOCGApIDU39(=Ah|}Kd)(A)r6UE?w8c|7h=Qg} z#)iwW^)poe21RkonLCE`J^>VEzYHn8XNg>{B9=;o(x0Auy`(UuymDi6c}XJG!03wP zTf)gUvDYvsa1~eeYmy^q)T;jS8%tHA(X&W@g^bOil7w`Xws2r~OlL_>{7LqU(H_;T zkn?YB%FyH{j>G+s&oye_pkzJte3$jc*I8Ze>KeMj$~%Y9nUd8kXdj{^zvGWfOSC`! zp3qQYCfPCf@>p{h7-&5vF@?mOX~)dW#Kefv`X7=1100WaBE|H~+9|fA;>xS^*dCv- zbv~FlJyxn%MA`H<{vzlFAy=oSWAY`N-oioNQ=IbN)Ft``I~oSlr^n})rMwq)Mz_I} z`L4Tmx}F*~o=|~CJ{tvqN?ZUft5>fIp307Mv}Nn<(EOH0_|Ge^yy|i+QI^tM;_GCrVDDC1Pgcly zPTxi5R^ffb3*SRjX0$uE`rN3SlZ7{I)8p#d&XfCmuw=0>^TE|exLvLwTSN?@>hiHu zcz6cQ<&g2cSPWe7=j^T=%~#6%jdU2dTj7%CH2D-xNB&g`BU`mW+AK>ieZ|pbmb#9V z_hgUiUl zK?-AdH44Bfg&}irfB5o$9FRtE1${+pQWJV2{z~zxIVg|hr7Y6FBp(OcPvEfm)&QzS9-^fRpI>)|^CwDZLs#zqNJ5qiBG;H*7zeAui=y@Nn{e+tJ!Pz5RU;1dMGGnm{x|!65F+-oa_`my@`J z1j68!vB}sgif@fQz{|$tyU8m?)JuCx8zRTzoh&zYpf4`l;a(5;q8}!)wAvgQ;D6fX zWJrFUN$1hWUZ7Qr^v#V@90kvK-MzRpR&raBC(Ym z<%c-DE~9h1JG{Q?hz_qaw?ImlqDss1er-diRS%b#YsIC)easBi|KCvk-_13)cAs2S zb3~`u0ps5|#iq^n9g>~;r&)6KrnpO3wNd$7Tn(MUum$5@3_;piCb_dg^(3?YN{?RB z!g{&j7U@{LX^C|tp0qG|liSmkQ!E_OPG#5FgXIKXP-ZQih^H{Ujo(pvFxG&lu+6ro zFfX3MM1R1jPQ?iT8eyD;ebV`5TN;-W!darerX?KSL$p%HMK}C^DzEHVn z58}=4G|1O_gg%zMj&rgF6P5q3KdLCe7s$VjTZNbe(8s6#!0F>3*e(N}{E%=+c6SYdn^10QXty>zDCkCY0*-hId&21uxY23iI8ArqgRXw*;XJ2h^~W^n zk4DuWdc3!Y`gr<{aD{@J1JgL!Pb{I#r()PC-XQ*S96p4Mjs zjTf<`D^r_9bSVY1oJ=T-jd5u;vteNL_?@< zjZB)0%)I@&TR0W=DuOsL;_gg>10%L~?ic3kW|iWOQtQK|Ezyq=8p9>q=o>6_@)2Z7 zpJ?VsRUSt<4{_Yr3)e70F&SH>LJ*+Vt3>w;o1|J`sqgdF|4zp7yha|%ezq}VDv6h4 zcCnRZf=FZB=dnBStX&heOeiEIvPkd+XUPMYQ8Ea^duBVaIO10d5lhx0QA7vikMx`B3TA}z^t-qDtId3R;ZXw^TGwxk-7u2u=Z=})~1cs4tO_n_3Qz}QtXa`U!gDuu0Sy9`@RkfOz| zAY^nTFJ~;AftWkl(MPi8e}%RzQEhPsSemp>H>Thvc7jI+FJw$83>)K$g2pvP`C%hc zwuD zIst__Dv>X<;GKbNncR8}SjxIzkcYXdbsb+XcEh)x^~pC4*ZM1#qv!dJb~1k6>fgvj z7{7)`C%uOagcbS3dRKV=_{_Gny|EI&gBY82x|LRnwH$mp;?uaR)v)bTS|a{8d*kk- zlV+aM^h!A3*dEl3!lWx6kzP#c+;>qY(?dQ&rS)@Byxo22!JNpT5h?KkWUGp=^sqS*>9_j@W_?wKKlbW%4LaD_H6aaQ`ZUx1W9LEgHg{0Av-b7mE58@A8F$|_hOgT{dwi5*i>f`tWrCW2EUFX~ zZLSdw8JL)gyV%*g`D|BC@cO)}5GuV^V_Sk#JIuWALw~urSj14;(;S#VD7^I9RLn}G zbm}~dB~(@>d4|mJ3_*7RzCPuBli?R50CwLfFFM0GkiZKFj@D*K;xr#E?l}SrwPN@4 z5EXQvvzuxvB|dgwpSFyM<$*gu(k(EjAu}*zO&_AH5gt6QwYm~F^p=_3BuTk4fZDB{ z1ya|d*_DfC6s&>Su|+dnT<|Jb!kthyUVNgOnz)>DVksPpiDETeCTY0T zhu3zVIJycW-Ha(}0PKaq1KOD5$CC2_VF-$D06F>0W=` zKsl%7XYq3(p7EO?;T7bzUPXTirg_@K2nl@`pu=pau8-`n+gtNy)SEn=th@|Jek~m+ zJ4+3SNSTGt`<#5SzUhX0$s=@N+CMSU3;ovI&sltrq3(ttg+m6 z!XWAVwZ+}H5wjN-K?9zD_6qI<{_Ip0TFygfWa*U2qy2!mjqYUGp$;= z)oNN|C4=NtVV!gz?9SLc34mc?oVhfk5M{m|w?*z|nQFq{M6@RH2Tc^X@!8WVB)99etr4aP%7z))UP7>?gi}Rs9`Pzc1-r7U5;R-~u4abR?Mc7Vr$ix$F#hMMBa6raMjf${E z{TXq8q4v-$iYCu+RQF2-gyH~yOyhXKC)#|1crE62iNuyrKc?oZNAqFbx=RfnbVBF4 z8I>|jIr{K)Ay~+<50bGnrp8?Dp+884#`GC#Y)$vn&*d{PXLX?zd4gS}R{gXT2gWE; zGufjWKd6sLNX5iBR9b2NCUeo9perj98lB(&jC_J-PpSgY+?)>1P;>t%Xz{vLO0Uvc z1Ec7A_FDZRcE|?tin2r24Y8q?5w`78)QEgImFcvHur5)mD_)T(PG5D6QcZeVqMq%H zLY3`ls$nI}aanH~#Qn50&JL&H9hT=(u*!SPW8#Ml4XJ=aEApctl_?+AC9)2tZ{dyy zbQRkdl+&#%q!*3o3{*aYK9PQ8^=5@#&dh`v7;;b^EVM(UnBprS#n{R%Vir6m1=|fS zlel959XpXuez}uhbi8SmWvpkyQ=KVc&BtC_R9I!5i*TdE?;k$DtnAb8us3|WWbDE( zA3lE%)ae&j_W*}5z(>)Z48crTlV^*?fK5NUHfm{>J;o9GV^(etaAfNX#s5|J{L&w1 zP46M&SBC$7oY#J3_|u3eU<_d$O@DXofWx;xonG=k!pe~TKHB^&FLSJq;7|@hq@!zp zE$g9zqreYrPGqj+MD3IJ*Q+k-2}kUn7nv~|s}Hq*=r;Zw z6qeFtHZ!mLM%`BB-w&qLiC*E@4k@l$fMKF%?1Q?MSGiWQDL(bQAwN+Cw~M|aJT3Lw zAw6(3?T?4cQr;KogYLPrMU;vwJ0&e=JA~7f7qcDmFge)(@#I7#0F$dKJAfULK?D?w zz@_#$Zgi^Pi~WnN@{nG%XZ@baQhX{#H9hXuOc=0jtq}j{DLB*ZJ+4=zk6jE3t-YB7 zeLsemqXFyiv&lbsW21~LMpOC{I0aO^D6NH=7Y96N>@n26VY2%k< zKV2!@5kR=qp&pm5xg$2Ok?uxKjk4=S-rxbD$Xsw1SI;&*UM4IU`vR(L+4X3XT@O@l zvVM2l^_Y)fuP>(*TOWaNIDxN}cT_qIUfW7}&*GBK*!U)cg6i+48PbSO@MWWe_Oa1X z@dw%HxPO_`02|m!J_UD1J9}3$2uhx{cc|J0dPkaNhhv7ZgFO!Is(rkd@drB-9nPPx zIp7&iQqAN3-G{=T1mFtAh9T;s52g_#O)d7>PajMsrG}@8YhF(!i=YRAwv4gzRHnRN zr>SrbON4)gYnw*#c0tA>ytN1NTd!?LUu+jz{ibBXL@2ORd$tkz!<38aLPfJ>sinpl ztnN}X5UA%=r_*)Hmhdv?Iof$j8x*9XhZG3Yu+eV}UrqhOyI{11fh?>H7jqmn4Mtrh zV5kOYffi}%47(s7k8TA`vJ1L|aiO63z{?S#X2IH=jT$`vcFxyhf z3OOdv04;A6VHVw9J$|jk;LKRWyqa9d`>w3{)GG6d5SdF1r$zs@;wZ)5NyM^>IrX0( z(qNfWoVQAOKbEiN$t)H;k&uLoT)}&p@2yB)Q<)DTE~OVnk7EwAMRcFPcw8#l4{na_ z+pQ0$vqT0eK8zWpSzpk%XtVNjBG&+)z#h3=0c-;c(3#0^18X_J0_Zm!K-vEV(2LT5 zVqnOenX39uwt&YFA+yK{X%zP65dNlfKN8Ejbe9O7mHwLQVcND@PyOz55%DapC9pdn zw!vrD(s;!3tjL|{rMj+X+4Wgh964UqY4^i1s^{Qufg+x7tz-2EH2S0=-#Uh_ly+ud z%I2T4>r=TE`IPoikkh_xzx`Y>rRf3`(y?DJy1=gc7CNV~4}G# zSc>||S7T=XLapB!1?5cuz(zUhHoJpFWRprZQnzF-R+$eO?=JbVqkR9euF1QPXP5Ls zvde6U9RjZVtaq6OofT%ySBLax?fQrnL0o1^KJr$4ptX6cD3YKhYReyj^CgSk*Sp~T z*Au=wOoH@Y&+E~~-`KdIc#6)}u>SPa9u#XxY}O2P+N{rf z985({rGXdcM^8+7pJHq45D0%mU>1bk_^D3#VvEoZ`55GO%G2|sthe7um&Yo}#J}1p z$p*CoWGxfYSjGa-Zj(keL2R77HPj3xqSz>f7JepG5T(QOp#g31BbIfx+@5LRbUr?xiF8jP{T^*&9f(iz$rKDx67yZ|uVYQ< zB(0WO2U^plm9iFDnRURnDA^-AvGi`1_kHVAnA5R~T9L8s0w4f<)P=RCZVCQA2 zV+LYR;7Up5@I#If(328oL%+zXT$IX*3`80GC?hJHh8;HJt!#I?jz`*vNaeQ%N4wM4 zuJQkg95J3jwVST!J^iBSp=C8ZuIN2V>N2OHWj?^op^0J`ufTG~yGwn7B$bQU7dckV zaiI|m2sEM|9#0`c+8Bw6mCdgUUGRHUCX^Hxd#t}SLm9eGrW+oRK2*DkZ2$q%v&3CR zpcH(_Z0&izip|wDs$y@W9uopZcHkR&AUh79ElhW$E7|!6YMCrJY_jtTfdYpxtXBpOEau5u!}t2wC@Zu=B5 zm+%@gwpf1{BWXpi>ef4LK-t-QmoO~a^paQ@<5_IkKq5I-8zZjAP3|9oT8qn{Jik1{Jfx) zM2E>y=SnGFT+&?T2}w&R0&92Iqf(6#o;m?zUYFF#%Y&|k_RBKY5?-{D3M7XxQbWKO zcD#XLj(<2eAlOpaC0%UT#S>r`#EV@t_O^q7ZxD9g;n^tQr)Bh>gH&Liputp7uZ0L7 zT2&OI0z*YTaMTL%(>&8>YbDd$cp`30Z{;}nX~QZ1iqm}jhEDVFn|B(yTglx<$OY7u zcR?_Ar;lEkFg$XrVEOlT^B1;3z*>7m1{}mTS3)pST|tLkZ07w}xH?f_w;*ybHeaY{ z*N2$Yh?$ZMjP;lu^-TpuNX^~-$){1i8soNS+EPS77LcmA7hALOptZT z1#D5gGY-3)%zB5d>dR7(W2@>nHgmK=9r>0R+mb_Bu?EabU7)P8WR)moOl%vt64fg^ zO4*&p8uHR*#u{>ow$G85Zi_xB9WpFEKjX_({krj2(X%^V2Xu~`r#3}#U9h2;P~mbr zPxzSy-}^{4>`@+TMoPmbjaLo+r5#=`;ipUZ*>?B>G{SVmqde@67(%$sRdm@uui8_m zdhU-!l{`c7n+maWR~~ahMyr2cy(`imI}s+mIsy?aZP4ylhQ0B*X+nVQMcXCj;8DTU z`k=DK-y}2K2%L}6JSTQU0u3{eTxk`@bHxOQ=bGRH1G#qfnj$#~pePFIp-y*_r^2H1 zmMbdL)yy0ldB-HZqJ>FfTd#W@>vfN9y`GK9SR!F$sqEsh+2IsS*ww6T)MuP8b9w`I z@t}J#XkT1W&)!9P+6_v3-x*|k-(kIM2^x;C9@%&>m&$aOV>(z(Ls8T*9pyda zX!$x^xOlI8u~!DIX(9Gk&o=Loaz+JVlgi$8?wx70*;Y`=|1 zZ49Y?OMzsEnipa3ZqJ8!^;@?6wwh$-Mc8j=BGf!e=g3V*#2T@8-y!zy4=JRGEo$RF zszqQFyH!}tYKuRmRaiW-o63%sFT~wR*lN{W$r$0QN&#mM*u@D3dBtPJe@UKWO&ldd zh0zwCA;vL|UkJQ(vTXsCp%;35Fc$Am%3Lis^Kx0d7OMuPFr8=;{}8)o#TK2fI;2v{ z#i`RqsV8Lo-k#seo?Sv!`F3chJ-b9me>ll;e33rAO@#D^6Vc6{ovUo4%TwOwDtk9M zZNt5e?|lJ}i*5H$^<0s5WP^>K3d4*_RAv_&c9FXI zh@t|VBx6Oac1j+!OchATgQ|*cwUbU^tyI&l z+^AL4lpD|@^Mmo~SM5orBF!loqQjw?$W;<;Pc|oBC1rIZ0>|x zQ{La)BSW@#4Z2)50=~XTZ899s{srNk3g^lBby8pwo&F}CR4>N?(ICHcm&));Jg~`_ zoHwE#tCaZosdkxig=0r*CubWYeL++F0uU~?AAFJZ8+?h-wy;aDrQ0uJVkmwoas|h^ zra-b;eYPjA{LkkpJH=u2gRdD|SF0YqWtB33h+M5K6;MMMlYOGr@LUX)QO7@RtA=tX z9kxfvUIk~tD#{YEWSU1zmmHlSyD5v>?alW>T5sLWgwy)l0jjo}2~Y-{o$KWx`a;v& z!syxAXY4qhz-=eSq2JXwt`b3OMOy&5|!PEJmAsVu#HjTkYD&p$Rl#*V6g9 z!eonwLR2d$%DM{`H=6akI?w3*v`d-G_~QQ0&M=YgMH7p7zmU-Mcw~#iu{|@C*Vh+A z@pD7*JM+Ww+Y7N%3(`D)U0*r~)W8V&Z!XNXj=?}JwqZur7&iuSx#rt9>6l8bhP@te z$(wvyazb02ob3N?B6uN-uD=eN(i!{|!Ru9O*^RO5A@xtinh0;R?6I<65XMI1%uhZ~ z5m80@vkytH)y$H;3)A~cRYP{gS`8CQqOR#7*KmmvW1~;3kcK_+#Y_s4?po3ve67Y! z(k8Bw#lAXHG(05t$cC80ddLtJq3Qj3Lb8U6hT9Fa2D~TmYBevRIwbn7zh$DOq1H$5 z+R=X|y0fhzbJ&^G9l}%3a2!@y-`s1bT4EQHPn=VSDrBWo$c;n;+c^q0AiBGVO&z|) z7-br2I+$&?!30tOzkv&IP49fbO^;B*y3Q%cXV){r0amvyw5&2G+NGke;M@TNa^k?0 zYTzERwPv(X0hg5%rJy#wFa9;1C^@(@G^|2}GLe;= zgqM=jL0B}Qx^DWJP;9(mZ1YF)Tgp4Igrr*c&qQe~?Nn}sFUw~ET4qUKhKh=<7wT-a zke=BAV`r6(%-23(;tz5WN(qnip~$x+qCWUbzt3nuiomoo(nk(9Y$#@GqCaL!IW={- zQk6L+W(s!T?LzOX_N-KxWy_;l$yyJeTFEmx653qTPJ`*%ROKC>oak-1t5%+>#h-rf zHKNiNSIHduV{dr>8*|3VhOus2km-i9PtuL$D=0#3jGD`r^6Ia3Stsm}ycIBDn3y3G zae?_L?5WGs)JCg*ij-Qhf`urkd;TP z7V!6}lpd`{j92v+1ef{)R-&4hV0=C^<{n6+Y#Rz`+?#3%3Tc$xKS<-fHffZ-ynCZ$ zca)qd?;U)lyf>%AAS_?nc!=gimFvIrm2sG31E!YBF#sGi_UW-jWjR{Sci1&ctY8#Z z3)5t+tyRkvo5;ml^-pAT(r8xei}h>>c}#RGB|mYZh^2UBi* ztf&T;&BLfm!OY3EtSFqWY^_{`xysGROMeplm}NY}E-=f5Qh~A+@AIkT*lC+eigFOl zj}e6@$MPI6pakX!Kc!WF0t73?7qY;h)w~aO*|scN^=Kwx;zWLCEe$p|zalSbewC_k zZJ%XC51`h_iM#)V4AQKSc(~LYSG}8_j(Akzbp;WIIvb#y3ZJz>jBQOl!SYY@jBj~? zN6Df&VoQ*d;}fF)&rG{z zkxh9oQR%g6u@N8fW@i};2bY9{OUS};$dA~c)w$mPH!yVxW?7?%R*EFe75&LU(?`ft-1bFN&$TZ?j zkp4n7l~P{u_eTNAbI3hWtA=0B@mC!bn4Tw{n%H{VWOo_({Ez=>KSDj;UyFdwhB61r!ZHHM!)eI*5Ge)*_KvwH2^p$ zY9lA?{%~0T(VPxr_a`x*pV*=+ARJhjNy-);I0~29KYezyA{K-Yqv%UwtJ+cxEKJji zZW;8k)2Asz^J&)QSIf*?G=nl*RhfBjD|_$hv%A0}zPo%hv@0PPA|Xzd)1=DgCYeP} z5GeoO=LF>)-FcTjIB_s7YIjA?sygsP>WvOVzPO#zQccn3o^vFQO{HYDIal?Snt{ka z-_OZOQ%g2NqzQ?aabHj#k1lk;NMgdKdL`Ybhcs-mRNRHajh7I6mZ!XB)PcfY%Fc3mAK9=%6NC*bM#{Jp1W&l<D*EuX_GG{DW#d=5R**wkj)t+lntbHS zd$5Q4vi=psj9`oL>dhH65xjnx&m*)F9^2R?yJn_$FaYY;=Pl+?VX9TER2%h%gs;|B z)iHxL@ZK?19hX2Jv>$As89277>gX$<_m2~rVS3-Ed-dxFJfOR_rFM^~S9y(1jg+G` zR&|_odQQ$gr zK(eZifv{5A4_;I6uSj_HC+fXL-fN(PIkkCYz4t^axwoogs85pP&yK8>glW}l)%(S# z$oo^gD}SF=9q+)u+VK+4a>Kh;{UGnjnP$~%jY3L$&85_j&SUfzB&Sw& ze1~cyw^ntCb0|)8t8DXmkB+MK0Y;Uu?A6Ov@Q~w3I-#oL2Ed4nNgi7}lm!2x+Q?Z| z9VbgU!)i+i(r97ikGK4)j>IquezSH+W9WpcK11w_q@GZ}XkLqXzH1D(AxutSx4M*8Rg$LOY^;hn0 z8}SjIHC9A@^1Qq7i;tp1h`yyT72B=F-n+12x2NH~etlo6#V~^dG>c`#D#v`J)gUg5 zw~o0kd@E5(Wk;=6^D1G;x79D%ad-AoRieXb{6dcPv$GCM^1+3u%HcLS|1bUvf~A|Z z`yXKB{8jJQ)1!gD2mO6N4w!I)uAG4JxxZo0G0LOReM)!Tf#?wBDILygM=VjB?doQ^`nwhj-v}Y>t^1VpwW_Km8$OrBOl}-WY_f$ zOJ!Vw%nEV>50@tS0bH6S>FU^5Vv zH@$PaS?tm~8-2<&r_tAXlIv6qOY$35z6yRv3KtI$YQPegBh%SB9hH!y_-|PEo+SA{ zbP^^iNYYK-7cEzMe+V{tIG-ZnBNoWzsf36YU;gnb>VM|1yo#z{{`u=9M2SOiY=w3f zQT59|xQ3?Lq`-TyP@h4SG(>!(4l1*l13c;!h#S zZeqz7;ZjSxUj|yP#-R9c>3i#>)Sxy299}Ena6+H`3;}`7<`J9aB!hd^w_WU_aHGU0 zsTO!?AGbKj;n|k&i7>%#rSZNE91d@4grZ@p9~Qe6j>o{m{GMd7_B*wjU&394U8!*C z2VrgE=kP-gxLWL5(j_oTJH%;-X{zlHj>Dc9l%7!iNEZq4!p13pRfi=?$Q~+f)E1vY zH89+@#K{KEJHPrI4f_-7Grm@|lw_2-NHIR?>DXE|IMFkb)MuPgUFvaai zt-6F#gU`!&@UIews8Togf6kPGl!g~O=iYo_av;8$D%+v3abXXtjxoHc%+o8;pVHVZu49HqhKN4y zB9sqmBPu2_Mq|>gq!kqP>bzdN^^GACzGx)^Lam7SO@Vq<8+TwJ$Sauk|3j&pNTTju zLuMvrjljlhozp+!6_wMur`;gMr5k!OUvc+w;6=AnwY79pPGy~kU(}Op+bIjNJ%=7B zU-GAOcxW}Zi5>&Z;B!wbyyeLk&GXLUDu>|noBw$BBR{&RE{>uuG=d)79W-7Ij@YOh z17UADj=FN)1(caAaqLezwOYTDD!6Qy2a=r7Rjpd8MLf%m9=Ar|k$nvB0YDakBahvb zm8<&^Z1wr2(}$-3lAoRT=D?bUN~6~NVCn%;4LC*y4$sTArhYLS2H zewF0eUFajq`z0!Ypn$ntl3Jt5rQ8Dig-mP!o)I$YX=`wQt8Q%5M{r)2AZ%>ZP4{ni(D%>g_3|tI4C|QjEhdc7P`P_uz14d_{Sxyj=`=-y5*HBFm4D=1 zrt0Arpfa|5P#OlMwyqaxB)(`RGGwiTHHv=4pAi(3;{+!{NUfhg=5%!

p=tjz_b` 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 SE0g}@SdzB;$KU_C7Wj9QVbZ+- literal 0 HcmV?d00001 diff --git a/resources/wedecrypt/manifest.json b/resources/wedecrypt/manifest.json new file mode 100644 index 0000000..b48ce3b --- /dev/null +++ b/resources/wedecrypt/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "ciphertalk-image-native", + "version": "source-present-selfbuilt", + "vendor": "CipherTalk", + "source": "native/image-decrypt", + "activeBinaries": { + "win32-x64": "self-built-from-repo-source", + "macos-arm64": "self-built-from-repo-source" + }, + "platforms": [ + "win32-x64", + "macos-arm64" + ] +} diff --git a/scripts/check-image-native.cjs b/scripts/check-image-native.cjs new file mode 100644 index 0000000..f04f956 --- /dev/null +++ b/scripts/check-image-native.cjs @@ -0,0 +1,43 @@ +const fs = require('node:fs') +const path = require('node:path') + +const rootDir = path.resolve(__dirname, '..') +const baseDir = path.join(rootDir, 'resources', 'wedecrypt') +const addonName = 'ciphertalk-image-native' + +function resolvePlatformDir(value = process.platform) { + if (value === 'win32') return 'win32' + if (value === 'darwin' || value === 'macos') return 'macos' + if (value === 'linux') return 'linux' + throw new Error(`Unsupported platform: ${value}`) +} + +function resolveArchDir(value = process.arch) { + if (value === 'x64') return 'x64' + if (value === 'arm64') return 'arm64' + throw new Error(`Unsupported arch: ${value}`) +} + +function main() { + const platformDir = resolvePlatformDir(process.env.CIPHERTALK_IMAGE_NATIVE_PLATFORM || process.platform) + const archDir = resolveArchDir(process.env.CIPHERTALK_IMAGE_NATIVE_ARCH || process.arch) + const addonPath = path.join(baseDir, `${addonName}-${platformDir}-${archDir}.node`) + + console.log(`[image-native-check] target: ${platformDir}/${archDir}`) + console.log(`[image-native-check] addon path: ${addonPath}`) + + if (!fs.existsSync(addonPath)) { + console.error('[image-native-check] missing image native addon') + process.exit(2) + } + + const stat = fs.statSync(addonPath) + if (!stat.isFile() || stat.size <= 0) { + console.error('[image-native-check] invalid image native addon') + process.exit(3) + } + + console.log(`[image-native-check] ok (${stat.size} bytes)`) +} + +main() diff --git a/scripts/check-macos-native.js b/scripts/check-macos-native.js index ebb98b3..8e80cf4 100644 --- a/scripts/check-macos-native.js +++ b/scripts/check-macos-native.js @@ -3,6 +3,7 @@ const path = require('path') const rootDir = path.resolve(__dirname, '..') const macosDir = path.join(rootDir, 'resources', 'macos') +const imageNativeBaseDir = path.join(rootDir, 'resources', 'wedecrypt') const requiredArtifacts = [ { name: 'libwx_key.dylib', type: 'file', generated: true }, @@ -65,6 +66,20 @@ function main() { process.exit(2) } + const imageNativeArch = process.env.CIPHERTALK_IMAGE_NATIVE_ARCH || process.arch + const imageNativeAddon = path.join( + imageNativeBaseDir, + `ciphertalk-image-native-macos-${imageNativeArch}.node` + ) + + const imageNativeStat = statSafe(imageNativeAddon) + if (!imageNativeStat || !imageNativeStat.isFile()) { + console.error(`[macos-native-check] missing image native addon: ${imageNativeAddon}`) + process.exit(3) + } + + console.log(`[macos-native-check] image native addon ok: ${imageNativeAddon} (${imageNativeStat.size} bytes)`) + console.log('[macos-native-check] all required macOS native artifacts are present') } diff --git a/scripts/clean-locales.js b/scripts/clean-locales.js index 26f7d07..feb3a85 100644 --- a/scripts/clean-locales.js +++ b/scripts/clean-locales.js @@ -1,12 +1,92 @@ const fs = require('fs'); const path = require('path'); +const { Arch } = require('electron-builder'); + +const IMAGE_NATIVE_PREFIX = 'ciphertalk-image-native-'; +const IMAGE_NATIVE_SUFFIX = '.node'; + +function resolveNativePlatform(electronPlatformName) { + if (electronPlatformName === 'darwin') return 'macos'; + if (electronPlatformName === 'win32') return 'win32'; + if (electronPlatformName === 'linux') return 'linux'; + return electronPlatformName; +} + +function resolveNativeArch(arch) { + if (typeof arch === 'string') return arch; + if (typeof arch === 'number' && Arch[arch]) return Arch[arch]; + return process.arch; +} + +function uniqueExistingDirs(candidates) { + return Array.from(new Set(candidates)).filter((targetPath) => fs.existsSync(targetPath)); +} + +function rewriteNativeManifest(manifestPath, targetKey) { + if (!fs.existsSync(manifestPath)) return; + + try { + const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8')); + const nextActiveBinaries = {}; + if (manifest.activeBinaries && manifest.activeBinaries[targetKey]) { + nextActiveBinaries[targetKey] = manifest.activeBinaries[targetKey]; + } + manifest.activeBinaries = nextActiveBinaries; + manifest.platforms = Object.keys(nextActiveBinaries); + fs.writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`); + console.log(`已收敛 image native manifest 到当前平台: ${targetKey}`); + } catch (error) { + console.warn(`收敛 image native manifest 失败: ${manifestPath}`, error); + } +} + +function pruneImageNativeAddons(context) { + const platformDir = resolveNativePlatform(context.electronPlatformName); + const archDir = resolveNativeArch(context.arch); + const targetFileName = `${IMAGE_NATIVE_PREFIX}${platformDir}-${archDir}${IMAGE_NATIVE_SUFFIX}`; + const targetKey = `${platformDir}-${archDir}`; + const productName = context.packager?.appInfo?.productFilename || 'CipherTalk'; + const resourceRoots = uniqueExistingDirs([ + path.join(context.appOutDir, 'resources'), + path.join(context.appOutDir, 'Contents', 'Resources'), + path.join(context.appOutDir, `${productName}.app`, 'Contents', 'Resources') + ]); + + for (const resourceRoot of resourceRoots) { + for (const nativeDir of [ + path.join(resourceRoot, 'resources', 'wedecrypt'), + path.join(resourceRoot, 'wedecrypt') + ]) { + if (!fs.existsSync(nativeDir)) continue; + + const nativeFiles = fs.readdirSync(nativeDir) + .filter((file) => file.startsWith(IMAGE_NATIVE_PREFIX) && file.endsWith(IMAGE_NATIVE_SUFFIX)); + if (nativeFiles.length === 0) continue; + + if (!nativeFiles.includes(targetFileName)) { + console.warn(`未找到当前平台 image native addon,跳过裁剪: ${targetFileName}`); + continue; + } + + let deletedCount = 0; + for (const file of nativeFiles) { + if (file === targetFileName) continue; + fs.rmSync(path.join(nativeDir, file), { force: true }); + deletedCount++; + } + + rewriteNativeManifest(path.join(nativeDir, 'manifest.json'), targetKey); + console.log(`已裁剪 image native addon,仅保留 ${targetFileName},删除 ${deletedCount} 个无关文件。`); + } + } +} exports.default = async function (context) { // context.appOutDir 是打包后的临时解压目录 const localesDir = path.join(context.appOutDir, 'locales'); if (fs.existsSync(localesDir)) { - console.log('🧹 正在清理多余的 Chromium 语言包...'); + console.log('正在清理多余的 Chromium 语言包...'); const files = fs.readdirSync(localesDir); // 只保留中文(简体/繁体)和英文 @@ -22,9 +102,11 @@ exports.default = async function (context) { deletedCount++; } } - console.log(`✅ 已删除 ${deletedCount} 个无关语言包,仅保留中英文。`); + console.log(`已删除 ${deletedCount} 个无关语言包,仅保留中英文。`); } + pruneImageNativeAddons(context); + if (context.electronPlatformName === 'darwin') { const productName = context.packager?.appInfo?.productFilename || 'CipherTalk'; const launcherCandidates = [ @@ -35,7 +117,7 @@ exports.default = async function (context) { for (const launcherPath of launcherCandidates) { if (!fs.existsSync(launcherPath)) continue; fs.chmodSync(launcherPath, 0o755); - console.log(`✅ 已确保 macOS MCP 启动器可执行: ${launcherPath}`); + console.log(`已确保 macOS MCP 启动器可执行: ${launcherPath}`); break; } } diff --git a/scripts/sync-image-native.cjs b/scripts/sync-image-native.cjs new file mode 100644 index 0000000..bc4aa1f --- /dev/null +++ b/scripts/sync-image-native.cjs @@ -0,0 +1,126 @@ +const fs = require('node:fs') +const path = require('node:path') + +const projectRoot = path.resolve(__dirname, '..') +const crateRoot = path.join(projectRoot, 'native', 'image-decrypt') +const releaseDir = path.join(crateRoot, 'target', 'release') +const addonName = 'ciphertalk-image-native' + +function parseArgs(argv) { + const parsed = {} + for (let i = 0; i < argv.length; i += 1) { + const arg = argv[i] + if (!arg.startsWith('--')) continue + const key = arg.slice(2) + const next = argv[i + 1] + if (!next || next.startsWith('--')) { + parsed[key] = '1' + continue + } + parsed[key] = next + i += 1 + } + return parsed +} + +function resolvePlatformDir(value = process.platform) { + if (value === 'win32') return 'win32' + if (value === 'darwin' || value === 'macos') return 'macos' + if (value === 'linux') return 'linux' + throw new Error(`Unsupported platform: ${value}`) +} + +function resolveArchDir(value = process.arch) { + if (value === 'x64') return 'x64' + if (value === 'arm64') return 'arm64' + throw new Error(`Unsupported arch: ${value}`) +} + +function resolveBuiltLibrary(platformDir, customLibPath) { + if (customLibPath) { + return path.resolve(projectRoot, customLibPath) + } + if (platformDir === 'win32') { + return path.join(releaseDir, 'ciphertalk_image_native.dll') + } + if (platformDir === 'macos') { + return path.join(releaseDir, 'libciphertalk_image_native.dylib') + } + if (platformDir === 'linux') { + return path.join(releaseDir, 'libciphertalk_image_native.so') + } + throw new Error(`Unsupported platform: ${platformDir}`) +} + +function removeLegacyOutput(platformDir, archDir, outputName) { + const legacyDir = path.join(projectRoot, 'resources', 'wedecrypt', platformDir, archDir) + const legacyPath = path.join(legacyDir, outputName) + if (fs.existsSync(legacyPath)) { + fs.rmSync(legacyPath, { force: true }) + } + if (fs.existsSync(legacyDir) && fs.readdirSync(legacyDir).length === 0) { + fs.rmSync(legacyDir, { recursive: true, force: true }) + } + const platformDirPath = path.join(projectRoot, 'resources', 'wedecrypt', platformDir) + if (fs.existsSync(platformDirPath) && fs.readdirSync(platformDirPath).length === 0) { + fs.rmSync(platformDirPath, { recursive: true, force: true }) + } +} + +function buildManifest() { + const baseDir = path.join(projectRoot, 'resources', 'wedecrypt') + const matrix = [ + ['win32', 'x64'], + ['win32', 'arm64'], + ['macos', 'x64'], + ['macos', 'arm64'], + ['linux', 'x64'], + ['linux', 'arm64'] + ] + + const activeBinaries = {} + const platforms = [] + for (const [platformDir, archDir] of matrix) { + const filePath = path.join(baseDir, `${addonName}-${platformDir}-${archDir}.node`) + if (!fs.existsSync(filePath)) continue + const key = `${platformDir}-${archDir}` + activeBinaries[key] = 'self-built-from-repo-source' + platforms.push(key) + } + + const manifest = { + name: addonName, + version: 'source-present-selfbuilt', + vendor: 'CipherTalk', + source: 'native/image-decrypt', + activeBinaries, + platforms + } + + fs.mkdirSync(baseDir, { recursive: true }) + fs.writeFileSync(path.join(baseDir, 'manifest.json'), `${JSON.stringify(manifest, null, 2)}\n`) +} + +function main() { + const args = parseArgs(process.argv.slice(2)) + const platformDir = resolvePlatformDir(args.platform || process.env.CIPHERTALK_IMAGE_NATIVE_PLATFORM || process.platform) + const archDir = resolveArchDir(args.arch || process.env.CIPHERTALK_IMAGE_NATIVE_ARCH || process.arch) + const builtLibrary = resolveBuiltLibrary(platformDir, args.lib || process.env.CIPHERTALK_IMAGE_NATIVE_LIB) + + if (!fs.existsSync(builtLibrary)) { + throw new Error(`Built library not found: ${builtLibrary}`) + } + + const outputDir = path.join(projectRoot, 'resources', 'wedecrypt') + const outputName = `${addonName}-${platformDir}-${archDir}.node` + const outputPath = path.join(outputDir, outputName) + + fs.mkdirSync(outputDir, { recursive: true }) + fs.copyFileSync(builtLibrary, outputPath) + removeLegacyOutput(platformDir, archDir, outputName) + buildManifest() + + console.log(`[sync-image-native] synced ${builtLibrary} -> ${outputPath}`) +} + +main() diff --git a/src/pages/ChatPage.tsx b/src/pages/ChatPage.tsx index ee4bced..29bf431 100644 --- a/src/pages/ChatPage.tsx +++ b/src/pages/ChatPage.tsx @@ -270,6 +270,10 @@ function ChatPage(_props: ChatPageProps) { const searchInputRef = useRef(null) const sidebarRef = useRef(null) const messagesRef = useRef([]) + const isLoadingMoreRef = useRef(false) + const lastScrollTopRef = useRef(0) + const scrollToBottomAfterRenderRef = useRef(false) + const scrollRestoreTimersRef = useRef([]) const currentSessionIdRef = useRef(null) const lastUpdateTimeRef = useRef(0) const updateTimerRef = useRef(null) @@ -354,6 +358,87 @@ function ChatPage(_props: ChatPageProps) { setTimeout(() => setTopToast(null), 2000) }, []) + useEffect(() => { + isLoadingMoreRef.current = isLoadingMore + }, [isLoadingMore]) + + const getMessageDomKey = useCallback((message: Message): string => { + return [ + message.serverId ?? '', + message.localId ?? '', + message.createTime ?? '', + message.sortSeq ?? '' + ].join('-') + }, []) + + const findMessageWrapperByKey = useCallback((listEl: HTMLElement, key: string): HTMLElement | null => { + const wrappers = Array.from(listEl.querySelectorAll('.message-wrapper[data-message-key]')) + return wrappers.find(el => el.dataset.messageKey === key) || null + }, []) + + const captureScrollAnchor = useCallback((): { key: string; top: number } | null => { + const listEl = messageListRef.current + if (!listEl) return null + + const listRect = listEl.getBoundingClientRect() + const wrappers = Array.from(listEl.querySelectorAll('.message-wrapper[data-message-key]')) + const anchorEl = wrappers.find((el) => { + const rect = el.getBoundingClientRect() + return rect.bottom >= listRect.top + 12 + }) + + const key = anchorEl?.dataset.messageKey + if (!anchorEl || !key) return null + + return { + key, + top: anchorEl.getBoundingClientRect().top - listRect.top + } + }, []) + + const clearScrollRestoreTimers = useCallback(() => { + for (const timer of scrollRestoreTimersRef.current) { + window.clearTimeout(timer) + } + scrollRestoreTimersRef.current = [] + }, []) + + const restoreScrollAnchor = useCallback((anchor: { key: string; top: number } | null) => { + if (!anchor) return + + clearScrollRestoreTimers() + + const restore = () => { + const listEl = messageListRef.current + if (!listEl) return + const anchorEl = findMessageWrapperByKey(listEl, anchor.key) + if (!anchorEl) return + + const listTop = listEl.getBoundingClientRect().top + const currentTop = anchorEl.getBoundingClientRect().top - listTop + const delta = currentTop - anchor.top + if (Math.abs(delta) > 1) { + listEl.scrollTop += delta + } + } + + requestAnimationFrame(() => { + restore() + scrollRestoreTimersRef.current = [ + window.setTimeout(() => { + restore() + isLoadingMoreRef.current = false + }, 150) + ] + }) + }, [clearScrollRestoreTimers, findMessageWrapperByKey]) + + useEffect(() => { + return () => { + clearScrollRestoreTimers() + } + }, [clearScrollRestoreTimers]) + const copyText = useCallback(async (text: string) => { try { await navigator.clipboard.writeText(text || '') @@ -568,11 +653,12 @@ function ChatPage(_props: ChatPageProps) { // 标记用户正在操作(首次加载) isUserOperatingRef.current = true } else { + if (isLoadingMoreRef.current) return + isLoadingMoreRef.current = true setLoadingMore(true) } - // 记录加载前的第一条消息元素 - const firstMsgEl = listEl?.querySelector('.message-wrapper') as HTMLElement | null + const anchor = offset > 0 ? captureScrollAnchor() : null try { // 确保连接已建立(如果未连接,先连接) @@ -590,18 +676,10 @@ function ChatPage(_props: ChatPageProps) { if (result.success && result.messages) { if (offset === 0) { setMessages(result.messages) - // 首次加载滚动到底部 (瞬间) - requestAnimationFrame(() => { - scrollToBottom(false) - }) + scrollToBottomAfterRenderRef.current = true } else { appendMessages(result.messages, true) - // 加载更多后保持位置:让之前的第一条消息保持在原来的视觉位置 - if (firstMsgEl && listEl) { - requestAnimationFrame(() => { - listEl.scrollTop = firstMsgEl.offsetTop - 80 - }) - } + restoreScrollAnchor(anchor) } setHasMoreMessages(result.hasMore ?? false) setCurrentOffset(offset + result.messages.length) @@ -611,6 +689,9 @@ function ChatPage(_props: ChatPageProps) { } finally { setLoadingMessages(false) setLoadingMore(false) + if (offset > 0) { + isLoadingMoreRef.current = false + } // 加载完成后,延迟重置用户操作标记(给一点缓冲时间) if (offset === 0) { setTimeout(() => { @@ -714,11 +795,11 @@ function ChatPage(_props: ChatPageProps) { // 滚动加载更多 + 显示/隐藏回到底部按钮 const loadMoreMessagesInDateJumpMode = useCallback(async () => { - if (!currentSessionId || dateJumpCursorSortSeq === null || isLoadingMore || !hasMoreMessages) return + if (!currentSessionId || dateJumpCursorSortSeq === null || isLoadingMoreRef.current || !hasMoreMessages) return - const listEl = messageListRef.current - const firstMsgEl = listEl?.querySelector('.message-wrapper') as HTMLElement | null + const anchor = captureScrollAnchor() + isLoadingMoreRef.current = true setLoadingMore(true) try { const result = await window.electronAPI.chat.getMessagesBefore( @@ -756,11 +837,7 @@ function ChatPage(_props: ChatPageProps) { setHasMoreMessages(result.hasMore ?? false) } - if (firstMsgEl && listEl) { - requestAnimationFrame(() => { - listEl.scrollTop = firstMsgEl.offsetTop - 80 - }) - } + restoreScrollAnchor(anchor) } else { setHasMoreMessages(false) } @@ -768,22 +845,24 @@ function ChatPage(_props: ChatPageProps) { console.error('日期跳转模式加载更多失败:', e) } finally { setLoadingMore(false) + isLoadingMoreRef.current = false } }, [ currentSessionId, dateJumpCursorSortSeq, dateJumpCursorCreateTime, dateJumpCursorLocalId, - isLoadingMore, hasMoreMessages, appendMessages, + captureScrollAnchor, + restoreScrollAnchor, setHasMoreMessages, setLoadingMore ]) // 日期跳转模式:向下滑动加载更新的消息 const loadMoreMessagesAfterInDateJumpMode = useCallback(async () => { - if (!currentSessionId || dateJumpCursorSortSeqEnd === null || isLoadingMore || !hasMoreMessagesAfter) return + if (!currentSessionId || dateJumpCursorSortSeqEnd === null || isLoadingMoreRef.current || !hasMoreMessagesAfter) return const listEl = messageListRef.current if (!listEl) return @@ -792,6 +871,7 @@ function ChatPage(_props: ChatPageProps) { const oldScrollHeight = listEl.scrollHeight const oldScrollTop = listEl.scrollTop + isLoadingMoreRef.current = true setLoadingMore(true) try { const result = await window.electronAPI.chat.getMessagesAfter( @@ -845,13 +925,13 @@ function ChatPage(_props: ChatPageProps) { console.error('日期跳转模式向下加载失败:', e) } finally { setLoadingMore(false) + isLoadingMoreRef.current = false } }, [ currentSessionId, dateJumpCursorSortSeqEnd, dateJumpCursorCreateTimeEnd, dateJumpCursorLocalIdEnd, - isLoadingMore, hasMoreMessagesAfter, appendMessages ]) @@ -860,17 +940,19 @@ function ChatPage(_props: ChatPageProps) { if (!messageListRef.current) return const { scrollTop, clientHeight, scrollHeight } = messageListRef.current + const isScrollingUp = scrollTop < lastScrollTopRef.current - 4 + lastScrollTopRef.current = scrollTop // 显示回到底部按钮:距离底部超过 300px const distanceFromBottom = scrollHeight - scrollTop - clientHeight setShowScrollToBottom(distanceFromBottom > 300) - if (!isLoadingMore && currentSessionId) { - const topThreshold = clientHeight * 0.3 + if (!isLoadingMoreRef.current && currentSessionId) { + const topThreshold = Math.max(clientHeight * 2, 1200) const bottomThreshold = clientHeight * 0.3 - // 向上滑动:加载更早的消息 - if (scrollTop < topThreshold && hasMoreMessages) { + // 向上滑动:提前加载更早的消息,不等用户真正顶到顶部 + if (isScrollingUp && scrollTop < topThreshold && hasMoreMessages) { if (isDateJumpMode) { loadMoreMessagesInDateJumpMode() } else { @@ -884,7 +966,6 @@ function ChatPage(_props: ChatPageProps) { } } }, [ - isLoadingMore, hasMoreMessages, hasMoreMessagesAfter, currentSessionId, @@ -897,20 +978,27 @@ function ChatPage(_props: ChatPageProps) { // 滚动到底部 const scrollToBottom = useCallback((smooth: boolean | React.MouseEvent = true) => { if (messageListRef.current) { - // 如果传入的是事件对象,默认为 smooth const isSmooth = typeof smooth === 'boolean' ? smooth : true; - if (isSmooth) { - messageListRef.current.scrollTo({ - top: messageListRef.current.scrollHeight, - behavior: 'smooth' - }) + messageListRef.current.scrollTo({ top: messageListRef.current.scrollHeight, behavior: 'smooth' }) } else { messageListRef.current.scrollTop = messageListRef.current.scrollHeight } } }, []) + // Scroll to bottom after initial message render + useEffect(() => { + if (scrollToBottomAfterRenderRef.current) { + scrollToBottomAfterRenderRef.current = false + requestAnimationFrame(() => { + if (messageListRef.current) { + messageListRef.current.scrollTop = messageListRef.current.scrollHeight + } + }) + } + }, [messages]) + // 日期跳转处理 const handleJumpToDate = useCallback(async () => { if (!selectedDate || !currentSessionId || isJumpingToDate) return @@ -1963,8 +2051,14 @@ function ChatPage(_props: ChatPageProps) { // 系统消息居中显示 const wrapperClass = isSystem ? 'system' : (isSent ? 'sent' : 'received') + const messageDomKey = getMessageDomKey(msg) + return ( -