@wabery/cli 0.1.4 → 0.3.0

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
@@ -27,9 +27,13 @@ npx wabery login
27
27
  npx wabery doctor
28
28
  ```
29
29
 
30
- `wabery login` opens `app.wabery.com`, asks you to authorize the CLI, creates
31
- an API key for your current Wabery organization, and stores it in your local
32
- CLI config file. You can still override credentials explicitly:
30
+ `wabery login` prints an authorization URL and tries to open it in your
31
+ browser. Approve the request on `app.wabery.com`, copy the API key the page
32
+ shows you, and paste it back into the terminal. The key is created for your
33
+ current Wabery organization and stored in your local CLI config file. No
34
+ local callback server or open browser is required — if the browser does not
35
+ open, just open the printed URL yourself. Use `wabery login --no-open` to skip
36
+ the open attempt. You can still override credentials explicitly:
33
37
 
34
38
  ```sh
35
39
  export WABERY_API_KEY="wab_live_..."
@@ -41,6 +45,14 @@ use a placeholder so credentials can live in your CLI config, shell, MCP client
41
45
  secret storage, or another local secret manager. Public API keys support scoped
42
46
  permissions. Use the smallest scope set the integration needs.
43
47
 
48
+ Print a ready-to-paste env block for a project (project id, channel id, API key,
49
+ base URL). The webhook signing secret is not returned by the API for security —
50
+ copy it from the dashboard (Project → Webhooks):
51
+
52
+ ```sh
53
+ wabery env --project-id "proj_id"
54
+ ```
55
+
44
56
  For local repository development, build the workspace package:
45
57
 
46
58
  ```sh
@@ -190,11 +202,12 @@ wabery config diff wabery.config.json
190
202
  wabery config apply wabery.config.json
191
203
  ```
192
204
 
193
- 4. Publish a flow explicitly after review:
205
+ 4. Publish a flow explicitly after review (`--wait` blocks until Meta reports it
206
+ published, or fails with the rejection reason):
194
207
 
195
208
  ```sh
196
209
  wabery flows list
197
- wabery flows publish "flow_id"
210
+ wabery flows publish "flow_id" --wait
198
211
  ```
199
212
 
200
213
  5. Send a published flow:
