From ed2ae103207a60bcac2bcd8d248025611c37c107 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Tue, 1 Sep 2026 18:28:07 +0800 Subject: [PATCH] =?UTF-8?q?app.json=20=E4=BA=8C=E8=BF=9B=E5=88=B6=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=20depends=EF=BC=9A=E5=90=AF=E5=8A=A8=E5=89=8D?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=EF=BC=88launcher=EF=BC=89+=20=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E6=8F=90=E7=A4=BA=EF=BC=88nyai=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需求(用户定案):App 复杂功能若依赖现成 Linux 二进制(板载 /usr/bin 或卡上 MeowOS/opt/bin)能效更好,声明后系统启动 App 前检查依赖是否存在。 - depends 行式声明:depends=curl,jq:optional,ffmpeg:required(无标注默认 required;也接受 :opt/:req;未知修饰符按 required 处理并 WARN;空项/超量丢弃) - launch_app_chain 冷启动时按序查 /usr/bin/ 与 <卡>/MeowOS/opt/bin/ (X_OK,两类命中即满足);缺 required → 不启动(toast「缺依赖: 」+ 日志, 沿用 CANNOT START 风格);optional 缺失 → 仅 WARN 放行;只在启动时查,不做周期复查 - nyai install 对包内 app.json depends 同查并提示(不阻断安装,缺 required 标注 「安装后启动将失败」) - 新增 meow_dep.c(独立 TU,解析/检查/块原因),宿主测试 test_depends.c 解析矩阵 12 用例 + 假根检查路径 12 用例全 PASS;launcher/nyai mipsel 交叉 -Wall -Wextra 0 warning;launcher 现有宿主测试回归全过 - 文档:APPS.md §2.1 字段表 + docs/MEOWOS_SPEC_REF.md §5.5 同步;hello app.json 加 depends:curl:optional 示例 launcher md5 899ac22c10f596909d7f35ea685744de(fw_content.conf 已更新;/usr/bin 只读,留给主会话打包固件) --- APPS.md | 3 +- docs/MEOWOS_SPEC_REF.md | 2 +- .../apps_assets/apps/os.meow.hello/app.json | 2 +- patch_v2/meow_launcherd/app_launcher.c | 32 +++ patch_v2/meow_launcherd/build_launcher.sh | 2 +- patch_v2/meow_launcherd/main_menu.c | 22 ++- patch_v2/meow_launcherd/meow_dep.c | 117 +++++++++++ .../meow_launcherd/meow_launcher_internal.h | 16 ++ patch_v2/meow_launcherd/meow_launcherd | Bin 603308 -> 605916 bytes patch_v2/meow_launcherd/test_depends.c | 183 ++++++++++++++++++ patch_v2/meowpkg/nyai | Bin 112812 -> 113612 bytes patch_v2/meowpkg/nyai.c | 47 +++++ patch_v2/meowpkg/nyai_host | Bin 73872 -> 73848 bytes scripts/build/fw_content.conf | 2 +- 14 files changed, 416 insertions(+), 12 deletions(-) create mode 100644 patch_v2/meow_launcherd/meow_dep.c create mode 100644 patch_v2/meow_launcherd/test_depends.c diff --git a/APPS.md b/APPS.md index 2e748ca..1fefc9d 100644 --- a/APPS.md +++ b/APPS.md @@ -74,10 +74,11 @@ | `author` | — | 保留字段 | | `fullscreen` | — | app 级全屏:`1`=进入全屏(状态栏**收合至提示线** + **保留左缘返回/顶部提示线/下滑通知中心**,见 MEOWOS_SPEC_REF §5.1);activity 级用它 `route..fullscreen`。**app.json `fullscreen` 字段此前未解析/已定未做 → 本次实现**(launcher 启动/切 activity 据声明预设 SDK 全屏,env `MEOW_FULLSCREEN`)[源:用户 2026-08-30] | | `fonts` | — | 字库档位声明:`"full"` / `"gbk"` / `"common"`(app 需大字库时可声明 `"full"`,默认小字库 `common`≈4k;launcher 据此为该 app 加载大字库 `gbk`≈20k,从已扫描的 `MeowOS/fonts///` 里按同 family(其次同 weight)选大字库,M2.6)。**注意**:与 `"fonts":[""]`(应用自带字库句柄数组)**同名二义**,见 MEOWOS_SPEC_REF §7 A-14 [源:用户 2026-08-30] | +| `depends` | — | **二进制依赖声明**(launcher/nyai 启动前检查):`"curl,jq:optional,ffmpeg:required"`(JSON 值串)或行式 `depends=curl,jq:optional,ffmpeg:required`。逗号分隔多项,每项 `[:]`;**无标注默认 required**,也接受 `:opt`/`:req` 缩写(=optional/required),未知修饰符按 required 处理并 WARN。App 某些复杂功能若依赖现成 Linux 二进制(**板载 `/usr/bin/` 或卡上 `/usr/data/mnt/sd_0/MeowOS/opt/bin/`,均按 X_OK 查**,两类任命中即满足)能效更好时声明。**launcher 启动前检查(仅启动时,不做周期复查)**:required 缺失 → **不启动**(toast「缺依赖: 」+ 日志,沿用 CANNOT START 风格);optional 缺失 → 仅 WARN 放行。[源:用户 2026-09-01] | - 目录扫描深度 1 级:只枚举 `MeowAPPs/` 下的直接子目录 - 应用计数上限 **8**(超出忽略;单屏 8 行) -- app.json 解析器极简(launcher 内实现):仅匹配 `"name":`、`"exec":`、`"package":` 后的引号字符串(及扩展 icon/framework/immersive/route./`awake.`(keep_awake)/service.),**`fullscreen`(本次实现)与 `fonts`(档位串) 已解析**,不做 JSON 校验(多行/单行均可)[源:审计 2026-08-30][源:用户 2026-08-30] +- app.json 解析器极简(launcher 内实现):仅匹配 `"name":`、`"exec":`、`"package":` 后的引号字符串(及扩展 icon/framework/immersive/route./`awake.`(keep_awake)/service./**`depends`**(二进制依赖,line 解析)),**`fullscreen`(本次实现)与 `fonts`(档位串) 已解析**,不做 JSON 校验(多行/单行均可)[源:审计 2026-08-30][源:用户 2026-08-30] - 列表刷新时机:每次菜单打开时重新扫描(TF 卡热插拔后立即可见) ### 2.2 边界情况行为(launcher 实现,全部真机验证) diff --git a/docs/MEOWOS_SPEC_REF.md b/docs/MEOWOS_SPEC_REF.md index 05002fb..d55de09 100644 --- a/docs/MEOWOS_SPEC_REF.md +++ b/docs/MEOWOS_SPEC_REF.md @@ -215,7 +215,7 @@ - `/` = 程序主体+app.json+资源;`MeowData//{data,cache}` = 数据;首次启动自动建 data/cache 并经 env 注入,exFAT 无软链 `[APPS 附录 §1/§2]` - `.mpk` = tar.gz(app.json + meow 二进制 + 资源),**不含 data/cache**;导入校验 app.json/哈希→解压→数据 init→登入列表 `[APPS 附录 §3]` - 包管理 **CLI `nyai`**(静态 MIPS,部署 `MeowOS/opt/bin/nyai`):install/remove/list/info/search/index/export/upgrade/scan;源 `MeowOS/opt/nyai/sources.list`;索引 `Packages`(Package/Version/Filename/Size/SHA256/Depends/Description)`[APPS 附录 §5]` -- 应用数上限 **8**(单屏 8 行);扫描深度 1 级;`app.json` 字段:name(仅 ASCII)/exec(静态 MIPS32r2 ELF)/version/author + **`package`(反域名权威 app_id;==目录名;缺省回退目录名)** + 扩展 `framework`/`immersive`/`icon`/`route.`/`awake.`(keep_awake)/`service.`(M4 起服务二进制=App 同目录 `` 文件)/**`background`/`background_audio`(M4 已落地:无头服务注册权限/后台播放保活)**/`fullscreen`(app 级;`route..fullscreen`=activity 级;**本次实现**:launcher 启动/切 activity 据声明预设 SDK 全屏,见 §5.1/§3.1/§A-12)/`fonts`(字体档位 `"full"|"gbk"|"common"`,需大字库时声明,见 §5.7.8) `[APPS §2][MEOW_APP_SDK §9][FRAMEWORK_DESIGN §2][源:审计 2026-08-30][源:用户 2026-08-30]` +- 应用数上限 **8**(单屏 8 行);扫描深度 1 级;`app.json` 字段:name(仅 ASCII)/exec(静态 MIPS32r2 ELF)/version/author + **`package`(反域名权威 app_id;==目录名;缺省回退目录名)** + 扩展 `framework`/`immersive`/`icon`/`route.`/`awake.`(keep_awake)/`service.`(M4 起服务二进制=App 同目录 `` 文件)/**`background`/`background_audio`(M4 已落地:无头服务注册权限/后台播放保活)**/`fullscreen`(app 级;`route..fullscreen`=activity 级;**本次实现**:launcher 启动/切 activity 据声明预设 SDK 全屏,见 §5.1/§3.1/§A-12)/`fonts`(字体档位 `"full"|"gbk"|"common"`,需大字库时声明,见 §5.7.8)/`depends`(**二进制依赖**声明:`"curl,jq:optional"` 或行式 `depends=curl,jq:optional,ffmpeg:required`;comma 分项 `[:]`,mod=required|req(默认)/optional|opt;launcher 启动前查 `/usr/bin/` 与 `/usr/data/mnt/sd_0/MeowOS/opt/bin/`(X_OK,命一即可),required 缺失阻断启动(「缺依赖」toast)、optional 缺失仅 WARN,**仅启动时检查**;nyai install 同查并提示) `[APPS §2][MEOW_APP_SDK §9][FRAMEWORK_DESIGN §2][源:审计 2026-08-30][源:用户 2026-08-30]` ### 5.6 冷启动充电屏 - 触发(**三者同时**):冷启动(`poweroff` 写 `/data/meow_cold_boot=1`;`reboot` 写 0)+ 在充电(AC online=1 或 battery status=Charging)+(开机瞬间一次性快照,判定后不回头)`[CHARGING_SCREEN §0]` diff --git a/patch_v2/apps_assets/apps/os.meow.hello/app.json b/patch_v2/apps_assets/apps/os.meow.hello/app.json index 81bb07b..a822619 100644 --- a/patch_v2/apps_assets/apps/os.meow.hello/app.json +++ b/patch_v2/apps_assets/apps/os.meow.hello/app.json @@ -1 +1 @@ -{"name":"Hello App","exec":"/usr/data/mnt/sd_0/MeowAPPs/os.meow.hello/hello","package":"os.meow.hello","version":"0.1","framework":1,"immersive":1} \ No newline at end of file +{"name":"Hello App","exec":"/usr/data/mnt/sd_0/MeowAPPs/os.meow.hello/hello","package":"os.meow.hello","version":"0.1","framework":1,"immersive":1,"depends":"curl:optional"} diff --git a/patch_v2/meow_launcherd/app_launcher.c b/patch_v2/meow_launcherd/app_launcher.c index 7aa047f..7237845 100644 --- a/patch_v2/meow_launcherd/app_launcher.c +++ b/patch_v2/meow_launcherd/app_launcher.c @@ -807,6 +807,26 @@ void meow_parse_app_json(FILE *f, struct app *a) tmp.nsvc++; } } + /* depends=[:][,...]:二进制依赖声明(meow_dep.c 解析)。 + * 与行式解析同风格(JSON "depends":"..." 或扁平 depends=... 均可);不引 JSON 解析器。 + * 缺省 required;:opt/:req 等价 optional/required;未知修饰符按 required 处理并 WARN。 */ + char *dp = strstr(buf, "depends"); + if (dp) { + char *after = dp + 7; /* strlen("depends") */ + while (*after == ' ' || *after == '\t') after++; + /* 紧跟 '=' / ':' / '"' 才算 depends 键(防 description 等文本误命中) */ + if ((*after == '=' || *after == ':' || *after == '"') && + tmp.ndep < MEOW_MAX_DEPS) { + char *vp = after; + while (*vp && *vp != ':' && *vp != '=') vp++; /* 跳到值分隔符 */ + if (*vp == ':' || *vp == '=') vp++; + while (*vp == ' ' || *vp == '\t') vp++; + if (*vp == '"') vp++; /* 剥 JSON 值开引号 */ + int got = meow_parse_depends(vp, tmp.deps + tmp.ndep, + MEOW_MAX_DEPS - tmp.ndep); + tmp.ndep += got; + } + } } strncpy(a->name, name, 16); strncpy(a->exec, exec, 128); @@ -822,6 +842,8 @@ void meow_parse_app_json(FILE *f, struct app *a) if (tmp.nroute) memcpy(a->routes, tmp.routes, sizeof(a->routes[0]) * (size_t)tmp.nroute); a->nsvc = tmp.nsvc; if (tmp.nsvc) memcpy(a->svcs, tmp.svcs, sizeof(a->svcs[0]) * (size_t)tmp.nsvc); + a->ndep = tmp.ndep; + if (tmp.ndep) memcpy(a->deps, tmp.deps, sizeof(a->deps[0]) * (size_t)tmp.ndep); } @@ -1442,6 +1464,7 @@ static int launch_app_chain(struct app *a, const char *chain) g_ams_pick_armed = 0; } if (!a->ok) { logmsg("launch blocked: exec not ok"); return -1; } + meow_dep_clear_reason(); /* 每次 launch 入口清 stale 依赖阻断原因(防上一 app 残留) */ /* M4 后台保活恢复:该 App 驻留后台(播放中经 nav-exit 转过)→ 原进程回前台, * 不 fork/exec(进程仍存无法注入新 env:chain/picker 上下文忽略,记日志)。 @@ -1461,6 +1484,15 @@ static int launch_app_chain(struct app *a, const char *chain) meow_nav_begin(a->id, NULL); /* 转后台时导航栈已清;回前台从裸态重建 */ } if (!resumed) { + /* 二进制依赖启动前检查(app.json depends):required 缺失阻断启动,optional 缺失放行。 + * 只在冷启动时做(不做周期复查);resumed 进程不重查(依赖无变化、无需再 fork)。 */ + { + char dep_missing[32] = ""; + if (meow_check_app_depends(a, dep_missing, sizeof dep_missing) != 0) { + logmsg("launch blocked: dep '%s' missing (CANNOT START: %s)", dep_missing, a->name); + return -1; + } + } meow_nav_begin(a->id, chain); /* M3:冷启动/裸启动都以当前链深初始化导航栈(chain 空→depth 0) */ /* M2.12:启动前准备 MeowData//{data,cache}(幂等;卡不在/失败只 log 不崩)。 diff --git a/patch_v2/meow_launcherd/build_launcher.sh b/patch_v2/meow_launcherd/build_launcher.sh index 094e887..c0c763c 100755 --- a/patch_v2/meow_launcherd/build_launcher.sh +++ b/patch_v2/meow_launcherd/build_launcher.sh @@ -26,7 +26,7 @@ SYSROOT="$ROOT/.tools/mipsel-linux-muslsf-cross/mipsel-linux-muslsf" main_menu.c statusbar.c fb_compositor.c settings_page.c power_menu.c \ notif_center.c app_launcher.c audio.c backlight.c net.c about.c \ subpage.c wifi_page.c bt_page.c now_playing.c \ - font_theme.c keys.c util.c \ + font_theme.c keys.c util.c meow_dep.c \ meow_touch.c meow_settings.c meow_notif.c meow_media.c meow_bgplay.c \ "../sdk/meow_ui.a" "$SYSROOT/lib/libz.a" -lpthread -o meow_launcherd echo "== meow_launcherd ==" diff --git a/patch_v2/meow_launcherd/main_menu.c b/patch_v2/meow_launcherd/main_menu.c index 1e63a3d..c08b88a 100644 --- a/patch_v2/meow_launcherd/main_menu.c +++ b/patch_v2/meow_launcherd/main_menu.c @@ -13,6 +13,16 @@ int menu_opened_blank = 0; +/* launch_app/launch_activity 返回 -1 时的 toast:缺二进制依赖(app.json depends)→ 「缺依赖: 」; + * 其余启动失败沿用「CANNOT START: 」。原因由 meow_dep.c 的 meow_dep_block_reason() 提供。 */ +static void launch_fail_toast(char *toast, size_t n, const char *name) +{ + const char *bd = meow_dep_block_reason(); + if (bd && bd[0]) snprintf(toast, n, "缺依赖: %s", bd); + else snprintf(toast, n, "CANNOT START: %s", name); +} + + /* ---- config (MeowAPPs/meow.conf): pure black background by default ---- */ uint32_t menu_bg = 0x000000; @@ -904,7 +914,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, ret = launch_app(&apps[idx]); } if (ret != 0) { - snprintf(toast, sizeof toast, "CANNOT START: %s", apps[idx].name); + launch_fail_toast(toast, sizeof toast, apps[idx].name); toast_ms = TOAST_MS; } menu_after_app_exit(ret == 0); @@ -938,7 +948,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); /* M2.17:回主界面即视为输入,重置自动息屏计时 */ dirty = 1; /* app wrote buffer0 during its run -> redraw menu */ if (ret != 0) { - snprintf(toast, sizeof toast, "CANNOT START: %s", apps[0].name); + launch_fail_toast(toast, sizeof toast, apps[0].name); toast_ms = TOAST_MS; } } else { @@ -1297,8 +1307,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); dirty = 1; if (ret != 0) { - snprintf(toast, sizeof toast, "CANNOT START: %s", - apps[click.app_idx].name); + launch_fail_toast(toast, sizeof toast, apps[click.app_idx].name); toast_ms = TOAST_MS; } } else if (click.status == NOTIF_CLICK_STATUS_NOROUTE) { @@ -1392,8 +1401,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); dirty = 1; if (ret != 0) { - snprintf(toast, sizeof toast, "CANNOT START: %s", - apps[click.app_idx].name); + launch_fail_toast(toast, sizeof toast, apps[click.app_idx].name); toast_ms = TOAST_MS; } } else if (click.status == NOTIF_CLICK_STATUS_NOROUTE) { @@ -1497,7 +1505,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); /* M2.17:回主界面即视为输入,重置自动息屏计时 */ dirty = 1; /* app wrote buffer0 -> redraw menu */ if (ret != 0) { - snprintf(toast, sizeof toast, "CANNOT START: %s", apps[idx].name); + launch_fail_toast(toast, sizeof toast, apps[idx].name); toast_ms = TOAST_MS; } } diff --git a/patch_v2/meow_launcherd/meow_dep.c b/patch_v2/meow_launcherd/meow_dep.c new file mode 100644 index 0000000..ae88617 --- /dev/null +++ b/patch_v2/meow_launcherd/meow_dep.c @@ -0,0 +1,117 @@ +/* meow_dep.c — app.json 二进制依赖声明(depends=[:][,...])解析与启动前检查。 + * + * 背景(用户定案):App 某些复杂功能若依赖现成 Linux 二进制程序(板载 /usr/bin 或卡上 + * MeowOS/opt/bin)能效更好,故在 app.json 声明二进制依赖;launcher 在启动 App 前检查 + * required 依赖是否都存在,缺 required 则不启动(toast「缺依赖: 」+ 日志); + * optional 缺失仅 WARN 放行。检查只在启动时做(不做周期复查)。 + * + * 与 meow_parse_app_json 的 line 解析同风格:取值串后逐项切分(不引 JSON 解析器)。 + * 本文件独立成 TU,由 build_launcher.sh 编入;宿主测试用「假根(env 覆写搜索目录)」验证。 */ +#include +#include +#include +#include +#include +#include "meow_launcher_internal.h" + + +/* 最近一次因缺 required 依赖而阻断启动的首个缺失名(供 menu toast「缺依赖: 」)。 + * 每次 launch_app_chain 入口清空(meow_dep_clear_reason);无缺失则 ""。 */ +static char g_dep_block_reason[32] = ""; + +void meow_dep_clear_reason(void) +{ + g_dep_block_reason[0] = 0; +} + +const char *meow_dep_block_reason(void) +{ + return g_dep_block_reason; +} + + +/* 二进制搜索目录(真机默认):板载 /usr/bin ← 卡上 <卡根>/MeowOS/opt/bin。 + * 宿主测试经 MEOW_DEP_BIN / MEOW_DEP_ROOT 覆写为假根(与 nyai MEOWROOT 同思路)。 */ +static const char *dep_bin_root(void) +{ + const char *e = getenv("MEOW_DEP_BIN"); + return (e && e[0]) ? e : "/usr/bin"; +} +static const char *dep_card_root(void) +{ + const char *e = getenv("MEOW_DEP_ROOT"); + return (e && e[0]) ? e : "/usr/data/mnt/sd_0"; +} + +/* 解析 depends 值串 → 逐个填充 deps[](最多 max 项,超量丢弃;空项/纯空白丢弃)。 + * [:]; 缺省 required;:opt/:req 等价 optional/required; + * 未知修饰符按 required 处理并 logmsg WARN。返回写入项数。 */ +int meow_parse_depends(const char *val, struct meow_dep *deps, int max) +{ + if (!val || !deps || max <= 0) return 0; + int n = 0; + const char *p = val; + while (*p && n < max) { + while (*p && (*p == ' ' || *p == '\t' || *p == ',')) p++; + if (!*p || *p == '"') break; /* 结束(含 JSON 值尾引号) */ + const char *start = p; /* 名称起点 */ + while (*p && *p != ':' && *p != ',' && *p != '"' && *p != ' ' && *p != '\t') p++; + int nl = (int)(p - start); + if (nl > 0) { + if (nl > 31) nl = 31; + char nm[32]; + memcpy(nm, start, (size_t)nl); + nm[nl] = 0; + int req = 1; /* 默认 required */ + if (*p == ':') { /* 修饰符 */ + const char *ms = p + 1; + while (*ms == ' ' || *ms == '\t') ms++; + const char *m = ms; + while (*m && *m != ',' && *m != '"' && *m != ' ' && *m != '\t') m++; + int ml = (int)(m - ms); + if (ml == 8 && !strncmp(ms, "optional", 8)) req = 0; + else if (ml == 3 && !strncmp(ms, "opt", 3)) req = 0; + else if (ml == 8 && !strncmp(ms, "required", 8)) req = 1; + else if (ml == 3 && !strncmp(ms, "req", 3)) req = 1; + else logmsg("WARN: depends '%s' unknown mod '%.*s' (treated required)", nm, ml, ms); + p = m; + } + snprintf(deps[n].name, sizeof deps[n].name, "%s", nm); + deps[n].req = (char)(req ? '1' : '0'); + n++; + } + if (*p == ',') p++; /* 消费分隔符 */ + } + return n; +} + + +/* 依赖二进制存在性:按序 / → /MeowOS/opt/bin/(X_OK)。返回 1=存在。 */ +static int dep_bin_exists(const char *name) +{ + if (!name || !name[0]) return 0; + char p[320]; + snprintf(p, sizeof p, "%s/%s", dep_bin_root(), name); + if (access(p, X_OK) == 0) return 1; + snprintf(p, sizeof p, "%s/MeowOS/opt/bin/%s", dep_card_root(), name); + if (access(p, X_OK) == 0) return 1; + return 0; +} + + +/* 启动前检查依赖。returns: 0=全部满足 / 1=缺 required(missing 回填首个缺失名,可 NULL)。 */ +int meow_check_app_depends(const struct app *a, char *missing, int mlen) +{ + if (!a) return 0; + for (int i = 0; i < a->ndep; i++) { + if (dep_bin_exists(a->deps[i].name)) continue; + if (a->deps[i].req == '1') { + logmsg("launch blocked: missing required dep '%s'", a->deps[i].name); + if (missing && mlen > 0) snprintf(missing, (size_t)mlen, "%s", a->deps[i].name); + snprintf(g_dep_block_reason, sizeof g_dep_block_reason, "%s", a->deps[i].name); + return 1; + } + logmsg("WARN: optional dep '%s' missing, continuing", a->deps[i].name); + } + return 0; +} diff --git a/patch_v2/meow_launcherd/meow_launcher_internal.h b/patch_v2/meow_launcherd/meow_launcher_internal.h index 3b1df20..34d883d 100644 --- a/patch_v2/meow_launcherd/meow_launcher_internal.h +++ b/patch_v2/meow_launcherd/meow_launcher_internal.h @@ -295,6 +295,15 @@ struct meow_svc { }; +/* 二进制依赖行:depends=[:][,...]。=二进制名;=required|req(默认)/optional|opt。 + * launcher 启动前检查(required 缺失阻断,optional 缺失放行),nyai 安装时提示。 */ +#define MEOW_MAX_DEPS 8 +struct meow_dep { + char name[32]; /* 二进制名(/usr/bin/ 或 <卡>/MeowOS/opt/bin/) */ + char req; /* '1'=required(缺失阻断启动) '0'=optional(缺失仅 WARN 放行) */ +}; + + struct app { char id[MEOW_APP_ID_MAX]; /* M2.52:app_id=app.json 的 package(权威,缺省回退卡上目录名 de->d_name),供 MEOW_LOG_APP 注入 */ char package[MEOW_APP_ID_MAX]; /* 安卓化:app.json 的 package 字段(反域名权威标识;目录名=package),scan_apps 据此定 app_id */ @@ -313,6 +322,8 @@ struct app { struct meow_route routes[MEOW_MAX_ROUTES]; int nsvc; struct meow_svc svcs[MEOW_MAX_SVCS]; + int ndep; /* app.json depends 二进制依赖项数(meow_dep.c) */ + struct meow_dep deps[MEOW_MAX_DEPS]; }; @@ -634,6 +645,11 @@ int kp_open(struct keypoll *kp, const char *dev); int kp_poll(struct keypoll *kp, int (*cb)(int code, int down, void *ctx), void *ctx); int launch_app(struct app *a); +/* ---- app.json 二进制依赖(depends)解析与启动前检查(meow_dep.c)---- */ +int meow_parse_depends(const char *val, struct meow_dep *deps, int max); +int meow_check_app_depends(const struct app *a, char *missing, int mlen); +void meow_dep_clear_reason(void); +const char *meow_dep_block_reason(void); /* M3:以指定 activity 链路冷启动某 app(注入 MEOW_ACTIVITY/MEOW_CHAIN + 设 nav_stack 栈深)。 * chain=NULL 或空 = 裸启动(进 App 主屏/首页,不注入 activity env)。 */ int launch_activity(struct app *a, const char *chain); diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index 43a7ab90d40f06a33dc51baa97bb3b8dcaaa1404..fa057afa6dddaf6a50838612347460d6fc5755e8 100755 GIT binary patch delta 199998 zcmce0lX}8<=ukX>rBKY`fdK zBg6Fl7kgCy#Y?PvGJ=>+j#O?(9|iWI@4Gn0x`p;}OZ;*dzFAe4)vT$kW?gQ#8ah&` zq1*rQW4-C%fm^gcCq$K9R(aXgWqa>zJUih)RpP@D%hL89d(LIo+_2;PW3Q>KI`)z) zuRf5PoEj1RcHgfjp7_b+BR@QFYRW&OB9Hyr-s_G%kiNbn+Ksm>uetiZ-*1jQ`l4;; zZQtUvi9HoQ;`U{v?alCg^~$|_ue|z-Oy8x~TwQhL)n7xt^W3E?4!m~aXpH;1%dY*} zmDe43__Q;YMCG4Rxcj^vI}S{r^OWW}=ZqZ}?S?tfxuf-nV=MN2?dnU*eV0^RbLm$u zE8Fs!$bJ6Pw{73PqsVuD(YEu7wj4Np_d~AZ?F>0(wDa<{tG{yfH8))C`|34i5F0m; zJ%818m+h&#tjy$i2j)JRoeM5(NEO%=sR}no zs{G^NvLn?rd>}1SHFLLf*Wzc^kL9k%&$>uuWJIcQ;;A|zQq^z|!%gHw9;>Dx+qOii zAtD$dkRP1Li&S~1MyfF|a14Rrv%%bB4!r*8g~`D#io3i}Q%T&FJ2W+2AE_#DjZ_`n z#f`-C0Dik7RV=sh(BgaYLEBvq_Be95pK`)XI^m|e7l##p72T0RHAe#F;*di^UT=N~xjqp)v&T6GBIjyYqpKEfhB50(aB1o}^NTCBz1pqj<14klEo(>H z$*ns+-k#6J$SUIAZ)&Tx8xmbXh$FO?v$uOxb$CEs*VLotLE>C_xN0O)Q@{IsRdST3o;Nog z`8lEft!Zli=ZD%%os^h2e_p8VWaDA;=SR{GKMz%TQXn<>=B-C*C%Xrzz`-@<^G9iSZ@nd3 zQ{O*XQ`fK8)bC04I%2LT&;ATeEu-??6m1f2CGrVy{TFKL0QYx`HC0n#{wzt`kp3Np zt`df>Jo@X~$c@r}lXX?HL07FO=xXdVT_x?XEb=jLhPF|EEN`tgyCpdFd!{$;B<@P? zals+Cs{MmodAN(Y+r<5{TMdk$2MfUgFy~GDyyaF^U^n-z$7||WwEI`H& z8AoJ1k#R+aTp4a2`vA9C%%fDy@3^05#M}>-7@FE; zzQ0rZ#>I2rjZ)q9Q7WIioZH7e!ad8~z}<9Plxq84l=5;L4N)p{A8s)JuTd&~EK1da zecYd$jQP7SYj+0yr+HMx4v(5H@Tk(WkinKOcvJzm@ajyD3VhL)#eMi)hrU^V?tn)n(UkwDNxLwlO;}S1rmMsM^%BNC>!kldSo$xg zYwD8-I)Ib@T}~4B*h@1jit8ESNTD{>)#`(MRPfA+K_US4JucN@cuh zet)-ily;Z7e~-4p?Axt*v~O8OiQadl9je-L#{4qYPRXBPe!5%Rurv|#-haAX_z%p3 zyR{Y3H#s4`X@`)}Q=(XzW?o&YC2H4LwAorp8eg%~xRhMTAnnxN)6|}XcezI_Xtmy6y9ci6GrAOu0xW-SB_u82K%~c9q6FOqt}m_(JoE zJ=8+ERq`|jR;&L1;Ixf+8DFZYpJPu47FBDE47GB7<3e-eC0gQ14-rI|@LBHy$4^M- zwL;i`Y8>4M=FOMTN-dboLY=4WCA(q>5e%=P>$fM+CmG5Z#VxOP`)-?~AIKHz2jLyB zg?!6Z^*NpLB#d0H56tzKVr$>E+x~ZpN*VpSmM~dp zX^%a9sisFiHdvtr5_7ZadFc3@yUF1OZ@2XYvmWLD(4*?XIqni}^TqGcX@hfz7OsRM zuPQEGqVi6NRuwsm?}8H-yARikJ8QG;r~mk9)w0QU3m4*r3lBGUVlY}Y;CYDKAC`d6 zNqj7flMM9WFFO#e;<^3Y9&T4=w8{em+#}~itKuEeYIr+3uoUbB=eTpZ3k!(@E(y#B zYgh7T5QPCwaZeLL^^V7`uh(AEf^`>0tG3j;WIZ03fJIdvc$JUic#J>0S116o+KmCPWI>I|}iTKmc)v zZqXNnMG_va@P8yAafJLy2K;-XRStI+cOG|P6n_f1&2t;HO^?_5|F=7+N+iMGVO8MZ@9l&Q+*8j+t5LY>!!lGb_}R=Q;J+8%$32alPZ&j9 z6VK5T;L4qNKU*-G#D#|(Joe#f2At*=kCFl5MQ#m?pboi&Fv3?l7$DIG&b*1gH19ISauQ{CV=I1CQFt*Hrc0-Ocwc|7#4QK}vEgQM^8 zln+jUg`n%7nkob1!Rj?ZrF;kt5Sd^bm;?5JBkxfoU=z=ou4GE^0b5I85zn0YU?*4# zmj7E*b>Q%S$QbCGrDj0&5j6w$e#{DdEd~38@LbNFZ8Q`CvU*0_L)(Ru6WAonXQdgacc^DR2~YrJ!HNlmoUc*Hr=736_Ap zU?n&P2I~-}5n8~c6}svMv%mqc3>*UkJjZxa$uZ~y`@n2)2rK|c!4hx^tOV!4I?%J0 zc)@tE6U_1HY6#3ur+{F7h8|Sjb?n?_=*j>~z#MQGECQ?jLAw57>KBkcbd!w-6B+I9XTTG$IBw z1y9vgF*prYf}MG~Y65$~b}(m~u6n^Da0r|PC&3wT4m5b`i%+MdpdYLP^T1KC1oQ<@ zCuazCU=uh4c7m>aUG<9xa10wv6#W(vp{I1A>1eP`*a0xUm=ss^jKvo8Ru9fSk3 zz-h1+^!SykIFIn4=X_lSz+fjr1wwHV835ZZAOm3RMHm%WUW`$Jgq!{Q2D^7s zGvMHt2@g(ywP0I`uG+vkun+9GoEic9uFzHN2Bq@K$pF{{=5L_?w;>cmOoJ6*`ISTj zW?e;_gKc0BIQkVb1SWkIqXY}C)|EP%l3qi`1S`oHSPm9|V|%Gtu;K8HXCONGmBj6xd3Fd!?8Ug!np;v&d-z5T2R(X?PE;t9~gWhAPde8uy z!CbH#ECP#eB|fkntOKXOHgM=RnmC9s{yp}|L01Dg0|&r_jg;sCst7E6P*>$(A6N&L zbYXnLcT*!^CpZCSKTI1Rt5gq|1gZn{Ca}5(V*`7^YB2i|HpjpYFxZVSjW7hxf#ZU| zCZa65-EZjcU@MplmiFnY5Uc^q!4|L<>;YRq@8j4G*xOIWz!7j9oCasXnWre&Cj33k zzyy{)NB=KDsQd%{5*!Cx!IBrKa&QD32AlrKfB_DHUY;(ihG{Zz6f6KsU!qH3p|4t2o17H_me~=L{`yEOI)`4SS&Ogb(3FyHDFn5Zk0vo_0u<2ja2$(-jcyJmV z06X6&T`<^#Fo!S+#-E4>&=1anxuEO+C=uud%fJM%8uWn;;5gU~HhfHmz)o-mte7K1 zIn*qe1y+ATJm3&m4vvB~IrRStgeC~@r{oaK1$)79a1`u6L1P*|M;5ax1&Vt#I5h{KQHV0;Hq5sdEKtvEzCq}4xFu-!C z9UK7rLI2qiY6>hZB;d)kIhYCNpBuq^K}29V=szz))qvw*6IfA1JYdeQ2sI40gVSKv z?g-_|Wncr7f(QkrwP5x)sS(f!MyMfh0GtGez~CH0LT!ZdZlxwb0}R|8p>n{Yx(HPU zdcG5(>csus2-N}B)l;>g|5mCNtOw^n?`;t(;Z)ih%m(Kg$Ou^WeQF47-$#K!qluaU z$D1O8Y7k-g&ImOFPJyv`M9@q|z-BNP>;{X#d^18-g5@m{su|4w5j6r%gF|4^k7+8f zq%}gRZNv*EfVDrNKw$IT5vmldyB}KtM}AHf^djUu6QL%+4$yTPZS*Wv3KqOf8-t@@ z1sMA$0)j(-p-REhS4mjh;3U{`5F0t25>7;@Ja7su1uNd9DZp{C6|8+LLiK@jL0)oB zAPm1l$@3}EKO>YMZ1@i)2Ae-5AlP(>1VOLnQX^m>%cayAj2mDAShU5Z^1(^446Mp^ zsU|S#RF~=jjcqP947Pz&VA<&|6?-QAzwQj)n;~SM=~4kO@CBEu1P8$;u;Pm@)eUwA zTxt}Y+U`=WFAz~7;Xu!ME>#3}fYo5#`MiGv6N+8Lfj@8(oB`*+tS`Bgw}5m&e*yhJ z_RB6+0MQ4Qf#oGGRR{KiZJ=?nOZ9=SUA#308$k6%+8p$O-Md{X7cAW4Qsv+{SPv## zLPo$run)|=l$rx4z-h3ejEtNWgh0qTi#EB;r3%5x%U!Al%)5db0L#j$La^;hY5=Uh z%B5z(PSATc-467Fp0AJ*unjB*hrvp)u7Y^LIj{pXzDY*Fwpt1j3}8Gr69G5{=7Ig+ za;Z|V=i6iitgoXa-~`wUX5Z#g6W{=-&SAR!9^t`;1_}UXexHQFfqf(lRyNUuq6Y`T zp>CI&0Vly=>~^Z`Azs^qH3w)*Ft&#Xzyh#N_(#Y&So|mvfF+MngXF0xSaaf9p~eU_Dq5 zc7v^8AJ`4%K1)@C<GaP=ZOc*`8^o|hrteTdMHSa5Sssh zm4byYxUgtha9|T)?Mp6I0@l3jQng^kpLoLz4*$ia`oXN%=uTiM=sKTn_;&XC^cPk|T2fi1nJQw4? zfe65)@6*;`Wg`iLO<~%bOYhswI^ZW%DHwk@;lUxW1}tl%AfT}y8vv`pVQ>(f z0%!Mg*1%Ot72ivVK<|A-1je`1Helv2$Ou^eBy9@T_S2?d%~Mz}=zSVv+Cz!K1kev= zf<32&gG7js^gF5sEClDk7BK!2+Vpwa2&@AO!6vW_ zYz3>q(ccp>*ziZJ8_awO8@ZH`@MUTSG)Axyun#N&{eL1H*b6p;Il)&b8A8&Z$q3jC zPJ`v6bjval0JFflzmNg2>Q&krEdMJfD8L!86Kos9R=|SSFjjC7oE7)$6y!3h{%>Ri zbd3`aSOQjn!Lfr_D?;1f$q4A>XvPrO0ZxGh6Bx_o3^;F66JYUMk*X9ddz&@}E8n4e zQu1N219$nmv@tjZ#$G|Ue2)Tv#qU!C;51kbCj1}iUP1rQL}-Jk`T%PM+reS5dWHc8 zEdLPOD5nj<9I*2vA_D6^j#RavZ;tSw=M!oG>;RRi42Jz^n4X# zT;rzyBeWm{z}RHBDhG$a2GF(Et=hpXuoo-?hrmj394t`Qm64zNALtp>s7OfmwF9_tP&-!%-GyEza5&VePMuQW;Rj=$+94)7Z8dri&Dej z3^)zuULK`luf_O4KR65Kf;m@2sbWxF8KvsL4zL~cT@|GUz!q=iLfQ1~_C<3!@jZ)QMFo4j2PIBEY zL2+|lV*+dk=fF`g{%aW7_bCZj&pD0&*wjQsU=P>?=G;LOi5?slzL~Qi!vBEq*E61g znP4rLe?9%b7oh}V8mt22e@L5yHDEhf-^u|IupJx*$G{2D`x7DtbHLae=zgFN90aq$ z2`~W0?vGNHU; ze%cfq1)IVAr)XQy_cS#Dwu8f9(r>8=uzrA=0P~-rCT^tHfCe}V=7I6g5V#mjGEA7VflvcA=Te5VGipQP6U3r8{C5bXWE+PLOO&N$;+zs%}rZ%n}W%>p+ zS4=US&&#q}nNK{Wtuiwo&^+!=hzVtG{IixC-GPUuWh|@BQ%1G5X8*&Q%RK_uvfSMF zfR?_rcm)p&l2U%$@Q=)=9?;gFGI%V@co?}PFY>~F6mC|C{5W61JzA5F=;xLf{li%- z_a$@raZPO!#pt@6cT|bC4yC$`zc764u?fJU7tBd-aMDDzi*vzLUoJ@Km zXv}X&mD`tOJPB?F&gXEF!7RA=8kcGpEeg1d6I^t|Z<~*HYsv0h2<(aqtg=1Dn9MB?DYf!cP#Ick7IIHa?s%D7_zQ<*5*Ys3(KkkZq&0Pny zAFrknob` z3YNo-|I{f?v2B}TGPUr-KU-`vOet#YFpj}nO~M(H7MFx&;8n5r&)ceHv%_#cxJ>cn zbYA>!Rg)+Jhk2fZD}~Dz&m{|$6Yrsd;3s3?^*~&uw9!$)Jm{K-9q&$ENi*4TuIbZ@Z<3L!iPmCrS=ewF(^a(wlQt>8b8i)oT17RFS&42 zaINP4SLq$ok7}-~O5p0*MEblatI-Xiv$BE37Tu%WsoxQCyNkzcsgV}+Wo$fEBFiOQ zC)@~JnZ?+hwjVC%_vWt0wDhzomlLWHs|ZW5aC8Gs{vvc&v>&dUJ*y$} zp-;5c(FHhb{z&xZ&6C=SWo0ict7O!6lwc;i?vUwi2y|Z-*~4_q+5JDa|-Ne`a%8!i7!8o$!V5W#)@R z+KTO*npZtIE5#d=VrV{)tWKaaMi)Aoq&^Fm4JS3`WYrpby-SI9)O_$)jJ>(Y-ZAsl zUumgE8M0z~P>fnG!D=`^+<8pby6-4AM!%i2**z3x(-GFjxu4Z6)`Z)!)mhoM^z znpgi?OFnM~xr2?yT70OQxPHyC63Lx6jtS_EMHOk)nIFCszEHwA!=4W@55D^i^L66Q zC_`?2iwY0|=m1}SYF`kc32X5;U*Bct1KjJ-`h%{>RSq*HL!GdUL61B2xVWoI7Dv$!qvuNm`i*x6 zXC@o6oiaX!#-1h0hs#G2qaT@1^pW9wCh3i!EB(|m-ZSQn98OK~XBb6J zSk0(qbO^;Rh{O5t7Y`TE*dY;)*}%;DqZXf-16!@L9|I|u)L{TFE5dx|aV;^iLSz@; z2w7U&rfcC^TxRkU*ncN-tj9bHIc5~ObqTvwy18*!OZB>zQ@L?`cqHq%{J7eMf&Gju zRE5j&`qY=Q*jgYXabvXutYT&$si}C z=zyPvuMs{F*Y-e|k&Av1ebtfZ?fRI0Bup<^nM6O$9{ZSt$220G;X-t-6-)?6S=lt# z{a0HS^g)y+u@5GmxujvT;VR%f7GrY-a8+>G4ks;J0@nd2nF`f~@Kx{whw+kl1N=CA zyX{}*(sb(~NfPZqS+|CrKT&c?fIhepxB~mxXB1~rawOmHi7}h~|Il1pXW{1H;_b>< zG{Z?=68Piw(UcOW(_WI_Eck4n`9i;z=q^N_@tN=SYw6K7$XVOShWS(!$t7Qs!x1%wFeKR%q5=(4`Rj-*6!RCF`Wjso_e%{_n6R=B%yP8OKk zpC+*(-I~F&sWV9H* z0KU$SbNc4&i~UM}E{D&94@84R)CG($FhnF!qG_D{6bP5rpr_OKH!nc zc(k2Ej{k~z*E3prvj0emcC}Ll4BVkba31{J)#mHZV6!F2#n+Iynetz4#qrfRdvIn; z9=Rmn4RF(NRYDZmk6lu8?eJxl)TUK)*4#D#H4arFUKxc$DUQJhu4N#x`9)6!a+0_i zonyI>Vmw%)2P;XC1r;R7~r zS);@^0N)PZZu7%h(LKB8AB`p81Re@n=GS>vK!!Fo2VVzYWd|G#f3QjL(M!=8w$93g zgvo+W`jPpoHT#?zc{wH@?7V=}Dyyc-2~AZGe2yk8=cPgYDbu&be@0 zFm41cn^(H^4kztA3D*bLY3@JB6Jgt*X%z1|692?}@Q+&hNx8^A-rhP7FQFxhRY%3> z0=&^3bK;XsSHSsQZYDJ{z1rP?v)yHG80IOZ7kQi)xpi)NYmsbLG9*V&K$b1z?XCI1 z8w`Uk@>Ik-+BS)jNh;Kbq)0w=Gw5WXkxRI2xH&khe>hwLTmkQOL)j94C2$7sc#Dzc z5_7GDtAUfPee5!?{2t9b>P4QrTT#>{@M3qN;@y34IY*j1Uu2CiF8ZU)n_i>=x@ncj z9^Ur0o98~Qt%yoU!*15N&E0>{Rz_#z=;g(4y`^&(;>=4n-y@v60=XmEjCqMiy$0k= z-t(4A&bXu=+u)j0%&q9%{m3J!<}MoCJ%(Ilm^Z#eK2$oDkY?Wfl9nFKL{@&jahC|N zZ&^9WIFJvY1aBE3yImn(zKrPj9RKp6#K2*E0`WA!kHgE$6yk5votE+8>_}I<6+fC6 z)YcL|IE3F8_Qr?MNrw+D;v}9)bY;iz7XL7vhk|$24g~1AX1G zG?>%>q4cpGT(cd3amu#-eks&XsOHO3yy)!7@U|{w01gz#2(Xb8(L1td|t?7hY~at786? z?lk{Hunl#{)mOMxlkG1dtT0vv+tGWw1){8vwefRvnc%-@i4?HqX zK=yAB|ZuA557lcU8L9Q9#@Q9s?HDyT(h47sN=6m>wu0gJQK`Ktu^wsWG zoC$w4w~R6*4I;M>b8H=^R6bPmpE;9aM>VXO?=!WfmqYjbg&&lVSV|VZ+^IuX_A0-kqL~|C zl@XpbcXS72&0l3ywfD{0mrfsqn}ut)drL=nZ()G4zMpA*&AjC=TB=*Vof#W9AN&gy zF5k^0y*gc`nap z(K9%U-gmS8!ZwHfFcY0{ELr-=LP@Re16KfNHMoq3VVygkoX()1MelSyYm}A}#A4SK z|HVF$siFDlP~!BXi=UkzhsvF&-sRR?Ch<^!hgLlBvkts!Un-P*Q5657o98*JE7arc z{?JT+O-o9@KwFnV5`%64c=!Vge{CxaUqz-uA zi1GoO)r7~0-$A$@#i1EdIeC#$VH`eFH)9yfI3#2*1jgg7VaJ^V zJsfYo@;duT^5xUqN>0BJFchPtUJakLio-27Kj{iz^wgx|7&4MM8)PRk9_h@@G799Nn@Kib`5RVR ziafd2{1iD@kKE^rQf+paeot7&t!hPIlENVtdvxjc9JZ-4DDkFp%*WOb$A#&o3FOPI zHeOCkTvV9Vw{^zc63=((omtd=Hjez_~IB&E@0ngR3qucOI0LoP_LnCYTP+-V_ALxvLaxjVcv2jxP3G^QOP^Dn`CI8$Op)MOF%1l5qOZ z{M7m8dw-YpCUW_OX3QH}VoC#Y{6(C!!cWMU z#lL*KRt2AL?PYE1$JvY1YBto;X-442;bM{H@^Q;IZc}i)W|(IGDE36EX{Y%MQi{$* zZuv5&-R!eK1vpDfICEz0hp(4!-CP%Q63otbR+tG|c2kEwewWnTQ%tDV0M-uG0oA`S zHm452m2;}GMKW~QAUTdsm6|tANCW4P-#zBtBKwdB_LxtIoQGU{iTU~jT|_>c>%Y`= zzp15fZAR|CoTGVmyd7HcJzBGVXT%+@+asIYc74cKbe$Yn&sIu(YxmFP;*`EJ1&t!53@;H<=1Y`5dA%du&(%@%Zn9Ehy8b@S6gH+&xFBEw5B z{s$$l&*8`6+u&R96JA@hTU4CN;XtKfmvhwFbTCdPo1CAViL(69F0qR5E)@EQ=6i3m z5RwlG{at3_ByHV+JbnPnw472M0YWm@l*dHHSj;dO8WYz|HR?S?^_{7J|8}oZFvqHrFGygjP|HJN$jvi%K*A2 zboursX-gTsXE5m;Ew(1x3+^nO9Y>olysxF6 zQH(sC$&Y!t?Bv6{su*-N`r=IZAO>BnGRsD7UX63vL3iOIA>wYlmG1> zaI$0+x;fjU`t4}4Lerht)C{_!<301wvy!amOj+4^LhG^l!B}L_ zLtATNAO4HZRD804VwN+ppYY7zHpk1VYJBIN=n0KcR(pswH^JxUm>WNkVF$TntGQF; zN#vIE&09XulFMViz>r?Vub<&x%q&zXQW`(H&I_ne(Qyfv3zv5xZDuhxR|ppf<0S1e zxMH~W2pswLnM~_Qt=o%c?o0fDq_lbhuua!C_p!_{8wNnB*jViExqgLtmD zPxDpaEZjw2%uTw!Vq-nd9-QIz&sDuDVU=d`f3;PK zNyydLI%OpR>9|>Nv)7v2(MJbFe;rk7AC{4I$;I+HdB@)Q5!&jc60ROTyNVGSIlSH^ zu0at*Ycmu7uus~aHz>UJS ziGL0dghy{c<)g2zX6&-R8SzfDO;Z7v^L6vKSuOpT7UcRH=SSq;(Efm*us!ISzkyDA zbV=Nx$KLxGhgR&+&N2df&Y`|<_Jq#Nw7J6CT53kVi=VjfvqtYjmya&#Tl@yBz2{~f z_AiI){g!#lhjf@`ZfA_N;#0uKQR!(wzy>QE#605!=@CZGOx59h>LNfY8Y4BX0R#-@DJ; z_YtQNnvuu$dDN)0L(ujH(_t@UPotDpb`zIM+l)dLHhDO4IsZM6TkW82Za0%ZW=GXP zp1d8K$FKCGg*Tfg1yGINF+Y*}L**)iueozEFIHFs?`viNS?DY2tr9(4s~!FPUbgt} zMOXI&50Bs03yA1Z+|57a7kI7kE5$lyp~_6hIvCH~ruHW`OZ4sV33o3ZZhPU3Fit9Q2rlbx^PM?)wm=@f zhwiSKafh5YplcG&rTF_<_~KbE$-DeGLC(E0E?8ec$YL|G7_P8=AweJh3Bq7kg!oy1I>+1<3hB*Eq5 z&V$SEHg}2lGUVci76x$HY_EeGgsYMOm_z7fri7KBUdVk|2BG~NBHT5Aa}H;YcrCW~ z|0Jm~`0N7<>vQ3z;Y#7M#V?m|t|CkZF4kh~7EOR_gPYXM?N9ImSw3nxDIc=_k@>2f z?SO9z@wXSdLNTo+5a$GD!h}9jD%|b)em0R6W!y8Q@{Sf zr-*#|p+2Uia#fkT;;gp1+Z;R}W5l7!`VDrVrUgn8>38W%+; zzg>|v%a3b{=ddM(#MO?jWH$P8dr1T#WG`eN0jz{^OC&>Zqi}i1L^7X%_?bkP@FBm- zY3mZgCLk*g&qa)6=-bRSE`4>-kJI>wpHn?7DoG|ET?M+&%WEmR7IaM#j!XPk!TCS_ zY_?>CX+l?y&RVhY8IPyj`m)e`GD2S&EkDSS^+~kqSXcnL$KXakF+YmHp5~AXKQ$9w zdg533kq$NZDZfA}sbVdmhY!g>4!Wd6SixaBsYm%Oj|Oz*qT`ZAEr*+d3vX13rxxC; zV$6G7`pOfnAN^1v9R?gKJ)5ZjGeJ1d!)q&8v`Os*!WzVpNZA9pp=sgxlbzyfOA?kj?-reWw@R zw<3n+x*Si55o#Q&Bi{TpQcq3x?4&!bBER;U+A4?m@xccY%&l&|sw+TlI#T51m;`i{ zxJMGreQte~y8*fODDxNSlDm=1*2Gw?jyJ0U2jFVpctF>rzzp*$cQYnM*6YzERcv85q)bLNEDo>9I zJnV;&U;``tVjyGS8)>BWLK(0I~#y)d^P7<7jn}Vy9 zhT#%Ues89PFYJaah9MC2!TC=yx5ntH8w-%L^I{f_#PU-#&2aqAu60S6O1S#d%zcDe z(}LW2W{k>p(h+?p+++cr&b&QFUmG03={d)-5!8~ENx1AC{1Z~hatSvFHw|ZX1l&?Z z-rZ!gaB&rhUq5^ve0ca=xH-5Q^m0k~!rgowU48CnBPhpnGkmG|nKvE|*%yhAlO5%Q=(sK)*`+`xu*}QJ4p02Cg%)6HA zJC}VDrN^daDLu_stEc%(^-s*mIQ<)8be==s9;g3N`^4OHgnnOey@x=)e%-4c=}PIn zLtmGZOa!I)9M>&fmJfHovl+{VX;E)?5Qx8G)NU8Zl@kaghkjG@4jU4wxqx&{J|b@c}x?dl6W($yR2 z>FNm_=;{tU+|?O)sH-Dj-n&fSsO>agT&Ay1KRZ3e7^TMfHxhF1+m>RCIC5roiZSfS zCkD*8<@%~4&GjippTiwYOEG#J`9t%R<@)NabH}9^9Z*Y%YG8MYQSGQl*QFR$jyz3r zt&ZG4bS;jYx!Js9xqg%WNzlA|rM@BYkz4dwDczvDx9c>w=1H3#*T>aQ8xPm_hv~;Y zN8cN!AGP(buh2InhvJvK4)00r45cyhKm3e@`59jDvw7Ufr^M5L@j^U9mLIV*r5~g6 ztd<(E!%6v03#H!{mcPERFl(GJJz?BdhwHZEIe~b#hSE=K$y1>+(3Hj!I?UjnZJlZL zdHMpMY*;c}=R#iQ>$)~9FCDi2?<@7q8^kgzu*QXWG^3q%3y-_i_P=$NzA-N3uVtRw zu)GfcA->t>A6=zynD<+6bMLLvuhYxi<|V83?ZGQuwhcs3x2*kQo9j365qh4CK}yVZ z*L7*eQgHmbbmR1VscWD9b!;W1zvlWhL;Ovgu%M4uPjq?J!{`Dix(k)dha;KlUY@Z}@HkB0IYZ%kd?AceP zd@_hC$=p&JV(z&jWA54Gt<261o?v0$%!y2aUMqu-7+Wno_xeq6%eimf7vnJ>Owbe8 zOT20RJY7@grAyo!Jlk}a`fs{Ry~6!S`o9kO;`wwt{YU2e2|Te(@6sNOR0lWm>4>q! zcTiuVmgm0piWWP&EC0czYFTbpZ_2({>%&;d;0oj8KS@zs#;+MweA`{d(b}GkE=MnZ z|4a0m+M7PRYumncK21qn)4RO;M7MN4o@Eqic`k8DorOo15*FDuC$dfHOUTIVuC#rU zxoIMn5nt-?3pW@>E}6<@c(cmQa5%l|{0Hp<7$oSW0NQ5?z)$`=1-Rny5@_=!nBH~f zK1npxSW8IkM^R!e-g#W2N|#H$obfCpzRU=Q<(*^3;#auO{jlX%`LR z4LaoQ{p-b>4})^N=7`r{CF*PS3kJ+r6ZI`YiQyj1yCw(c!yz?kM#mdBW*V<&Eirg0$cS`NW`1e@)2K48u<>_C7m!5lefw^@J z&o;ljO)?uvQ=FSAVWTNfsAL;JbV3S)>Ox>O@HQZk1x$nG{M) zmQ4QN8lG__vd8zDiOG7R?yWLUNY<0r*qKz;5R@6Szfp#u4;UAG%FD2GZL)q;@U?AN zQ$(a83zv4yZ49!s^0IhI>#f!6DYsZa8p%qzFRe;9JP{9Nq%mB})Z(R1(&$uaOqC-H zLz11_B@Av^0}dXWMR#!-e>+ulO4q|=F$8*l&{9g}4llL)gCz9tix^JzCo)8S@xsl< ztlFP3?hG~GOFYh4O9ioBi{P^!D^a&Iw~RB?+gu*wr#*MeXkg6|WZ+2V3Nf4gk(BfBH7Vm|^ic%{|2}>w=*@Df~d6FMblYR~HEgyzeXHH{SyF?F8V2Rj zBxhXDj-@N-^;_eO)YKnY%52KABb1C((0|T8*7^N|f&|`;~ ze_R=M)wIz2rB{_%D?zs*qk-)sw;Xr_=RaRujeePvHE}{zkV- zv8EJx(%?a=v5c@%(is0HMqJTri}dC5`YhfEiT>tA`igmdwwkc?dlu;{Rr{Bn1dd~i zLn1i1$V1h91SeWEu$Ki+|Fx+N5*f=k%fK1pEUb3?ihbBkY<`rXZ`KE|H8=Y8Z*6MY zUDt4Q!nYa2FU^VZ?or1&;j%}xSWiTIMr_3X#uDn;0~Uj$=0U%{ce#{bqFmxwQuc^> z`FcG$aR4ikMQxswteCeXJ8-Re_j-N1-n83%Z@s>1`&EQn!jEG#Go`eu`x?a^%A(H+ zD;8HQGWA|Xc0@l$5#_042&}cTWp%6bHt1V7Tiu5)rABSP8(Hs37^Syogtz@HgO1bo zPjAqF!N_l3eYC!6%Pm$OmK&0n3GyX(LZ}=arAqj;gf?CH@H}6&#C+mtwlCUtn{OS> zYA`gD$Uy1Ma2fb-99H)>+PxyB;gnB()*yL@Q)cPfk@TXX)9r35b^EiGhBa_`*QGS@ zm9*u*{(DY&4lAF8moNwH;lh5x`MmKW^04vZ&>_ue+pYb788hY=(-QCIYtyVQKCpY? z5iB%CuUCHC@IqsYJPr))*|smiF-&XGP+zK!bD0}+B3GFu$LI-PmF_An73!{`s*`|I zhwS2u8U3%3O^Uyd;)gFSD_GmgT(FLAFUv_;R;KaqU;W5Dc#OVc!w}E@51+hBxw4h*swfEtrTWnCn$-T{klo zNu;;s+YiCFu1L4sSCH^*UWT!g5k9C~7Roc*bl2kYCiq-Idm@v_kFvuC%6pmDbxv15sbKwJJ}$w`=sApxtL= z8J$Nhgj!d2DCFrnt*w-QubD_F$*BplydKvRj}d!y8T^~b){1JUgVGN=c~;AAqv1P$w(VOA__wp|StQqLyh49W&|j#el@oTSS@T-XZCY&qo~+K?|7x)=a##wA z1sTp$e73VvU^|0J+l%FF^UGsZ>^j@tC-=&Hb7E&Ka}*scu~MaW_Bmm0iCsLUMVA^z zknaht1n$u6HkLq=;A><=@D3+Xg5ytV4_P*K?+xn>S=-fX?Tu0^EQ)nLNHSigme?RR z(w$zt-dQ<}uD9cpT6p6^+jeSIWYFqyF>0G@fDNg0v+Yc%NP!HXSme1PHUk| zQ%WXYyfDoeJiF|n44d@n9cM4tf)87$Kg?Zzn7iOGw?w-7Ov7l?9^=_?TyNDL?vh$5 zi8Aln#H-INt-XskYP*_UKJ(R0`e{MQeUA3au1eauT)S_6`OV_X8W<%)DfI<8w$aS( z$ufLOo|UXMlI7?861!SysR#KHu=H6Txuw~}7!MuNjbUn4hw0>#876liiIG z&a-`J6n4>`yf1gzk?;t-Ya0Q1=;e}u6?bQ7VYVU1>#Q7Qc4Uw1a(hK7&o*?uM!H}l zU9pia*+|!Hq>DDvRU7HDjh@2b6OHs?Ymo64KAzF8?a!c3Hdbo)HLjb!gcIN?MuWD$ zi_gF?vi*&Dxa*l36SnWq;2*H>>IMCvB<#A#URlXlDm@^{;n(J-un%DSIXyYWV0yLu zZ%jxr27@?$vRBLfc0@{cKk{YqT5k6dDcLMdEKhy{gm!$toS!nkEPL#%6eHjAv(g%* zE=x>d-DQV)iHLI?c?f^mj{H;P8AtY=onrJN2c=yGFD7Cqx2e28D0bxL%TkP3N51Ns z6ee3cfw-a+qd622a+4!Bo=IFkv9MB3WaoforIowW*pMG{rm#g~%h@FhOYs|zNHOA_CU}dCdL4ORaS9K3 z`@7C3Y++$aHf!ZB-!?6G`;L_CPA8uC)}(NJ(T?*wEa?Xv`Hk2V!$UlDJ!5%`BUCt; z&)KdXS8{L`&*CBA@C6R~987Sq*})SuG9%zvq-NY0r+Fl!ZFsEL9%F3qC8X8*RKoV3 zW_%Kq=kamI>^y5QI&{dJ{^23Tp5K4dC9;I=_h$^KpEb(HNgf#pkB{zq=SnBxgzfDa zz1zDP0)Cc}e|GTxj4|2#kcI~Gbr@m;1nF%^O6d{kHNv7NN*-1tw7nxYFBWvv- zO;XKpUd3=8TJ)71ZBJ^2)L@3Q}6NpdOGzSapO zZI$FKp=8>XQi>nRs4Trg8J%(V3MCVg8F^h1D!r6iYDzLJnT=QdiL&~9#Hl$lmfm;- zq(mGdvGB&RbM|*(-HoH56^W^xq^}5mJKCPB2xrY-yq;<>RG#%lLB_YyJt<9^O5tCp zwU>SyJWof2$`DT(WPX#RY`@31*&7iH4-?nk_xWXXX8hp%lrJqI)4sHZ*NIq6C{)l; z#E)w}Z!S3Z@wj#?j%O7Zt&YBXOe$;&6)>!-(qF@ z-DqchKi>h&lr2=s%rhzcLYE!3O?#qo{SmfVN&|kvq-?N6q0?D$@l-rt38B0S;|)e`CM7=45?!Wb^j>8vD$XPS%eO_R^Kt zdH)}C?;lrHk^hg+nL)fF5+Wd?;=Px1F9?Q+h=zn0BsDc6H8T_BhZ<`BtkkRo&5VqI z)Eu*N@n_}|{>We3x-ONKxnKLR%_+T_xYMR2d?&G_x=97|M>cN;M_Aa zXXZ7pdClwByk<@@ySWz+c5QRBJPQ)fULTu*JX)34TX`K=R!tHU<_}G=3KD?6wF4`F z|9Ah^4aPRGgl7~)tE?4Ya|JX3HVS~^n>30$vt)q9&bzRod6^3gpjOp3Su%W!W`eTfee3&;MFoHM8 zcGvQ_GRp3N+vg~|J)`Rj5rfjkFnRLn*~Hdhy(oT8Q%irg6=QpQNK<7jhBO(InkT04 z6u6Uvy`xpj=Hu2gOHR1ND+uKY(4ICi?YNkoLowuai zmq=^SFcu^_-oKRynpEiI8x?(Jg1%C3RP>d}dzTSiQP{#@o36Imbk)E!eub{eja?95 z+dx}4gSK`l+9FgCT{ZeqdJCkC!=Y-?*49ysA#$*ub&wAn@?qW9)qrL(X68I3@Rz{dFU^!-`_(m$j4IO< zrdl05Wo+C^9UE+ILfgF{5KHLL^iqT6n0Ei^KQf#wut-yTv53cFbH=i=Y!7ELXfqW6 zQyGI5PIdbkl4tSa?(Y<(Rc=Q8JlL{Ck`>Lr8+mE-Z^monqgmK~rfNfwZHtCGhONU~ zuiILQ^gg6@!!Y+2mmEH9SM^SO@0`FJjwu}iFs@>S&9+wPco$5dNGv06Issl=;FCCQ zA;bvzABo~gZ*!vEnRvg{SSMq%c|@<7P|6Y=2N3kAjKFGQp0S}>N+8ya_f)=oRV(I+ zDrbq#Ear7&;gZwI*}OB~JRaX_2#AzVWphUvZTH)P^!?vyfoUrPqyUhDK*|7ZWmEq7 zqGT@(oPZ*w(kZfFCcElw(-|9C^@LaQijXC|S=DWMuDJZU%q+b;L)qIzd6!S5-bM4z zqdL3bX1NQUk;}#7bgJjs^jzEWd?!8Ev^;O1XLvv~LG{z>4561sSuK0MdKO5*Q_DEzF9vB~*Ac+wnL*_SLdo>(kT#Nv_Nd+aQ15O{TJqi;-p-?= z1_G)!{|W$#=HzoZymK1HSv}Pf5FW=O<}@}|-(ZpHOye0)(;0->0tL_n~^5RZ2|t21q?OiSyjvZCykZ{UUmQn zTm6482CpN8(mRQ)))Mu<1xVRi)eu2r&#VWtX8*Q#FsQ)>wT=QnmX`x#?}AXB|1@d> zn)>pf4+8e7GUNGXh<$z|{vS8w*G_Ze$Ro1qWMLFGQ8THASfncZ4d$U`wII;8m~@*k z7lTa`3T%Q0s9WjJM$47IX+hXL(>CFVSd#a;E8AOgll+oF=TCDA*`aOg3zU}o7*vP> z)d}z|j)7w`5X+IUNP5K>=D{9a3m+rdU=O7dE4V9jMhfUDT@z&B5S~=FB7rEjwc3nF z9Eta&^)7A5KVlIDy+^<4y`6q-(?E#`X~XeAKCfZ{zJSp2v6bJ6LM8Nxt#rvHSJOKD zZNRo}EAuVOPku=#fsd zQXa>Xu>8QB)VSI*kZK$4Txq~|vP#@(zIbfGQ6vqgPWTW8=A zZ!9XV-C)#i9Rs}0kEX~C+HcS5u>sVa7|Pk7yBfK{=3Y1R3?V^5ym%A%)HBr{U!#I| zK6n+4gE|_A9Sd@e5=ma!sAn^L|ERk`{%I(WElZu@syyF>C=e(ccXTiu86Z09*L1|P zY@?5j&y15r&RSx%jYU~C|7spL{EON|I3I{xS<46WV^!Xf{LIS6B44d1 zw2|LzG_>~gE5vED^`N0mw?JLJe9#25f)7e$B1oB#)!iV~gyB0sF|52(42#7#OKF@o z@C5WDm@68D&X>D~!3CWR@4PF%7zARNM6`Nd4GhLr^RnL{8Z9%PXyAL~)7(=#Ut0NJ z`%UWEqGa3%Z6w|6_x>CCuFBZ>WCnVQpW9Nm3=P2M$Bf$Q3pLuPFll6v+Co_MR5W7J zY%2fGOSb>{qSJor%G!F*c_+*pC%4s>TBt4LP9m4}W(;hDg>k}uI8;v}>NpJKQrX(1^>Kh2y7d zmuFe^mBWm7en5|z79SvfVDkk^Ip}Jv6{$nCLwOU}&EeEfCEHNeJnsf}Z`O`nXtrkV z3I~g=X}n?m`T*u$b@GOFTLp7fplnsM>j`r?-RjV08Z%3d9YDQBOpFN9)K%_TPX5-UD6R(8zZ&KW$}>_c|3cX%|~pk z9kEdUM!t?II+#y!kebJUsa1oyRmYZp%F7`~VmHraFJBeGyisd8$sQ;%YUer}=4L2j zUN$KC)2Jib&NtvTP~#>(xGY0u*XnGDBpdm^#VNLZja^mX?f+n*mnqkjzcF)g*#E78 z^Ggeza7g(p45+f&Y`dHf5`EhX%@)pCY;BJXShO_3S*)nXT5ADQT}Yzp1I(#70=>5u zTYp4#i~qe4+e5A%4OZP`KdMr?-yMkH`1)U(bM&wZ>DfIK;2`znN`nvJ$f8w`2mH-Ju8s+pr-~Kx*YLP)M1IuCZ<6iYrXs z(kq^6%bB#0|2qmP`?(EllL#>&!ieWQ1)%)4Eb#itf>=LUK%xL%dZn+CC?M+4qM(s0 z##QzUvS5Mrg1;;_5Ozmgq!08a0JM3`G6G>6@5(Yiet)30rt&Oq8_zo~>Qto}b^Ex$rHWm>zj z9brUV|6AXQO*j5JLr@2R0iHmON!>uM&19j1pEyFNK@r60L%W91hilH zZzZ7Sm4*`MB=okEfv~w;Dc7{3$dD)p{~#iUF;S+h31vn27g&dv_SK zmBv(_Wo<>m3A@?H`l15^w`2RGnx>#V9E+qQ_z*<@OR9jzwp=oXhm_H8dqvo@;6Eee zN+3<1%uX^t$qXfD3iiCJw*aG5_kUXllE3U%8=!{Cm?pJ=jA^@5+Y6d#v5M|Y+n|)+ zc&7_r0nj#7tcB2hxi|(0!<%-J{0;BUYF81=nRF8}{#xHB*WAh@+iimg^Mp3=wxMfz zy?pUjY`{THmDqLc7qqR&uev^pc)qDX@i;<=lQk%_$>y21K4rs<;6BTKr7@A^;8fg) zBp}0PVQ_46C7lL%r&7=~b|I3j%_*1ker3Q)Bt`vS;Dzrk8YM+N$0#K3N5-QG<i@+y_Qu1ddI%I5)|kHwuPAF#AXu zrQoyG3FQW^%v@VmorQ0=p>Qh}TJ;iZWaHoydjg(W0*uU&04pGvemhu}8Z8aNwqnV8 z9l~3gq;2+qkfwD+wEh(8&$qBc@4~aHHlSN9=Q!;zNW|s#rJn<~yU>pf!*RF)!u?=~M;XST#uQ+aw-xV3`NwZ~7W;47 z#w3sFDr0js#mCXC-)hCjWdL5=zx58ylv&6y3(Mr#hQM@lXXJ1utvuyTB$-QLfz=CMD*ZCWdT zip#+{P3EO0j~T-nmEVUZFu`$}ceD`NS?#)Le-I{Sb^*_h?ii&RncW#tqW&!p7r?h> z6O7#tmHYQ)18DnQuVl!?jH%2C;-b`lOTltwD^K>X?27et*gIUmwq=G6RcPO(T+<9{ zCzp)}wOuSqF`aCr7r~EJz?)(`E#ZAWg!hd=c;861w5D58npgL$DTDyJ zRvC(?TrBEk_S80A2AyiAsIFwT15DM(pkO!?&-A+vM;CgqwK3}9-n>4vtTHyoq*DA@ zoE`ENFYhVjiEfJIp>yBQVgiT)UQ%gC^UkJ@UfSBT^EmGZ|zp45iwpM;a+ zS=pA277U515zvl%-JVAxu>p;@J^>2KC%$wRqzEH&Hd)(M0hdPNEULUqL z^uZ)|2h$`!U@7fc+do>)Dds7GuMIa%{H`zN(Mi!+IB)$vA=nzgynhU1<5fpyN}2bAN1%HGM3RZ9`=)KXsxCL9_189X@8 zL|Ttod|8mEj(#_bSv@Vx_+s)k!g*c9>aiga_ZkARdIHT+)}R>6sya|)Kvkou_R{H+ zqXurMG52&b9P!2O zT6+RCwyX&N^DKq7K^;EY--8b60F*p80h2tZd-HS5L@dr-XeTHN5fDfj0@>T3BV3|_ zP-Y{er7jN+gu@~{UZhd|wo#l>8Xqpw;ETveijGYsAP*G9Dh&6Vp?%q@Gg2ybzN?bN z6$7^>3yg@WyF<}#Up2b;Vpq)_7Kfo1%wn^$)LL{C2@9LCXI|@5Z14^|o5k{ri9Crv zwo*nzSxeV8?%4omm9)R0&LY6Tb3DH(uG9ki;Z|>?& zQY-2Faa$IVkvC&)mCM~=)y?_`*SM4&s!2*=tJpftuD-^+dS>n~r#%rv- zO}YU{nzSW~mFi$YOZS&&oSjNZ@*cPKX%k?&U`&ZP5$Q6M>QmVxh>fYJES z77j!fvYpk3G(ArqjO(K`gnkpM45DvnCv-GgX59QCOjEFdx?DR2-XVb*T7 zD|~?p_si?2@BtAQi{i0jIQZq-I6Er#8~OAU-mz2u%$8W)9>J!Su_wjQTPr!T{YU8k3U2IA+htM#rNXb4n)8B z@D2|S!I)wziaFsw42TGqy{7ZnAl-})!C^9b8u+`0CKG_%GmR%^e~y_a2sZO);x;wi z=^X|A))QaI!!eUKbT-;e3kvFi)Iy>d?vtNR16>{9~83_)J494_izqbemWgIXj+U6nZe!syhEnU;9eDWdw&IWY=v=wh)>Mq?y$;OUG9g+kXaV~hU5LZ zW;|>B47QdumDzBFvn8;GLjj9X^+l6uek_dONho&!AE`5V)%m7D*hi=6<+X}~ka=^T zA8bTtC}=hE&xE?w`cP-d45}~@Da-+&`NnZPLKE$=Yqmg)5aoo zg0RTt#p1_m0z_I#^s$t#nzX6>y4Wkr<>6@}QkIWt6`ZO(p=dnF3fi$voZkxPl(jDg zLR(xUqRZ&KmSS2D{lz<)j?v)?K7>)}~iHd~J=IiuK zzN|-skwc0rJ#B|P$XxLi1}?ID6wwhT+WO`mo|c_cJP?+1p>i2CH5DO03!n9E6a?UL z;MW9xL!qjFFrAJy2AEf2kiKkhY7~~o%RK|w(v@=h!+{IrzM?=!bRSEJ3$V^lI&glH z*3{+_8FVj@el}mG-3x{cz((K8$A;w;yRloYVoH>1F{D_&bT2P3%BAZ*-XXfKjBO>a0zWS@gLyr5CGw;D z_}H>5>(YDR-{$5L_hoG)LUIwVsm&oJdhe8e4=>T1dGx!{+SsGtdC0$tE$s1e^E?4R z*4&+H$rBl)O630gL5LgX?g?7J(~OwmC5Ioyy^0yU@z5*>dv2?*yd4`-+#U#vqM0rz z<7q)>^R-HUCV$VGGCtPeeY(jX%R$DzVwt{>C*=@OxRTU%xANEaWNPvnYG1Cx|cJ!+i0r6iP2PwKmQ8 zXV~zPSJ8fJ8con5KK7bezc$b0_eKa*A(U69U^$zwHP$w)T;+iyVNGByAxi1Ee0mX& z4Yp^6W=}Q-w~mtg9^#=iy6+e91ozqe?v)9S$xK>^L@aH*C$yHe4b=)g=qUREz65k+ zf{w}+5z|OOM<*WO1<^|YU2Mf{1l7Tzja%>fSvqE8z8tX_t8#dWtXhowQ!tt>i}_IF zRr%dwo@gAGt_OMV)Fh!dDs%^4UjtPu(DPAMEQrD3Z>E2llx9 z`Vqed<+iyzUXH5dL#V+um3&Ye(r;)O=j1;sc_Kj?{iud?=%cvCuR%WcDDQ0iD4%=O zznzAKA~}*~>=$M^sS0bZiz%m9@#sieA2g#A{ALb)tf}IWZass-Ok%O&P3)t7)LzSM zDK2oVif{6pL6x_(nx7!>C)I#E0;5Z6z%9|{jv77*YuF=Y8wK-7kPlVDhb zB7$MRRAR!cL}-`)@=jO<#5^q@Tg7{0B40rgsh6vd5B9dOIdl^81WzerJuzyiHP7O> zIw^I1FJn{5n9iBJZFvz)wup=|C2OmkaHvz95!I)~P7H*iI@_+&jA!PA-ne$A2=}9L zEaq&ypT%G&H+v(7m!wseJ0igbJ7#PsIa5{@$jZZAwYYl(?g$Uv59x$^7Mx^5$w&3v z@z>dUb!S()5SmH>D<0U7V@fvS61i4fSd$$Q2jHO>;*?jjbxgd}g8&f1Vk@lZ)^RO^ zA5-F~#P>>pHf=PU)Brh!h$zRDB-hDRPXgtOSM!|Av-u-1h#jnL&058~H$beJew>cz z`sHreI_QRgBn1CaP~-5DIgkY+W99@I_$2NL8C9|#E}4#|tG0-_Hs^o?VVqdN@P}qT z$=!Wuf(XX37K}70HYc4q!Ba^bk<6*sn-KGH`}#m2`f@QJkabWN%} zlYd?1rT*A#!HIZVKwJ*7CLfviYG90fp_WG)d*#tu-jR_1MJ>-vAOyFz2$B#<6L=V4 zQ%d>}v~bc9O~Aay8R(V6yNDoJ^%YKQ?5l;#W3PM;flgLy-e^KOwdk-~v^9EY=V9w` z$tc$EvUOk{-~_wZX$A75b$qo;F*}$X`Q3HTomc_Gm%-Re*TCZlbL2<)^m^W(SmufK zJabTCNfADP=~i;vR%#1NitDKR3Fw|sR0?J9KPb8d8+dxi=8}fmnI&85>PpJ%W|qiJ z8+bM^>Lb6{fD3dB{glKB*6%{J-vvksvUHXSB{FFvk7+lr#H_Q2`;xqMBaiD#Kw`D*dch`W&j$$xCt71IaKVepUCYSdB+r54=|6LwURu%V%w86!p$YF8hgs< z87lFQ8+m5r5{tPdTI;-@QuAf*CLYP5)=%2Rr<9!sp@f6=CWaRCv%)YtGZPm_m$Ly0 zh9k_$)SCHnf~&@BogyV0Xbq03y*d&XEcWxUNTU(s#_2S6x@K7aY%?zr{_lQSuzfTe zssOB^V4SYnV%65X3GT{y6I><@ABVr>jnDAz1?$HcFwZw^wE>=M0sN9RfIF?{Hffq3 z;pc7U#58z&H%$+o^!OH&1GdDmXSjF7&!@>%d9y__^qwvcHR(_bJrmjFSpH`6xy&nZ zRb^URuU8^+Gk1r~ELr@h3j>dhKf~sg$d#M1Q3Uciv>A#;DU|7Fxp&fID|ztC18_A} zxm&H=3Ed&zBw8J^@dsGNQ|5>oJ}+!;eD#6}mB(+9h-F%L(pUji$@YU3uFk z-o{!Kaq|7&^S+ViCu}lf9dRrXXK7;{@hpJ7R(XDc^wwd&Y!#rr07^bTVMAR2dr9#b z>Xq&xB1??6;HgK{shf7G#hxGrfHD(l9Wer01yt9C(@e{IkW*D}Nhyso*$tb($e>Z? zLDKs{-AxULmR3A_zS@M*GsjOiIiD~2bKFg%@jl0Ad)dTiD%r%}zigK#ybMlIPe&x&Jv#2j02#96T&e0E2c0)$^pF;E4qEKr?uvTu_gx`ckRK zZg$4HQJug*P`An*s;Pp>X}Guq-KG`pr~QF4#e@s;T|*BVhu#*v`k?is~{b+ zkE!0(xOrILNbF;0@?)!fmMesSf*LwyEB8WI*Q}UKeOQibw!%`JBR}7Y^AR`XKvjd( zZ(z^5r0=l zg`cbAyyf1&q+miW7e};i>HS1Yn$hoZs7HgL-%sJU%zK-M%Zlwhs{2zVdH7Ctau|X4 zRLMYa1gSuEx1sFj9ih`mLb#|BdoWPbiaRJ8+a1I>$>pcv{(cNF7f_IqQC_MlZOq z8V7bZsu)YH%0$D|2^@Ja=JgG(1IM&n42E+D0c1l=V9z6XmRui&oEAR?(b5SGNVMjl z+8jK4Ffe9uYurm*#xV*tk51hFNrlA5IVuDjdUX0GF{j1;opr?ksHur|2uU2Ikp8X| ze^UO=<`-8seU)Y6c7PtXI?-rw6Zyc503jBk9C~hZIS_b+8zu@A>OlB`JGpyOV}5L1 zgR|&9Iv7FBH-I?+R_mL1ZPkk0$)`=-f5nml>quozMdYWYHH9| z)lMEc;cWiMN?y}jvAN+TDRpE#ac3TkB_ksXQ;Y?vU>k*0yD=Ci?Uwd!ZOU4IqiNbV zjl#gF39|a8>)6Q%lQSKy!d=wjQza@$L8&i_KEX2VR(>b1-33eYCpl{uwlH`0)dJ+F zOd~ia1Sc5$$hFL`EDB|GT8a={h{+sRQdIYyMKyYo)V)*+7vs{kXh?5z24cV2wDB3| zSDyqF7F$sBGOCpAcJq#tSQ149CHEjov>{d_0QK3=zq>)NIHE>>N~B%d0CpEX)PTr} zUBr?5;Nqq<^J3G6DpKS$h0|}jbT<^jM+R#A+DnYu|0>mEPQWVRQ0fK(7J4TDkxYRW zuBpzhJ3OHHP1SZi8?JMhAAC7j;eh4`t4#ggIZ@9K;i=Y|XN)fn4qNT?C1m&zkwF#e zdKc2&y%b7@aUkYq0o@iI__$@e-DogJDWeT4%&<&n)_f0g3vzQ1D^!^fFXPF zZJ|bRNAg8U~;ms{oiiQF=n*gvL_$Ux}oh z53mMh>-*%HP0eWG+N902wgNDy9g^>~xX86Ygu&yp)FOaVHy-T0Jb*Av9aBm#rN zE6lY-Cg4Wdl9oUkJHNJs;%GwQm-uaG$gvz&j8Ntw_iT+Kx zIsoqM9)!}UiE`Zwe9F}U1)2<)l?IpU5r!fqGMa@wBuHBoHg#BD^G7;@(UX>0sF#Y* zMR>rl8UGl;M|6=g1y?F|h#TUl{K5cwePi6=6uNSXmY61S0&@!52`C`JZ)BYCdQh+B z!elC^GCBi5aYFRW3KV0?%$S3yFVz6ZJ-Aeh#W`6md7;Ro@^ENb1Uq#=fl8#I9G0$q zJTYaF-x$ucyL=4xGNjk$^|8z3f_*$PDSRTKt9?dzsdF8bQv_FdX|h)}ZH>{6Dhn@_ zFYSZ3Icnk__n-KpR`?+|y@aj2N9F04c*kqzbayr1zP7A?%Z+Ol_-%*W%|aat!Tkz- zefdvUDuw0Fm%U!*ac!>aMbmK1J6{&P%uB*v#Um{P^5UdokM`p-dF*AVw@81q(wGBq zCgM5s0DLY;$5J}Fmz;Az*IR9szhI>&ta{($IdwGJ5A6_}N(Uq8wt+QM*KH`hhTdfb$%;3ey`5Ku_*uzc-cBDp=zzalt028Q&>-7fa0*;lR7G{Q4qGh$ z{wlvZAatU$mUO_#*jmtU7y!!p6@aqVy)AEkjrRBHk58#mzmL^IB8L?X&q8KSG*hj zI=onDW6XBrQTdFRL;sMYh$_=9P)IwJb|{_ zQ1s)qcy`IJKj59D_Ye;=F3M{T@nPx2o5;Cmt3R|OqhFXEW$fv0MSZ8eC*gacy#tzXzVn}FWpZEIRi})8mx)-3I!jgU0&v|W^C_gm&x64 z@Iju!(lBoT%kkPuHT6$tt3CvKEG*Rlpa-PuP2M4WXkR0EB8shhQ!+k?C+^unfk9=o z!9_DR0mEyH)3{`Jh88?uS5YdbzlpD8T|kqIOXboxd0O8C{gM@^7c(?C^gewD#cq2Q zv_2Xh<>MP1;Jygr>ubmv(-7JadYC607i899T)|UV>aH`v259PE>IgLm+6sLy3bDz{ zZGRq>y$_ts!CZm^;bvoBxB(z3KQ5&uKQ+~GBqC0f@-L(s!J9Hn6B}m%v`~?!L?G2M zSZoif^JGWt1eun6vpc2&yE7WWPBk%v5zr>Cx`aDI3Aa_auO2}mN;dkxYl3#^J-Yp$ zR3`misu^_=GMX){CtWxgDNPVQ{Yn{#O|;OtAaLtFoiCTZ1)gm=u_FDQ zSfOCB)L!>7^2A&4$>N(0F-Q2I=$g`Abu|k3zI9P-CD@xbt1-0;j_|a=no?M~rSb** z4*9UBUWiR56xzY^(h+<@?{qe;79YbA9WVpBjl@m6YnD z1v2+2Ovj=Hcn9w3e_AW-BrvaM0yprGnTI$q-7e#2tU7}S;~gLm`e$`zbN$O_S!)?E zCQ3`pA$Tu<6{!iK89#v;C(6if8rWAYL7Hyr^a#AgJ>V@Si9@p$g_%Lr)pA?YCQB$B zq}8gAOn;lFCD4~aXi3Fbd>UD!X*5a$As*(E=#67thrB- z7xa~h!Kts7$dGq>4{k4z4TD>U%kp=5=zrBgoZetL_bv~K zdEx8%{TE@bSP-Z)`Z4@ z)_Q;z$6>*eCNu_G5iP0}a@u={q(!7u)q9A|m=q@uy@zkK7M8w-D;ydF=mZB<8#sgF zhjoM&>INPMc?5vfdh!Z6k=k+YO*jFMSSZYjW4Pdr-YYCU1mQ>z0k9I3?Cc&QKG3ZIvP-`=#uRMH$#~}M3 zC;0CpZB^kWTUEdYHMZR9KfvA%RD)MP0GE8NOn&hJPciP6T~G2GN%5V2l1F+q<0<6t zT8syryn0Pvn?W7*(lf;RmXnCm-GF@hm=(nNsgryS_5eKi`jTc;v?s2$6DY)+wWs0l z9xu)f?SzM+oHN8d>hMLTyfIOs^se0hH-H8ZKl&R!Dpzn9t{KJzk@603qfc?KaY<&K z;^WJ-_EHOes4XX|@`7@=mUH^u!b1!BQEMpI_S3`ow#gUji7#ZGtY-oT><@?go~c&e zUhN<Kwd=Kz-`WpnJ&AYP8C}4XQL)a1rd|>fl|K*pg?{67(k|h5QflH+8SybM=}zdFW2{?G(h=B)B1@Z{3v15w z&NjyZ?jUCtJJUPId`7PQm=EZ>8{V93Ow^6JM#lA{ys1v>5Rwz!AC~|An0GY(B_q!8 zl7xRX{vlSMO=E2kO3s^`&-4-kqo#g}g?sS>{8INvt7-I~OFP`NcFzRWa z@senJ)Hake@v??me(@R4{mqUlf7a1u=+5&)x2e$mr?U#(==e67{5g00toK7Ly^r|( zKlJ|TWxc=txgKWF7Z4eTrRNL8NBv7)_XY18Lqnv=iSDn5)&(hwdY3UVcsN0K2vq zAy^dHRx13H-Qlz#`Y}N}Z^>)Erd2?uqWUjJl=5b zEY)B6*jB2yqDT$dTk6HW-ohSrKy)TfX5d`L#o2_CKK- zyeIGeCtvPae66nPuv|Ngjj3VmDpTio0ivSJ#q#QJd0e}byLZDk(tsV$)4jIHqHptgY{thtLZm^M89kEXm}gqH0W~8 zcRVJ{2Hn@Dz0$-%1c$%Fa=2#cp6u_jkO)@=|Khui`((rg9($dQe=G;^$+h(~59Fpo zltFbk`pQAS{=Zvbh%hxQNag((c((`}lO}d!e`=boHqM@t+fmf(mx_Lla0qrqa!x)+ z8b82YOnTBVY(ZEywJD0maE}>lc}&%uhaIHw&Uaa z*;aP!=k`R+=YHU$)AhJ~SV|+Xl=K;FVnn~Tl*rvlaf!n+lJTfF>a%?5xfw}<^6#v9$hpeK_;qr3S zQ+Xf#1YLQ#EV_s@7ApqO$hc|9wVg!=S#yyGxHBfZD)lK1>~dNMMfPHI5V%)OpsU>% zVHu(MQ%EDJes|0Ip|-4UqW{fTx7i2NHk=KtjF#IC5h36HH=m;F6WgNp{OXUm#Md>~ z@2u;GHStZx8u^DNEdDp-`%V0opv6AD5`wcHPZycS+BkBr)9&IL`Iry{%yuEF!$dYPJI2XB&$5A%BLYN8?}!0!z?lcV$xdvYkg*cl{l3yzsJ!d9;z**h zBA=Y=CJAVQD8CODQ`-HTe5Ht0B^TA(a#}mlQ+?pPohZPu8+oZ6u<@nr6(Tx%hS4g= zxm!Xnc_%%a5vdB3=}W*K2$fs?meWE+UqaBP5E0W=FQ5j9(skAC)ynOlI%oJ?!oP?gSx6KxI7kx5sH0yn9evvFqv84ytJp=M^)3?EZs7Un>~3N2#8$H@At zL|V38kK*rIv6lF|;bXGRxl|WnXv4=0RvN$;?OYHj+Om$vVR;g(P$ayeViGUOkyW8$ zP@wh6-4mfAh77kKL&Y)ULwu87#J1PAWF!B=GQjrAR$*coZ+D#>5e5qBb)8%gCPqX@ zUWa)Nbz&^7%wG6StPQu;FqD50hLQaMs7j5+wBc4wLff9fojlMy;@E=|R&q)Q5uKtV zqZ@?F5raC;TBlXtgPRzyEQ?1O-rLkgy@gt z@dzvtIeYX9;z_~0qei@YZR0U3*S55L(`*WYYO8XZLkV~LFD2)?mI-r7;b z(q7Jjj$$+(-|Z;k=&6qIU#=L$cBCnkeZf`B*2> z;hHO>O6=uNBm1SOl5^;^smX1glYi?Z`iBudJHG=KTiCv@Rlro~LvX zNw{L_i7sM1TuVQ65s6~sU_*ZONMKi)(^cf~&0XZut|FQr=pr|D73s!9@^n`b8*y>4 z;poCxJ*Agm>ri@8wx5RAGT#gclD-%bYW!K=6a(IiZWhIeMbVvx5J7O$PJOJfE(3p^ zhRB$1B8}>e?k3Lhd3)p_r&wbAMZW129g%$E6tN)}at-Xzg=E~pE>%q)DkEKDG>;i7 zr@O>b*knJr#4Rr0Fiml|wyA3J4f=N|dok%8*OL7kIm<0(V8`aP8-)EA`JG$D;;B=t zDC6lj%gkgEEqBI>9OV5F3lx6~KunR4p0L-2oq^N!B=Zs)=;K?b>jNQg{$#k6E;cAn z_Z7}Q#tqy>h$z!uW9M+W#S|lW%20X9gdDwfn9TJEFAvx&=XgXFrGZ{C)~Jz1UZ@2Z zWI=Fw6_`**LMscuW?> zi;>(ICU?h+ImUT;b$3yM;RF%g z$9^VCZSv9Q(RPuyto|myx>RNS>U%?{OQjqj^9cOd_rC~j+iEwV1_S5EE$_E#e}_E30wzXueozsO!!izju` zS)RRGRNB95l0-7UX}EkTNsNxaX*f+zxJjvJn-2%I=`I3SvK?4ym&?K=5pK6Iv!_^W zAv;nACyQiV5FzVhMW7s$3>rBspH3F*k)PE|+{oMBAeZ$L>-1x1nU^BsdG8zK{1lPN zJvYb~Qn2jsd@2R%*rhekJuHE{y48x|Q z*wAdA!_HKlkbSNZah;B#1v+~}pyq``BkcV8pME5fD`-Jl5j^fjV`iyAuE`E)(K zk>d9TRSUpMFOw1JVg@bXCFvri6IHh(IEj8+IyjmRCG~>*I$d;V7lQDVmXh}UMeNn| zqNmnr1hBPLjvw?2E>tXwDV^ZRjnr@`K0>&^`iLy*57wlUK6XiSDQd!K`}teH)IwH< z=y-$Of@<5Uby;g5T>mov->y{~SOb=@Yn#?xj!0^<(=RotL7#=<>wjMCKgwV|Nd80>=yJHw-k_>} z?7AwnQI&=EepJf81-G=OkkoN?(Cx9WS!GuO~0A=D*1`wLIBq2nW92G4j=2n zN~#*0V#DcsZLWAajpyVFyC}D}F9^GEbk~0kcrT(J)*38{BK1rn`+U=%WzjDw0Q@KIh3v$BnD9%pIT|sV386sO0~hwpPCGF#0WVZc~ocJU~uYLBjiWc zbL0>hz;z9B><~-=(t11_yX4nH#9&@`U{Ct>VyMA8kCaP>!Zbqpj-k+CkbYsM?qT|Q ztd%a)>7GNwpw36{7^w#m!Wu&H#d79yPJ*F?*w+ThZvdZvL{7Xx^fdk{AHP8ihJE(8 z8$^Fz_l}It73thLN{-G2RAHm!mRz*T5or9u|UGL#6DC79Mvg%e59n!~ogPKKiyKfacf^vOV6D4MJ>mz56 z6|eH^#>n*B#85uw7P;g$@oAeCw-76N)m$O(9w+|H%`q}9Uo7Jpx5z{J7z)y`0?aD% zM<8|JleCW5^JPrd<%=#c&RC}5l=USdy=>-` zmc7$2Z`XULcTGt)XHV8H1M1JG0!>_CquRjeI#ri_ajPc(A#I+CdjnS)CAZT1vn-&M z`Q8N7!LD-8Hgr8A&-j&b=~(z2bb!;I0rmiErnH<0dPP1wL3BX+tZ z=8e6S!;J8My%lBN$tT~QAX3U`LoTNvr;4^fa|*JQ({05R3OLC&*WYFY<98j=19gk? zDtzZuf$)lzr)fmpb*J*LoCCOW;12mYoqPs5Il?xKRD@CpWWaLvn+&t^h##R)Cp8vO zNb8zfXEiJB{(unD@0ucyO@tp}MFkx>LzM9>Jz+x%y!u2K_Q5`r5tBr>R?41NTi&iA z)|NL}+dh!3_FVXsZc5eWsA^@aKnc_+Rb$N#4j(8kEMwJ_tY!G1lkzgyF)_ojGKL@y zhC;#N^idJQM9I{~t+>=GkLk}VIML<%cYzvkyG4Z+|4(&@Q>>ag!Q7qWHCIg;T!tWy zbyyDDx2oj@0BDM6YN#^7S&q$G98j{n*I6~u0Ej#oRK9hD$5j4Mh)aaesydY4C9fqP zM`)Y#XWrP7Pkto9x)^5uSZGrSV5gLVMmhd8{mU)4gYT`H;;OmL!UE+-O_L{X7b(h( zLC>qE#6eaNe~>Yya7e(Nky#3U2N_*lDhiUSvv}}7FffpV0_3JteHwzXEZoP_Te-#< zdwd;5ui)Ktr6MviYMN=b!8;V;w!w-|0N;w9ERqyF?_Unj*vVp98O@*#4|QI66yhW+oY2=dMNvz9jNaL$K8_qr zr93%xifG4yocU8kbb4Zp3&9U-;opMnPzztT=?Md zMcm`^?=pFK3Xlk7o|^(h=-DmjZVQ-r$lNEhWb{-xNKj|?RN)QN06Y1gE!S>NFS%u^ zh)LKvBMu8vlOvI62;vQDfJ|UKT2mMf9g7YbcPy3POcg0X3vbhm4eux2Ay$tdrV(td zVfw;}o_xJr`uDYvJvFWw!TYTD{p+P(Ru6X>iiCt;X1={F=BrQ1`3jQjx=xkTr-`Ir zsedK2?p2BUuTB%o+$Y9UOxfD4c0@9qh1E{@b~}wDz1hbi#>x59NdbIF?w>9qJEe@H zao<$;_k69t>Su2LUH)S_tbbM@GiQj%Ap7;aak5~B$PS|Fghn{xw#^>Jzd&tB3if>!{B86ZHPYvav z4)TBh7$1lZ8c~23QNRYY%An5ZnO=rUua0~Y&aQY-1E$`SL9<1Ax?P_^$f^#{W1Dbq zEvG>#pshZrbJ7>Hm($>UY}ey*!EBM>)`Ryo!=ivhxvGadiBRv*Y%$6EaK5I^0Jcma z1Z{9^(rnf5Gqg>=<>)(wJDm`QOV73vk{qn2ir}H^uyx&9yth%03;hsG8sQ429eDp2 zU;+YBS0lTD1E%lq6mMgqU%%^T6FnB$x88kucGcZtbd0?>ePui=1y?v{NIpl54%8db zvS5yIMr) z3ni=DopS74@RCUdaz3RSu9K_hieg?mNnXNxZE6e1lTpj}$?o&u{ReI4&J$^E^j19% zAW&zwh3rEuB6C{RfOF}+@KjUq-0QN_J<$CBTOj!OW*~y*izx)eocY2XblrFjMA3M; zZa&7YjIWRImtU7MJ%g5^?gW1tP-!C3=0*mD1SwPj42mmhZ5xx@HQ2d4Q!P`<@Bun5CKU+0m~rn zJpIrH<*U3}KD3(h8dTn2AD1tci#fhuYL78@y{kM7w}IX1{l2L%(pAyNih60}9~Wxm zX{0vtm1hwe?Ymb5ICM$4DI1rIE^_ZevB4fU4S2yKk$V|>hZOysD1AjVL(S;TdqDIf zs#y8}bO5CF55VpME?<2BB#1UYeL$pl)`aeX0-|*SP2fJDh|50@ZXF@>7K_jjpjCxN z(-HwHr!R)R2ej8O774}y`Tk;TRs6AtM&^Q#rX|GYkFx!PLK+{*XCD-C#^2>pJdJj| zuda{ZN``p+2^TDywd(gc{PtPDM}44g4yHQq;5S`|LBEfqPCx7S5d02czAh9fGps`H zUjmv%`sosp)T#8Cx*rE|JbNH~u7l^KRtfzYdG$kLYVN%yiGJS@EMr5=4)bWme^ z7*x$SE( zQV(=g*WO#;ir!egOZIw1x%{Ug;S($5mPcSnlhNo&Zsd6Dqen0{q#>1vVxaO$crl<* zzFG+vNo=v?kBanGH;>FVkIAe@MdwiZi3L!1Ora{ml%Wq`i|po+a?ztAx4WvSN^}j1 z#kFhN&O0nIwnF~!s2D&bmR^O;H(X60OvhS3Tr9dq#!UD*p~XzVRdSH{2jq8E*ipiJ z+11!_J0NFOi`bYF^@dTe)Apu6iIz-|JE}!4sv0$-cZfNoh0xZSCNd*cfYPdR=Bf2Dy6=>T7fW!_W5PR>qy%myfpl26)d49% z1gxb5%}p(DKqS^dcQPA}o7&TEtTAAIfIj24u8&OBR z>nk~JnYisL&2Gwh)k=oE7e9%!oIk*wMYc-Q8v%_Qorz?JFkIIKVf{ZF%YBRWfUZl9xbHUyYq| zUra~@o_PicwYKS@WqSr=9OX?P9v;cDaN<&b|*DRC$`pB@1q7~dx@2KG)JaO z;dWD~8HIK-eBWldw*q>u}%KxXk`%#eJ^wB4tGujdW3d{Z95`RULb=elOB( zNLwpV8+bMxNZqW9{q4LPkQZ&`#oSLrYT$O6U)u4q0=r_&{W9zcEbx@6GV=*sWo(mD znoUZWAZ)>A3>Pl52?J|t5&$r*{_Nn``U8XA>%xb)Xp1(($>CYDewY5+Wd`GS&_V*n zsV3;k0cm=4^5X!$Gs{xjyDQkPz6ePOFl``4SwPqTFgCg_d`K3)0&RDwf0zDShO8Db zDc{9v>ppfx*kmBRyZ-DFHeuvz#TGRVCt3|r| z`zbC{zni6Y#&)#5yuI;v$lNDIbWl|vdv@jQC*gYhY5|!fII-r?Vl`-?JoF^i&D4?d z(vu>xUGi}k?wZmuM8B7=r$l0IcZIK7-YZbQvhj8;Y#7^Kr6*G3viUa*1-S67vPMpe zi3NpW*`+ZM-Rh@ALXw_?T3*)N)()$_Pu16L;Wri$-udP!F*Jno(6CyZ$Q$}J7Sy1b za?#UbdbC}3WbnFr{d+^zJLg`KSD3EmUeW9<&b9*|kKbtP``_^#cF~ z8wm}dmYdV<$`*IvT>)ZdKOy*NY6bhq64m)YB*%=v%-|gTSR;oJ<`&& zQ~G^i@Va&O)L&p($w$y?&Ba)SYMT`7`fti7wuqhy$L0dvKHLtd7K0C%e6fnY;+JFS zEm~SkdNIgvw!qZsVNp~MXjm)2LHXW3xJ>LDd^!t(y-^CDj`jK4oVTyNzdtbmpup5fXeF;mVtC-y?&0| z3aZ3&?p7>T2&*cjZsID`$3Z_8^nl;*;WOpAtzu5l6M)5qbAx!EzD=xz?$l~KLR41E z?%PHGNLw|h5&wis@nKBYqvrhWA}NBNFJ}iS=6CW>+eKoGf051JsEOS86p9KC+#%d) zHW#v+zPzcHrn|tkNr?5-mNWAnS+GN-MQ*SV2vJq-auo5{__Z8mTXtYsCe9+{a(rBE zU3HG)evIkgds3bk+%WdZK08IXB)!}bh~C84*}pIO{l z*@p&@F53rF5NZ0KKp9rPT=ge`iv(xN?ERSLcjf#0#lTE09v0R8d?1=aDZc_p)~XSL z6qu*--Nhu!YKhXu{#m4F+0VA9DTgX;=h5Vnn5aNIpq)Cq4)QTUrd-I+>hhL$HnjW*|u~$V*x?*qev|+nXaY4pjtID2Da^I&uOGI8cdsXTM zPs9*zX3v&MuL-Z$TB*(2+pjT+*T9Yd%L}g|-V6sW4vKC;73ij^X)!5+nFrxxVb$Je!2X#OFQ;E1}D;NhlpZVC*S4TnT3PrFlo ze@H9{Atjr!8l12}a5~s_>1r28&6_I$n`KTDy#vb8g@>!g#2(sJ7ONWn&q1S7mbtFFdVd!#)|0eIs zIwxh(+t8niM#=?mixEM#(;)J0dE#xjBK@9o{|fE;|8LKeGqko3cnLmd3w$)Ek>C)%ij9gb6oW0;F?bCz;DTenJt3Qpf%W}M8t;jYBrc=h6RT5J-$y1zYn=1gQ+*m7m~4CUh*Z9( zgIx~1mtfNK%=Z#iy7|35pT0-zJ8r%_cN|e7pwc<-Ll;Mbr{0JBPoMjXDEZlt4VHD~ zklXs2v0Q%wN~bl4(N|)NOxGOt`)Ys?_yP9hN);<{@)2{%+v9FWSfshG#9sPJIqL&4 z%sqXsUefV?I;UNYoc3@io%#TNhy(J655#Tcr5b%wOy_@5Eyi@xRo!(lID12CEM4%1 zE7<6a^GPwjhZZ^5Ib^*N)MYlG;&d=4n30z4YH9(L+%~^;yxjIT;owpC$QS;G(?hG} z-~NWMx|7Fb)hU=wKgd6v5|6a`VV(wgyEGa_$99~3<@vGcy9mLe;(m~`K13Ms4|3y& z5XV2r*FQw4)DQB94@DvpPopTKvPOis{vf-bR!`5K7Jcz_`m`7rW$VCE_vjw%=Vp(0 zlr9N{c1#`?CnlFt_??x@FgIQntblWT%|~K~R$R-q!^q}IETlaoG>4s<1*WFQ&z30$ zx8P$;n99RD;9W0#ET$MMq~{C*xL=ZgL&81t<;qXQp``Zn2|W75W>$^CuB&Zo%Bl^3 z67@mTK*d=-s$6fnnE1@^r=lLHy!JDoWS1=ZOjNhA31_kV;WGr&EuOEI2)R7d<Fk zxmY#S(WI~i%>0hCn0bgP_veUMZ+uVA{v3v)?>+hH=U8SS_rNcp&HMp}pv8wsTK!!N z`2U!D`}nAevv2(D+1X_C0wy7Z5HRd+PBt+hBq3lLW84G;M2d)th!}$+<*{fGEv4R+ z4N8^Lm<^~5rIv0YAf=cDM4(nMT2!Rg;%li|8m#4}Rw-IU>I?aOzcc4#mx%4%`}h3u zz$c%xXJ*dKHP>8oz0EZ)8Ke+ZjI zOVuuOCeCn}WVA=hja`v4`5<*W~}53uf-yDTZyPD|Hm z9mm{LTqmUK@9rUeSe&0v!MT(t3_-IHsb^7NlweTM(cFzG*=a)$p5`;=^Q`nsofpBW}~1Gvyu z{li^5*-10N@15TQznwa$X*$2D_o}0`yk*8HJMhBE)8%B<3D5!Ru07!{O4@8Y)m!Dt z6Y!#bE+0GL9+Q+fMRPKp8uxncC+?A#dJF8_?{j>q8tEy*)iLKc;mG%n1g~+$;Ov$E z9r@!=+yzOwg-&BHe&QYxaC-RlPnmPlU6k`L@@r4Rs&w*kon8;t(ll1vPP%L2I`z+! z?jgaiFRnY6sXwjy6agE*rHxZq2PEpeRO}-LLT~xhU6k*neciJaNOQ^RWHBHP0^&aI z^~+D)BfYbh@D?M#mhf?zSD(TZ#nDzvPQi&jYst>lr(l4Z@B$A14C9LDlioA@)S27qW-SX&|aiZ`xugK|Bfn%`$*?kFj5n7w% zNB^>-Z+KDBnvkw2;f#ucHS7s7!tuEtGXHG9oiZPz!AWo^>vUr9OGNFbbfJ)yJ-}9X^B#6lng5U2p{aCWZ;z-+>`SR5yQPrd7 z<}8y{$s#BD?G#Nc`aNLU=^0;bUp6I+yAr~nNg%RsiYVoX*QAIFK9{73ajqwJK9?eX z=E9{fH}?@2LojdXBQA91$m(=4C^=T4ZumcZ=R|AjE2bt;V+4>&@%^WVC4$?n3W#MPvG31nki}% z^fz)xrl@g#pUxD)^PRd(?~U^fW7bAmFZ73e8!J+oF!ZRM7ay!rX}^$H^cVf;zMj)x zEbNmAFkCqOT0{2N{$eOw%gPeDX5zhabe0I1{qB`BvcyzA+p@%H#ZpMRNyZg+(4k^C zpJicEPqt-!c#*hR~LQ=n{JS)<7{i ztMER}lZGYa2ZD2F9VDvE zx%bI;nUD9rgF)3OS2GysK`_AT!D2xM2XHI~kh4p7X=l#4;-t$}BU^kR8mN}ThoIh? z<=Dw7_Pg4p-%hUbq58HT$|XJ#Kr%|_*}1aICuSyHhVX!VA5S*E#4oNf(|)*fonPRL z5G;i~84%;l3vn1rp17;;%y*n<=hDWbUb!MqylO@ft!{CE>SZgRQ|jdr3xiu;FO&1p z8(cm*I$vz&^WA(g%}iV&D}o{?SdL>(IoN%Gt)q7Yplpr7`MF~o(~L_H)Hn_&_>ONp zdWXC#C`zYR@Tfs7(a~DsrPhWDX7gCZNhWq0Cn63+A3<1-BM6-x7>V{}-0>G^#`5Ip zpa>@DI|gJ?fyk{OcB87uc1#N8#}gN7Rtgc~QYzmer8 z)cf%?(N+zfI1i-$rbaBIR`Tcu9n#z~xt;gLmfX0^+O~oUfuVezOuKuG)pH;u^9Wol zEO>0=Rb_U(6toob1Ag;{{HRb234dL&v%zGhRnIT0pQGR_2mHDp8qOVamSHzRD`0I= zVDeB>=O`Xl$dcn zV?n&kN1Dm2;S|#e)z@t?5K+vNjknj%SJC+s>TwS1@@=>+A+z$T`ju@oM94_kW(LM) zI>y5Eb|4>DxdG4m?B$Ss{haR_6Gv4jo;%3MFi*Hb=D;7}&ZlDC0j#=M=i+^PZ9u`E zaGhllpIqf+biwx8S#8X}s=fj02v0n4Rj$RZikXRWU6H7o1|n(9M}~utN_*hTG4Mli zlyYuQXR&1hdDu>%eBGILh-bi zgmLgZ%eo4%Ic|KKphk}Q#Xy#Gus7eQ;JY;Y*jguSOV^`W5h;?0G;za}bCb2x$5+2Cb4Nhq znG=vpM!+1o9>~ zLb^CO7OaD9180*4m-^- zPbpE5ZaFi=hk-sACm#5|tLI(bQYscE{COI$t&vAc#qc5?0mxIRKkvRm;p|DghaMJX zo3Je<4fX(5uGBdviHl{`NHI0{!zPMEx8>mGAR^SAnf1~v*)~$F&6o{%LATaSI1>ri zY*WrC6EkwAxXe_-OZfOZA0{qgo8po$mx{3boKvE9wfWj>@Y87;DM`2MiHWXUJrxkQNkw$ae<@O*i+SP*pj zpJuqM2fB5P)N;E{E_ZSb7-i>NAa-2wx43lH$2^vC+KEqdey_o%`9>Iji;PDi58B_e ze_Wn?NZwj5?iu(bl2dlwXuO0cvf8J>-8BjBt|w*EH^hat#CU#om)RTR6aXBpv;uv% z-b=ImjqRs3&w2w@Q6ARlG%UoY@l_^`l0b}?L`NwaF|1yUM z<%|jtA_=?#NXpEU>ncQ6>51p`osIAgL)N*}PCV!qk>g%n-H3=Dgf#4AWBQd|d87i0 zaO-zv>4joq^6;PwXWb=QxaaZS3!&y6_sZulL_4^k`27pT!tjjMnuxaB6Cwu_q`dwD z=mM@vPJ(9lR-52`J(FO$8Jh%i(G>>g$4`O@DoyK1oCJlv-o3GR`KL;8zcVWqTqFV& z4pn^KJx$GukwSNr2jB8HPhQ|+G=F1c+c)9&dOYX8D__1yWK}Fw9rEx*MMU`3nQQRg zi88&%kl&Ln??v7|e2*EFTP3pm@#EC&<~U(1Bmj0e(P4RYmAE6k>Kp!^t2N#)*YU+H z@2~?|Ch8bx zHym=b9y&7pa{R@@pY@09{nl6%LIg%-nsGrHE4dc?NG}%m2GedBg{`qTRe9Iw#x*_M zK+p1rd){SH2;8#^fnOmJ%yGB?_N%F#e;+6gfXKkb@~seEFNZ<(8QjEJD331sZ(G*-WBmQBMpRf6%e4rBZvvXeUU>y*0X>_vmNhi?8Z7xoMZlKIz|`rdR!zMPtN_qT*eF#`B>B5?}e7 zs6$s5cA$yR-+*NDJ!782lQFMFD`eXk*k4WZl`&#S@+oK}`3()m5ky3d5yOWcdDE48 zirW-mmOlli7J7*G^8ky#n^y97I_Tw+#*pfnoHiChFzp7pWGr~e@2cdwvGn0BmOI9R zk-JvOPop%}|T&!jta+ zW!rc$+Prdre1E)XGQYJ>-ZcSi3(qGfh@$jS0F9XJX+nN7L0oCRmLn%#DgqgA0)jL! zXIAwNszh~5E)}C)hvXBNiksMhoQWbh0~h`(DMO{OMD~CqUm+bGpD4V{|7;?9iC&dnCaQu-gQ;cs%nuMi zg#A~;_`3{g`mT-vO7FgWtz3N>T#HVfVfo@^V&p{Ub^TAYjXu^UHBQ~9?X>rB2+Zqt zx`02gW{{c6d`>54Fs42z$4wH!^iv<`negyo{d`q^f0DS2nA<-|3{NEH5Z^5SbeR~a z=!D%{@KYK1rU-;@MZKIsm)j^C{P#2KdJo5xylM|%)4Lj8ey?Hifj%9D$VNS4gB+#k z>&kFetEtrxlE40@=s)9s&x5|oZQ6!MS5L`sMsrWm@S{{wV=wM-nk zumoCXfK$oed{gxKe-dp|#De}d+N^z`odlyx#oW9i`&=RN(kbbICsW7rH<)W=^%Yop zaRfc0Meuswdp0pr+oy9#YyJMlH@geKCWLYl6=8f2$`(`_SbsyHad@23lXio@vB)+@ zwK$bWt`G}~er}6EhTt;Yg;jxFAc4AFd0W`TSjC62`}qcW_f%1u{El1Ch2W3mo~a`D zQb&0o2|iBxU5@^3!Cj;I(N41i3aX=CIs@jYDXg37X8Gq@-8?PxuY{u!*8bEhMQIkn zB`8=gj-=qEN*m<0SAvaixj`Pg5-zt*Hy}0?()!iU8!~r+YvCkMB@7A1AAY96beeUv zD@rtSyGe>q$5gwyDn0f-q1St1ulG1fe-?#?<722FlBHZs_b zSyC>q3^?(eOukm+UP6PX6lGsrt+7jkhx+b#9NLhLdUBC>CCa#A?C@I}PEME15RaS` z7S5Z!Rt%w&py^tXldGCU)AWN<3F*XjH5b5^(K@z#{#p_2a}e7@W&%_;bwvL2T5(OE zh1Gs*uATH_dHoFW?c7f2oqOo*%n$3|K zyqSjITV*_$sdp}NY%+ng43H%eya06=#*ro>k4OSMkqf1UgGk9jS_R7T(v)Whxa4)$ zi!9k^rbwZkm@`x4=H8VL%h|1KScAucO*w6*7+t~Iae}g27$=*SL$6ql zG8d}vI?W&3-<^+EKcUfefKWP%gIdpV@P{<9bmV)NnVz5wZii zP!~c-JI#-w_wa1^vii~{IACz(wd`9fagagH=|oV~a^O|tieuGj z&bM(sPvK9eU16uqH8xBJQgz}aJMpTxf=}6L6XMc#+G)!X5wr_lqjDgZ=biXK1g-Li zH;6HT>lIBHFwJ*H^jOsy7?%j~dMApn8!V6AAaZgpvu8n#(bm)--|bi0@airP6v@0XqFoe`&p0(eP_d-1h*PJTl=VH%!WdN_qN$0YaE@d zyqc9fGAB(REVBKE0?cn*3cOUX-;Zx%U|y+Wt6u38Vd zUn02SOV6{Aa%fYWP$Kn%iJl1*@e&!9%R^kjDa;`%hTvffZiame_+Pyl%i^Gd zTjq$O;SjmYJGMotUMn;s`VsXu&XuYZ2gnZ1t2ee`Tx;~V4BJ-Ca}>Gk7r=@TE5{X zBe)oX9pf!mDPd44&IMAVXMLtsUB_N1|B0r2Di3tZ9KEB&DuOaH9noPq2=pPh`Xkc$ ztgy@Cs;dGm=|bkscD-OGFye7<`tMz-KgRWjtncU@42WorgjwNC#5_5TaY}3%hNava ztVSp8IlGa{IDmeIGVk3HE0YP<$i`n&V%BF)fjP~F9kbo3t5>T0wTxhZ_V$z!*Q+-Y3n>xVKt@-+mOO_U#huA~unw_~31Uw<`e zzIdJ|du!FZ^}E>Th~L@iJCrA$7n^0D(^5ctjo){kD{s6FE=;iNRky*$#o1bWZbR4w zMGsGA;kGH=j!dW*H5mu4*$gScMK~ zzaM{2wk|;M7F~EGqN~6o;)v+<0ujjl@RZBWYk6Rt8l941&Zx}!sjRvKa{!&Jy#s!L zt@8dm#1M>i5XZl)R~oBOW8Ix}gV z76?4V3;u%whu$rCikHd5cZxx!oGwbR09vf)XIicfHIYfK`%FD_^Am9Kyi03B2+<$@ z9U$gqdFgk=O$b1I>^tJhEC(-s?-bK8%HW9DOS>m)p~%H4IHMMd|4Pse$sG%^LavzAJoW4!3<*Gl?b?HS5;Njo%eD z6&;ycArgj#HKPXXLQ2EzguxrvJt#&>Y&!gFVkY^Q3@j3pr^lEK??CF!WMbUJIYQ6} zcY}fG@oXc|w9)Q{o}GU923&1wTI>Vp4ckoI0lP?)tCJyj%X7ac24(CYISSA*(hzPC z%wOEcH}QKSSR=5@Mc>CqvDMjgA79W8$$HrJL_xZ-KIrhNL5c^tDsP35hNFY~C$@bL zyyLQ;$wS}6`n(P&@|g$~RsI}4Kkx2uM?UFv{Vqq}g)lgt-E)`7>PvcKeN?AG`mJ|? zwovEucfk!v-dBfqas8b6Ut)C6In{n|y4{X18f#Zh`!8{Kx^o%asqWBV|E8;r?eeex zC5D_OdEjD%`C+kV^kOl5AU!|i(&{T*D7YQacjM-??ehDJ#ZAgF)RWyY4V8YhSX@5( z<^p`x&|py1=lcwhqX&FF!P)``5N#`tpd<1#5LuJ2;!Nbi?~BP!xZDymA*YlPLHthl z#W3?Qr@#e`!#~o`YwagRHyJFJs$+#qp$lbZQPi;6xV$@m5hq3gbf_) zr-5@Sc+G{ghS4YiB@sJ-F1<2V$N6z}Tv7o*KV8Sxne-8pmg1Gkx>Wjd(eGBiGMS4AZVXChoCuCD?lkhpI5<<{ z;G7+bAuNhI*=p}+r(B696IdkW zTdm#=qXf$+@B&!{Wt<5NVjT)rUkQr*)_IAR80fN+%SU3y#qvs#M-Jo7m3RG6+{j4s zLqCLtgRsNTeh8HxA$&zEAb#PETChT_ts zoZzw$#RKY`_#+VrXf|DE-u#H3bFAk?Ts;sEO+P~0h_>4EBXQ&K-eQg9PB>rzE2Ga5 z7g`L-$&Fz5Y$F73?oaJDnAhFyFQea{BlVA~wC}$LDyt)gC5U`hI#qmD6!umv#(27;~>D2eHWMy z1I3LXGfI+4kR;4Y_LY7m-H|Xf=Vsz&u1J#@7$-%#dR8c%^L-tOsig?><(o}sND(D% z&4`%RBQ4aaS|rItR!d&0@5lRk^{VQ;aUfqkm&p-Pbs*-gnDB zE5(3tObnRZOl0OqedYw?Cnpx8U^PT;uO}w$}&7gu{KEMLUwp zRIqrKB`0#Y8zbt`Q4~jk`Ts}pp|+KXq&zJDx>D3D)v>ZiWs`GOA+W7S6@<4+ljz9C zXP*Xl3dxPDU=U%q%JZwBp6huZGB4R6%?Csv=bS0y6l

1@_H^nj5WDaz1ODkS;k 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 diff --git a/patch_v2/meowpkg/nyai.c b/patch_v2/meowpkg/nyai.c index 5b35b98..d09b2d8 100644 --- a/patch_v2/meowpkg/nyai.c +++ b/patch_v2/meowpkg/nyai.c @@ -810,6 +810,51 @@ static int export_preserve_sig(const char *pkg, const char *dst) return 0; } +/* ---------------- 二进制依赖检查(app.json depends,新语义) ---------------- + * app.json "depends" 现为二进制依赖声明:[:][,...],=required|req(默认)/optional|opt。 + * 与 launcher meow_parse_depends 同语义;按序查 /usr/bin/ 与 /MeowOS/opt/bin/(X_OK)。 + * 安装时**不阻断**:缺 required 输出 WARN 标注「安装后启动将失败」;缺 optional 仅提示。 */ +static int bin_dep_exists(const char *name) +{ + char p[300]; + snprintf(p, sizeof p, "/usr/bin/%s", name); + if (access(p, X_OK) == 0) return 1; + snprintf(p, sizeof p, "%s/MeowOS/opt/bin/%s", meow_root(), name); + if (access(p, X_OK) == 0) return 1; + return 0; +} + +static void nyai_check_bin_depends(const appmeta *m) +{ + if (!m || !m->depends[0]) return; + char d[256]; + snprintf(d, sizeof d, "%s", m->depends); + char *save = NULL, *tok = strtok_r(d, ",", &save); + while (tok) { + tok = trim(tok); + if (!*tok) { tok = strtok_r(NULL, ",", &save); continue; } + char nm[64] = ""; int req = 1; + char *colon = strchr(tok, ':'); + size_t nl = colon ? (size_t)(colon - tok) : strlen(tok); + if (nl >= sizeof nm) nl = sizeof nm - 1; + memcpy(nm, tok, nl); nm[nl] = 0; + if (colon) { + char *mod = trim(colon + 1); + if (!strcmp(mod, "optional") || !strcmp(mod, "opt")) req = 0; + else if (!strcmp(mod, "required") || !strcmp(mod, "req")) req = 1; + /* 未知修饰符按 required 处理 */ + } + if (!*nm) { tok = strtok_r(NULL, ",", &save); continue; } + if (!bin_dep_exists(nm)) { + if (req) + printf("nyai: 警告: 依赖 %s 缺失(required),安装后启动将失败\n", nm); + else + printf("nyai: 提示: 可选依赖 %s 缺失\n", nm); + } + tok = strtok_r(NULL, ",", &save); + } +} + /* ---------------- install(文件或名称) ---------------- */ static int install_mpk_file(const char *mpk_path) { @@ -852,6 +897,8 @@ static int install_mpk_file(const char *mpk_path) fprintf(stderr,"nyai: install: app.json 不合法(缺 name 或 exec)\n"); rm_rf(stg); return 1; } + /* 二进制依赖检查(app.json depends):不阻断安装,缺 required 标注「安装后启动将失败」。 */ + nyai_check_bin_depends(&m); /* ①.5 签名分级 + 三重绑定(MPK_SIGNATURE_DESIGN §3.3/§5.2 失败行为表) */ int vr = verify_mpk_signature(mpk_path, pkg, NULL, 0); int system_pkg = is_system_pkg(pkg); diff --git a/patch_v2/meowpkg/nyai_host b/patch_v2/meowpkg/nyai_host index 42fa0d2e277b8ccc6e0efe171ca6defd065792fa..f374b2f6f366b0f90005c75e9631901483d53104 100755 GIT binary patch delta 9726 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 delta 9191 zcmZu%3tW^{+CT3*1B`-z+-86QW^jZN5QjS`!7#Y$<|Q+4mDR|&U;Z|`ee1W|m$r;B zS{s#|4quSDNw?L;w%8R@$}K9}wetI#*w!rFZ2(KRo3o`UUYhU!oOdAF-TD27^S;k{ z?w50(bB6Q%`u5lK?RI4`pSE-2stzVUt2+2cuO!t*-o77&U&%|-Kd2#nKZ+sc@su4C zb-QkxfBK>}Rap%2dvGslUoRoWMG~s@ij|)=u#RrVDkKv}y|_Kio)Yk_E8`!27w#O=rTR$;>+yQA zJFP%HQ7t}5vlv1{x^#kzaGD)l?TRQgn)M-Ttt#dlZAl@vO69E}zlM32bcVympNUPz z0z=5FvNr3fe6h#)lbi(!EQL(lG?8_XJx+yHu~f(j3ZE4^AD@XgB+zeq1KXo~bkiQVaDL&yn3thQ+JZo1778r13hzO~WfV!A^g z@^wXv85#5Nus>RC$bbmznP^Vcdb7}F+Vladr9u>D z!kwcWugSDELvWhkwK#?sL(Q46W-7i7pU3cL4#jXAES-X{Z*e*I94O=D36kY{KZf@} z9_B;76Y+dVr}q;L(E>m8%op+8b2MJ+RYUK%!c z6@aIGr@^HP{S(C2EDO@|{Rv`E7G=F-q8QF9GEr>##Y^GNb2A$FC-AcL7G&mU%Xp{y zU0oB!_1Or>FtW|XVnu5<0wRO|Kr9b|bcm`E8c0}wEdLy^pr@>@Mb&epUyV$^o;ayJ z;i;@;oAper)D({D3_f;ypL+r;A9`oS$QU1c9RCn=eAbqMpr@p*r8IsVuPgqE+2J_J z?0-SfQX0j_n6OFw5MV>7eS*2%rQBLRNqBN{D-CtrWyUvglk_A_Th~tFdx8G&J0!ET zjY0Q*ZN&+-lv=oT`y}ylj=32xHf{|}k}{tHLGY%HecvM{a;sj;s_iuA+1Tgw%P0q0 zN=@8at`ta_K#1Zr~3{5nr6A4K2~)*d8%kIy$&Bs~-_ z*Y+}Q#CSVIQ4vu=455}IGy%f#9g62SV?IY`yyXkVmcFQG25o6PA1^+)w6Bp^R!ah( z1+1?xjWc3n0>2wDTFlsFR`D6MrbHt{;@{ppaIQ(^N{X{D=qYXs$HBl%)|U{?IzG`c zzs~C&pwb>)2R^nIEeNm!3H)hzjm)FThSo&xb0l(79d+O1S((VmBvLybf~9wzvZe!6 z)2Qb_Foun=>kVQ>u0Ze?+#c1uCSE^E;mt=;K>xwYEWHXhXJ$GM9Q0a>1h z6GhdO*^7HTD9;>}r(UOW58Jejih{HwP4-5!$$Kw`J6}M2O|6sp_82yKKr7pTEZcRH z`R!V{Y7#<|#XD1^c1hy&lx)>jFA{8aLqINrYm-F1&E(czLP`8vIGif?JRD15rhST> zXY#0=R3rxmbteCf(11pydcYbm@So!S3>@vHB@J}6TMT0!ehj$QCX0PGn^}wO`^o%V zQ!Z};K{%H6NvC4VI%g{~Xb5XkMd8%N`W{-voAH2EB}M#s>UE^}j69z$;KEW-O!D&^ zC{{hpoy$E%b+lFo8la==Osx1I&$ddM??UYpFard%=+H9-Ln^i^g{Kg_aW2+m4JH|M zr0{qWfKq2}l~e7)sB)qi)|vgTgDGM~zRjTt*gi=LxNu>VAa{&lIN3QuM8w>6CPnPd z&rO1&L$OX;n*zkwTAeCB&bJw~Se;50v381;K26N9V=H58)5I-+^w74s)eavGqcdW@{?5c$#ZJD(QuGtU0D=&RhvZpv@S!>8Q7zTS3jQSuz>

C^dcP*`-%8uSk3pMdunE%E{1VUs8;xDP6rGsLR}8I^hUyrU_JE64`2=k<|rCwd^M z_uyyw+y(nBazjh;KZd!XX72#tBB3z1PLk$ENR9sIFnt!f3_@JQ?>#QJgFlH*X>U_0 z{}k{~AVMbK`wnq?p-Bmd`wGiy1Eaa+I+P*34i}D`0=r>sqmiCT%cAG9_>+KB?tX%~ zHDR+jSJ9gSj zQ>;b&JnT2W{0ebC}=Q(st8^T_YNalNsb5m zhO0bBYX4)*TZj{avZ9#czA{H_D0YC&A&YpSc%?y0=zg0>m~n_=Z}Pj==7^7HtTOZr z>oWZ=n?*D_W+Ocyw#{M2!y&8K?QqhAMVxj_qdlRW1xxuW7si&-9&7njF{7j){!AUG z>9YtqRoBfWwl!djoq66={_IHDNZsjqZNKZGwa3~&m6yQ!TIh_OF1;a#h*9f&=v=sSYBIYz25b4JqtQp{ zZ!O(I${EY1CzA{Y|IzwL2?F_IMOn3}XGmu(u-=u&?}Cx2tRBiL>xn$Evy24k^Tj)5 z)p%H!FJj6IuC&#ow=()ElW&Dkdfo)>UdMAkI$=Z!UNHJym-6{ictOjdG;CwE_8Dbb z%IpZ{iw))JG135(=VRqa8@Z}>*u}f$`xEWH(j3L5bPzY^P3+4fT1c4&Ev19ejK9(pv6=YT7bg`qtZ10gv zS7H&ZJ|jN`whmHB9l0yOb25T)1!A~jfk8v=Di&3hQ#Av8Il@yp&mdjr+CM|=sa$B3 zmOW?TuY6058FYbMYpp{Vt89?#bBOw?G!=TRsH!dMVdfJ487)6hauCS0a>AAERM`(i zu?~XC_w^{Ws)j20j6f1oxe}f#kwxiZUE9KNK#+nhw-LEAYZ|XC6;;*K6lKrq>YYjq zB`>?A7YQ>{tK@T!o?qVZ+OB@xO-C+oc=cI=SrOUGI>wm=D5T2@R^Wev!z z=#3U1%*xVuF3u1aXT7C4cwNk%cWS>?627hDrf=$aGV>0g!D<(Qx*w}CW|3L{dMu{S zeO*U~hIVnP{#F97aC%chCv$Yqdb}}QMPnJ9!bV(OG2(M)kv-(jjp7fULF*5rQZU)^ zN|Zb{kb%i~--5ZH4MmCihBQ4;FNuc66me^V0|m8bN5kC;6;@{BIvlP{M$y)Yrrrvb zUuZlK7t(|L8K05+p!Y9k-=!!a5&BUk9m9+wVNRNQO@_#y(`63%4w__#FxDMR(ern{ z4tFX*I5uYiI9kd@;ar^Yn$W^qyVAu~a~<|j6ZOFR(|JFR&^n8E$$UE0V2^DswbUpO z-9&Bi(R8tME@=lHjPtyzAtVbMD(<*)Egh1R{lqUhIXo&7Oso1c_35lUbw6_4=MOZcPdsJ>|Ss)A)eH!{>vNQ z*hL(q$oDg4Pe|+NnNZkxdBaQ3PTF?gfaqS4E|x7aW#61Tq9V&TL5s?Nz==pw%3!%f z+RUPDQF(rdb(#4Kp>St4kow6hXXcI!-P|Ov8eB~ITmge%iTHF;@f2C5r}B9^cm;2>Jjr^q_=i}DI)3RC>bkVj+lPs^)!B03k4 zGTkU|O}S*h%bv|&2EAk&$mU-H-@LVTpaU(==xO3p(9?z>-HBuGSx;>nxjU%4A=UpY z5VYg_DHvxb_y)8cL|ZE)fiH)j^VCHMjQ)Fodk>i75aw@*(4B;UPq5!BTYUqd37qj* z+kDUEh^ocbX7m&VR0(fVlZx>Q7y$#wy8+qP87$lf14!;k%#)(DrBY{4N)kU)!sY=V z*7l&Mx@|dRX5yU+3iT4Op0dib#yY@*o>^_b#OT$c2mWb#ziVZ#IJVeYHhJsjh;f<_ zI$fI)MH1pWmdI;BcyS8jNx&OKzk-vnm~pkKIe>nFPr~FWXgLU}v@;^7mQcRjrg@^E zUu6}fjV$xKY*M3I(&(CnHSQQzPIT_FNqhsrqBZMJ0OkSAl~~C8K}#D*1NhROcq{M@ zLtc(vJaSDcbV!-XkKvtUP&$n6%$dN;iDh>_ft#>MTEJ?g#eqD&CxS0^I-ZZk)>M!T z{0zuAf;r@P#i(3#YXuY$lJ7cb=cL0t;O+$8u&y~78?&i^ghw`Ju3+*jOxECto{(_g z57LIb8T8DMDRb;}xHA#+gRRwoIoiIa%OB)#@S27`H_{+@%T;|rypJkEO)4X2up+*L zgzt2YoM_%Ncchu=KffP`aMIG%J)QSpk~$o$pPhpk(RcW(p;SL&Kgui_%o+iMHGOBH z$O+`EmUrkI`-|a`WO>MX0=&pLtuu#rm(Gw8JOmml$Y!~egAv_4Fx?LY6h;L6H6nnT zQmN$O8M1LEA>U$-c$`JL)O;AOAf}{z9BALf0hpBkiYgY0#3pP({vpjgg>9)&>d7WY zGjGA#8n<O#pvTEHnE zJnXS;*7Xi)F3)NX_}+JLH;4>d z?;V(c*tY%(?S;qQMkOm7PaIXKY-MG|mGEW2od~?3r=YC`&z5l^(!zm+y`yC8kn{|2 z9z}98EJs0)Mczj-(2&P=TqwbQ4d!U0{nn0BX~DH1kV%8H!^3!92ba?79)?$t^&;W= zEMZ>}ms<_^Xl_u?MZMNo!hKQ7b*IJh6}h%AanTaQ2J%cI<79{2KybN0_Rt2BbUJJl z-jpoSx1ux!$EggShM8aju2+D~wwH zOym^zC&VAFH#Wxr)0^h(V|r{YE{z=L-e*R0`%7e@BQ`7j9xWQ1I-T^m$3}SaM z{w3x{VKlG74g4hF^el@BaBEQ|&oR+0mv@ObjYao4@$j9vc2!Pu22>e_azn&=KAIe$ zzXx&}SL?k?=3w55vj;+5L$EJ!qN59NTz~op&xNu3rTJU1TLwvF46AS_F+L2O)v?|s zgi{H6G&cTzIOYk!O7YI{oUUgmj`R%wBOs(37*zr?{11_EEMq8y8&Z}<3=Wntz6%qy z|4B{ZgkYJ0KLwZ!0p_h6EBFvJc?qy?I5v0{;~Vfih>@667eagrz7lueP~6;vsZC>P zgN$a`w|10>FR zph6zB?+2XWKtM70ARHF?H$EJNvis4O;*}dqaIX})(Q1h?|1kW>@EODo<0cB7D7ne5 zKRT1&BW}3Kyb#oTFI4grU<@@fEJjE(kDX`Yuz)Mgk!--BXm4>OVwVsFMbFApaof|6 zjZTFzJ5=?S2UNDya8CU3rYWhruHYwelYHq5$c%B0kj#Z&itld9RZaDf)xAb$(8E{WIN+4TY6#wz|QUWYw6mVmtrrjK3#?gji!9FqGHv*9Fz zoNv|X+FadLd<}jy{Lk|ud$koi+lgwv6SzZQO|h|tYUBp<3SdDG;{lA`al6+r@WxDW z%#@~lBXLc96UO=A?Jk{L6NF3Mr7?URU^z_r$7=j?F$h`;+Hsi3aG}}HGPNFXY{6YT zYivvWoA_{bzH(G3O?JJlmcJ#YHx(KdftzJxT%vF{nUrnfznh9u^i|YK$}4ShFST*M z5q(W%DLEG1UzncBk+wWqF!#K-C6ut|i>7$Po=0yPPHtw5DVe%i7FdqkE4C3oFYk}W zh-=qsz>Z^FfHCg5aM+D;9>(<;w`1In@o9{`7};;b;X@c57*AnbkI?|5PGKyH%z>D!X#{C#W80Q@hhs)s!_q$@7H@B|Vk5{P28e*~&F%;o@A7BoG;X^PdzE1;& z>qq&q;qOv>5BtRhZ(i|vOc}Hp`IksK@I3|ist6p16SfOq$8ND`Q?}~dEpEfGX191~ zQ*LfAf+6L(;uC+ZKCaCD+h5~}j$lP_`oY~|U{k5;_^pU;DOKIiiRG#xW{AX#rNE=h^x1xEYtNW@os2-?D&TteQ@+INB;c2w1EuYj(B-rkN9uy4{ao8 z9l-o{%;Ww^ew_Fl0IdIY@$=0tHSUk%rOkEfi9_N7-VS*8)NPr$_TfwO)WkdYTzP4E zRCD5;8r}H6Iu_6D{}!IWM*nN$hxm!i{?K@c_N>ECexv{VF@9FZk{G*$;4s#iqbh&D zvi6^d<0SUK5+?wzjALq%ct~hDlG2?^bjr_RT<6<5WsYjTb6=8P`Hkw5ZU@qv5UK)w z-ZG7HG%Jrp;Jyfa)SILv;U8Gmc_CUU&RB4*MrWcJ55TqRQEr$@5vaY zQc)K_)cKJ?nUhgX$vp0J3IO}#}ZeweUD90-c+FdzNT1Z zi>li1-1pfe<+gaWeO2dmW~F%IXs}@4!)B#2X*5Wq

6P%KZON`Nm2tK9eqpW&B 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 delta 197324 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 pD=s>2M9+t+(1IhGE4dn&qC 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 RcG*Wadr52cy$igt{{!K)9yI^} diff --git a/patch_v2/meow_launcherd/test_depends.c b/patch_v2/meow_launcherd/test_depends.c new file mode 100644 index 0000000..f5886da --- /dev/null +++ b/patch_v2/meow_launcherd/test_depends.c @@ -0,0 +1,183 @@ +/* test_depends.c — 宿主单测:app.json 二进制依赖(depends)解析矩阵 + 启动前检查路径命中/缺失。 + * + * 编译运行(在 patch_v2/meow_launcherd 下,需 -I../sdk 因内部头含 SDK 声明): + * gcc -Wall -Wextra -Os -I../sdk test_depends.c meow_dep.c -o test_depends && ./test_depends + * 全 PASS -> exit 0。logmsg 打桩(解析 WARN 不干扰断言);检查路径用「假根」(MEOW_DEP_BIN/ + * MEOW_DEP_ROOT 覆写搜索目录,与 nyai MEOWROOT 同思路)。 + */ + +#include +#include +#include +#include +#include +#include +#include "meow_launcher_internal.h" + +/* logmsg 打桩:meow_dep.c 经内部头取到声明,此处给定义(宿主无 util.c)。 */ +void logmsg(const char *fmt, ...) +{ + (void)fmt; +} + +static int g_pass = 0, g_fail = 0; +static void check(const char *name, int ok) +{ + if (ok) { g_pass++; printf("PASS %s\n", name); } + else { g_fail++; printf("FAIL %s\n", name); } +} + +/* ---- 解析矩阵:直接喂 depends 值串给 meow_parse_depends ---- */ +static void test_parse(void) +{ + struct meow_dep d[MEOW_MAX_DEPS]; + int n; + + /* T0 空串 → 0 项 */ + memset(d, 0, sizeof d); + n = meow_parse_depends("", d, MEOW_MAX_DEPS); + check("T0 empty -> 0", n == 0); + + /* T1 单 required(无修饰符) */ + memset(d, 0, sizeof d); + n = meow_parse_depends("curl", d, MEOW_MAX_DEPS); + check("T1 single required count", n == 1); + check("T1 name", n == 1 && !strcmp(d[0].name, "curl")); + check("T1 req default", n == 1 && d[0].req == '1'); + + /* T2 混合:无标注(req) + optional + required */ + memset(d, 0, sizeof d); + n = meow_parse_depends("curl,jq:optional,ffmpeg:required", d, MEOW_MAX_DEPS); + check("T2 mixed count", n == 3); + check("T2 curl req", n == 3 && !strcmp(d[0].name, "curl") && d[0].req == '1'); + check("T2 jq optional", n == 3 && !strcmp(d[1].name, "jq") && d[1].req == '0'); + check("T2 ffmpeg required", n == 3 && !strcmp(d[2].name, "ffmpeg") && d[2].req == '1'); + + /* T3 缩写 :opt / :req */ + memset(d, 0, sizeof d); + n = meow_parse_depends("jq:opt,ffmpeg:req", d, MEOW_MAX_DEPS); + check("T3 abbrev count", n == 2); + check("T3 jq opt", n == 2 && !strcmp(d[0].name, "jq") && d[0].req == '0'); + check("T3 ffmpeg req", n == 2 && !strcmp(d[1].name, "ffmpeg") && d[1].req == '1'); + + /* T4 空项跳过 + 尾部引号(JSON 值剥开引号后的形态) */ + memset(d, 0, sizeof d); + n = meow_parse_depends("a:opt,,b\"", d, MEOW_MAX_DEPS); + check("T4 empty item skipped + trailing quote", n == 2); + check("T4 a opt", n == 2 && !strcmp(d[0].name, "a") && d[0].req == '0'); + check("T4 b req(默认)", n == 2 && !strcmp(d[1].name, "b") && d[1].req == '1'); + + /* T5 未知修饰符 → 按 required 处理(WARN 由 logmsg 桩吞掉) */ + memset(d, 0, sizeof d); + n = meow_parse_depends("a:bogus", d, MEOW_MAX_DEPS); + check("T5 unknown mod treated required", n == 1 && !strcmp(d[0].name, "a") && d[0].req == '1'); + + /* T6 超量丢弃(最多 MEOW_MAX_DEPS 项) */ + memset(d, 0, sizeof d); + n = meow_parse_depends("a,b,c,d,e,f,g,h,i,j", d, MEOW_MAX_DEPS); + check("T6 cap at MEOW_MAX_DEPS", n == MEOW_MAX_DEPS); +} + +/* ---- 假根检查路径:临时目录造 /usr/bin 与 /MeowOS/opt/bin 桩,验证命中/缺失 ---- */ +static char g_bin[128], g_root[64]; + +/* mkdir -p 的极简实现(按 '/' 逐级建) */ +static void mkdir_p(const char *path) +{ + char buf[512]; + snprintf(buf, sizeof buf, "%s", path); + for (char *p = buf + 1; *p; p++) + if (*p == '/') { *p = 0; mkdir(buf, 0755); *p = '/'; } + mkdir(buf, 0755); +} +static void make_exec(const char *path) +{ + mkdir_p(path); + /* 建到父目录后在末尾文件名上 chmod:先写再 chmod */ + FILE *f = fopen(path, "w"); + if (f) { fputs("#!/bin/sh\n", f); fclose(f); } + chmod(path, 0755); +} + +static void test_check(void) +{ + mkdir_p(g_bin); + char cardbin[128]; + snprintf(cardbin, sizeof cardbin, "%s/MeowOS/opt/bin", g_root); + mkdir_p(cardbin); + + /* 板载 /usr/bin/curl(命中第一类)+ 卡上 MeowOS/opt/bin/ffmpeg(命中第二类) */ + char p[160]; + snprintf(p, sizeof p, "%s/curl", g_bin); make_exec(p); + snprintf(p, sizeof p, "%s/ffmpeg", cardbin); make_exec(p); + /* 同名板载/卡上并存 → 板载优先验证(都 make_exec,命中即真) */ + snprintf(p, sizeof p, "%s/tool", g_bin); make_exec(p); + snprintf(p, sizeof p, "%s/tool", cardbin); make_exec(p); + + /* vim / jq 不存在(缺失) */ + struct app a; + char missing[32]; + + /* T7 全部满足(curl 板载 + ffmpeg 卡上)= 0 */ + memset(&a, 0, sizeof a); + a.ndep = 2; + snprintf(a.deps[0].name, sizeof a.deps[0].name, "curl"); a.deps[0].req = '1'; + snprintf(a.deps[1].name, sizeof a.deps[1].name, "ffmpeg"); a.deps[1].req = '1'; + missing[0] = 0; + check("T7 all present -> ok", meow_check_app_depends(&a, missing, sizeof missing) == 0); + + /* T8 optional 缺失 → 放行(返回 0) */ + memset(&a, 0, sizeof a); + a.ndep = 2; + snprintf(a.deps[0].name, sizeof a.deps[0].name, "curl"); a.deps[0].req = '1'; + snprintf(a.deps[1].name, sizeof a.deps[1].name, "nosuch"); a.deps[1].req = '0'; + missing[0] = 0; + meow_dep_clear_reason(); + check("T8 optional missing -> ok", meow_check_app_depends(&a, missing, sizeof missing) == 0); + check("T8 optional no block reason", meow_dep_block_reason()[0] == 0); + + /* T9 required 缺失 → 返回 1 且回填首个缺失名 + block reason */ + memset(&a, 0, sizeof a); + a.ndep = 3; + snprintf(a.deps[0].name, sizeof a.deps[0].name, "curl"); a.deps[0].req = '1'; + snprintf(a.deps[1].name, sizeof a.deps[1].name, "vim"); a.deps[1].req = '1'; + snprintf(a.deps[2].name, sizeof a.deps[2].name, "jq"); a.deps[2].req = '1'; + missing[0] = 0; + meow_dep_clear_reason(); + int rc = meow_check_app_depends(&a, missing, sizeof missing); + check("T9 required missing -> block", rc == 1); + check("T9 missing name vim", !strcmp(missing, "vim")); + check("T9 block reason", !strcmp(meow_dep_block_reason(), "vim")); + + /* T10 required 缺失但 optional 先前置缺失 → 仍报 required 缺失(order 保持) */ + memset(&a, 0, sizeof a); + a.ndep = 2; + snprintf(a.deps[0].name, sizeof a.deps[0].name, "nosuchopt"); a.deps[0].req = '0'; + snprintf(a.deps[1].name, sizeof a.deps[1].name, "curl"); a.deps[1].req = '1'; + meow_dep_clear_reason(); + rc = meow_check_app_depends(&a, missing, sizeof missing); + check("T10 optional-first then required present -> ok", rc == 0); + + /* T11 同名板载/卡上并存 → 命中(不判卡上缺失) */ + memset(&a, 0, sizeof a); + a.ndep = 1; + snprintf(a.deps[0].name, sizeof a.deps[0].name, "tool"); a.deps[0].req = '1'; + meow_dep_clear_reason(); + check("T11 both-places dup -> ok", meow_check_app_depends(&a, missing, sizeof missing) == 0); +} + +int main(void) +{ + /* 假根:唯一临时目录(随 pid) */ + snprintf(g_root, sizeof g_root, "/tmp/test_depends_root_%d", (int)getpid()); + snprintf(g_bin, sizeof g_bin, "%s/usr/bin", g_root); + /* 经环境变量覆写搜索目录:MEOW_DEP_BIN=假usr/bin、MEOW_DEP_ROOT=假卡根 */ + setenv("MEOW_DEP_BIN", g_bin, 1); + setenv("MEOW_DEP_ROOT", g_root, 1); + + test_parse(); + test_check(); + + printf("\n%d pass, %d fail\n", g_pass, g_fail); + return g_fail ? 1 : 0; +} diff --git a/patch_v2/meowpkg/nyai b/patch_v2/meowpkg/nyai index c2599fea7384a10122fc11049047abc226bda416..3e7fccb102aef4e0668157a9f7a9e683c17182b9 100755 GIT binary patch delta 30330 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