@elaraai/e3-api-server 1.0.86 → 1.0.88
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 +27 -9
- package/dist/src/handlers/dataflow.d.ts +6 -3
- package/dist/src/handlers/dataflow.d.ts.map +1 -1
- package/dist/src/handlers/dataflow.js +18 -6
- package/dist/src/handlers/dataflow.js.map +1 -1
- package/dist/src/handlers/datasets.d.ts.map +1 -1
- package/dist/src/handlers/datasets.js +26 -9
- package/dist/src/handlers/datasets.js.map +1 -1
- package/dist/src/handlers/datasets.spec.js +2 -2
- package/dist/src/handlers/datasets.spec.js.map +1 -1
- package/dist/src/handlers/index.d.ts +1 -1
- package/dist/src/handlers/index.d.ts.map +1 -1
- package/dist/src/handlers/index.js +1 -1
- package/dist/src/handlers/index.js.map +1 -1
- package/dist/src/handlers/workspaces.d.ts +28 -3
- package/dist/src/handlers/workspaces.d.ts.map +1 -1
- package/dist/src/handlers/workspaces.js +56 -4
- package/dist/src/handlers/workspaces.js.map +1 -1
- package/dist/src/handlers/workspaces.spec.js +28 -2
- package/dist/src/handlers/workspaces.spec.js.map +1 -1
- package/dist/src/routes/executions.js +1 -1
- package/dist/src/routes/executions.js.map +1 -1
- package/dist/src/routes/workspaces.d.ts.map +1 -1
- package/dist/src/routes/workspaces.js +11 -2
- package/dist/src/routes/workspaces.js.map +1 -1
- package/dist/src/stopping-run.d.ts +76 -0
- package/dist/src/stopping-run.d.ts.map +1 -0
- package/dist/src/stopping-run.js +98 -0
- package/dist/src/stopping-run.js.map +1 -0
- package/dist/src/stopping-run.spec.d.ts +6 -0
- package/dist/src/stopping-run.spec.d.ts.map +1 -0
- package/dist/src/stopping-run.spec.js +207 -0
- package/dist/src/stopping-run.spec.js.map +1 -0
- package/dist/src/types.d.ts +12 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +3 -2
- package/dist/src/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.spec.js","sourceRoot":"","sources":["../../../src/handlers/workspaces.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspaces.spec.js","sourceRoot":"","sources":["../../../src/handlers/workspaces.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export function createExecutionRoutes(storage, getRepoPath, seams) {
|
|
|
28
28
|
const ws = c.req.param('ws');
|
|
29
29
|
const body = await decodeBody(c, DataflowRequestType);
|
|
30
30
|
const filter = body.filter.type === 'some' ? body.filter.value : undefined;
|
|
31
|
-
return startDataflow(storage, seams.getOrchestrator(repoPath), repoPath, ws, {
|
|
31
|
+
return startDataflow(storage, seams.getOrchestrator(repoPath), seams.getStateStore(repoPath), repoPath, ws, {
|
|
32
32
|
runner: seams.getRunner(repoPath),
|
|
33
33
|
...(seams.width !== undefined && { width: seams.width }),
|
|
34
34
|
force: dataflowForceOption(body.force),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executions.js","sourceRoot":"","sources":["../../../src/routes/executions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4BlD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAuB,EACvB,WAAqC,EACrC,KAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,0FAA0F;IAC1F,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAE9B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"executions.js","sourceRoot":"","sources":["../../../src/routes/executions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAiBjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,8EAgIrB"}
|
|
@@ -6,10 +6,10 @@ import { Hono } from 'hono';
|
|
|
6
6
|
import { variant, some } from '@elaraai/east';
|
|
7
7
|
import { workspaceGetState } from '@elaraai/e3-core/portable';
|
|
8
8
|
import { PackageJobResponseType } from '@elaraai/e3-types';
|
|
9
|
-
import { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, getWorkspaceLockStatus, deleteWorkspace, startWorkspaceDeploy, getWorkspaceDeployStatus, } from '../handlers/workspaces.js';
|
|
9
|
+
import { listWorkspaces, createWorkspace, copyWorkspace, getWorkspace, getWorkspaceStatus, getWorkspaceLockStatus, deleteWorkspace, startWorkspaceDeploy, getWorkspaceDeployStatus, } from '../handlers/workspaces.js';
|
|
10
10
|
import { decodeBody, sendSuccess, sendError } from '../beast2.js';
|
|
11
11
|
import { errorToVariant } from '../errors.js';
|
|
12
|
-
import { WorkspaceCreateRequestType, WorkspaceDeployRequestType, WorkspaceExportRequestType } from '../types.js';
|
|
12
|
+
import { WorkspaceCopyRequestType, WorkspaceCreateRequestType, WorkspaceDeployRequestType, WorkspaceExportRequestType } from '../types.js';
|
|
13
13
|
import { pathsQuery } from './query.js';
|
|
14
14
|
/**
|
|
15
15
|
* Workspace routes, mounted at `/api/repos/:repo/workspaces`.
|
|
@@ -64,6 +64,15 @@ export function createWorkspaceRoutes(storage, getRepoPath, transferBackend, get
|
|
|
64
64
|
const ws = c.req.param('ws');
|
|
65
65
|
return getWorkspaceLockStatus(storage, repoPath, ws);
|
|
66
66
|
});
|
|
67
|
+
// POST /api/repos/:repo/workspaces/:ws/copy - Copy the workspace to another,
|
|
68
|
+
// made or replaced whole
|
|
69
|
+
app.post('/:ws/copy', async (c) => {
|
|
70
|
+
const repo = c.req.param('repo');
|
|
71
|
+
const repoPath = getRepoPath(repo);
|
|
72
|
+
const ws = c.req.param('ws');
|
|
73
|
+
const body = await decodeBody(c, WorkspaceCopyRequestType);
|
|
74
|
+
return copyWorkspace(storage, repoPath, ws, body.to);
|
|
75
|
+
});
|
|
67
76
|
// DELETE /api/repos/:repo/workspaces/:ws - Remove a workspace
|
|
68
77
|
app.delete('/:ws', async (c) => {
|
|
69
78
|
const repo = c.req.param('repo');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A workspace a stopping run still holds (#1286).
|
|
7
|
+
*
|
|
8
|
+
* A run asked to stop holds its workspace until its tasks have stopped, which
|
|
9
|
+
* on a server whose tasks run in other processes or machines outlasts the
|
|
10
|
+
* cancel's answer, and it lets the workspace go just after its state says it
|
|
11
|
+
* has ended. A start, a deploy or a workspace's removal the workspace's lock
|
|
12
|
+
* refuses meanwhile is answered `workspace_locked` with a `Retry-After`, so its
|
|
13
|
+
* client asks again once the run has let go, rather than failing.
|
|
14
|
+
*
|
|
15
|
+
* Whether a stopping run holds the workspace is asked before the request as
|
|
16
|
+
* well as after a refusal. A run lets the workspace go before its dataflow
|
|
17
|
+
* lock, so one found holding neither before the request has let the workspace
|
|
18
|
+
* go too, and a refusal that follows is another holder's. Asked only after, a
|
|
19
|
+
* run that let go of both between its refusal and the asking would leave that
|
|
20
|
+
* refusal answered with no wait, though the request would now go through.
|
|
21
|
+
*/
|
|
22
|
+
import { type EastType } from '@elaraai/east';
|
|
23
|
+
import type { ExecutionStateStore, StorageBackend } from '@elaraai/e3-core/portable';
|
|
24
|
+
import type { WorkspaceLockError } from '@elaraai/e3-core/portable';
|
|
25
|
+
/** How long, in seconds, a client is told to wait before it asks again of a
|
|
26
|
+
* workspace a stopping run holds. */
|
|
27
|
+
export declare const STOPPING_RUN_RETRY_AFTER_S = 1;
|
|
28
|
+
/**
|
|
29
|
+
* Whether a run that is stopping holds a workspace: one asked to stop that has
|
|
30
|
+
* not yet stopped, or one that has ended and still holds the dataflow lock it
|
|
31
|
+
* took as it started, which it lets go after every other.
|
|
32
|
+
*
|
|
33
|
+
* @param storage - Storage backend, whose lock service holds the run's lock
|
|
34
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
35
|
+
* @param repo - Repository identifier
|
|
36
|
+
* @param workspace - The workspace
|
|
37
|
+
* @returns Whether its latest run is stopping and holds it
|
|
38
|
+
*/
|
|
39
|
+
export declare function heldByStoppingRun(storage: StorageBackend, stateStore: ExecutionStateStore, repo: string, workspace: string): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Sends an error with a `Retry-After`: a refusal its client asks again of.
|
|
42
|
+
*
|
|
43
|
+
* @param type - The success type of the route that refused
|
|
44
|
+
* @param err - The refusal
|
|
45
|
+
* @returns The response
|
|
46
|
+
*/
|
|
47
|
+
export declare function sendRetryableError<T extends EastType>(type: T, err: unknown): Response;
|
|
48
|
+
/**
|
|
49
|
+
* Whether a stopping run holds a workspace, asked before a request its lock
|
|
50
|
+
* may refuse: what {@link sendLockRefusal} is given as `stoppingBefore`. A
|
|
51
|
+
* holder that cannot be told is no stopping run.
|
|
52
|
+
*
|
|
53
|
+
* @param storage - Storage backend
|
|
54
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
55
|
+
* @param repo - Repository identifier
|
|
56
|
+
* @param workspace - The workspace, its name already checked
|
|
57
|
+
* @returns Whether its latest run is stopping and holds it
|
|
58
|
+
*/
|
|
59
|
+
export declare function stoppingRunBefore(storage: StorageBackend, stateStore: ExecutionStateStore, repo: string, workspace: string): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* The answer to a request a workspace's lock refused: `workspace_locked`, with
|
|
62
|
+
* a `Retry-After` when a stopping run held the workspace before the request,
|
|
63
|
+
* or holds it now.
|
|
64
|
+
*
|
|
65
|
+
* @param type - The success type of the route that refused
|
|
66
|
+
* @param err - The lock's refusal
|
|
67
|
+
* @param stoppingBefore - Whether a stopping run held the workspace before
|
|
68
|
+
* the request ({@link stoppingRunBefore})
|
|
69
|
+
* @param storage - Storage backend
|
|
70
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
71
|
+
* @param repo - Repository identifier
|
|
72
|
+
* @param workspace - The workspace
|
|
73
|
+
* @returns The response
|
|
74
|
+
*/
|
|
75
|
+
export declare function sendLockRefusal<T extends EastType>(type: T, err: WorkspaceLockError, stoppingBefore: boolean, storage: StorageBackend, stateStore: ExecutionStateStore, repo: string, workspace: string): Promise<Response>;
|
|
76
|
+
//# sourceMappingURL=stopping-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopping-run.d.ts","sourceRoot":"","sources":["../../src/stopping-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE;sCACsC;AACtC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAK5C;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAItF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,QAAQ,EACtD,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,kBAAkB,EACvB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAGnB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A workspace a stopping run still holds (#1286).
|
|
7
|
+
*
|
|
8
|
+
* A run asked to stop holds its workspace until its tasks have stopped, which
|
|
9
|
+
* on a server whose tasks run in other processes or machines outlasts the
|
|
10
|
+
* cancel's answer, and it lets the workspace go just after its state says it
|
|
11
|
+
* has ended. A start, a deploy or a workspace's removal the workspace's lock
|
|
12
|
+
* refuses meanwhile is answered `workspace_locked` with a `Retry-After`, so its
|
|
13
|
+
* client asks again once the run has let go, rather than failing.
|
|
14
|
+
*
|
|
15
|
+
* Whether a stopping run holds the workspace is asked before the request as
|
|
16
|
+
* well as after a refusal. A run lets the workspace go before its dataflow
|
|
17
|
+
* lock, so one found holding neither before the request has let the workspace
|
|
18
|
+
* go too, and a refusal that follows is another holder's. Asked only after, a
|
|
19
|
+
* run that let go of both between its refusal and the asking would leave that
|
|
20
|
+
* refusal answered with no wait, though the request would now go through.
|
|
21
|
+
*/
|
|
22
|
+
import { DateTimeType, lessFor } from '@elaraai/east';
|
|
23
|
+
import { sendError } from './beast2.js';
|
|
24
|
+
import { errorToVariant } from './errors.js';
|
|
25
|
+
/** How long, in seconds, a client is told to wait before it asks again of a
|
|
26
|
+
* workspace a stopping run holds. */
|
|
27
|
+
export const STOPPING_RUN_RETRY_AFTER_S = 1;
|
|
28
|
+
/** Whether one time comes before another. */
|
|
29
|
+
const before = lessFor(DateTimeType);
|
|
30
|
+
/**
|
|
31
|
+
* Whether a run that is stopping holds a workspace: one asked to stop that has
|
|
32
|
+
* not yet stopped, or one that has ended and still holds the dataflow lock it
|
|
33
|
+
* took as it started, which it lets go after every other.
|
|
34
|
+
*
|
|
35
|
+
* @param storage - Storage backend, whose lock service holds the run's lock
|
|
36
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
37
|
+
* @param repo - Repository identifier
|
|
38
|
+
* @param workspace - The workspace
|
|
39
|
+
* @returns Whether its latest run is stopping and holds it
|
|
40
|
+
*/
|
|
41
|
+
export async function heldByStoppingRun(storage, stateStore, repo, workspace) {
|
|
42
|
+
const run = await stateStore.readLatestSummary(repo, workspace);
|
|
43
|
+
if (run === null)
|
|
44
|
+
return false;
|
|
45
|
+
if (run.status === 'running')
|
|
46
|
+
return run.cancelRequested;
|
|
47
|
+
if (run.completedAt.type !== 'some')
|
|
48
|
+
return false;
|
|
49
|
+
// Taken after the run ended, the lock is another's: a new run's, or a gc's.
|
|
50
|
+
const lock = await storage.locks.getState(repo, `${workspace}#dataflow`);
|
|
51
|
+
return lock !== null && !before(run.completedAt.value, lock.acquiredAt);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Sends an error with a `Retry-After`: a refusal its client asks again of.
|
|
55
|
+
*
|
|
56
|
+
* @param type - The success type of the route that refused
|
|
57
|
+
* @param err - The refusal
|
|
58
|
+
* @returns The response
|
|
59
|
+
*/
|
|
60
|
+
export function sendRetryableError(type, err) {
|
|
61
|
+
const refused = sendError(type, errorToVariant(err));
|
|
62
|
+
refused.headers.set('Retry-After', String(STOPPING_RUN_RETRY_AFTER_S));
|
|
63
|
+
return refused;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Whether a stopping run holds a workspace, asked before a request its lock
|
|
67
|
+
* may refuse: what {@link sendLockRefusal} is given as `stoppingBefore`. A
|
|
68
|
+
* holder that cannot be told is no stopping run.
|
|
69
|
+
*
|
|
70
|
+
* @param storage - Storage backend
|
|
71
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
72
|
+
* @param repo - Repository identifier
|
|
73
|
+
* @param workspace - The workspace, its name already checked
|
|
74
|
+
* @returns Whether its latest run is stopping and holds it
|
|
75
|
+
*/
|
|
76
|
+
export function stoppingRunBefore(storage, stateStore, repo, workspace) {
|
|
77
|
+
return heldByStoppingRun(storage, stateStore, repo, workspace).catch(() => false);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The answer to a request a workspace's lock refused: `workspace_locked`, with
|
|
81
|
+
* a `Retry-After` when a stopping run held the workspace before the request,
|
|
82
|
+
* or holds it now.
|
|
83
|
+
*
|
|
84
|
+
* @param type - The success type of the route that refused
|
|
85
|
+
* @param err - The lock's refusal
|
|
86
|
+
* @param stoppingBefore - Whether a stopping run held the workspace before
|
|
87
|
+
* the request ({@link stoppingRunBefore})
|
|
88
|
+
* @param storage - Storage backend
|
|
89
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
90
|
+
* @param repo - Repository identifier
|
|
91
|
+
* @param workspace - The workspace
|
|
92
|
+
* @returns The response
|
|
93
|
+
*/
|
|
94
|
+
export async function sendLockRefusal(type, err, stoppingBefore, storage, stateStore, repo, workspace) {
|
|
95
|
+
const stopping = stoppingBefore || await stoppingRunBefore(storage, stateStore, repo, workspace);
|
|
96
|
+
return stopping ? sendRetryableError(type, err) : sendError(type, errorToVariant(err));
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=stopping-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopping-run.js","sourceRoot":"","sources":["../../src/stopping-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,eAAe,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;sCACsC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAuB,EACvB,UAA+B,EAC/B,IAAY,EACZ,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC;IACzD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,4EAA4E;IAC5E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IACzE,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAqB,IAAO,EAAE,GAAY;IAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,UAA+B,EAC/B,IAAY,EACZ,SAAiB;IAEjB,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAO,EACP,GAAuB,EACvB,cAAuB,EACvB,OAAuB,EACvB,UAA+B,EAC/B,IAAY,EACZ,SAAiB;IAEjB,MAAM,QAAQ,GAAG,cAAc,IAAI,MAAM,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,OAAO,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopping-run.spec.d.ts","sourceRoot":"","sources":["../../src/stopping-run.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A run that stops after its cancel answers (#1286): its poll answers it
|
|
7
|
+
* `stopping` while its store says a cancel was requested, and a start or a
|
|
8
|
+
* workspace's removal the workspace's lock refuses while a stopping run holds
|
|
9
|
+
* it is answered `workspace_locked` with a `Retry-After` — one asked to stop
|
|
10
|
+
* that has not, or one that has ended and still holds the dataflow lock it took
|
|
11
|
+
* as it started. Any other holder's refusal names no wait.
|
|
12
|
+
*/
|
|
13
|
+
import { describe, it, mock } from 'node:test';
|
|
14
|
+
import assert from 'node:assert/strict';
|
|
15
|
+
import { Hono } from 'hono';
|
|
16
|
+
import { NullType, decodeBeast2For, encodeBeast2For, none, some, variant } from '@elaraai/east';
|
|
17
|
+
import { InMemoryStateStore, LocalOrchestrator, MockTaskRunner, WorkspaceLockError, workspaceCreate, } from '@elaraai/e3-core';
|
|
18
|
+
import { InMemoryStorage } from '@elaraai/e3-core/test';
|
|
19
|
+
import { BEAST2_CONTENT_TYPE, E3_RELEASE, dataflowForce } from '@elaraai/e3-types';
|
|
20
|
+
import { deleteWorkspace } from './handlers/workspaces.js';
|
|
21
|
+
import { createExecutionRoutes } from './routes/executions.js';
|
|
22
|
+
import { heldByStoppingRun } from './stopping-run.js';
|
|
23
|
+
import { DataflowExecutionStateType, DataflowRequestType, ResponseType } from './types.js';
|
|
24
|
+
const REPO = 'test-repo';
|
|
25
|
+
const WS = 'main';
|
|
26
|
+
/** A run's state, of no tasks, in workspace `main`, which ended at `completedAt` if given. */
|
|
27
|
+
function runState(id, status, completedAt) {
|
|
28
|
+
return {
|
|
29
|
+
release: E3_RELEASE, id, repo: REPO, workspace: WS, startedAt: new Date(Date.now() - 60_000), force: dataflowForce(false), filter: none,
|
|
30
|
+
graph: none, graphHash: none, tasks: new Map(), executed: 0n, cached: 0n, failed: 0n, skipped: 0n, status,
|
|
31
|
+
completedAt: completedAt === undefined ? none : some(completedAt), error: none, versionVectors: new Map(), inputSnapshot: new Map(),
|
|
32
|
+
taskOutputPaths: [], reexecuted: 0n, events: [], eventSeq: 0n,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A store whose running runs a cancel was asked of, as a store of a server
|
|
37
|
+
* whose tasks run elsewhere says, until they end.
|
|
38
|
+
*/
|
|
39
|
+
function cancelling(inner) {
|
|
40
|
+
return {
|
|
41
|
+
create: (state) => inner.create(state),
|
|
42
|
+
read: (repo, workspace, id) => inner.read(repo, workspace, id),
|
|
43
|
+
readLatest: (repo, workspace) => inner.readLatest(repo, workspace),
|
|
44
|
+
readLatestSummary: async (repo, workspace) => {
|
|
45
|
+
const summary = await inner.readLatestSummary(repo, workspace);
|
|
46
|
+
return summary === null ? null : { ...summary, cancelRequested: summary.status === 'running' };
|
|
47
|
+
},
|
|
48
|
+
update: (state) => inner.update(state),
|
|
49
|
+
updateTaskStatus: (repo, workspace, id, task, status, details) => inner.updateTaskStatus(repo, workspace, id, task, status, details),
|
|
50
|
+
updateStatus: (repo, workspace, id, status, details) => inner.updateStatus(repo, workspace, id, status, details),
|
|
51
|
+
recordEvent: (repo, workspace, id, event) => inner.recordEvent(repo, workspace, id, event),
|
|
52
|
+
getEventsSince: (repo, workspace, id, since, limit) => inner.getEventsSince(repo, workspace, id, since, limit),
|
|
53
|
+
delete: (repo, workspace, id) => inner.delete(repo, workspace, id),
|
|
54
|
+
readStored: (repo) => inner.readStored(repo),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/** The dataflow lock a run takes as it starts, as a run holds it. */
|
|
58
|
+
async function holdDataflowLock(storage) {
|
|
59
|
+
const lock = await storage.locks.acquire(REPO, `${WS}#dataflow`, variant('dataflow', null));
|
|
60
|
+
if (lock === null)
|
|
61
|
+
assert.fail('the dataflow lock was held');
|
|
62
|
+
return lock;
|
|
63
|
+
}
|
|
64
|
+
describe('a run that is stopping (#1286)', () => {
|
|
65
|
+
it('holds its workspace while it is asked to stop and has not, or has ended and still holds its dataflow lock', async () => {
|
|
66
|
+
const storage = new InMemoryStorage();
|
|
67
|
+
const store = new InMemoryStateStore();
|
|
68
|
+
assert.equal(await heldByStoppingRun(storage, store, REPO, WS), false, 'no run');
|
|
69
|
+
await store.create(runState('run-1', 'running'));
|
|
70
|
+
assert.equal(await heldByStoppingRun(storage, store, REPO, WS), false, 'a run that runs');
|
|
71
|
+
assert.equal(await heldByStoppingRun(storage, cancelling(store), REPO, WS), true, 'a run asked to stop');
|
|
72
|
+
const lock = await holdDataflowLock(storage);
|
|
73
|
+
await store.updateStatus(REPO, WS, 'run-1', 'cancelled');
|
|
74
|
+
await store.create(runState('run-2', 'cancelled', new Date(Date.now() + 1_000)));
|
|
75
|
+
assert.equal(await heldByStoppingRun(storage, store, REPO, WS), true, 'a run that has ended, its dataflow lock taken before its end still held');
|
|
76
|
+
await lock.release();
|
|
77
|
+
assert.equal(await heldByStoppingRun(storage, store, REPO, WS), false, 'a run that has let go');
|
|
78
|
+
await store.create(runState('run-3', 'cancelled', new Date(Date.now() - 1_000)));
|
|
79
|
+
const later = await holdDataflowLock(storage);
|
|
80
|
+
assert.equal(await heldByStoppingRun(storage, store, REPO, WS), false, 'a dataflow lock taken after the run ended is another\'s');
|
|
81
|
+
await later.release();
|
|
82
|
+
});
|
|
83
|
+
it('is polled as stopping until it has stopped', async () => {
|
|
84
|
+
const inner = new InMemoryStateStore();
|
|
85
|
+
await inner.create(runState('run-1', 'running'));
|
|
86
|
+
const app = new Hono();
|
|
87
|
+
const store = cancelling(inner);
|
|
88
|
+
app.route('/api/repos/:repo/workspaces/:ws/dataflow', createExecutionRoutes(new InMemoryStorage(), () => REPO, {
|
|
89
|
+
getRunner: () => new MockTaskRunner(),
|
|
90
|
+
getOrchestrator: () => new LocalOrchestrator(store),
|
|
91
|
+
getStateStore: () => store,
|
|
92
|
+
}));
|
|
93
|
+
const poll = async () => {
|
|
94
|
+
const answer = decodeBeast2For(ResponseType(DataflowExecutionStateType))(new Uint8Array(await (await app.request(`/api/repos/r/workspaces/${WS}/dataflow/execution?limit=0`)).arrayBuffer()));
|
|
95
|
+
if (answer.type !== 'success')
|
|
96
|
+
assert.fail(`the poll was refused: ${answer.value.type}`);
|
|
97
|
+
return answer.value.status.type;
|
|
98
|
+
};
|
|
99
|
+
assert.equal(await poll(), 'stopping');
|
|
100
|
+
await inner.updateStatus(REPO, WS, 'run-1', 'cancelled');
|
|
101
|
+
assert.equal(await poll(), 'aborted');
|
|
102
|
+
});
|
|
103
|
+
it('refuses a start with a Retry-After while it holds the workspace, and with none while a run that runs does', async () => {
|
|
104
|
+
const inner = new InMemoryStateStore();
|
|
105
|
+
await inner.create(runState('run-1', 'running'));
|
|
106
|
+
const refusing = {
|
|
107
|
+
start: () => Promise.reject(new WorkspaceLockError(WS)),
|
|
108
|
+
wait: () => new Promise(() => { }),
|
|
109
|
+
getStatus: () => Promise.reject(new Error('not polled')),
|
|
110
|
+
getProgress: () => Promise.reject(new Error('not polled')),
|
|
111
|
+
cancel: async () => { },
|
|
112
|
+
getEvents: async () => [],
|
|
113
|
+
};
|
|
114
|
+
const start = async (store) => {
|
|
115
|
+
const app = new Hono();
|
|
116
|
+
app.route('/api/repos/:repo/workspaces/:ws/dataflow', createExecutionRoutes(new InMemoryStorage(), () => REPO, {
|
|
117
|
+
getRunner: () => new MockTaskRunner(),
|
|
118
|
+
getOrchestrator: () => refusing,
|
|
119
|
+
getStateStore: () => store,
|
|
120
|
+
}));
|
|
121
|
+
const response = await app.request(`/api/repos/r/workspaces/${WS}/dataflow`, {
|
|
122
|
+
method: 'POST',
|
|
123
|
+
headers: { 'Content-Type': BEAST2_CONTENT_TYPE },
|
|
124
|
+
body: encodeBeast2For(DataflowRequestType)({ force: dataflowForce(false), filter: none }),
|
|
125
|
+
});
|
|
126
|
+
const answer = decodeBeast2For(ResponseType(NullType))(new Uint8Array(await response.arrayBuffer()));
|
|
127
|
+
return { refused: answer.type === 'error' ? answer.value.type : null, retryAfter: response.headers.get('retry-after') };
|
|
128
|
+
};
|
|
129
|
+
assert.deepEqual(await start(cancelling(inner)), { refused: 'workspace_locked', retryAfter: '1' });
|
|
130
|
+
assert.deepEqual(await start(inner), { refused: 'workspace_locked', retryAfter: null });
|
|
131
|
+
});
|
|
132
|
+
it('refuses a workspace\'s removal with a Retry-After while it still holds the workspace, and with none for another holder', async () => {
|
|
133
|
+
const storage = new InMemoryStorage();
|
|
134
|
+
await storage.repos.create(REPO);
|
|
135
|
+
await workspaceCreate(storage, REPO, WS);
|
|
136
|
+
const remove = async () => {
|
|
137
|
+
const response = await deleteWorkspace(storage, REPO, WS);
|
|
138
|
+
const answer = decodeBeast2For(ResponseType(NullType))(new Uint8Array(await response.arrayBuffer()));
|
|
139
|
+
return { refused: answer.type === 'error' ? answer.value.type : null, retryAfter: response.headers.get('retry-after') };
|
|
140
|
+
};
|
|
141
|
+
// A deploy holds the workspace: no wait to name.
|
|
142
|
+
const deploying = await storage.locks.acquire(REPO, WS, variant('deployment', null));
|
|
143
|
+
assert.deepEqual(await remove(), { refused: 'workspace_locked', retryAfter: null });
|
|
144
|
+
await deploying.release();
|
|
145
|
+
// A run that ended still holds the workspace, and the dataflow lock it took first.
|
|
146
|
+
const run = await holdDataflowLock(storage);
|
|
147
|
+
const shared = await storage.locks.acquire(REPO, WS, variant('dataflow', null), { mode: 'shared' });
|
|
148
|
+
await storage.runStates(REPO).create(runState('run-1', 'cancelled', new Date(Date.now() + 1_000)));
|
|
149
|
+
assert.deepEqual(await remove(), { refused: 'workspace_locked', retryAfter: '1' });
|
|
150
|
+
await shared.release();
|
|
151
|
+
await run.release();
|
|
152
|
+
assert.deepEqual(await remove(), { refused: null, retryAfter: null }, 'removed once the run has let go');
|
|
153
|
+
});
|
|
154
|
+
it('names a wait for a refusal the run lets go of its locks just after, before the server asks why', async () => {
|
|
155
|
+
const answered = async (response) => {
|
|
156
|
+
const answer = decodeBeast2For(ResponseType(NullType))(new Uint8Array(await response.arrayBuffer()));
|
|
157
|
+
return { refused: answer.type === 'error' ? answer.value.type : null, retryAfter: response.headers.get('retry-after') };
|
|
158
|
+
};
|
|
159
|
+
// A removal: the run that ended holds the workspace and its dataflow lock,
|
|
160
|
+
// and lets go of both as the workspace's lock refuses the removal.
|
|
161
|
+
const storage = new InMemoryStorage();
|
|
162
|
+
await storage.repos.create(REPO);
|
|
163
|
+
await workspaceCreate(storage, REPO, WS);
|
|
164
|
+
const run = await holdDataflowLock(storage);
|
|
165
|
+
const shared = await storage.locks.acquire(REPO, WS, variant('dataflow', null), { mode: 'shared' });
|
|
166
|
+
await storage.runStates(REPO).create(runState('run-1', 'cancelled', new Date(Date.now() + 1_000)));
|
|
167
|
+
const acquire = storage.locks.acquire.bind(storage.locks);
|
|
168
|
+
mock.method(storage.locks, 'acquire', async (...args) => {
|
|
169
|
+
const lock = await acquire(...args);
|
|
170
|
+
if (lock === null && args[1] === WS) {
|
|
171
|
+
await shared.release();
|
|
172
|
+
await run.release();
|
|
173
|
+
}
|
|
174
|
+
return lock;
|
|
175
|
+
});
|
|
176
|
+
assert.deepEqual(await answered(await deleteWorkspace(storage, REPO, WS)), { refused: 'workspace_locked', retryAfter: '1' });
|
|
177
|
+
// A start: the run lets go of its dataflow lock as the orchestrator is refused.
|
|
178
|
+
const starting = new InMemoryStorage();
|
|
179
|
+
const dataflowLock = await holdDataflowLock(starting);
|
|
180
|
+
const store = new InMemoryStateStore();
|
|
181
|
+
await store.create(runState('run-2', 'cancelled', new Date(Date.now() + 1_000)));
|
|
182
|
+
const lettingGo = {
|
|
183
|
+
start: async () => {
|
|
184
|
+
await dataflowLock.release();
|
|
185
|
+
throw new WorkspaceLockError(WS);
|
|
186
|
+
},
|
|
187
|
+
wait: () => new Promise(() => { }),
|
|
188
|
+
getStatus: () => Promise.reject(new Error('not polled')),
|
|
189
|
+
getProgress: () => Promise.reject(new Error('not polled')),
|
|
190
|
+
cancel: async () => { },
|
|
191
|
+
getEvents: async () => [],
|
|
192
|
+
};
|
|
193
|
+
const app = new Hono();
|
|
194
|
+
app.route('/api/repos/:repo/workspaces/:ws/dataflow', createExecutionRoutes(starting, () => REPO, {
|
|
195
|
+
getRunner: () => new MockTaskRunner(),
|
|
196
|
+
getOrchestrator: () => lettingGo,
|
|
197
|
+
getStateStore: () => store,
|
|
198
|
+
}));
|
|
199
|
+
const response = await app.request(`/api/repos/r/workspaces/${WS}/dataflow`, {
|
|
200
|
+
method: 'POST',
|
|
201
|
+
headers: { 'Content-Type': BEAST2_CONTENT_TYPE },
|
|
202
|
+
body: encodeBeast2For(DataflowRequestType)({ force: dataflowForce(false), filter: none }),
|
|
203
|
+
});
|
|
204
|
+
assert.deepEqual(await answered(response), { refused: 'workspace_locked', retryAfter: '1' });
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
//# sourceMappingURL=stopping-run.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopping-run.spec.js","sourceRoot":"","sources":["../../src/stopping-run.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,GAE3F,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3F,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,EAAE,GAAG,MAAM,CAAC;AAElB,8FAA8F;AAC9F,SAAS,QAAQ,CAAC,EAAU,EAAE,MAA+B,EAAE,WAAkB;IAC/E,OAAO;QACL,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI;QACvI,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM;QACzG,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE;QACnI,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAA0B;IAC5C,OAAO;QACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QAC9D,UAAU,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;QAClE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjG,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;QACpI,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC;QAChH,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC;QAC1F,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;QAC9G,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,gBAAgB,CAAC,OAAwB;IACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5F,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,2GAA2G,EAAE,KAAK,IAAI,EAAE;QACzH,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEjF,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1F,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAEzG,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,yEAAyE,CAAC,CAAC;QACjJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAEhG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yDAAyD,CAAC,CAAC;QAClI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,IAAI,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAC7G,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,EAAE;YACrC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACnD,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;SAC3B,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC,CACtE,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,6BAA6B,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2GAA2G,EAAE,KAAK,IAAI,EAAE;QACzH,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAyB;YACrC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACjC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACxD,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACtB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;SAC1B,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,EAAE,KAA0B,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,IAAI,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC7G,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,EAAE;gBACrC,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ;gBAC/B,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;aAC3B,CAAC,CAAC,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,WAAW,EAAE;gBAC3E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE;gBAChD,IAAI,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC1F,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrG,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1H,CAAC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACnG,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wHAAwH,EAAE,KAAK,IAAI,EAAE;QACtI,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrG,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1H,CAAC,CAAC;QAEF,iDAAiD;QACjD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QACrF,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,SAAU,CAAC,OAAO,EAAE,CAAC;QAE3B,mFAAmF;QACnF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnF,MAAM,MAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrG,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1H,CAAC,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAgC,EAAE,EAAE;YAClF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACpC,MAAM,MAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7H,gFAAgF;QAChF,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAyB;YACtC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACjC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACxD,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACtB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;SAC1B,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAChG,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,EAAE;YACrC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;YAChC,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;SAC3B,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,WAAW,EAAE;YAC3E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE;YAChD,IAAI,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1F,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|