@@ -213,3 +226,51 @@ wabery contacts unenroll "contact_id"
213
226
  ```
214
227
 
215
228
  `wabery config apply` intentionally does not publish flows to Meta. Agents should call `wabery_publish_flow` only after explicit user confirmation and with the required confirmation token.
229
+
230
+ ## Local testing (no deploy, no API key)
231
+
232
+ Exercise your own webhook and data-exchange endpoints by signing a fake payload with
233
+ your webhook secret and POSTing it to a local URL:
234
+
235
+ ```sh
236
+ # Drive your webhook handler:
237
+ wabery webhooks send-test --url http://localhost:3000/webhooks \
238
+ --secret "$WABERY_WEBHOOK_SECRET" --event flow.completed
239
+
240
+ # Drive your data-exchange endpoint (one screen advance):
241
+ wabery flows test --url http://localhost:3000/flow \
242
+ --secret "$WABERY_WEBHOOK_SECRET" \
243
+ --action data_exchange --screen SELECT --data '{"workspace":"ws_1"}'
244
+
245
+ # Walk the whole journey, then fire flow.completed at your webhook:
246
+ wabery flows simulate --url http://localhost:3000/flow \
247
+ --webhook-url http://localhost:3000/webhooks \
248
+ --secret "$WABERY_WEBHOOK_SECRET" \
249
+ --steps '[{"action":"INIT"},{"action":"data_exchange","screen":"SELECT","data":{"workspace":"ws_1"}}]' \
250
+ --submission '{"workspace":"ws_1","project":"proj_a"}'
251
+ ```
252
+
253
+ Both send a valid `x-wabery-signature` so you can verify it exactly as in production.
254
+ The SDK's `signPayload(body, secret)` does the same for code-level fixtures.
255
+
256
+ ## Programmatic use
257
+
258
+ This package exposes two subpath entry points in addition to the `wabery` binary,
259
+ both fully typed:
260
+
261
+ ```ts
262
+ // A thin authenticated HTTP client for the Wabery REST API.
263
+ import { WaberyApiClient, WaberyApiError } from "@wabery/cli/api-client";
264
+
265
+ const client = new WaberyApiClient({ apiKey: process.env.WABERY_API_KEY });
266
+ const projects = await client.get("/projects");
267
+
268
+ // The MCP server, to embed in your own host.
269
+ import { createWaberyMcpServer, runMcpServer } from "@wabery/cli/mcp-server";
270
+ ```
271
+
272
+ For building application features (sending messages, flows, webhooks, typed event
273
+ parsing), prefer the [`@wabery/sdk`](https://www.npmjs.com/package/@wabery/sdk)
274
+ package — it shares the same REST surface with richer types and helpers
275
+ (`constructEvent`, `verifyDataExchange`, the flow builders). `@wabery/cli` is
276
+ focused on local config management and MCP tooling for AI agents.
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;aAGvB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,OAAO;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO;CAI9B;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,OAAO,GAAE,mBAAwB;IAoBvC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAIrE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIhC,MAAM,CAAC,IAAI,EAAE,MAAM;YAIX,OAAO;CAuCrB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;aAGvB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,OAAO;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO;CAI9B;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,OAAO,GAAE,mBAAwB;IAoBvC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAIrE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIhC,MAAM,CAAC,IAAI,EAAE,MAAM;YAIX,OAAO;CAqErB"}
@@ -51,23 +51,63 @@ export class WaberyApiClient {
51
51
  headers["wabery-version"] = this.apiVersion;
52
52
  if (body !== undefined)
53
53
  headers["content-type"] = "application/json";
54
- const response = await fetch(url, {
54
+ const init = {
55
55
  method,
56
56
  headers,
57
57
  body: body === undefined ? undefined : JSON.stringify(body),
58
- });
59
- const responseBody = await readResponse(response);
60
- if (!response.ok) {
61
- const message = typeof responseBody === "object" &&
62
- responseBody !== null &&
63
- "message" in responseBody
64
- ? String(responseBody.message)
65
- : `Wabery API request failed with HTTP ${response.status}`;
66
- throw new WaberyApiError(message, response.status, responseBody);
58
+ };
59
+ // Transient gateway errors (Cloudflare 502/503/504) and network blips are
60
+ // retryable — the request usually never reached the origin. Back off and
61
+ // retry a few times so callers don't have to hand-roll the loop.
62
+ for (let attempt = 0;; attempt++) {
63
+ let response;
64
+ try {
65
+ response = await fetch(url, init);
66
+ }
67
+ catch (error) {
68
+ if (attempt < MAX_RETRIES) {
69
+ await sleep(retryDelayMs(attempt, null));
70
+ continue;
71
+ }
72
+ throw error;
73
+ }
74
+ if (RETRYABLE_STATUS.has(response.status) && attempt < MAX_RETRIES) {
75
+ const delay = retryDelayMs(attempt, response.headers.get("retry-after"));
76
+ process.stderr.write(`Wabery API returned ${response.status}; retrying in ${Math.round(delay / 1000)}s (attempt ${attempt + 1}/${MAX_RETRIES})...\n`);
77
+ await sleep(delay);
78
+ continue;
79
+ }
80
+ const responseBody = await readResponse(response);
81
+ if (!response.ok) {
82
+ const message = typeof responseBody === "object" &&
83
+ responseBody !== null &&
84
+ "message" in responseBody
85
+ ? String(responseBody.message)
86
+ : `Wabery API request failed with HTTP ${response.status}`;
87
+ throw new WaberyApiError(message, response.status, responseBody);
88
+ }
89
+ return responseBody;
67
90
  }
68
- return responseBody;
69
91
  }
70
92
  }
93
+ /** Gateway/transient statuses worth retrying (Cloudflare origin errors). */
94
+ const RETRYABLE_STATUS = new Set([502, 503, 504]);
95
+ const MAX_RETRIES = 3;
96
+ const MAX_RETRY_AFTER_MS = 15_000;
97
+ /** Honor a `Retry-After` (seconds), else exponential backoff with jitter. */
98
+ function retryDelayMs(attempt, retryAfter) {
99
+ if (retryAfter) {
100
+ const seconds = Number(retryAfter);
101
+ if (Number.isFinite(seconds) && seconds > 0) {
102
+ return Math.min(seconds * 1000, MAX_RETRY_AFTER_MS);
103
+ }
104
+ }
105
+ const base = Math.min(1000 * 2 ** attempt, 8000);
106
+ return base + Math.floor(Math.random() * 250);
107
+ }
108
+ function sleep(ms) {
109
+ return new Promise((resolve) => setTimeout(resolve, ms));
110
+ }
71
111
  function normalizeBaseUrl(value) {
72
112
  const trimmed = value.replace(/\/+$/, "");
73
113
  if (trimmed.endsWith("/v1") || trimmed.endsWith("/api/v1"))
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from "node:child_process";
3
- import { randomBytes } from "node:crypto";
3
+ import { createHmac } from "node:crypto";
4
4
  import { readFile, writeFile } from "node:fs/promises";
5
- import { createServer } from "node:http";
6
5
  import { platform } from "node:os";
7
6
  import { stdin } from "node:process";
7
+ import { createInterface } from "node:readline";
8
8
  import { WaberyApiClient, WaberyApiError } from "./api-client.js";
9
9
  import { createExampleConfig } from "./config-example.js";
10
10
  import { checkWaberyConnection } from "./diagnostics.js";
11
- import { getConfigPath, writeLocalConfig } from "./local-config.js";
11
+ import { getConfigPath, readLocalConfig, writeLocalConfig, } from "./local-config.js";
12
12
  import { runMcpServer } from "./mcp-server.js";
13
13
  async function main() {
14
14
  const parsed = parseArgs(process.argv.slice(2));
@@ -33,6 +33,19 @@ async function main() {
33
33
  await handleMcpConfig(subcommand, parsed.flags);
34
34
  return;
35
35
  }
36
+ // Local-only commands: sign + POST to your own endpoint. No API key required.
37
+ if (command === "webhooks") {
38
+ await handleWebhooks(subcommand, parsed.flags);
39
+ return;
40
+ }
41
+ if (command === "flows" && subcommand === "test") {
42
+ await testDataExchange(parsed.flags);
43
+ return;
44
+ }
45
+ if (command === "flows" && subcommand === "simulate") {
46
+ await simulateFlow(parsed.flags);
47
+ return;
48
+ }
36
49
  const client = new WaberyApiClient({
37
50
  apiKey: stringFlag(parsed.flags, "api-key"),
38
51
  baseUrl: stringFlag(parsed.flags, "base-url"),
@@ -46,6 +59,10 @@ async function main() {
46
59
  await printJson(await checkWaberyConnection(client));
47
60
  return;
48
61
  }
62
+ if (command === "env") {
63
+ await handleEnv(client, parsed.flags);
64
+ return;
65
+ }
49
66
  if (command === "config") {
50
67
  await handleConfig(client, subcommand, rest, parsed.flags);
51
68
  return;
@@ -217,98 +234,30 @@ async function handleLogin(flags) {
217
234
  const baseUrl = normalizeAppBaseUrl(stringFlag(flags, "base-url") ??
218
235
  process.env.WABERY_BASE_URL ??
219
236
  "https://app.wabery.com");
220
- const state = randomBytes(32).toString("base64url");
221
- const login = await waitForBrowserLogin({
222
- baseUrl,
223
- state,
224
- openBrowser: booleanFlag(flags, "no-open") !== true,
225
- });
226
- const configPath = writeLocalConfig({
227
- apiKey: login.apiKey,
228
- baseUrl: login.baseUrl,
229
- });
230
- await printText(`Logged in to Wabery. Credentials saved to ${configPath}\n`);
231
- }
232
- async function waitForBrowserLogin({ baseUrl, state, openBrowser, }) {
233
- return new Promise((resolve, reject) => {
234
- let settled = false;
235
- const timeout = setTimeout(() => {
236
- finish(new Error("Timed out waiting for browser login."));
237
- }, 5 * 60 * 1000);
238
- const server = createServer(async (req, res) => {
239
- const requestUrl = new URL(req.url ?? "/", "http://127.0.0.1");
240
- if (requestUrl.pathname !== "/callback") {
241
- res.writeHead(404, { "content-type": "text/plain" });
242
- res.end("Not found");
243
- return;
244
- }
245
- if (req.method !== "POST") {
246
- res.writeHead(405, { "content-type": "text/plain" });
247
- res.end("Method not allowed");
248
- return;
249
- }
250
- try {
251
- const body = await readRequestBody(req);
252
- const form = new URLSearchParams(body);
253
- const returnedState = form.get("state");
254
- const apiKey = form.get("api_key");
255
- const returnedBaseUrl = form.get("base_url") ?? baseUrl;
256
- if (returnedState !== state) {
257
- throw new Error("Login state mismatch. Run `wabery login` again.");
258
- }
259
- if (!apiKey?.startsWith("wab_live_")) {
260
- throw new Error("Login response did not include a valid API key.");
261
- }
262
- res.writeHead(200, { "content-type": "text/html; charset=utf-8" });
263
- res.end("<!doctype html><html><body><h1>Wabery CLI authorized</h1><p>You can close this window and return to your terminal.</p></body></html>");
264
- finish(null, {
265
- apiKey,
266
- baseUrl: normalizeAppBaseUrl(returnedBaseUrl),
267
- });
268
- }
269
- catch (error) {
270
- res.writeHead(400, { "content-type": "text/plain" });
271
- res.end(error instanceof Error ? error.message : "Login failed");
272
- finish(error instanceof Error ? error : new Error("Login failed"));
273
- }
274
- });
275
- function finish(error, result) {
276
- if (settled)
277
- return;
278
- settled = true;
279
- clearTimeout(timeout);
280
- server.close();
281
- if (error) {
282
- reject(error);
283
- return;
284
- }
285
- resolve(result);
286
- }
287
- server.listen(0, "127.0.0.1", () => {
288
- const address = server.address();
289
- const callback = `http://127.0.0.1:${address.port}/callback`;
290
- const loginUrl = new URL("/cli/login", baseUrl);
291
- loginUrl.searchParams.set("callback", callback);
292
- loginUrl.searchParams.set("state", state);
293
- loginUrl.searchParams.set("base_url", baseUrl);
294
- process.stdout.write(`Opening ${loginUrl.toString()}\n`);
295
- if (!openBrowser || !openUrl(loginUrl.toString())) {
296
- process.stdout.write(`Open this URL in your browser to continue:\n${loginUrl.toString()}\n`);
297
- }
237
+ const loginUrl = new URL("/cli/login", baseUrl).toString();
238
+ process.stdout.write(`\nAuthorize the Wabery CLI by opening this URL in your browser:\n\n ${loginUrl}\n\n`);
239
+ const opened = booleanFlag(flags, "no-open") !== true && openUrl(loginUrl);
240
+ process.stdout.write(opened
241
+ ? "Tried to open it in your default browser. If nothing happened, copy the URL above.\n\n"
242
+ : "Open the URL above in your browser to continue.\n\n");
243
+ process.stdout.write("After you approve, the page shows a CLI key that starts with wab_live_.\n");
244
+ const apiKey = (await promptLine("Paste your CLI key here: ")).trim();
245
+ if (!apiKey.startsWith("wab_live_")) {
246
+ throw new Error("That does not look like a Wabery CLI key (it should start with wab_live_). Run `wabery login` again.");
247
+ }
248
+ const configPath = writeLocalConfig({ apiKey, baseUrl });
249
+ await printText(`\nLogged in to Wabery. Credentials saved to ${configPath}\n`);
250
+ }
251
+ /** Read a single line from the terminal, echoing what the user types. */
252
+ function promptLine(question) {
253
+ const rl = createInterface({ input: stdin, output: process.stdout });
254
+ return new Promise((resolve) => {
255
+ rl.question(question, (answer) => {
256
+ rl.close();
257
+ resolve(answer);
298
258
  });
299
- server.on("error", (error) => finish(error));
300
259
  });
301
260
  }
