@opencomputer/cli 0.3.5 → 0.3.8

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
@@ -4,6 +4,9 @@ The OpenComputer CLI treats every agent as a normal source repository. A
4
4
  template creates editable instructions, TypeScript tools, connection
5
5
  declarations, channel code, a sandbox workspace, and committed agent identity.
6
6
 
7
+ [Bun](https://bun.sh/) 1.2 or newer is required. The CLI is still installed
8
+ and published through npm:
9
+
7
10
  ```bash
8
11
  npm install --global @opencomputer/cli
9
12
  opencomputer login
@@ -11,7 +14,7 @@ opencomputer templates
11
14
  opencomputer init email-triage
12
15
  cd email-triage
13
16
  npm install
14
- opencomputer connect google
17
+ opencomputer connection add gmail --alias personal
15
18
  opencomputer dev
16
19
  opencomputer session "Triage today's inbox."
17
20
  opencomputer deploy
@@ -44,17 +47,17 @@ selected alias.
44
47
 
45
48
  ## Sessions
46
49
 
47
- `opencomputer dev` starts the local agent service and opens its browser app.
48
- The app supports multiple independent sessions, multi-turn conversations, and
49
- streamed tool activity:
50
+ `opencomputer dev` starts the local agent service and opens its React browser
51
+ app. The app uses the AI SDK message lifecycle and supports multiple independent
52
+ sessions, multi-turn conversations, and streamed tool activity:
50
53
 
51
54
  ```bash
52
55
  opencomputer dev
53
56
  ```
54
57
 
55
58
  For a terminal-only workflow, `opencomputer session` automatically starts a
56
- temporary local service when one is not already running and opens an interactive
57
- multi-turn prompt. The service is stopped when the shell exits:
59
+ temporary local service when one is not already running and opens an OpenTUI
60
+ multi-turn interface. The service is stopped when the interface exits:
58
61
 
59
62
  ```bash
60
63
  opencomputer session
@@ -83,8 +86,10 @@ opencomputer session end <session-id>
83
86
  Add and manage account connections and agent channels from the same CLI:
84
87
 
85
88
  ```bash
86
- opencomputer connections connect gmail
87
- opencomputer connections list
89
+ opencomputer connection add gmail --alias personal
90
+ opencomputer connection add gmail --alias work
91
+ opencomputer connection list
92
+ opencomputer connection remove work
88
93
 
89
94
  opencomputer channels add slack
90
95
  opencomputer deploy
package/dist/api.d.ts CHANGED
@@ -124,7 +124,9 @@ export declare class OpenComputerClient {
124
124
  }): Promise<ManagedAgentDeployment>;
125
125
  connections(): Promise<ManagedConnection[]>;
126
126
  disconnectConnection(connectionId: string): Promise<ManagedConnection>;
127
- linkGoogle(service: string): Promise<{
127
+ linkGoogle(service: string, label: string): Promise<{
128
+ connectionId: string;
129
+ label: string;
128
130
  service: string;
129
131
  toolkit: string;
130
132
  status: "connected" | "pending";
@@ -132,7 +134,9 @@ export declare class OpenComputerClient {
132
134
  authorizationUrl?: string;
133
135
  expiresAt?: string;
134
136
  }>;
135
- googleConnection(service: string): Promise<{
137
+ googleConnection(connectionId: string, service: string): Promise<{
138
+ connectionId: string;
139
+ label: string;
136
140
  service: string;
137
141
  toolkit: string;
138
142
  status: "connected" | "pending";
@@ -140,7 +144,9 @@ export declare class OpenComputerClient {
140
144
  authorizationUrl?: string;
141
145
  expiresAt?: string;
142
146
  }>;
143
- disconnectGoogle(service: string): Promise<{
147
+ disconnectGoogle(connectionId: string, service: string): Promise<{
148
+ connectionId: string;
149
+ label: string;
144
150
  service: string;
145
151
  toolkit: string;
146
152
  status: "disconnected";
package/dist/api.js CHANGED
@@ -86,17 +86,17 @@ export class OpenComputerClient {
86
86
  disconnectConnection(connectionId) {
87
87
  return this.request(`/api/managed-agents/connections/${encodeURIComponent(connectionId)}`, { method: "DELETE" });
88
88
  }
89
- linkGoogle(service) {
89
+ linkGoogle(service, label) {
90
90
  return this.request("/api/managed-agents/connections/google/link", {
91
91
  method: "POST",
92
- body: JSON.stringify({ service }),
92
+ body: JSON.stringify({ service, label }),
93
93
  });
94
94
  }
95
- googleConnection(service) {
96
- return this.request(`/api/managed-agents/connections/google/status?service=${encodeURIComponent(service)}`);
95
+ googleConnection(connectionId, service) {
96
+ return this.request(`/api/managed-agents/connections/google/status?service=${encodeURIComponent(service)}&connectionId=${encodeURIComponent(connectionId)}`);
97
97
  }
98
- disconnectGoogle(service) {
99
- return this.request(`/api/managed-agents/connections/google?service=${encodeURIComponent(service)}`, { method: "DELETE" });
98
+ disconnectGoogle(connectionId, service) {
99
+ return this.request(`/api/managed-agents/connections/google?service=${encodeURIComponent(service)}&connectionId=${encodeURIComponent(connectionId)}`, { method: "DELETE" });
100
100
  }
101
101
  createSlackConnection(agentId) {
102
102
  return this.request("/api/managed-agents/channels/slack/connections", {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -33,10 +33,10 @@ async function requireAgentRoot() {
33
33
  }
34
34
  return root;
35
35
  }
36
- async function connectGoogle(client) {
37
- const started = await client.linkGoogle("gmail");
36
+ async function connectGoogle(client, label = "default") {
37
+ const started = await client.linkGoogle("gmail", label);
38
38
  if (started.status === "connected") {
39
- process.stdout.write("Gmail is already connected.\n");
39
+ process.stdout.write(`Gmail connection "${label}" is already connected.\n`);
40
40
  return;
41
41
  }
42
42
  if (!started.authorizationUrl) {
@@ -49,8 +49,9 @@ async function connectGoogle(client) {
49
49
  : Date.now() + 5 * 60_000;
50
50
  while (Date.now() < deadline) {
51
51
  await new Promise((resolve) => setTimeout(resolve, 1_500));
52
- if ((await client.googleConnection("gmail")).status === "connected") {
53
- process.stdout.write("Gmail connected.\n");
52
+ if ((await client.googleConnection(started.connectionId, "gmail")).status ===
53
+ "connected") {
54
+ process.stdout.write(`Gmail connection "${label}" connected.\n`);
54
55
  return;
55
56
  }
56
57
  }
@@ -442,9 +443,7 @@ export async function runCommand(command, rawArgs, globals) {
442
443
  const created = await client.createSession(agent);
443
444
  const connected = await waitForEvent(client, created.session.id, 0, (event) => event.type === "runtime.connected", () => undefined, 90_000);
444
445
  if (!keep) {
445
- await client
446
- .suspendSession(created.session.id)
447
- .catch(() => undefined);
446
+ await client.suspendSession(created.session.id).catch(() => undefined);
448
447
  }
449
448
  const result = {
450
449
  sessionId: created.session.id,
@@ -516,41 +515,46 @@ export async function runCommand(command, rawArgs, globals) {
516
515
  if ((provider !== "google" && provider !== "gmail") || args.length) {
517
516
  throw new Error("Usage: opencomputer connect google");
518
517
  }
519
- await connectGoogle(client);
518
+ await connectGoogle(client, "default");
520
519
  return;
521
520
  }
522
- if (command === "connections") {
521
+ if (command === "connection" || command === "connections") {
523
522
  const action = args.shift();
524
- if (action === "connect") {
523
+ if (action === "add" || action === "connect") {
525
524
  const provider = args.shift();
525
+ const alias = option(args, "--alias") ?? "default";
526
526
  if ((provider !== "google" && provider !== "gmail") || args.length) {
527
- throw new Error("Usage: opencomputer connections connect gmail");
527
+ throw new Error("Usage: opencomputer connection add gmail [--alias <name>]");
528
528
  }
529
- await connectGoogle(client);
529
+ await connectGoogle(client, alias);
530
530
  return;
531
531
  }
532
- if (action === "disconnect") {
532
+ if (action === "remove" || action === "disconnect") {
533
533
  const connectionReference = args.shift();
534
534
  if (!connectionReference || args.length) {
535
- throw new Error("Usage: opencomputer connections disconnect gmail|<connection-id>");
535
+ throw new Error("Usage: opencomputer connection remove <alias|connection-id>");
536
536
  }
537
- if (["gmail", "google"].includes(connectionReference.toLowerCase())) {
538
- const disconnected = await client.disconnectGoogle("gmail");
539
- if (globals.json)
540
- printJSON(disconnected);
541
- else
542
- process.stdout.write("Disconnected Gmail.\n");
543
- return;
537
+ const connections = await client.connections();
538
+ const matches = connections.filter((connection) => connection.id === connectionReference ||
539
+ connection.label === connectionReference);
540
+ if (!matches.length) {
541
+ throw new Error(`Connection "${connectionReference}" was not found.`);
542
+ }
543
+ if (matches.length > 1) {
544
+ throw new Error(`More than one connection is named "${connectionReference}". Remove it by connection ID.`);
544
545
  }
545
- const disconnected = await client.disconnectConnection(connectionReference);
546
+ const connection = matches[0];
547
+ const disconnected = connection.provider === "google"
548
+ ? await client.disconnectGoogle(connection.id, "gmail")
549
+ : await client.disconnectConnection(connection.id);
546
550
  if (globals.json)
547
551
  printJSON(disconnected);
548
552
  else
549
- process.stdout.write(`Disconnected ${connectionReference}.\n`);
553
+ process.stdout.write(`Removed connection "${connection.label}".\n`);
550
554
  return;
551
555
  }
552
556
  if (action !== "list" || args.length) {
553
- throw new Error("Use `opencomputer connections connect`, `list`, or `disconnect`.");
557
+ throw new Error("Use `opencomputer connection add`, `list`, or `remove`.");
554
558
  }
555
559
  const connections = await client.connections();
556
560
  if (globals.json)
@@ -561,7 +565,8 @@ export async function runCommand(command, rawArgs, globals) {
561
565
  for (const connection of connections) {
562
566
  process.stdout.write(`${connection.id} ${connection.provider.padEnd(10)} ` +
563
567
  `${connection.status.padEnd(11)} ` +
564
- `${connection.displayName ?? connection.label}\n`);
568
+ `${connection.label.padEnd(16)} ` +
569
+ `${connection.displayName ?? ""}\n`);
565
570
  }
566
571
  }
567
572
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EACL,kBAAkB,GAGnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAQpB,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,IAAI,CAAC,IAAc,EAAE,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAA0B;IACrD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACxE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS;QAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAa;IAC9C,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,OAA+B;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY;QACrC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,CAAC;IACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;QAC7C,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB;IACjD,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;QAC7B,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC/B,KAAK,CAAC,IAAI,KAAK,aAAa,EAC5B,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK;YACtD,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;YAC1B,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,IAAI,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB,EAAE,IAAa;IAC9D,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IACL,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACnC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,SAAiB,EACjB,MAAc,EACd,IAAa,EACb,IAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,MAAM,EACN,SAAS,EACT,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAC7C,GAAG,EAAE,CAAC,SAAS,EACf,MAAM,CACP,CAAC;QACF,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,MAAM,EACN,SAAS,EACT,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAC1E,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3C,YAAY,IAAI,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,IACL,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACnC,CAAC;YACD,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EACD,OAAO,CACR,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,YAAY,IAAI,aAAa,IAAI,SAAS;KACnD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,SAAiB,EACjB,IAAa;IAEb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC3D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;oBAAE,OAAO,GAAG,IAAI,CAAC;YACrD,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAA0B,EAC1B,SAAiB,EACjB,KAAa,EACb,QAA+C,EAC/C,OAA2C,EAC3C,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;oBACnC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;oBACnB,CAAC,CAAC,iCAAiC,CACtC,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAA0B,EAC1B,KAAa,EACb,MAAc,EACd,IAAa,EACb,IAAa;IAEb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,MAAM,EACN,OAAO,CAAC,OAAO,CAAC,EAAE,EAClB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAC7C,GAAG,EAAE,CAAC,SAAS,EACf,MAAM,CACP,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,MAAM,EACN,OAAO,CAAC,OAAO,CAAC,EAAE,EAClB,SAAS,CAAC,MAAM,EAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAC1E,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3C,YAAY,IAAI,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,IACL,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACnC,CAAC;YACD,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EACD,OAAO,CACR,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,IAAI,aAAa,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,KAAK;QAC7C,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,YAAY,IAAI,aAAa,IAAI,SAAS;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAiB,EACjB,OAAsB;IAEtB,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;aACjC,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,IAAI;gBAC9D,iBAAiB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;;YAE/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe,CACvD,CAAC;QACJ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;aACjC,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iBAAiB,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,GAAG,IAAI;gBAC5D,iBAAiB,QAAQ,CAAC,QAAQ,IAAI,GAAG,IAAI;gBAC7C,iBAAiB,QAAQ,CAAC,MAAM,IAAI;gBACpC,iBAAiB,MAAM,CAAC,MAAM,IAAI,CACrC,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,SAAS,CAAC,CAAC;aAClC,CAAC;YACJ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI;oBAC5C,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,IAAI;oBAC3C,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAC9C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAC3C,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,WAAW,CAAC,CAAC;aACpC,CAAC;YACJ,MAAM,cAAc,GAClB,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,SAAS,IAAI,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,WAAW,WAAW,CAAC,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,IAAI;gBAC5D,cAAc,WAAW,CAAC,IAAI,IAAI;gBAClC,cAAc,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI;gBAC3C,cAAc,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI;gBACzC,kCAAkC;gBAClC,SAAS;gBACT,cAAc;gBACd,iBAAiB;gBACjB,sBAAsB,CACzB,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;aAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oEAAoE,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gBAC/C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,eAAe,cAAc,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;oBACzG,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAClC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,KAAK,CAAC,OAAO,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAC3D,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE;gBACN,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,yCAAyC;gBACtD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;aAClC;SACF,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,CAAC;aACnC,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,IAAI;gBACpD,eAAe,UAAU,CAAC,EAAE,IAAI;gBAChC,iCAAiC,CACpC,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;QACtD,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,QAAQ;YACR,MAAM;YACN,SAAS;YACT,QAAQ;YACR,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GACV,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;iBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;;gBAC7D,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,KAAK,GACT,WAAW,IAAI,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,IAAI,CACb,CAAC;gBACF,IAAI,OAAO,CAAC,IAAI;oBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,MAAM,EACN,OAAO,CAAC,OAAO,CAAC,EAAE,EAClB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAC7C,GAAG,EAAE,CAAC,SAAS,EACf,MAAM,CACP,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,MAAM;qBACT,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;qBAClC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,KAAK;gBAC7C,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE;gBACpC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBACtC,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC;YACF,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC/B,CAAC;gBACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,eAAe,MAAM,CAAC,SAAS,IAAI;oBACjC,eAAe,MAAM,CAAC,OAAO,IAAI;oBACjC,eAAe,MAAM,CAAC,YAAY,IAAI,GAAG,IAAI;oBAC7C,eAAe,MAAM,CAAC,MAAM,IAAI,CACnC,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,SAAS,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,MAAM,EACN,SAAS,EACT,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,IAAI,CACb,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;gBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,WAAW,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzD,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACpE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,OAAO,CAAC,IAAI;oBAAE,SAAS,CAAC,YAAY,CAAC,CAAC;;oBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACpD,mBAAmB,CACpB,CAAC;YACF,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,YAAY,CAAC,CAAC;;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,mBAAmB,KAAK,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,CAAC,WAAW,CAAC,CAAC;aACpC,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACnE,CAAC;YACJ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBACpD,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBAClC,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,IAAI,CACpD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC1C,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,MAAM,UAAU,GACd,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,iBAAiB,GAAG,SAAS;gBACjC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,SAAS,CAAC;oBACR,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,CACzE,CAAC;gBACJ,CAAC;gBACD,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,UAAU,CAAC,EAAE,YAAY,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;wBACzD,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,IAAI;wBAC7C,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS,IAAI,CAC/D,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACvD,gBAAgB,CAAC,IAAI,CAAC,CACvB,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;YACtD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,WAAW,CACf,IAAI,EACJ,CAAC,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAC5C,OAAO,CACR,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,KAAK,CAAC,KAAK,MAAM;oBAC5C,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CACzC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GACT,WAAW,IAAI,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,qBAAqB,CAAC,IAAI,EAAE;gBAChC,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;gBACnC,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE;gBACpE,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CACxD,CAAC;gBACF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;oBACvD,MAAM,MAAM;yBACT,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC;yBACtC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI;oBAAE,SAAS,CAAC,SAAS,CAAC,CAAC;qBAClC,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,MAAM;wBACrD,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO,KAAK,CAC5D,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM;qBACT,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;qBACtC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1B,IAAI,QAAQ;oBAAE,MAAM,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;oBACrD,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzE,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,YAAY,CAAC;YAChD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,YAAY,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,YAAY,CAAC,CAAC;;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAC3C,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;gBACrC,GAAG,OAAO;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,kBAAkB,CAC7C,UAAU,CACX,CAAC,uBAAuB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,GAAG;gBACjE,MAAM,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO,KAAK,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/dev-ui.d.ts CHANGED
@@ -1 +1 @@
1
- export declare function renderDevUI(agentName: string, nonce: string): string;
1
+ export declare function renderDevUI(agentName: string): string;
package/dist/dev-ui.js CHANGED
@@ -1,219 +1,23 @@
1
- export function renderDevUI(agentName, nonce) {
1
+ export function renderDevUI(agentName) {
2
2
  const escapedName = agentName
3
3
  .replace(/&/g, "&amp;")
4
4
  .replace(/</g, "&lt;")
5
5
  .replace(/>/g, "&gt;")
6
6
  .replace(/"/g, "&quot;")
7
7
  .replace(/'/g, "&#39;");
8
- const escapedNonce = nonce.replace(/[^A-Za-z0-9_-]/g, "");
9
- const scriptName = JSON.stringify(agentName)
10
- .replace(/</g, "\\u003c")
11
- .replace(/>/g, "\\u003e")
12
- .replace(/&/g, "\\u0026");
13
8
  return `<!doctype html>
14
9
  <html lang="en">
15
10
  <head>
16
11
  <meta charset="utf-8">
17
12
  <meta name="viewport" content="width=device-width,initial-scale=1">
18
13
  <meta name="color-scheme" content="light dark">
14
+ <meta name="opencomputer-agent" content="${escapedName}">
19
15
  <title>${escapedName} · OpenComputer dev</title>
20
- <style>
21
- :root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #171717; background: #f5f5f3; }
22
- * { box-sizing: border-box; }
23
- body { margin: 0; min-height: 100vh; }
24
- button, textarea { font: inherit; }
25
- button { cursor: pointer; }
26
- header { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid #deded9; background: #fff; }
27
- .brand { display: flex; align-items: center; gap: 10px; min-width: 0; font-weight: 700; }
28
- .mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #fff; background: #111; font-family: ui-monospace, monospace; }
29
- .agent { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
30
- .status { display: flex; align-items: center; gap: 7px; color: #666; font-size: 13px; }
31
- .dot { width: 8px; height: 8px; border-radius: 50%; background: #17a34a; }
32
- .shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); height: calc(100vh - 60px); }
33
- aside { padding: 15px 12px; border-right: 1px solid #deded9; background: #efefec; overflow-y: auto; }
34
- .new { width: 100%; height: 40px; border: 0; border-radius: 8px; color: #fff; background: #111; font-weight: 700; }
35
- .label { margin: 19px 8px 8px; color: #777; font-size: 11px; font-weight: 700; text-transform: uppercase; }
36
- .session { display: block; width: 100%; margin: 2px 0; padding: 10px; border: 0; border-radius: 8px; text-align: left; background: transparent; }
37
- .session:hover, .session.active { background: #fff; box-shadow: inset 0 0 0 1px #ddd; }
38
- .session strong, .session span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
39
- .session strong { font-size: 13px; }
40
- .session span { margin-top: 4px; color: #777; font: 11px ui-monospace, monospace; }
41
- main { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; background: #fff; }
42
- .timeline { padding: 32px max(22px, calc((100% - 820px) / 2)); overflow-y: auto; }
43
- .empty { display: grid; place-content: center; height: 100%; color: #777; text-align: center; }
44
- .empty strong { color: #222; font-size: 19px; }
45
- .empty p { margin: 8px 0 0; }
46
- .message { margin: 0 0 22px; }
47
- .message .who { margin-bottom: 7px; color: #777; font-size: 11px; font-weight: 700; text-transform: uppercase; }
48
- .message .body { line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
49
- .message.user .body { display: inline-block; max-width: 86%; padding: 10px 13px; border-radius: 9px; background: #f0f0ed; }
50
- .tool { margin: 7px 0; color: #666; font: 12px ui-monospace, monospace; }
51
- .tool.done { color: #16803c; }
52
- .tool.failed { color: #bc2727; }
53
- form { display: flex; gap: 10px; padding: 14px max(20px, calc((100% - 840px) / 2)) 18px; border-top: 1px solid #e5e5e1; }
54
- textarea { width: 100%; min-height: 50px; max-height: 180px; resize: vertical; border: 1px solid #ccc; border-radius: 9px; padding: 12px; outline: none; line-height: 1.45; }
55
- textarea:focus { border-color: #555; box-shadow: 0 0 0 2px rgba(0,0,0,.08); }
56
- .send { align-self: end; height: 43px; border: 0; border-radius: 8px; padding: 0 18px; color: #fff; background: #111; font-weight: 700; }
57
- .send:disabled { opacity: .45; cursor: default; }
58
- .error { color: #b42318; }
59
- @media (prefers-color-scheme: dark) {
60
- :root { color: #eee; background: #151515; }
61
- header, main { background: #191919; border-color: #333; }
62
- aside { background: #111; border-color: #333; }
63
- .session:hover, .session.active { background: #242424; box-shadow: inset 0 0 0 1px #3b3b3b; }
64
- .empty strong { color: #eee; }
65
- .message.user .body { background: #2b2b2b; }
66
- form { border-color: #333; }
67
- textarea { color: #eee; background: #202020; border-color: #444; }
68
- .new, .send, .mark { color: #111; background: #fff; }
69
- }
70
- @media (max-width: 720px) { .shell { grid-template-columns: 1fr; } aside { display: none; } .timeline { padding: 22px 16px; } form { padding: 12px; } }
71
- </style>
16
+ <link rel="stylesheet" href="/assets/dev-ui.css">
72
17
  </head>
73
18
  <body>
74
- <header>
75
- <div class="brand"><span class="mark">oc</span><span class="agent">${escapedName}</span></div>
76
- <div class="status"><span class="dot"></span><span id="status">Local agent</span></div>
77
- </header>
78
- <div class="shell">
79
- <aside><button class="new" id="new">New session</button><div class="label">Sessions</div><div id="sessions"></div></aside>
80
- <main>
81
- <div class="timeline" id="timeline"><div class="empty"><div><strong>Test your agent</strong><p>Create a session and send it a message.</p></div></div></div>
82
- <form id="composer"><textarea id="prompt" rows="2" placeholder="Message the agent" disabled></textarea><button class="send" id="send" disabled>Send</button></form>
83
- </main>
84
- </div>
85
- <script nonce="${escapedNonce}">
86
- (() => {
87
- "use strict";
88
- const token = new URLSearchParams(location.hash.slice(1)).get("token");
89
- const timeline = document.getElementById("timeline");
90
- const sessionsNode = document.getElementById("sessions");
91
- const prompt = document.getElementById("prompt");
92
- const send = document.getElementById("send");
93
- const status = document.getElementById("status");
94
- let sessions = [];
95
- let active = null;
96
- let assistant = null;
97
-
98
- async function api(path, init = {}) {
99
- const headers = new Headers(init.headers || {});
100
- headers.set("authorization", "Bearer " + token);
101
- if (init.body) headers.set("content-type", "application/json");
102
- const response = await fetch(path, { ...init, headers });
103
- if (!response.ok) {
104
- const body = await response.json().catch(() => ({}));
105
- throw new Error(body.message || "Request failed");
106
- }
107
- return response;
108
- }
109
- function empty(title, detail, error = false) {
110
- timeline.innerHTML = '<div class="empty' + (error ? ' error' : '') + '"><div><strong></strong><p></p></div></div>';
111
- timeline.querySelector("strong").textContent = title;
112
- timeline.querySelector("p").textContent = detail;
113
- }
114
- function message(role, text) {
115
- const node = document.createElement("div");
116
- node.className = "message " + role;
117
- const who = document.createElement("div");
118
- who.className = "who";
119
- who.textContent = role === "user" ? "You" : ${scriptName};
120
- const body = document.createElement("div");
121
- body.className = "body";
122
- body.textContent = text;
123
- node.append(who, body);
124
- timeline.append(node);
125
- timeline.scrollTop = timeline.scrollHeight;
126
- return body;
127
- }
128
- function renderSessions() {
129
- sessionsNode.innerHTML = "";
130
- for (const session of sessions) {
131
- const button = document.createElement("button");
132
- button.className = "session" + (active === session.id ? " active" : "");
133
- const title = document.createElement("strong");
134
- title.textContent = session.title || "New session";
135
- const meta = document.createElement("span");
136
- meta.textContent = session.id.slice(0, 12);
137
- button.append(title, meta);
138
- button.onclick = () => selectSession(session.id);
139
- sessionsNode.append(button);
140
- }
141
- }
142
- async function refresh() {
143
- sessions = (await (await api("/sessions")).json()).sessions;
144
- renderSessions();
145
- }
146
- async function selectSession(id) {
147
- const session = await (await api("/sessions/" + encodeURIComponent(id))).json();
148
- active = id;
149
- timeline.innerHTML = "";
150
- for (const item of session.messages) message(item.role, item.text);
151
- if (!session.messages.length) empty("Session ready", "Send the first message to this agent.");
152
- prompt.disabled = false;
153
- send.disabled = false;
154
- renderSessions();
155
- prompt.focus();
156
- }
157
- async function createSession() {
158
- const session = await (await api("/sessions", { method: "POST", body: "{}" })).json();
159
- await refresh();
160
- await selectSession(session.id);
161
- }
162
- function tool(event) {
163
- const node = document.createElement("div");
164
- node.className = "tool" + (event.type === "tool.completed" ? " done" : event.type === "tool.failed" ? " failed" : "");
165
- node.textContent = (event.type === "tool.started" ? "⚙ " : event.type === "tool.completed" ? "✓ " : "✗ ") + String(event.data.tool || "tool");
166
- timeline.append(node);
167
- }
168
- async function submit(text) {
169
- if (!active || !text) return;
170
- if (timeline.querySelector(".empty")) timeline.innerHTML = "";
171
- message("user", text);
172
- assistant = null;
173
- send.disabled = true;
174
- prompt.disabled = true;
175
- status.textContent = "Agent working…";
176
- const response = await api("/sessions/" + encodeURIComponent(active), { method: "POST", body: JSON.stringify({ prompt: text }) });
177
- const reader = response.body.getReader();
178
- const decoder = new TextDecoder();
179
- let buffered = "";
180
- while (true) {
181
- const result = await reader.read();
182
- if (result.done) break;
183
- buffered += decoder.decode(result.value, { stream: true });
184
- const lines = buffered.split("\\n");
185
- buffered = lines.pop() || "";
186
- for (const line of lines) {
187
- if (!line.trim()) continue;
188
- const event = JSON.parse(line);
189
- if (event.type === "message.delta") {
190
- if (!assistant) assistant = message("assistant", "");
191
- assistant.textContent += String(event.data.text || "");
192
- } else if (event.type === "message.completed" && !assistant) {
193
- assistant = message("assistant", String(event.data.text || ""));
194
- } else if (event.type.startsWith("tool.")) tool(event);
195
- else if (event.type === "session.failed") throw new Error(String(event.data.message || "Session failed"));
196
- }
197
- }
198
- status.textContent = "Local agent";
199
- send.disabled = false;
200
- prompt.disabled = false;
201
- await refresh();
202
- prompt.focus();
203
- }
204
- document.getElementById("new").onclick = () => createSession().catch(error => empty("Could not start session", error.message, true));
205
- document.getElementById("composer").onsubmit = event => {
206
- event.preventDefault();
207
- const text = prompt.value.trim();
208
- if (!text) return;
209
- prompt.value = "";
210
- submit(text).catch(error => { status.textContent = "Failed"; send.disabled = false; prompt.disabled = false; message("assistant", "Error: " + error.message); });
211
- };
212
- prompt.onkeydown = event => { if (event.key === "Enter" && !event.shiftKey) { event.preventDefault(); document.getElementById("composer").requestSubmit(); } };
213
- if (!token) empty("Missing dev token", "Open the complete URL printed by opencomputer dev.", true);
214
- else refresh().then(() => sessions.length ? selectSession(sessions[0].id) : createSession()).catch(error => empty("Could not connect", error.message, true));
215
- })();
216
- </script>
19
+ <div id="root"></div>
20
+ <script src="/assets/dev-ui.js" defer></script>
217
21
  </body>
218
22
  </html>`;
219
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev-ui.js","sourceRoot":"","sources":["../src/dev-ui.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,KAAa;IAC1D,MAAM,WAAW,GAAG,SAAS;SAC1B,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SACzC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5B,OAAO;;;;;;WAME,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAwDmD,WAAW;;;;;;;;;;mBAUjE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAkCuB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmGxD,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"dev-ui.js","sourceRoot":"","sources":["../src/dev-ui.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,WAAW,GAAG,SAAS;SAC1B,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1B,OAAO;;;;;;6CAMoC,WAAW;WAC7C,WAAW;;;;;;;QAOd,CAAC;AACT,CAAC"}