@cotal-ai/workspace 0.16.0 → 0.17.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/auth-paths.d.ts +38 -0
- package/dist/auth-paths.d.ts.map +1 -1
- package/dist/auth-paths.js +102 -13
- package/dist/auth-paths.js.map +1 -1
- package/dist/broker-policy.d.ts +33 -0
- package/dist/broker-policy.d.ts.map +1 -0
- package/dist/broker-policy.js +98 -0
- package/dist/broker-policy.js.map +1 -0
- package/dist/connect.d.ts +44 -1
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +110 -16
- package/dist/connect.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mesh-registry.d.ts +28 -5
- package/dist/mesh-registry.d.ts.map +1 -1
- package/dist/mesh-registry.js +13 -5
- package/dist/mesh-registry.js.map +1 -1
- package/dist/mesh-target.d.ts +5 -0
- package/dist/mesh-target.d.ts.map +1 -1
- package/dist/mesh-target.js +3 -1
- package/dist/mesh-target.js.map +1 -1
- package/dist/pid.d.ts +49 -0
- package/dist/pid.d.ts.map +1 -0
- package/dist/pid.js +53 -0
- package/dist/pid.js.map +1 -0
- package/dist/preflight.d.ts +6 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +91 -1
- package/dist/preflight.js.map +1 -1
- package/dist/render.d.ts +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +15 -4
- package/dist/render.js.map +1 -1
- package/dist/system-rotation.d.ts +89 -0
- package/dist/system-rotation.d.ts.map +1 -0
- package/dist/system-rotation.js +142 -0
- package/dist/system-rotation.js.map +1 -0
- package/package.json +2 -2
package/dist/auth-paths.d.ts
CHANGED
|
@@ -63,6 +63,13 @@ export declare function agentSecretSegment(name: string): string;
|
|
|
63
63
|
export declare const agentCredsKey: (name: string) => string;
|
|
64
64
|
export declare const agentActorTokenKey: (name: string) => string;
|
|
65
65
|
export declare const agentSentinelCredsKey: (name: string) => string;
|
|
66
|
+
/** Lifecycle-keyed {@link SecretStore} keys of one INCARNATION's secret family — the
|
|
67
|
+
* per-incarnation counterparts of the standing name-keyed keys above, for any endpoint that
|
|
68
|
+
* provisions managed lifecycles (the manager is the first client; delivery and future endpoints
|
|
69
|
+
* ride the same seam). See {@link agentIncarnationBase} for why the uid is embedded. */
|
|
70
|
+
export declare const agentLifecycleCredsKey: (name: string, lifecycleUid: string) => string;
|
|
71
|
+
export declare const agentLifecycleActorTokenKey: (name: string, lifecycleUid: string) => string;
|
|
72
|
+
export declare const agentLifecycleSentinelCredsKey: (name: string, lifecycleUid: string) => string;
|
|
66
73
|
/** The FS materialization paths of one agent's secret family (plus its non-secret health file) —
|
|
67
74
|
* built from the SAME filename source as the key builders. These are the paths subprocesses read
|
|
68
75
|
* (the bearer re-exec's `--token-file`, a launch's creds handoff), never an alternate source of
|
|
@@ -73,6 +80,17 @@ export declare function agentSecretFilePaths(root: string, name: string): {
|
|
|
73
80
|
sentinelCreds: string;
|
|
74
81
|
health: string;
|
|
75
82
|
};
|
|
83
|
+
/** The lifecycle-keyed FS materialization paths of one INCARNATION's secret family (plus its
|
|
84
|
+
* non-secret health file) — same projection rule as {@link agentSecretFilePaths}, built from the
|
|
85
|
+
* {@link agentIncarnationBase} so a retired incarnation's teardown can never address a same-alias
|
|
86
|
+
* successor's files. */
|
|
87
|
+
export declare function agentLifecycleSecretFilePaths(root: string, name: string, lifecycleUid: string): {
|
|
88
|
+
creds: string;
|
|
89
|
+
actorToken: string;
|
|
90
|
+
sentinelCreds: string;
|
|
91
|
+
health: string;
|
|
92
|
+
};
|
|
93
|
+
export declare function agentSecretKeyForFile(path: string): string;
|
|
76
94
|
/** Enumerate the store keys of every per-agent standing secret currently materialized under this
|
|
77
95
|
* root — the reset/backstop sweep (`clean all`; despawn owns the primary delete). Deliberately
|
|
78
96
|
* filename-driven over the LOCAL creds dir: this surface is the FS composition (a hosted reset
|
|
@@ -93,6 +111,26 @@ export declare function materializeSecretToFile(store: SecretStore, key: string,
|
|
|
93
111
|
export declare function findCotalRoot(start?: string): string;
|
|
94
112
|
/** Where the one broker trust record lives. */
|
|
95
113
|
export declare function brokerAuthPath(dir: string): string;
|
|
114
|
+
/** The persisted MANAGER INSTANCE identity (P2 item 3, SPEC 13.6 item 7): the LOGICAL instanceId
|
|
115
|
+
* (stable across restart, so a restart re-registers the SAME id with an ADVANCED epoch and the
|
|
116
|
+
* (i) fence bites) + the serve nkey identity (so re-registration reuses the SAME gate principal —
|
|
117
|
+
* provisionEndpointGateOpen stays idempotent, no core barrier change, and eviction targets a
|
|
118
|
+
* stable principal). Holds a private seed, so it lands in a HARDENED secret file, space-scoped by
|
|
119
|
+
* a hex key (an authDir is a shared namespace; a raw space token can collide/case-fold). */
|
|
120
|
+
export interface ManagerInstanceIdentity {
|
|
121
|
+
instanceId: string;
|
|
122
|
+
serveIdentity: {
|
|
123
|
+
id: string;
|
|
124
|
+
seed: string;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/** Load this workspace root's persisted manager instance identity for `space`, or undefined if a
|
|
128
|
+
* manager has never registered here. A present-but-MALFORMED file fails LOUD: minting a fresh id
|
|
129
|
+
* over it would orphan the prior registration and break the restart-fence guarantee, so a restart
|
|
130
|
+
* never silently becomes a fresh instance (no-fallbacks). */
|
|
131
|
+
export declare function loadManagerInstanceIdentity(root: string, space: string): ManagerInstanceIdentity | undefined;
|
|
132
|
+
/** Persist this workspace root's manager instance identity for `space` (hardened secret file). */
|
|
133
|
+
export declare function saveManagerInstanceIdentity(root: string, space: string, identity: ManagerInstanceIdentity): void;
|
|
96
134
|
/** Where one space's own account record lives: a FLAT file beside `broker.json`, keyed by
|
|
97
135
|
* {@link accountFileKey}. Flat (not `<space>/account.json`) because `<authDir>/<space>/` is
|
|
98
136
|
* {@link userAuthStateDir}; hex-keyed because a raw space name in the filename both aliased that
|
package/dist/auth-paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-paths.d.ts","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"auth-paths.d.ts","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"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"}
|
package/dist/auth-paths.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, lstatSync, readFileSync, readdirSync, renameSync, statSync } from "node:fs";
|
|
2
|
-
import { join, dirname, resolve } from "node:path";
|
|
3
|
-
import { composeSpaceAuth, jwtIssuedAt, mkSecretDir, validateSpaceAuthForRead, writeSecretFile, writeSecretFileAtomic, } from "@cotal-ai/core";
|
|
2
|
+
import { join, dirname, resolve, basename } from "node:path";
|
|
3
|
+
import { assertLifecycleToken, composeSpaceAuth, jwtIssuedAt, mkSecretDir, validateSpaceAuthForRead, writeSecretFile, writeSecretFileAtomic, } from "@cotal-ai/core";
|
|
4
4
|
/**
|
|
5
5
|
* On-disk auth-material I/O for a local checkout's `.cotal/` — machine-local path resolution plus
|
|
6
6
|
* reading/writing the space trust material. Lives in `@cotal-ai/workspace` (not core) because it's a
|
|
@@ -240,31 +240,88 @@ export function agentSecretSegment(name) {
|
|
|
240
240
|
// One filename source per kind — the store key and the materialized path project the SAME name,
|
|
241
241
|
// so the two can never drift apart (the `DELIVERY_CREDS_KEY` lesson, per kind).
|
|
242
242
|
const agentFile = {
|
|
243
|
-
creds: (
|
|
244
|
-
actorToken: (
|
|
245
|
-
sentinelCreds: (
|
|
243
|
+
creds: (base) => `${base}.creds`,
|
|
244
|
+
actorToken: (base) => `${base}.actor-token`,
|
|
245
|
+
sentinelCreds: (base) => `${base}.sentinel.creds`,
|
|
246
246
|
};
|
|
247
|
+
/** The per-INCARNATION filename base `<name>.<lifecycleUid>` (SPEC 13.1 naming discipline brought
|
|
248
|
+
* to the FS): an endpoint-provisioned incarnation's secret family embeds its lifecycle UID, so a
|
|
249
|
+
* stale or replayed teardown for a retired incarnation addresses names a same-alias successor
|
|
250
|
+
* never uses. The separator is a `.` — a character {@link agentSecretSegment} REFUSES in a
|
|
251
|
+
* standing name — so the two families are STRUCTURALLY disjoint: no legal standing alias can
|
|
252
|
+
* spell an incarnation base (`worker-<uid>` the standing name maps to `worker-<uid>.creds`;
|
|
253
|
+
* `worker` at that uid maps to `worker.<uid>.creds`). Disjointness is grammar, not uid entropy —
|
|
254
|
+
* a standing alias is chosen, not sampled, so entropy alone guarantees nothing. Standing
|
|
255
|
+
* OPERATOR secrets (`cotal mint`, setup-seeded creds) stay on the name-keyed builders below —
|
|
256
|
+
* they have no lifecycle. */
|
|
257
|
+
function agentIncarnationBase(name, lifecycleUid) {
|
|
258
|
+
return `${agentSecretSegment(name)}.${assertLifecycleToken(lifecycleUid)}`;
|
|
259
|
+
}
|
|
247
260
|
/** Canonical {@link SecretStore} keys of the per-agent standing secrets, mirroring today's
|
|
248
261
|
* `.cotal/auth/creds/<name>.<kind>` layout byte-for-byte under the workspace FS composition.
|
|
249
262
|
* `<name>.creds` is the static-auth scoped cred; the actor token + sentinel cred are the
|
|
250
263
|
* user-mode pair a spawn mints. The transient `<name>.auth-health.json` is runtime state, NOT a
|
|
251
264
|
* secret kind — it stays plain-file. */
|
|
252
|
-
export const agentCredsKey = (name) => `auth/creds/${agentFile.creds(name)}`;
|
|
253
|
-
export const agentActorTokenKey = (name) => `auth/creds/${agentFile.actorToken(name)}`;
|
|
254
|
-
export const agentSentinelCredsKey = (name) => `auth/creds/${agentFile.sentinelCreds(name)}`;
|
|
265
|
+
export const agentCredsKey = (name) => `auth/creds/${agentFile.creds(agentSecretSegment(name))}`;
|
|
266
|
+
export const agentActorTokenKey = (name) => `auth/creds/${agentFile.actorToken(agentSecretSegment(name))}`;
|
|
267
|
+
export const agentSentinelCredsKey = (name) => `auth/creds/${agentFile.sentinelCreds(agentSecretSegment(name))}`;
|
|
268
|
+
/** Lifecycle-keyed {@link SecretStore} keys of one INCARNATION's secret family — the
|
|
269
|
+
* per-incarnation counterparts of the standing name-keyed keys above, for any endpoint that
|
|
270
|
+
* provisions managed lifecycles (the manager is the first client; delivery and future endpoints
|
|
271
|
+
* ride the same seam). See {@link agentIncarnationBase} for why the uid is embedded. */
|
|
272
|
+
export const agentLifecycleCredsKey = (name, lifecycleUid) => `auth/creds/${agentFile.creds(agentIncarnationBase(name, lifecycleUid))}`;
|
|
273
|
+
export const agentLifecycleActorTokenKey = (name, lifecycleUid) => `auth/creds/${agentFile.actorToken(agentIncarnationBase(name, lifecycleUid))}`;
|
|
274
|
+
export const agentLifecycleSentinelCredsKey = (name, lifecycleUid) => `auth/creds/${agentFile.sentinelCreds(agentIncarnationBase(name, lifecycleUid))}`;
|
|
255
275
|
/** The FS materialization paths of one agent's secret family (plus its non-secret health file) —
|
|
256
276
|
* built from the SAME filename source as the key builders. These are the paths subprocesses read
|
|
257
277
|
* (the bearer re-exec's `--token-file`, a launch's creds handoff), never an alternate source of
|
|
258
278
|
* truth: under the local FS composition each path IS its key's storage location. */
|
|
259
279
|
export function agentSecretFilePaths(root, name) {
|
|
260
280
|
const dir = agentCredsDir(root);
|
|
281
|
+
const base = agentSecretSegment(name);
|
|
282
|
+
return {
|
|
283
|
+
creds: join(dir, agentFile.creds(base)),
|
|
284
|
+
actorToken: join(dir, agentFile.actorToken(base)),
|
|
285
|
+
sentinelCreds: join(dir, agentFile.sentinelCreds(base)),
|
|
286
|
+
health: join(dir, `${base}.auth-health.json`),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/** The lifecycle-keyed FS materialization paths of one INCARNATION's secret family (plus its
|
|
290
|
+
* non-secret health file) — same projection rule as {@link agentSecretFilePaths}, built from the
|
|
291
|
+
* {@link agentIncarnationBase} so a retired incarnation's teardown can never address a same-alias
|
|
292
|
+
* successor's files. */
|
|
293
|
+
export function agentLifecycleSecretFilePaths(root, name, lifecycleUid) {
|
|
294
|
+
const dir = agentCredsDir(root);
|
|
295
|
+
const base = agentIncarnationBase(name, lifecycleUid);
|
|
261
296
|
return {
|
|
262
|
-
creds: join(dir, agentFile.creds(
|
|
263
|
-
actorToken: join(dir, agentFile.actorToken(
|
|
264
|
-
sentinelCreds: join(dir, agentFile.sentinelCreds(
|
|
265
|
-
health: join(dir, `${
|
|
297
|
+
creds: join(dir, agentFile.creds(base)),
|
|
298
|
+
actorToken: join(dir, agentFile.actorToken(base)),
|
|
299
|
+
sentinelCreds: join(dir, agentFile.sentinelCreds(base)),
|
|
300
|
+
health: join(dir, `${base}.auth-health.json`),
|
|
266
301
|
};
|
|
267
302
|
}
|
|
303
|
+
/** The store key of a materialized agent-secret FILE — `auth/creds/<basename>`, the same projection
|
|
304
|
+
* the builders above apply, for callers that hold a RECORDED path (a resume inventory, a manifest
|
|
305
|
+
* ledger) rather than the (name, uid) coordinates: under mixed generations the recorded path is
|
|
306
|
+
* the truth, and its key must be derived from the SAME filename, never re-derived from the name
|
|
307
|
+
* alone (which would silently address a different generation's row). Refuses a filename that no
|
|
308
|
+
* valid provisioning could have written. */
|
|
309
|
+
/** The exact filename-base grammar the two builder families can produce — a standing name
|
|
310
|
+
* ({@link agentSecretSegment}'s alphabet, no `.`) or an incarnation base `<name>.<uid>`
|
|
311
|
+
* ({@link agentIncarnationBase}). Anything else is a stray no valid provisioning wrote. */
|
|
312
|
+
const PROVISIONABLE_BASE = /^[A-Za-z0-9_-]+(\.[a-z0-9]{26,32})?$/;
|
|
313
|
+
export function agentSecretKeyForFile(path) {
|
|
314
|
+
const file = basename(path);
|
|
315
|
+
for (const suffix of [".sentinel.creds", ".actor-token", ".creds"]) {
|
|
316
|
+
if (!file.endsWith(suffix))
|
|
317
|
+
continue;
|
|
318
|
+
const base = file.slice(0, -suffix.length);
|
|
319
|
+
if (!PROVISIONABLE_BASE.test(base))
|
|
320
|
+
throw new Error(`"${file}" is not a provisionable agent-secret filename (a standing name, or <name>.<lifecycleUid>)`);
|
|
321
|
+
return `auth/creds/${file}`;
|
|
322
|
+
}
|
|
323
|
+
throw new Error(`"${file}" is not an agent-secret filename (expected a .creds / .actor-token / .sentinel.creds suffix)`);
|
|
324
|
+
}
|
|
268
325
|
/** Enumerate the store keys of every per-agent standing secret currently materialized under this
|
|
269
326
|
* root — the reset/backstop sweep (`clean all`; despawn owns the primary delete). Deliberately
|
|
270
327
|
* filename-driven over the LOCAL creds dir: this surface is the FS composition (a hosted reset
|
|
@@ -287,7 +344,7 @@ export function agentSecretKeysUnder(root) {
|
|
|
287
344
|
if (!file.endsWith(suffix))
|
|
288
345
|
continue;
|
|
289
346
|
const base = file.slice(0, -suffix.length);
|
|
290
|
-
if (
|
|
347
|
+
if (PROVISIONABLE_BASE.test(base))
|
|
291
348
|
keys.push(`auth/creds/${file}`);
|
|
292
349
|
break; // longest match decides; a rejected base is a stray either way
|
|
293
350
|
}
|
|
@@ -340,6 +397,38 @@ const SPACE_ACCOUNT_SUFFIX = ".json";
|
|
|
340
397
|
export function brokerAuthPath(dir) {
|
|
341
398
|
return join(dir, BROKER_FILE);
|
|
342
399
|
}
|
|
400
|
+
function managerInstanceFile(root, space) {
|
|
401
|
+
return join(authDir(root), `manager-instance.${Buffer.from(space, "utf8").toString("hex")}.json`);
|
|
402
|
+
}
|
|
403
|
+
/** Load this workspace root's persisted manager instance identity for `space`, or undefined if a
|
|
404
|
+
* manager has never registered here. A present-but-MALFORMED file fails LOUD: minting a fresh id
|
|
405
|
+
* over it would orphan the prior registration and break the restart-fence guarantee, so a restart
|
|
406
|
+
* never silently becomes a fresh instance (no-fallbacks). */
|
|
407
|
+
export function loadManagerInstanceIdentity(root, space) {
|
|
408
|
+
const f = managerInstanceFile(root, space);
|
|
409
|
+
if (!existsSync(f))
|
|
410
|
+
return undefined;
|
|
411
|
+
let parsed;
|
|
412
|
+
try {
|
|
413
|
+
parsed = JSON.parse(readFileSync(f, "utf8"));
|
|
414
|
+
}
|
|
415
|
+
catch (e) {
|
|
416
|
+
throw new Error(`the persisted manager instance identity at ${f} does not parse (${e.message}); refusing to mint a fresh id over it - a restart must preserve the logical instanceId (SPEC 13.6)`);
|
|
417
|
+
}
|
|
418
|
+
if (parsed === null || typeof parsed !== "object"
|
|
419
|
+
|| typeof parsed.instanceId !== "string" || parsed.instanceId.length === 0
|
|
420
|
+
|| parsed.serveIdentity === null || typeof parsed.serveIdentity !== "object"
|
|
421
|
+
|| typeof parsed.serveIdentity.id !== "string" || parsed.serveIdentity.id.length === 0
|
|
422
|
+
|| typeof parsed.serveIdentity.seed !== "string" || parsed.serveIdentity.seed.length === 0)
|
|
423
|
+
throw new Error(`the persisted manager instance identity at ${f} is malformed; refusing to mint a fresh id over it - a restart must preserve the logical instanceId (SPEC 13.6)`);
|
|
424
|
+
return { instanceId: parsed.instanceId, serveIdentity: { id: parsed.serveIdentity.id, seed: parsed.serveIdentity.seed } };
|
|
425
|
+
}
|
|
426
|
+
/** Persist this workspace root's manager instance identity for `space` (hardened secret file). */
|
|
427
|
+
export function saveManagerInstanceIdentity(root, space, identity) {
|
|
428
|
+
const dir = authDir(root);
|
|
429
|
+
mkSecretDir(dir); // harden the auth dir BEFORE the secret (with its seed) lands
|
|
430
|
+
writeSecretFile(managerInstanceFile(root, space), JSON.stringify(identity, null, 2));
|
|
431
|
+
}
|
|
343
432
|
/** The account file's key IS {@link spaceKey} — one injective, case-safe encoder for every
|
|
344
433
|
* tenant-keyed namespace. The space's real name rides in the document, never inferred from the
|
|
345
434
|
* key alone. */
|
package/dist/auth-paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-paths.js","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GAKtB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;GASG;AAEH,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;gGAMgG;AAChG,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;QACjC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wEAAwE,CAAC,CAAC;IACrG,kGAAkG;IAClG,2FAA2F;IAC3F,6FAA6F;IAC7F,8FAA8F;IAC9F,+FAA+F;IAC/F,kFAAkF;IAClF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qFAAqF,CAAC,CAAC;IAClH,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED;;;;iGAIiG;AACjG,SAAS,mBAAmB,CAAC,CAAS;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,2BAA2B;YAClF,CAAC,EAAE,CAAC,CAAC,iCAAiC;QACxC,CAAC;aAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,CAAC,qBAAqB;QACrC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;4DAK4D;AAC5D,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC;;qFAEqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;4FAY4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;mCAamC;AACnC,SAAS,0BAA0B,CAAC,IAAY,EAAE,KAAa,EAAE,SAAiB;IAChF,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,kGAAkG;IAClG,gGAAgG;IAChG,+FAA+F;IAC/F,6FAA6F;IAC7F,iGAAiG;IACjG,4BAA4B;IAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IACpC,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC3D,MAAM,CAAC,CAAC;IACV,CAAC;IACD,+FAA+F;IAC/F,iFAAiF;IACjF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;QAAE,OAAO;IACvD,8FAA8F;IAC9F,+FAA+F;IAC/F,8FAA8F;IAC9F,iGAAiG;IACjG,eAAe;IACf,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,SAAS;QAC5C,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,kEAAkE,KAAK,uCAAuC,gBAAgB,CAAC,UAAU,CAAC,0DAA0D,SAAS,+BAA+B,KAAK,kBAAkB,CACjR,CAAC;IACJ,IAAI,UAAU,CAAC,SAAS,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,oBAAoB,UAAU,8BAA8B,KAAK,6IAA6I,CAC9O,CAAC;IACJ,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;mCAMmC;AACnC,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,cAAc,CAAU,CAAC;AAErE,SAAS,qBAAqB,CAAC,GAAW;IACxC,IAAI,EAAE,CAAC;IACP,IAAI,CAAC;QACH,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjE,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,kGAAkG;IAClG,4FAA4F;IAC5F,iGAAiG;IACjG,+FAA+F;IAC/F,yEAAyE;IACzE,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACjE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;mEAGmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;yDAKyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,CAAC,8CAA8C;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QAClG,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yCAAyC;QAChF,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,qFAAqF;AAErF;;mEAEmE;AACnE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;mDAImD;AACnD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACnH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gGAAgG;AAChG,gFAAgF;AAChF,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ;IAC5D,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc;IACvE,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,iBAAiB;CAC9E,CAAC;AAEF;;;;yCAIyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,cAAc,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACvG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,cAAc,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAE7G;;;qFAGqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAY;IAG7D,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC;KAClE,CAAC;AACJ,CAAC;AAED;;;;oEAIoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC,CAAC,gCAAgC;QAC/F,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,kGAAkG;IAClG,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,+DAA+D;QACxE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;2BAM2B;AAC3B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAkB,EAAE,GAAW,EAAE,IAAY;IACzF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,oDAAoD,IAAI,EAAE,CAAC,CAAC;IAC5F,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4CAA4C;IACxE,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;iGAEiG;AACjG,MAAM,UAAU,aAAa,CAAC,QAAgB,OAAO,CAAC,GAAG,EAAE;IACzD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,EAAE;AACF,kGAAkG;AAClG,oGAAoG;AACpG,iGAAiG;AACjG,qGAAqG;AACrG,kGAAkG;AAClG,8DAA8D;AAC9D,EAAE;AACF,kGAAkG;AAClG,4FAA4F;AAE5F,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAChC,CAAC;AAED;;iBAEiB;AACjB,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;oEAOoE;AACpE,SAAS,cAAc,CAAI,CAAS,EAAE,IAAY;IAChD,IAAI,EAAE,CAAC;IACP,IAAI,CAAC;QACH,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrE,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,6CAA6C,IAAI,gDAAgD,CAAC,CAAC;IACzH,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAM,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC;IACvJ,CAAC;AACH,CAAC;AAED;;wGAEwG;AACxG,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAE,OAAO,SAAS,CAAC;IACrG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED;;;;sGAIsG;AACtG,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAK,CAAC,CAAC,CAAC,CAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtI,CAAC;AAED;;;;0FAI0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,KAAa;IACzD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,oBAAoB,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;qCAQqC;AACrC,SAAS,SAAS,CAAC,CAAU,EAAE,KAAa;IAC1C,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC;IAC5J,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;yDAUyD;AACzD,SAAS,oBAAoB,CAAC,CAAS,EAAE,QAAoB,EAAE,MAAkB;IAC/E,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI;QAClD,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,uQAAuQ,CAC5Q,CAAC;IACJ,wFAAwF;IACxF,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,4FAA4F;IAC5F,mFAAmF;IACnF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,qHAAqH,CAAC,CAAC;IAC7I,wFAAwF;IACxF,wFAAwF;IACxF,8DAA8D;IAC9D,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IAChG,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,CAAC,qEAAqE;IAC5F,CAAC;IACD,IAAI,WAAW,KAAK,YAAY,GAAG,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,oCAAoC,YAAY,yEAAyE,YAAY,GAAG,CAAC,qDAAqD,WAAW,uIAAuI,CACrV,CAAC;IACJ,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,yCAAyC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,0CAA0C,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yEAAyE,CACzN,CAAC;IACJ,OAAO,WAAW,CAAC,CAAC,+CAA+C;AACrE,CAAC;AAED;;iFAEiF;AACjF,SAAS,yBAAyB,CAAC,MAAkB,EAAE,GAAW;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;QAClE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,+FAA+F,CAAC,CAAC;AAC3H,CAAC;AAED;;;mEAGmE;AACnE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAkB;IAC5D,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,cAAc,CAAa,CAAC,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,GAAW,CAAC;IAChB,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,GAAG,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,8FAA8F;QAC9F,wFAAwF;QACxF,4FAA4F;QAC5F,+FAA+F;QAC/F,6FAA6F;QAC7F,mFAAmF;QACnF,4FAA4F;QAC5F,4FAA4F;QAC5F,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC,CAAC,yDAAyD;QACjH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,iEAAiE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qGAAqG,CAC/L,CAAC;QACJ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO;gBAAE,SAAS,CAAC,+DAA+D;YACvF,IAAI,CAAC;gBACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,gDAAgD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kDAAkD,KAAK,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2HAA2H,CAC1S,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,iFAAiF;IACnG,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;IACjH,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,MAAM,GAAG,cAAc,CAAa,cAAc,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IAC/E,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED;;;iBAGiB;AACjB,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,YAA8B;IAC9E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,cAAc,CAAmB,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACpF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK;QACnD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,iBAAiB,QAAQ,CAAC,KAAK,qCAAqC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;IACtH,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAqB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;IAC9F,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;gEAEgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,cAAc,CAAmB,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACrG,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;YACrB,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,GAAG,CAAC,KAAK,WAAW,KAAK,iDAAiD,CAAC,CAAC;QAC9I,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,mHAAmH,CAAC,CAAC;QACtK,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,uGAAuG;AACvG,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,cAAc,CAAY,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAClF,CAAC;AAED;;;;4CAI4C;AAC5C,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IACtD,gGAAgG;IAChG,0FAA0F;IAC1F,2FAA2F;IAC3F,+FAA+F;IAC/F,+FAA+F;IAC/F,4FAA4F;IAC5F,+FAA+F;IAC/F,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,WAAW;YAC3F,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED;;;sDAGsD;AACtD,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;4FAI4F;AAC5F,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,IAAe;IACxD,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,yCAAyC;IACpE,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;uCAQuC;AACvC,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,UAAU,OAAO,CAAC,MAAM,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8FAA8F,CACjL,CAAC;IACJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,uBAAuB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,6FAA6F,CACrK,CAAC;IACJ,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;wGAYwG;AACxG,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,SAAiB;IACpE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,wEAAwE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uGAAuG,CAC9M,CAAC;IACJ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,0CAA0C,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yHAAyH,CAC1N,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;gEAagE;AAChE,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAAE,SAAS;YACzG,gGAAgG;YAChG,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,GAA2C,CAAC;YAChD,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAA2C,CAAC;YAC1G,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,wFAAwF;YACxF,6FAA6F;YAC7F,+FAA+F;YAC/F,8FAA8F;YAC9F,qFAAqF;YACrF,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,+FAA+F;IAC/F,4FAA4F;IAC5F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED;;wGAEwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED,mFAAmF;AACnF,EAAE;AACF,+FAA+F;AAC/F,kGAAkG;AAClG,mGAAmG;AACnG,oGAAoG;AACpG,qGAAqG;AACrG,mGAAmG;AACnG,8FAA8F;AAE9F;;uDAEuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,WAAW,EAAE,CAAC;AAErD;6EAC6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,SAAS,EAAE,CAAC;AAElD;oDACoD;AACpD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,QAAQ,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,oBAAoB,EAAE,CAAC;AACvF,CAAC;AAED;;kGAEkG;AAClG,SAAS,gBAAgB,CAAI,GAAW,EAAE,GAAW,EAAE,IAAY;IACjE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,GAAG,yDAAyD,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;wCAIwC;AACxC,SAAS,uBAAuB,CAAC,KAAgB,EAAE,GAAW,EAAE,KAAa;IAC3E,IAAI,CAAC;QACH,OAAO,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,8CAA8C,KAAK,oEAAoE,CACtJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;wDAUwD;AACxD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAkB,EAAE,KAAa;IAClE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpH,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACxD,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAY,SAAS,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5F,OAAO,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAY,SAAS,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,MAAM,MAAM,GACV,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,gBAAgB,CAAa,SAAS,EAAE,eAAe,EAAE,qBAAqB,CAAC;QACjF,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;YAChD,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,OAAqC,CAAC;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAmB,UAAU,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC/F,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,0BAA0B,KAAK,uDAAuD,CAAC,CAAC;QACjJ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,mFAAmF,CAAC,CAAC;QAC9I,OAAO,GAAG,GAAG,CAAC;IAChB,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,eAAe,MAAM,UAAU,8CAA8C,KAAK,0FAA0F,CACnM,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;kFAIkF;AAClF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB,EAAE,GAAW;IACpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;iFAaiF;AACjF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAkB,EAAE,IAAe;IACpE,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,cAAc,GAClB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAa,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxI,IAAI,GAAW,CAAC;IAChB,IAAI,cAAc,EAAE,CAAC;QACnB,GAAG,GAAG,oBAAoB,CAAC,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI;YACxB,CAAC,UAAU,EAAE,sBAAsB,CAAC;YACpC,CAAC,cAAc,EAAE,oBAAoB,CAAC;SAC9B,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,gBAAgB,CAAyC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,0DAA0D,IAAI,KAAK,GAAG,mGAAmG,CAC1K,CAAC;YACJ,IAAI,CAAC;gBACH,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAsC,EAAE,CAAC,CAAC;YACpG,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAI,KAAK,GAAG,uJAAuJ,CAClN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,gBAAgB,CAAmB,kBAAkB,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACvG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,0BAA0B,IAAI,CAAC,KAAK,2DAA2D,CAAC,CAAC;IAC5J,CAAC;IACD,MAAM,YAAY,GAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;IACjH,MAAM,aAAa,GAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACrF,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;8DAI8D;AAC9D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAkB,EAAE,KAAa;IACrE,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"auth-paths.js","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type BrokerTransport } from "@cotal-ai/core";
|
|
2
|
+
/** What was recorded about how this broker is served. */
|
|
3
|
+
export interface BrokerPolicy {
|
|
4
|
+
/** Schema version, so a future reader can refuse a shape it does not understand rather than
|
|
5
|
+
* guess at one. */
|
|
6
|
+
readonly version: 1;
|
|
7
|
+
readonly transport: BrokerTransport;
|
|
8
|
+
}
|
|
9
|
+
/** Thrown for every unreadable, unparseable or unusable policy. Distinct so callers can report a
|
|
10
|
+
* POLICY cause and refuse, instead of reporting a generic failure and continuing. */
|
|
11
|
+
export declare class BrokerPolicyError extends Error {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
/** `<root>/.cotal/broker-policy.json` — a sibling of `auth/`, `run/`, `nats/` and `agents/`.
|
|
15
|
+
* `root` is the project root from {@link findCotalRoot}, not {@link homeCotalDir}: `COTAL_HOME`
|
|
16
|
+
* does not move this file. */
|
|
17
|
+
export declare function brokerPolicyPath(root: string): string;
|
|
18
|
+
/** Record how this broker is served. The parent directory is hardened BEFORE the file lands, and
|
|
19
|
+
* the write is atomic so a crashed `up` cannot leave a half-written policy that the next `up`
|
|
20
|
+
* would have to interpret. */
|
|
21
|
+
export declare function writeBrokerPolicy(root: string, policy: BrokerPolicy): void;
|
|
22
|
+
/**
|
|
23
|
+
* Read the recorded policy, or `undefined` when this mesh has none — a mesh created before the
|
|
24
|
+
* policy existed, or one that was never given a transport to remember.
|
|
25
|
+
*
|
|
26
|
+
* FAILS LOUD on a policy it cannot trust, and never degrades to plaintext. The absence of a file
|
|
27
|
+
* and the presence of a broken one are different situations: the first means "no decision was
|
|
28
|
+
* recorded", the second means "a decision was recorded and I cannot honour it". Treating the
|
|
29
|
+
* second as the first is how a mesh that was deliberately put on TLS comes back up in cleartext
|
|
30
|
+
* because a cert file moved — reachable by an operator who did nothing wrong.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readBrokerPolicy(root: string): BrokerPolicy | undefined;
|
|
33
|
+
//# sourceMappingURL=broker-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-policy.d.ts","sourceRoot":"","sources":["../src/broker-policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1F,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B;wBACoB;IACpB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED;sFACsF;AACtF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;+BAE+B;AAC/B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAI1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CA8CvE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The broker LAUNCH POLICY: how this mesh's broker must be served, recorded durably so that every
|
|
3
|
+
* later `up` renders the same transport.
|
|
4
|
+
*
|
|
5
|
+
* Why this is a separate record from the mesh registry entry. `MeshEntry` lives in the machine
|
|
6
|
+
* home and carries TLS-required CLIENT INTENT only — enough for a resolved connection to become
|
|
7
|
+
* strict, and nothing an operator would mind seeing. It is also removed by `cotal down`, so it
|
|
8
|
+
* cannot be where the broker's own configuration lives: a bare `down` followed by `up` would
|
|
9
|
+
* forget that this broker serves TLS and quietly bring it back up in cleartext. That is the silent
|
|
10
|
+
* downgrade, arriving by the most ordinary operator gesture there is.
|
|
11
|
+
*
|
|
12
|
+
* So cert and key REFERENCES live here instead, under the workspace root's protected tree, beside
|
|
13
|
+
* `auth/` rather than inside it — `auth/broker.json` already means broker TRUST, and two things
|
|
14
|
+
* one letter apart in meaning in the same directory is how a later reader composes the wrong pair.
|
|
15
|
+
*
|
|
16
|
+
* WHY THE TIGHT DIRECTORY, and this is the part that must not be optimised away: the paths in this
|
|
17
|
+
* file are NOT secret. The private key they point at is, and it belongs to the operator or their
|
|
18
|
+
* PKI, not to us. The protection here is for INTEGRITY, not confidentiality — ANYONE WHO CAN
|
|
19
|
+
* REWRITE THIS FILE CAN POINT THE BROKER AT A CERTIFICATE THEY CONTROL ON THE NEXT `up`. A reader
|
|
20
|
+
* who opens it, correctly observes that it holds no secrets, and relaxes the permissions on that
|
|
21
|
+
* entirely sensible-sounding basis would be handing over the broker's identity.
|
|
22
|
+
*/
|
|
23
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
24
|
+
import { join } from "node:path";
|
|
25
|
+
import { mkSecretDir, writeSecretFileAtomic } from "@cotal-ai/core";
|
|
26
|
+
/** Thrown for every unreadable, unparseable or unusable policy. Distinct so callers can report a
|
|
27
|
+
* POLICY cause and refuse, instead of reporting a generic failure and continuing. */
|
|
28
|
+
export class BrokerPolicyError extends Error {
|
|
29
|
+
constructor(message) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = "BrokerPolicyError";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** `<root>/.cotal/broker-policy.json` — a sibling of `auth/`, `run/`, `nats/` and `agents/`.
|
|
35
|
+
* `root` is the project root from {@link findCotalRoot}, not {@link homeCotalDir}: `COTAL_HOME`
|
|
36
|
+
* does not move this file. */
|
|
37
|
+
export function brokerPolicyPath(root) {
|
|
38
|
+
return join(root, ".cotal", "broker-policy.json");
|
|
39
|
+
}
|
|
40
|
+
/** Record how this broker is served. The parent directory is hardened BEFORE the file lands, and
|
|
41
|
+
* the write is atomic so a crashed `up` cannot leave a half-written policy that the next `up`
|
|
42
|
+
* would have to interpret. */
|
|
43
|
+
export function writeBrokerPolicy(root, policy) {
|
|
44
|
+
const path = brokerPolicyPath(root);
|
|
45
|
+
mkSecretDir(join(root, ".cotal"));
|
|
46
|
+
writeSecretFileAtomic(path, `${JSON.stringify(policy, null, 2)}\n`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Read the recorded policy, or `undefined` when this mesh has none — a mesh created before the
|
|
50
|
+
* policy existed, or one that was never given a transport to remember.
|
|
51
|
+
*
|
|
52
|
+
* FAILS LOUD on a policy it cannot trust, and never degrades to plaintext. The absence of a file
|
|
53
|
+
* and the presence of a broken one are different situations: the first means "no decision was
|
|
54
|
+
* recorded", the second means "a decision was recorded and I cannot honour it". Treating the
|
|
55
|
+
* second as the first is how a mesh that was deliberately put on TLS comes back up in cleartext
|
|
56
|
+
* because a cert file moved — reachable by an operator who did nothing wrong.
|
|
57
|
+
*/
|
|
58
|
+
export function readBrokerPolicy(root) {
|
|
59
|
+
const path = brokerPolicyPath(root);
|
|
60
|
+
if (!existsSync(path))
|
|
61
|
+
return undefined;
|
|
62
|
+
let raw;
|
|
63
|
+
try {
|
|
64
|
+
raw = readFileSync(path, "utf8");
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
throw new BrokerPolicyError(`broker policy at ${path} exists but is not readable: ${e.message}`);
|
|
68
|
+
}
|
|
69
|
+
let parsed;
|
|
70
|
+
try {
|
|
71
|
+
parsed = JSON.parse(raw);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new BrokerPolicyError(`broker policy at ${path} is not valid JSON: ${e.message}`);
|
|
75
|
+
}
|
|
76
|
+
const doc = parsed;
|
|
77
|
+
if (doc.version !== 1)
|
|
78
|
+
throw new BrokerPolicyError(`broker policy at ${path} has unsupported version ${JSON.stringify(doc.version)}; expected 1`);
|
|
79
|
+
const t = doc.transport;
|
|
80
|
+
if (!t || typeof t !== "object")
|
|
81
|
+
throw new BrokerPolicyError(`broker policy at ${path} is missing its transport`);
|
|
82
|
+
if (t.kind === "plaintext")
|
|
83
|
+
return { version: 1, transport: { kind: "plaintext" } };
|
|
84
|
+
if (t.kind !== "tls-required")
|
|
85
|
+
throw new BrokerPolicyError(`broker policy at ${path} names an unknown transport ${JSON.stringify(t.kind)}`);
|
|
86
|
+
if (typeof t.certFile !== "string" || typeof t.keyFile !== "string" || !t.certFile || !t.keyFile)
|
|
87
|
+
throw new BrokerPolicyError(`broker policy at ${path} declares TLS but does not name both a certFile and a keyFile`);
|
|
88
|
+
// The referenced material must still be there. A cert that moved is the ordinary way this breaks,
|
|
89
|
+
// and the ONLY acceptable outcome is a loud refusal: coming up in cleartext because a path went
|
|
90
|
+
// stale would silently undo a deliberate decision to serve TLS.
|
|
91
|
+
for (const [what, file] of [["certificate", t.certFile], ["private key", t.keyFile]]) {
|
|
92
|
+
if (!existsSync(file))
|
|
93
|
+
throw new BrokerPolicyError(`broker policy at ${path} requires TLS, but its ${what} is missing at ${file}. ` +
|
|
94
|
+
`Restore it or record a new policy; this broker will NOT be started in plaintext.`);
|
|
95
|
+
}
|
|
96
|
+
return { version: 1, transport: { kind: "tls-required", certFile: t.certFile, keyFile: t.keyFile } };
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=broker-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-policy.js","sourceRoot":"","sources":["../src/broker-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/connect.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Profile, type SpaceAuth } from "@cotal-ai/core";
|
|
1
|
+
import { type EpCaller, type Profile, type SpaceAuth } from "@cotal-ai/core";
|
|
2
2
|
import { type UserAuthInfo } from "./mesh-registry.js";
|
|
3
3
|
import { type MeshTarget } from "./mesh-target.js";
|
|
4
4
|
/**
|
|
@@ -30,6 +30,18 @@ export interface RawAuth {
|
|
|
30
30
|
export interface Connection {
|
|
31
31
|
server: string;
|
|
32
32
|
space: string;
|
|
33
|
+
/** Whether this connection must REQUIRE TLS, rather than merely tolerate it.
|
|
34
|
+
*
|
|
35
|
+
* NON-OPTIONAL on purpose, and it is the same reasoning as the broker's transport union. An
|
|
36
|
+
* optional flag is omitted by default, and the default here is the dangerous one: a client with
|
|
37
|
+
* no TLS requirement connects happily to a plaintext broker and sends its credentials in the
|
|
38
|
+
* clear, including to an on-path attacker who forged the unauthenticated INFO. Every site that
|
|
39
|
+
* builds a `Connection` must therefore SAY which it is, and the compiler asks.
|
|
40
|
+
*
|
|
41
|
+
* Derive it from the resolved mesh record (`MeshEntry.tlsRequired`) or an explicit `cotals://`
|
|
42
|
+
* link — never re-decide it per call site. Five places each deciding "is this mesh TLS" is four
|
|
43
|
+
* chances to get it right and one to be silently wrong. */
|
|
44
|
+
tls: boolean;
|
|
33
45
|
creds?: string;
|
|
34
46
|
/** USER-MODE connect material (mode `"user"` only): the Cotal user bearer + the deny-all
|
|
35
47
|
* sentinel creds, exactly what `EndpointOptions.bearer`/`sentinelCreds` consume. Mutually
|
|
@@ -49,15 +61,33 @@ export interface Connection {
|
|
|
49
61
|
root?: string;
|
|
50
62
|
/** How the target was resolved (registry / current / flag-space / …) — undefined for raw. */
|
|
51
63
|
source?: MeshTarget["source"];
|
|
64
|
+
/** The connection's v0.4 caller triple (SPEC §13.2), present when this connection can ride the
|
|
65
|
+
* ep rails: a minted operator INSTRUMENT (`control-caller-*` / `deployer`, static trust
|
|
66
|
+
* material - the mint pins a fresh lifecycle uid) or a USER-mode bearer (the callout mints the
|
|
67
|
+
* cli actor's rows keyed on the bearer's ledger lifecycle claim). The caller needs the same
|
|
68
|
+
* triple to build its request subjects (`askManager`'s ep path). Absent exactly for open meshes
|
|
69
|
+
* and raw off-registry creds (still ctl until 1d). */
|
|
70
|
+
epCaller?: EpCaller;
|
|
52
71
|
}
|
|
53
72
|
/** The one way a command turns a {@link Connection} into endpoint auth options — spread this into
|
|
54
73
|
* `new CotalEndpoint({...})` instead of passing `creds:` directly, so a user-mode connection
|
|
55
74
|
* (bearer + sentinel) and a static/raw one (creds) ride the same call sites without each command
|
|
56
75
|
* re-learning the mode split. */
|
|
76
|
+
/** The connect material for one resolved connection, spread straight into `CotalEndpoint` options
|
|
77
|
+
* or a standalone helper.
|
|
78
|
+
*
|
|
79
|
+
* `tls` rides along with the credentials DELIBERATELY. It used to be dropped here — this function
|
|
80
|
+
* returned creds/bearer only — which meant every caller that spread `endpointAuth(conn)` got the
|
|
81
|
+
* identity and silently lost the transport requirement. That is the failure with no symptom: the
|
|
82
|
+
* connection still works against an honest TLS broker (the client upgrades on the server's INFO),
|
|
83
|
+
* so nothing looks wrong until an on-path attacker forges an INFO without `tls_required` and
|
|
84
|
+
* collects the credentials in the clear. Keeping the two together means a caller cannot take the
|
|
85
|
+
* identity without also taking the requirement that protects it. */
|
|
57
86
|
export declare function endpointAuth(conn: Connection): {
|
|
58
87
|
creds?: string;
|
|
59
88
|
bearer?: string;
|
|
60
89
|
sentinelCreds?: string;
|
|
90
|
+
tls?: boolean;
|
|
61
91
|
};
|
|
62
92
|
/** The ledger actor a HUMAN CLI connect runs as on a user-auth space (v1: one well-known name).
|
|
63
93
|
* Grant it once per user: `cotal actor grant cli --sub <your IdP subject>`. */
|
|
@@ -71,6 +101,9 @@ export interface UserViewAuth {
|
|
|
71
101
|
sentinelCreds: string;
|
|
72
102
|
owner: string;
|
|
73
103
|
actor: string;
|
|
104
|
+
/** The bearer's ledger lifecycle claim - with (owner, actor) the v0.4 caller triple the
|
|
105
|
+
* callout-minted instrument-view rows pin (1c.2c). */
|
|
106
|
+
lifecycleUid: string;
|
|
74
107
|
source: () => Promise<string>;
|
|
75
108
|
}
|
|
76
109
|
/** Mint an elevated-view bearer over an existing user-mode {@link Connection} — the user-mode
|
|
@@ -96,6 +129,16 @@ export declare function refuseStaticCredsForKnownUserAuthOrExit(space: string, s
|
|
|
96
129
|
* on an auth mesh, and preflight with the registry's stale-prune.
|
|
97
130
|
*/
|
|
98
131
|
export declare function connectOrExit(flags: ConnectFlags, role: Profile): Promise<Connection>;
|
|
132
|
+
/**
|
|
133
|
+
* Connect as the logged-in user on a user-auth mesh. **No profile/role argument** — there is no
|
|
134
|
+
* instrument mint on this path; ledger scope is the grant and `epCaller` comes from the bearer
|
|
135
|
+
* principal. Prefer this over `connectOrExit(..., someRole)` whenever the caller already knows
|
|
136
|
+
* (or has just learned) the mesh is user-mode: a dummy role is a value that is meaningless today
|
|
137
|
+
* and wrong the day this path starts consulting it.
|
|
138
|
+
*
|
|
139
|
+
* If this function is ever changed to accept or consult a {@link Profile}, every caller is wrong.
|
|
140
|
+
*/
|
|
141
|
+
export declare function connectUserControlOrExit(flags: ConnectFlags): Promise<Connection>;
|
|
99
142
|
/** Reachability check for a RAW (off-registry) connection — one plain sentence, never a registry/
|
|
100
143
|
* stale-entry message and never a prune. Used by the `--creds` escape hatch and `join`'s explicit
|
|
101
144
|
* (link/token/creds) path, both of which connect to a broker the user named, not the registry. */
|
package/dist/connect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|