302
- async function readRequestBody(req) {
303
- const chunks = [];
304
- for await (const chunk of req) {
305
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
306
- if (Buffer.concat(chunks).length > 16 * 1024) {
307
- throw new Error("Login response was too large.");
308
- }
309
- }
310
- return Buffer.concat(chunks).toString("utf8");
311
- }
312
261
  function openUrl(url) {
313
262
  const currentPlatform = platform();
314
263
  const command = currentPlatform === "darwin"
@@ -461,7 +410,13 @@ async function handleFlows(client, subcommand, rest, flags) {
461
410
  return;
462
411
  }
463
412
  if (subcommand === "publish") {
464
- await printJson(await client.post(`/flows/${requiredValue(flowId, "flow-id")}/publish`));
413
+ const id = requiredValue(flowId, "flow-id");
414
+ const published = await client.post(`/flows/${id}/publish`);
415
+ if (booleanFlag(flags, "wait")) {
416
+ await printJson(await waitUntilPublished(client, id));
417
+ return;
418
+ }
419
+ await printJson(published);
465
420
  return;
466
421
  }
467
422
  if (subcommand === "send") {
@@ -479,7 +434,223 @@ async function handleFlows(client, subcommand, rest, flags) {
479
434
  }));
480
435
  return;
481
436
  }
