capacitor-mobile-claw 1.6.4 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  **On-device AI agent engine for mobile apps** — run Claude directly on your phone with file tools, code execution, git, and extensible MCP tool support.
8
8
 
9
- Mobile Claw is a [Capacitor](https://capacitorjs.com/) plugin that embeds a full AI agent runtime on Android and iOS. Two execution modes: a **WebView agent** for instant cold start (agent loop runs in-process) or a **Node.js worker** for full sandboxed tooling. Both talk directly to the Anthropic API — no cloud relay, no proxy. Includes native Kotlin + Swift plugins for streaming HTTP (CORS bypass), background heartbeat scheduling, cron jobs, and on-device vector memory.
9
+ Mobile Claw is a [Capacitor](https://capacitorjs.com/) plugin that embeds a full AI agent runtime on Android and iOS. The agent loop runs directly in the WebView for instant cold start, with LLM API calls routed through native HTTP (OkHttp / URLSession) to bypass CORS full SSE streaming, no cloud relay, no proxy. Includes **on-device vector memory** via [LanceDB](https://www.npmjs.com/package/capacitor-lancedb), **background scheduling** via [MobileCron](https://www.npmjs.com/package/capacitor-mobilecron) (WorkManager / BGTaskScheduler), and cron jobs with reusable skills.
10
10
 
11
11
  > Built on [OpenClaw](https://github.com/openclaw/openclaw) and the [Pi framework](https://www.npmjs.com/package/@mariozechner/pi-ai) by [Mario Zechner](https://github.com/badlogic). Pi's philosophy of *"what you leave out matters more than what you put in"* — just 4 core tools and a system prompt under 1,000 tokens — is what makes running a capable AI agent on a phone possible at all.
12
12
 
@@ -96,63 +96,32 @@ Once the app launches, enter your Anthropic API key in settings and start chatti
96
96
 
97
97
  ## How It Works
98
98
 
99
- Mobile Claw supports two agent execution modes:
100
-
101
- ### WebView Agent (recommended)
102
-
103
- The agent loop runs directly in the WebView for instant cold start. LLM API calls go through a native HTTP plugin (OkHttp on Android, URLSession on iOS) that bypasses WebView CORS restrictions and provides true streaming via `ReadableStream`. Worker tools are transparently proxied via the bridge.
104
-
105
- ```
106
- ┌──────────────────────────────────────────────────────────┐
107
- │ Your App (Vue, React, Svelte, vanilla JS) │
108
- │ ┌────────────────────────────────────────────────────┐ │
109
- │ │ MobileClawEngine (useWebViewAgent: true) │ │
110
- │ │ ┌──────────────┐ ┌───────────────────────────┐ │ │
111
- │ │ │ Pi Agent │ │ HttpStreamPlugin (native) │ │ │
112
- │ │ │ (in WebView) │ │ - OkHttp (Android) │ │ │
113
- │ │ │ │──│ - URLSession (iOS) │ │ │
114
- │ │ │ │ │ - CORS bypass │ │ │
115
- │ │ │ │ │ - ReadableStream assembly │ │ │
116
- │ │ └──────┬───────┘ └───────────────────────────┘ │ │
117
- │ │ │ ToolProxy (bridge IPC) │ │
118
- │ │ ┌──────▼───────────────────────────────────────┐ │ │
119
- │ │ │ Node.js Worker (file tools, git, code exec) │ │ │
120
- │ │ └──────────────────────────────────────────────┘ │ │
121
- │ └────────────────────────────────────────────────────┘ │
122
- └──────────────────────────────────────────────────────────┘
123
- ```
124
-
125
- ### Worker Agent (legacy)
126
-
127
- The full agent loop runs inside the embedded Node.js worker. Higher cold start latency but full isolation.
99
+ The agent loop runs directly in the WebView for instant cold start. LLM API calls are routed through native HTTP (OkHttp / URLSession) to bypass WebView CORS, with full SSE streaming. File tools, git, and code execution run on-device via the Capacitor bridge.
128
100
 
129
101
  ```
130
- ┌──────────────────────────────────────────────────────────┐
131
- │ Your App
132
- ┌────────────────────────────────────────────────────┐
133
- │ │ MobileClawEngine │ │
134
- └──────────────────┬─────────────────────────────────┘
135
- Bridge Protocol (IPC)
136
- ┌──────────────────▼─────────────────────────────────┐
137
- │ │ Node.js Worker (Capacitor-NodeJS) │ │
138
- │ │ ┌──────────────┐ ┌──────────────────────┐ │ │
139
- │ │ │ Pi Agent │ MCP Server │ │ │
140
- │ │ │ (pi-ai) │ - Bridge transport
141
- │ │ │ - STOMP transport │ │ │
142
- │ │ - Custom tools (BYO) │ │ │
143
- │ │ └──────┬───────┘ └──────────────────────┘ │ │
144
- │ │ ▼ Anthropic Messages API │ │
145
- │ └─────────────────────────────────────────────────────┘ │
146
- └──────────────────────────────────────────────────────────┘
102
+ ┌──────────────────────────────────────────────────────┐
103
+ │ Your App (Vue, React, Svelte, vanilla JS)
104
+ ┌────────────────────────────────────────────────┐
105
+ │ │ MobileClawEngine │ │
106
+ ┌──────────────┐
107
+ Pi Agent │── Anthropic API (native HTTP)│
108
+ (in WebView) │ │ │
109
+ │ │ └──────┬───────┘ │ │
110
+ │ │ Capacitor Bridge │
111
+ │ │ ┌──────▼──────────────────────────────────┐ │ │
112
+ │ │ │ File tools · Git · Code exec · SQLite │ │ │
113
+ │ │ └─────────────────────────────────────────┘ │ │
114
+ └────────────────────────────────────────────────┘
115
+ └──────────────────────────────────────────────────────┘
147
116
  ```
148
117
 
149
118
  ## Install in Your Own App
150
119
 
151
120
  ```bash
152
- npm install capacitor-mobile-claw @capacitor/core @capacitor/device @choreruiz/capacitor-node-js @capacitor-community/sqlite
121
+ npm install capacitor-mobile-claw @capacitor/core @capacitor/device @capacitor-community/sqlite
153
122
  ```
154
123
 
155
- If using Vite, add the bundler plugin to `vite.config.js` (stubs Node.js-only transitive deps):
124
+ If using Vite, add the bundler plugin to `vite.config.js`:
156
125
 
157
126
  ```javascript
158
127
  import { mobileClawVitePlugin } from 'capacitor-mobile-claw/vite-plugin'
@@ -162,31 +131,6 @@ export default defineConfig({
162
131
  })
163
132
  ```
164
133
 
165
- Then add these scripts to your `package.json`:
166
-
167
- ```json
168
- {
169
- "scripts": {
170
- "setup:worker": "rm -rf public/nodejs-project && mkdir -p public && cp -R node_modules/capacitor-mobile-claw/nodejs-assets/nodejs-project public/nodejs-project && cd public/nodejs-project && npm install --production",
171
- "postinstall": "npm run setup:worker",
172
- "cap:sync": "cap sync && cp -R node_modules/@choreruiz/capacitor-node-js/ios/assets/builtin_modules ios/App/App/public/builtin_modules 2>/dev/null; true",
173
- "cap:build": "npm run setup:worker && vite build && npm run cap:sync"
174
- }
175
- }
176
- ```
177
-
178
- And add to your `capacitor.config.ts`:
179
-
180
- ```typescript
181
- plugins: {
182
- CapacitorNodeJS: {
183
- nodeDir: 'nodejs-project',
184
- },
185
- }
186
- ```
187
-
188
- Add `public/nodejs-project` to your `.gitignore` — it's generated from the npm package.
189
-
190
134
  ### Basic Usage
191
135
 
192
136
  ```typescript
@@ -194,8 +138,7 @@ import { MobileClawEngine } from 'capacitor-mobile-claw'
194
138
 
195
139
  const engine = new MobileClawEngine()
196
140
 
197
- // WebView agent — instant cold start, streaming via native HTTP
198
- await engine.init({ useWebViewAgent: true })
141
+ await engine.init()
199
142
 
200
143
  // Listen for streaming text
201
144
  engine.addListener('agentEvent', (event) => {
@@ -227,15 +170,37 @@ const engine = new MobileClawEngine()
227
170
 
228
171
  await engine.init({
229
172
  tools: myTools,
230
- useWebViewAgent: true,
231
173
  })
232
174
  ```
233
175
 
234
- ### With Heartbeat Scheduling
176
+ ### With On-Device Memory
177
+
178
+ The agent remembers across sessions using [capacitor-lancedb](https://www.npmjs.com/package/capacitor-lancedb) — a Rust-powered vector database running entirely on-device. Memories are stored, deduplicated, and recalled via semantic search. Five built-in tools (`memory_store`, `memory_recall`, `memory_search`, `memory_forget`, `memory_get`) are passed to the agent automatically.
179
+
180
+ ```typescript
181
+ import { MemoryManager } from 'capacitor-lancedb'
182
+
183
+ const memory = new MemoryManager({ dbPath: 'files://agent-memory' })
184
+ await memory.init()
185
+
186
+ const engine = new MobileClawEngine()
187
+ const memoryTools = memory.getTools()
188
+ await engine.init({ tools: memoryTools })
189
+
190
+ // Agent can now store/recall memories across sessions.
191
+ // Auto-recall injects relevant context at turn start.
192
+ // Auto-capture extracts facts from agent responses.
193
+ ```
194
+
195
+ ### With Background Scheduling
196
+
197
+ [capacitor-mobilecron](https://www.npmjs.com/package/capacitor-mobilecron) enables the agent to wake and run in the background via Android WorkManager and iOS BGTaskScheduler. The engine's scheduler manages heartbeats (periodic check-ins) and cron jobs (recurring tasks).
235
198
 
236
199
  ```typescript
200
+ import { MobileCron } from 'capacitor-mobilecron'
201
+
237
202
  const engine = new MobileClawEngine()
238
- await engine.init({ useWebViewAgent: true, mobileCron: MobileCron })
203
+ await engine.init({ mobileCron: MobileCron })
239
204
 
240
205
  // Enable scheduler + heartbeat (runs every 30 minutes)
241
206
  await engine.setSchedulerConfig({ enabled: true, schedulingMode: 'balanced' })
@@ -245,9 +210,6 @@ await engine.setHeartbeat({ enabled: true, everyMs: 1800000 })
245
210
  engine.addListener('heartbeatCompleted', (event) => {
246
211
  console.log(`Heartbeat: ${event.status} (${event.durationMs}ms)`)
247
212
  })
248
-
249
- // Manual trigger
250
- await engine.triggerHeartbeatWake('manual')
251
213
  ```
252
214
 
253
215
  ### With Cron Jobs
@@ -260,7 +222,7 @@ const skill = await engine.addSkill({
260
222
  timeoutMs: 60000,
261
223
  })
262
224
 
263
- // Schedule a cron job
225
+ // Schedule a recurring cron job
264
226
  await engine.addCronJob({
265
227
  name: 'morning-briefing',
266
228
  enabled: true,
@@ -274,8 +236,10 @@ await engine.addCronJob({
274
236
 
275
237
  ## Features
276
238
 
277
- - **Two agent modes** — WebView (instant cold start) or Node.js worker (full isolation)
278
- - **Native streaming HTTP** — OkHttp (Android) + URLSession (iOS) bypass CORS, stream SSE chunks as `ReadableStream`
239
+ - **Instant cold start** — agent loop runs directly in the WebView, no boot delay
240
+ - **On-device vector memory** — store, recall, and search memories via [LanceDB](https://www.npmjs.com/package/capacitor-lancedb) with auto-recall context injection and deduplication
241
+ - **Background scheduling** — heartbeat check-ins and cron jobs via [MobileCron](https://www.npmjs.com/package/capacitor-mobilecron) (Android WorkManager / iOS BGTaskScheduler)
242
+ - **Cron jobs & skills** — recurring agent tasks with reusable skill definitions, run history, and delivery modes
279
243
  - **Real-time streaming** — text deltas, tool use, and thinking events
280
244
  - **Multi-turn conversations** — session persistence via native SQLite
281
245
  - **OAuth PKCE + API key** — sign in with Claude Max or use a direct API key
@@ -285,9 +249,6 @@ await engine.addCronJob({
285
249
  - **MCP device tools** — extensible via Model Context Protocol
286
250
  - **Tool approval gate** — approve/deny tool executions before they run (120s TTL)
287
251
  - **Agent steering** — inject follow-up instructions into a running turn
288
- - **Background heartbeat** — scheduled agent check-ins via MobileCron + WorkManager
289
- - **Cron jobs** — recurring agent tasks with skills, schedules, and delivery modes
290
- - **On-device vector memory** — store/recall/search via LanceDB (capacitor-lancedb)
291
252
  - **Vite plugin** — stubs Node.js-only transitive deps for browser bundling
292
253
 
293
254
  ## API Reference
@@ -296,7 +257,7 @@ await engine.addCronJob({
296
257
 
297
258
  | Method | Description |
298
259
  |--------|-------------|
299
- | `init(options?)` | Start engine. Options: `useWebViewAgent`, `tools`, `mobileCron`, `enableBridge`, `enableStomp` |
260
+ | `init(options?)` | Start engine. Options: `tools`, `mobileCron` |
300
261
  | `sendMessage(prompt, agentId?)` | Send a prompt to the agent |
301
262
  | `stopTurn()` | Cancel the running agent turn |
302
263
  | `respondToPreExecute(toolCallId, args, deny?)` | Approve/deny a tool execution |
@@ -337,7 +298,6 @@ await engine.addCronJob({
337
298
  | `agentCompleted` | Agent turn finished (includes token usage) |
338
299
  | `agentError` | Agent execution failed |
339
300
  | `toolPreExecute` | Agent wants to run a tool (approval gate) |
340
- | `workerReady` | Node.js worker initialized |
341
301
  | `heartbeatStarted` / `heartbeatCompleted` / `heartbeatSkipped` | Heartbeat lifecycle |
342
302
  | `cronJobStarted` / `cronJobCompleted` / `cronJobError` | Cron job lifecycle |
343
303
  | `schedulerStatus` | Scheduler state changed (next run times) |
@@ -345,7 +305,7 @@ await engine.addCronJob({
345
305
  ## Documentation
346
306
 
347
307
  - [Architecture](docs/architecture.md) — system design and layer breakdown
348
- - [Bridge Protocol](docs/bridge-protocol.md) — UI-to-Worker message reference
308
+ - [Bridge Protocol](docs/bridge-protocol.md) — bridge message reference
349
309
  - [Creating Device Tools](docs/creating-tools.md) — how to build custom MCP tools
350
310
 
351
311
  ## Related Packages
@@ -364,14 +324,12 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, workflow, and guid
364
324
  |-------|-----------|
365
325
  | Mobile framework | [Capacitor 8](https://capacitorjs.com/) |
366
326
  | Agent core | [Pi](https://www.npmjs.com/package/@mariozechner/pi-ai) by Mario Zechner |
367
- | Embedded runtime | [@choreruiz/capacitor-node-js](https://github.com/rogelioRuiz/capacitor-node-js) |
368
- | Native HTTP | OkHttp (Android) + URLSession (iOS) — streaming, CORS bypass |
369
327
  | Tool protocol | [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) |
370
328
  | LLM provider | [Anthropic Claude](https://anthropic.com/) |
371
- | Vector memory | [LanceDB](https://lancedb.com/) via [capacitor-lancedb](https://www.npmjs.com/package/capacitor-lancedb) |
329
+ | Vector memory | [LanceDB](https://lancedb.com/) via [capacitor-lancedb](https://www.npmjs.com/package/capacitor-lancedb) (Rust FFI, on-device) |
372
330
  | Background scheduling | [capacitor-mobilecron](https://www.npmjs.com/package/capacitor-mobilecron) (WorkManager / BGTaskScheduler) |
373
331
  | Git | [isomorphic-git](https://isomorphic-git.org/) |
374
- | Database | [@capacitor-community/sqlite](https://github.com/nicepkg/capacitor-community-sqlite) (native SQLite via JSON-RPC bridge) |
332
+ | Database | [@capacitor-community/sqlite](https://github.com/nicepkg/capacitor-community-sqlite) (native SQLite) |
375
333
  | Python | [Pyodide](https://pyodide.org/) (CPython via WebAssembly) |
376
334
  | Type system | TypeScript (strict mode) |
377
335
  | Lint | [Biome](https://biomejs.dev/) |
@@ -33,6 +33,8 @@ export interface AgentRunParams {
33
33
  provider?: string;
34
34
  apiKey: string;
35
35
  systemPrompt: string;
36
+ maxTurns?: number;
37
+ allowedTools?: string[];
36
38
  /** Additional tools (MCP device tools) to merge with proxied worker tools */
37
39
  extraTools?: AgentTool<any>[];
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/agent/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/agent/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,10 @@ export class AgentRunner {
59
59
  // Build tools: proxied worker tools + optional MCP/memory tools
60
60
  const workerTools = this._wrapWithPreExecuteHook(this.toolProxy.buildTools());
61
61
  const extraTools = params.extraTools ? this._wrapWithPreExecuteHook(params.extraTools) : [];
62
- const tools = [...workerTools, ...extraTools];
62
+ let tools = [...workerTools, ...extraTools];
63
+ if (params.allowedTools?.length) {
64
+ tools = tools.filter((tool) => params.allowedTools?.includes(tool.name));
65
+ }
63
66
  this.agent = new Agent({
64
67
  initialState: {
65
68
  systemPrompt: params.systemPrompt,
@@ -72,7 +75,14 @@ export class AgentRunner {
72
75
  });
73
76
  this.currentSessionKey = params.sessionKey;
74
77
  // Subscribe to events — dispatch DIRECTLY to the engine (no bridge hop)
78
+ let turnCount = 0;
75
79
  this.agent.subscribe((event) => {
80
+ if (event.type === 'turn_end' && params.maxTurns) {
81
+ turnCount += 1;
82
+ if (turnCount >= params.maxTurns) {
83
+ this.agent?.abort();
84
+ }
85
+ }
76
86
  this._dispatchAgentEvent(event);
77
87
  });
78
88
  // Echo user prompt to UI
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/agent/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/agent/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { CronJobRecord, CronSkillRecord, HeartbeatConfig, SchedulerConfig } from '../definitions';
2
+ export interface SchedulerStoreConfig extends SchedulerConfig {
3
+ updatedAt?: number;
4
+ }
5
+ export interface HeartbeatStoreConfig extends HeartbeatConfig {
6
+ updatedAt?: number;
7
+ }
8
+ export interface CronSkillStoreRecord extends CronSkillRecord {
9
+ }
10
+ export interface CronJobStoreRecord extends CronJobRecord {
11
+ lastResponseHash?: string;
12
+ lastResponseSentAt?: number;
13
+ }
14
+ export interface PendingSystemEvent {
15
+ id: number;
16
+ sessionKey: string;
17
+ contextKey?: string;
18
+ text: string;
19
+ createdAt: number;
20
+ consumed: boolean;
21
+ }
22
+ export interface CronRunInsert {
23
+ jobId: string;
24
+ startedAt: number;
25
+ endedAt?: number | null;
26
+ status?: string | null;
27
+ durationMs?: number | null;
28
+ error?: string | null;
29
+ responseText?: string | null;
30
+ wasHeartbeatOk?: boolean;
31
+ wasDeduped?: boolean;
32
+ delivered?: boolean;
33
+ wakeSource?: string | null;
34
+ }
35
+ export declare class CronDbAccess {
36
+ private sqlite;
37
+ private db;
38
+ private initPromise;
39
+ ensureReady(): Promise<void>;
40
+ getSchedulerConfig(): Promise<SchedulerStoreConfig>;
41
+ getHeartbeatConfig(): Promise<HeartbeatStoreConfig>;
42
+ setHeartbeatConfig(patch?: Record<string, unknown>): Promise<HeartbeatStoreConfig>;
43
+ listCronSkills(): Promise<CronSkillStoreRecord[]>;
44
+ listCronJobs(): Promise<CronJobStoreRecord[]>;
45
+ getDueJobs(nowMs?: number): Promise<CronJobStoreRecord[]>;
46
+ updateCronJob(id: string, patch?: Record<string, unknown>): Promise<void>;
47
+ insertCronRun(runData: CronRunInsert): Promise<number | null>;
48
+ peekPendingEvents(sessionKey: string): Promise<PendingSystemEvent[]>;
49
+ consumePendingEvents(ids: number[]): Promise<void>;
50
+ enqueueSystemEvent(sessionKey: string, contextKey: string | null, text: string): Promise<void>;
51
+ getMaxMessageSequence(sessionKey: string): Promise<number>;
52
+ deleteMessagesAfter(sessionKey: string, sequence: number): Promise<void>;
53
+ private _init;
54
+ private _run;
55
+ private _queryOne;
56
+ }
57
+ //# sourceMappingURL=cron-db-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-db-access.d.ts","sourceRoot":"","sources":["../../../src/agent/cron-db-access.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKtG,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;CAAG;AAEhE,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,WAAW,CAA6B;IAE1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsBnD,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsBnD,kBAAkB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsEtF,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAgBjD,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAM7C,UAAU,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAa7D,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkJ7E,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwB7D,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAmBpE,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9F,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKhE,KAAK;YAwBL,IAAI;YAKJ,SAAS;CAKxB"}