@tenderprompt/accounts 0.2.1 → 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/dist/main.js CHANGED
@@ -1,14 +1,17 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import { copyFile, mkdir, readFile } from "node:fs/promises";
3
3
  import { dirname, resolve } from "node:path";
4
+ import { hostname } from "node:os";
4
5
  import { AgentApiClient } from "./api.js";
6
+ import { CLI_AUTH_SCHEMA, createDefaultAuthStore, } from "./auth-store.js";
5
7
  import { labelLocalArtifact, verifyArtifact } from "./artifact.js";
6
8
  import { BUILD_ENVELOPE_FILENAME, CLI_CONFIG_SCHEMA, CLI_LINK_SCHEMA, } from "./contracts.js";
7
9
  import { CliApiError, CliError } from "./errors.js";
8
- import { loadProjectContext, normalizeApiUrl, pathExists, readBoundedFile, readToken, requiredProjectId, resolveArtifactDirectory, safeArtifactPath, writeProjectLink, } from "./files.js";
10
+ import { loadProjectContext, normalizeApiUrl, pathExists, readBoundedFile, readOptionalToken, requiredProjectId, resolveArtifactDirectory, safeArtifactPath, writeProjectLink, } from "./files.js";
11
+ import { OAuthApiClient, createPkcePair, openSystemBrowser, waitForLoopbackAuthorization, } from "./oauth.js";
9
12
  import { captureCommand, runProjectCommand } from "./processes.js";
10
13
  import { initializeStarter } from "./starter.js";