482
- throw new Error("Usage: wabery flows list|get|publish|send");
437
+ // `flows test` is handled before client creation (no API key needed).
438
+ throw new Error("Usage: wabery flows list|get|publish|send|test");
439
+ }
440
+ /**
441
+ * Poll a flow until Meta reports PUBLISHED (sendable), or throw with the rejection
442
+ * reason on a terminal BLOCKED/DEPRECATED state or timeout. Publishing surfaces most
443
+ * validation errors synchronously; this covers Meta's short review window.
444
+ */
445
+ async function waitUntilPublished(client, flowId, { timeoutMs = 120_000, intervalMs = 3_000 } = {}) {
446
+ const deadline = Date.now() + timeoutMs;
447
+ for (;;) {
448
+ const flow = (await client.get(`/flows/${flowId}`));
449
+ const status = flow.meta_status ?? flow.status ?? null;
450
+ if (status === "PUBLISHED")
451
+ return flow;
452
+ if (status === "BLOCKED" || status === "DEPRECATED") {
453
+ throw new Error(`Flow ${flowId} is ${status} and cannot be published`);
454
+ }
455
+ if (Date.now() >= deadline) {
456
+ throw new Error(`Timed out waiting for flow ${flowId} to become publishable (last status: ${status ?? "unknown"})`);
457
+ }
458
+ await new Promise((resolve) => setTimeout(resolve, intervalMs));
459
+ }
460
+ }
461
+ /**
462
+ * Print a ready-to-paste env block for a project. Pulls project id, the authorized
463
+ * channel id, API key (from your CLI config / shell), and base URL. The webhook
464
+ * signing secret is never returned by the API for security — paste it from the
465
+ * dashboard (Project → Webhooks).
466
+ */
467
+ async function handleEnv(client, flags) {
468
+ let projectId = stringFlag(flags, "project-id");
469
+ let channelId = stringFlag(flags, "channel-id");
470
+ if (!projectId) {
471
+ const projects = (await client.get("/projects"));
472
+ projectId = projects.data?.[0]?.project_id ?? projects.data?.[0]?.id;
473
+ }
474
+ if (!channelId) {
475
+ const channels = (await client.get("/channels"));
476
+ channelId = channels.data?.[0]?.channel_id ?? channels.data?.[0]?.id;
477
+ }
478
+ const apiKey = stringFlag(flags, "api-key") ??
479
+ process.env.WABERY_API_KEY ??
480
+ readLocalConfig().apiKey ??
481
+ "wab_live_...";
482
+ const baseUrl = stringFlag(flags, "base-url") ??
483
+ process.env.WABERY_BASE_URL ??
484
+ readLocalConfig().baseUrl ??
485
+ "https://api.wabery.com/v1";
486
+ const lines = [
487
+ `WABERY_API_KEY=${apiKey}`,
488
+ `WABERY_BASE_URL=${baseUrl}`,
489
+ `WABERY_PROJECT_ID=${projectId ?? "<no project found>"}`,
490
+ `WABERY_CHANNEL_ID=${channelId ?? "<no channel found>"}`,
491
+ "# WABERY_WEBHOOK_SECRET is not retrievable via API — copy it from the",
492
+ "# dashboard (Project → Webhooks) and paste it here:",
493
+ "WABERY_WEBHOOK_SECRET=",
494
+ ];
495
+ await printText(`${lines.join("\n")}\n`);
496
+ }
497
+ /** Sign a body the same way Wabery does: `sha256=<hex>` HMAC-SHA256. */
498
+ function signBody(secret, body) {
499
+ return `sha256=${createHmac("sha256", secret).update(body).digest("hex")}`;
500
+ }
501
+ /**
502
+ * POST a signed test payload to a local endpoint so you can exercise your webhook
503
+ * handler (signature verification + parsing) without deploying.
504
+ *
505
+ * wabery webhooks send-test --url http://localhost:3000/webhooks --secret <s> \
506
+ * [--event message.received] [--payload '{"text":"hi"}']
507
+ */
508
+ async function handleWebhooks(subcommand, flags) {
509
+ if (subcommand !== "send-test") {
510
+ throw new Error("Usage: wabery webhooks send-test --url <url> --secret <secret>");
511
+ }
512
+ const url = requiredStringFlag(flags, "url");
513
+ const secret = requiredStringFlag(flags, "secret");
514
+ const event = stringFlag(flags, "event") ?? "message.received";
515
+ const payload = optionalJsonFlag(flags, "payload") ?? samplePayload(event);
516
+ const body = JSON.stringify({
517
+ event,
518
+ api_version: stringFlag(flags, "api-version") ?? "2026-06-18",
519
+ payload,
520
+ sentAt: new Date().toISOString(),
521
+ });
522
+ await postSigned(url, secret, body);
523
+ }
524
+ /**
525
+ * Simulate a WhatsApp Flow data-exchange call against your endpoint.
526
+ *
527
+ * wabery flows test --url http://localhost:3000/flow --secret <s> \
528
+ * [--action INIT] [--screen SELECT] [--data '{"workspace":"ws_1"}'] \
529
+ * [--flow-token ...] [--contact-reference user-42] [--from +15551234567]
530
+ */
531
+ async function testDataExchange(flags) {
532
+ const url = requiredStringFlag(flags, "url");
533
+ const secret = requiredStringFlag(flags, "secret");
534
+ const body = JSON.stringify({
535
+ action: stringFlag(flags, "action") ?? "INIT",
536
+ screen: stringFlag(flags, "screen") ?? null,
537
+ data: optionalJsonFlag(flags, "data") ?? {},
538
+ flow_token: stringFlag(flags, "flow-token") ?? "test_flow_token",
539
+ flow_id: stringFlag(flags, "flow-id") ?? "test_flow_id",
540
+ agent_id: stringFlag(flags, "agent-id") ?? "test_agent_id",
541
+ organization_id: stringFlag(flags, "organization-id") ?? "test_org_id",
542
+ contact_id: stringFlag(flags, "contact-id") ?? "test_contact_id",
543
+ contact_reference: stringFlag(flags, "contact-reference") ?? null,
544
+ from: stringFlag(flags, "from") ?? null,
545
+ });
546
+ await postSigned(url, secret, body);
547
+ }
548
+ async function postSigned(url, secret, body) {
549
+ const { status, statusText, text } = await postSignedRaw(url, secret, body);
550
+ await printText(`→ POST ${url}\n${body}\n`);
551
+ await printText(`← ${status} ${statusText}\n${text}`);
552
+ }
553
+ async function postSignedRaw(url, secret, body) {
554
+ const response = await fetch(url, {
555
+ method: "POST",
556
+ headers: {
557
+ "content-type": "application/json",
558
+ "x-wabery-signature": signBody(secret, body),
559
+ },
560
+ body,
561
+ });
562
+ return {
563
+ status: response.status,
564
+ statusText: response.statusText,
565
+ text: await response.text(),
566
+ };
567
+ }
568
+ /**
569
+ * Walk a whole data-exchange flow locally, then fire the completion webhook — the full
570
+ * journey (open → field changes → branch → submit) without a deploy or Meta publish.
571
+ *
572
+ * wabery flows simulate --url <data_exchange_url> --secret <s> \
573
+ * [--webhook-url <flow.completed target>] \
574
+ * [--steps '[{"action":"INIT"},{"action":"data_exchange","screen":"SELECT","data":{"workspace":"ws_1"}}]'] \
575
+ * [--submission '{"workspace":"ws_1","project":"proj_a"}']
576
+ */
577
+ async function simulateFlow(flags) {
578
+ const url = requiredStringFlag(flags, "url");
579
+ const secret = requiredStringFlag(flags, "secret");
580
+ const webhookUrl = stringFlag(flags, "webhook-url");
581
+ const identity = {
582
+ flow_token: stringFlag(flags, "flow-token") ?? "sim_flow_token",
583
+ flow_id: stringFlag(flags, "flow-id") ?? "sim_flow_id",
584
+ agent_id: stringFlag(flags, "agent-id") ?? "sim_agent_id",
585
+ organization_id: stringFlag(flags, "organization-id") ?? "sim_org_id",
586
+ contact_id: stringFlag(flags, "contact-id") ?? "sim_contact_id",
587
+ contact_reference: stringFlag(flags, "contact-reference") ?? null,
588
+ from: stringFlag(flags, "from") ?? null,
589
+ };
590
+ const steps = (optionalJsonFlag(flags, "steps") ?? [
591
+ { action: "INIT" },
592
+ ]);
593
+ if (!Array.isArray(steps)) {
594
+ throw new Error("--steps must be a JSON array of { action, screen, data }");
595
+ }
596
+ for (const [index, step] of steps.entries()) {
597
+ const body = JSON.stringify({
598
+ action: step.action ?? "data_exchange",
599
+ screen: step.screen ?? null,
600
+ data: step.data ?? {},
601
+ ...identity,
602
+ });
603
+ const res = await postSignedRaw(url, secret, body);
604
+ await printText(`step ${index + 1}/${steps.length} · ${step.action ?? "data_exchange"}${step.screen ? ` → ${step.screen}` : ""}\n ← ${res.status} ${res.statusText}: ${res.text}\n`);
605
+ if (res.status >= 400) {
606
+ throw new Error(`data-exchange step ${index + 1} failed (${res.status})`);
607
+ }
608
+ }
609
+ if (webhookUrl) {
610
+ const event = JSON.stringify({
611
+ event: "flow.completed",
612
+ api_version: stringFlag(flags, "api-version") ?? "2026-06-18",
613
+ payload: {
614
+ object: "flow_submission",
615
+ flow_token: identity.flow_token,
616
+ flow_id: identity.flow_id,
617
+ agent_id: identity.agent_id,
618
+ organization_id: identity.organization_id,
619
+ contact_id: identity.contact_id,
620
+ contact_reference: identity.contact_reference,
621
+ from: identity.from,
622
+ valid: true,
623
+ submission: optionalJsonFlag(flags, "submission") ?? {},
624
+ submitted_at: new Date().toISOString(),
625
+ },
626
+ sentAt: new Date().toISOString(),
627
+ });
628
+ const res = await postSignedRaw(webhookUrl, secret, event);
629
+ await printText(`completion · flow.completed → ${webhookUrl}\n ← ${res.status} ${res.statusText}: ${res.text}\n`);
630
+ }
631
+ }
632
+ function samplePayload(event) {
633
+ if (event === "flow.completed") {
634
+ return {
635
+ object: "flow_submission",
636
+ flow_token: "test_flow_token",
637
+ flow_id: "test_flow_id",
638
+ contact_reference: "user-42",
639
+ from: "+15551234567",
640
+ valid: true,
641
+ submission: { name: "Alex", budget: 2000 },
642
+ };
643
+ }
644
+ return {
645
+ channel_id: "test_channel_id",
646
+ conversation_id: "test_conversation_id",
647
+ contact_id: "test_contact_id",
648
+ from: "+15551234567",
649
+ text: "hello",
650
+ message_id: "test_message_id",
651
+ contact_reference: "user-42",
652
+ customer_reference: "user-42",
653
+ };
483
654
  }
