@mono-agent/web 0.20.11 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +397 -68
- package/dist/contracts.d.ts +437 -8
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +2 -0
- package/dist/contracts.js.map +1 -1
- package/dist/cron-reply-context.d.ts +27 -0
- package/dist/cron-reply-context.d.ts.map +1 -0
- package/dist/cron-reply-context.js +241 -0
- package/dist/cron-reply-context.js.map +1 -0
- package/dist/discovery.d.ts +1 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +8 -6
- package/dist/discovery.js.map +1 -1
- package/dist/effort-ladder.d.ts +111 -0
- package/dist/effort-ladder.d.ts.map +1 -0
- package/dist/effort-ladder.js +155 -0
- package/dist/effort-ladder.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/long-lived-fetch.d.ts +5 -0
- package/dist/long-lived-fetch.d.ts.map +1 -0
- package/dist/long-lived-fetch.js +22 -0
- package/dist/long-lived-fetch.js.map +1 -0
- package/dist/monitor-reply.d.ts +10 -0
- package/dist/monitor-reply.d.ts.map +1 -0
- package/dist/monitor-reply.js +67 -0
- package/dist/monitor-reply.js.map +1 -0
- package/dist/notification-client.d.ts +11 -2
- package/dist/notification-client.d.ts.map +1 -1
- package/dist/notification-client.js +5 -4
- package/dist/notification-client.js.map +1 -1
- package/dist/notification-ingress.d.ts +8 -1
- package/dist/notification-ingress.d.ts.map +1 -1
- package/dist/notification-ingress.js +28 -6
- package/dist/notification-ingress.js.map +1 -1
- package/dist/operator-client.d.ts +35 -2
- package/dist/operator-client.d.ts.map +1 -1
- package/dist/operator-client.js +276 -9
- package/dist/operator-client.js.map +1 -1
- package/dist/server.d.ts +42 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +679 -52
- package/dist/server.js.map +1 -1
- package/dist/service.d.ts +299 -18
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +1915 -160
- package/dist/service.js.map +1 -1
- package/dist/store-migrations.d.ts +23 -0
- package/dist/store-migrations.d.ts.map +1 -0
- package/dist/store-migrations.js +212 -0
- package/dist/store-migrations.js.map +1 -0
- package/dist/store.d.ts +389 -21
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2087 -245
- package/dist/store.js.map +1 -1
- package/package.json +9 -8
- package/webapp/dist/assets/{assistant-ui-BzN2E6n6.js → assistant-ui-pZmGxIp2.js} +16 -16
- package/webapp/dist/assets/index-6uQ7TVQe.css +1 -0
- package/webapp/dist/assets/index-CsSMjSgW.js +156 -0
- package/webapp/dist/assets/{markdown-Vq23xgh7.js → markdown-Du5t10ja.js} +1 -1
- package/webapp/dist/badge-96.png +0 -0
- package/webapp/dist/index.html +26 -6
- package/webapp/dist/manifest.webmanifest +1 -1
- package/webapp/dist/notification-sw.js +3 -1
- package/webapp/dist/sw.js +1 -1
- package/webapp/dist/{workbox-9c191d2f.js → workbox-2fbc6a65.js} +1 -1
- package/webapp/dist/assets/index-BT463dRM.css +0 -1
- package/webapp/dist/assets/index-Co-qDQPq.js +0 -155
package/dist/operator-client.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CronOperatorWireError, MCP_APP_SUPPORTED_VERSIONS, parseCronOperatorJob, parseCronOperatorOverview, parseCronOperatorRunDetail, parseCronOperatorRunPage, parseCronOperatorRunSummary, parseProcessJobProjection, parseAgentStreamFrame, } from "@mono-agent/agent-contracts";
|
|
1
|
+
import { AGENT_CONTEXT_IMPORT_MAX_TEXT_BYTES, AGENT_CONTEXT_IMPORT_VERSION, CronOperatorWireError, MCP_APP_SUPPORTED_VERSIONS, parseCronOperatorJob, parseCronOperatorOverview, parseCronOperatorRunDetail, parseCronOperatorRunPage, parseCronOperatorRunSummary, parseProcessJobProjection, parseProviderAuthSessionSnapshot, parseProviderAuthStatusSnapshot, parseProviderAuthCheckSessionSnapshot, parseAgentStreamFrame, MAX_INFO_BODY_BYTES, MAX_INFO_PROVIDER_ID_BYTES, MAX_INFO_PROVIDER_ITEMS, MAX_INFO_PROVIDER_LABEL_BYTES, } from "@mono-agent/agent-contracts";
|
|
2
2
|
import { errorMessage, WebConsoleError } from "./errors.js";
|
|
3
3
|
import { isTrustedOperatorBaseUrl } from "./discovery.js";
|
|
4
|
+
import { fetchLongLivedTurn } from "./long-lived-fetch.js";
|
|
4
5
|
const OPERATOR_WIRE_SCHEMA = 1;
|
|
5
|
-
const MAX_INFO_BODY_BYTES = 1024 * 1024;
|
|
6
6
|
const MAX_PROCESS_JOBS_BODY_BYTES = 16 * 1024 * 1024;
|
|
7
7
|
const MAX_ERROR_BODY_BYTES = 64 * 1024;
|
|
8
8
|
// Compatibility boundary: older operators may emit frames up to 8 MiB. New
|
|
@@ -14,8 +14,34 @@ const PRESERVED_MCP_APP_OPERATOR_ERRORS = new Map([
|
|
|
14
14
|
["app_audit_incomplete", 409],
|
|
15
15
|
["app_audit_failed", 507],
|
|
16
16
|
]);
|
|
17
|
+
const PRESERVED_PROVIDER_AUTH_ERRORS = new Map([
|
|
18
|
+
["provider_auth_invalid_request", 400],
|
|
19
|
+
["provider_auth_not_found", 404],
|
|
20
|
+
["provider_auth_conflict", 409],
|
|
21
|
+
["provider_auth_too_large", 413],
|
|
22
|
+
["provider_auth_rate_limited", 429],
|
|
23
|
+
["provider_auth_upstream", 502],
|
|
24
|
+
["provider_auth_unavailable", 503],
|
|
25
|
+
]);
|
|
17
26
|
const CANCEL_TIMEOUT_MS = 2_000;
|
|
18
27
|
const HISTORY_APPEND_TIMEOUT_MS = 5_000;
|
|
28
|
+
const CONTEXT_IMPORT_TIMEOUT_MS = 5_000;
|
|
29
|
+
const PRESERVED_CONTEXT_IMPORT_ERRORS = new Map([
|
|
30
|
+
["context_import_conflict", 409],
|
|
31
|
+
["context_import_failed", 500],
|
|
32
|
+
["context_import_unsupported", 501],
|
|
33
|
+
]);
|
|
34
|
+
// The provider summary rides `/v1/info`, which shares one 1 MiB body cap with
|
|
35
|
+
// every other field and is polled every 5s, so this parse stays bounded: an
|
|
36
|
+
// oversized summary must cost the summary, never the whole response (which
|
|
37
|
+
// shows the agent OFFLINE).
|
|
38
|
+
//
|
|
39
|
+
// Its bounds come from `@mono-agent/agent-contracts`, NOT from numbers chosen
|
|
40
|
+
// here. Chosen here, they drifted from the producer's in both directions and
|
|
41
|
+
// each drift silently cost the operator a provider: a 129-byte id the catalog
|
|
42
|
+
// published was dropped, and the route provider the producer deliberately
|
|
43
|
+
// admitted first sat at entry 65 of 71. The producer reads the same window and
|
|
44
|
+
// keeps route providers inside it.
|
|
19
45
|
const MAX_SKILL_ITEMS = 256;
|
|
20
46
|
const MAX_SKILL_DESCRIPTION_BYTES = 256;
|
|
21
47
|
const MAX_SKILL_NAME_BYTES = 256;
|
|
@@ -25,7 +51,9 @@ export class OperatorClient {
|
|
|
25
51
|
baseUrl;
|
|
26
52
|
apiKey;
|
|
27
53
|
processJobsBearer;
|
|
54
|
+
monitorsBearer;
|
|
28
55
|
fetchImpl;
|
|
56
|
+
turnFetchImpl;
|
|
29
57
|
constructor(options) {
|
|
30
58
|
if (!isTrustedOperatorBaseUrl(options.baseUrl)) {
|
|
31
59
|
throw new WebConsoleError("untrusted_operator_url", "Refusing to connect to a non-loopback operator endpoint.", 400);
|
|
@@ -33,7 +61,9 @@ export class OperatorClient {
|
|
|
33
61
|
this.baseUrl = options.baseUrl.replace(/\/+$/u, "");
|
|
34
62
|
this.apiKey = options.apiKey;
|
|
35
63
|
this.processJobsBearer = options.processJobsBearer;
|
|
64
|
+
this.monitorsBearer = options.monitorsBearer;
|
|
36
65
|
this.fetchImpl = options.fetchImpl ?? fetch;
|
|
66
|
+
this.turnFetchImpl = options.fetchImpl ?? fetchLongLivedTurn;
|
|
37
67
|
}
|
|
38
68
|
async info(signal) {
|
|
39
69
|
const response = await this.request(`${this.baseUrl}/v1/info`, {
|
|
@@ -58,11 +88,13 @@ export class OperatorClient {
|
|
|
58
88
|
}
|
|
59
89
|
const models = stringArray(body.models);
|
|
60
90
|
const modelOptions = parseModelOptions(body.modelOptions);
|
|
91
|
+
const providers = parseProviders(body.providers);
|
|
61
92
|
const skills = parseSkillRegistry(body.skills);
|
|
62
93
|
const capabilities = record(body.capabilities);
|
|
63
94
|
const cron = record(capabilities?.cron);
|
|
64
95
|
const replyAttachments = parseReplyAttachmentsCapability(capabilities?.replyAttachments);
|
|
65
96
|
const mcpApps = parseMcpAppsCapability(capabilities?.mcpApps);
|
|
97
|
+
const contextImport = parseContextImportCapability(capabilities?.contextImport);
|
|
66
98
|
return {
|
|
67
99
|
schema: body.schema,
|
|
68
100
|
...(typeof body.label === "string" ? { label: body.label } : {}),
|
|
@@ -70,23 +102,94 @@ export class OperatorClient {
|
|
|
70
102
|
...(typeof body.effort === "string" ? { effort: body.effort } : {}),
|
|
71
103
|
...(models === undefined ? {} : { models }),
|
|
72
104
|
...(modelOptions === undefined ? {} : { modelOptions }),
|
|
105
|
+
...(providers === undefined ? {} : { providers }),
|
|
73
106
|
...(skills === undefined ? {} : { skills }),
|
|
74
107
|
supportsAttachments: capabilities?.attachments === true,
|
|
75
108
|
supportsHistoryAppend: capabilities?.historyAppend === true,
|
|
109
|
+
...(contextImport === undefined ? {} : { contextImport }),
|
|
76
110
|
supportsAskUser: capabilities?.askUser === true,
|
|
77
111
|
...(capabilities?.askById === true ? { supportsAskById: true } : {}),
|
|
78
112
|
supportsLiveInput: capabilities?.liveInput === true,
|
|
113
|
+
...(record(capabilities?.liveInputTargeting)?.version === 1 ? { supportsLiveInputTargeting: true } : {}),
|
|
79
114
|
...(capabilities?.toolEnvironment === true ? { supportsToolEnvironment: true } : {}),
|
|
80
115
|
...(replyAttachments === undefined ? {} : { replyAttachments }),
|
|
81
116
|
...(mcpApps === undefined ? {} : { mcpApps }),
|
|
82
117
|
...(cron?.read === true ? { cron: { read: true, actions: cron.actions === true } } : {}),
|
|
83
118
|
...(capabilities?.jobs === true ? { supportsJobs: true } : {}),
|
|
119
|
+
...(record(capabilities?.providerAuth)?.version === 1 ? { supportsProviderAuth: true } : {}),
|
|
120
|
+
...(record(record(capabilities?.providerAuth)?.checks)?.version === 1
|
|
121
|
+
? { supportsProviderAuthChecks: true }
|
|
122
|
+
: {}),
|
|
84
123
|
};
|
|
85
124
|
}
|
|
125
|
+
async providerAuthStatus(signal) {
|
|
126
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth`, {
|
|
127
|
+
headers: this.headers(false),
|
|
128
|
+
...(signal === undefined ? {} : { signal }),
|
|
129
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
130
|
+
return parseProviderAuthStatusSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
131
|
+
}
|
|
132
|
+
async startProviderAuth(input, signal) {
|
|
133
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/sessions`, {
|
|
134
|
+
method: "POST",
|
|
135
|
+
headers: this.headers(true),
|
|
136
|
+
...(signal === undefined ? {} : { signal }),
|
|
137
|
+
body: JSON.stringify(input),
|
|
138
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
139
|
+
return parseProviderAuthSessionSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
140
|
+
}
|
|
141
|
+
async providerAuthSession(sessionId, signal) {
|
|
142
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/sessions/${encodeURIComponent(sessionId)}`, {
|
|
143
|
+
headers: this.headers(false),
|
|
144
|
+
...(signal === undefined ? {} : { signal }),
|
|
145
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
146
|
+
return parseProviderAuthSessionSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
147
|
+
}
|
|
148
|
+
async submitProviderAuth(sessionId, input, signal) {
|
|
149
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/sessions/${encodeURIComponent(sessionId)}/input`, {
|
|
150
|
+
method: "POST",
|
|
151
|
+
headers: this.headers(true),
|
|
152
|
+
...(signal === undefined ? {} : { signal }),
|
|
153
|
+
body: JSON.stringify(input),
|
|
154
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
155
|
+
return parseProviderAuthSessionSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
156
|
+
}
|
|
157
|
+
async cancelProviderAuth(sessionId, signal) {
|
|
158
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/sessions/${encodeURIComponent(sessionId)}`, {
|
|
159
|
+
method: "DELETE",
|
|
160
|
+
headers: this.headers(false),
|
|
161
|
+
...(signal === undefined ? {} : { signal }),
|
|
162
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
163
|
+
await response.body?.cancel().catch(() => undefined);
|
|
164
|
+
}
|
|
165
|
+
async startProviderAuthCheck(input, signal) {
|
|
166
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/checks`, {
|
|
167
|
+
method: "POST",
|
|
168
|
+
headers: this.headers(true),
|
|
169
|
+
...(signal === undefined ? {} : { signal }),
|
|
170
|
+
body: JSON.stringify(input),
|
|
171
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
172
|
+
return parseProviderAuthCheckSessionSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
173
|
+
}
|
|
174
|
+
async providerAuthCheck(checkId, signal) {
|
|
175
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/checks/${encodeURIComponent(checkId)}`, {
|
|
176
|
+
headers: this.headers(false),
|
|
177
|
+
...(signal === undefined ? {} : { signal }),
|
|
178
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
179
|
+
return parseProviderAuthCheckSessionSnapshot(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_provider_auth_too_large")));
|
|
180
|
+
}
|
|
181
|
+
async cancelProviderAuthCheck(checkId, signal) {
|
|
182
|
+
const response = await this.request(`${this.baseUrl}/v1/provider-auth/checks/${encodeURIComponent(checkId)}`, {
|
|
183
|
+
method: "DELETE",
|
|
184
|
+
headers: this.headers(false),
|
|
185
|
+
...(signal === undefined ? {} : { signal }),
|
|
186
|
+
}, PRESERVED_PROVIDER_AUTH_ERRORS);
|
|
187
|
+
await response.body?.cancel().catch(() => undefined);
|
|
188
|
+
}
|
|
86
189
|
async turn(input) {
|
|
87
190
|
const response = await this.request(`${this.baseUrl}/v1/turns`, {
|
|
88
191
|
method: "POST",
|
|
89
|
-
headers: this.headers(true),
|
|
192
|
+
headers: { ...this.headers(true), ...this.monitorWakeHeaders(input.processJobWakeDeliveryKey) },
|
|
90
193
|
signal: input.signal,
|
|
91
194
|
body: JSON.stringify({
|
|
92
195
|
conversationId: input.conversationId,
|
|
@@ -99,7 +202,7 @@ export class OperatorClient {
|
|
|
99
202
|
...(input.toolEnvironment === undefined ? {} : { toolEnvironment: input.toolEnvironment }),
|
|
100
203
|
...(input.attachments.length === 0 ? {} : { attachments: input.attachments }),
|
|
101
204
|
}),
|
|
102
|
-
});
|
|
205
|
+
}, undefined, this.turnFetchImpl);
|
|
103
206
|
if (!response.headers.get("content-type")?.toLowerCase().includes("application/x-ndjson")) {
|
|
104
207
|
await response.body?.cancel().catch(() => undefined);
|
|
105
208
|
throw new WebConsoleError("invalid_operator_content_type", "The agent turn endpoint did not return NDJSON.", 502);
|
|
@@ -107,6 +210,7 @@ export class OperatorClient {
|
|
|
107
210
|
if (response.body === null) {
|
|
108
211
|
throw new WebConsoleError("empty_operator_stream", "The agent returned an empty response stream.", 502);
|
|
109
212
|
}
|
|
213
|
+
input.onAdmitted?.();
|
|
110
214
|
try {
|
|
111
215
|
for await (const line of readBoundedNdjsonLines(response.body, MAX_NDJSON_FRAME_BYTES)) {
|
|
112
216
|
if (line.trim().length === 0)
|
|
@@ -144,12 +248,14 @@ export class OperatorClient {
|
|
|
144
248
|
async liveInput(input) {
|
|
145
249
|
const response = await this.request(`${this.baseUrl}/v1/conversations/${encodeURIComponent(input.conversationId)}/live-input`, {
|
|
146
250
|
method: "POST",
|
|
147
|
-
headers: this.headers(true),
|
|
251
|
+
headers: { ...this.headers(true), ...this.monitorWakeHeaders(input.deliveryKey) },
|
|
148
252
|
...(input.signal === undefined ? {} : { signal: input.signal }),
|
|
149
253
|
body: JSON.stringify({
|
|
150
254
|
id: input.id,
|
|
151
255
|
text: input.text,
|
|
152
256
|
receivedAt: input.receivedAt,
|
|
257
|
+
...(input.targetTurnId === undefined ? {} : { targetTurnId: input.targetTurnId }),
|
|
258
|
+
...(input.targetRunId === undefined ? {} : { targetRunId: input.targetRunId }),
|
|
153
259
|
...(input.deliveryKey === undefined ? {} : { deliveryKey: input.deliveryKey }),
|
|
154
260
|
}),
|
|
155
261
|
});
|
|
@@ -163,6 +269,9 @@ export class OperatorClient {
|
|
|
163
269
|
if (body.status === "discarded" && body.reason === "cancelled") {
|
|
164
270
|
return { status: "discarded", reason: "cancelled" };
|
|
165
271
|
}
|
|
272
|
+
if (body.status === "uncertain" && body.reason === "delivery_uncertain") {
|
|
273
|
+
return { status: "uncertain", reason: "delivery_uncertain" };
|
|
274
|
+
}
|
|
166
275
|
if (body.status === "requeue"
|
|
167
276
|
&& (body.reason === "unsupported" || body.reason === "closed" || body.reason === "failed")) {
|
|
168
277
|
return { status: "requeue", reason: body.reason };
|
|
@@ -183,6 +292,39 @@ export class OperatorClient {
|
|
|
183
292
|
await response.body?.cancel().catch(() => undefined);
|
|
184
293
|
});
|
|
185
294
|
}
|
|
295
|
+
async recordContextImport(conversationId, text, idempotencyKey) {
|
|
296
|
+
let response;
|
|
297
|
+
try {
|
|
298
|
+
response = await this.request(`${this.baseUrl}/v1/conversations/${encodeURIComponent(conversationId)}/context-imports`, {
|
|
299
|
+
method: "POST",
|
|
300
|
+
headers: this.headers(true),
|
|
301
|
+
signal: AbortSignal.timeout(CONTEXT_IMPORT_TIMEOUT_MS),
|
|
302
|
+
body: JSON.stringify({ text, idempotencyKey }),
|
|
303
|
+
}, PRESERVED_CONTEXT_IMPORT_ERRORS);
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
if (error instanceof DOMException && error.name === "TimeoutError") {
|
|
307
|
+
throw new WebConsoleError("context_import_outcome_unknown", "Canonical context import timed out; its outcome is unknown.", 504);
|
|
308
|
+
}
|
|
309
|
+
throw error;
|
|
310
|
+
}
|
|
311
|
+
let raw;
|
|
312
|
+
try {
|
|
313
|
+
raw = JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "context_import_response_too_large"));
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
if (error instanceof WebConsoleError)
|
|
317
|
+
throw error;
|
|
318
|
+
throw new WebConsoleError("invalid_context_import_response", "The agent returned invalid context-import JSON.", 502);
|
|
319
|
+
}
|
|
320
|
+
const body = record(raw);
|
|
321
|
+
if (body?.imported !== true
|
|
322
|
+
|| (body.status !== "appended" && body.status !== "duplicate")
|
|
323
|
+
|| body.conversationId !== conversationId) {
|
|
324
|
+
throw new WebConsoleError("invalid_context_import_response", "The agent returned an invalid context-import receipt.", 502);
|
|
325
|
+
}
|
|
326
|
+
return body.status;
|
|
327
|
+
}
|
|
186
328
|
async getJob(jobId, signal) {
|
|
187
329
|
const response = await this.request(`${this.baseUrl}/v1/jobs/${encodeURIComponent(boundedJobId(jobId))}`, {
|
|
188
330
|
headers: this.processJobHeaders(),
|
|
@@ -228,6 +370,20 @@ export class OperatorClient {
|
|
|
228
370
|
});
|
|
229
371
|
return parseCronRunPage(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_cron_too_large")));
|
|
230
372
|
}
|
|
373
|
+
async models(input) {
|
|
374
|
+
const query = new URLSearchParams({ limit: String(input.limit) });
|
|
375
|
+
if (input.provider !== undefined)
|
|
376
|
+
query.set("provider", input.provider);
|
|
377
|
+
if (input.q !== undefined)
|
|
378
|
+
query.set("q", input.q);
|
|
379
|
+
if (input.cursor !== undefined)
|
|
380
|
+
query.set("cursor", input.cursor);
|
|
381
|
+
const response = await this.request(`${this.baseUrl}/v1/models?${query.toString()}`, {
|
|
382
|
+
headers: this.headers(false),
|
|
383
|
+
...(input.signal === undefined ? {} : { signal: input.signal }),
|
|
384
|
+
});
|
|
385
|
+
return parseModelPage(JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_models_too_large")));
|
|
386
|
+
}
|
|
231
387
|
async cronRun(jobId, runId, signal) {
|
|
232
388
|
const response = await this.request(`${this.baseUrl}/v1/cron/jobs/${encodeURIComponent(jobId)}/runs/${encodeURIComponent(runId)}`, {
|
|
233
389
|
headers: this.headers(false),
|
|
@@ -392,16 +548,24 @@ export class OperatorClient {
|
|
|
392
548
|
const parsed = JSON.parse(await readBoundedBody(response, MAX_INFO_BODY_BYTES, "operator_cron_too_large"));
|
|
393
549
|
return parseCronMutation(parsed);
|
|
394
550
|
}
|
|
551
|
+
monitorWakeHeaders(deliveryKey) {
|
|
552
|
+
if (deliveryKey?.trim().startsWith("monitor:") !== true)
|
|
553
|
+
return {};
|
|
554
|
+
if (this.monitorsBearer === undefined) {
|
|
555
|
+
throw new WebConsoleError("monitors_unavailable", "Owner Monitor credentials are unavailable for this agent.", 409);
|
|
556
|
+
}
|
|
557
|
+
return { "x-mono-agent-monitor-wake-authorization": `Bearer ${this.monitorsBearer}` };
|
|
558
|
+
}
|
|
395
559
|
processJobHeaders() {
|
|
396
560
|
if (this.processJobsBearer === undefined) {
|
|
397
561
|
throw new WebConsoleError("process_jobs_unavailable", "Owner process-job credentials are unavailable for this agent.", 409);
|
|
398
562
|
}
|
|
399
563
|
return { authorization: `Bearer ${this.processJobsBearer}` };
|
|
400
564
|
}
|
|
401
|
-
async request(url, init, preservedErrors) {
|
|
565
|
+
async request(url, init, preservedErrors, fetchImpl = this.fetchImpl) {
|
|
402
566
|
let response;
|
|
403
567
|
try {
|
|
404
|
-
response = await
|
|
568
|
+
response = await fetchImpl(url, { ...init, redirect: "error" });
|
|
405
569
|
}
|
|
406
570
|
catch (error) {
|
|
407
571
|
if (init.signal?.aborted === true)
|
|
@@ -414,7 +578,14 @@ export class OperatorClient {
|
|
|
414
578
|
? undefined
|
|
415
579
|
: preservedOperatorError(detail, response.status, preservedErrors);
|
|
416
580
|
if (preserved !== undefined) {
|
|
417
|
-
|
|
581
|
+
const retryAfter = response.headers.get("Retry-After");
|
|
582
|
+
const retryAfterSeconds = retryAfter === null ? undefined : Number(retryAfter);
|
|
583
|
+
throw new WebConsoleError(preserved.code, preserved.message, response.status, {
|
|
584
|
+
...(typeof retryAfterSeconds === "number" && Number.isSafeInteger(retryAfterSeconds) && retryAfterSeconds > 0
|
|
585
|
+
? { retryAfterSeconds }
|
|
586
|
+
: {}),
|
|
587
|
+
...(preserved.reason === undefined ? {} : { reason: preserved.reason }),
|
|
588
|
+
});
|
|
418
589
|
}
|
|
419
590
|
throw new WebConsoleError(response.status === 401 ? "agent_unauthorized" : "agent_http_error", `Agent responded ${response.status}${detail.length === 0 ? "." : `: ${detail.slice(0, 300)}`}`, 502);
|
|
420
591
|
}
|
|
@@ -436,7 +607,10 @@ function preservedOperatorError(body, status, expected) {
|
|
|
436
607
|
const message = typeof error?.message === "string" && error.message.length <= 1_024
|
|
437
608
|
? error.message
|
|
438
609
|
: "The MCP App audit operation failed.";
|
|
439
|
-
|
|
610
|
+
const reason = typeof error?.reason === "string" && error.reason.length <= 128
|
|
611
|
+
? error.reason
|
|
612
|
+
: undefined;
|
|
613
|
+
return { code, message, ...(reason === undefined ? {} : { reason }) };
|
|
440
614
|
}
|
|
441
615
|
function invalidCronResponse() {
|
|
442
616
|
throw new WebConsoleError("invalid_operator_cron", "The agent returned invalid cron operator data.", 502);
|
|
@@ -449,6 +623,14 @@ function parseReplyAttachmentsCapability(value) {
|
|
|
449
623
|
? { version: 1, maxBytes: capability.maxBytes }
|
|
450
624
|
: undefined;
|
|
451
625
|
}
|
|
626
|
+
function parseContextImportCapability(value) {
|
|
627
|
+
const capability = record(value);
|
|
628
|
+
return capability?.version === AGENT_CONTEXT_IMPORT_VERSION
|
|
629
|
+
&& Number.isSafeInteger(capability.maxTextBytes)
|
|
630
|
+
&& Number(capability.maxTextBytes) >= AGENT_CONTEXT_IMPORT_MAX_TEXT_BYTES
|
|
631
|
+
? { version: AGENT_CONTEXT_IMPORT_VERSION, maxTextBytes: Number(capability.maxTextBytes) }
|
|
632
|
+
: undefined;
|
|
633
|
+
}
|
|
452
634
|
function parseMcpAppsCapability(value) {
|
|
453
635
|
const capability = record(value);
|
|
454
636
|
const versions = stringArray(capability?.versions);
|
|
@@ -479,6 +661,53 @@ function parseCronRunDetail(value) {
|
|
|
479
661
|
function parseCronRunPage(value) {
|
|
480
662
|
return parseSharedCron(parseCronOperatorRunPage, value);
|
|
481
663
|
}
|
|
664
|
+
function parseModelPage(value) {
|
|
665
|
+
const body = record(value);
|
|
666
|
+
if (body === undefined
|
|
667
|
+
|| !Array.isArray(body.models)
|
|
668
|
+
|| (body.nextCursor !== undefined && typeof body.nextCursor !== "string")
|
|
669
|
+
|| typeof body.truncated !== "boolean") {
|
|
670
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
671
|
+
}
|
|
672
|
+
return {
|
|
673
|
+
models: body.models.map(parseCatalogModel),
|
|
674
|
+
...(body.nextCursor === undefined ? {} : { nextCursor: body.nextCursor }),
|
|
675
|
+
truncated: body.truncated,
|
|
676
|
+
};
|
|
677
|
+
}
|
|
678
|
+
function parseCatalogModel(value) {
|
|
679
|
+
const model = record(value);
|
|
680
|
+
if (model === undefined
|
|
681
|
+
|| typeof model.id !== "string"
|
|
682
|
+
|| typeof model.name !== "string"
|
|
683
|
+
|| typeof model.provider !== "string"
|
|
684
|
+
|| typeof model.providerLabel !== "string") {
|
|
685
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
686
|
+
}
|
|
687
|
+
const effortLevels = stringArray(model.effortLevels);
|
|
688
|
+
if (model.effortLevels !== undefined && effortLevels === undefined) {
|
|
689
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
690
|
+
}
|
|
691
|
+
if (model.contextWindow !== undefined && typeof model.contextWindow !== "number") {
|
|
692
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
693
|
+
}
|
|
694
|
+
if (model.reasoning !== undefined && typeof model.reasoning !== "boolean") {
|
|
695
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
696
|
+
}
|
|
697
|
+
if (model.reasoningMode !== undefined && typeof model.reasoningMode !== "string") {
|
|
698
|
+
throw new WebConsoleError("invalid_operator_models", "The agent returned invalid model catalog data.", 502);
|
|
699
|
+
}
|
|
700
|
+
return {
|
|
701
|
+
id: model.id,
|
|
702
|
+
name: model.name,
|
|
703
|
+
provider: model.provider,
|
|
704
|
+
providerLabel: model.providerLabel,
|
|
705
|
+
...(model.contextWindow === undefined ? {} : { contextWindow: model.contextWindow }),
|
|
706
|
+
...(model.reasoning === undefined ? {} : { reasoning: model.reasoning }),
|
|
707
|
+
...(effortLevels === undefined ? {} : { effortLevels }),
|
|
708
|
+
...(model.reasoningMode === undefined ? {} : { reasoningMode: model.reasoningMode }),
|
|
709
|
+
};
|
|
710
|
+
}
|
|
482
711
|
function parseSharedCron(parser, value) {
|
|
483
712
|
try {
|
|
484
713
|
return parser(value);
|
|
@@ -731,6 +960,9 @@ function parseModelOptions(value) {
|
|
|
731
960
|
const effortLevels = stringArray(option.effortLevels);
|
|
732
961
|
result[model] = {
|
|
733
962
|
...(effortLevels === undefined ? {} : { effortLevels }),
|
|
963
|
+
...(typeof option.effort === "string" || option.effort === null
|
|
964
|
+
? { effort: option.effort }
|
|
965
|
+
: {}),
|
|
734
966
|
...(typeof option.reasoning === "boolean" ? { reasoning: option.reasoning } : {}),
|
|
735
967
|
...(typeof option.reasoningMode === "string" ? { reasoningMode: option.reasoningMode } : {}),
|
|
736
968
|
...(typeof option.label === "string" ? { label: option.label } : {}),
|
|
@@ -741,6 +973,41 @@ function parseModelOptions(value) {
|
|
|
741
973
|
}
|
|
742
974
|
return Object.keys(result).length === 0 ? undefined : result;
|
|
743
975
|
}
|
|
976
|
+
/**
|
|
977
|
+
* Parse the agent's provider summary. Total by construction: a malformed entry
|
|
978
|
+
* is skipped rather than throwing, because a throw here becomes a 500 for the
|
|
979
|
+
* entire `/v1/info` response and takes the agent offline.
|
|
980
|
+
*
|
|
981
|
+
* The item cap is a PREFIX window, and the producer knows its size: it orders
|
|
982
|
+
* the providers its own routes use into the front of the list precisely so this
|
|
983
|
+
* cut cannot reach them. Reading the window from any other order — sorting,
|
|
984
|
+
* filtering, or reversing before this loop — would throw that guarantee away.
|
|
985
|
+
*/
|
|
986
|
+
function parseProviders(value) {
|
|
987
|
+
if (!Array.isArray(value))
|
|
988
|
+
return undefined;
|
|
989
|
+
const result = [];
|
|
990
|
+
for (const raw of value) {
|
|
991
|
+
if (result.length >= MAX_INFO_PROVIDER_ITEMS)
|
|
992
|
+
break;
|
|
993
|
+
const entry = record(raw);
|
|
994
|
+
if (entry === undefined)
|
|
995
|
+
continue;
|
|
996
|
+
const id = typeof entry.id === "string" ? entry.id : undefined;
|
|
997
|
+
if (id === undefined || id.length === 0)
|
|
998
|
+
continue;
|
|
999
|
+
if (Buffer.byteLength(id, "utf8") > MAX_INFO_PROVIDER_ID_BYTES)
|
|
1000
|
+
continue;
|
|
1001
|
+
const rawLabel = typeof entry.label === "string" && entry.label.length > 0 ? entry.label : id;
|
|
1002
|
+
const label = Buffer.byteLength(rawLabel, "utf8") > MAX_INFO_PROVIDER_LABEL_BYTES ? id : rawLabel;
|
|
1003
|
+
result.push({
|
|
1004
|
+
id,
|
|
1005
|
+
label,
|
|
1006
|
+
...(entry.configured === true ? { configured: true } : {}),
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
1009
|
+
return result.length === 0 ? undefined : result;
|
|
1010
|
+
}
|
|
744
1011
|
function stringArray(value) {
|
|
745
1012
|
return Array.isArray(value) && value.every((entry) => typeof entry === "string") ? value : undefined;
|
|
746
1013
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-client.js","sourceRoot":"","sources":["../src/operator-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operator-client.js","sourceRoot":"","sources":["../src/operator-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,+BAA+B,EAC/B,qCAAqC,EACrC,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,GAoB9B,MAAM,6BAA6B,CAAC;AAiBrC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACnD,MAAM,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAiB;IAChE,CAAC,sBAAsB,EAAE,GAAG,CAAC;IAC7B,CAAC,kBAAkB,EAAE,GAAG,CAAC;CAC1B,CAAC,CAAC;AACH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAiB;IAC7D,CAAC,+BAA+B,EAAE,GAAG,CAAC;IACtC,CAAC,yBAAyB,EAAE,GAAG,CAAC;IAChC,CAAC,wBAAwB,EAAE,GAAG,CAAC;IAC/B,CAAC,yBAAyB,EAAE,GAAG,CAAC;IAChC,CAAC,4BAA4B,EAAE,GAAG,CAAC;IACnC,CAAC,wBAAwB,EAAE,GAAG,CAAC;IAC/B,CAAC,2BAA2B,EAAE,GAAG,CAAC;CACnC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAiB;IAC9D,CAAC,yBAAyB,EAAE,GAAG,CAAC;IAChC,CAAC,uBAAuB,EAAE,GAAG,CAAC;IAC9B,CAAC,4BAA4B,EAAE,GAAG,CAAC;CACpC,CAAC,CAAC;AACH,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,4BAA4B;AAC5B,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,mCAAmC;AACnC,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC5C,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAuFlD,MAAM,OAAO,cAAc;IACR,OAAO,CAAS;IAChB,MAAM,CAAqB;IAC3B,iBAAiB,CAAqB;IACtC,cAAc,CAAqB;IACnC,SAAS,CAAe;IACxB,aAAa,CAAe;IAE7C,YAAY,OAA8B;QACxC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,0DAA0D,EAAE,GAAG,CAAC,CAAC;QACvH,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE;YAC7D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAY,CAAC;QAC/G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,oDAAoD,EAAE,GAAG,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,+CAA+C,EAAE,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE,yBAAyB,IAAI,CAAC,MAAM,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAC1H,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,4BAA4B,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAChF,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,mBAAmB,EAAE,YAAY,EAAE,WAAW,KAAK,IAAI;YACvD,qBAAqB,EAAE,YAAY,EAAE,aAAa,KAAK,IAAI;YAC3D,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,eAAe,EAAE,YAAY,EAAE,OAAO,KAAK,IAAI;YAC/C,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,iBAAiB,EAAE,YAAY,EAAE,SAAS,KAAK,IAAI;YACnD,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,GAAG,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,YAAY,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC;gBACnE,CAAC,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAoB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YACtE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,+BAA+B,CACpC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAoC,EACpC,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,4BAA4B,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,gCAAgC,CACrC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,MAAoB;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,8BAA8B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YAChH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,gCAAgC,CACrC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,KAA+B,EAC/B,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,8BAA8B,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtH,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,gCAAgC,CACrC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,MAAoB;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,8BAA8B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YAChH,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,EAAE,8BAA8B,CAAC,CAAC;QACnC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAkC,EAClC,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,0BAA0B,EAAE;YAC7E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,qCAAqC,CAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,MAAoB;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,4BAA4B,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YAC5G,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,EAAE,8BAA8B,CAAC,CAAC;QACnC,OAAO,qCAAqC,CAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kCAAkC,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAe,EAAE,MAAoB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,4BAA4B,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YAC5G,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,EAAE,8BAA8B,CAAC,CAAC;QACnC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAwB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,WAAW,EAC1B;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;YAC/F,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;gBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,CAAC,KAAK,CAAC,yBAAyB,KAAK,SAAS;oBAC/C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,CAAC;gBACnE,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC1F,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;aAC9E,CAAC;SACH,EACD,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1F,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,8CAA8C,EAAE,GAAG,CAAC,CAAC;QAC1G,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC;gBACvF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO;wBACL,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;wBACxE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACrE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;qBAC7D,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EACtE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CACQ,CAAC;oBAC/C,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;oBAC3C,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,kDAAkD,EAAE,GAAG,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,cAAsB;QACjC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE;YAClG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA6B;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EACzF;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACjF,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;aAC/E,CAAC;SACH,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACvH,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE,oDAAoD,EAAE,GAAG,CAAC,CAAC;QACtH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/D,CAAC;QACD,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;eACtB,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EAC1F,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACpD,CAAC;QACD,IACE,IAAI,CAAC,MAAM,KAAK,aAAa;eAC1B,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,EACtJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE,sDAAsD,EAAE,GAAG,CAAC,CAAC;IACxH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAAsB,EAAE,IAAY,EAAE,cAAsB;QAC/E,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,WAAW,EAAE;YACpG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACtD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,cAAsB,EACtB,IAAY,EACZ,cAAsB;QAEtB,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAC3B,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,kBAAkB,EACxF;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACtD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;aAC/C,EACD,+BAA+B,CAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnE,MAAM,IAAI,eAAe,CACvB,gCAAgC,EAChC,6DAA6D,EAC7D,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CACpC,QAAQ,EACR,mBAAmB,EACnB,mCAAmC,CACpC,CAAY,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,eAAe,CAAC,iCAAiC,EAAE,iDAAiD,EAAE,GAAG,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,EAAE,QAAQ,KAAK,IAAI;eACtB,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;eAC3D,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC5C,MAAM,IAAI,eAAe,CAAC,iCAAiC,EAAE,uDAAuD,EAAE,GAAG,CAAC,CAAC;QAC7H,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,MAAoB;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;YACxG,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACjC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,yBAAyB,CAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,2BAA2B,EAAE,wBAAwB,CAAC,CAAC,CACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAoB;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,YAAY,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,EAC3E;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACjC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CACF,CAAC;QACF,OAAO,yBAAyB,CAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,2BAA2B,EAAE,wBAAwB,CAAC,CAAC,CACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,MAAoB;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAC5E;YACE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAqC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,aAAqB,EAAE,MAAoB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,oBAAoB,kBAAkB,CAAC,aAAa,CAAC,EAAE,EACtE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAC9E,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAqC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAoB;QAGrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE;YAC7D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,KAI7B;QACC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,QAAQ,EAAE,EAAE,EACpF;YACE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,CACF,CAAC;QACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAMZ;QACC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,cAAc,KAAK,CAAC,QAAQ,EAAE,EAAE,EAC/C;YACE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,CACF,CAAC;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAC7F;YACE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,mBAAmB,EAAE,CAAC;QAC9D,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAoB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,sBAAsB,EAAE;YACzE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACjH,OAAO,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa,EACb,KAA+E,EAC/E,MAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,GAAG,IAAI,CAAC,OAAO,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAC/D,KAAK,EACL,MAAM,CACP,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAuB;YAAE,OAAO,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,mBAAmB,EAAE,CAAC;QAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAa,EACb,OAAgB,EAChB,KAA+E,EAC/E,MAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,GAAG,IAAI,CAAC,OAAO,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,EAC7E,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EACrB,MAAM,CACP,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAuB;YAAE,OAAO,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,mBAAmB,EAAE,CAAC;QAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,SAAS,CACb,cAAsB,EACtB,aAAqB,EACrB,OAAoC,EACpC,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAC5E;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;SACjD,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,iDAAiD,EAAE,GAAG,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,IAA6C,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,UAAoC,EACpC,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,EAAE;cACpE,oBAAoB,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EACrE;YACE,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,2BAA2B,EAAE,UAAU,CAAC,WAAW;aACpD;YACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACpE,IACE,QAAQ,CAAC,IAAI,KAAK,IAAI;eACnB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;eAC7B,MAAM,KAAK,UAAU,CAAC,SAAS;eAC/B,SAAS,KAAK,UAAU,CAAC,WAAW,EACvC,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE,+CAA+C,EAAE,GAAG,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAAsB,EACtB,YAAoB,EACpB,YAAoB,EACpB,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,EAAE;cACpE,aAAa,kBAAkB,CAAC,YAAY,CAAC,EAAE,EACnD;YACE,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,gCAAgC,EAAE,YAAY;aAC/C;YACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CACF,CAAC;QACF,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CACvC,QAAQ,EACR,0BAA0B,EAC1B,4BAA4B,CAC7B,CAAY,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,0CAA0C,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClC,IACE,QAAQ,KAAK,SAAS;eACnB,GAAG,KAAK,SAAS;eACjB,GAAG,CAAC,IAAI,KAAK,SAAS;eACtB,GAAG,CAAC,YAAY,KAAK,YAAY;eACjC,GAAG,CAAC,YAAY,KAAK,YAAY;eACjC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;eACjC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;eAC1D,OAAO,QAAQ,CAAC,SAAS,KAAK,SAAS,EAC1C,CAAC;YACD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,2CAA2C,EAAE,GAAG,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,MAA6B,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,OAAuD,EACvD,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,EAAE;cACpE,aAAa,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EACpE;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,gCAAgC,EAAE,OAAO,CAAC,YAAY;aACvD;YACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;aAC7E,CAAC;SACH,EACD,iCAAiC,CAClC,CAAC;QACF,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CACvC,QAAQ,EACR,wBAAwB,EACxB,mCAAmC,CACpC,CAAY,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,iDAAiD,EAAE,GAAG,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,kDAAkD,EAAE,GAAG,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,OAAO,CAAC,IAAa;QAC3B,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,GAAW,EACX,IAAuC,EACvC,MAAoB;QAEpB,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAC1C,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,yBAAyB,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,IAAI,eAAe,CACvB,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,EACnE,mBAAmB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAC9F,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAY,CAAC;QACtH,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,kBAAkB,CAAC,WAA+B;QACxD,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,2DAA2D,EAAE,GAAG,CAAC,CAAC;QACtH,CAAC;QACD,OAAO,EAAE,yCAAyC,EAAE,UAAU,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACxF,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CACvB,0BAA0B,EAC1B,+DAA+D,EAC/D,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,GAAW,EACX,IAAiB,EACjB,eAA6C,EAC7C,YAA0B,IAAI,CAAC,SAAS;QAExC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,yBAAyB,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5F,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,iBAAiB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC/E,MAAM,IAAI,eAAe,CACvB,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,OAAO,EACjB,QAAQ,CAAC,MAAM,EACf;oBACE,GAAG,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC;wBAC3G,CAAC,CAAC,EAAE,iBAAiB,EAAE;wBACvB,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;iBACxE,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,EACnE,mBAAmB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAC9F,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,SAAS,sBAAsB,CAC7B,IAAY,EACZ,MAAc,EACd,QAAqC;IAErC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;QACjF,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,qCAAqC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG;QAC5E,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAc;IAEd,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,UAAU,EAAE,OAAO,KAAK,CAAC;WAC3B,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;WACzC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAkB,EAAE;QACzD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,UAAU,EAAE,OAAO,KAAK,4BAA4B;WACtD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC;WAC7C,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,mCAAmC;QACzE,CAAC,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAC1F,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/G,OAAO,UAAU,EAAE,aAAa,KAAK,CAAC;WACjC,iBAAiB,CAAC,MAAM,GAAG,CAAC;WAC5B,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,KAAK,IAAI;QAC5D,CAAC,CAAC;YACE,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE,CAAC,2BAA2B,CAAC;SACzC;QACH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IAGvC,OAAO,eAAe,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,eAAe,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,eAAe,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,eAAe,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS;WACjB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;WAC3B,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;WACtE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACzE,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS;WAClB,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;WAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;WAClC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACjF,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1E,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACjF,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gDAAgD,EAAE,GAAG,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;QACpF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACxE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAI,MAA6B,EAAE,KAAc;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,OAAO,mBAAmB,EAAE,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS;WACjB,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;WAC3B,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;WAC9B,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;WACxD,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,mBAAmB,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;eAClB,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;eAC5B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;eAC/B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;eAC/B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;eAC1D,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;eACrE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;YAAE,OAAO,mBAAmB,EAAE,CAAC;QACpG,OAAO,KAA0D,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,QAAQ,EAAE,IAAI,KAAK,uBAAuB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;eAC/C,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;eAC7D,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ;eACtC,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC;eACxC,OAAO,YAAY,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,mBAAmB,EAAE,CAAC;QAC5E,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE;gBACZ,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;aAC9B;SACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,EAAE,IAAI,KAAK,WAAW;WAC7B,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;WACpD,QAAQ,CAAC,KAAK,KAAK,SAAS;WAC5B,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,GAAG,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IACE,QAAQ,KAAK,SAAS;WACnB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,wBAAwB,EACjF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxE,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;WACjC,QAAQ,CAAC,KAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;WAClD,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe;WACvC,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC;WACjE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAE,QAAQ,CAAC,KAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EACzF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,KAAK;QACL,KAAK,EAAE,QAAQ,CAAC,KAAe;QAC/B,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;YACrE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;YACrB,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IACE,IAAI,KAAK,SAAS;WACf,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;WAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;WACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,oBAAoB;WAC3D,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;WACpC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,2BAA2B;WACzE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAC/E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACzE,IACE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;eACxB,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;eAClC,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACvC,OAAO,SAAS,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IACD,IACE,IAAI,CAAC,SAAS,KAAK,SAAS;WACzB,CAAC,CAAC,cAAc,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;aAC5D,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;WACxC,CAAC,IAAI,CAAC,iBAAiB,KAAK,kBAAkB,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EACjF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,aAAa;QAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAmE;KAC5F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAkB,EAAE,QAAgB,EAAE,IAAY;IAC/E,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE,QAAgB;IAChE,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;YACnC,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;gBACjC,IAAI,SAAS,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC7D,KAAK,GAAG,QAAQ,CAAC;gBACjB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACtH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,sBAAsB,CACpC,IAAgC,EAChC,aAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAiB,EAAE,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACzD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBAAE,SAAS;gBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;oBACtD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,6CAA6C,EAAE,GAAG,CAAC,CAAC;gBAC5G,CAAC;gBACD,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3E,QAAQ,GAAG,EAAE,CAAC;gBACd,YAAY,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,YAAY,GAAG,SAAS,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;gBACxD,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,6CAA6C,EAAE,GAAG,CAAC,CAAC;YAC5G,CAAC;YACD,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,YAAY,GAAG,CAAC;YAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAA+B,EAAE,IAA4B,EAAE,KAAa;IAClG,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAC7D,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC3B,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;gBAChF,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAuB,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,IAAI,uBAAuB;YAAE,MAAM;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClD,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,0BAA0B;YAAE,SAAS;QACzE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClG,MAAM,CAAC,IAAI,CAAC;YACV,EAAE;YACF,KAAK;YACL,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvG,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,KAA0C,EAC1C,OAA0B;IAE1B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}
|