From 1323842aaa03dddfcb5fa6fe92d7d3de35a4dfb8 Mon Sep 17 00:00:00 2001 From: Lan_zhijiang Date: Tue, 20 Oct 2026 23:10:37 +0800 Subject: [PATCH 1/9] =?UTF-8?q?feat(caldav):=20=E6=B7=BB=E5=8A=A0=20Web=20?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=90=91=E5=AF=BC=E4=B8=8E=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 按目标 Peer 的实际运行状态准备 DAV 连接并复用专用密码 - 展示事件、任务、联系人和集合,保留原生日期与重复例外 - 加入真机数据回归、独立 MF 构建与 preview 分发清单 --- .changeset/caldav-web.md | 5 + .github/preview/extensions.json | 5 + .github/workflows/ci.yml | 3 + docs/30-unit-tdd/native-extension-runtime.md | 16 +- docs/40-deployment/web-delivery.md | 2 +- .../caldav/docs/module-federation/index.md | 39 ++ extensions/caldav/index.html | 12 + extensions/caldav/package.json | 48 +++ extensions/caldav/src/CalDAVSetup.vue | 358 ++++++++++++++++++ extensions/caldav/src/DAVContent.vue | 285 ++++++++++++++ extensions/caldav/src/DAVPreview.vue | 82 ++++ extensions/caldav/src/DevApp.vue | 7 + extensions/caldav/src/content.ts | 225 +++++++++++ extensions/caldav/src/index.ts | 15 + extensions/caldav/src/locale.ts | 8 + extensions/caldav/src/main.ts | 10 + extensions/caldav/src/resolver.ts | 65 ++++ extensions/caldav/src/setup.ts | 156 ++++++++ extensions/caldav/tests/content.test.ts | 106 ++++++ extensions/caldav/tests/fixtures/calendar.ics | 50 +++ extensions/caldav/tests/fixtures/contact.vcf | 14 + extensions/caldav/tests/fixtures/tasks.ics | 26 ++ extensions/caldav/tsconfig.json | 14 + extensions/caldav/vite.config.ts | 21 + pnpm-lock.yaml | 57 +++ scripts/check-package-contract.mjs | 1 + scripts/check-workspace-contract.mjs | 6 + 27 files changed, 1634 insertions(+), 2 deletions(-) create mode 100644 .changeset/caldav-web.md create mode 100644 extensions/caldav/docs/module-federation/index.md create mode 100644 extensions/caldav/index.html create mode 100644 extensions/caldav/package.json create mode 100644 extensions/caldav/src/CalDAVSetup.vue create mode 100644 extensions/caldav/src/DAVContent.vue create mode 100644 extensions/caldav/src/DAVPreview.vue create mode 100644 extensions/caldav/src/DevApp.vue create mode 100644 extensions/caldav/src/content.ts create mode 100644 extensions/caldav/src/index.ts create mode 100644 extensions/caldav/src/locale.ts create mode 100644 extensions/caldav/src/main.ts create mode 100644 extensions/caldav/src/resolver.ts create mode 100644 extensions/caldav/src/setup.ts create mode 100644 extensions/caldav/tests/content.test.ts create mode 100644 extensions/caldav/tests/fixtures/calendar.ics create mode 100644 extensions/caldav/tests/fixtures/contact.vcf create mode 100644 extensions/caldav/tests/fixtures/tasks.ics create mode 100644 extensions/caldav/tsconfig.json create mode 100644 extensions/caldav/vite.config.ts diff --git a/.changeset/caldav-web.md b/.changeset/caldav-web.md new file mode 100644 index 00000000..adec277c --- /dev/null +++ b/.changeset/caldav-web.md @@ -0,0 +1,5 @@ +--- +'@inkcre/ext-caldav': minor +--- + +新增 CalDAV Web 分发,提供目标 Peer 连接向导,以及日历、任务、联系人和集合的内容预览与阅读。 diff --git a/.github/preview/extensions.json b/.github/preview/extensions.json index 64a1379f..8ff23808 100644 --- a/.github/preview/extensions.json +++ b/.github/preview/extensions.json @@ -1,6 +1,11 @@ { "schema_version": 1, "distributions": [ + { + "kind": "module_federation", + "producer": "../../extensions/caldav/package.json", + "artifact": "../../extensions/caldav/dist/client-web" + }, { "kind": "module_federation", "producer": "../../extensions/twitter/package.json", diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96f62b15..154bd12a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,6 +117,9 @@ jobs: - name: Verify static, typed, and package contracts run: pnpm check + - name: Verify CalDAV native content projections + run: pnpm --filter @inkcre/ext-caldav test + - name: Validate the native Twitter Module Federation snapshot run: >- node scripts/verify-native-extension-distribution.mjs inspect-local diff --git a/docs/30-unit-tdd/native-extension-runtime.md b/docs/30-unit-tdd/native-extension-runtime.md index d1018b0c..8b18c76a 100644 --- a/docs/30-unit-tdd/native-extension-runtime.md +++ b/docs/30-unit-tdd/native-extension-runtime.md @@ -78,7 +78,21 @@ Host resolves its own native format. A missing release requires an explicit repl Removing a participation requires it to be disabled and does not remove the plugin's shared identity, configuration, authorization state, Sources or info-base content. Another Peer's selection is unchanged. -## Documentation and Memos Connection +## Documentation and Connection Setup + +`inkcre/caldav` 的 Web setup contribution 按选定 Python Peer 的实际运行状态准备连接。 +没有选择时才从该 Peer 自己的 Registry 选择发行版;安装返回重启状态后停止后续写入, +要求刷新观察原目标。已有密码保持不变,缺失时才使用浏览器密码学随机数生成专用密码。 +完成条件包括 `running`、与 selection 一致的 `loaded_version`,以及 +`caldav.connection.v1` 返回合法服务地址。启用意图不能替代运行事实。未知写入结果锁定 +原目标直到刷新成功,不重放请求;关闭后的回调不能更新向导状态。 + +CalDAV 的三个 resolver 注册 `extensions.caldav.collection.v1`、 +`extensions.caldav.calendar.v1` 和 `extensions.caldav.contact.v1`。ical.js 解析原生 +iCalendar/vCard 为只读内存投影;calendar 同时承载 VEVENT 与 VTODO。内容视图不展开 +重复规则、不隐式转换源时区,也不把展示字段写回另一份模型。集合成员只从 outgoing +`member` Relations 读取。嵌入式照片仅渲染常见栅格类型,远程照片保留显式链接。 +解析失败保留原文;dispose 只注销当前模块自己注册的 resolver 类。 Extension cards discover documentation independently of executable preflight or enablement. They resolve the existing Registry origin and read documentation for the exact installed name and diff --git a/docs/40-deployment/web-delivery.md b/docs/40-deployment/web-delivery.md index fefc728a..145084aa 100644 --- a/docs/40-deployment/web-delivery.md +++ b/docs/40-deployment/web-delivery.md @@ -114,7 +114,7 @@ open, same-repository pull requests targeting `main`; fork pull requests are ine exact candidate head, installs the candidate's frozen pnpm and PDM environments, builds its SPA and selected Module Federation snapshots, and uses `inkcre-ext preview build` with the explicit `.github/preview/extensions.json` inventory to add a same-origin static Registry facade. The -current inventory includes the Twitter and Mail Module Federation distributions. Before +current inventory includes the CalDAV, GitHub, Twitter and Mail Module Federation distributions. Before deployment it revalidates that the PR is still open and its identity and head SHA have not changed. The Toolkit places read-only native Extension snapshots and preview Releases beside the exact-head diff --git a/extensions/caldav/docs/module-federation/index.md b/extensions/caldav/docs/module-federation/index.md new file mode 100644 index 00000000..135f2263 --- /dev/null +++ b/extensions/caldav/docs/module-federation/index.md @@ -0,0 +1,39 @@ +# CalDAV Web 扩展 + +在当前浏览器安装并启用 `inkcre/caldav` 的 Module Federation 分发,然后在扩展卡片中 +打开配置向导。Web 分发提供连接准备和内容阅读;持续接收手机同步的能力由运行 Python +分发的 Peer 提供。两种分发共享同一份扩展配置与信息。 + +## 准备手机连接 + +向导列出能够管理 Python 扩展的在线 Peer。选中提供服务的 Peer,点击「准备连接」。 +如果该 Peer 尚未选择 CalDAV,向导从它自己的 Registry 选择可用发行版;已有版本保持不变。 +首次安装可能重启 Peer,看到重启提示后点击「刷新状态」,待重启结束再继续准备连接。 +打开向导、切换 Peer 和刷新只读取状态,不会生成密码或启用服务。 + +已有专用密码会继续使用;尚未配置时才生成随机密码并保存。连接准备完成要求所选 Peer +实际运行了选定版本,并成功返回连接地址。保存成功但响应丢失时,向导要求先刷新确认结果, +不会自动重复写入或换一个 Peer 重试。 + +在 DAVx⁵ 中选择「使用 URL 和用户名登录」,填写向导显示的完整服务地址、`inkcre` +用户名和 DAV 专用密码。密码默认遮蔽,可以主动显示或复制。随后在 CalDAV 页选择日历和 +任务,在 CardDAV 页选择联系人;任务同步还需要安装 Tasks.org 并授予 DAVx⁵ 任务权限。 +手机必须能够访问服务地址;向导读到地址不代表已验证手机网络。 + +所有 DAV 客户端共享密码和集合。准备连接不会轮换已有密码;如需撤销或轮换,使用所选 +Python 分发的配置表单修改 `password`,并更新仍需同步的客户端。 + +## 阅读同步内容 + +信息库的预览用于辨认对象,打开内容后可以阅读完整事件、任务、联系人和集合成员。 +日历资源中的主事件与每个重复例外分别展示;没有把重复系列展开成未来日程表。 +日期类型保持全天语义,全天结束日期标明不包含该日。时间显示保存的墙上时间与原始 +TZID/UTC,未指定时区的时间会明确标注,不按浏览器时区隐式换算。 + +任务显示完成状态、到期、提醒与关联任务 UID。联系人显示多个电话、邮箱、地址、备注 +和嵌入式照片;外部照片地址需要主动打开,不在阅读时自动访问第三方。原文入口保留 +未单独展示的扩展字段;无法解析的记录会显示错误并仍允许阅读原文。 + +这些视图只读取共享 Blocks 与成员 Relations,不写回简化模型。手机同步更新后,使用宿主 +的信息库刷新操作取得新内容。停用 Web 分发会卸载对应渲染能力,不会删除 DAV 内容或 +停止其他 Peer 上运行的 Python 分发。 diff --git a/extensions/caldav/index.html b/extensions/caldav/index.html new file mode 100644 index 00000000..d7f3b001 --- /dev/null +++ b/extensions/caldav/index.html @@ -0,0 +1,12 @@ + + + + + + CalDAV Extension + + +
+ + + diff --git a/extensions/caldav/package.json b/extensions/caldav/package.json new file mode 100644 index 00000000..3f6013ed --- /dev/null +++ b/extensions/caldav/package.json @@ -0,0 +1,48 @@ +{ + "name": "@inkcre/ext-caldav", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "type-check": "vue-tsc --noEmit", + "test": "node --experimental-strip-types --test tests/*.test.ts" + }, + "dependencies": { + "@inkcre/core": "workspace:*", + "@inkcre/extension-runtime-client-web": "https://github.com/InKCre/ext-reg/releases/download/runtime-client-web-v0.4.1/inkcre-extension-runtime-client-web-0.4.1.tgz", + "ical.js": "2.2.1" + }, + "devDependencies": { + "@inkcre/ext-dev-utils": "workspace:*", + "@inkcre/ui-web": "2.2.1", + "@module-federation/vite": "^1.1.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/tsconfig": "^0.7.0", + "typescript": "catalog:", + "vite": "^7.0.6", + "vue-tsc": "catalog:" + }, + "peerDependencies": { + "@vueuse/core": "^14.0.0", + "pinia": "^3.0.0", + "vue": "^3.5.25", + "vue-router": "^4.5.0", + "zod": "^4.1.0" + }, + "inkcre": { + "name": "inkcre/caldav", + "nickname": "CalDAV", + "module_federation": { + "host_sdk": "@inkcre/core", + "host_sdk_version": ">=0.4.0 <0.5.0" + } + }, + "intent": { + "skills": [ + "@inkcre/ui-web" + ] + } +} diff --git a/extensions/caldav/src/CalDAVSetup.vue b/extensions/caldav/src/CalDAVSetup.vue new file mode 100644 index 00000000..50d1a530 --- /dev/null +++ b/extensions/caldav/src/CalDAVSetup.vue @@ -0,0 +1,358 @@ + + + + + diff --git a/extensions/caldav/src/DAVContent.vue b/extensions/caldav/src/DAVContent.vue new file mode 100644 index 00000000..4c1ad45b --- /dev/null +++ b/extensions/caldav/src/DAVContent.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/extensions/caldav/src/DAVPreview.vue b/extensions/caldav/src/DAVPreview.vue new file mode 100644 index 00000000..1cdc37ba --- /dev/null +++ b/extensions/caldav/src/DAVPreview.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/extensions/caldav/src/DevApp.vue b/extensions/caldav/src/DevApp.vue new file mode 100644 index 00000000..b8262670 --- /dev/null +++ b/extensions/caldav/src/DevApp.vue @@ -0,0 +1,7 @@ + + + diff --git a/extensions/caldav/src/content.ts b/extensions/caldav/src/content.ts new file mode 100644 index 00000000..3e5551de --- /dev/null +++ b/extensions/caldav/src/content.ts @@ -0,0 +1,225 @@ +import ICAL from 'ical.js' +import { z } from 'zod' + +const resourceSchema = z.object({ href: z.string(), text: z.string() }) +const collectionSchema = z.object({ path: z.string(), props: z.record(z.string(), z.string()) }) + +export interface CalendarDate { + value: string + zone: string + dateOnly: boolean +} + +export interface CalendarItem { + kind: 'vevent' | 'vtodo' + uid: string + title: string + description: string + location: string + status: string + start: CalendarDate | null + end: CalendarDate | null + due: CalendarDate | null + completed: CalendarDate | null + recurrenceId: CalendarDate | null + recurrence: string[] + excluded: string[] + added: string[] + duration: string + alarms: string[] + parents: string[] + priority: string + progress: string + url: string | null +} + +export interface ContactField { + value: string + label: string +} + +export type DAVContent = + | { kind: 'calendar'; href: string; text: string; items: CalendarItem[] } + | { + kind: 'contact' + href: string + text: string + title: string + fields: { name: string; values: ContactField[] }[] + photo: string | null + photoLink: string | null + } + | { + kind: 'collection' + title: string + path: string + tag: string + components: string + description: string + text: string + members: { id: number; title: string }[] + } + | { kind: 'invalid'; text: string } + +export function safeHttpUrl(value: string): string | null { + try { + const url = new URL(value) + return ['http:', 'https:'].includes(url.protocol) && !url.username && !url.password + ? url.href + : null + } catch { + return null + } +} + +function valueText(value: unknown): string { + if (value == null) return '' + if (Array.isArray(value)) return value.map(valueText).filter(Boolean).join(' · ') + return String(value) +} + +function propertyText(component: ICAL.Component, name: string): string { + return valueText(component.getFirstPropertyValue(name)) +} + +function date(component: ICAL.Component, name: string): CalendarDate | null { + const property = component.getFirstProperty(name) + if (!property) return null + const value = property.getFirstValue() + if (!(value instanceof ICAL.Time)) throw new Error('Expected an iCalendar date.') + // Keep wall time and TZID together; unknown/custom zones must not silently become local time. + return { + value: value.toString().replace('T', ' ').replace(/Z$/, ''), + zone: value.isDate + ? '' + : valueText(property.getParameter('tzid')) || + (value.zone.tzid === 'UTC' ? 'UTC' : 'floating'), + dateOnly: value.isDate, + } +} + +function values(component: ICAL.Component, name: string): string[] { + return component.getAllProperties(name).flatMap((property) => property.getValues().map(valueText)) +} + +function calendarItem(component: ICAL.Component): CalendarItem { + return { + kind: component.name as CalendarItem['kind'], + uid: propertyText(component, 'uid'), + title: propertyText(component, 'summary'), + description: propertyText(component, 'description'), + location: propertyText(component, 'location'), + status: propertyText(component, 'status'), + start: date(component, 'dtstart'), + end: date(component, 'dtend'), + due: date(component, 'due'), + completed: date(component, 'completed'), + recurrenceId: date(component, 'recurrence-id'), + recurrence: values(component, 'rrule'), + excluded: values(component, 'exdate'), + added: values(component, 'rdate'), + duration: propertyText(component, 'duration'), + alarms: component.getAllSubcomponents('valarm').map((alarm) => + ['trigger', 'action', 'description'] + .map((name) => propertyText(alarm, name)) + .filter(Boolean) + .join(' · ') + ), + parents: [...new Set(values(component, 'related-to'))], + priority: propertyText(component, 'priority'), + progress: propertyText(component, 'percent-complete'), + url: safeHttpUrl(propertyText(component, 'url')), + } +} + +const rasterTypes = new Set(['image/png', 'image/jpeg', 'image/gif', 'image/webp']) + +function photo(component: ICAL.Component): { photo: string | null; photoLink: string | null } { + const property = component.getFirstProperty('photo') + if (!property) return { photo: null, photoLink: null } + const raw = property.getFirstValue() + const value = valueText(raw) + const embedded = /^data:(image\/[a-z]+);base64,([a-z0-9+/=\s]+)$/i.exec(value) + if (embedded && rasterTypes.has(embedded[1]!.toLowerCase())) { + return { + photo: `data:${embedded[1]!.toLowerCase()};base64,${embedded[2]!.replace(/\s/g, '')}`, + photoLink: null, + } + } + if ( + property.type === 'binary' || + /^(b|base64)$/i.test(valueText(property.getParameter('encoding'))) + ) { + const type = valueText(property.getParameter('type')).toLowerCase() + const mediaType = type === 'jpg' ? 'image/jpeg' : `image/${type}` + if (rasterTypes.has(mediaType) && /^[a-z0-9+/=\s]+$/i.test(value)) { + return { photo: `data:${mediaType};base64,${value.replace(/\s/g, '')}`, photoLink: null } + } + } + return { photo: null, photoLink: safeHttpUrl(value) } +} + +export function parseResource(raw: string, expected: 'calendar' | 'contact'): DAVContent { + let text = raw + try { + const resource = resourceSchema.parse(JSON.parse(raw)) + text = resource.text + const component = new ICAL.Component(ICAL.parse(text)) + if (expected === 'calendar') { + if (component.name !== 'vcalendar') throw new Error('Expected VCALENDAR.') + const items = component + .getAllSubcomponents() + .filter((child) => child.name === 'vevent' || child.name === 'vtodo') + .map(calendarItem) + if (!items.length) throw new Error('No calendar components.') + return { kind: 'calendar', href: resource.href, text, items } + } + if (component.name !== 'vcard') throw new Error('Expected VCARD.') + const fields = ['tel', 'email', 'adr', 'org', 'title', 'bday', 'note', 'url'] + .map((name) => ({ + name, + values: component + .getAllProperties(name) + .map((property) => ({ + value: valueText(property.getFirstValue()), + label: valueText(property.getParameter('type')), + })) + .filter((field) => field.value), + })) + .filter((field) => field.values.length) + return { + kind: 'contact', + href: resource.href, + text, + title: propertyText(component, 'fn') || propertyText(component, 'n'), + fields, + ...photo(component), + } + } catch { + return { kind: 'invalid', text } + } +} + +export function parseCollection(raw: string): DAVContent { + try { + const { path, props } = collectionSchema.parse(JSON.parse(raw)) + return { + kind: 'collection', + title: props['D:displayname'] || path || 'inkcre', + path, + tag: props.tag ?? '', + components: props['C:supported-calendar-component-set'] ?? '', + members: [], + description: props['C:calendar-description'] || props['CR:addressbook-description'] || '', + text: raw, + } + } catch { + return { kind: 'invalid', text: raw } + } +} + +export function contentTitle(content: DAVContent): string { + if (content.kind === 'calendar') return content.items[0]?.title ?? '' + if (content.kind === 'contact' || content.kind === 'collection') return content.title + return '' +} diff --git a/extensions/caldav/src/index.ts b/extensions/caldav/src/index.ts new file mode 100644 index 00000000..69af3202 --- /dev/null +++ b/extensions/caldav/src/index.ts @@ -0,0 +1,15 @@ +import { Resolver, type ExtensionModule } from '@inkcre/core' +import CalDAVSetup from './CalDAVSetup.vue' +import { CalendarResolver, CollectionResolver, ContactResolver } from './resolver' + +const resolvers = [CalendarResolver, CollectionResolver, ContactResolver] +const extension: ExtensionModule = { + setup: { component: CalDAVSetup }, + async initialize() { + for (const resolver of resolvers) Resolver.register(resolver.type, resolver) + }, + async dispose() { + for (const resolver of resolvers) Resolver.unregister(resolver.type, resolver) + }, +} +export default extension diff --git a/extensions/caldav/src/locale.ts b/extensions/caldav/src/locale.ts new file mode 100644 index 00000000..5323c9c1 --- /dev/null +++ b/extensions/caldav/src/locale.ts @@ -0,0 +1,8 @@ +import { computed, inject } from 'vue' +import { INK_I18N_KEY } from '@inkcre/ui-web' + +export function useText() { + const i18n = inject(INK_I18N_KEY, undefined) + const zh = computed(() => i18n?.locale.value.startsWith('zh') ?? false) + return (en: string, cn: string) => (zh.value ? cn : en) +} diff --git a/extensions/caldav/src/main.ts b/extensions/caldav/src/main.ts new file mode 100644 index 00000000..4551a303 --- /dev/null +++ b/extensions/caldav/src/main.ts @@ -0,0 +1,10 @@ +import { bootstrapExtension } from '@inkcre/ext-dev-utils' +import '@inkcre/ui-web/styles' +import App from './DevApp.vue' +import extensionModule from './index' + +void bootstrapExtension({ + rootComponent: App, + extensionModule, + routes: [{ path: '/', component: () => import('./CalDAVSetup.vue') }], +}).catch(() => console.error('Unable to start the CalDAV extension playground.')) diff --git a/extensions/caldav/src/resolver.ts b/extensions/caldav/src/resolver.ts new file mode 100644 index 00000000..93ac4fcb --- /dev/null +++ b/extensions/caldav/src/resolver.ts @@ -0,0 +1,65 @@ +import { markRaw } from 'vue' +import { Block, Resolver, type ProjectionOptions } from '@inkcre/core' +import { contentTitle, parseCollection, parseResource, type DAVContent } from './content' +import DAVContentView from './DAVContent.vue' +import DAVPreview from './DAVPreview.vue' + +export class CalendarResolver extends Resolver { + static readonly type = 'extensions.caldav.calendar.v1' + static readonly previewRenderer = markRaw(DAVPreview) + static readonly solvedContentRenderer = markRaw(DAVContentView) + + protected async _getSolvedContent(options: ProjectionOptions): Promise { + return parseResource(await this.getRawContent(options), 'calendar') + } + + async getText(options: ProjectionOptions = {}): Promise { + const content = await this.getSolvedContent(options) + return content.kind === 'invalid' ? null : content.text + } +} + +export class ContactResolver extends Resolver { + static readonly type = 'extensions.caldav.contact.v1' + static readonly previewRenderer = markRaw(DAVPreview) + static readonly solvedContentRenderer = markRaw(DAVContentView) + + protected async _getSolvedContent(options: ProjectionOptions): Promise { + return parseResource(await this.getRawContent(options), 'contact') + } + + async getText(options: ProjectionOptions = {}): Promise { + const content = await this.getSolvedContent(options) + return content.kind === 'invalid' ? null : content.text + } +} + +export class CollectionResolver extends Resolver { + static readonly type = 'extensions.caldav.collection.v1' + static readonly previewRenderer = markRaw(DAVPreview) + static readonly solvedContentRenderer = markRaw(DAVContentView) + + protected async _getSolvedContent(options: ProjectionOptions): Promise { + const content = parseCollection(await this.getRawContent(options)) + if (content.kind !== 'collection') return content + const relations = await this.getRelations({ includeIn: false, refresh: options.refresh }) + const blocks = await Block.getMany( + relations.filter((relation) => relation.content === 'member').map((relation) => relation.to_) + ) + content.members = blocks.map((block) => ({ + id: block.id, + title: contentTitle( + parseResource( + block.content, + block.resolver === ContactResolver.type ? 'contact' : 'calendar' + ) + ), + })) + return content + } + + async getText(options: ProjectionOptions = {}): Promise { + const content = parseCollection(await this.getRawContent(options)) + return content.kind === 'collection' ? content.title : null + } +} diff --git a/extensions/caldav/src/setup.ts b/extensions/caldav/src/setup.ts new file mode 100644 index 00000000..8e74c717 --- /dev/null +++ b/extensions/caldav/src/setup.ts @@ -0,0 +1,156 @@ +import corePackage from '../../../packages/core/package.json' +import { + ExtensionModel, + ExtensionRegistryOriginResolver, + PeerConfigSchema, + PeerManager, + PeerProtocolResponseSchema, + type ExtensionRuntimeStatus, + type InstalledExtension, + type Peer, +} from '@inkcre/core' +import { + listAdvertisedExtensionManagementPeers, + manageExtensionOnPeer, + readExtensionPeerStatus, + RegistryReleaseReader, + sortPublishedReleases, +} from '@inkcre/extension-runtime-client-web' + +export const extensionName = 'inkcre/caldav' +export interface Candidate { + peer: Peer + status: ExtensionRuntimeStatus | null +} + +export function savedPassword(extension: InstalledExtension): string | null { + const value = extension.config.password + if (value == null) return null + if (typeof value !== 'string' || Array.from(value).length < 32 || Array.from(value).length > 128) + throw new Error('Invalid DAV password configuration.') + return value +} + +export function generatePassword(): string { + return Array.from(crypto.getRandomValues(new Uint8Array(32)), (byte) => + byte.toString(16).padStart(2, '0') + ).join('') +} + +export function waitingForRuntime(status: ExtensionRuntimeStatus | null): boolean { + return !!status && (status.restart_required || !!status.operation) +} + +export function runtimeReady(status: ExtensionRuntimeStatus | null): boolean { + return ( + !!status && + status.enabled && + status.running && + !waitingForRuntime(status) && + !!status.version && + status.loaded_version === status.version && + !status.error + ) +} + +export async function readCandidates(): Promise<{ candidates: Candidate[]; unavailable: number }> { + const peers = await listAdvertisedExtensionManagementPeers() + const results = await Promise.allSettled( + peers.map(async (peer) => { + const current = await readExtensionPeerStatus(peer.id, extensionName) + return current.supported_distributions.includes('python') + ? { peer, status: current.extensions.find((row) => row.name === extensionName) ?? null } + : null + }) + ) + return { + candidates: results.flatMap((result) => + result.status === 'fulfilled' && result.value ? [result.value] : [] + ), + unavailable: results.filter((result) => result.status === 'rejected').length, + } +} + +export class ConnectionError extends Error { + constructor(readonly status: number) { + super('Unable to read DAV connection details.') + } +} + +export async function readConnection( + peerId: string +): Promise<{ server_url: string; username: string }> { + const response = PeerProtocolResponseSchema.parse( + await PeerManager.delegate('caldav.connection.v1', {}, peerId) + ) + if (response.status !== 200) throw new ConnectionError(response.status) + const body = response.body + if ( + !body || + typeof body !== 'object' || + !('server_url' in body) || + typeof body.server_url !== 'string' || + !('username' in body) || + body.username !== 'inkcre' + ) + throw new ConnectionError(502) + const url = new URL(body.server_url) + if ( + !['http:', 'https:'].includes(url.protocol) || + url.username || + url.password || + url.search || + url.hash + ) + throw new ConnectionError(502) + return { server_url: url.href, username: body.username } +} + +/** Each explicit action advances only this Peer; a restart requires a read before further writes. */ +export async function prepareConnection(peer: Peer): Promise { + const observed = await readExtensionPeerStatus(peer.id, extensionName) + if (!observed.supported_distributions.includes('python')) + throw new Error('Python is not supported.') + let status = observed.extensions.find((row) => row.name === extensionName) ?? null + if (waitingForRuntime(status)) return status! + if (!status?.version) { + const peerConfig = PeerConfigSchema.parse(peer.config) + const registryOrigin = await new ExtensionRegistryOriginResolver( + () => peerConfig.extension_registry_url + ).resolve() + const reader = new RegistryReleaseReader({ + registryOrigin, + hostSdk: { name: '@inkcre/core', version: corePackage.version }, + }) + const release = sortPublishedReleases( + (await reader.getExtension(extensionName, 'python')).releases ?? [] + )[0] + if (!release) throw new Error('No published Python release.') + status = await manageExtensionOnPeer(peer.id, { + action: 'select', + extension: extensionName, + distribution: 'python', + version: release.version, + }) + if (waitingForRuntime(status)) return status + } + if (status.distribution !== 'python') throw new Error('The selected distribution is not Python.') + const extension = await ExtensionModel.get(extensionName) + if (!extension) throw new Error('CalDAV is not installed.') + if (!savedPassword(extension)) { + const password = generatePassword() + status = await manageExtensionOnPeer(peer.id, { + action: 'patch_config', + extension: extensionName, + patch: { password }, + }) + const saved = await ExtensionModel.get(extensionName) + if (!saved || savedPassword(saved) !== password) + throw new Error('Password save could not be confirmed.') + if (waitingForRuntime(status)) return status + } + if (!runtimeReady(status)) { + status = await manageExtensionOnPeer(peer.id, { action: 'enable', extension: extensionName }) + } + return status +} diff --git a/extensions/caldav/tests/content.test.ts b/extensions/caldav/tests/content.test.ts new file mode 100644 index 00000000..dc43862c --- /dev/null +++ b/extensions/caldav/tests/content.test.ts @@ -0,0 +1,106 @@ +import { readFileSync } from 'node:fs' +import assert from 'node:assert/strict' +import { test } from 'node:test' +import { parseCollection, parseResource, safeHttpUrl } from '../src/content.ts' + +const resource = (text: string) => JSON.stringify({ href: 'test.ics', text }) +const fixture = (name: string) => + readFileSync(new URL(`./fixtures/${name}`, import.meta.url), 'utf8') + +test('the phone calendar retains the master, offline exception and all-day date boundaries', () => { + const result = parseResource(resource(fixture('calendar.ics')), 'calendar') + assert.equal(result.kind, 'calendar') + if (result.kind !== 'calendar') return + assert.equal(result.items.length, 3) + const master = result.items.find((item) => item.title === 'InKCre Preview Event')! + assert.ok(master.recurrence.some((rule) => rule.includes('COUNT=3'))) + assert.ok(master.alarms.some((alarm) => alarm.includes('-PT15M'))) + const exception = result.items.find((item) => item.title === 'InKCre Preview Offline Edit')! + assert.ok(exception.recurrenceId) + assert.equal(exception.uid, master.uid) + const allDay = result.items.find((item) => item.title === 'InKCre Preview All Day')! + assert.deepEqual(allDay.start, { value: '2026-10-20', zone: '', dateOnly: true }) + assert.deepEqual(allDay.end, { value: '2026-10-21', zone: '', dateOnly: true }) +}) + +test('Tasks.org parent references and completion state remain readable', () => { + const result = parseResource(resource(fixture('tasks.ics')), 'calendar') + assert.equal(result.kind, 'calendar') + if (result.kind !== 'calendar') return + const parent = result.items.find((item) => item.title === 'InKCre Preview Parent')! + const child = result.items.find((item) => item.title === 'InKCre Preview Child')! + assert.equal(child.kind, 'vtodo') + assert.deepEqual(child.parents, [parent.uid]) + assert.equal(child.status, 'NEEDS-ACTION') +}) + +test('a real Android vCard retains its two phones and embedded raster photo', () => { + const result = parseResource(resource(fixture('contact.vcf')), 'contact') + assert.equal(result.kind, 'contact') + if (result.kind !== 'contact') return + assert.equal(result.title, 'InKCre Preview Photo Contact') + assert.equal(result.fields.find((field) => field.name === 'tel')?.values.length, 2) + assert.match(result.photo ?? '', /^data:image\/jpeg;base64,/) + assert.equal(result.photoLink, null) +}) + +test('floating and unknown TZID wall times are not converted; folded text and recurrence dates survive', () => { + const text = [ + 'BEGIN:VCALENDAR', + 'VERSION:2.0', + 'BEGIN:VEVENT', + 'UID:folded', + 'SUMMARY:Folded\\, title', + ' continuation', + 'DTSTART;TZID=Custom/Zone:20261020T103000', + 'DTEND:20261020T113000', + 'EXDATE:20261021T103000', + 'RDATE:20261022T103000', + 'DESCRIPTION:\\nSecond line', + 'X-EXTRA:preserved', + 'END:VEVENT', + 'END:VCALENDAR', + ].join('\r\n') + const result = parseResource(resource(text), 'calendar') + assert.equal(result.kind, 'calendar') + if (result.kind !== 'calendar') return + const item = result.items[0]! + assert.equal(item.title, 'Folded, titlecontinuation') + assert.deepEqual(item.start, { + value: '2026-10-20 10:30:00', + zone: 'Custom/Zone', + dateOnly: false, + }) + assert.equal(item.end?.zone, 'floating') + assert.deepEqual(item.excluded, ['2026-10-21T10:30:00']) + assert.deepEqual(item.added, ['2026-10-22T10:30:00']) + assert.equal(item.description, '\nSecond line') + assert.equal(result.text, text) +}) + +test('unsafe photos and links cannot become active content; remote photos remain explicit links', () => { + assert.equal(safeHttpUrl('javascript:alert(1)'), null) + assert.equal(safeHttpUrl('https://user:secret@example.com/'), null) + for (const [photo, embedded, link] of [ + ['data:image/svg+xml;base64,PHN2Zz4=', null, null], + ['https://example.com/photo.png', null, 'https://example.com/photo.png'], + ['data:image/png;base64,aGVsbG8=', 'data:image/png;base64,aGVsbG8=', null], + ]) { + const result = parseResource( + resource(`BEGIN:VCARD\r\nVERSION:4.0\r\nFN:Test\r\nPHOTO:${photo}\r\nEND:VCARD`), + 'contact' + ) + assert.equal(result.kind, 'contact') + if (result.kind !== 'contact') continue + assert.equal(result.photo, embedded) + assert.equal(result.photoLink, link) + } +}) + +test('malformed records preserve original content and the principal is not mislabeled as a calendar', () => { + const invalid = parseResource(resource('not a calendar'), 'calendar') + assert.deepEqual(invalid, { kind: 'invalid', text: 'not a calendar' }) + const principal = parseCollection(JSON.stringify({ path: 'inkcre', props: {} })) + assert.equal(principal.kind, 'collection') + if (principal.kind === 'collection') assert.equal(principal.tag, '') +}) diff --git a/extensions/caldav/tests/fixtures/calendar.ics b/extensions/caldav/tests/fixtures/calendar.ics new file mode 100644 index 00000000..9d139f59 --- /dev/null +++ b/extensions/caldav/tests/fixtures/calendar.ics @@ -0,0 +1,50 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//PYVOBJECT//NONSGML Version 0.9.9//EN +X-WR-CALNAME;VALUE=TEXT:InKCre 日历 +BEGIN:VEVENT +UID:7a13ee9f-0173-4e77-9ee5-fa8fbc6995a7 +DTSTART;VALUE=DATE:20261020 +DTEND;VALUE=DATE:20261021 +CATEGORIES:Come From :ws.xsoh.etar +DTSTAMP:20261020T132049Z +STATUS:CONFIRMED +SUMMARY:InKCre Preview All Day +TRANSP:TRANSPARENT +BEGIN:VALARM +ACTION:DISPLAY +DESCRIPTION:InKCre Preview All Day +TRIGGER:-PT10M +END:VALARM +END:VEVENT +BEGIN:VEVENT +UID:inkcre-preview146-event +DTSTART:20261021T020000Z +DTEND:20261021T030000Z +DESCRIPTION:PR 146 HTTPS acceptance test +DTSTAMP:20261020T130929Z +RRULE:FREQ=DAILY;COUNT=3 +SUMMARY:InKCre Preview Event +BEGIN:VALARM +ACTION:DISPLAY +DESCRIPTION:InKCre Preview Event +TRIGGER:-PT15M +END:VALARM +END:VEVENT +BEGIN:VEVENT +UID:inkcre-preview146-event +RECURRENCE-ID:20261021T020000Z +DTSTART:20261021T020000Z +DTEND:20261021T030000Z +DESCRIPTION:PR 146 HTTPS acceptance test +DTSTAMP:20261020T130929Z +SEQUENCE:1 +STATUS:TENTATIVE +SUMMARY:InKCre Preview Offline Edit +BEGIN:VALARM +ACTION:DISPLAY +DESCRIPTION:InKCre Preview Offline Edit +TRIGGER:-PT15M +END:VALARM +END:VEVENT +END:VCALENDAR diff --git a/extensions/caldav/tests/fixtures/contact.vcf b/extensions/caldav/tests/fixtures/contact.vcf new file mode 100644 index 00000000..6eecef20 --- /dev/null +++ b/extensions/caldav/tests/fixtures/contact.vcf @@ -0,0 +1,14 @@ +BEGIN:VCARD +VERSION:3.0 +PRODID:+//IDN bitfire.at//DAVx5/4.5.14-ose ez-vcard/0.12.2 (ez-vcard/0.12.2 + ) +UID:inkcre-preview146-contact +EMAIL:preview146@example.invalid +FN:InKCre Preview Photo Contact +N:;InKCre Preview Photo Contact;;; +NOTE:PR 146 HTTPS acceptance test +PHOTO;ENCODING=b;TYPE=jpeg:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAACAAMDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgf/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCcgKKCP//Z +REV:2026-10-20T13:14:58Z +TEL;TYPE=cell:+8613800000000 +TEL;TYPE=work:+8613900000000 +END:VCARD diff --git a/extensions/caldav/tests/fixtures/tasks.ics b/extensions/caldav/tests/fixtures/tasks.ics new file mode 100644 index 00000000..13c971ba --- /dev/null +++ b/extensions/caldav/tests/fixtures/tasks.ics @@ -0,0 +1,26 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//PYVOBJECT//NONSGML Version 0.9.9//EN +X-WR-CALNAME;VALUE=TEXT:InKCre 任务 +BEGIN:VTODO +CREATED:20261020T131432Z +DTSTAMP:20261020T131458Z +LAST-MODIFIED:20261020T131432Z +PRIORITY:9 +STATUS:NEEDS-ACTION +SUMMARY:InKCre Preview Parent +UID:1653452019178147571 +X-APPLE-SORT-ORDER:814194394 +END:VTODO +BEGIN:VTODO +CREATED:20261020T131432Z +DTSTAMP:20261020T131458Z +LAST-MODIFIED:20261020T131432Z +PRIORITY:9 +RELATED-TO;RELTYPE=PARENT:1653452019178147571 +RELATED-TO:1653452019178147571 +STATUS:NEEDS-ACTION +SUMMARY:InKCre Preview Child +UID:1870710616971510927 +END:VTODO +END:VCALENDAR diff --git a/extensions/caldav/tsconfig.json b/extensions/caldav/tsconfig.json new file mode 100644 index 00000000..dc91eb8d --- /dev/null +++ b/extensions/caldav/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "outDir": "./dist/types", + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.tsbuildinfo", + "experimentalDecorators": true, + "skipLibCheck": true, + "paths": { + "@inkcre/core": ["../../packages/core/src/index.ts"], + "@inkcre/core/*": ["../../packages/core/src/*"] + } + }, + "include": ["src/**/*", "src/**/*.vue"] +} diff --git a/extensions/caldav/vite.config.ts b/extensions/caldav/vite.config.ts new file mode 100644 index 00000000..9878d993 --- /dev/null +++ b/extensions/caldav/vite.config.ts @@ -0,0 +1,21 @@ +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { federation } from '@module-federation/vite' +import mfShared from '../mf-shared' +import extensionPackage from './package.json' + +export default defineConfig({ + plugins: [ + vue(), + federation({ + name: 'extension.caldav', + filename: 'remoteEntry.js', + manifest: true, + exposes: { '.': fileURLToPath(new URL('./src/index.ts', import.meta.url)) }, + shared: mfShared(extensionPackage.inkcre.module_federation.host_sdk_version), + }), + ], + base: './', + build: { target: 'es2022', outDir: 'dist/client-web', sourcemap: true }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cec44c4f..128d78ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -293,6 +293,58 @@ importers: specifier: ^0.20.6 version: 0.20.27(@rspack/core@2.1.5)(@types/node@22.17.2)(eslint@9.39.5(jiti@2.7.0))(jiti@2.7.0)(lightningcss@1.33.0)(oxc-parser@0.131.0)(rolldown@1.2.0)(rollup@4.59.0)(sass-embedded@1.90.0)(sass@1.101.6)(yaml@2.9.0) + extensions/caldav: + dependencies: + '@inkcre/core': + specifier: workspace:* + version: link:../../packages/core + '@inkcre/extension-runtime-client-web': + specifier: https://github.com/InKCre/ext-reg/releases/download/runtime-client-web-v0.4.1/inkcre-extension-runtime-client-web-0.4.1.tgz + version: https://github.com/InKCre/ext-reg/releases/download/runtime-client-web-v0.4.1/inkcre-extension-runtime-client-web-0.4.1.tgz(@inkcre/core@packages+core)(@module-federation/runtime@0.22.1) + '@vueuse/core': + specifier: ^14.0.0 + version: 14.4.0(vue@3.5.40(typescript@5.9.3)) + ical.js: + specifier: 2.2.1 + version: 2.2.1 + pinia: + specifier: ^3.0.0 + version: 3.0.3(typescript@5.9.3)(vue@3.5.40(typescript@5.9.3)) + vue: + specifier: ^3.5.25 + version: 3.5.40(typescript@5.9.3) + vue-router: + specifier: ^4.5.0 + version: 4.5.1(vue@3.5.40(typescript@5.9.3)) + zod: + specifier: ^4.1.0 + version: 4.4.3 + devDependencies: + '@inkcre/ext-dev-utils': + specifier: workspace:* + version: link:../../packages/ext-dev-utils + '@inkcre/ui-web': + specifier: 2.2.1 + version: 2.2.1(unocss@66.7.5(vite@7.3.6(@types/node@22.17.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass-embedded@1.90.0)(sass@1.101.6)(yaml@2.9.0)))(vue@3.5.40(typescript@5.9.3)) + '@module-federation/vite': + specifier: ^1.1.0 + version: 1.7.1(rollup@4.59.0) + '@vitejs/plugin-vue': + specifier: ^6.0.1 + version: 6.0.3(vite@7.3.6(@types/node@22.17.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass-embedded@1.90.0)(sass@1.101.6)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3)) + '@vue/tsconfig': + specifier: ^0.7.0 + version: 0.7.0(typescript@5.9.3)(vue@3.5.40(typescript@5.9.3)) + typescript: + specifier: 'catalog:' + version: 5.9.3 + vite: + specifier: ^7.0.6 + version: 7.3.6(@types/node@22.17.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass-embedded@1.90.0)(sass@1.101.6)(yaml@2.9.0) + vue-tsc: + specifier: 'catalog:' + version: 3.3.8(typescript@5.9.3) + extensions/github: dependencies: '@inkcre/core': @@ -4388,6 +4440,9 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} + ical.js@2.2.1: + resolution: {integrity: sha512-yK/UlPbEs316igb/tjRgbFA8ZV75rCsBJp/hWOatpyaPNlgw0dGDmU+FoicOcwX4xXkeXOkYiOmCqNPFpNPkQg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -10146,6 +10201,8 @@ snapshots: human-signals@8.0.1: {} + ical.js@2.2.1: {} + ieee754@1.2.1: {} ignore@5.3.2: diff --git a/scripts/check-package-contract.mjs b/scripts/check-package-contract.mjs index 638e3044..90318ccc 100644 --- a/scripts/check-package-contract.mjs +++ b/scripts/check-package-contract.mjs @@ -26,6 +26,7 @@ await Promise.all( 'apps/client-webext/.output/chrome-mv3/content-scripts/content.js', 'apps/client-webext/.output/chrome-mv3/content-scripts/content.css', 'extensions/github/dist/client-web/remoteEntry.js', + 'extensions/caldav/dist/client-web/remoteEntry.js', 'extensions/mail/dist/client-web/remoteEntry.js', 'extensions/memos/dist/client-web/remoteEntry.js', 'extensions/twitter/dist/client-web/remoteEntry.js', diff --git a/scripts/check-workspace-contract.mjs b/scripts/check-workspace-contract.mjs index 4add0ad1..6812f099 100644 --- a/scripts/check-workspace-contract.mjs +++ b/scripts/check-workspace-contract.mjs @@ -5,6 +5,12 @@ const repoRoot = fileURLToPath(new URL('..', import.meta.url)) const jsonOutput = process.argv.includes('--json') const workspaces = [ + { + path: 'extensions/caldav', + name: '@inkcre/ext-caldav', + requiredScripts: ['build', 'dev', 'type-check'], + builder: 'vite', + }, { path: 'packages/core', name: '@inkcre/core', From dff011b61e790b1c9193b2f8da17af4dde3cb57c Mon Sep 17 00:00:00 2001 From: Lan_zhijiang Date: Tue, 20 Oct 2026 23:21:39 +0800 Subject: [PATCH 2/9] =?UTF-8?q?fix(caldav):=20=E4=BF=9D=E7=95=99=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=8A=B6=E6=80=81=E4=B8=8E=E9=87=8D=E5=A4=8D=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=97=B6=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 下载期间阻止再次安装,失败后要求先恢复 Peer\n- 保留重复日期参数,补充真实状态与密码契约测试 --- extensions/caldav/src/CalDAVSetup.vue | 31 ++++++---- extensions/caldav/src/DAVContent.vue | 23 +++++--- extensions/caldav/src/content.ts | 4 +- extensions/caldav/src/setup-state.ts | 40 +++++++++++++ extensions/caldav/src/setup.ts | 44 ++++---------- extensions/caldav/tests/content.test.ts | 8 +-- extensions/caldav/tests/setup-state.test.ts | 63 +++++++++++++++++++++ 7 files changed, 156 insertions(+), 57 deletions(-) create mode 100644 extensions/caldav/src/setup-state.ts create mode 100644 extensions/caldav/tests/setup-state.test.ts diff --git a/extensions/caldav/src/CalDAVSetup.vue b/extensions/caldav/src/CalDAVSetup.vue index 50d1a530..c8d0f8eb 100644 --- a/extensions/caldav/src/CalDAVSetup.vue +++ b/extensions/caldav/src/CalDAVSetup.vue @@ -8,11 +8,9 @@ import { prepareConnection, readCandidates, readConnection, - runtimeReady, - savedPassword, - waitingForRuntime, type Candidate, } from './setup' +import { runtimeFailed, runtimeReady, savedPassword, waitingForRuntime } from './setup-state' import { useText } from './locale' const emit = defineEmits<{ close: [] }>() @@ -38,6 +36,7 @@ onUnmounted(() => { const candidate = computed(() => candidates.value.find((value) => value.peer.id === selected.value)) const waiting = computed(() => waitingForRuntime(candidate.value?.status ?? null)) +const failed = computed(() => runtimeFailed(candidate.value?.status ?? null)) const ready = computed( () => runtimeReady(candidate.value?.status ?? null) && !!connection.value && !!password.value ) @@ -138,8 +137,8 @@ async function prepare() { password.value = extension ? savedPassword(extension) : null if (waitingForRuntime(status)) { notice.value = tr( - 'Installation is restarting the Peer. Refresh its status before continuing.', - '安装正在重启此 Peer。请刷新状态,重启结束后继续准备连接。' + 'Installation or restart is in progress. Refresh its status before continuing.', + '此 Peer 正在安装或重启。请刷新状态,完成后继续准备连接。' ) } else if (!runtimeReady(status)) { notice.value = tr( @@ -212,11 +211,21 @@ onMounted(refresh)

Python {{ candidate.status.version }} · {{ - runtimeReady(candidate.status) - ? tr('Running', '运行中') - : waiting - ? tr('Restarting', '正在重启') - : tr('Not running', '未运行') + failed + ? tr('Failed', '失败') + : runtimeReady(candidate.status) + ? tr('Running', '运行中') + : waiting + ? tr('Installing or restarting', '正在安装或重启') + : tr('Not running', '未运行') + }} +

+ diff --git a/extensions/caldav/src/DAVContent.vue b/extensions/caldav/src/DAVContent.vue index 4c1ad45b..c3cdc112 100644 --- a/extensions/caldav/src/DAVContent.vue +++ b/extensions/caldav/src/DAVContent.vue @@ -53,8 +53,7 @@ function status(value: string) {

{{ item.kind === 'vtodo' ? tr('Task', '任务') : tr('Event', '日程') - }} - · {{ tr('Single occurrence exception', '单次重复例外') }} · {{ tr('Recurrence exception', '重复例外') }} · {{ tr('Recurring series', '重复系列') }} @@ -109,23 +108,33 @@ function status(value: string) { > +

{{ rule }}
+ +
{{ value }}
+ +
{{ value }}
+ +
{{ value }}
+ +
{{ value }}
+

{{ item.description }}

diff --git a/extensions/caldav/src/content.ts b/extensions/caldav/src/content.ts index 3e5551de..4f7d9de2 100644 --- a/extensions/caldav/src/content.ts +++ b/extensions/caldav/src/content.ts @@ -116,8 +116,8 @@ function calendarItem(component: ICAL.Component): CalendarItem { completed: date(component, 'completed'), recurrenceId: date(component, 'recurrence-id'), recurrence: values(component, 'rrule'), - excluded: values(component, 'exdate'), - added: values(component, 'rdate'), + excluded: component.getAllProperties('exdate').map((property) => property.toICALString()), + added: component.getAllProperties('rdate').map((property) => property.toICALString()), duration: propertyText(component, 'duration'), alarms: component.getAllSubcomponents('valarm').map((alarm) => ['trigger', 'action', 'description'] diff --git a/extensions/caldav/src/setup-state.ts b/extensions/caldav/src/setup-state.ts new file mode 100644 index 00000000..4e130f23 --- /dev/null +++ b/extensions/caldav/src/setup-state.ts @@ -0,0 +1,40 @@ +import type { ExtensionRuntimeStatus, InstalledExtension } from '@inkcre/core' + +export function savedPassword(extension: InstalledExtension): string | null { + const value = extension.config.password + if (value == null) return null + if (typeof value !== 'string' || Array.from(value).length < 32 || Array.from(value).length > 128) + throw new Error('Invalid DAV password configuration.') + return value +} + +export function generatePassword(): string { + return Array.from(crypto.getRandomValues(new Uint8Array(32)), (byte) => + byte.toString(16).padStart(2, '0') + ).join('') +} + +export function runtimeFailed(status: ExtensionRuntimeStatus | null): boolean { + return !!status && (!!status.error || status.operation === 'failed') +} + +export function waitingForRuntime(status: ExtensionRuntimeStatus | null): boolean { + return ( + !!status && + !runtimeFailed(status) && + (status.restart_required || + ['downloading', 'applying', 'restarting'].includes(status.operation ?? '')) + ) +} + +export function runtimeReady(status: ExtensionRuntimeStatus | null): boolean { + return ( + !!status && + status.enabled && + status.running && + !waitingForRuntime(status) && + !!status.version && + status.loaded_version === status.version && + !runtimeFailed(status) + ) +} diff --git a/extensions/caldav/src/setup.ts b/extensions/caldav/src/setup.ts index 8e74c717..717000c5 100644 --- a/extensions/caldav/src/setup.ts +++ b/extensions/caldav/src/setup.ts @@ -6,7 +6,6 @@ import { PeerManager, PeerProtocolResponseSchema, type ExtensionRuntimeStatus, - type InstalledExtension, type Peer, } from '@inkcre/core' import { @@ -17,42 +16,20 @@ import { sortPublishedReleases, } from '@inkcre/extension-runtime-client-web' +import { + generatePassword, + runtimeFailed, + runtimeReady, + savedPassword, + waitingForRuntime, +} from './setup-state' + export const extensionName = 'inkcre/caldav' export interface Candidate { peer: Peer status: ExtensionRuntimeStatus | null } -export function savedPassword(extension: InstalledExtension): string | null { - const value = extension.config.password - if (value == null) return null - if (typeof value !== 'string' || Array.from(value).length < 32 || Array.from(value).length > 128) - throw new Error('Invalid DAV password configuration.') - return value -} - -export function generatePassword(): string { - return Array.from(crypto.getRandomValues(new Uint8Array(32)), (byte) => - byte.toString(16).padStart(2, '0') - ).join('') -} - -export function waitingForRuntime(status: ExtensionRuntimeStatus | null): boolean { - return !!status && (status.restart_required || !!status.operation) -} - -export function runtimeReady(status: ExtensionRuntimeStatus | null): boolean { - return ( - !!status && - status.enabled && - status.running && - !waitingForRuntime(status) && - !!status.version && - status.loaded_version === status.version && - !status.error - ) -} - export async function readCandidates(): Promise<{ candidates: Candidate[]; unavailable: number }> { const peers = await listAdvertisedExtensionManagementPeers() const results = await Promise.allSettled( @@ -112,6 +89,7 @@ export async function prepareConnection(peer: Peer): Promise row.name === extensionName) ?? null + if (runtimeFailed(status)) throw new Error('Recover the failed Peer operation before continuing.') if (waitingForRuntime(status)) return status! if (!status?.version) { const peerConfig = PeerConfigSchema.parse(peer.config) @@ -132,7 +110,7 @@ export async function prepareConnection(peer: Peer): Promisealert(1)\\nSecond line', 'X-EXTRA:preserved', 'END:VEVENT', @@ -72,8 +72,8 @@ test('floating and unknown TZID wall times are not converted; folded text and re dateOnly: false, }) assert.equal(item.end?.zone, 'floating') - assert.deepEqual(item.excluded, ['2026-10-21T10:30:00']) - assert.deepEqual(item.added, ['2026-10-22T10:30:00']) + assert.deepEqual(item.excluded, ['EXDATE;VALUE=DATE:20261021']) + assert.deepEqual(item.added, ['RDATE;TZID=America/New_York:20261022T103000']) assert.equal(item.description, '\nSecond line') assert.equal(result.text, text) }) diff --git a/extensions/caldav/tests/setup-state.test.ts b/extensions/caldav/tests/setup-state.test.ts new file mode 100644 index 00000000..3cdc2352 --- /dev/null +++ b/extensions/caldav/tests/setup-state.test.ts @@ -0,0 +1,63 @@ +import assert from 'node:assert/strict' +import { test } from 'node:test' +import type { ExtensionRuntimeStatus } from '@inkcre/core' +import { + generatePassword, + runtimeFailed, + runtimeReady, + savedPassword, + waitingForRuntime, +} from '../src/setup-state.ts' + +const running: ExtensionRuntimeStatus = { + name: 'inkcre/caldav', + peer_id: '454cda4b-5576-58e4-9d26-7a7c93cd06b6', + distribution: 'python', + version: '0.1.0', + enabled: true, + config_schema: null, + supported_distributions: ['python'], + loaded_version: '0.1.0', + running: true, + restart_required: false, + operation: null, + error: null, +} + +test('readiness requires the selected version to be actually running', () => { + assert.equal(runtimeReady(running), true) + for (const change of [ + { enabled: false }, + { running: false }, + { loaded_version: '0.0.1' }, + { restart_required: true }, + { operation: 'restarting' }, + { operation: 'downloading' }, + { operation: 'failed' }, + { error: 'failed' }, + ]) + assert.equal(runtimeReady({ ...running, ...change }), false) + assert.equal(runtimeReady(null), false) +}) + +test('a completed failure is not presented as installation still in progress', () => { + assert.equal(waitingForRuntime({ ...running, operation: 'failed', error: 'failed' }), false) + assert.equal(waitingForRuntime({ ...running, operation: 'applying' }), true) + const failed = { ...running, operation: 'failed', restart_required: true } + assert.equal(waitingForRuntime(failed), false) + assert.equal(runtimeFailed(failed), true) + assert.equal(runtimeReady(failed), false) + assert.equal(waitingForRuntime({ ...running, version: null, operation: 'downloading' }), true) +}) + +test('password preparation matches Python character limits and preserves existing values', () => { + const extension = { name: 'inkcre/caldav', nickname: 'CalDAV', config: {} } + assert.equal(savedPassword(extension), null) + const existing = '日'.repeat(32) + assert.equal(savedPassword({ ...extension, config: { password: existing } }), existing) + for (const password of ['a'.repeat(31), 'a'.repeat(129), 123]) + assert.throws(() => savedPassword({ ...extension, config: { password } })) + const generated = generatePassword() + assert.match(generated, /^[0-9a-f]{64}$/) + assert.notEqual(generated, generatePassword()) +}) From 9b0875e90779e22cbde219664a50fceaf9680b78 Mon Sep 17 00:00:00 2001 From: Lan_zhijiang Date: Tue, 20 Oct 2026 23:35:04 +0800 Subject: [PATCH 3/9] =?UTF-8?q?fix(caldav):=20=E6=8C=89=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=20Python=20Peer=20=E8=A7=A3=E6=9E=90=20Registry=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 支持 Python 的空 Registry 覆盖值,并读取共享部署配置。无法观察进程默认值时,提示明确配置后再安装,避免选择错误来源的版本。 --- extensions/caldav/src/CalDAVSetup.vue | 27 +++++++++++++++------ extensions/caldav/src/setup-state.ts | 20 +++++++++++++++ extensions/caldav/src/setup.ts | 20 +++++++++++---- extensions/caldav/tests/setup-state.test.ts | 18 ++++++++++++++ 4 files changed, 72 insertions(+), 13 deletions(-) diff --git a/extensions/caldav/src/CalDAVSetup.vue b/extensions/caldav/src/CalDAVSetup.vue index c8d0f8eb..359bf6e2 100644 --- a/extensions/caldav/src/CalDAVSetup.vue +++ b/extensions/caldav/src/CalDAVSetup.vue @@ -10,7 +10,13 @@ import { readConnection, type Candidate, } from './setup' -import { runtimeFailed, runtimeReady, savedPassword, waitingForRuntime } from './setup-state' +import { + RegistryConfigurationError, + runtimeFailed, + runtimeReady, + savedPassword, + waitingForRuntime, +} from './setup-state' import { useText } from './locale' const emit = defineEmits<{ close: [] }>() @@ -151,15 +157,20 @@ async function prepare() { if (!mounted || epoch !== generation) return requiresRefresh.value = true error.value = - cause instanceof PeerOutcomeUnknown + cause instanceof RegistryConfigurationError ? tr( - 'The request outcome is unknown. Refresh this Peer before continuing; the request will not be repeated automatically.', - '请求结果未知。请先刷新此 Peer 的状态;不会自动重复发送请求。' - ) - : tr( - 'Connection preparation did not finish. Saved settings are preserved. Refresh this Peer before retrying.', - '连接准备未完成,已保存的设置仍保留。请刷新此 Peer 后重试。' + 'This Peer’s extension Registry is not configured for discovery. Set its Registry URL in Peers → Edit Config, then refresh.', + '无法确定此 Peer 使用的扩展 Registry。请在 Peer → 编辑配置中填写该 Peer 的 Registry 地址,再刷新。' ) + : cause instanceof PeerOutcomeUnknown + ? tr( + 'The request outcome is unknown. Refresh this Peer before continuing; the request will not be repeated automatically.', + '请求结果未知。请先刷新此 Peer 的状态;不会自动重复发送请求。' + ) + : tr( + 'Connection preparation did not finish. Saved settings are preserved. Refresh this Peer before retrying.', + '连接准备未完成,已保存的设置仍保留。请刷新此 Peer 后重试。' + ) } finally { if (mounted && epoch === generation) busy.value = null } diff --git a/extensions/caldav/src/setup-state.ts b/extensions/caldav/src/setup-state.ts index 4e130f23..c5078e1e 100644 --- a/extensions/caldav/src/setup-state.ts +++ b/extensions/caldav/src/setup-state.ts @@ -1,5 +1,25 @@ import type { ExtensionRuntimeStatus, InstalledExtension } from '@inkcre/core' +export class RegistryConfigurationError extends Error {} + +export function configuredRegistry( + peerOverride: unknown, + deployment: { schema: string; value: unknown } | null +): string { + let value = peerOverride + if (value == null || value === '') { + if (deployment && deployment.schema !== 'extension.registry.config.v1') + throw new RegistryConfigurationError() + value = + deployment?.value && typeof deployment.value === 'object' + ? (deployment.value as Record).extension_registry_url + : null + } + if (typeof value !== 'string' || !value.trim()) throw new RegistryConfigurationError() + // A remote Python Peer's process-level default is not observable from the browser. + return value +} + export function savedPassword(extension: InstalledExtension): string | null { const value = extension.config.password if (value == null) return null diff --git a/extensions/caldav/src/setup.ts b/extensions/caldav/src/setup.ts index 717000c5..a463e286 100644 --- a/extensions/caldav/src/setup.ts +++ b/extensions/caldav/src/setup.ts @@ -2,7 +2,7 @@ import corePackage from '../../../packages/core/package.json' import { ExtensionModel, ExtensionRegistryOriginResolver, - PeerConfigSchema, + DBAPIClient, PeerManager, PeerProtocolResponseSchema, type ExtensionRuntimeStatus, @@ -17,6 +17,7 @@ import { } from '@inkcre/extension-runtime-client-web' import { + configuredRegistry, generatePassword, runtimeFailed, runtimeReady, @@ -92,10 +93,19 @@ export async function prepareConnection(peer: Peer): Promise peerConfig.extension_registry_url - ).resolve() + const override = peer.config.extension_registry_url + let deployment = null + if (override == null || override === '') { + const result = await new DBAPIClient<'configs'>('configs') + .from() + .select('schema,value') + .eq('key', 'extension.registry') + .maybeSingle() + if (result.error) throw new Error('Unable to read deployment Registry configuration.') + deployment = result.data + } + const configured = configuredRegistry(override, deployment) + const registryOrigin = await new ExtensionRegistryOriginResolver(() => configured).resolve() const reader = new RegistryReleaseReader({ registryOrigin, hostSdk: { name: '@inkcre/core', version: corePackage.version }, diff --git a/extensions/caldav/tests/setup-state.test.ts b/extensions/caldav/tests/setup-state.test.ts index 3cdc2352..cba319a6 100644 --- a/extensions/caldav/tests/setup-state.test.ts +++ b/extensions/caldav/tests/setup-state.test.ts @@ -3,6 +3,8 @@ import { test } from 'node:test' import type { ExtensionRuntimeStatus } from '@inkcre/core' import { generatePassword, + configuredRegistry, + RegistryConfigurationError, runtimeFailed, runtimeReady, savedPassword, @@ -24,6 +26,22 @@ const running: ExtensionRuntimeStatus = { error: null, } +test('a Python nullable Registry override uses shared configuration without guessing a process default', () => { + const shared = { + schema: 'extension.registry.config.v1', + value: { extension_registry_url: 'https://deployment.example' }, + } + assert.equal(configuredRegistry(null, shared), 'https://deployment.example') + assert.equal(configuredRegistry(undefined, shared), 'https://deployment.example') + assert.equal(configuredRegistry('https://peer.example', shared), 'https://peer.example') + assert.throws(() => configuredRegistry(null, null), RegistryConfigurationError) + assert.throws( + () => configuredRegistry(null, { ...shared, value: { extension_registry_url: null } }), + RegistryConfigurationError + ) + assert.throws(() => configuredRegistry(123, shared), RegistryConfigurationError) +}) + test('readiness requires the selected version to be actually running', () => { assert.equal(runtimeReady(running), true) for (const change of [ From e868fefc3938ea66eeb1edb867b25909096be473 Mon Sep 17 00:00:00 2001 From: Lan_zhijiang Date: Tue, 20 Oct 2026 23:40:32 +0800 Subject: [PATCH 4/9] =?UTF-8?q?docs(caldav):=20=E8=A1=A5=E5=85=85=20Web=20?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=92=8C=E5=86=85=E5=AE=B9=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E6=88=AA=E5=9B=BE=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 记录首次安装的 Registry 前提、失败恢复、手机同步内容与窄屏阅读,附 9 张真实 preview 截图。 --- docs/30-unit-tdd/native-extension-runtime.md | 4 ++ .../images/web-all-day-mobile.png | Bin 0 -> 30753 bytes .../module-federation/images/web-calendar.png | Bin 0 -> 65637 bytes .../images/web-collection.png | Bin 0 -> 43147 bytes .../images/web-contact-mobile.png | Bin 0 -> 32255 bytes .../module-federation/images/web-contact.png | Bin 0 -> 51531 bytes .../module-federation/images/web-preview.png | Bin 0 -> 34118 bytes .../images/web-setup-mobile.png | Bin 0 -> 52661 bytes .../module-federation/images/web-setup.png | Bin 0 -> 108775 bytes .../module-federation/images/web-task.png | Bin 0 -> 45683 bytes .../caldav/docs/module-federation/index.md | 42 +++++++++++++++++- 11 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 extensions/caldav/docs/module-federation/images/web-all-day-mobile.png create mode 100644 extensions/caldav/docs/module-federation/images/web-calendar.png create mode 100644 extensions/caldav/docs/module-federation/images/web-collection.png create mode 100644 extensions/caldav/docs/module-federation/images/web-contact-mobile.png create mode 100644 extensions/caldav/docs/module-federation/images/web-contact.png create mode 100644 extensions/caldav/docs/module-federation/images/web-preview.png create mode 100644 extensions/caldav/docs/module-federation/images/web-setup-mobile.png create mode 100644 extensions/caldav/docs/module-federation/images/web-setup.png create mode 100644 extensions/caldav/docs/module-federation/images/web-task.png diff --git a/docs/30-unit-tdd/native-extension-runtime.md b/docs/30-unit-tdd/native-extension-runtime.md index 8b18c76a..20aa12eb 100644 --- a/docs/30-unit-tdd/native-extension-runtime.md +++ b/docs/30-unit-tdd/native-extension-runtime.md @@ -83,6 +83,10 @@ configuration, authorization state, Sources or info-base content. Another Peer's `inkcre/caldav` 的 Web setup contribution 按选定 Python Peer 的实际运行状态准备连接。 没有选择时才从该 Peer 自己的 Registry 选择发行版;安装返回重启状态后停止后续写入, 要求刷新观察原目标。已有密码保持不变,缺失时才使用浏览器密码学随机数生成专用密码。 +首次发现发行版只接受目标 Peer override 或共享部署 Registry。Python override 可以是 +`null`,不能按 Web Peer 的完整配置 schema 校验;两处均未配置时要求明确设置目标地址, +因为浏览器无法读取远程进程的环境默认,不能用自己的产品默认替代。下载期间阻止再次 +安装;`failed` 优先于待重启标志,恢复失败的 Peer 后才能继续。 完成条件包括 `running`、与 selection 一致的 `loaded_version`,以及 `caldav.connection.v1` 返回合法服务地址。启用意图不能替代运行事实。未知写入结果锁定 原目标直到刷新成功,不重放请求;关闭后的回调不能更新向导状态。 diff --git a/extensions/caldav/docs/module-federation/images/web-all-day-mobile.png b/extensions/caldav/docs/module-federation/images/web-all-day-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..9f72cee806f9287b88161571360f371cd9cf272f GIT binary patch literal 30753 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

>trvS6_?D$sz1vY)^ekh(JA2yjyel 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

w3|6ErVmrc!SdW^$RF^jRc z&~Hjqmor2P1a&}Z_#OAVv@%l*H38%PH|TD{8SPSc!a_K#umIAqc_(!yf_tpVc9?gd zlhh#FaK%UVOoyby*aexBBSbhSXq9+w!S`0G>geOUPQtyyi4&2}>cQh7I||m}?xQ2P zms@~5@d%M^{e>8W^)CedlMkd6y+G2lgsH}R{^e!OQ~GKdoWG&ELUzuBx4prP_zNnfQVv4_!6&|8uLZktD{)c&uw-yEF!>aJp_@kKsscqY zyVt{ur)pKpHcnvQMQB?fFW4A&+m2zztZ*^*h6EuB5VnX44WDiLy2PvxlteZC6y*9`$4LsOYEu!hO&nm~oU`TCC7+*c-9HN#(cS`^;QigLDUlS1W9q4LQ z3iiAr2+S~pIJam4cFm`dk^(4gp#6>@0+rkJ2cnqD)}2&GaVEh6KpO*ff*P0otbV1% zHh{9!o;;g0fKEwqhLj{~v-VY~`ZuE6DXu%wP+MZ?m2*3t67C95F*64nXSmhQ3{^@# z>OMvmA}>lLO;t6o8wpIAMyZdNF@+f4Z|2cPwMrKuB=H+QG=MtP-FbRYU{$7hC7O>Bs*}V!0B*n>02U2ch+>?kU#or3Y zGg(SVI`0ukStS zOMJkhD>03ZpfTk?%CmP5>@^|~Y8N%9cUg$^YOw4UOU)?Ee90{Yiz6zX2i zn+KYG0(Lg!-7cqWibdLLE!wlCQ_)U=EMw2v_IC`T3`at~JcUI$0dsm@wjssrs@M10 z(=cfA(d!tJBu%M#kj;8^TI3{p&{E^a9eI7A<2+Z~!s?7TR-kP7)cCg+^ao7iq=iT3 zkA%k#(l`X1n{9u1z%*=2Mz7vck@scHwZ{}s7TV7x&V7=iZn2}pWfwbPylh#TT7`?L z5}tb#SXFTG_baTB*TM{^VJ9?ok}*Loc#5X}qyTlr=6i_tlD;e|A=E-0tqR#IX7_Nm zR!9xi6jiaJXOxypuHB~H+2^>yf8uoinN5k&Aq{&b@@HXa=Z1?oE5^l z{*74ADRnTglqwZ25hEDlV)a&d?T-;?^r-XRf360$qNQ^bEVB7uE>@`}M|`TN%I6m! z3!THsDFGEh)_a|?ASjEmV1j_`YNT5;+7X(HOwyKo!Lx6aCy~6DP^D`Vb`Ds0joBQc z$faIOc#kO6g*;_FjnJe6gF8rc&H%EXpV1`!w3f{iog!^XpSfrZn3iLa^{fN^J&|=> z@964;xk%i;OTF03k$<^jrB~mpra0MnV#j>pY)-V*Wl;kn0NPdH!0Em_5|NfazHsaL z==c38O#M8B)sk3Q0L?q`X>f&q-y(&}kKzptW9RtFc87@vT{a1E(}e#U8u-Jorx2%G zFyy~Jq~Oo2K9BX*|EN3i?DrtUMuW$QI;e&RULLVPqIby- zZP$Kjm#MA2ADl_eH&oPqo$q7O!x%(CmfzLKD-%>qH&0Qd=J#n?zNRk{D2hfbo|`>YT)hrVWJ zW`>KwMw%3Ut=q6Di@g~n(N~y{&pP&8+OM|s4iP4jDERgVk9bl>I8F7CR ze=@3F(y}`Y_k}%`{iduLTCa#R5ioZX8x8{EvjvK6ku=Cal7wLhWh*_`gsBa0<21BH zL?15hu0xJYMmFYaq*B=qQYv=)*8%bQUk_7Ah)rBk&9}WrqsF6)t{8od�M6kiC&s zHq06#lp392o+yQRjFO4lvobK(t4CBA(|##1?!lQxWG>jcCHQv`5#9mD=B!N=#n7k- z7No$+q=@JUuICoKXj;NlCRT0Q&C7~`sdCYe)|UJNvLpc+WS=x|J3F(-7!Y&+s3!Hl zC1|eoGY7iT)ttU#vt@4n`yP3xWbBQ=8(y7lkO`9$FX}oc6{Mv}p6F8Uw;!JSB9xki z!S8p#@s^rW^VY^a3wIhG>y{B+Dkwd#u5-yH{@?=hK2=R^t>6_^G$+aqQr4QkF=|+Lx`g!UeqsC zke}(m!Ac=VO{pG|!Z~XFrUgaRv7#=iQ$5I9lw5<|-~7&SaWcclx&Ihb-x#{sX_@fO zSq1|fno-vnYywB4MPkG9i^fOf=?CxjI48f7rQx;S(L48>jO^;B`Q6vZS+97IJ^jJ& zO}4T)5W%?F5l(?d?eY|5G2%mnMn%PnH4}*NKn%72K^Y`fdisLSTt7%YnGyN*Ew#bd zG*(}jcaRU~np$)8JOkw4B}Uig21UT-D(73a{#l2H1|RtrhXz&VYLCbWx^!Mym|tqv z40MFi^+#?(E#ggPRH0$MUpJHe5X82{bVLVjYfqBtRRv7}JS7I%WkD5LfVBar!d3uU z{XM8=;R}xKfiCGYzpQoOsN&B4GsVE&smO}7!mG~L`jQY^G3_YyQJZ!&n1011IpC?g-V?a;b=*^sjKZ8FI?~h$Ch!(WL znIFlv9Ns#*sVFwBVpmAeM2G}22N)!w!EyByfGJh-&ZrJF73bOS;w3f1*xFHKG4RY| zPXpZ=sDa}B9KN0*c;{lzju~twg877q>}Cj*XNHglyrSPOF9GxQ8De;?5FADS{ugfW z#14@!JGg@g=WDd-WlS77^7r6B6B7wR*wX4x10bG@1eu5Yv4ccsUC5-3$ zySu4ez+1P`yQ;Xh?K^!KO5iF>)MZunDgMxvzY&~-My3~w)o>78g+mSrp z3Rb(?W5~&q_drNA%XMiDml-B-7Qz!=H4M?YUQaq4k7I`Z0+NN3y-JC2_Wu1( zv>{I42Ls)_n|7s!cj8a*RewjHY#i5iCLRE1H_nUUR@gfW#jUV%tSuw%_AnkE^A{Jn zrFpQec7(hjt{6>2Dy73-Kh#>3nuX2~^Z@KyBt2+e5EN`u_RmejcAAeCdOBuSGND{@ zMsMyIz#(9GU>L>I@ur$Mhz|eD+QuV5^_@5)i2sM)nbpyY%%bnIA!(^qY@u_M1@}d7 z8q9olFsi9J^GQimm!qces?0h%DgdIJB;!!^`bPXcKI)5vQcLuyQfnFLtqsZ1tB+j7oUZMIaYY%3z(1Vj7J)2_ctlS zoHEMAA!l)-c;}=63jBPWzZon)eNI8e%t&V1v)3nZP|fV{F=3RARfv$by57!N|DoTa zFg>kKN{HSeV7iAG#o=C|m~%}bx4%3~Igf+KG*&lpie45eDwp=WpVsvU8N%Qt5^ylH zjMeoB$wT108G9soiXtf!yHJt0oYwGO0tPzW_r*F%e@99T;vW)qS3E=nU!A`Vnv{$! z0={&D-8p6vhF)q{BfU+#^FQ`&OS1Nsh|*OGh#O7gGq|l6-`wfWsZ%3#t_u5!FIOD9 z^5)IEH@aXknGaBPIea)cM+9kwx1q-JnQVrHGk;4$&_SxL^%6sa;o6hP`K7@i85~1I zRZ;Dt2C^GxCYhzLcL#`s3EJQx8i3y)i0EL~CTdFxTZIbO*Bq#vN&9E0zl>avv~WnD zo1ln@?O6Q4Phc)Na?dJW>C3p$LUOm+IAqgo6Vn1pt-xdLW%+0jSMj5hJ9$3UhueseXGtdNJd; zhen>LFef%#C_U!XeAoHOYQ*5HAN{K*^GLwCE@LhU`1$!c6Xl8ynRwvfo;_NU+SwS$ z$u~dNk8^lvzRtM)lvSaQn*09SkFIT*@t=n0ZZkL`TJ^2=bibDlLsiIilOCKo2$X>X z1%E-DtJ(h2Uoos){WU|(5Qe#E6Cr~%ThXovoldZ-s;{6u_?E{<%R(CGC>&@h+ zqIb42BLqO$XOMWaUcx|Q4Lt0A_sqktJJxBttnx%(1u5`3_m9rvxQO^-yyzbARCO7t z%KHai4pM8AOx~4%M_8YQVqFeiJlMq3d z!op@`GpfS*JM1X$tgo#;Nd1i6xw8pr9T%Q692v`5jtOT;lAJv`fia}O|cdu;; zYGDXYOfzi3p$$ebPNc|?mYc&!CAH0GymX!q`k8sZA0(29;6^tV(zQ^47J!Db-b0M zt-v9t@8j#1d~S)Ti^xWv4O#oSx0GW+=0zHkqo93+Ue{-L-@osprt;7|z%&H?WZzuA z1IzO=7EM6h*Og{Pi_qvFSK0U~nCsdV%Z&ev1(@pMM$zrombW+=qIs5FQP73`Fk(T*>lLYU`T1lkV=p&gCYMLn$02hVN%Y8cFI zK^!8WiE)f1<0SQ4);~}!56qxQ;wCOecuG$3q(mz0gUsUs^y;6is7Y#4G-&9wr*1sW z^CIdJ>EnH!^6!vbZN}P3I^VEeiCdFyOjOebF5BFyDHu(hAfk-XX^6@G3!#y>+>w}0 z*Jv0NML~I>t|Yq3K=4YZtc21D!ehgZB}J=Tkf0SyW(c|!t`el3$ zhbICtXC|Q>E~=uVje_p4ugv&Tehr8_our=_JotF^_bVB{2OJ;kt@Js2yshsCv+2xw zMmDCjn*n!ZZpmD$*>V%nhW|m`dxk~1ZC#=mP{bT?D~gJlLPRBqfPx?(2!c>mKoLzu zF%c9IOkh9}l_WVxEJBe5iK3|FBsm($Ny$Orj^+7I-|zPAAKm>teY@|U^X#*?Le=}O zHNzNVj!Dc+%n}Tg!>%ZqlA)xjqDn^qBRlQ+P}r}W?DYbsZ!jjfyk)^NwI}XybzSFv=fzR?9MJH_!`XmJwB zxp=|1VvV$v+0s8TRcnE}JkLu%l+(Ncl{L@~1oQeoyuE_vAd5P(K4P$GPu*NS07}Y2 z!-a!Ui`#H|DIr~6@6PoD=iXN)QU)|DNj665Y#}e_Ns2Mzoa#YEnwZd+jdumgd|wFn zLjoOnE72)J!J670_CktZ>z-1C0M!LUb!l9?IYXveW(+c>e?oe9Yi7!N+UA@Nsv~PH z%G+tdtbb(&0l88A>MVP&AxGapXeazNIju?^x>#D#_AtZc%s~aYdHw-R`JxXSW$WX| zy`-G2zbMNUJ~HSv+I(b5;OEeQ-duib;#cs-o!}YvYlIi0TlqVTCAbRDLjlzrO0)jr$ihIh%bDoW0l$|9 z9PQnF1cskLH?k3fWfBKtFk@vHagn_nY{`E8Os#oo5J8|@x%PY#eDog>4Lw~D7vPHf zKOjbkfOa5k(&a%%0auruY>zxk4Sp7Sn4|g{A8dU)yJI^>OTfe+`ar-_c*6uIiMVHA zCQLv5dcHGT@}tp5mVhTn^LCcZzN*a=MZ|_os33RP3e9L0l(DkB~mkIrW3& z;N#%a%N%PkH%rzv#JFU``BG0*J;cdr8ofc^`gSdUU37VmY{E}-iY?vGNC??( zF$3cKZnPQ)9}IPtNnvmmgr!w)O-Zte5XhiN&YaR$8r2j93IVkDq3eH{#Lj5K;ki~Z@{)FMoxvYgB+j54fVT|^)r;{Y{OIq9|X z*o1VTz9x{`^IE>=*#*!9GPYXIKY3@VxT_E*GsrU!K0%)OSru!B@zX@N`x?koelC#v zQm5c3XotpFSQwz_RQKR!UbI|=n}EzEOQxT)&IF)nnv7CG7u`)2WlR@?m+<@q4HUfH z)3O1%C;!RX2xK1;Q{~ z7~3f>8(fBdmasQmRQ4~R!+TFrH^4m7?^RMZ&s=X%T|Ll3o|QO=f{)TT%0s+o-L#j0PWS?4 z-=J&Bx)yfGjw!R^hOjWnLZ1=qOIP0U(Pfk758opb548jfqcNS%JRfhi z2ky}+w|d5MOr5(JZbb7=#cV(@?iYw4{Tzp^dTBgl$IYm(rD?5zZArx%ZfI_6mN$hd z0pD)g7K~=!6<_zkor z(??%#WNI<5koJ74W?gWKNzvLr)CyYqDD)9$INpAUxWoKN`Pk#GfZ9x>LDUBzEmIkQZ~ua&75I$SqVNQkHqqY$1KNEw6&eMo7Hc91}fL0#r} zl_yz`VasI-9rsU>FMT>iYiF%5Ew+1}JLI>ek`Yxy{LM#8Umui}I3Z$22yAH+WS7eX zD10T>9<^grT|3wfW9#e& zvm(aOAoOwoyM1zNxV>l`Bb#mx7UCQ#3dDyW_F~VK?Z|YK4kXiICak0b_bO$$G(6_e z+X66=!CZ5`_AD*w?I8Isfr-u=KgYi`g4< z>tHPk2+3anAu=Juqr_cYnJVgCB3Z4y>zwt3{u5^?f9h(5%xmip*PF3=itlHyu0CD; zZJ$u;(1GTLXyTXlD)b%T*?tkrY6{UBJjXDy9pVT)wyW0bW8Nq9$8mn6TbRm;Snpx% zL8YnIEUUI~y1VAh_sh7e)id?Rf!;sPqWV>G#p6zrd^<6f-XjK7$Hu<~CS?2B+mOos zfH0IR6elXfz=W2~-yQJ%p0(g7FtKTYN;(L|a0&fpJ z$@T{Z35ZeM_^Hi6lPT)@ZNg-12{rQpF2msy-x0QS?$PdYmC@sLNnkYoE|S@z3VDgV zJ@c3-MwPXCmbFO=NW1Joz`Mx?WCWa3yO`eG#Uj?7!PA?qhY zRhAd})!FsJ4psR=zJRu!Zx`XL?^SVz{mrZVM$s96xlfm9NAriox0!ckF7)=bK8tC$ z5QB-g8YYi^WQI#`iVo||yjvrMnnm9Y*tEgIt>e zeRs{;s`Ub6mqiq{2++GzxdLZsyf*d2kF-oR@|P zP^E_*>{7rd(g70I`t?^W7he#v<9L)RdnX`LL=>GQ^_K=t2L8?EUYEVDM!@S3Faa?{ zKFnqp>v709=%1|4VsDLu>JfVG4qPG#O2m;9|v)Awkm&clX@!T$Br2{fe>Xdl&AUqbBe zD3I^?CJ(S!-AqJqIz@6d^mrOe|_k_9-SSdjA%g6iy39L-7DD{ z)4N*`zV|NceQ{uqg76$@UEjsJd{X!pj7Mrf1PyH4xr!_&e*>BBx4TS~XC7%VxH!xC zMcgzIPoLoRMb`u5D~@=94(xvRjLQ$1UOe)+^8ns?RH=wofP%U?dol}%A)BN6U&rOU z2BikWHsfxY+L|e?(yjM@$VvSMzSV-B6zz7DWOO|7(I!Q_%mxsVZ9Z_}VmEBp;u^pn zo2Zd6iuXh23plcGrHJxN5<^Gp^Cc&aXzz%wiyqNI3FPz^{jvPF6PrS~{WmT7KQA?=mgsWN#6(fz+IYH{^V!-&$L?fz$jG!_-lq1i=GIWfT)(Wh z6|$gFRo}|%&=1n8G@NSI+4-+q;(mn|No7|ZJ<9c6IU`&>tajGxAaDTmY}8RzMR~Wq zZ^c?I-}t?G7F!;@F7}{DB++wrt~J#^Ipr`KhFSZA%gWy0vZ1QhOhKDSwC;2ENcYR< zZFq0jGjGGqS>*XK5SW+i;@|)0|M=JBYMTsLz5g9l950jI(G3JWcqm&y9z7t-65jdC z!UpUQ63>?{rDHh5#ITY0XAnIVY!NOZ*0bF;z?bs{BL^}}Yn~YF_=w=EiN@Nv4ml5} zYzo*jKohv{WLi>O44BlY&s%zEYv^nPwX8t)h4P(rPzD*e#mFYwf+0xnTyUS=bQ9B& z{P&?XR>3KUBE$if2B;&p&4<=BWCMOQ!l3dv{CrHrftx1dNJ7wx5-AivV8NngYNv5w zMi9nJRC^$}LYrHVx7Hj=0JKkiE$DQJlM;S71?Ce_hTZ<$iaG4;f2unPZd?mW3t&{o zQ?-W8=u9k?FDBszEn2wn&#wC^t&5z2U<<%quw0i@zxLsT2C@h@cJfstni1&uw}?qw^v+pUhmay=E-1$V!j8(*^ksB3mcLcQGV#tz;Z~G|*&$+C2l}3xtI3hv z859zD3}uXkgv62PJ5yU|lbRP&bU?dZv5h^v%1-}`Mt)zxgN3Z>S(X#>2*(A#62*6WzADSZ0hwdNiJOa%@7TS z(hhLC#3MjlS-tYg)cLvV&tt?}fM8%|iTN??>curIhlrLjwc~YpRY}d~ad?3GS3?6+ zt(oHX_9px(3Wh?ptLz~3YySxw6>OXNiQ750830n)5)r8Hx_zzp=k3(@b#|Ou);}KU z9&*I|CC8Ul=hGziKnFe$bBOi zh$;IoFsqI8pS}7uMDXPAY@~R`;$3%C;tXR1qXDq|)v#5cB12^9-CtiZsGI5QX)JE* znr-FP99Dsm``_U`GMyBYVodB&?x*w zA8PDO+%+^GE*tUD54$)$I~)|bpQ#(sGXRb>WnXNnsb>6FNspBtb|PD+9ZyGgovit- z%hEq;Q3P2at&gVr_R*)ut7VU$j&Pv5RtG*brH<-&=yw*d_sjRIw(DC%gDnLJjj=WV zyuXw>gATapB>}0u%`Mz^Dt^D?(PtkbrCbsVR1yfc#vx4sJ>QryV*d(ef%7NcEL<{7 z8!lX_STbKFE|Z6!zR$udy+-ztWA+qKV)IS3J(>v&7wFz;6T%v%r47-j^^zp#X*~)Y z{^%@__}~_C{nc2*${cdu2qw!R*5qWS^1rcwUr3i$&-kwNntT-psjI*rwc~vYaW~(m z6)!z^YwzC%d{1-oBN1xEPb*Kd6i;wJU{N;*`?20yRVlA4(`qyUG#p0BzzLXt%xecm zs^)N9@!0}vowcTZ_ut+t9N?#9!yGkz#Q&WU?2ehG{0$dR`@b$9*TNM6jn*Jbyff^z znKYl4w=K6$wQI9{as*JFj`3v9{`GUui%vlPQc^(Ot+84?xR=;=KX?m0!v%y3sxs$T zNIRY>|0?FWsP9bC_xtDbJDv6sR{X71VUBc5IkiYU-8oLbOlUl8nW#zmwpiEu+DKOY zV`yMZXT>)LYe?C=87l_JG*e8#JEk!L3DsM>g4(Tl)*7mE+-bV_=)1LzeC75b>Pa?1 zHgB>eVxKSzkx}sFe?uoj?XFHtUY8NC3k40pJu%kDnyKh5(GxSM(U=>e-Q;0>6fmBjw^)N9b970OFOlr zOX(hYlwOm2AVcO+;A!`+K;jvPRz$lW;#f87hQDuRV4l1ftVn#puGI9@Mktw4_Ir;} zqtv6cLJj8he;}8gdH)85K65vpZ}$xgh}DX>SzdhO;G>YM&?c{?B-RjU!|J)@d^lWZ zb^c{dqXX?9)sCRMx&Iw0)8ZCa&pOFsfy9u|;LuPt=0xy|7$0V$T9DUP^Icr~WGCEr z(A2n6v$#|ANHv1iYJJ3laFhlV(T4Y|lt>PL80*;<_rIG(MV@2i>zh;1OvQ z*%bCJq~Lt^x_h_4UwR-;d8}=|fc@(%*XniRfA+sB3rL@nWET}UzN0!=Obk5kV+CaTl zZH#I+g{$X4XDT&N6TbM>t3wXN+)5PHnB(qJzL!0NC3_Qb!HHz&TED*KyW@MrT5b=k z*zX|ISCAZ|SC6PD&Y>`N357owF0$N}-aa|icZsF3XG{Ym&)rREK3A;M967J~l4jkE zdamcN36c`D>POobh7sTGn=Y(FgGkgZ_Tzf(i+6d$@*#36R64{^(x`ZYOWP)gHsanz zwN1k0?DCp8`nS{UM?Gri3%qAP#rv^7nmy`ncV?RnXf?FJQEkC{hhRR@@Vibinha%G z{P~7CfqtQVjN7^G{&06ygrO?720L#mnm&~h7|H(gTT^G$vi!L@Y$c!~) zSsp%qw2&BoH*6j*G?(f#eqyV4B33fyRm{*B3V@iHH2C}!xiu-5R4HB?x%VikLib*b zb<)-~;hZ)>5~7jz-|g(vEa^sNa8{?@304Z8dQ&q&EUzqY&lLDZCBIRAv?32$3x1>C z)_M8oEs9Y5S&J)o@&U^UuLl5Keq(uxskmV#w}=~>I#U^ykjLg*DveSb^i})S1x^~5 z$INBeJ;)m20gY=&WYmq4eG%)AEWJxaP=d`BgNR(lzMr_acy=npI&@R4yKbcRJYw$f z-r6+Pe2Mp?Rra<>^-zl4z3h2=e=6&ZplmvnC9W8p89ZSek%DBR@l8R*nClPMhvMF+ zw@sPQKxy-m6%~=YyRB1FDJ~FuOhJ`d^1)c?4eZPWe+?8}fg-U>hbD^m2rG|YKa zvTEK-mNX9O>TK!Kc`2KyO4U4kWn3hyCsm^zH7_x76eG*>Zu+}b?lzgBeTC;@czgPL ztzN@`j<6`|bGnGm1DFM|CJFLCt!>)GdC($-9tBXUL4DYzH|Ad9D1pz81OTy!{2@@+ zdqVjVz!Jd&2;~Nt`x|{w*EA9t8rquZ*%=!<#xW-6>b#jSNe*9nYLm=PFk4PM->m)Z zvy5Y~5K|6M+tae)?G9NrR9jZ}H|*@zJ0eYJ7_kFhK)4;cq-}QObqP7Sb^Fyd}cZv54 z`;TMfF1|8cJ#cpYx=Htb>&oNZzY!b8{OKaUP?!<1%;yy!TpqMbyr>eVM9MP#3>#R9>wYlZ9@lPr z_k}ka_neD|?YeGc4!Nesp4s?%oY!ebr*$Y@C|n43`%iJ)3Yj553k-_zIlmSwv*@zd90 z5w{l+1}u+?f~V-0zy?({IS`kj_On7K59(x`n(jfvJ?5W^$WLYhFc;jO{z^OFY?uRJ zxTd+Vzs7-oUa+*2g+s+BX@Q*G`~MqS+kO>9ex{|cgQcBsiU#c6ExYw zi05x@gnGhJ9|u=va@evrYurrF#NLD|aB9RS*kOO~jdUlD9q7D)=)f&pHBHJ7_9GXV zFMHyz9dnAWa(yeQl6emzuW0OpY2zm;oOam+nYG9EIJ;KDAl5|GM7?E;fbP#ox1{$mXS@2 z(T#Sg2akRY?h6em2M&3`pyoAxg|va@8*V+dvaLwtxlbSchxS-?Da)i-Fn+WxZ_G)>cLD2fFMp;b=h+Lud)${Y9oQ&=tK$0fQ4Z*&nDqYUOL13!B z<6yO=aH-LZL8sR(@(9I&JsKrIl^Av&LbK}k0BU?UH2er9BAEY9-aAFc#xTEx%&R_# zS^&kW&0x#XPAakq#+3*;?B_ywK^)~{6KxBuUz_?PnpHsv#Vh+z>saz*)Nu<_yn6r} z_Wf(d5olsn91yeCo1a#jOWIx^u z+kH5*PN*dki?+)1m|lS9Zn(jmRr31ahZTWPgD`+#Vj7SZAA9D_CzQh6B4$7RGV%S9 z1Yk3e_%7>uH<}Hv?Q)zYt@UESiRHcn>mz0f2pmdekMP&m^vBlSl>i*}_H4kwBIihC)|~rDgkg`-&J4>yowx!XgW;Sw4L2;&J*Q8sG<{H%V%KEuwVDSP z78ugDrT;xw^icuGR(Sh<%z1{AzCWUs3B0c72@W{xK(%>t}d_c zULurk^QHkuik0uOgvzLipd_FuNuuNy7NcAhQf$=xIahRx*;j%UkpAsU zZZ@p4R2{-i1A)^gl3mHFoId9Y>l<$qpKZtITLdwiI75)5sPV!XA&|ED1fOHBnMHR@ z>k=LP2_%YA$ZUvNt_m0i(ntiRkTJ-YyD!{(lFb>$SQ}P?>t_%DC+=In+K&65iVK-BmRDK{}eI*8|4%z7!-Op1Gi=w z;?jKRbKtgeU~A9TtBKI^)vLRGKZo;a71yN?muaxZmSju^Cz`; z*dl3;J55u9dhlVQXYFfe8}ylp0rOZTRN^6(!i<$%*Wj_tgDWeXcx!@R_1I7yE7OHy z_mXX4CZh~3V6^0A+xsCyq2j_@xg4RA2}$>!M6A~3A+n-pUrW!7t4hs;x|0qT3Yf@o zloTDJreQU>SQKR#g6LYe0YcPxQv2+U63fOX-JAIA0y!=BIyd$z{iqHP<2#mCza&De zi$tFLDxL3x8JTyCe80rhGYYJtQQ=S?%d6 z4MPhD0Uw)|hR2xw#LTKyU9ENWr?`-70IhEyK32AE5~^w-soPziX_zliG3W#SbVI0oJLc3)gL=3`U7Ya)v5uE2S%`DV0)$W?|D} zmaw%u^xAz+JI0IJ1z|vwO^?o-^No`Hlk_O04f7-j(ceVUo&B8s3GR|e%tO=1#30<< zU1?X*Vg69xg&Cp~FzrcG6cvDQC?P>C@IfqX`N*q5d`EDeO6iPV&|J;Hi{ZOuQIQ<} zLH9@h=uHbdkv{A4TV@X%R`GK<&~=`WnOf!y{a1NUl+9mzUS7CdPaM#k&)+q*QK7vF z;buLb`Uwx|Fu@|hFuweFL_Tl*u;aUo*+W4H=6!V}6`5;{lF^1OBAXW-w=lwQB^p+w zQi@Borc*hLSd8Fba^(4~wE!Pve&d1&lL3d77?VA8i=tg zi8>jlwEkuL19F8TnbPMtBg)k8#ITy zzd<}H$J4&}s){go#hzbe>UN6};8K97b|>-80!r@)zNJW6aw0ZVWj2yHzq zp(u&yTL)R&0ZEQ2K1{xQzY3syAlL-f(_`?F%fw^M|Ho@FM&boUE5!auAS!htxEb$%jl)#|xBIMQ~ZQqOqsFPLV2^d22*R z9H2Vs{`edDx4P}50g&5=f!?v##N^roZ4QOTgk7XW-CJRQ*c5>=AkNlt^t{@*nnL~& zvr?bf8Wk5{v1(U&z_ipRi?;@s0dauahE!xVy$JE-O+88^jRb@AX1|RU>1@{KqwCWD zUVIL$O$g?zgOMEiohG=0ACQwXxTn9ePtLjshdt$2`2->rXX}km%fec80aeL9)dTc>n*r7GePTX03pkO2qK_2+ECYiF`^w^~ z9DB;QQxDN9PzV^UF7#u1V+@GVO`ZOD*#HInIcCTxXfNVOywPWA5&rg- z+B*MYO~d`U^bwj?wL_{T`&F9#m0Ml=Yppaf*3WRjy zpgO5Fo9=QRxUaxYR_(6lCJ)b*y9M=GOYj^RDkW93%Xy>e~Zu{@#*KbWGXeJ36|eeD!{gQl;Ld6eRKm^2OQyJ1p`4mpIOn-~B(a zwqOt>TYh3X{&j|~$eU!u=!q&=yy;`gC=wWM7G zWwsd|5>){qin?#+`%}SU4g{*VGN?cBfPk;5CS^fuhQSr^!qdp$aJ#R17WC>0Y)+JU zHQ9}KRpV#;%c>t_cr5oIT)4uyiEB7k(+7Qm3J&TE2gvI5cOcN{2O_o{%rd$_K3Ca1 zXi$r_uZj4z(>=7fRujWf6jkUF0M%-`fc-4>;P=}2KG{(XViPEp>{Mv!pmR7s*t}6f z0fR18U7q$t3`$3apXF}OPP0j9p~yZ|2KrWlr{-LN)M1JAy0 zP{D=UdiIa)Ur2(OAl_7G+y9?T`*r_o)BZrRZnLyl9=iPM>!8_NUy^*F6f=6oomMEq z_cdL&5$Ok;y#$S)=9xi`rZSGH7r0HIiwmNkM@J6RZ=^i&*naTX{u-v*6kVdM#t}iX zQ18K3g&8!cXCLB1Yt&Ep-)Py0i48RVL<+=K#)gxnSTGD)ecX)fUQK$7<(P#DN)eoK zL=%8%^Xk_aPQ(*(-Ec7PKU?|hjM7?-)t+p}{xl5%)iv}f+FM%=PfD)-`7IJQ`>XXjkZY-v&>{P{TJ7?nf)r zAB@|AV!{r03*<%Cfz0Y9_`K4_xk80H0Is~_JImvoUyj;m2g_kaxU(kui<@QW7jgwhZ`H5-wcODxS`ELW8z#Mo}bB9fFtWTWCP`#@Znt+ z!)d107m7Ulq3X~tORE&al@yh0#tDV}>3dEY+>Yc1<`F@7HJiT(83X|EuNSxoX3Gt@ zy9n!XKC#W`S~mHCHYbCAy|sftUwH$4Wnz?A|H- zin42PkPS2M^mSVnX5ir@a@gZ(3B#f#v%XiR3yqU?U)`DL-?-gQJ@tCz_yiDfyyBCJ zg^WGz#R!Am1Bj7Y0Z%DPDF6d&1G}U9@9p*(n3cT7Xs4V<%P>PZJ*9M^WOs)UgdVdV{E58}Aw2zn1R38St zoPGWw9WRy|F)H=^d)%6s?U#`bJTyJ*?9GdOQ~`93*a89>T@S%jf;Qh_EP5=houdd4 z7$9FiNg(`kpIv*>_N?s*-duPPGI@X9_A{jgs}}eX{8xxG7ynwCSV4&XpIFoUnybqw zy2@WTH#5E95_jnF{VJM6|HcB|X^4j%U$^tb!Z108>B4#QelK;dRC*vh|GxX)?YlTC zn|IxJx4K~&IR0)$r&LbLn7+j0tg|hw#l5e+MTE@FKKRud-~YeYMc&=B?fQk;gG=}{ zE%;X~!>#F+fv{XDE;3ssYH<2Y#oD_KT4u%Y|q%X%@Fw!5OTuy zcvvp@Wci^9L%{)T^e541I{djAzZM=rWb6Xbr~0=gKwKm*TbCePjD`xr;G)3*84gQ= z+=n@8w|p)09+p9EmU)WJ^7X50}E0 zV=z#0NZ(BM7F;0d6bbz*w4`RO3Fa5mG zMPj8IS^P}a2G~y}m$spFG&w4(v^#sUa18Zh{t%e9zk{%BU$4ev(renVt0{dL&3(+{ zJ-}FrZsGCh(aV4q#WA!C5U_Fi^3$jzhY}umygEB?Dmcd-R)UKp7|7sKz~D19 zqfO;PVdRndVkGcs_tja!K0EQnH@|%sc68k{TIN=JJM+5=%;XwV%#Ft>ru@7TRaelO zLW3B`Gz=R>y81!?!k1TkD%Itl|Q62&OVZ31vOGDk2oiC6Iq0Oxv5WrHkVI9j+ zR-id^bZvuDxK3j~>c^U={E;3d81yKegDMcaE4v_r%1x4~lF-+J%LCaM+DujkLCe^f z1zzB){ui^Z&3eW?lt0W3P-#-_Zlbs(BnkKgen}i%*+9Hw&E?>wO~!s9jNV53JVp!u z7KThlaimCNV(14zaQcZ5<{)Gp{UW~{6>tgBn0%L%p*mBaKB>vyqMmGWrqdB%25Q^3irjBNzj7p z5?2i+7I_%3h)yWmhY_O$WlbY@mGR8*08;}XuXQV~!6TVb;fEL-e8m{qed)W9n z_{=TfryCs};f#r8a4sw=h$0Z*yR*9b1wH^@aCQX zMlbQmd^dx5#LGQd(+)%nV-3qjT54ZZsge=?G7g~5)GUT?7tr@dM`MiJvCs7Cn3)QM z>OHz_)sOs_96_-TbS8Og?a#~!?P@(17WdFg23q3J%AQ6Jhe3N8qjppl)BJGHvWlomZ7b3! zehq3iEIOpf?I_O^A1%YHf`-b5)vyg?9o_;uqMck{7;t6s9Kl@A2)V7^fwTwyBIcgm zr09a6^2(hs@yzD?L0TU0WvYtpxfnF5l4CyhR7K&r=CRFUSA!bn>qBa9_qgGob$45V z1$8$6@a#M{0n{!^mPT0nIh2I@nhIXy@seI!7FN^0kDg3LG?JYz?R{MNyvm4Jj@mE3 zKURU_0QOmJB5z+@YT0w@POwi>lBr^p&S&MI9n*0!4X^t|QoMg)h(f5LgIqa{Pe*ef zOZ#c^;Of$>-t{Rnkz!sF7o0L>cW+EDogb%2!ab!SdW31x(+9a1*`8-_jK+7bF^gI5 z*~wQjwu*ga^@c2UPm_6I6~0gVY|J<1@}#knwmeX}U)ll~T4!#Y?*tN$+T+ozqgugd zz7_U*%W?}K^$;HEp9R4AS|?)1lCY3-aMD7=HdQjF2k6b-S#_|YNgEYNa)u#$*QEUlTx@=Esh>P4;V;9t9Cy5nlA z_LD*O;)mbI5t997WriGrA{2CXmw!WSO%*IyQQcv$4()w+HTT7$K&c#JnIRce!L!;Y zuK=Y7RChl;oFHn3DpscTH`%pn?4h`%COXs<-aDTM=)0=;=fq}^{peQ*Fg=X013d?X zf;tsb5KkxOsGp#EUxwJ0=?`wCd8eg7@OKk9!C*gx{3z!pU>8fQih-AyMv7Pq2Pc5bM{a~eeMx(2bYdoj!R{U{msR>_}#vzVgyt(9td4ye|Oe`*nTG+$VOR# zO2zanF}5(s0q!#im2S*XJj=KyJJsv6HaC~uX5$lI2ZS_tPjgP{!!^YK;kr+s>j=!; zhk$ZNi4MeAkj50xs^M}Eo&Vu?BHiv2?}RZc*44y32NbE}+6l&lIcyBO<>hO~q`w6LrI=j&HR2zk=Syt zIKV@8TIW{5xbtJ!Nc3H@Ke0$7iS{ZvC$VfO>!#j$G!})@3YLq~4@kZ)RMaNfia_^S zfLW4rFr0rD(pZ%N^+h$#k+rwOii!6Uu8ekYup;~t+cFawydNEwX1aZ^|Et^Uv`hlz zz~oLz=f8=ZQiDa^h1gtSPU2APVH=acIM~NX_SAOMa_z?pozhEE2jFr;|BFAIdih6u5AT%X z{yLr9H|>`d$6oH*Fn%(+d1oa5q0G%AnD~EbISGu(cy1B}rKAN}Q^5@NMk=MfkZSaiAWP@0}g5n>!4W{7mU`DN9O3t`Q7S=>Q0LH;^l zvj`MH-{CiPc)DnzVW;J5>d_Tu9i>?@7G1`Ic08KFvBgr_s16b{fc%7XaIqw=e2BMw z!1a~uOM_te2it@B=w!3>Cq^LBLnYS;6#wzBzZ)&Mto~!81?Lqw!5zqQK1zwQ&DyOH z{5{M||4=g}JnCJ_ow-@*PI|;?9&EHgww-EG=&>FR5A1BZmGIBDOXxAMfaA4v4jd?% zNrxkg@)ul8_2v9x!$u#a-O~sz%C4t*SV$#Q4K*FPa>HK5amKq$%gAFN?8*|GZxIY81c%*gq`=}#jm*TX=2V{g~nNOEF)P&X3 zs`FHRg!v+k4JO6y#$u8*tr9 zaU9IduI2oFvHIJtWxnITk2F5Jy>{Y221>*W0K$?#0d;S43 zKudYDSfU!CwO_%Q&r)3Q13ZvY=S;IGk&M|O{c3X!Y6hH|ZMzbBJjb$0&v&dkMmaYsGOh8#Mg#8Zd!^AV$KCnzFzE~2PGI)8+ZKJ7SCwwk^{ba3tD8Dq8;92{5a z%)qviPY4~VT!ZsIEzQr?w}R0`=~59cKbS;ZFj&oO2%`9vE#)D z)az0Ozu6pc19Vu5LX{;q$-Hkl3na!!Pl_zr+l%D+k$!ftWs#`+Sr%x}zZwWwWoj%6 zAxL@p|6{AhktXeUkz!wKfihZs>3Yths+~l=UBp6D9i3}FF8^fBMYP}yL4hageu>Go zM;m>-^}99shx5hzR1AD6}r4YcW0CoTbaJav2)C+R1o20 z!SS@07w4!RdIxQ+aJKs}F-~Ql6u!)xm z!e}B1@H0O{=Wo&f5&2pYdaaBbVE*A;VwEZpS-XEJRG^>u*%sSLrMB~ZF~0}Opnvo0 zFCT7PaJnOqIx5NWp<}e{vd`~xUN+VTBA4ge%E_Kv$v@(UN%w%F2ozFL^e4FgXs6gz zH+o6`kQ>A5R$C8WVo_Kb*nAW*ud_Ndd&B}GtF*I8GM7LIaTYtst6d)+-X0P`rrKr$ zeZw4cfGKybYV}&iznv1!;Jw;j$VFR03teuu(4r2Ftk|F`y(uLy|013UZFQsh3KUrJ zGSX4{8D(?&sgkOq4ue_anFC(WzAa`j zaPHCC=_#ELWz&Xz5v%O7c77W7KL}Zi<*`I9IU(cUmcY+ZDK?~Cdo$?BpzMo`bld zIeagDNA1eaO7!KYb0U)mQ{;PStFr-yHT3Db+3BqxxV<{r^CSOYy{5wAQ~j%%`dG(8 zDHnLt70sFM`MI~d(6j8*xcyj)Wp!q@^;p9jTbJ_>r=>#tWVcuji#z>FyI%SS*VRn^ zxA@Lv4Ppj!`$mF5xrfLxU|EOYLc;OSODKNKq0}wY?H^c`eQv}yxLWaFW7yD_SYfoA zD+)mK=){$m6|I`cZQnn+L^pJ-_5Svw%EzeSl^p-Sc6;Cj&bFG4OrZVuCImy2I-ga4 za|Rrc-_XS>C=uA{VRr;tBWHhxJ^M-4=is9^0%kf?aC^a^E|@{U~I{=;j_C4)r@)NGK>!6IF+r2Ug+U6NFuQ~Cb z1%O0injmabXK#bB2R$fpz2Odk@Do%+ebsIy_eg|5xIm>mg1v$@-Un)U2o|{bAe{$= zk5G9V6#k0o_65utFp=@7r=jgTbLIvBS6uiefSSw<68)r&g8;x1w^sk6HZog^bPsZC z6Zv_%vc|6Avc?a_q{)(63T8W?MCHR^9zbF6On#UbxM*q(#f64JJL+bDVn$#j!%14_ zA-lGg=If)`R?o1pAdDZ|eVCF>5L=+0T+HOEv$a6(0Y(x#+k?L$ifJy|4_j~moPf-N zd9g>8EdP7BSUeEpjhDc)5b?#`HZ;2{;8{8YC)>RxJ_N&b?mP zIgdLfUkKs)YG(nIy2@7&97U=Dov5(p|AO=2zaIPwFf?trF+k<86R89IDZG5g&GuHGvJ#kTm%4A zSS}a^wI6ew&>BZD#qCWNwxU1u25bJqOt{J(Zg46lgg}rc3_ZV2GCblWB&>UfZjnH>X3j} zg0y@J{F8Lbv(JQDTsfy$$eKk3k$>t=;m!%!IOcvE5xR zE6bl>5@2=Ax)vhu!rZVKhjzokb6p1SaCPbhInmJME_MC4rl0Sxrk_~n)x9{2PY$zi zX*R-Jv8B!b8;1U8q$mH~KS9PFR$@BRT`-?1xJB=&W!=Fv6KIwOStu}vU?c#Hf~3}~ zfkcqAqEoRuN%DBUB_(%$9x=Qp@Sw3Hjy!Tuu2m<@YqG{PAzOjSjqH*TkPLvY@e%Y~ zpbUs9UacnDM3}sk;d;m%BRgtGa!Nsa#vD-mo&Y__i)Vet2mcgd6**8E;1N8j8yBT$ zpZoaurNoWPDzl(Bq}-;pKL>UEp`z;Ehk>`VbkfKjTO#uWg1lH65B!GN1FU zrx~{$HwNjs^^gnDg#o1R4YhA0Z0NI{xgFk3?T%h$`CrRM9JlmU`EN>n@J|F z4Q@IH7Rs-N)q|aSt=4J$3RHv{#Yx(lUkUlv9H-^@j1~Se6z^_0%edEQR}^Id>`38K zI32WxwlD)AE&z+AA6{wV$RmoPWG0GgYYtl#Eu1O{Gq;0G?8(LuHnCXv^jkoewflRPD2qcS|+ehHthf(G^ zRYTV?8F<1j6d<~i+LTg)Qa-I+x%$Y0nP$8X2YmbR{twwF6$=ia)NQB$*f0x){xJwR zFtX-kQ{WLMGK_P>xTiN8+J2@d8(Tnj|A9a0x*Lc9n~q$+ASD!oWiFtp*167H@dSR2 z^7;<6Gf-z>@u16Y&Aenuk+VEuNHxE6@YFW%OY$)ixZNGmXlqit_srXAR|mbKpievc zqws{735G~VOb6c_K7@~dHW3yd#~UjWn1=>IIDhp;xB!--g#4 zLTkI!u{LxHw0Fsma0+Cc3c>4u{#K&dUo_n%9+p_XKYcsdT^;^~yUP)sH0`2RZ`cwt zlJUh0%6@@ofg71;r+UnNu zI`x)`L1b#?s1)ai!ZGehp0{XEXGHj>n2%#?hKJe2E)-Fx(&3 ztOKib0LqcFXWO6vc3$O7n}YM@^FvRLS%(LJhxdOE2g_C{rs9D3AR(>Tdh8PK1z@AB z`w_5u3_C{q^EG07;QV0wC2otzFz!IZaV><@g-Ze1xP8CgQ6 zTQIqBWU#wB!R)#Iu5W~g%y{k~nl@?`$-50V4C)F?eUqbQACOCLRsdF7p%1GC;OaVa zdRd?>QZdw0*GeR{vR{AWNK)ANdx>^GB??yvHp4!?lq;Nu>+?=*qKBQ_B|H2&0a*!0 z@9S)hmAUI**KW{1c={R_X$2~+#1~;_!3!w;qK{R3o?V#^jPCgh!#yL6Wpj8=VX12} zYMa#I7~ip~^gv`u$oaA%NBwDjC!NmsmnO77zqoW&XtBp*qAfZq>h`Jn^jT!0zuR@B z_q3uNj+eAfhgvBTp%Yj4kU`W7xLTjETo8|K8@%Rr&?H+OeUhQGRsr@;WT{z0{bcB z*lHsse;`)zTklSUrUEcu#in@TI5lQXm@Rh|%o~ZnmMcbvrcqukPT4SP+A(k5++d)@ zaOVE%D>E@(8fw1zmx%3loq?%vtAf^~_GiPxY3+QkF;I2-ti;a}PKVd!0cgL8Hk9l} zQr#$IL}kQRu~^6$%+MMPggCVzc4`NN{Kgr??8#;MNJMDpb>Q0#kP`e((3le#yhhhK zn$80uZf}0){xPya2-xM{4MM1C|85ZRKY0FO!|pz99@GJN!y{OGcT;`mFMBcQcO06Tvo)2*!L9FvBUd zT@sgS0WO|;^RQqz1-?6YkTn?*1z8fdOjWi2NT%%Wjt-vi8 z?#omvB&L5M-GnYS=9ww34_7l=UsnWFP-?2{4dfKCP2_jx|Ga40`O>Z)RB4by)#$e( z>Vq*>(aHUIorGB0f7Bk6*`~XbtrGPU&dL26X7iNLbpOuO1HX(!pW>mK-= za9K^6H2ch_!nIc|2uH{)wF{%H>B8b_O1^lY>WX&&J~3Ii_eoG>zbIbrss=Fl1NN!C~h+px`^R6Kho81#UE38hKg*yFmn814}~Y zr>RHNkAFUkaXXKDDZj*zrLbYcj>cUn!VO!G2z44leHDhBFqKihGHNs!pf1^Ey)G7A z$V~_q?UIT0E$(mT^?EhEDdOy75LlVGJ_@yiQiYk}p_T8knI_#Z&{RxSY3tlVF2T(I z_W~hQFHp!$qDJ>SqtH2kZYe=|(3CvZR{w_O7U&nP^pn$!QR(Rbt-t#dgV1+%I*Vn4sdL2W7=pWh9_~7Psxn4fNKUDhf2sSW#aI@5IgPfAZd)U%Q8>5E z0vD>{5^Z5k5C3EtTueVR+dq_vPkCF$yT8T7eu18@Dmt_oX0;l|si-tgy38Nj5w)D% zaOQ>mbOLuU%DIhsy#@2w9&_}q{V)52T-cfbf#u&tvt)a8@H0Of?13jRA+C`th9M~6 z(H>@0h9sms_Fm@!J#gfzKG^PN7RsBGCkcR+q^Y=sD`hJL!p_kY0&NaT0Wf#A9qa!X z%=Oji2^v7NOp3{L&ZC+#@rO1KB>42qe?V_g_kXqb<noyceh0OEbhGK70hUSi0B2%TwOhhEYecpA>{hr^tzq{_b_mBI# zcdhSQXRWhT*!#2J@7M6Wp4anC3h|v;e~r~b-Lh@j4I!R~E`Qqx>8;`+Ez@uNAfYO> z-(a_4`PKFm{LAAvM)h6uz}#aqq%@0X@4l;2cff)d*!p`&g#Xqv6aCc^@XP&|BNMCM z?7AY#1%`>HIy;~MUS_zBHOG{V$m9_O_TPP+F#5P;RFS|Kicl)#C}dc?yK>>1+uBqZIJyIypo)tNOSQy#aYdWMkl%t^~{$!|AZ)}ZofD? z6zwdOuaBSsz?P^4mU4)H5Ma#Nh+se|n;K(W-VHPso@qq> z$F^p*&_yVcDhtrZ*9d)`wTfZolo{mcf;LgH z1$>vq$U!g=GX8BKwC=FJS$P@uDnN)>05}CNt~_#cl|_$!1`LFVS|=W2lN$UXl>-2^ z(J}o6YojO_JTb7sB~i+Y!IcBhd-<~L;U-kM>|X{#?dQjfGbWt4Gl+o@9|(Hxu+Iy* ziL?;kBZAn$$0J0%Jx;m0IerWnC_%o1f#JN+o*v&yR1XQheLg?GYItId6_q_lE6}Sc z5pCZNP}qp>7nla=cs6J^5#sG2{35zWzLxl0hEgW{ARO)0WI^@Cwk9b{e(!RL_wt%>A zoMoN)4Fj7K@+)mTh`{@_nZh=Axvv?za-dE>ycD=McJ8d8H98F3Ash{<3IyU23?>Tt z;!1C|O72cGi@|!-=1)>nPmWy6)f!*;Gshc`F%2}4Hbp4F4-ericOq%RjS9=K)5wu8eCa&jw5 z*N%sBH>YV_6jm2Q_X0&X6^D%m-tzbalOG_bjdlVAV(pK`fR8bPj>OMxNKIXtQ}^U> zCrDcn7Tmc&a@8xQ2{be1tJfQSQpb^~yPg<-mrycP6L{h0QWMP7A>dueTaf2;AL-nv zsLsFFssDvL16pOJwOK?$y3FWpO-hYANKos}2Q@9Asc=0BdQ}D1wOMrTOmXe8hMT>EH!VvKaM zz5R6RZ_A(oSO#HOMk%fHHN;Xu#`Yuz$K?PR_5cO{vJ67E@dfn;YJ`?k-5Gei27Z=x zPYa%Zy??3Z%~JdElaEq5-FB@1!zy82;;Dq7IOe%7+$U%#Y4kejoCL-lx^P?@Ybb6M zUAif~|5YCFxQ)a!$hv|F&mhkW)X6hDQc5R-#!`}rXAnrswMS9$^sYeX{a`C+4cJkh ze`Ln^36{*4Q%IkgZ~I@uU`f{NONX zB;7%j4>!E!fZItXBc3`R>f6#6t|}MdzyZvD{Q(6v+QFey8$)*hN$fZ(Jor?WVqKAx zi;|OtGXWq7qCf8omYZtUnHF%<3|UpUE2$ru{t`X7|2kq=@}cU-p5AVaG7VRBY3;$0 zl<;ja{r1uIuF$RY+ykx}`kk)`-F7R0Lp!eD$X}v5{lT*y3$d=@IXVX;+<%rg62}08 zGsI0A$31&#q)(aYd7y>IW+R=R;q`xfIq<%gR+sVXI!#}AJdh0!Io02@cAFXRfr)fM z&fq-qoT0t`XKkprc|eMNETgM>im|smG#n+?w?s0;TR~QULinMrRPbzgN;l%}GDlMq7v$ ze7-~%nc%L{HFHCcTm-X6>r0T5*HyhOfXS)A6?Cf`U!Ew^;J^7sS-ptlg>+NYUg2Tw zCG@a%pZ!TMFl6^YmeH!UF2{u8Fcy{vM8XN(SUy`~_85uU=>RXO@@&D(cfgmC7N7py zg@qur-AC4ZmphsgzO<-2so^&EZUO%{-P~k1MI=`zb5U zM8h}^=>;{-!%I?Hn4`eg^G+6^mhJ&Noh#%Qdj5yZeplJD7^m1sEth1TQo5>6K?@DMkr(BGVQJC zoH^Hl$_(;ItG|d97*mn<|Dgc|h*Mh`T82 zxZ8-WMb;kPkv+JrtM`U!&-@8k%V&N~)qJ8GOZL8avs)!gs1eLHirZ(sX8w%@9K?yq z5KJ!#%~X3ZYQebyj5bYqT9RX(54hba(y^^4cf6-!cOEFjt2txOXiY|1pGb{u8MdZ2 zr74JG1QLSCK)uWqo;gK5a(~$eDL63xvJZLz`ydohun&Sf!awbUbSo&fP_K^xKn1#r zWvjfnz%$B`sqIFw2uAxd&9~MCAlfbIFgrR|q{U2=9=NI5cyR&Bp3*~2^@M8TlszP; zi69f9;J}U1z91l_nqEw4eK0JOzXp!vGf}0C@ zPPd;OkAc-(9DH8-quqIcmKUxJtgNNjVNzu6k?B#1&@Fb5E?_jvV5i|$Hu}s!P1fV^ ztlLu>1`1|sz9PD?Lx=y+yV{jnx_5=I@g3gKh<~^THT6woz4i72Iu3Q22=8ro34vU3 zU1;<8O^fk$hxg>(^7-u^af6`L}z}C2usZ#674TqpshcK<+%lp55uW?A#@?YbS72pN_SByjcF>yJ64f_x?rmaO*vHlD) z0TBY;>H(|-%&U%V#1McOICoVaMa5AIC7D{H?V;Sh%^3la^m12m7HyVDg>d$OitakA z1jQu5SMX+e<{F;nJ3oW35~{})lUs1=u+JBwi0{jB?KbvwM?sGB4M}6i7Sc(CV=WT7 zhd7O)qyo)`l-#>3!=#%r0VFG<*V4|v0sf1z3m~vn7{y{VVvbGwK0#tU!S8S%qA>Ph zFRJy(iVEm3cLK`df|QIWaiKlDlju;# z`aQF`sF2;X4q@l0pQi9NBnSV)hmoo*(FXyfbjAqeP6fd+y))Wo|F7mXS86)(hJzp|I=&Bd?9l#aHtENU9Ma3;0FF5L3U+% z4$a0w^TB=of}2&aW}RW;1%^0YOwt$7hP)t)WxYgM?t}m{2jnEu&83`EdC?36jW_BI z0Yh?pu^wyNaOVR?`mR_F^n4GJaJ)!H@eQJP7&923kyuyHAMx5=Xe;D`@!_IQAk)i& z>i7;$Ij?G!o{iwlP(8Yf84M1b_ki$E+j0eEF{UPz)x_E%9o3?!_~F*)$bul(n5qHI z5{64-a)u4GayW-bN?!-k}R{l%D{za5R)@l>4a$Sus)*=?~rqwp~FX< z<2#Lh5Yhpjg(Z%7j3!N~58IT(s@T;*%@rs14GeX=D(0$@iA>fP=EdrwON->%+-3{G zPK)I>PUb91>G`%XEU`z6x>U12M;Omz)v0Yeg45k~OgHI1yR=WsAJfj)28kQVHdL>v zn4n6<9ki>!9veW|nYC0oQvDMqE(h^Ii9jgsGBS`m%w7O3*lk>+7oGmeTqFB8{MVVa zTWAyG53#}Fo#JL(70kOqt(I1FTp-Oz4Ar{6Tm{AM0*{V|uUX#kG6rm5(tKT^4AW-r z!qHB&TA0)*tu0>^HRKEYZ*UsL5rnr7+My3o8JTW;vNT?)5$kS7JLr4#ne?;tM1x%h zi;O>@WHJ(XqL^ZmSi1$x(xt>ODTINE(g6>aL#YWF4mgb$;vNE+>UoFx2@b+{7&XaC z?me^Xcq-z-!~(jDzDM;Jdac1bWA3Z1S0|)jXLr`?%+)JSr4cc5sg*Bt=~m{EG*{&z zqP~(w@6PrZw0^eMZx~kTPs!5uja-!c$ z72#Sz41S}46>`h=Mbj2_Sl?CRdh4)x(jCQAwQe!R4aD{Z+%>MKrH!X2#B5bwBbJ%0 zHl`YoG`NPB?|@M4Rk;V+Iy_8K8|W3FqyuzH#48H!VH)A9#T&>~@n(M`YT(|~r_|sM zBNUVSe-FM`;wwzB;Y& zCu+nEScJ7dfg;HC_f{(J$5gp=3{8m3yI1T(@(3qg`iY#F8*Kpc?T>YL>Z|Pp@%e<8 zq6{axos63bI`HO~DgKdHRZO3tGqKuGOY)8oj(w2qPnUo4!W6au~6 zxC+A9?=e=%hL;Kb4dAC2mt#lnga1)?8%&BXxAnkZ>G=Zn!6nK*Z%%;j*oMS{Nw>n_ zrtkL@V+vZ?ct%*-kT`FaR+8xOG%#hWJ@a zUWcbw#XOOxnU>fu%O4-HuZMEP-J0#S3(yh+|(@b@E93AR* zBKDG%)(w2g=}r|mZ(VQW-0pI*H%hnz;6W+NMdMbzR`Vs14ng`d;GqK-=C0zrI@h!= zFe~r@C=j{DH8oo*Ka_^mdjA>=SwvO(|c3&w-usw{{>qM4$of-z;I`;j!}_sx-? zDA#&T=5z|aQ_B8xRAy?!JGf$C-e&6B`466XtUJwnh$SyOO=r-X_zfE5KrZ- zygts8fq9u!|A?;>Yxjns-s|S2i`R1$f$SOf+tsl`2ZhZY%(#3up%sg-(Z3t-J)a-9 zIaPC0@^sdsk6`G8wI@}CwT~M%$>TT+x@l?;S#Wg*+g8h)rQUtA>(!5?E6klIYk$T) z=a;{EtHzsDuvJ2NKGuIv2v1xXZCuy%l3at}js~*jYUkGh>YFJ*0Erlb(1PA;lYYgOBg zVikj#8;b)vxyuSf;)vhfOb66<9!l%3z(G_oqpB@6Oh6#=Td_+nNjsm@&xNzdA(P=x^JxNpnkFPPt{7RP0>!> zRgZ28*?EZwcUP(ylo^rB5-PN)M`&wTou( zh4!4?|0j@E(4BUmC@-DP*x-3DjOgYF&;*E8MP9e70FAX|bbbrxeBh$eAHbZx6~=CU zT+?QFb>RNvH`gF^0PO<32hWSPZ{yU4#VPoujGs8j^-kTjtakgmN9Z?pLHtliLZEyi zxERT?clyadtePuKKukq#?5Vu89wAx~;enX$u67m7ZGyl)XkafKp7fzXIOCEeBcS z*GO~(2#{CEu#?yk)tYN%|;dlqS(bvHVzRQqBAt6zO zsfVXG5o$&*250^x;zQ*-028FKK*y@=F>n~bBs90lWU{-H4IB``YmM&hkq`w06@F>n z4J!jt!hrW(cVZIezH(ydSIwc6h|O;dWyx+dP)+LEo9KOT>f4lvRxSjK{QX|M22KJ0 z(uP8G?J+3GaM=R^o@0-ykn>_%JtI5(Tt{H4xip+);QyC8WX|@;QLWj)3&{ zUdY+76zF&1iBzw%xP?WaPUJu)Iy`V?vzDjm;8{9}d&v!;p5w?6zh}Sb7>9$~{n7r8 zgCIg*{2HG`##)ugy&8uwQ>c(%uBgR*gn(&VR97t6v>d|>g0Go45!C0VO!2{I0uFh2 z`nH8j<#_B`I+rbLpCcxx=v=THO>#tT#{8OmNeqcnj#Mx4nyLg2TN4V_8AJpHuPa{T zTBc)E9N-xfG4yuErq3@Qu>6odSPOY)aY)o0{ZYDDU~Su`{oyL@+%Cd&_gk9+O>V_& z*vBiRnh;ixLiWKs&Izp-eOZ2~NTxmViYrvr-s>UW?Vny)9iPY58z<9%W-rTlH>@rc$m_<8VVjAOv z83-|r3dHyvmnG|$Y19^n=jd0NGbHDr4cLLl3ru6lHn;TohGxVw%AR;erCxcjS*L`z zlbK5ymx`lUq7Fr85AljOfD|x6*1omj(ZJ7~ScMzF5W=67G_t2YjJ~FtHniF%mv|+- z?Jnl+dn3ZQg=vUDz`M`9KBX^A?TW}9(}sO*_xeEuOhXj1QdqhnW7tqE3a`~2$-I$8jwbTMI2e~Cpf<2I+`Uwa&ZOLo@nwByE9Y6{X_3cX8 znRl^^sNunS%o3v_PGg;DydTXd#M%c_y$Vx}3-Q(Eqz}B~LO-W@t4I zfSt4rTjMUVZZX64Xn?WVkSWr;?#4ylL}qB9OR|ZrhKJ$Qj2E%%Sf3tAJz_38!B0px zND9dk85@!X7j?)NmQshu+f@wa8)h20o)dLdo zPL0{>wx)HR$YRv>%r-_7C_g_eS9?Zw%rUSEb z(54tRHfys_rE=FRm{#*L=?>ywQa2gGv~t_qLg?yy$~uo=2p7VTafzH+~>)^)X4NpaY1Da>bW zv}D!^v8ivhZito7@#})3!z~>G3_Y;=^PR}(_tH)CB*N|TP}#k2T*9HHG_7wYWNKwkYNyThc`~(A~lmq(VnX(Qi9GW#r-y5anRdmFoZ)8 zU_G~2y}9{OAJikRlE5L5IK72l=ABAnsp93+wqt^Vc@zLAVw6uGN{Zqh~rwB)ldtSjV;VHgr$Qc^qB1hz+ zPC~HajaO2zt#?>`14!5j z2NT48Mx46k*!mg3=E&qlRAJr6T&mtU%ftfsxh5@ zSDR6GU(hEthT^K)lFXIt%2{A1CJt6&rVTq<`c{=Rcj$vzd}8Yo@;wp-?T3nH8xAL{ zT;jUKLahCnuNv`RHgX)CF8aG3i*}cD+%)<IIDg z-Hc_W+SgBHXZzFL;Q4ULp6ByL+^yy(NcD?5OcrlXpIq9^R!q#lZy{&0l5X4r!)N^? zW|0y5MOM{W$*_WM$wqpA%{^P#;+3eNqg8eL-WNo+VW&;HC(KY{N-Y`SRvKnFBhw_-!4|n1=Y*A&nE#{MSY5#lbTk3 zD5f^}u{t+<$A&^?qW*LJpE<9ZAo(WZLvt~H zWVx|i$>q5rY(i@ zliH;lsZcTS=0N(94SIt$G^&P_VwY5%t~^=&v)Lwf#dDlvXoED54(zD)L63=ieRtzj zpYnQnzhh$Ojwo=)pW4btbljQE@~AAj0s)6#YQn`P79Q$rpSC4yh>J%(GK*%<=$+fs zElAml@mALR#GIp{M`(91F4>y>_?jQTn#XRdER0FfwGd+<5LXM99y#o>G}``gFYvHlHFp^*h@N46FZ$$R#-M#T$xpR26^_Ey%koMv1LH# z^Wcix76ZhRweM@A^J5t{XP{WY9mGu9JNW979kXwt&S}|s%ug0G%{iSIyw!qvJ^lzg zp^50Kv_jk3CQ;hid3?)DFU<|JJVY4!N|&21MLg$}!f7(j=OjQ`)_B(*InTyZ@xY{l z4et)Vdk=y=!EBjL1g|CYvJF|=<9!>wrrv3@_E^fy*uSVFf|uuX3M`9`&4UC0!I^$S z$tR>u)s%t+P{_J)Fmv&yx%C4|JO9*<&(Vz9>GZYQ<1dq|Eu6lWkLGF&yY9H!Cx2p*UZ9(b#<#YAqj)1O3@C^ApVE)vDq1g5T1ymrs=?56(J#B`rKMZ;7cDLqXmGUfFjs2W=Z3BQ=jyM3zVnH=mQyld^tW zibG9e2|^d%tfR+zLF2nkN{>&Wo)Oh?5NIp?fPCFO@-kv{{lz93@Jongjl&r-`%ll# zJzWyK!g7IU+S#TapVu!nr!;uj+fg`H@@>G_sqU#2s;>4f`#FPo5L~_y18SdG9<;UZ z0tt~5(M%DY|NiD+ZN-;a!#8q$QYGqf;ZZJjA2yk?@0kU~OklzKbZs`x{#q_HtU_}` zta|2|*9AhHI7KgOQP&C6_VoEHFXLr{vgZky?!&~f?A4kQEp8wGQxZvW%VfaLQ zf;+r3i|JO=k}euqUUnw^MRM^$ifix5lL6PmNITA)e|PD*pp=NEoKn594uNJxMs(d} zDF04An2Ej3II+34gyDFgaWZOa%k;;QD!=9KpH96akgKIZrKdGSlI1Z=*05dGYb8y( znBoJv0anda0U61XJuJEE`nuHJ3u*@gfWh^DB-;4MM(^g$eu%Fhe!?>Je}#MZf3o#| z>;`CLVR$oe|1>^-16K~g6h5$I(~PG-gwUt=ahaiS$I(6ka`A;$2{MCb*t*7^#++Uv z^l=hWET|*E8hBzi3x#&af8dL^n;;6oLhlDy4J6|EON@dbuYds_KqfjH7!TrVy5y#XYR;QM3Sf__T(aKthd7NO@FNLEJ*3k=WRE zZUi(84oW(PD!@8>`-x9CaDboDj~B0 zFD$$wJ^_(mM5MpHu&}d%*BWr2)a%3x3soE{Tjrmrw(W`-uwa@_#MSKvK!K6etQeyZku#Mr1&zGn3iO_Ai}rhtr#cUSV-yVd$8o~y)ZCiq&3)+KCzLXeBPK7WQ8odCjHXRhT3}*LdGESiv z4iH=v??f5}+7FnR*@nw6yOKOB<6aSc@O-#=q`?!S!#n;4ldFn0Vlse345DN5Fz*ph zN^pf@Q(5}sF=%PSi(Rfg0>y-3tEH>NQ=*)M=dU8|hJmv@BpQwrTR%*=T?utkIYlS2 z^`$6L`XboqoP}6UJ|A0~sMjjdk_D-U9#5-d2;E@6ZELwfw=2ZHxrw;Gt!WJF=>(t- z7LSzNO-ZBYs~s$FOv-d$%r^H;XVnvZJi1EEmJ^bbta8X@e8xaQhm#PCcBHZ#WLBPH7=LM z_ZTlWx3w%wk1=|1ZoVXd3Pu|!)3y*zdyof+!J_r#vms0}*@w_?Sx@2JZ{Ist+)7?b z5cRXiKJ_6m(Ab|d&!-=G#cO9pSY*qIze{DvO!&G15z@rg%}0sC6+ z)3o~y)PAbHU3vIY#_`Zg+=T!~Xk7EXj{gc%vs$s!>9ac|D3Wz^I1f90gyx=~Z?cip zdXFmgU2DO}gZO@#2VZtvQ|u1-6lSH{JpTzODfFw?)P5B6=)-%K#M5lIPgiEAC8kuH zC23LW_TvQ*mNdJexzO`u`)6!1>+{n7r18lk(pbmtHlA6VXu0T9+*O1{DWM3c_BjUU zDm~f;B4|X8BwG~0NI`7a^)2fz+vYZKzZSawCV;SQC^c#R@)w(mXw9qXc)3@2k0F*+ zm=Gwu@MnavSX0v|N5=DYe3y|_>zKXVs?=x3Yl=b7qCTN&NrgdwrT6&Gou@B; zv*3(I#MSSlzm%@>E@Q2ZT)|lSmj#wOvA_aF4o$mxKBLSR)d-S)vt?s-FnD4$rSmR*)2Je|;Xg89USkeR$1uV5&wHnD zFAEOS-?WFFFx07q-A^0@XAY2)-;0(ZzdJT3M5q6w7al3h?}(LT;WZ^Ckh zOzx`zrMHaEli<0P#vp+kgl|HXAJ*RaO5i>S9&|s`=2vfg?W{wUJe=u&%1@v$Ow@WPE6#fFeFfG9h6nm=V`&GbxR(P{x_`xO zMI4jTpA&YqcnZgI_K0ZDS$Fg?=RwSf)Y<4WL^x|X#5BcMZ>A_O#&l~BYEV>o-j+j$ zZMNBkV^Pf#CRnIZv;H!{g8o<^_bN=V@Ij$iMX3;kDx~GdjA_$SqwQtrphnSXzuZ%0 zS!XoKEHhQo6C6qn%ba-lXLS}7TS(7jrGf;}fCNgO9s$43cdH}*8YA6y~-f0OCLTi|&};eSZ}&tvkN^v(k< zvCHk+sFd)4g|}uGtL0%Vhq#*SiQ>)zq34&Nkm#x{7Qr1FL$8q6ew!o(@UB~a(8y4S z$aF+Pfd=4PJ=??y9q8~w+-Z1dTQ}UX!nTcp6UMYCpTFWZf+}+o?jchFMOvmAihF}i z+=^vF_8|yaLMi+E-~;d_$X=|=pHRz%Mq)DtY$*Cc$Zh%6(U@Nh`L&s`SFluRDZ_fza9+fUzJGxyPqy;d~$C`yRa?ua!$pr;|#fr z3uK}L%SVSX;)U*MdwPqLqD%+79`5uN67vi`ggwG?Dt@iH1AW`IPHV-}@~^Nr@@v?Y=zL z3$&#tU`6&zXb74|m|{DvuOiCYSR67M$q^yeUwi8Sb3w&KNvrIM_M#z zR~)H(h_a|#x?y#?5gYcT5-OrDgar|oc>vXj{A!%f;dALBhwun&tNKx=N?R1%tIq;X z+(VR+8ncrg=f*qXKmrfO8Wn{^`iCy?#J+G4(Bzp}PB0tyIGwYM+CVm_LO+9D1Ei}D zFfwjdq})+mz}1w~DCwMbM`HI22Ped*P7DLI!S<@i4}qvc-*MaLcf5+jn)U=3I%)h! zRBZ^VYj2j3lrgFMu zRagV;HmEh5AZB9_U>eA?8)83$y?7q*H9T-1qKG(RX)D0tFdVvvc`k%{-Qk}D zkLh3#e~|e$SNoY_aSwFD@|@V;pLFP*;!=wHk~O2#BYmQn^_dw}=$1)#Nhk;O-7)g#&XEuLgXD)_GcxY6i#R(X;U&dZNbsP?6 zdP$$~iG1s696WB}kJt`Vr(gTOZx+{z6`u(NUx9ib+xoz)0u0$hE$k`)8{j!)qKjjV z;R8OSI|iB>-deR?tkzSIWVRvo6Qx%SlhsYj2K$f7wc}dhzg(nMV(Hl`DI>L-t(9J` z1Xo)$<~FfmBzKajcOR6|pl$u@d0%K)Nyag}Kb?!_{rSbm`kCIdmqZJyxZA5UGmwMl zC)+1wxV{j2o6nI@FATc1#L`d#+;GJqWi7@KqyVTZ)+k{K7I2W5KvZyFk$vHJ#<~;W zOq7O6v%NqxZ35)6W!YFdAa5!C*oS~6ao2HQ=aNHSbzU;yf-Yb0-vV?pUQ>^uMg!Ig@SyVf$|DXY3U&RxbyvK-EJ&sMqb5S1%ND+PVh~*FBcZCSNzu0F#pH~moFDxXb#agM=rZ<%?&%u27GOtcS(d4%|7xA0s zI6vBLn!SGMj42COP;BOIIUj08e#lq8Q;sDw*Q#FSxvbAmooYrqg@4<>i7(VyvzVX4 zyFqnrYLLtVW%7tMXIiC;kFVt5DRU3Vc;;&4kQbJ6E=T9Q%Hcoww@>8bTX$~xctXTV zjc=jV;mL$2NtO5~?h1bvx@*HqWqrG{+IjL@l}yiDD5>C2G=C0G!`I6ne_VP1|NqaQ z8~Ka>11HOWJlB8!g#UML!M{I?e}5MLjCub)5C1+7nf;SU9g~w6*2@myJWMAY_f(z) XIo+C)ToYw-LNwKNcV(&`IQ!oK{9GT$ literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-collection.png b/extensions/caldav/docs/module-federation/images/web-collection.png new file mode 100644 index 0000000000000000000000000000000000000000..93fada90f868732476114fd088ec5605d411e41f GIT binary patch literal 43147 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 z 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 literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-contact-mobile.png b/extensions/caldav/docs/module-federation/images/web-contact-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d7ad45f9c58e5c488307aa3ae340085177e5b8 GIT binary patch literal 32255 zcmd43Wn5HY)GvyP5-K&6(l87H(%sSwQi6a;Nhly4(jiJW0|-cmgrHJNcS|GE;m{}& z1})shd+&SiJ->6`5BHq&;e3OcVb5mo=UMAtYlmxTC|@VMNr;1ka~-XsppAobAp{5K zk{bR+cx8ep1C4`2f`e9&z3-X6+2}Q^*?HD2_31Y0=l5|!a&oHo&=@^KMOCIZ!v)q~ z-^;01U9}%Y-Q~Dfp^G7tGpKmQ`k8F%yZ^k^*7oe${*>?gzK{LSj6bX~WOb*DxsDH| zPBbiRrwXt+HhTY!B9S|gbzli1nP)_k$$17L(fC+W43a5GSp^eBLeKO+@}ifz`0sXN znUp`v%L$soa$%bF~+l?_ZS;I-I-dCf?jl9?XznQNy0JzQogi_wa9mrnDC}m`Y8x z=HK2-BqdiwSL5GtLzFHf+GEyPIaAUru5-dPU~ZYWq7wPhZt7P-nnOgj`_Z3`A<5rS zXo97#=q1@yK8vn6CV3;&&;sX&28>L=Y4hpPkJq;Eoevcw$ZO9|k8Q__u+w$tZ{C`$ z9FjghT+5=t;^~|E2{r$i_z>F@us`RqUAva~WZ*TOHs%Tut!D?R@}yua-q5A+FB%d* z6LmDgZygTH6OZr*yQ;prjgF*f97^KU*ZW}7`0U5HVYNfFNxkDjQ?X9rYr6;!Okzma z)Ax}dvSqoYKK`6|L)^`}^~GiM_FTQk&*_he z?8bG1L)`8Or2Z|5sl^}Ag(Hg;`?roOwK1?p+D<~3iP@0UK{ zJ94TCB*g^L&pEYUM-fT3@J+awWAd+cJ}aUtkW|l*40JQ`_Hsv*V=(7C{W@@JIK3G9y@G zCHWs>Zohl@F{0=Eh|J{JZ>=xKrz5&|uiN&YY~COtwRd0MBVX+-8d7W^DYC$^(S=I?lHZoCmguxSXguVLH17cbxaztIU2W5mjY75wpN$_$h@J ztz?Mi(?z*TNc{L(GEr%zi4ZlIt9xcU-%vXsv)h62ditS$t1d-|p|*8(&Bc15Ekv+Q zwja~+$$qAdG&JSge$uUbFFrqa4YhallR{V{+Q?t!!vYw+y5w*ljx$s3I3(u#@9%_C zKCOdKC=s3AYwL3LVe(xMw#kUo=#e~S<+b0`v+gtY1j5KN`}X;8=19WaYC+tc_y%=r8)Yiq84ru)UC3nL7hRCN}3*QoD27sy5K#edC!E%xA2_q`H5 zuC&QAvzKV1(xbIZpO~H2z)N_r3ygE*E>FC)Xyvc)RtT(hU3;A^ANs&&p~+9;+4m}+ zeFqk8{F|h6Bo6ZpV!O>D&Nm&u78hpT43I$VhAO?>)}*2#F!Fzha$Boj@Q*b3wcUIs zJoUOi9=R{*`S&TlcgNv1dP(ZSUR)L(Pt|pa$Xj}_5*Iro6I$xL)-pVp$Lsi9NVSu2 zrsWM!=Y6(WN5$+W%bWtPSE!VwON4NZf3%%2u6K{`4R`h~8il)@HJWqng~pXFu`?kv z8#UwPGxg_au@i~i+@)~rkdQ1_3VDma^>R-tuUT79JWDwJFpYpkSCq|{f>hdEqQka3a6D5%e^hluRkI9z$#~n32_kJ%uXrM5L+Ri>1sMyjMR%&%Qn45 z9zsE%PRic#nPeY9BS0&uDj7F``!dO#=(&Q9wJ@38WQjhHdE&_7`1pLeMW}IyeTQXN zeASj&^i3fR@eQQ;nhhtK(2*^ec$MrX`4*`wF=52Fw(F>M<@N+Q`5~$O+3lv|t&$H- zgxej_X02!Zy|RXML~&od^lM!nPjE)XK0!SDK9)1())`jGj4t+ElGSQI^pHMWMj+YK zhnmwTxgw~umsiQAmYIpe=f#aXm3rb;^2_NgS+X?O>Q|#20?rMMX zs`cuLW2!mAt+ZM9R6E|^cKq$U@A-?jZ9^QpzY|KtWmFUA-IjNV4P|(;ZC0PEk;I`} zIz<+XpH`)nBj*iN26Q%wiEoYIkfBt;Y%#%GihUT&{SHFL}-K<&25is5o zc&WFFm4IwyKQwOl{^YQwnrB3=BJN!Od&Hcj6}rv8;P=;ppDc=0UxNq`b{ZTgw(u)A zZc4b@b;r<6o#n+!t7`QU8Fj?c2wH13`5y8*S)vsq5evF|4EVZaUXas)R)YoIngoa zvG8x&_Cpf4@y(&Z7-Y>(+g0`9+Hw}gBNEXNy~^CP$24YYbcBvpH*4;XM5pyRJ71vU ziCXu17D;;gM4=oCSiQqs9b2X+vv+8xrRnW&Im_W4yU3pCT1%^zvLK0x%}nBrp$dX` zw=~5*kqucFYrnCRHXGSp>ZXY=7}ioeV;LdF__4Y7VpuikT-FASi?vy88+_?n^xWM^ z`O6zJq4KCb6waTBiaATr5bwoxIECKm@l{t}F)KWp)fvANQ$dh$iO66RszJn*!;XsL za<@-)*cD!J*S=R=B6DttPu>YA^|IKqwY7n?edy*P3p2=yN0^uRw=}K3zSXsPM)2%| zY4hn?RzS?YYMCgld5lfe^S!98tBHL#rrnpn59i3Y?_KRIedTw!l8kcN-D&ETboz$# zlW>=PFRsoEZ;HATGny=P0Tum#^pV2Rqv*UJADX3)xP09>B-d`&xz0VC5OSEEY&3}0 zQOdf~xhcU+dF|=qbAc!QPL5P&tOlHE<{h1At7DCSiI~WF=7dbz!3l?i4d*Wt4vKGE za|)7iddmuIS3W0&|Mi9aJi;HSm3{i&!>>_?;*|EUUoyxF>hgB*Tr9P8J*P7Dd5HrefG59TlL%1UU2E-S|-2!pbQpq zt;@<=quO8hl<6K5y+ooe?|h%{!Qf5C7b$-H5+ZhFKfSbG7Kz(kgV+h z0_|QDE}*Qti>{%{szR^RoMSHBv@gGmyjGG>@22XW{Q&5mQlkdl|0)HC7lj zXIPk#p05klQq758hSGcYY!TXf1ERBDhI_d&K3<~lxIUbN3U-pYcY=F4PV8x^x~r%i z0&#!r;m4<`iFe*fSf;|Er#k@SFD1!(K?!&KB49NrSR6dF@(|zdjb~@3-=0B77%uZ< zfjW(vVuH(4pr-jM@nLHHxl1t;g9TJv4}<=tJtFqm-+B|(Yj(hlem~-_zM{y?!}bf6kyD_0 zDbNnynaTM^9~N=pBdzyFVjSA=u894#m2R3@j7x z=_(u2)UoS!?|}nYzX*ZZICOR>q7j=mfqjfW! z|MBPhZ|@Tj3!3x-jZ?BRH@Okd;TxY10BA}Z0tw`Yb++awR&IPt+51&{XKfEFy_swsfZ#>cgrCf=@PYrvPFY zr2>_hQc%G6#kK{zb!d5l7J(wr;xn&a-4XTNdBopo{RHs1Q5x#eas$o9c9br%%wtl_ z+1w%cXTb9CL5NBeT0-jtn(Msol`W)mNs0+ue0^e9ZF}}rYCmD)a&yJBJDlw?Vgbx9 zj$cG&gRfG3vZ-R1ZGJ~EE6%*jr*8~ET(}&z_JaR0m&LUkr#hvB}Ea<6c{tt=?_YqQ4ftN%{co2>Ay*QhsAC=@>SetI{`jRBism- zR4R9pj;7RC)cUf9QH5rf^rUK!)WwWX-U^aF%RTX*EXHt^Ok?S#X0ym-GjUw0hv{y_ zzr3Sh^-xPGx$CPqz$kTJk{>CUps~7=O4QEkK$`I&Hck!S6sh?{+yUEtv$-Etio`Yv zSr0$|t{xUoPbkT5<&u`2sy^dCb-%?x3~vp{zte@7dEY2VuwRr%Ig^jmWn$-={Y(8DBcATg%mWQ$Q{s&m7f|9>_SjO+FvOApI#l@P5_TCBAS9{ZP;PG)0K!E0GHVx(T zz}4Ji5d7Rz@^d_HAC72-;)eTf)vlFlZ_hWT^_3r1A+Az!tMz7{YS!?+nUsBi!gm~@ zNvUz_cMmT70UVq+G#4md)pZmr(y`1{;EUv5a$_$odeMMsli%svolN26@U$na#Y)jP zNmmGJCNBhzMSx_*CZ@zbP`g>tXGAP$+=HD^H}U(coBjc~_Bkn%d=YfXIvqiLwq(`_ zNTtlkJf@@le!7&;rxF`wx@Y7uN$3DkX76Pa+&osNoHve_)RbiPrTpxJZi?X{qH?=( zqpT$AX(%WoWnW&YbvFlku^SS;b(MERDWcyg9`0eJY@Pyd5_M}LyG~oIsI#f9g?^D1 zlR4+a%RYH@$`?yA?%eP`G>>kFgh8HitUDi7+Z)_%(qf*bgSPP^e0&pZUd5i_0vj@mg5_A>N|pqI-F>JDmV+hEfH(anz2d|Y~*{W>FaC#24FcWCdb z$$D=f&~-Ch(*5WOw$CzF$9~Kv?u{D-X-2`m&??tAc~fy6?*3jK@LCsplS0wn8yFp+ zquI9I9hCF2o2^2RiP&SY_ywlhJvH@yYi|R{)!4LcITg2XaS@KM60uDdk_7HCfnjRN zPY`Otw1yH^2=3ouq%6=0BdnWy(b}HN{~El0AF!0g)-*bpzqDQ-i*&e*NXXrBUqs)| z?Zsk$x{0uRy`EdQM0kHIiUU#Cr)C*?{bK~y!KeS({%7hTy+4Tb_(^~7(##I5$=j?n zG)wLWj;J5zk@#Fzgb(a%B6gohtL%(!m}yH!tn*jlx;y0&WQLv-+q$S9`qxV+DAKM( z?X`!M%6l82-KI#qa!N$&e3BgOeACwty`2!&zQebDw?nSen7`Ml4!3=%pRRm8cF2|e8_a{U06*JbBmkZMo>GVnbBpP!G#hnh#8tFTRzLoSu4tMi zywq=RI(K|zg68|po?rV~YVgI|g!aXJOBhaiLVj72!Vtkok$gyQmhZ3LL=C^RWy3hs zPOy%+nI2KB)SF1;)P7m+Z!gg>(XKSg(2oi=?}B!bBY4V2?Yb{L=DpY&*$7la-*HbKOEv29jmttPS zUupRT-9gms>vu@BQba$eN#Tbv@RnJ#cvX8`v-pbDkNTi-Mv;E)) z1wB^sS6KbmPqnM2D*n9XX@3JhbqpLmx+uX}P{g|MRWbd&{s)r|j3}p|E$CTb-#AAs znf%c7-@A1+Fm0?+Uc_}(&0Bxzo#G8*v7{ZQ-JI)#p3sgwD}F9hfDy9hytWN8jR!x? z;(!5~bA@#|gCYgUOl{3z26#Den znr{5AgA$=eD9h4TDZO)Tve<$cZxE5ZpcJ`*yF6aYr!(k$x0qz?z47tUj}Id3q1g%m zDHh+Y+VMlnb7qtQ`h?RDx zeIzfOX#dDUT*!9(_U`>XGbrqd%Xo65mIseva~o%o=BD?fL_ORuJ~_&<`L2U(Qt&0D z;!clXyboSpnYp!qQ!p7`gBtHYhhM)5N$*yS@RcSx&2r_w5u+{RS?@-A3R(@)Qe7e( zDmB->>~R`b-G&>Wv#6OrT>kQ7(P|b{E$tc$0#EubbM8E_AoCZYg3bo%EoZvL&|RQ-r_ZtGP$n*?KH<_$HmL^00UlLpNo=WMX~ zVs8k9tTT0<+i5>PPLOe3Pfita%uGU(@9fPu$}C&-w-0B_URq3XOYsFTU+lB-8PTxr zkUxT2?)XA$c1^jO*!^vU_8ZkV`{~2Q&trV4Zi79OoUkxl>)AU*f48#+90O5c!OS}Q?%VC-$8~uLnT--U&adlcBC1|AZ28IUuoAldv#7HNkxT;uE@K32SJ9rNW zO#~^gPhB{GHpb%jnZ58Ee^8;}voCIb06n_|W<|)0DcEmD$XVuSWQe22jFYIR)wZJ4 z*$y6BNoq(RTBb2Br|0JEtWynq@S6+z{Bqy9XFCzu<({r+^*V7$d|E&sQ^stZ-Qrh{ zLe2J`;~qpWE?aCE$-_D@5}dni!oyoeSp@x0JS9Xg^(C%yOyekonR;R``}{n+Jh`QE zKPvOh@)C_nyp5iAwZmM2Mn*&>`7Xx( z50a3SQNo z+aduR&D{d+Jv?k9ij z{BEPob^9|bb+dfZ-JKVYk6Hs{7@u=SOnpc{uxL0qQ%@5&YH(t6IDP|@AtHv>mdDcOEk2mG;PmQ9bcu9f=&HhBqpsGgrK{18V^pkyx z$C1xw#Ed2{c;rT%F`4xbI=tpd;&^Xg%{K;RyEe+rf8qoS#&z(YeP_@1Un zC7!t`O^kd?o(?KTUBKDtI!^#I7Wwu%RcAnS4pvEy?aS}r7Yf9bIm$xLqTxN_R4R;7 zhIG4~4^NW&Z?=W}T}C}S+-WCfp?`M#n*3>GHO=pTH9Kqqo=?&fwPddl)7v!$tyi1q zy*EPp#L6l}K5oYC^xu^1nKfLHzMg^HU`11lj-VVmJUq#odAgeAwl5j$lm7PUaC=K< z!=FRO|NTjhrqKPt6rPHLL18a$oHOp#hFiDBz;pzjma#nVzBwsdigl8fJnsyH%Rq?Q zu19TbcbwQc@{{anND6U%}t^SGb z?v=`pmrBpOvh>)F}^2cf?_|-9Me|Kbps;x(u5kXHj0%IP4Xva-O85JTwGxMX%EL3b+ z`Nleh4I~*9P?Wfu6WGbiCqlixZpir>Bt6BJJowKerTBO4K@zQU>h1sBrBRa=RK)UY zDSBryK%sEcM*nKr;cURMdUmM_x0QW?SXHiGnHMf#lz&rJS#P|lX-Jt*HxGZWbsyIV z=g9h$R(ZRA-HNv2l>O@W_pAQ9NLd;RE)xau_5wp?pg z^@V`5q=y9Yi0q1P!^et@6m5z8XjLWKd}X<15+Z{s9VWF}4!zP8%Ms+h3FzEV2 z6uNDU(g@qB7@^+0O)N#e@glj4ACFKec0&r`-)TxAS>#1)D-m&_M_HH@UdKhHSQq7k zPeR0m=8q2|vFTxAWqquNAy>tZXV&Jp=`sr$sdyC(^RhaeEi*;F3i?0OOkm|$vZ77W zNSMDOc^Ef-iQzCQcn^QFH%yp{q7fO)XM-zUaV^={J+;>k9GN39nVPRGE-&!jzYBH9Q^E^1etC{!)zvb>?C$ZEY zk{ni-*CLMGXfo!zaW*lALzz;LiCUp_?#}dF48Md&lfe{r*Y^3CtwX#Qnr7_kH_vLx~~rhn${n<<7D)m zyuKDF&-1YA7PA10CZnR|YvenFN)+uB#MVfgXJAcye5zZMa-BDrZOa%|s)1F8E))sS z0>;4wPajAVVQ~`mP>2tU4}hQnT!=%+U${d5H*#vdd?F2g64>2*a+acWmx@j-x?>cn zHqEaP>u!)Z!78dt@22QjFhIr;C%%C$OF(FG@L*|u#0IUi&zmw$$ab&g67h0x0-nfljQ&k2Z#Q7MY#QldBYyxhATFQ% z>f_;AD z@i2=W>+Nh1im9bQE-(hYrW)4>@L5MCU(L?83H;=;^7$WR4zv9BQc0QH!*2+GCYL8T zw!Zg#C=i*jfe9M=3-2b}F^9V;=UES({J^xE*7X`wj;CRUbJvXyj25jOgZPG06ty$N zIO>Rm`Z@21tLcH-kWjW*X4Veoky%jB14wKbu`#BH0b8?-Uj)uhZ8<=-ui zPt_TPi)w$d&h<@1U z{S0>Ud8)31^~nV_HbestSv&(DzR&5&VV+WSL~W==tkig8c4VX#L|zk8%aNPCxVC)3 zQ6$Wv*kg}bd>1zE;ZlRjl;4DR031P~yNk_3g5OgN26~V`Z{lY91>5n`aQzzX=a5~! z>YJDkZt(mSjM`4yPl(Bd5HnMCQdY5nsPZtbP>O84Qy0CD8OYa>|L+gz;<9o4yuK8u3&@3)zHEY? z`QJqX+V-K$AB1Nt-(8Dag~+Z7-|qaM!JbQp|5r~S7XS$+Vd_6y#BC)gH|l$e7^DK_ zQbixPz!Vi^3=Be?m%36nHQq;1aCR9|WrmEraa|j)xxl1QQ4>A{i+qK@eFHzA=fCPF z|FwnB+__zo;XZ8xi37|M{Ku;I4$1Fg<{{#c&*1%24?jL;{i7k10;Lk>e`(y|zdj+z z8UObe@xOgBpQYBdB;rj}17wIvm1*yRJe(%&x$_Ma2KBeuDB5RZ_Z)V?)QsTPsj?n1 zs&$$A1Lkx!KPC>re2uxVQQqyLCK(l=NuP#g?Rz);3C1+Fr9q-Sa1YC@= z0wA*Tw&eZiG?8ssFke2H%CKPMG0RjyIxX8nuG`;C75&{Wp#Ii+uI?|usZ~nw7h@pn z7;+WTo?GWOWaRzr-w-f`bQAYleu73FWOi-8zFo2GD~J0D0=OTfRZy2?OJyJu;Awl_ zzk*zTE%)*?pH%GP}3@2uy=HXVI0fs(xO^27Z)w~ZZ}>`f)4 za>zq;Ek}mE3)$Jb)6oOGm?4Nl(~Q4{WB?W#rAH*R;bDk}C3v#g&DVQubLhU6JUv+I zVuRF|@YAtd>8MRqf>)_Y<4r@dpTdEcz+0ha!LV4+RWGHb(gr7Ef^2ml-&`%~v$qLW z*bJ92BxE1Po+pVpsY%~J%c?!O%3bq(eH1)bGyazh0VnYbz($g|3@NJzR}hDFP!6wL zqkhDn1Zq{T{mdsp9O#~Nl~%E&y*UrGDX-|SLp{&@V;NP*3A-r7* zN6NDXjN;0Xd!SRG<^|}={wCFVeMmNP2{)X9+T)4oV9lgg1LVA()>XE`AYyPG@|-wkrUcw|>&zSh4g>1g^va2c_Q zOTluqL|NB| zy@>5BD~Y7l%n%n^B*6xd%@3V6N=cfz5MUL7_=Z+cvWa*2UEbo$S8p}ccx=yyT^y{qD&V%Rbs~hoTfTIh=z0tb zxm`Z1?V{NWdbQ+JNGc<)VRD&rR`9!jF^m4J`m)u0=ATAX?_$>Y9s;zU3DDuD6D^+HtGf6N$rv&LLsYfeR9_FGs55s zPpoS2?hECRN$lrZ-TM!5ivZt44(bA4MQREeeh`|X=!$F!2<|3)cR}6E>gcR}mQHVC z>B%WcchW7fRl_2=OlU>2AKd|4Z;k(M;w|hJ8~@FwYCgwO3oswdmYku|)?jH9Y*4oO!F6iBc~ zNj#>~Ps*LXs{UJi14#G>v1$KfN9YGGLU-jxx1pdLAb5m~v(h;70uD)?kDi3GGF^kXSDn^FQEmvE+Nhw!nJ-~LF`X92kS)oH9nMrRGS*Gmy+4ye(S*~iagUxva zV8>jPdWfk_Ne8z#G+}XLyZ*w+A!*~LnH0Zl8LHKQ^tLhvf|E;8%KQ{`oaK9 zIY?azLh(t7EO(-ciq50vfPudI;(bS6SOuarNRdYzQxj!q2c^D$U$Knb=ubB;rPhl( zHJ3fQbd3=dJ_Qc-Bbo}yYA&KS1y`6w(ofb$@|F}o=1nztxq6ab9jR>}v3iV{H0bCt z@_nsE-pZp-ABifz7j8>w5+$mOd%1oa?20lr3xN^3#RcK$+rqYcXN_kqfnlu{A_i2k znXP4KHSRwjCOifho+;auAV{4j)gJ!7jlXDrtPAhbVc3Zz7<0ll+oQ`@ez9Bb*$px zS)6?6FiP&xtr!9|w*7@Edhuy$^A{*yoA9vucK{za;T)D;v9uJHg8@7c%LQt zn0qqHgnr9N1{;JRvGq~y$#Ru!Z=#`EJX$RuYtztE8+H&`ywLWlfS~JRecJQdwO{Rd zx*Kkl1QPDF&K@If)t@^Uv|h2sAy-6!QhjpjY@s_RPP67`r~lf6iz6WC4V0T0P|Rh2 zn^!Dd8_~34qexj#OEE&|Up($xv#Adik`Y~(DQ223$~_QasgF1xd`L!x2thgo?EREV zX6-#7hI!3GD4K-#&E8xgtU2wza)I z8q_5>s5HYKG`q`jbDS(IH(mrSZ%IdRSL=CQVm6I*Mh!qzgmTBoY?z2ZE}oQ`Jgb-u z(x1<{3fD2+$)Y@^&6ykb*2!w+VKZNGS&r2q>}GX6B>=_T>lQBxzo3|v78L&+g^D;! zNn`uh6%h@6^jq|~b3`=wZf`s`MuVj@)~}0ke&;oQM(U^$G{lja&SW;JO8SyojpPJ& zU*WEinlJO-4L|cxVQGPS<+{gX}QFXrnRzUo`N)WibEmK>7cVOtxQ6 z2M-X@Fu7pDmA>Q;aH@F3^lqlQ&;`$!o60B)Aja$Px(O0P`TN)2-H?Y_LQP;h5Oz%F z)Q_?^Tj+14y zxHHTyoU1RwjW9R?5@Cv61d{znyo85CR55s<9_OLcyq5S_Z7RcYn>bG5+}U>v?{VOuNFe7pT%JE<<hC)-&A-97I|*JDt+!OpJ1P#$eUdsvbdh^|qXIGMi? zhI%&nn37Wu;==UuLTwDkdDoQBznbM*BR;+j3oG^=1YQxRJAx);e2yBMK!Gd8AeP^f z`moA6o>K<~Vw?Pq>n?8nvKmZ3H|Ron&LA4?A-oDCwLmk=AJX0QkR|7Sum{T+!L^v| z1|%uIISg?M;@P2M6AUzN^TP^JH%m9FX5hAj8#>#P;zuONfg2tp{=I1DF$@u=N=HB( zbTSJxH?BeIB}9dgDCXi z^Qly-c8zO1bzvU}6zn0FPU>y>q7UxiAtbXFGrSIet=t>6fI+wP@PVF{2T7L1D56OR z;Z|K4U{5`_Ja`sqB5sk3Boz5}WaLaS%9JX*hr$p`JEw<82OaZkT((!w070^P7PQCu z^zU$d<#|#~*E&MuP}9owtE2ujFGVXGnh#2>sE+#LSfl4<5OIU1D7XS*V8e$}v1w+~ zR#J~&$oW@z8p_%AHAk61x-*K6g6lJ7e_cvNB;}v&g$1N?p+*L{6^Yp`Fn_5^^No@( zhOE0ys{}uFkO|tCs*!Ui1-8>uHVYssHyDOD8!B-iQAz6wXMRmi^%g{)Y;?~8pFh13D&0EYC`KFMPeA7|5bjS;VD>E=d~ z@?o8;ne6*1H}UtwmPjWRYHEdLS-bx*2EKX8srGBY&uC|2nT=@)_t zT@H6Bc$>Voiyj*RwEw9EFrL%q3YBf4LWME0qpGR!yWO|ro&zxAY!D;8Wo4Sp{y@`# z;-4EIYd9kv7Kx~l!wsJ$`0{0F`xg$bxNoZG3vS$)2s4~I>DKz~rWvADq-yYM{n7^` zs}hC$a><9WV2==xK{AqvxbK_>Rog1zyjVwu<22YmtYF0;17uat!45*fwaA5Zi&|Fa zTHyLS{MH(7;qStGa-#HVE3%dNm+F7rN0um4_D7$G9ltu=zUq1le?4gECq#^#KlnLa zyf09g{~vQAY>k#}xNm=+gd+86VQ{-%UqVA53SGH9Qs!hw-ZMVt=Z?AC z!4$Yt^lN6$-g}bjE|1h}1P!q^Ars8Q*qlqAuB7c3nJL$Rt{~YJzY$qvF)xbNhAU%3 zx1VycFo#@rLZVGx3RxmLOv_n5Im|_H?!!na{c8Q`m^jrnZi5QTj_I*GTAY1RtUc^YL%|+j1xed4g|&s#S&%Z?(KIF5hXhS1F)P)axVd>Yd>f zr|3qXeWJA;JZHTyIznn=Y2P!8nB|^c70k)y8xXB|gT~Vmr{aouPiBUe!yCw9G@>w( zJX}s_$B<)j70KNj;MofuTC>c~>*wr3UXeT!e`o2{>oZ&HM}^;LLb~rjZ(?acdtZxH zy3>9x4GGHn&DfEAUwz2@IdofQw_t~3Fv}3T*#styXra1Kwlknnrv?JHT;S3U@z!BJ zR+nGFWTh*yf~C<-EI#qKj&hf!*hyW5?M#|P+6xX3gJRF8r-Hr)8ISlVc4zgqUMc@@ z>JL-G*z4^hM=ARtV zYxn@gKL$S2D;0C(s5DHu-stxmN}er{Y*y;7HM9dej7)xrh~faA?m&=yK0|NM%)A_U zNpbeIdeQO&ZRp@Frj;ebH8A_GmLZ<>6m9yT#>XE*(FCa69}CR^HSL-IhDVyjaN4ii za_7=d^GTyTC6-|T{n>?^rO1w}Kik<>aNFWnQ~VOqa@|Irq;xkVJ$cR8b00l0!8#1U z2Etpb1HF3P$Ft@YH2-<)@zPYoj-JKSp$v&?(5tW;lr>Hs_3#)C&E(iG-ApxI=QAI@ z`*@WkH#pE||Bix5>F=BbAJNjM8_O`}PJ+qz^9dspJYNC(R?1Il@8??(h<^FZ*jL}1 ztfj$yJM+<&s$8TY2?VjJ4!po)5Q^LKvedpQhR~tAA@@Y$Z+k5eKXxAFPd>-et1AO? zH|pbUlLpa-2M~G%%QsW>=8KrqbIHp=x8yl){i2!)%y)qWRG$vaq;o#t%r9B#PkX5K z4PG$4mb;U!D3)thv>j%xy5chgC$;OC3Sai|EmmY`^XDa-GB{ zLX_dyy+>%mD8W*nN<%%F+gMbqBX!1jBu~@Sr@!@;-6%}K;_rXP-J`qbB=>N)j-ADu zf`ziZFp!U0Cuvdu#kPA;_VkV z>{7gH!3_7!%qkes%|zsBMtmPIAWhPIq7S1aOSn$^B+20WC2^|GY_pI&lLmEg(@AGc z*xZhz@$|q=r7&X>d86h`VbRH_R-eFRtJ2BBdACN)h)yaEduVvlF?SM1K(?5a43n;- z@rkOKKZ^gmXIu97^c&8(#{+>#2pudBEU4$NeHLh$uvmvuoElnGwQ_)K7q-GEU#l9YiX4&Ix?r zJQz|P#_k3&yonP1A?~gD#$y=n{ImgKrR|00^RSgP1So_Z=j|?Dmy7-UitBDFB*8Z4 z>L<=m;|3QRd}TF2gx#?Wj#MMbfGS~y)#6Sj>>KIA-{0M6rU0V^UgPcN`n z&)^Hd_msd8#L$pg{Jjhs!bg`C)%qIH64}t|7gb6he*6x4BrQPu0eJchRkMRLc$#1o z)&0kb%VNMw5`Yo3YR`Mm)fpr`hf(;vOiJ*W8W4+_Q_to3f$lcBx3h~tQQ(Vc;>Gkv z!PK^^Q;wyFSm8MmQdx?Jp6?}mR`?vCz(Ei~Bl`q6q@A>OFtS#WNkNzef!qM_#p1s_ z`as-$7b=KG8O2jwFy6pPNoayGk^|#L?~hgJFgvAHQ3r4fvemy7FH}6fD?X<-eEjNB ziNKI#0#VJ+nQGWw^!x8Ddoe*>tY|q)0sd}P7+n0MZgC9blkRZs-1(j~`-5E`Bl$~( z3}P0wGdt%~IFt!+kzjO0fp`79B*7&#?vQ>6HW&C`8-(Y1rn|3hAA*$r(;Ol*z*c^L z)i;Hx5fNh^YdFp@fc07CC-*?opEZYY$6LL35w=gLKzNB3fh1fml-&%M&+L%)LY=~pqMzF?CM>JFwrD{!q5co{0}J#4GH;h!g}!3mescy*1P9Z&2U`>&`!Yapbv|$ za_l*-1x04x3A_jo8i_b0V+ef@eYL-_JiOWm!Q2<$n~)GBwvnGe4-^_sKjoWlBhWaQ zKW=&d)}V3~wwe|vq5RO~1}PT4}$da~;B6Mn05C3ZRI=GjKBDX$a@dN4ObW4v_cCzV89U zJ~wjDSAp?Y06FK+a=PTK3b(BhB&<1_kklp-rixps7OZqIE)Kh#a4nk(0LmX2O)iQk z>IXmqwPUgWWx!p_dJu&2veE&Y)EU&s2%w z2afp{6a;6mYh6VVzSmbkR`7*x&E5EC^#5q@%Y(6Q`@V%P&WfCtC?cGQkfrP;`;t9M zDSKJ66S5UqPA%3JJ4r>UY+2jvsVGabC0j_gE}|m6pWl7Y{r>el^UU1u^Ul2Q%=6DR zjcb^5Iey3S{j3LI`9w={^OtQWr#?JVgSb ze}^Xx>nao`9CR!kn4T8@h%Tmv*+6()@Pf@{oK|%FHP}J# zk(N2n#+l*(mlC}VkGyLiKq~Z(DoA5^v;qLK4W`mb>Z*Z4DOxF{m)*z-%{S&(7giH} z8&a9+{cj^^#6-wjUH7KDZ72#pJy7|L*pRTg4kMpV$iU@pTLrZ2C~plufV%@+&|;!j4c40UJ7wsQ$Es1< zo|eA#k?QZ57pZ|P-@}i^`~ zA3p$hZFqjnB>C`*u7X1a*EJoj&;33#qR$g$h=9tp+-~#ygnh->yk65wZqm*;5tVvs zVpVurOS+;3H3N-v<>w7PS#b$??=(_i5b;Ld!SYfb5gdPW8*io~{J`SHcij8;-lOQT zrfNm&vr3a!LMe3>Al8KB$^gaKdSn>sc{fCy+(lQn2UaJ0ZC%z4Q5tG-A6u}bj8(UB zh}MQ5W`L7TM7JNpcT_dmRy|&-Fh8<<)BcTzJ0Lh3^KH47p;6iDeM>=zHPC-`4 zkR^T8OI;cBqa#eL*+UY-GeB29XBDQwj6jIPLX$F&w zl$f0K>?A+dUabfjVJ`~<+cdJfx6lJ`yUpRRFX)|IAXSfw_0_K9NwX>Zt8Ppd@7hvbfeARiRA(p)S>Z4`M?_81byc3S9k}oKl ze>g%?YRb#yD&|7=OeBAnJP}QMVi%*4ioLgIkrKfbeZ7l76OzQ(elvrIp z`78Ygn`u}08D4K}(H7`c^p+RYeAV(dpJCmGoK}&wZBIA!hu`YV6DiGx28BY_nfbiA~)iUsjA9OOc9j8vr{9FGkBtxB@sV@yySnsAv-K(A(7!1N zJLouQa(5?XVq>0hQ;P#KvwR*+HNe1A=j)mN=jmzJ;-Diio22-9I;5qtw_R@yo6igB zv7-HZ;;qdi>wW2xhju$b%1 zIS34ts|-k-mvtJ|Uz4jHt3v=zxxb4^ ze&B^S12a#4i-=ZQGCu!1y%RezhwkrZE#%*6l#u?8K$*u@ulnHM}L zX|~V4?Wwzls(;cK_)&URHQJsML|9GZ{6K$~fl^<)FzpzZb7feMjlXL9f>r-qL)Fg* zGxw;yC9z+26#83?^p?m5dNSw!&^_Bw=;^GatQK3TsLMr)&^&z0kj1T}(V0JEQqy26 zdM5g&qu~kuj_dgR<&>M9OKyI{!*kOcJnJ*r4JDrk`rR%$ZS!8J;+W)2+%d~_dN;hf z4N-e&8^R|WHKr@i~HwxNCL=zHoh7|&m#UEK@1U1#ol$QO+by*pN^bP4e znAWlN(B41%Aa|RIL;>C69%wb$8=AhGH0M)V>GBWm8J$c#LnBePV9v1=-EI5bE7~uE zt!ezm)J5LjvM#yGOjGm~uCd?M zHiJc>Y1#eo#KHX?EiK7!g?}8Kyz|@s_U2$^3TE8K*Yz2BdbYl0gTG#L9i2{SGc*r_ z(nL77YbPA*k{ZsorOR*T%jlR`LiTWe{VAY@0$o z0I2BJUyrSHz(n4+xIexH2*&NXmuJ=TVDL{6^+fwux#y?ZXWx}DjRIw2TD}JmA~ykE z2x&J0gw`aqCw1M@*}Nj!APDO}5<6o=p9F>*D=^;}JkBEhXzBhcS!A=)cg*Ii@O1;@ zo`3`f`3FYzihwz5nG;5foRN_%N7F9*4*+K&_50id%`?#L3GNn1q&Vf}C%|}EMvj(c z2TB|*86!qn$Cn9ccJhWZ_G-3*x4^Nc5j2iL2dcrk!ZuDIdu_(VD=+Dr3Ewhk0YpM%E20tTP&+hu9(zL$ zkh~<{jTw~fi2)VeyNXX5D2XV0g5ebJPwvlk#Oyt#c!h5B^ zR(GGe6})gu*zSx9cUx?GP|>lr_!8Vbj4B!`1%# zQ?Y~2rhF7=3Fs*V;MeQ*UHi(upc~8mCj@oGg~~w<6adi4sb%z6I|xsHXx8j2vZM3Z zehFcZ?M6JQ{u1lvh{!fta&mTgMzZwAUA~?N@!Iz9Rg8Q7#b6=u`IUVku?bh&qsb}0 z>L-FDu53W+CF?v96%sfSF}PSHG}6)bP)`FEa8#~lrDzm;cO&KZ6Wr%bH3e^^KVn-S zSyf0%W?6f&)%gxs*_8K-DQyqugwgor!#wk(f6F$ltlNPU$mem>SGuVGJ&U%v>Yo-R z8#0!#?rqSW;sO*t__p6P(!PsHoBd#njTq-8DlI8=K;`e-%Cx0SHd;2Rw_|Aha9j zx9+Z)mTBvx|755ZZ;kI0KMlj$hc%e=>M>+REV|!B|7PAaZx6AEC&m@iFQxr{>HSDqfxv`BDK(UIgMQ#vkNjCgP=MTzI`y-E;G zEe*6x=@cj|WxPVlgvl}TvHFnscxYUJu>#Y>t2;NJ<7w>4&}d#gRQa>AV<~>8c|Oa! zg1{9`<90#+(}t#Ps(1E^_%PxKtdx=~2F!O`_u;$m{E*r%mi)gCZ+0*Abu@TKuAhVa zcJN0h{glR2!r)yW-1Ktf!}kxCoHU)WeGw%)jJsB0V=raXA2~gA+@!@Ji*jd!S;Vst zykYYFX*Yj!Eioxl#&!dmHv(aaPrzTN<**(r-6+zgpG2CH6^=gBOqINOk}}=A7X+W5 z=7#q#rqp&8zjpiaSFO6HiG_jcEa`^Zj9PGw8`t1kwW4CNjl$W0axPIhX#^4|u@|Zf z6xaqP0=>k!&uDw;^(gZ!7-J%r)NkhS{zLvozv3uy>v zS_T4#md1)x4DzE(6{jw|H_6o`1t%frb;EFnfIqMI09ZJd(={B@wr%taQ}C>Ptn_yH zaUrcG1SZ&rpDt#m480yFSM0)<8?(Zr@q^xeO>}^dJ}p>lV%rU#{T}oK6Z0PXzT99> z)k3-n8A`W^YMqa9lim!G=O=tn!qDcDtC8uHNpF$1!QgxlF z#llI^T#43|Ui?$%O9pzCt=L%~TVXR&2&W(CP~)pp(&ez=^kn=HUEi9uFMUl}-N@1@BbF3#`grE!2ZX(0 zmeirKF5~Ddoj=3f@b@oB4j!5c_fU>CZ2sU?4;Pcmis(YavZ9veA5lyHhIp@9H=1;t z)2vMmN>7egS{N?}QZw{~H(hH8uItVTV*7mi+hv!#LmTIvSu>i-_*3j}srz&MmNA#j zvbDNhU$l$&D>4gYM=e@vUr*o_(kf?vt?`>E8B3vj{uAH78L^H|PP3SIVbo6AaTzHL zXIGiJm`U4hLusaK*yKhyS2kXv;jckx1IU@%bz6*JnnTTtqJU{BApy-rJFB+3p+|U(s5Ss<@0a%D!js5m%M4fRbaoSE7i=df&W0uzy#6J7%H=S ztH2t2|C^yJKIf=+2#JDJ{<-^R5>KK=XK1ReOkg70OZr`;jS>2n3gY*$c<~pW&K+P0 zD#*`YbZy_)EGAG{o%S%^}2I)Hml6j{9%ssdQ;3O5R=euvr}!` zJIB2sksk32F`Z~@Nkj=pGXd|of2 zo=4?(z<~(b_GLvw>v7%oPdavA5~a58*3)!%H&+N=a5&#$UirR&YOyh~YO*s)o$9BV zeVzUP5?quqOv3a<81ABpSM&&03_g8$+Dht*;k zs$r`?AQpVQgIOHFpcdWh-J!umCBH{c(J=g!=*_jo@Sdo$w4&aUY}+wF0VrrATJ`Z8 z1Vs$b82&{xs^L7xl^#mSgJHk#w?~}!f$6O#%t_BdMiMSe@uRF!(2-67(e>szp8swC zn5_QeVtTo1OI3yJFJBt$OG?m$&_WtOC{}Pff0ksk>1MH$}$;$`Pn^vMG*T92|BOsE_?O=toNwJvQra@>1;*0$VIMAx9q zuc5xQF`%CFb-MiSQ|*ASkFl;m#nD)OA>2FZ@~&NsS}Sn*-~-<^^mw!zW>bv5qXh($ z0}!Bb8akBI+eb#{nYgaN?fr@+$gj&(N5Zm*xJae;ol@mgWSqE3R?TKJAv4u!MI~-$+b)n1snkd=y`@tZl0mMz2JiV;sfq3(G+PwS2~! zwmZZfAzrCKmN~~gpL~lZtB-NX=p+^SNuASucPqa1RA@Puz@wD*E1oft$poP@jYQ4mr>SS~d{C}4hic^W1$ zAs3k3j0kP@gbRRZ;Q#$s_$UxFs-k`H*ww+p)s_Jz0e{k1;1@?NVAu^LNBxpmqK8kL}^4F7@E$OTB2w4?B8SXG23+=2RRKDcM^@# zfeX-kfqMJGQYh-8v$(SY)tE(pyvBi=$OS}176cSw5e{0!Z9AqN6ho97%`}^042Z>o z+=t+-a0-Vnl+5WXevneLp=jgl-$4~8t`@01i5=x{)PCcmX1ZGpLJCfYT$`QZ_Z(%? zL7&+8wQE6JXtmWNU}u>Z`gURS z{*?Wp)q4CM)*|Mofab8VKD9d8>0iD@QtXM?;7MqiQ5i_0ZRAd%7kPs21d75)&dv|; z&Vq#sq!B=K8q>aFE5L8CgqeW!z>NEwy3sfz(d7`s2cmj5@nJY>*G?jaO%N1$T zjDOcDx(P_T(|b`Jqaga{jZ$bi2|Wyoh#d@ zr5b_;_Dj>fEz?sdbIoZi_b}&5GYKQ&z{oX5?ooSxJ384`mCG>l?ew0p z>F3y-gj4pXTx@OS|BbWB%#(nyD>FVSHryT>I`dZx1_81a%ZbwR_8nG#ou;Orx?oTL z62>;QHTK{eZYgi+ZH(sL-K4AC;g=oAbIipMZ2hIy-#U2;PHnZ;8$XxnYT@J7PVKg=^#rMQXpxbT_H zTkGQM<@hiAAim+i@)7gxaI3dhezJLR;ieGdbUnK_^!Ih1Gkh_I-R!~5)}seaT~kMgss1i9w281%wD1^5d3yB*MyBO zKciAaQ%^vyndJcEy#BjwJeFUjhZ&;o^7?!I^pG@VKz44##?neIW}#S;HFAYV@qJ31 z*zhXU0J__wtKN#=*glE{NVuJ5>z2JT`O5F^a9j9-V@x}rq|ta;yF!S;^sVuA8N5rG zh|YC)`5YsdI=)u@r(9igQZUX@Sgo0hdar$ml52_95v>N6aETi@PyH`hvp zqoKwiS7q@TSzVj&XoKaB-1t#8$$9~!T}|wgDI^~0)opAka*LAuOmc2-_L`}Za&ML{ z(s{i|z@;LyrI;mC_0syO5oftqry>})UB9$F)3!L5hUeP^a|NX7m?z3Hko$GtF@ObF&lAaVdRDUyf{Almz@&*<6w5`WiK$We#&tyCU>x#zB zLW)pI<55Q~mF;3KxJ#`<<9dUFk}`e#?nFV>E`PTb5DToA8pmpXOt?rQ123lZu_FP( zx#@CI7GuN^^&@B--ODRGFEwsxfMyw&sDAk;Ay@u{8Ay6W*{w&4K4Nn7bz2O%hVPQ8 zyr6A1Xys&YJQOi2!M3=_zb`VmxUMo=F3usq0+;0#>b~l9Y5dt!eT8&^ho#N;{3$Ek zHE2uRDL5LJI>Z(n+3}?op5*WR%{x~y>@AkG2Q)p<_N{uKp(4|e)hjWfEnF;>7inEZ zb$1E>G1GplSx+RBeXgvfHsn;r;xU1SodxdqO`JM1tRo&BqZVr2iK<|$zqJHsLnaQ- zNL}}OZbO6J!nA$JVdYYD$u|y0G4=zA5F)ut1uId5VQ_yl0%hVfJ(19KON!20Qgyy%VwpD`JG~-i_e9h;U)`?U089W6(ql&oTKUE5IBj-1J0j| z5wtVg36fz&0paRW7@2Y!`vmfnDGnsng6cHmv#UCC5``uFW}$0 z`0+pdn@6>Y;wcrs$#(-)Y?^V;&o?*3}k_qTw3kViLpWcL+#ANb(bY z^o^tJ779E(2*c+?1Pc)(0?hd=0~l6{X9j4TKw#qIuddyP4}_RvfmvX><&$|-J#~+0 z{jdOc^#Lk`#t71^Vz7cmjDpyoNB0Hu1Yw0GZfe93g+ClL^kSW0q^`V=1@1Q-RGRYl zQ!36(N`VF!$D=6IQitSPZ>#*LjLJ8F0=ugxa|PoRav>f~nqs)&{O64+#BFGR>Eb7< z7qP7#1C{_IGYk42hPB=4PhgLG*@-8^eK|q(Tp0TdAgPl^`h`hxn`asQX0S^J?4T4N zSV*WRM1p)A6MFq6b*i&-yL-g8DWZKxrb~Z{RSK3r$H>^^aeF8zTOZM|I{Ypn40@iQ z!k|7})iEK;>5(=9j*if6!Z;X+V=1{P$nhuM@t+@~n_t~3UFwE^r1c&actX7qi-Nxy zhMG;%-AJ4jV|vba#XUyvaEpsPZizesQ)wSz5B{G0N#kAz3UJVo_8wY8QJMl?sl1B9 z^mbGzyn|GCH5cCrV<)5zIFRG#a7I3|V;~ela(c4fn@I>V<-tYhtsx4d<$n9qoJ1v- z4Cv7%hXqA?nMGhzRRC`QsBT9ianY^5Uy^Au9+3sLH6Jye;xD;SuN8#eIZY}f_tCpP zP$V^Pp_%$6Xi%6+QZo?v`vV1_iS}Yo3%qD`m)v-lEW%T|FoKhnMf6e}Fs2fM59*w@ zzkFwDrXVvz6)|w$5ah@jp;i|3-BnH}h-!_swE#-ZwLP~HY&?~ZeFu*0ohjmlp#CtXWhvv1 z*I5KPaWM@cN=O?=S6TpBxIItD`{UlaFNnL8F&-BZ=s|{O2qS`qiP`ApP$>Zt>D3x| zh(KZGWB*N8KLdFcr}h|fX~KYQx2u8C-RE<0sMoSot3brbKv&Jgceg+s*jw*I9vjB+ zp<(*2NEXsdlU*cf{hQ9^eLLglr+1%&Zd%oRD>1W2ZN6a<2 zxhEeBe}s;xX=YIvv0vjXa(aun36dyBW^wWpScqPjt0YP&>LQk#rk3zT=fe}q5hmh9 zD^g_)7PY^lbG+5X13Td1HH+isrH|ylP=7M`tLcW--LF_akz%flr~y|UeG({L&auA_ zy~4P|M%4a2<0pLSp8NLynl?Fb^(*G)J71X^f5MXvcTQR8ihl)P-bG)*YE8<0_>%oz zz;n)H);Bu-h(eYl#B$(YLGeVwPXQB#a9}NysC2kAHo0PrSugP8a!E6*d)3XsdEuzz z)IMbCmjh)D@?uC?#iVUNsFs><`s&maM?PEv>_`Vzs)O_Y=w9Ie@Ob#g4=KC!NT%daV>o5-FQ z$Z|gMCmxA7^B$psX>VCpVSddJvl+^5?WEkzqGwsv^YjXZzbCP4+Y#-dIsfqC{r8=u z|M}#^ZbAB^ITQM?d^a5&;^7A;~#$!Sc{H^!AsZFikdx% PpU~)O8EHOLw~hE;9eN(; literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-contact.png b/extensions/caldav/docs/module-federation/images/web-contact.png new file mode 100644 index 0000000000000000000000000000000000000000..5c261535713b33d3ab6e067ce5fbc969484b50e3 GIT binary patch literal 51531 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 literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-preview.png b/extensions/caldav/docs/module-federation/images/web-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..58e35ffe8149f148c8a39ea16024b1d3963ad660 GIT binary patch literal 34118 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 WyjzV~HLOium5$co{h6A_0{#a<@AZ@b literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-setup-mobile.png b/extensions/caldav/docs/module-federation/images/web-setup-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..51c4acda01ec9f5c5e2becafb251e4f202362b6e GIT binary patch literal 52661 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%0Dk$3qcwvppDHDLcS!wq*Ht8OK4);GZ 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 literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-setup.png b/extensions/caldav/docs/module-federation/images/web-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..7758cda959c57f816016df238c22f74120f94921 GIT binary patch literal 108775 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%0AAyP}p-w_Gbt=s>8z9Nz? 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 LOicU9i+BD27(vl; literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-task.png b/extensions/caldav/docs/module-federation/images/web-task.png new file mode 100644 index 0000000000000000000000000000000000000000..dff6f2ad8c1ace33db067b78f980b9f372a7dc5f GIT binary patch literal 45683 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 Date: Wed, 21 Oct 2026 11:11:00 +0800 Subject: [PATCH 5/9] =?UTF-8?q?feat(caldav):=20=E4=BB=8E=E5=85=B1=E4=BA=AB?= =?UTF-8?q?=E8=AF=AD=E4=B9=89=E5=9B=BE=E6=B8=B2=E6=9F=93=E6=97=A5=E5=8E=86?= =?UTF-8?q?=E5=92=8C=E8=81=94=E7=B3=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 兼容旧记录并组合独立内容与原生属性 - 提供电话、媒体和父任务的内容入口 - 以跨分发 fixture 验证附件、时区与例外 --- .changeset/caldav-web.md | 2 +- .../caldav/docs/module-federation/index.md | 7 +- extensions/caldav/src/DAVContent.vue | 22 ++- extensions/caldav/src/content.ts | 6 +- extensions/caldav/src/graph-content.ts | 104 +++++++++++ extensions/caldav/src/index.ts | 18 +- extensions/caldav/src/resolver.ts | 114 +++++++++--- .../caldav/tests/fixtures/semantic-graph.json | 168 ++++++++++++++++++ extensions/caldav/tests/graph-content.test.ts | 74 ++++++++ 9 files changed, 485 insertions(+), 30 deletions(-) create mode 100644 extensions/caldav/src/graph-content.ts create mode 100644 extensions/caldav/tests/fixtures/semantic-graph.json create mode 100644 extensions/caldav/tests/graph-content.test.ts diff --git a/.changeset/caldav-web.md b/.changeset/caldav-web.md index adec277c..b4f5a879 100644 --- a/.changeset/caldav-web.md +++ b/.changeset/caldav-web.md @@ -2,4 +2,4 @@ '@inkcre/ext-caldav': minor --- -新增 CalDAV Web 分发,提供目标 Peer 连接向导,以及日历、任务、联系人和集合的内容预览与阅读。 +新增 CalDAV Web 分发,提供目标 Peer 连接向导,以及日历、任务、联系人和集合的内容预览与阅读;从共享语义图组合 DAV 内容,并可打开独立电话、媒体及关联任务。 diff --git a/extensions/caldav/docs/module-federation/index.md b/extensions/caldav/docs/module-federation/index.md index d1609ef5..960dc4d4 100644 --- a/extensions/caldav/docs/module-federation/index.md +++ b/extensions/caldav/docs/module-federation/index.md @@ -49,9 +49,10 @@ TZID/UTC,未指定时区的时间会明确标注,不按浏览器时区隐 ![主事件与手机离线修改产生的重复例外](images/web-calendar.png) -任务显示完成状态、到期、提醒与关联任务 UID。联系人显示多个电话、邮箱、地址、备注 -和嵌入式照片;外部照片地址需要主动打开,不在阅读时自动访问第三方。原文入口保留 -未单独展示的扩展字段;无法解析的记录会显示错误并仍允许阅读原文。 +任务显示完成状态、到期、提醒与关联任务 UID;解析到同集合的父任务后,可以从「关联内容」直接打开父任务。联系人显示多个电话、邮箱、地址、备注 +和嵌入式照片;外部照片地址需要主动打开,不在阅读时自动访问第三方。「DAV 内容」由当前根和关联内容组合,包含未单独展示的扩展字段;无法解析的记录会显示错误。 + +「关联内容」提供电话、邮箱、备注、媒体和关联任务的入口。点击照片可用通用图片视图打开独立图片 Block;这些内容可以在信息库其他位置引用,修改后会进入下一次手机同步。旧格式记录仍可阅读,运行 Python 0.2.0 后会原地升级并保留对象 ID。 打开集合后,点击成员名称进入对应内容。以下任务集合与父子关系来自 Tasks.org 的真实同步。 diff --git a/extensions/caldav/src/DAVContent.vue b/extensions/caldav/src/DAVContent.vue index c3cdc112..be2a2631 100644 --- a/extensions/caldav/src/DAVContent.vue +++ b/extensions/caldav/src/DAVContent.vue @@ -20,6 +20,12 @@ function label(name: string) { bday: ['Birthday', '生日'], note: ['Notes', '备注'], url: ['Website', '网站'], + photo: ['Photo', '照片'], + logo: ['Logo', '标志'], + sound: ['Audio', '音频'], + attach: ['Attachment', '附件'], + description: ['Description', '正文'], + 'related-to': ['Related item', '关联对象'], } const value = labels[name] return value ? tr(...value) : name @@ -209,8 +215,22 @@ function status(value: string) { +

+

{{ tr('Related content', '关联内容') }}

+
    +
  • + +
  • +
+
+
- {{ tr('Original content', '完整原文') }} + {{ tr('DAV content', 'DAV 内容') }}
{{ solvedContent.text }}
diff --git a/extensions/caldav/src/content.ts b/extensions/caldav/src/content.ts index 4f7d9de2..17338a21 100644 --- a/extensions/caldav/src/content.ts +++ b/extensions/caldav/src/content.ts @@ -38,7 +38,7 @@ export interface ContactField { label: string } -export type DAVContent = +export type DAVContent = ( | { kind: 'calendar'; href: string; text: string; items: CalendarItem[] } | { kind: 'contact' @@ -60,6 +60,7 @@ export type DAVContent = members: { id: number; title: string }[] } | { kind: 'invalid'; text: string } +) & { links?: { id: number; name: string; label: string; value: string }[] } export function safeHttpUrl(value: string): string | null { try { @@ -175,6 +176,9 @@ export function parseResource(raw: string, expected: 'calendar' | 'contact'): DA return { kind: 'calendar', href: resource.href, text, items } } if (component.name !== 'vcard') throw new Error('Expected VCARD.') + for (const property of component.getAllProperties()) { + if (property.name.includes('.')) property.jCal[0] = property.name.split('.').at(-1)! + } const fields = ['tel', 'email', 'adr', 'org', 'title', 'bday', 'note', 'url'] .map((name) => ({ name, diff --git a/extensions/caldav/src/graph-content.ts b/extensions/caldav/src/graph-content.ts new file mode 100644 index 00000000..aa04ec03 --- /dev/null +++ b/extensions/caldav/src/graph-content.ts @@ -0,0 +1,104 @@ +import ICAL from 'ical.js' +import { z } from 'zod' + +export const propertyPrefix = 'caldav:property:' +export const graphContentSchema = z.object({ href: z.string(), remainder: z.string() }).strict() +export const propertyLinkSchema = z + .object({ + component: z.tuple([z.string(), z.string(), z.string()]).nullable(), + alarm: z.number().int().nonnegative().nullable(), + name: z.string(), + params: z.record(z.string(), z.array(z.string())), + group: z.string().nullable(), + position: z.number().int().nonnegative(), + representation: z.enum(['text', 'uri', 'binary', 'data-uri', 'reference']), + media_type: z.string().nullable(), + }) + .strict() +export type PropertyLink = z.infer +export interface GraphProperty { + id: number + link: PropertyLink + value: string | Uint8Array +} + +export function resourceUid(text: string): string { + const root = new ICAL.Component(ICAL.parse(text)) + if (root.name === 'vcard') return String(root.getFirstPropertyValue('uid') ?? '') + const uids = new Set( + root + .getAllSubcomponents() + .filter((component) => ['vevent', 'vtodo', 'vjournal'].includes(component.name)) + .map((component) => String(component.getFirstPropertyValue('uid') ?? '')) + ) + if (uids.size !== 1) throw new Error('DAV calendar must have exactly one UID.') + return [...uids][0]! +} + +function targetComponent(root: ICAL.Component, link: PropertyLink): ICAL.Component { + if (link.component === null && root.name === 'vcard') return root + if (link.component === null) throw new Error('Missing DAV component selector.') + const [name, uid, recurrence] = link.component + const recurrenceKey = recurrence ? ICAL.Property.fromString(recurrence).toICALString() : '' + const targets = root + .getAllSubcomponents() + .filter( + (component) => + component.name === name.toLowerCase() && + component.getFirstPropertyValue('uid') === uid && + (component.getFirstProperty('recurrence-id')?.toICALString() ?? '') === recurrenceKey + ) + if (targets.length !== 1) + throw new Error('DAV property refers to a missing or ambiguous component.') + if (link.alarm === null) return targets[0]! + const alarm = targets[0]!.getAllSubcomponents('valarm')[link.alarm] + if (!alarm) throw new Error('DAV property refers to a missing alarm.') + return alarm +} + +function base64(bytes: Uint8Array): string { + let value = '' + for (const byte of bytes) value += String.fromCharCode(byte) + return btoa(value) +} + +export function composeGraph(remainder: string, properties: GraphProperty[]): string { + const root = new ICAL.Component(ICAL.parse(remainder)) + const targets = properties.map((field) => targetComponent(root, field.link)) + for (let index = 0; index < properties.length; index++) { + if (targets[index]!.hasProperty(properties[index]!.link.name.toLowerCase())) { + throw new Error('DAV property has both native and graph authority.') + } + } + const seen = new Set() + for (const field of [...properties].sort((a, b) => a.link.position - b.link.position)) { + const { link } = field + const key = JSON.stringify([link.component, link.alarm, link.name, link.position]) + if (seen.has(key)) throw new Error('Duplicate DAV property position.') + seen.add(key) + const target = targetComponent(root, link) + const property = new ICAL.Property(link.name.toLowerCase(), target) + target.addProperty(property) + for (const [name, values] of Object.entries(link.params)) { + if (name === 'VALUE') continue + property.setParameter(name.toLowerCase(), values.length === 1 ? values[0]! : values) + } + const valueType = link.params.VALUE?.[0] + if (valueType) property.resetType(valueType.toLowerCase()) + let value: string + if (link.representation === 'binary' || link.representation === 'data-uri') { + if (!(field.value instanceof Uint8Array)) throw new Error('DAV media requires bytes.') + value = base64(field.value) + if (link.representation === 'data-uri') { + value = `data:${link.media_type || 'application/octet-stream'};base64,${value}` + } + } else { + if (typeof field.value !== 'string') throw new Error('DAV text requires a string.') + value = field.value + } + property.setValue(value) + // vCard groups qualify wire names; the renderer reads the unqualified semantic property. + if (link.group) property.jCal[0] = `${link.group.toLowerCase()}.${link.name.toLowerCase()}` + } + return root.toString() +} diff --git a/extensions/caldav/src/index.ts b/extensions/caldav/src/index.ts index 69af3202..80e8c762 100644 --- a/extensions/caldav/src/index.ts +++ b/extensions/caldav/src/index.ts @@ -1,8 +1,22 @@ import { Resolver, type ExtensionModule } from '@inkcre/core' import CalDAVSetup from './CalDAVSetup.vue' -import { CalendarResolver, CollectionResolver, ContactResolver } from './resolver' +import { + CalendarResolver, + CollectionResolver, + ContactResolver, + LegacyCalendarResolver, + LegacyCollectionResolver, + LegacyContactResolver, +} from './resolver' -const resolvers = [CalendarResolver, CollectionResolver, ContactResolver] +const resolvers = [ + CalendarResolver, + CollectionResolver, + ContactResolver, + LegacyCalendarResolver, + LegacyCollectionResolver, + LegacyContactResolver, +] const extension: ExtensionModule = { setup: { component: CalDAVSetup }, async initialize() { diff --git a/extensions/caldav/src/resolver.ts b/extensions/caldav/src/resolver.ts index 93ac4fcb..a13c928e 100644 --- a/extensions/caldav/src/resolver.ts +++ b/extensions/caldav/src/resolver.ts @@ -1,11 +1,19 @@ import { markRaw } from 'vue' -import { Block, Resolver, type ProjectionOptions } from '@inkcre/core' +import { Block, Resolver, Storage, type ProjectionOptions } from '@inkcre/core' import { contentTitle, parseCollection, parseResource, type DAVContent } from './content' +import { + composeGraph, + graphContentSchema, + propertyLinkSchema, + propertyPrefix, + resourceUid, + type GraphProperty, +} from './graph-content' import DAVContentView from './DAVContent.vue' import DAVPreview from './DAVPreview.vue' -export class CalendarResolver extends Resolver { - static readonly type = 'extensions.caldav.calendar.v1' +export class LegacyCalendarResolver extends Resolver { + static readonly type: string = 'extensions.caldav.calendar.v1' static readonly previewRenderer = markRaw(DAVPreview) static readonly solvedContentRenderer = markRaw(DAVContentView) @@ -19,23 +27,81 @@ export class CalendarResolver extends Resolver { } } -export class ContactResolver extends Resolver { - static readonly type = 'extensions.caldav.contact.v1' - static readonly previewRenderer = markRaw(DAVPreview) - static readonly solvedContentRenderer = markRaw(DAVContentView) - +export class LegacyContactResolver extends LegacyCalendarResolver { + static readonly type: string = 'extensions.caldav.contact.v1' protected async _getSolvedContent(options: ProjectionOptions): Promise { return parseResource(await this.getRawContent(options), 'contact') } +} - async getText(options: ProjectionOptions = {}): Promise { - const content = await this.getSolvedContent(options) - return content.kind === 'invalid' ? null : content.text +async function solveGraph( + resolver: Resolver, + kind: 'calendar' | 'contact', + options: ProjectionOptions +): Promise { + const canonical = graphContentSchema.parse(JSON.parse(await resolver.getRawContent(options))) + const relations = ( + await resolver.getRelations({ includeIn: false, refresh: options.refresh }) + ).filter((relation) => relation.content.startsWith(propertyPrefix)) + const blocks = new Map( + (await Block.getMany(relations.map((relation) => relation.to_))).map((block) => [ + block.id, + block, + ]) + ) + const properties: GraphProperty[] = [] + for (const relation of relations) { + const block = blocks.get(relation.to_) + if (!block) throw new Error('DAV property target is missing.') + const link = propertyLinkSchema.parse(JSON.parse(relation.content.slice(propertyPrefix.length))) + let value: string | Uint8Array + if (/^extensions\.caldav\.(calendar|contact)\.v[12]$/.test(block.resolver)) { + const root = JSON.parse(block.content) + value = resourceUid( + block.resolver.endsWith('.v1') ? root.text : graphContentSchema.parse(root).remainder + ) + } else { + if (block.storage === null && block.resolver !== 'core.text.v1') { + throw new Error('DAV inline property requires a text Block.') + } + if ( + block.storage !== null && + (await Storage.get(block.storage)).type !== 'postgresql_binary' + ) { + throw new Error('DAV embedded property requires database-owned bytes.') + } + value = await block.getHydratedContent(options) + } + properties.push({ id: block.id, link, value }) } + const text = composeGraph(canonical.remainder, properties) + const content = parseResource(JSON.stringify({ href: canonical.href, text }), kind) + if (content.kind === 'invalid') throw new Error('The DAV graph cannot be rendered.') + content.links = properties.map(({ id, link, value }) => ({ + id, + name: link.name.toLowerCase(), + label: link.params.TYPE?.join(' · ') ?? '', + value: typeof value === 'string' ? value : '', + })) + return content } -export class CollectionResolver extends Resolver { - static readonly type = 'extensions.caldav.collection.v1' +export class CalendarResolver extends LegacyCalendarResolver { + static readonly type = 'extensions.caldav.calendar.v2' + protected async _getSolvedContent(options: ProjectionOptions): Promise { + return solveGraph(this, 'calendar', options) + } +} + +export class ContactResolver extends LegacyContactResolver { + static readonly type = 'extensions.caldav.contact.v2' + protected async _getSolvedContent(options: ProjectionOptions): Promise { + return solveGraph(this, 'contact', options) + } +} + +export class LegacyCollectionResolver extends Resolver { + static readonly type: string = 'extensions.caldav.collection.v1' static readonly previewRenderer = markRaw(DAVPreview) static readonly solvedContentRenderer = markRaw(DAVContentView) @@ -46,15 +112,15 @@ export class CollectionResolver extends Resolver { const blocks = await Block.getMany( relations.filter((relation) => relation.content === 'member').map((relation) => relation.to_) ) - content.members = blocks.map((block) => ({ - id: block.id, - title: contentTitle( - parseResource( - block.content, - block.resolver === ContactResolver.type ? 'contact' : 'calendar' - ) - ), - })) + content.members = blocks.map((block) => { + const raw = JSON.parse(block.content) + const kind = block.resolver.includes('.contact.') ? 'contact' : 'calendar' + const title = parseResource( + JSON.stringify({ href: raw.href, text: raw.remainder ?? raw.text }), + kind + ) + return { id: block.id, title: contentTitle(title) } + }) return content } @@ -63,3 +129,7 @@ export class CollectionResolver extends Resolver { return content.kind === 'collection' ? content.title : null } } + +export class CollectionResolver extends LegacyCollectionResolver { + static readonly type = 'extensions.caldav.collection.v2' +} diff --git a/extensions/caldav/tests/fixtures/semantic-graph.json b/extensions/caldav/tests/fixtures/semantic-graph.json new file mode 100644 index 00000000..1d73b747 --- /dev/null +++ b/extensions/caldav/tests/fixtures/semantic-graph.json @@ -0,0 +1,168 @@ +[ + { + "kind": "contact", + "remainder": "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:+//IDN bitfire.at//DAVx5/4.5.14-ose ez-vcard/0.12.2 (ez-vcard/0.12.2\r\n )\r\nUID:inkcre-preview146-contact\r\nFN:InKCre Preview Photo Contact\r\nN:;InKCre Preview Photo Contact;;;\r\nREV:2026-10-20T13:14:58Z\r\nEND:VCARD\r\n", + "text": "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:+//IDN bitfire.at//DAVx5/4.5.14-ose ez-vcard/0.12.2 (ez-vcard/0.12.2\r\n )\r\nUID:inkcre-preview146-contact\r\nEMAIL:preview146@example.invalid\r\nFN:InKCre Preview Photo Contact\r\nN:;InKCre Preview Photo Contact;;;\r\nNOTE:PR 146 HTTPS acceptance test\r\nPHOTO;ENCODING=b;TYPE=jpeg:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAACAAMDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgf/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCcgKKCP//Z\r\nREV:2026-10-20T13:14:58Z\r\nTEL;TYPE=cell:+8613800000000\r\nTEL;TYPE=work:+8613900000000\r\nEND:VCARD\r\n", + "properties": [ + { + "id": 1, + "link": { + "component": null, + "alarm": null, + "name": "EMAIL", + "params": {}, + "group": null, + "position": 0, + "representation": "text", + "media_type": null + }, + "value": "preview146@example.invalid", + "binary": false + }, + { + "id": 2, + "link": { + "component": null, + "alarm": null, + "name": "NOTE", + "params": {}, + "group": null, + "position": 0, + "representation": "text", + "media_type": null + }, + "value": "PR 146 HTTPS acceptance test", + "binary": false + }, + { + "id": 3, + "link": { + "component": null, + "alarm": null, + "name": "PHOTO", + "params": { + "ENCODING": ["b"], + "TYPE": ["jpeg"] + }, + "group": null, + "position": 0, + "representation": "binary", + "media_type": "image/jpeg" + }, + "value": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAACAAMDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgf/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCcgKKCP//Z", + "binary": true + }, + { + "id": 4, + "link": { + "component": null, + "alarm": null, + "name": "TEL", + "params": { + "TYPE": ["cell"] + }, + "group": null, + "position": 0, + "representation": "text", + "media_type": null + }, + "value": "+8613800000000", + "binary": false + }, + { + "id": 5, + "link": { + "component": null, + "alarm": null, + "name": "TEL", + "params": { + "TYPE": ["work"] + }, + "group": null, + "position": 1, + "representation": "text", + "media_type": null + }, + "value": "+8613900000000", + "binary": false + } + ] + }, + { + "kind": "calendar", + "remainder": "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//InKCre//graph fixture//EN\r\nBEGIN:VTIMEZONE\r\nTZID:Asia/Shanghai\r\nBEGIN:STANDARD\r\nDTSTART:20000101T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=1\r\nTZNAME:CST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nEND:STANDARD\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:shared-event\r\nDTSTART;TZID=Asia/Shanghai:20261020T090000\r\nDTSTAMP:20261021T025758Z\r\nRRULE:FREQ=DAILY;COUNT=3\r\nSUMMARY:共享日程\r\nBEGIN:VALARM\r\nACTION:AUDIO\r\nTRIGGER:-PT15M\r\nEND:VALARM\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nUID:shared-event\r\nRECURRENCE-ID;TZID=Asia/Shanghai:20261021T090000\r\nDTSTART;TZID=Asia/Shanghai:20261021T100000\r\nDTSTAMP:20261021T025758Z\r\nSUMMARY:单次例外\r\nX-UNKNOWN;X-KEEP=yes:保留\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n", + "text": "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//InKCre//graph fixture//EN\r\nBEGIN:VTIMEZONE\r\nTZID:Asia/Shanghai\r\nBEGIN:STANDARD\r\nDTSTART:20000101T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=1\r\nTZNAME:CST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nEND:STANDARD\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:shared-event\r\nDTSTART;TZID=Asia/Shanghai:20261020T090000\r\nATTACH;FMTTYPE=application/pdf:https://example.invalid/plan.pdf\r\nDESCRIPTION:共同正文\r\nDTSTAMP:20261021T025758Z\r\nRRULE:FREQ=DAILY;COUNT=3\r\nSUMMARY:共享日程\r\nBEGIN:VALARM\r\nACTION:AUDIO\r\nATTACH;ENCODING=BASE64;FMTTYPE=audio/wav;VALUE=BINARY:aGVsbG8=\r\nTRIGGER:-PT15M\r\nEND:VALARM\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nUID:shared-event\r\nRECURRENCE-ID;TZID=Asia/Shanghai:20261021T090000\r\nDTSTART;TZID=Asia/Shanghai:20261021T100000\r\nDESCRIPTION:例外正文\r\nDTSTAMP:20261021T025758Z\r\nSUMMARY:单次例外\r\nX-UNKNOWN;X-KEEP=yes:保留\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n", + "properties": [ + { + "id": 1, + "link": { + "component": ["VEVENT", "shared-event", ""], + "alarm": null, + "name": "DESCRIPTION", + "params": {}, + "group": null, + "position": 0, + "representation": "text", + "media_type": null + }, + "value": "共同正文", + "binary": false + }, + { + "id": 2, + "link": { + "component": ["VEVENT", "shared-event", ""], + "alarm": null, + "name": "ATTACH", + "params": { + "FMTTYPE": ["application/pdf"] + }, + "group": null, + "position": 0, + "representation": "uri", + "media_type": "application/pdf" + }, + "value": "https://example.invalid/plan.pdf", + "binary": false + }, + { + "id": 3, + "link": { + "component": ["VEVENT", "shared-event", ""], + "alarm": 0, + "name": "ATTACH", + "params": { + "VALUE": ["BINARY"], + "ENCODING": ["BASE64"], + "FMTTYPE": ["audio/wav"] + }, + "group": null, + "position": 0, + "representation": "binary", + "media_type": "audio/wav" + }, + "value": "aGVsbG8=", + "binary": true + }, + { + "id": 4, + "link": { + "component": [ + "VEVENT", + "shared-event", + "RECURRENCE-ID;TZID=Asia/Shanghai:20261021T090000" + ], + "alarm": null, + "name": "DESCRIPTION", + "params": {}, + "group": null, + "position": 0, + "representation": "text", + "media_type": null + }, + "value": "例外正文", + "binary": false + } + ] + } +] diff --git a/extensions/caldav/tests/graph-content.test.ts b/extensions/caldav/tests/graph-content.test.ts new file mode 100644 index 00000000..1133f801 --- /dev/null +++ b/extensions/caldav/tests/graph-content.test.ts @@ -0,0 +1,74 @@ +import { readFileSync } from 'node:fs' +import assert from 'node:assert/strict' +import { test } from 'node:test' +import ICAL from 'ical.js' +import { + composeGraph, + propertyLinkSchema, + resourceUid, + type GraphProperty, +} from '../src/graph-content.ts' +import { parseResource } from '../src/content.ts' + +const samples = JSON.parse( + readFileSync(new URL('./fixtures/semantic-graph.json', import.meta.url), 'utf8') +) +function properties(sample: (typeof samples)[number]): GraphProperty[] { + return sample.properties.map((field: any) => ({ + id: field.id, + link: propertyLinkSchema.parse(field.link), + value: field.binary ? new Uint8Array(Buffer.from(field.value, 'base64')) : field.value, + })) +} + +test('Python-authored contact graph composes the same phones, photo and unknown properties', () => { + const sample = samples.find((item: any) => item.kind === 'contact') + const text = composeGraph(sample.remainder, properties(sample)) + const actual = parseResource(JSON.stringify({ href: 'contact.vcf', text }), 'contact') + const expected = parseResource( + JSON.stringify({ href: 'contact.vcf', text: sample.text }), + 'contact' + ) + assert.notEqual(actual.kind, 'invalid') + if (actual.kind !== 'contact' || expected.kind !== 'contact') return + assert.equal(actual.title, expected.title) + assert.deepEqual(actual.fields, expected.fields) + assert.equal(actual.photo, expected.photo) + assert.equal(resourceUid(text), resourceUid(sample.text)) + const changed = properties(sample) + changed.find((field) => field.link.name === 'TEL')!.value = '+8613800000001' + assert.match(composeGraph(sample.remainder, changed), /\+8613800000001/) +}) + +test('component identity retains TZID exceptions and audio-alarm attachments', () => { + const sample = samples.find((item: any) => item.kind === 'calendar') + const text = composeGraph(sample.remainder, properties(sample)) + const actual = parseResource(JSON.stringify({ href: 'event.ics', text }), 'calendar') + const expected = parseResource( + JSON.stringify({ href: 'event.ics', text: sample.text }), + 'calendar' + ) + assert.notEqual(actual.kind, 'invalid') + if (actual.kind !== 'calendar' || expected.kind !== 'calendar') return + assert.deepEqual(actual.items, expected.items) + const root = new ICAL.Component(ICAL.parse(text)) + const attachment = root + .getFirstSubcomponent('vevent')! + .getFirstSubcomponent('valarm')! + .getFirstProperty('attach')! + .getFirstValue() + assert.ok(attachment instanceof ICAL.Binary) + assert.equal(attachment.decodeValue(), 'hello') + assert.match(text, /X-UNKNOWN;X-KEEP=yes:保留/) +}) + +test('duplicate authority and missing components fail instead of showing stale native values', () => { + const sample = samples.find((item: any) => item.kind === 'contact') + assert.throws( + () => composeGraph(sample.text, properties(sample)), + /both native and graph authority/ + ) + const props = properties(sample) + props[0]!.link.component = ['VEVENT', 'missing', ''] + assert.throws(() => composeGraph(sample.remainder, props), /missing or ambiguous/) +}) From 0f30a6ebadc962e489b9b734304d40119dca0ce6 Mon Sep 17 00:00:00 2001 From: Lan_zhijiang Date: Wed, 21 Oct 2026 11:42:38 +0800 Subject: [PATCH 6/9] =?UTF-8?q?docs(caldav):=20=E8=A1=A5=E5=85=85=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=E5=86=85=E5=AE=B9=E8=B7=B3=E8=BD=AC=E4=B8=8E=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E4=BF=9D=E7=95=99=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../images/web-retained-task.png | Bin 0 -> 55259 bytes .../module-federation/images/web-setup.png | Bin 108775 -> 115453 bytes .../images/web-shared-contact-mobile.png | Bin 0 -> 42241 bytes .../images/web-shared-contact.png | Bin 0 -> 60349 bytes .../images/web-shared-image.png | Bin 0 -> 13564 bytes .../images/web-shared-phone.png | Bin 0 -> 27364 bytes .../images/web-shared-task.png | Bin 0 -> 55109 bytes .../caldav/docs/module-federation/index.md | 20 ++++++++++++++++++ 8 files changed, 20 insertions(+) create mode 100644 extensions/caldav/docs/module-federation/images/web-retained-task.png create mode 100644 extensions/caldav/docs/module-federation/images/web-shared-contact-mobile.png create mode 100644 extensions/caldav/docs/module-federation/images/web-shared-contact.png create mode 100644 extensions/caldav/docs/module-federation/images/web-shared-image.png create mode 100644 extensions/caldav/docs/module-federation/images/web-shared-phone.png create mode 100644 extensions/caldav/docs/module-federation/images/web-shared-task.png diff --git a/extensions/caldav/docs/module-federation/images/web-retained-task.png b/extensions/caldav/docs/module-federation/images/web-retained-task.png new file mode 100644 index 0000000000000000000000000000000000000000..5775799eb6bffefe54fab6e1b34e1979d0580581 GIT binary patch literal 55259 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 G&-@!Kj~XZd literal 0 HcmV?d00001 diff --git a/extensions/caldav/docs/module-federation/images/web-setup.png b/extensions/caldav/docs/module-federation/images/web-setup.png index 7758cda959c57f816016df238c22f74120f94921..521d98a951394a524d373b2fa7a8501ccef343f5 100644 GIT binary patch literal 115453 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