484
655
  async function handleDispatches(client, subcommand, rest, flags) {
485
656
  if (subcommand === "list") {
@@ -613,6 +784,7 @@ MCP:
613
784
 
614
785
  Diagnostics:
615
786
  wabery doctor
787
+ wabery env --project-id <project_id> # ready-to-paste env block
616
788
 
617
789
  Config:
618
790
  wabery config schema
@@ -643,8 +815,13 @@ Templates, messages, and conversations:
643
815
  Flows:
644
816
  wabery flows list
645
817
  wabery flows get <flow_id>
646
- wabery flows publish <flow_id>
818
+ wabery flows publish <flow_id> [--wait]
647
819
  wabery flows send <flow_id> --channel-id <id> --contact-id <contact_id>
820
+
821
+ Local testing (sign + POST to your own endpoint, no deploy needed):
822
+ wabery webhooks send-test --url http://localhost:3000/webhooks --secret <secret> [--event message.received] [--payload '<json>']
823
+ wabery flows test --url http://localhost:3000/flow --secret <secret> [--action INIT] [--screen SELECT] [--data '<json>']
824
+ wabery flows simulate --url http://localhost:3000/flow --secret <secret> [--webhook-url <url>] [--steps '<json array>'] [--submission '<json>']
648
825
  `);
649
826
  }
650
827
  main().catch((error) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACN,aAAa,EACb,eAAe,EACf,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAE1D,IACC,CAAC,OAAO;QACR,OAAO,KAAK,MAAM;QAClB,OAAO,KAAK,QAAQ;QACpB,OAAO,KAAK,IAAI,EACf,CAAC;QACF,SAAS,EAAE,CAAC;QACZ,OAAO;IACR,CAAC;IAED,IACC,OAAO,KAAK,QAAQ;QACpB,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,CAAC,EAClD,CAAC;QACF,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO;IACR,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO;IACR,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO;IACR,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,MAAM,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO;IACR,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO;IACR,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;QAC3C,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;QAC7C,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;KACnD,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACjD,MAAM,SAAS,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACrD,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAClD,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAChC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YAC9C,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;YAC5C,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;YACxC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAC1D,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CACd,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACpD,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CACd,0FAA0F,CAC1F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO;IACR,CAAC;IACD,MAAM,UAAU,GACf,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,oBAAoB,CAAC;IAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACnE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;KAC9C,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAA0B,EAC1B,KAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACjE,MAAM,OAAO,GACZ,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,2BAA2B,CAAC;IAC7B,IAAI,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACd,kHAAkH,CAClH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;QACX,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,OAAO;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IAEF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAClE,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO;QACR,CAAC;QACD,MAAM,SAAS,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM;YACd,MAAM;SACN,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG;YACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;UACnB,OAAO;CAChB,CAAC;QACA,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,SAAS,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG;YACd,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE;gBACJ,MAAM,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC3B,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,GAAG;iBAChB;aACD;SACD,CAAC;QACF,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO;QACR,CAAC;QACD,MAAM,SAAS,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,MAAM;YACd,MAAM;SACN,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CACd,qEAAqE,CACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAuC;IACjE,MAAM,OAAO,GAAG,mBAAmB,CAClC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,wBAAwB,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3D,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,wEAAwE,QAAQ,MAAM,CACtF,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,MAAM;QACL,CAAC,CAAC,wFAAwF;QAC1F,CAAC,CAAC,qDAAqD,CACxD,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,2EAA2E,CAC3E,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACd,sGAAsG,CACtG,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CACd,+CAA+C,UAAU,IAAI,CAC7D,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,UAAU,CAAC,QAAgB;IACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAChC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC3B,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;IACnC,MAAM,OAAO,GACZ,eAAe,KAAK,QAAQ;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,eAAe,KAAK,OAAO;YAC5B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,UAAU,CAAC;IAChB,MAAM,IAAI,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAClC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAAuB,EACvB,UAA8B,EAC9B,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;YACvC,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;YAC7C,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;YAC7C,uBAAuB,EACtB,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,IAAI,IAAI;SACtD,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE;YAC7B,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YACjC,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC;SACnD,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CACvE,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9B,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;YACzC,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;YACnD,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;YAC/B,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC;YAC/C,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;YAC7C,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;SACzC,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,MAAM,CAClB,aAAa,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,GAClD,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EACzB,EAAE,CACF,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CACd,mFAAmF,CACnF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAClC,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC;YAC3C,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YACjC,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC;SACnD,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACvE,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CACf,kBAAkB,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE,CACpE,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CACf,kBAAkB,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,WAAW,EAC7E;YACC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YACjC,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC;YACnD,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;SACjC,CACD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CACd,iEAAiE,CACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAAuB,EACvB,UAA8B,EAC9B,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GACT,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;YAC9B;gBACA,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;gBACnD,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBACrD,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC3B,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC/B,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;gBAC7C,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACvC,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;gBACnD,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC;aACzB,CAAC;QAC/B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;YAC9B,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC;YAC3C,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;SACnC,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CACf,cAAc,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CACxD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GACT,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;YAC9B;gBACA,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;gBACnD,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;gBACvC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;gBAC/C,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC;aACrB,CAAC;QAC/B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,WAAW,CACzB,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAC9D,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QACD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE;YACpE,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;YACnD,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC;YAC3C,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC;YACrD,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3B,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;YACvC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;YAC7C,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;YAC7C,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC;YAC/C,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;SACnD,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,sEAAsE;IACtE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAChC,MAAuB,EACvB,MAAc,EACd,EAAE,SAAS,GAAG,OAAO,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,EAAE;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC;QACT,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,EAAE,CAAC,CAGjD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QACvD,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,OAAO,MAAM,0BAA0B,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACd,8BAA8B,MAAM,wCAAwC,MAAM,IAAI,SAAS,GAAG,CAClG,CAAC;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CACvB,MAAuB,EACvB,KAAuC;IAEvC,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAEhD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAE9C,CAAC;QACF,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAE9C,CAAC;QACF,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,MAAM,GACX,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,eAAe,EAAE,CAAC,MAAM;QACxB,cAAc,CAAC;IAChB,MAAM,OAAO,GACZ,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,eAAe,EAAE,CAAC,OAAO;QACzB,2BAA2B,CAAC;IAE7B,MAAM,KAAK,GAAG;QACb,kBAAkB,MAAM,EAAE;QAC1B,mBAAmB,OAAO,EAAE;QAC5B,qBAAqB,SAAS,IAAI,oBAAoB,EAAE;QACxD,qBAAqB,SAAS,IAAI,oBAAoB,EAAE;QACxD,uEAAuE;QACvE,qDAAqD;QACrD,wBAAwB;KACxB,CAAC;IACF,MAAM,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,wEAAwE;AACxE,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAY;IAC7C,OAAO,UAAU,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC5B,UAA8B,EAC9B,KAAuC;IAEvC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,gEAAgE,CAChE,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,kBAAkB,CAAC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,KAAK;QACL,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,YAAY;QAC7D,OAAO;QACP,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAChC,CAAC,CAAC;IACH,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAuC;IACtE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM;QAC7C,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI;QAC3C,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;QAC3C,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,iBAAiB;QAChE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,cAAc;QACvD,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,eAAe;QAC1D,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,aAAa;QACtE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,iBAAiB;QAChE,iBAAiB,EAAE,UAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,IAAI;QACjE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI;KACvC,CAAC,CAAC;IACH,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,MAAc,EAAE,IAAY;IAClE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,KAAK,MAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,MAAc,EAAE,IAAY;IACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;SAC5C;QACD,IAAI;KACJ,CAAC,CAAC;IACH,OAAO;QACN,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;KAC3B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY,CAAC,KAAuC;IAClE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG;QAChB,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,gBAAgB;QAC/D,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,aAAa;QACtD,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,cAAc;QACzD,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,YAAY;QACrE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,gBAAgB;QAC/D,iBAAiB,EAAE,UAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,IAAI;QACjE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI;KACvC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI;QAClD,EAAE,MAAM,EAAE,MAAM,EAAE;KAClB,CAIC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,eAAe;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,GAAG,QAAQ;SACX,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,SAAS,CACd,QAAQ,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CACpK,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,YAAY;YAC7D,OAAO,EAAE;gBACR,MAAM,EAAE,iBAAiB;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE;gBACvD,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC;YACD,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,SAAS,CACd,iCAAiC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CACjG,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IACnC,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO;YACN,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE,cAAc;YACvB,iBAAiB,EAAE,SAAS;YAC5B,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1C,CAAC;IACH,CAAC;IACD,OAAO;QACN,UAAU,EAAE,iBAAiB;QAC7B,eAAe,EAAE,sBAAsB;QACvC,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,iBAAiB;QAC7B,iBAAiB,EAAE,SAAS;QAC5B,kBAAkB,EAAE,SAAS;KAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,MAAuB,EACvB,UAA8B,EAC9B,IAAc,EACd,KAAuC;IAEvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;YACrC,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC;YAC3C,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YACjC,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC;SACnD,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,SAAS,CACd,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CACzE,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAChC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAqC,EAAE,CAAC;IAEnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACV,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;YAC5B,SAAS;QACV,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACrB,SAAS;QACV,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,CAAC;IACT,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,SAAS;IACvB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAClB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAC1B,KAAuC,EACvC,GAAW;IAEX,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAClB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CACnB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CACxB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB,EAAE,IAAY;IAC7D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,gBAAgB,GACrB,oGAAoG,CAAC;IACtG,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACtE,GAAG;QACH,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;KAClE,CAAC,CACF,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;iBAeL,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD/B,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,sBAAsB,EAAE;YACpC,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,qBAAqB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CACtE,IAAI,EACJ,IAAI,EACJ,CAAC,CACD,IAAI,CACL,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC7D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wabery/cli",
3
- "version": "0.1.4",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "description": "Wabery CLI and MCP server for building WhatsApp, Instagram, and Messenger automations with Wabery.",
6
6
  "homepage": "https://www.wabery.com/docs",