11
- export const CLI_VERSION = "0.2.1";
14
+ export const CLI_VERSION = "0.3.0";
12
15
  const DEFAULT_RUNTIME = {
13
16
  cwd: process.cwd(),
14
17
  environment: process.env,
@@ -19,6 +22,9 @@ const DEFAULT_RUNTIME = {
19
22
  sleep: async (milliseconds) => await new Promise((resolvePromise) => setTimeout(resolvePromise, milliseconds)),
20
23
  runProjectCommand,
21
24
  captureCommand,
25
+ authStore: createDefaultAuthStore(process.env),
26
+ openBrowser: openSystemBrowser,
27
+ waitForLoopbackAuthorization,
22
28
  };
23
29
  export async function runCli(argv, overrides = {}) {
24
30
  const runtime = { ...DEFAULT_RUNTIME, ...overrides };
@@ -85,6 +91,10 @@ async function execute(topic, options, cwd, runtime) {
85
91
  return { value: await buildProject(cwd, options, runtime) };
86
92
  case "auth status":
87
93
  return { value: await authStatus(cwd, options, runtime) };
94
+ case "auth login":
95
+ return { value: await authLogin(cwd, options, runtime) };
96
+ case "auth logout":
97
+ return { value: await authLogout(options, runtime) };
88
98
  case "link":
89
99
  return { value: await linkProject(cwd, options, runtime) };
90
100
  case "doctor":
@@ -103,14 +113,118 @@ async function execute(topic, options, cwd, runtime) {
103
113
  }
104
114
  async function authStatus(cwd, options, runtime) {
105
115
  const context = await optionalContext(cwd);
106
- const { client } = await authenticatedClient(cwd, context?.link ?? null, options, runtime);
107
- return await client.whoami();
116
+ const resolved = await authenticatedClient(cwd, context?.link ?? null, options, runtime);
117
+ const principal = await resolved.client.whoami();
118
+ return {
119
+ ...principal,
120
+ authentication: {
121
+ source: resolved.source,
122
+ apiUrl: resolved.apiUrl,
123
+ ...(resolved.accessTokenExpiresAt ? { accessTokenExpiresAt: resolved.accessTokenExpiresAt } : {}),
124
+ ...(resolved.source === "login" ? { storage: runtime.authStore.description() } : {}),
125
+ },
126
+ };
127
+ }
128
+ async function authLogin(cwd, options, runtime) {
129
+ const context = await optionalContext(cwd);
130
+ const apiUrl = selectedApiUrl(options, context?.link ?? null, runtime.environment);
131
+ const projectHint = options.flags.get("project") ?? context?.link?.projectId;
132
+ const clientName = options.flags.get("client-name") ?? `Tender CLI on ${hostname()}`;
133
+ const existing = await runtime.authStore.read();
134
+ if (existing && !options.booleans.has("force")) {
135
+ throw new CliError("already_authenticated", existing.pendingDevice
136
+ ? "A Tender CLI device authorization is already pending."
137
+ : "This machine already has a Tender Accounts login.", existing.pendingDevice
138
+ ? "Run tender-accounts auth status --json after approving it, or auth login --force to replace it."
139
+ : "Run tender-accounts auth status --json, or auth login --force to replace it.");
140
+ }
141
+ if (existing?.refreshToken) {
142
+ await new OAuthApiClient(existing.apiUrl, runtime.fetcher).revoke(existing.refreshToken);
143
+ }
144
+ if (existing)
145
+ await runtime.authStore.clear();
146
+ const oauth = new OAuthApiClient(apiUrl, runtime.fetcher);
147
+ if (options.booleans.has("device")) {
148
+ const device = await oauth.deviceAuthorization({ clientName, ...(projectHint ? { projectHint } : {}) });
149
+ const expiresAt = new Date(Date.now() + device.expires_in * 1000).toISOString();
150
+ const pending = {
151
+ schema: CLI_AUTH_SCHEMA,
152
+ apiUrl,
153
+ pendingDevice: {
154
+ deviceCode: device.device_code,
155
+ userCode: device.user_code,
156
+ verificationUri: device.verification_uri,
157
+ verificationUriComplete: device.verification_uri_complete,
158
+ expiresAt,
159
+ intervalSeconds: device.interval,
160
+ },
161
+ };
162
+ await runtime.authStore.write(pending);
163
+ if (!options.booleans.has("no-open"))
164
+ await runtime.openBrowser(device.verification_uri_complete);
165
+ if (!options.booleans.has("wait")) {
166
+ return {
167
+ status: "authorization_pending",
168
+ flow: "device",
169
+ userCode: device.user_code,
170
+ verificationUrl: device.verification_uri,
171
+ verificationUrlComplete: device.verification_uri_complete,
172
+ expiresAt,
173
+ next: "Approve the request, then run tender-accounts auth status --json.",
174
+ };
175
+ }
176
+ const token = await waitForDeviceToken(oauth, pending, runtime);
177
+ await saveTokenResponse(runtime.authStore, apiUrl, token);
178
+ return await authenticatedLoginSummary(apiUrl, token, runtime);
179
+ }
180
+ const pkce = createPkcePair();
181
+ const callback = await runtime.waitForLoopbackAuthorization({
182
+ timeoutMilliseconds: numberFlag(options, "timeout-seconds", 60, 900, 600) * 1000,
183
+ noOpen: options.booleans.has("no-open"),
184
+ openBrowser: runtime.openBrowser,
185
+ notify: (authorizationUrl) => runtime.stderr.write(`Open this URL to authorize Tender CLI:\n${authorizationUrl}\n`),
186
+ start: async (redirectUri) => {
187
+ const request = await oauth.createAuthorizationRequest({
188
+ clientName,
189
+ redirectUri,
190
+ codeChallenge: pkce.challenge,
191
+ state: pkce.state,
192
+ ...(projectHint ? { projectHint } : {}),
193
+ });
194
+ return { authorizationUrl: request.authorization_url, expectedState: pkce.state };
195
+ },
196
+ });
197
+ const token = await oauth.exchangeAuthorizationCode({
198
+ code: callback.code,
199
+ codeVerifier: pkce.verifier,
200
+ redirectUri: callback.redirectUri,
201
+ });
202
+ await saveTokenResponse(runtime.authStore, apiUrl, token);
203
+ return await authenticatedLoginSummary(apiUrl, token, runtime);
204
+ }
205
+ async function authLogout(options, runtime) {
206
+ if (options.booleans.has("local")) {
207
+ await runtime.authStore.clear();
208
+ return { status: "logged_out", remoteSessionRevoked: false, storage: runtime.authStore.description() };
209
+ }
210
+ const stored = await runtime.authStore.read();
211
+ if (!stored)
212
+ return { status: "not_authenticated", remoteSessionRevoked: false };
213
+ if (stored.refreshToken) {
214
+ await new OAuthApiClient(stored.apiUrl, runtime.fetcher).revoke(stored.refreshToken);
215
+ }
216
+ await runtime.authStore.clear();
217
+ return {
218
+ status: "logged_out",
219
+ remoteSessionRevoked: Boolean(stored.refreshToken),
220
+ storage: runtime.authStore.description(),
221
+ };
108
222
  }
109
223
  async function linkProject(cwd, options, runtime) {
110
224
  const context = await loadProjectContext(cwd);
111
225
  const apiUrl = selectedApiUrl(options, context.link, runtime.environment);
112
- const token = await readToken(context.root, runtime.environment, options.booleans.has("token-stdin") ? runtime.stdin : undefined);
113
- const principal = await new AgentApiClient(apiUrl, token, runtime.fetcher).whoami();
226
+ const { client } = await authenticatedClient(context.root, context.link, options, runtime);
227
+ const principal = await client.whoami();
114
228
  const requested = options.flags.get("project");
115
229
  const project = requested
116
230
  ? principal.projects.find((candidate) => candidate.projectId === requiredProjectId(requested))
@@ -283,8 +397,23 @@ async function deliveryRetry(cwd, options, runtime) {
283
397
  }
284
398
  async function authenticatedClient(cwd, link, options, runtime) {
285
399
  const apiUrl = selectedApiUrl(options, link, runtime.environment);
286
- const token = await readToken(cwd, runtime.environment, options.booleans.has("token-stdin") ? runtime.stdin : undefined);
287
- return { client: new AgentApiClient(apiUrl, token, runtime.fetcher), apiUrl };
400
+ const stdin = options.booleans.has("token-stdin") ? runtime.stdin : undefined;
401
+ const explicit = await readOptionalToken(cwd, runtime.environment, stdin);
402
+ if (explicit) {
403
+ const source = stdin
404
+ ? "stdin"
405
+ : runtime.environment.TENDER_ACCOUNTS_TOKEN
406
+ ? "environment"
407
+ : "dev-vars";
408
+ return { client: new AgentApiClient(apiUrl, explicit, runtime.fetcher), apiUrl, source };
409
+ }
410
+ const stored = await resolveStoredLogin(apiUrl, runtime);
411
+ return {
412
+ client: new AgentApiClient(apiUrl, stored.accessToken, runtime.fetcher),
413
+ apiUrl,
414
+ source: "login",
415
+ accessTokenExpiresAt: stored.accessTokenExpiresAt,
416
+ };
288
417
  }
289
418
  function selectedApiUrl(options, link, environment) {
290
419
  return normalizeApiUrl(options.flags.get("api-url")
@@ -292,6 +421,92 @@ function selectedApiUrl(options, link, environment) {
292
421
  ?? link?.apiUrl
293
422
  ?? "https://agents.tenderprompt.dev");
294
423
  }
424
+ async function resolveStoredLogin(apiUrl, runtime) {
425
+ let stored = await runtime.authStore.read();
426
+ if (!stored) {
427
+ throw new CliError("authentication_required", "No Tender Accounts credential or CLI login was found.", "tender-accounts auth login");
428
+ }
429
+ if (stored.apiUrl !== apiUrl) {
430
+ throw new CliError("auth_origin_mismatch", `The stored login belongs to ${stored.apiUrl}, not ${apiUrl}.`, `tender-accounts auth login --api-url ${apiUrl} --force`);
431
+ }
432
+ const oauth = new OAuthApiClient(apiUrl, runtime.fetcher);
433
+ if (stored.pendingDevice) {
434
+ const pendingDevice = stored.pendingDevice;
435
+ if (Date.parse(pendingDevice.expiresAt) <= Date.now()) {
436
+ await runtime.authStore.clear();
437
+ throw new CliError("device_authorization_expired", "The pending device authorization expired.", "tender-accounts auth login --device --json");
438
+ }
439
+ try {
440
+ const token = await oauth.exchangeDeviceCode(pendingDevice.deviceCode);
441
+ stored = await saveTokenResponse(runtime.authStore, apiUrl, token);
442
+ }
443
+ catch (error) {
444
+ if (error instanceof CliApiError && error.code === "authorization_pending") {
445
+ throw new CliError("authorization_pending", `Approve Tender CLI with code ${pendingDevice.userCode}.`, `Open ${pendingDevice.verificationUriComplete}, then run tender-accounts auth status --json.`);
446
+ }
447
+ throw error;
448
+ }
449
+ }
450
+ if (!stored.accessToken || !stored.accessTokenExpiresAt || !stored.refreshToken || !stored.refreshTokenExpiresAt) {
451
+ throw new CliError("authentication_required", "The stored Tender Accounts login is incomplete.", "tender-accounts auth login --force");
452
+ }
453
+ if (Date.parse(stored.refreshTokenExpiresAt) <= Date.now()) {
454
+ await runtime.authStore.clear();
455
+ throw new CliError("authentication_expired", "The Tender Accounts login expired.", "tender-accounts auth login");
456
+ }
457
+ if (Date.parse(stored.accessTokenExpiresAt) <= Date.now() + 30_000) {
458
+ const token = await oauth.refresh(stored.refreshToken);
459
+ stored = await saveTokenResponse(runtime.authStore, apiUrl, token);
460
+ }
461
+ if (!stored.accessToken || !stored.accessTokenExpiresAt) {
462
+ throw new CliError("authentication_required", "Tender Accounts could not restore the stored login.", "tender-accounts auth login --force");
463
+ }
464
+ return { accessToken: stored.accessToken, accessTokenExpiresAt: stored.accessTokenExpiresAt };
465
+ }
466
+ async function saveTokenResponse(store, apiUrl, token) {
467
+ const now = Date.now();
468
+ const stored = {
469
+ schema: CLI_AUTH_SCHEMA,
470
+ apiUrl,
471
+ accessToken: token.access_token,
472
+ accessTokenExpiresAt: new Date(now + token.expires_in * 1000).toISOString(),
473
+ refreshToken: token.refresh_token,
474
+ refreshTokenExpiresAt: new Date(now + token.refresh_expires_in * 1000).toISOString(),
475
+ };
476
+ await store.write(stored);
477
+ return stored;
478
+ }
479
+ async function waitForDeviceToken(oauth, pending, runtime) {
480
+ const device = pending.pendingDevice;
481
+ if (!device)
482
+ throw new CliError("device_authorization_missing", "The device authorization was not saved.");
483
+ while (Date.parse(device.expiresAt) > Date.now()) {
484
+ try {
485
+ return await oauth.exchangeDeviceCode(device.deviceCode);
486
+ }
487
+ catch (error) {
488
+ if (!(error instanceof CliApiError && error.code === "authorization_pending"))
489
+ throw error;
490
+ await runtime.sleep(device.intervalSeconds * 1000);
491
+ }
492
+ }
493
+ await runtime.authStore.clear();
494
+ throw new CliError("device_authorization_expired", "The device authorization expired.", "tender-accounts auth login --device --json");
495
+ }
496
+ async function authenticatedLoginSummary(apiUrl, token, runtime) {
497
+ const principal = await new AgentApiClient(apiUrl, token.access_token, runtime.fetcher).whoami();
498
+ return {
499
+ status: "authenticated",
500
+ flow: "oauth",
501
+ apiUrl,
502
+ ownerEmail: principal.ownerEmail,
503
+ tenantId: principal.tenantId,
504
+ projects: principal.projects,
505
+ accessTokenExpiresAt: new Date(Date.now() + token.expires_in * 1000).toISOString(),
506
+ storage: runtime.authStore.description(),
507
+ containsCredential: false,
508
+ };
509
+ }
295
510
  async function sourceState(root, runtime) {
296
511
  let revision;
297
512
  try {
@@ -424,7 +639,10 @@ function commandTopic(argv) {
424
639
  function parseOptions(values) {
425
640
  const flags = new Map();
426
641
  const booleans = new Set();
427
- const booleanNames = new Set(["json", "token-stdin", "dry-run", "no-wait", "force"]);
642
+ const booleanNames = new Set([
643
+ "json", "token-stdin", "dry-run", "no-wait", "force",
644
+ "device", "wait", "no-open", "local",
645
+ ]);
428
646
  for (let index = 0; index < values.length; index += 1) {
429
647
  const raw = values[index];
430
648
  if (!raw?.startsWith("--"))
@@ -460,6 +678,8 @@ function assertAllowedOptions(topic, options) {
460
678
  check: common,
461
679
  build: common,
462
680
  "auth status": [...common, ...authentication],
681
+ "auth login": [...common, "api-url", "project", "client-name", "timeout-seconds", "device", "wait", "no-open", "force"],
682
+ "auth logout": [...common, "local"],
463
683
  link: [...common, ...authentication, "project"],
464
684
  doctor: [...common, ...authentication],
465
685
  preview: [
@@ -528,8 +748,10 @@ function writeOutput(value, options, runtime) {
528
748
  function helpText(topic) {
529
749
  const topics = {
530
750
  init: "Usage: tender-accounts init --name NAME [--slug SLUG] [--directory PATH] [--template shopify-customer-account] [--dry-run] [--json]\n\nCreate a new merchant-owned Shopify gateway and React portal in an empty directory.\n\nExamples:\n tender-accounts init --name \"Acme account\" --directory ./acme-account\n tender-accounts init --name \"Acme account\" --directory ./acme-account --dry-run --json",
531
- auth: "Usage: tender-accounts auth status [--api-url URL] [--json]",
532
- "auth status": "Usage: tender-accounts auth status [--api-url URL] [--token-stdin] [--json]\n\nValidate the current project-scoped credential and list its permitted projects.",
751
+ auth: "Usage: tender-accounts auth <login|status|logout> [options]",
752
+ "auth login": "Usage: tender-accounts auth login [--device] [--project PROJECT_ID] [--no-open] [--wait] [--force] [--json]\n\nSign in through Tender and authorize exact developer projects. Browser-capable terminals use Authorization Code with PKCE. --device returns an agent-safe approval URL and code; add --wait to keep polling.\n\nExamples:\n tender-accounts auth login\n tender-accounts auth login --device --json\n tender-accounts auth login --device --project prj_... --no-open --json",
753
+ "auth status": "Usage: tender-accounts auth status [--api-url URL] [--token-stdin] [--json]\n\nValidate the current login or explicit project-scoped credential and list its permitted projects. A pending device login is exchanged after browser approval.",
754
+ "auth logout": "Usage: tender-accounts auth logout [--local] [--json]\n\nRevoke the stored Tender CLI session and remove it from this machine. --local removes only the local copy.\n\nExamples:\n tender-accounts auth logout --json\n tender-accounts auth logout --local --json",
533
755
  link: "Usage: tender-accounts link [--project PROJECT_ID] [--api-url URL] [--json]\n\nLink this app checkout to exactly one project permitted by the current credential.",
534
756
  doctor: "Usage: tender-accounts doctor [--json]\n\nValidate configuration, authentication, project scope, and local artifact readiness.",
535
757
  dev: "Usage: tender-accounts dev\n\nRun the app's declared local development command. This starts local development and does not create a Tender deployment.",
@@ -548,7 +770,7 @@ function helpText(topic) {
548
770
  };
549
771
  if (topic && topics[topic])
550
772
  return topics[topic];
551
- return `Tender Accounts merchant developer CLI ${CLI_VERSION}\n\nCommands:\n init Create a new Shopify account starter\n auth status Validate the current scoped credential\n link Link this checkout to one permitted project\n doctor Check developer readiness\n dev Run the project-owned local dev command\n check Run project validation\n build Package and verify a portable artifact\n preview Build and deploy an exact preview\n delivery status Read preview workflow state\n delivery preview Mint a fresh preview session\n delivery retry Retry a failed preview workflow\n skill install Install the Tender Accounts agent skill\n config example Print the project configuration contract\n\nThere is intentionally no production publish command.\nRun tender-accounts <command> --help for examples.`;
773
+ return `Tender Accounts merchant developer CLI ${CLI_VERSION}\n\nCommands:\n init Create a new Shopify account starter\n auth login Sign in and choose exact project access\n auth status Validate the current login or scoped credential\n auth logout Revoke the stored CLI login\n link Link this checkout to one permitted project\n doctor Check developer readiness\n dev Run the project-owned local dev command\n check Run project validation\n build Package and verify a portable artifact\n preview Build and deploy an exact preview\n delivery status Read preview workflow state\n delivery preview Mint a fresh preview session\n delivery retry Retry a failed preview workflow\n skill install Install the Tender Accounts agent skill\n config example Print the project configuration contract\n\nThere is intentionally no production publish command.\nRun tender-accounts <command> --help for examples.`;
552
774
  }
553
775
  function normalizeError(error) {
554
776
  if (error instanceof CliApiError) {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ export declare const CLI_OAUTH_CLIENT_ID = "tender-accounts-cli";
2
+ export interface OAuthTokenResponse {
3
+ token_type: "Bearer";
4
+ access_token: string;
5
+ expires_in: number;
6
+ refresh_token: string;
7
+ refresh_expires_in: number;
8
+ scope: string;
9
+ }
10
+ export interface DeviceAuthorizationResponse {
11
+ device_code: string;
12
+ user_code: string;
13
+ verification_uri: string;
14
+ verification_uri_complete: string;
15
+ expires_in: number;
16
+ interval: number;
17
+ }
18
+ export declare class OAuthApiClient {
19
+ private readonly baseUrl;
20
+ private readonly fetcher;
21
+ constructor(baseUrl: string, fetcher?: typeof fetch);
22
+ createAuthorizationRequest(input: {
23
+ clientName: string;
24
+ redirectUri: string;
25
+ codeChallenge: string;
26
+ state: string;
27
+ projectHint?: string;
28
+ }): Promise<{
29
+ request_id: string;
30
+ authorization_url: string;
31
+ expires_at: string;
32
+ }>;
33
+ deviceAuthorization(input: {
34
+ clientName: string;
35
+ projectHint?: string;
36
+ }): Promise<DeviceAuthorizationResponse>;
37
+ exchangeAuthorizationCode(input: {
38
+ code: string;
39
+ codeVerifier: string;
40
+ redirectUri: string;
41
+ }): Promise<OAuthTokenResponse>;
42
+ exchangeDeviceCode(deviceCode: string): Promise<OAuthTokenResponse>;
43
+ refresh(refreshToken: string): Promise<OAuthTokenResponse>;
44
+ revoke(refreshToken: string): Promise<void>;
45
+ private form;
46
+ private json;
47
+ }
48
+ export declare function createPkcePair(): {
49
+ verifier: string;
50
+ challenge: string;
51
+ state: string;
52
+ };
53
+ export declare function waitForLoopbackAuthorization(input: {
54
+ timeoutMilliseconds: number;
55
+ start(redirectUri: string): Promise<{
56
+ authorizationUrl: string;
57
+ expectedState: string;
58
+ }>;
59
+ openBrowser(url: string): Promise<boolean>;
60
+ noOpen: boolean;
61
+ notify(url: string): void;
62
+ }): Promise<{
63
+ code: string;
64
+ redirectUri: string;
65
+ }>;
66
+ export declare function openSystemBrowser(url: string): Promise<boolean>;
67
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAtE,YAA6B,OAAO,EAAE,MAAM,EAAmB,OAAO,GAAE,OAAO,KAAa,EAAI;IAEhG,0BAA0B,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAajF;IAED,mBAAmB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAM7G;IAED,yBAAyB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQzH;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMlE;IAED,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMzD;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhD;IAED,OAAO,CAAC,IAAI;YAQE,IAAI;CAqBnB;AAED,wBAAgB,cAAc,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOvF;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CA0DjD;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcrE"}