@n8n/workflow-sdk 0.18.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast-interpreter/errors.d.ts +1 -1
- package/dist/ast-interpreter/errors.js +2 -2
- package/dist/ast-interpreter/errors.js.map +1 -1
- package/dist/ast-interpreter/index.d.ts +2 -1
- package/dist/ast-interpreter/index.js +8 -1
- package/dist/ast-interpreter/index.js.map +1 -1
- package/dist/ast-interpreter/interpreter.js +7 -4
- package/dist/ast-interpreter/interpreter.js.map +1 -1
- package/dist/ast-interpreter/validators.d.ts +18 -0
- package/dist/ast-interpreter/validators.js +92 -75
- package/dist/ast-interpreter/validators.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/generate-types/zod-helpers.d.ts +2 -2
- package/dist/prompts/sdk-reference/expressions.d.ts +1 -1
- package/dist/prompts/sdk-reference/expressions.js +12 -2
- package/dist/prompts/sdk-reference/expressions.js.map +1 -1
- package/dist/prompts/sdk-reference/index.d.ts +1 -0
- package/dist/prompts/sdk-reference/index.js +3 -1
- package/dist/prompts/sdk-reference/index.js.map +1 -1
- package/dist/prompts/sdk-reference/sdk-language.d.ts +1 -0
- package/dist/prompts/sdk-reference/sdk-language.js +72 -0
- package/dist/prompts/sdk-reference/sdk-language.js.map +1 -0
- package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.js +3 -0
- package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.js +18 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/test-schema-setup.js +1 -1
- package/dist/validation/test-schema-setup.js.map +1 -1
- package/package.json +12 -8
|
@@ -11,14 +11,14 @@ export declare const resourceLocatorValueSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
11
11
|
cachedResultName: z.ZodOptional<z.ZodString>;
|
|
12
12
|
cachedResultUrl: z.ZodOptional<z.ZodString>;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
|
-
__rl: true;
|
|
15
14
|
value: string | number;
|
|
15
|
+
__rl: true;
|
|
16
16
|
mode: string;
|
|
17
17
|
cachedResultName?: string | undefined;
|
|
18
18
|
cachedResultUrl?: string | undefined;
|
|
19
19
|
}, {
|
|
20
|
-
__rl: true;
|
|
21
20
|
value: string | number;
|
|
21
|
+
__rl: true;
|
|
22
22
|
mode: string;
|
|
23
23
|
cachedResultName?: string | undefined;
|
|
24
24
|
cachedResultUrl?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const EXPRESSION_REFERENCE = "Available variables inside `expr('{{ ... }}')`:\n\n- `$json` \u2014 current item's JSON data from the immediate predecessor node\n- `$('NodeName').item.json` \u2014 access
|
|
1
|
+
export declare const EXPRESSION_REFERENCE = "Available variables inside `expr('{{ ... }}')`:\n\n- `$json` \u2014 current item's JSON data from the immediate predecessor node only\n- `$('NodeName').item.json` \u2014 access the output item from another node that is paired with the current item\n- `nodeJson(node, 'field.path')` \u2014 SDK helper equivalent to `expr('{{ $(\"NodeName\").item.json.field.path }}')`\n- `$input.first()` \u2014 first item from immediate predecessor\n- `$input.all()` \u2014 all items from immediate predecessor\n- `$input.item` \u2014 current item being processed\n- `$binary` \u2014 binary data of current item from immediate predecessor\n- `$now` \u2014 current date/time (Luxon DateTime). Example: `$now.toISO()`\n- `$today` \u2014 start of today (Luxon DateTime). Example: `$today.plus(1, 'days')`\n- `$itemIndex` \u2014 index of current item being processed\n- `$runIndex` \u2014 current run index\n- `$execution.id` \u2014 unique execution ID\n- `$execution.mode` \u2014 'test' or 'production'\n- `$workflow.id` \u2014 workflow ID\n- `$workflow.name` \u2014 workflow name\n\nString composition \u2014 variables MUST always be inside `{{ }}`, never outside as JS variables:\n\n- `expr('Hello {{ $json.name }}, welcome!')` \u2014 variable embedded in text\n- `expr('Report for {{ $now.toFormat(\"MMMM d, yyyy\") }} - {{ $json.title }}')` \u2014 multiple variables with method call\n- `expr('{{ $json.firstName }} {{ $json.lastName }}')` \u2014 combining multiple fields\n- `expr('Total: {{ $json.items.length }} items, updated {{ $now.toISO() }}')` \u2014 expressions with method calls\n- `expr('Status: {{ $json.count > 0 ? \"active\" : \"empty\" }}')` \u2014 inline ternary\n\nDynamic data from other nodes \u2014 `$()` MUST always be inside `{{ }}`, never used as plain JavaScript:\n\n- WRONG: `expr('{{ ' + JSON.stringify($('Source').all().map(i => i.json.name)) + ' }}')` \u2014 $() outside {{ }}\n- CORRECT: `expr('{{ $(\"Source\").all().map(i => ({ option: i.json.name })) }}')` \u2014 $() inside {{ }}\n- CORRECT: `expr('{{ { \"fields\": [{ \"values\": $(\"Fetch Projects\").all().map(i => ({ option: i.json.name })) }] } }}')` \u2014 complex JSON inside {{ }}\n\nItem flow semantics \u2014 choose the reference that matches the current item:\n\n- Use `$('NodeName').item.json.field` or `nodeJson(sourceNode, 'field')` when the current node needs the value from the same paired item produced upstream.\n- Do NOT use `.first()` or `$input.first()` for per-item data in a multi-item workflow. `.first()` always reads item 0, so every downstream item reuses the first value.\n- Use `.first()` only when the workflow genuinely needs one global first item, such as a single configuration row.\n- If an upstream value is needed after another node replaces item JSON, reference the upstream node explicitly with `$('Extract Data').item.json.field`; do not expect the value to still exist on `$json`.\n\nWhen `$json` is unsafe - use `nodeJson(node, 'path')` or `$('NodeName').item.json.path` instead:\n\n- AI Agent subnodes: memory, language model, parser, retriever, vector store, and tool subnodes do not have the same immediate predecessor context as a main-flow node.\n WRONG: `sessionKey: expr('{{ $json.chatId }}')`\n CORRECT: `sessionKey: nodeJson(telegramTrigger, 'message.chat.id')`\n- Multi-branch fan-in: if a node receives data after IF/Switch/Merge-style branching, `$json` only means the current incoming item and may not contain the source field you need.\n WRONG: `expr('{{ $json.userId }}')`\n CORRECT: `nodeJson(userLookup, 'user.id')`\n- Replacing nodes: if the current output no longer contains a field extracted earlier, read the earlier node directly.\n WRONG: `expr('{{ $json.eventId }}')`\n CORRECT: `nodeJson(extractEventId, 'eventId')`\n- Further-upstream data: if the value comes from any node other than the immediate main predecessor, reference that node explicitly.\n WRONG: `expr('{{ $json.email }}')`\n CORRECT: `nodeJson(formTrigger, 'body.email')`";
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EXPRESSION_REFERENCE = void 0;
|
|
4
4
|
exports.EXPRESSION_REFERENCE = `Available variables inside \`expr('{{ ... }}')\`:
|
|
5
5
|
|
|
6
|
-
- \`$json\` — current item's JSON data from the immediate predecessor node
|
|
7
|
-
- \`$('NodeName').item.json\` — access
|
|
6
|
+
- \`$json\` — current item's JSON data from the immediate predecessor node only
|
|
7
|
+
- \`$('NodeName').item.json\` — access the output item from another node that is paired with the current item
|
|
8
8
|
- \`nodeJson(node, 'field.path')\` — SDK helper equivalent to \`expr('{{ $("NodeName").item.json.field.path }}')\`
|
|
9
9
|
- \`$input.first()\` — first item from immediate predecessor
|
|
10
10
|
- \`$input.all()\` — all items from immediate predecessor
|
|
@@ -33,6 +33,13 @@ Dynamic data from other nodes — \`$()\` MUST always be inside \`{{ }}\`, never
|
|
|
33
33
|
- CORRECT: \`expr('{{ $("Source").all().map(i => ({ option: i.json.name })) }}')\` — $() inside {{ }}
|
|
34
34
|
- CORRECT: \`expr('{{ { "fields": [{ "values": $("Fetch Projects").all().map(i => ({ option: i.json.name })) }] } }}')\` — complex JSON inside {{ }}
|
|
35
35
|
|
|
36
|
+
Item flow semantics — choose the reference that matches the current item:
|
|
37
|
+
|
|
38
|
+
- Use \`$('NodeName').item.json.field\` or \`nodeJson(sourceNode, 'field')\` when the current node needs the value from the same paired item produced upstream.
|
|
39
|
+
- Do NOT use \`.first()\` or \`$input.first()\` for per-item data in a multi-item workflow. \`.first()\` always reads item 0, so every downstream item reuses the first value.
|
|
40
|
+
- Use \`.first()\` only when the workflow genuinely needs one global first item, such as a single configuration row.
|
|
41
|
+
- If an upstream value is needed after another node replaces item JSON, reference the upstream node explicitly with \`$('Extract Data').item.json.field\`; do not expect the value to still exist on \`$json\`.
|
|
42
|
+
|
|
36
43
|
When \`$json\` is unsafe - use \`nodeJson(node, 'path')\` or \`$('NodeName').item.json.path\` instead:
|
|
37
44
|
|
|
38
45
|
- AI Agent subnodes: memory, language model, parser, retriever, vector store, and tool subnodes do not have the same immediate predecessor context as a main-flow node.
|
|
@@ -41,6 +48,9 @@ When \`$json\` is unsafe - use \`nodeJson(node, 'path')\` or \`$('NodeName').ite
|
|
|
41
48
|
- Multi-branch fan-in: if a node receives data after IF/Switch/Merge-style branching, \`$json\` only means the current incoming item and may not contain the source field you need.
|
|
42
49
|
WRONG: \`expr('{{ $json.userId }}')\`
|
|
43
50
|
CORRECT: \`nodeJson(userLookup, 'user.id')\`
|
|
51
|
+
- Replacing nodes: if the current output no longer contains a field extracted earlier, read the earlier node directly.
|
|
52
|
+
WRONG: \`expr('{{ $json.eventId }}')\`
|
|
53
|
+
CORRECT: \`nodeJson(extractEventId, 'eventId')\`
|
|
44
54
|
- Further-upstream data: if the value comes from any node other than the immediate main predecessor, reference that node explicitly.
|
|
45
55
|
WRONG: \`expr('{{ $json.email }}')\`
|
|
46
56
|
CORRECT: \`nodeJson(formTrigger, 'body.email')\``;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/expressions.ts"],"names":[],"mappings":";;;AAQa,QAAA,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/expressions.ts"],"names":[],"mappings":";;;AAQa,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAoDe,CAAC"}
|
|
@@ -3,3 +3,4 @@ export { ADDITIONAL_FUNCTIONS } from './additional-functions';
|
|
|
3
3
|
export { WORKFLOW_RULES } from './workflow-rules';
|
|
4
4
|
export { WORKFLOW_SDK_PATTERNS } from './workflow-patterns';
|
|
5
5
|
export { WORKFLOW_PATTERNS_DETAILED } from './workflow-patterns-detailed';
|
|
6
|
+
export { SDK_LANGUAGE_REFERENCE } from './sdk-language';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WORKFLOW_PATTERNS_DETAILED = exports.WORKFLOW_SDK_PATTERNS = exports.WORKFLOW_RULES = exports.ADDITIONAL_FUNCTIONS = exports.EXPRESSION_REFERENCE = void 0;
|
|
3
|
+
exports.SDK_LANGUAGE_REFERENCE = exports.WORKFLOW_PATTERNS_DETAILED = exports.WORKFLOW_SDK_PATTERNS = exports.WORKFLOW_RULES = exports.ADDITIONAL_FUNCTIONS = exports.EXPRESSION_REFERENCE = void 0;
|
|
4
4
|
var expressions_1 = require("./expressions");
|
|
5
5
|
Object.defineProperty(exports, "EXPRESSION_REFERENCE", { enumerable: true, get: function () { return expressions_1.EXPRESSION_REFERENCE; } });
|
|
6
6
|
var additional_functions_1 = require("./additional-functions");
|
|
@@ -11,4 +11,6 @@ var workflow_patterns_1 = require("./workflow-patterns");
|
|
|
11
11
|
Object.defineProperty(exports, "WORKFLOW_SDK_PATTERNS", { enumerable: true, get: function () { return workflow_patterns_1.WORKFLOW_SDK_PATTERNS; } });
|
|
12
12
|
var workflow_patterns_detailed_1 = require("./workflow-patterns-detailed");
|
|
13
13
|
Object.defineProperty(exports, "WORKFLOW_PATTERNS_DETAILED", { enumerable: true, get: function () { return workflow_patterns_detailed_1.WORKFLOW_PATTERNS_DETAILED; } });
|
|
14
|
+
var sdk_language_1 = require("./sdk-language");
|
|
15
|
+
Object.defineProperty(exports, "SDK_LANGUAGE_REFERENCE", { enumerable: true, get: function () { return sdk_language_1.SDK_LANGUAGE_REFERENCE; } });
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/index.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AAA5C,mHAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,yDAA4D;AAAnD,0HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/index.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AAA5C,mHAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,yDAA4D;AAAnD,0HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,+CAAwD;AAA/C,sHAAA,sBAAsB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SDK_LANGUAGE_REFERENCE: string;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SDK_LANGUAGE_REFERENCE = void 0;
|
|
4
|
+
const ast_interpreter_1 = require("../../ast-interpreter");
|
|
5
|
+
const GROUP_LABELS = {
|
|
6
|
+
workflow: 'Workflow builder',
|
|
7
|
+
node: 'Node builder',
|
|
8
|
+
'control-flow': 'Control flow',
|
|
9
|
+
connection: 'Connection',
|
|
10
|
+
};
|
|
11
|
+
const PUBLIC_METHODS = ast_interpreter_1.SDK_METHODS.filter((m) => m.public);
|
|
12
|
+
function renderMethodLines() {
|
|
13
|
+
return Object.keys(GROUP_LABELS)
|
|
14
|
+
.map((group) => {
|
|
15
|
+
const names = PUBLIC_METHODS.filter((m) => m.group === group).map((m) => `\`.${m.name}()\``);
|
|
16
|
+
return names.length ? `- **${GROUP_LABELS[group]}:** ${names.join(', ')}` : '';
|
|
17
|
+
})
|
|
18
|
+
.filter(Boolean)
|
|
19
|
+
.join('\n');
|
|
20
|
+
}
|
|
21
|
+
function renderForbiddenLines() {
|
|
22
|
+
return Object.values(ast_interpreter_1.FORBIDDEN_NODE_TYPES)
|
|
23
|
+
.map((message) => `- ${message}`)
|
|
24
|
+
.join('\n');
|
|
25
|
+
}
|
|
26
|
+
function renderBlockedGlobalsLines() {
|
|
27
|
+
return ast_interpreter_1.BUILDER_BLOCKED_GLOBALS.map((g) => g.alternative ? `- \`${g.name}\`: ${g.alternative}` : `- \`${g.name}\``).join('\n');
|
|
28
|
+
}
|
|
29
|
+
function renderInlineConstraintLines() {
|
|
30
|
+
return ast_interpreter_1.SDK_INLINE_CONSTRAINTS.map((c) => `- ${c}`).join('\n');
|
|
31
|
+
}
|
|
32
|
+
const SAFE_METHODS_SENTENCE = `The only non-builder methods available are ${ast_interpreter_1.SAFE_JSON_METHOD_NAMES.map((n) => `\`JSON.${n}\``).join(', ')} ` +
|
|
33
|
+
`and the string methods ${ast_interpreter_1.SAFE_STRING_METHOD_NAMES.map((n) => `\`.${n}()\``).join(', ')}. ` +
|
|
34
|
+
'Native array/string methods such as `.join()`, `.map()`, `.filter()`, `.reduce()`, and `.split()` are NOT available.';
|
|
35
|
+
exports.SDK_LANGUAGE_REFERENCE = `# Workflow SDK language reference
|
|
36
|
+
|
|
37
|
+
SDK builder code is a **restricted subset of TypeScript**, not a Code node and
|
|
38
|
+
not arbitrary JavaScript. It is parsed by an AST interpreter that builds a static
|
|
39
|
+
workflow graph: the code never executes at build time. Only the constructs below
|
|
40
|
+
are accepted; anything else fails to parse.
|
|
41
|
+
|
|
42
|
+
## Methods that chain on SDK objects
|
|
43
|
+
|
|
44
|
+
${renderMethodLines()}
|
|
45
|
+
|
|
46
|
+
${SAFE_METHODS_SENTENCE}
|
|
47
|
+
|
|
48
|
+
## Forbidden constructs
|
|
49
|
+
|
|
50
|
+
${renderForbiddenLines()}
|
|
51
|
+
|
|
52
|
+
## Language constraints
|
|
53
|
+
|
|
54
|
+
${renderInlineConstraintLines()}
|
|
55
|
+
|
|
56
|
+
## Global objects are unavailable
|
|
57
|
+
|
|
58
|
+
These are blocked in builder code. When an alternative is listed, use it instead:
|
|
59
|
+
|
|
60
|
+
${renderBlockedGlobalsLines()}
|
|
61
|
+
|
|
62
|
+
## Where to put runtime logic
|
|
63
|
+
|
|
64
|
+
Builder code only describes the graph. For anything that needs to run at
|
|
65
|
+
runtime (joining/aggregating values, transforming items, parsing, date math,
|
|
66
|
+
regex), do it in one of these:
|
|
67
|
+
|
|
68
|
+
- Build strings with **template literals** or explicit lines.
|
|
69
|
+
- Use an **n8n expression** via \`expr('{{ ... }}')\` for per-item values.
|
|
70
|
+
- Use a **Code node** for multi-step aggregation or transformation.
|
|
71
|
+
`;
|
|
72
|
+
//# sourceMappingURL=sdk-language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-language.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/sdk-language.ts"],"names":[],"mappings":";;;AAIA,2DAQ+B;AAE/B,MAAM,YAAY,GAAwD;IACzE,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,cAAc,EAAE,cAAc;IAC9B,UAAU,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,cAAc,GAAG,6BAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,SAAS,iBAAiB;IACzB,OAAQ,MAAM,CAAC,IAAI,CAAC,YAAY,CAAsC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,sCAAoB,CAAC;SACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB;IACjC,OAAO,yCAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B;IACnC,OAAO,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,qBAAqB,GAC1B,8CAA8C,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC9G,0BAA0B,0CAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IAC3F,sHAAsH,CAAC;AAG3G,QAAA,sBAAsB,GAAG;;;;;;;;;EASpC,iBAAiB,EAAE;;EAEnB,qBAAqB;;;;EAIrB,oBAAoB,EAAE;;;;EAItB,2BAA2B,EAAE;;;;;;EAM7B,yBAAyB,EAAE;;;;;;;;;;;CAW5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\n5. **Input and output indices are 0-based \u2014 `.input(0)` is the FIRST input**\n - `.input(0)` and `.output(0)` refer to the **first** input/output. `.input(1)` and `.output(1)` refer to the **second**. `.input(1)` is NOT the first input \u2014 it is the second one.\n - This applies everywhere indices are passed: `.input(n)`, `.output(n)`, `.onCase(n, ...)` for switch outputs, and any `outputIndex` argument.\n - When wiring N branches to a Merge node, the indices are `0, 1, ..., N-1` \u2014 never `1, 2, ..., N`.\n - Counter-examples to AVOID:\n - WRONG: `sourceA.to(merge.input(1))` followed by `sourceB.to(merge.input(2))` \u2014 this skips input 0 entirely; the first branch is silently dropped.\n - CORRECT: `sourceA.to(merge.input(0))` followed by `sourceB.to(merge.input(1))`.";
|
|
1
|
+
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - If a node fetches shared context independently but is chained after a multi-item source, set `executeOnce: true` so it does not run once per incoming item\n - Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing `executeOnce: true` or should be on a parallel branch\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\n5. **Input and output indices are 0-based \u2014 `.input(0)` is the FIRST input**\n - `.input(0)` and `.output(0)` refer to the **first** input/output. `.input(1)` and `.output(1)` refer to the **second**. `.input(1)` is NOT the first input \u2014 it is the second one.\n - This applies everywhere indices are passed: `.input(n)`, `.output(n)`, `.onCase(n, ...)` for switch outputs, and any `outputIndex` argument.\n - When wiring N branches to a Merge node, the indices are `0, 1, ..., N-1` \u2014 never `1, 2, ..., N`.\n - Counter-examples to AVOID:\n - WRONG: `sourceA.to(merge.input(1))` followed by `sourceB.to(merge.input(2))` \u2014 this skips input 0 entirely; the first branch is silently dropped.\n - CORRECT: `sourceA.to(merge.input(0))` followed by `sourceB.to(merge.input(1))`.";
|
|
@@ -21,6 +21,8 @@ exports.WORKFLOW_RULES = `Follow these rules strictly when generating workflows:
|
|
|
21
21
|
3. **Use \`executeOnce: true\` for single-execution nodes**
|
|
22
22
|
- When a node receives N items but should only execute once (not N times), set \`executeOnce: true\`
|
|
23
23
|
- Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution
|
|
24
|
+
- If a node fetches shared context independently but is chained after a multi-item source, set \`executeOnce: true\` so it does not run once per incoming item
|
|
25
|
+
- Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing \`executeOnce: true\` or should be on a parallel branch
|
|
24
26
|
- Example: \`config: { ..., executeOnce: true }\`
|
|
25
27
|
|
|
26
28
|
4. **Pick the right control-flow primitive**
|
|
@@ -28,6 +30,7 @@ exports.WORKFLOW_RULES = `Follow these rules strictly when generating workflows:
|
|
|
28
30
|
- **Drop items that don't match a predicate** → \`filter\`. It emits 0 items when nothing matches, and the chain stops cleanly.
|
|
29
31
|
- **Two mutually exclusive paths that both do real work** → \`IF\` (\`onTrue\` / \`onFalse\`).
|
|
30
32
|
- **Many mutually exclusive paths keyed off a value** → \`switch\` (\`onCase\`).
|
|
33
|
+
- A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.
|
|
31
34
|
- Nested control flow is supported: \`ifNode.onTrue(loopBuilder)\`, \`switchNode.onCase(0, loopBuilder)\`, and \`splitInBatches(sib).onEachBatch(ifElseBuilder)\` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.
|
|
32
35
|
|
|
33
36
|
5. **Input and output indices are 0-based — \`.input(0)\` is the FIRST input**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-rules.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/workflow-rules.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"workflow-rules.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/workflow-rules.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAsC6D,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { INodeTypes } from 'n8n-workflow';
|
|
2
2
|
import type { WorkflowBuilder, WorkflowJSON } from '../types/base';
|
|
3
3
|
export { setSchemaBaseDirs, validateNodeConfig, type SchemaValidationResult, } from './schema-validator';
|
|
4
|
-
export type ValidationErrorCode = 'NO_NODES' | 'MISSING_TRIGGER' | 'DISCONNECTED_NODE' | 'MISSING_PARAMETER' | 'INVALID_CONNECTION' | 'CIRCULAR_REFERENCE' | 'INVALID_EXPRESSION' | 'AGENT_STATIC_PROMPT' | 'AGENT_NO_SYSTEM_MESSAGE' | 'HARDCODED_CREDENTIALS' | 'SET_CREDENTIAL_FIELD' | 'MERGE_SINGLE_INPUT' | 'TOOL_NO_PARAMETERS' | 'FROM_AI_IN_NON_TOOL' | 'MISSING_EXPRESSION_PREFIX' | 'INVALID_PARAMETER' | 'INVALID_INPUT_INDEX' | 'SUBNODE_NOT_CONNECTED' | 'SUBNODE_PARAMETER_MISMATCH' | 'UNSUPPORTED_SUBNODE_INPUT' | 'MISSING_REQUIRED_INPUT' | 'INVALID_OUTPUT_FOR_MODE' | 'SWITCH_FALLBACK_OUTPUT_DISABLED' | 'MAX_NODES_EXCEEDED' | 'INVALID_EXPRESSION_PATH' | 'PARTIAL_EXPRESSION_PATH' | 'INVALID_DATE_METHOD' | 'UNKNOWN_CONFIG_KEY';
|
|
4
|
+
export type ValidationErrorCode = 'NO_NODES' | 'MISSING_TRIGGER' | 'DISCONNECTED_NODE' | 'MISSING_PARAMETER' | 'INVALID_CONNECTION' | 'CIRCULAR_REFERENCE' | 'INVALID_EXPRESSION' | 'AGENT_STATIC_PROMPT' | 'AGENT_NO_SYSTEM_MESSAGE' | 'HARDCODED_CREDENTIALS' | 'SET_CREDENTIAL_FIELD' | 'MERGE_SINGLE_INPUT' | 'TOOL_NO_PARAMETERS' | 'FROM_AI_IN_NON_TOOL' | 'MISSING_EXPRESSION_PREFIX' | 'INVALID_PARAMETER' | 'INVALID_INPUT_INDEX' | 'SUBNODE_NOT_CONNECTED' | 'SUBNODE_PARAMETER_MISMATCH' | 'UNSUPPORTED_SUBNODE_INPUT' | 'MISSING_REQUIRED_INPUT' | 'INVALID_OUTPUT_FOR_MODE' | 'SWITCH_NO_OUTPUT_CONNECTIONS' | 'SWITCH_FALLBACK_OUTPUT_DISABLED' | 'MAX_NODES_EXCEEDED' | 'INVALID_EXPRESSION_PATH' | 'PARTIAL_EXPRESSION_PATH' | 'INVALID_DATE_METHOD' | 'UNKNOWN_CONFIG_KEY';
|
|
5
5
|
export declare class ValidationError {
|
|
6
6
|
readonly code: ValidationErrorCode;
|
|
7
7
|
readonly message: string;
|
package/dist/validation/index.js
CHANGED
|
@@ -254,6 +254,7 @@ function validateWorkflow(workflowOrJson, options = {}) {
|
|
|
254
254
|
validateOutputUsage(json, options.nodeTypesProvider, warnings);
|
|
255
255
|
validatePlaceholderSlots(json, options.nodeTypesProvider, errors);
|
|
256
256
|
}
|
|
257
|
+
validateSwitchHasOutgoingConnections(json, warnings);
|
|
257
258
|
validateSwitchFallbackOutputConnections(json, warnings);
|
|
258
259
|
checkMergeNodeInputCount(json, warnings);
|
|
259
260
|
return {
|
|
@@ -564,6 +565,23 @@ function hasOutputConnections(outputs, outputIndex) {
|
|
|
564
565
|
const output = outputs[outputIndex];
|
|
565
566
|
return Array.isArray(output) && output.length > 0;
|
|
566
567
|
}
|
|
568
|
+
function hasAnyMainOutputConnection(nodeConnections) {
|
|
569
|
+
if (!isRecord(nodeConnections))
|
|
570
|
+
return false;
|
|
571
|
+
const main = nodeConnections.main;
|
|
572
|
+
if (!Array.isArray(main))
|
|
573
|
+
return false;
|
|
574
|
+
return main.some((slot) => Array.isArray(slot) && slot.length > 0);
|
|
575
|
+
}
|
|
576
|
+
function validateSwitchHasOutgoingConnections(json, warnings) {
|
|
577
|
+
for (const sourceNode of json.nodes) {
|
|
578
|
+
if (!sourceNode.name || sourceNode.type !== 'n8n-nodes-base.switch')
|
|
579
|
+
continue;
|
|
580
|
+
if (hasAnyMainOutputConnection(json.connections[sourceNode.name]))
|
|
581
|
+
continue;
|
|
582
|
+
warnings.push(new ValidationWarning('SWITCH_NO_OUTPUT_CONNECTIONS', `Switch node '${sourceNode.name}' has no outgoing connections. Connect at least one output branch to downstream action nodes, or remove the Switch node.`, sourceNode.name, 'connections', undefined, 'major'));
|
|
583
|
+
}
|
|
584
|
+
}
|
|
567
585
|
function validateSwitchFallbackOutputConnections(json, warnings) {
|
|
568
586
|
for (const sourceNode of json.nodes) {
|
|
569
587
|
if (!sourceNode.name || sourceNode.type !== 'n8n-nodes-base.switch')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;;;;AAgXA,4CA4JC;AA5gBD,qDAA6B;AAE7B,+CAA2D;AAE3D,uDAA0D;AAE1D,qDAAyD;AACzD,yDAAwD;AACxD,wDAA8E;AAE9E,mEAA6E;AAE7E,uDAI4B;AAH3B,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAwCnB,MAAa,eAAe;IAQ3B,YACC,IAAyB,EACzB,OAAe,EACf,QAAiB,EACjB,aAAsB,EACtB,cAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;CACD;AArBD,0CAqBC;AAKD,MAAa,iBAAiB;IAS7B,YACC,IAAyB,EACzB,OAAe,EACf,QAAiB,EACjB,aAAsB,EACtB,YAAqB,EACrB,cAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;CACD;AAxBD,8CAwBC;AAiCD,SAAS,aAAa,CAAC,IAAY;IAClC,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACrB,CAAC;AACH,CAAC;AAKD,MAAM,mBAAmB,GAAG;IAC3B,kBAAkB;IAClB,WAAW;IACX,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,aAAa;CACb,CAAC;AAKF,MAAM,8BAA8B,GAA2B;IAC9D,gBAAgB,EAAE,OAAO;IACzB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,cAAc;IAC/B,YAAY,EAAE,WAAW;IACzB,cAAc,EAAE,aAAa;IAC7B,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,cAAc;IAC/B,WAAW,EAAE,UAAU;CACvB,CAAC;AAKF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAiB5C,SAAS,kCAAkC,CAC1C,cAAsB,EACtB,IAAkB;IAElB,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAGhD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAGD,KAAK,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAwC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAElD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAElC,MAAM,YAAY,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;wBAC9D,IAAI,CAAC,YAAY;4BAAE,SAAS;wBAE5B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACnD,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAG1B,MAAM,aAAa,GAAG;4BACrB,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,OAAO,EAAE,UAAU,CAAC,WAAW;4BAC/B,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,EAAE;yBACvC,CAAC;wBAGF,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAC7B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC9B,CAAC;iCAAM,CAAC;gCACP,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAC1C,CAAC;wBACF,CAAC;6BAAM,CAAC;4BAEP,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;wBACxC,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAKD,SAAS,uBAAuB,CAAC,QAAgB,EAAE,IAAkB;IACpE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAwC,CAAC,CAAC;QAC1E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAKD,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAkB;IAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAoD,CAAC;IACvF,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAKD,SAAS,qBAAqB,CAAC,IAAkB;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAGtC,KAAK,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACb,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;wBAClC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAGzB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAGzC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAGvC,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAG1C,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QAEvD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AA2BD,SAAgB,gBAAgB,CAC/B,cAA8C,EAC9C,UAA6B,EAAE;IAG/B,MAAM,IAAI,GAAiB,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAEjG,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAGzC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,iBAAiB,EACjB,oEAAoE,CACpE,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,SAAS,QAAQ,4DAA4D,EAC7E,QAAQ,CACR,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAE/B,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;oBAC3D,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,sBAAsB,IAAI,CAAC,IAAI,gCAAgC,EAC/D,IAAI,CAAC,IAAI,CACT,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAE/B,MAAM,OAAO,GACZ,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAG5B,MAAM,MAAM,GAAiD,EAAE,CAAC;YAChE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC;YAED,MAAM,gBAAgB,GAAG,IAA4C,CAAC;YACtE,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAGtB,MAAM,aAAa,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;gBACjC,CAAC;YACF,CAAC;YAID,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEtE,MAAM,YAAY,GAAG,IAAA,qCAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEpF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBAG5B,IACC,KAAK,CAAC,IAAI,KAAK,UAAU;wBACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACjC,OAAO,CAAC,iBAAiB,EACxB,CAAC;wBACF,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;wBAC/D,IAAI,WAAW,EAAE,CAAC;4BACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;iCAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;iCAC7C,MAAM,CAAC,OAAO,CAAC,CAAC;4BAClB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAG9B,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,0CAA0C,EAC1C,kDAAkD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7E,CAAC;4BACH,CAAC;wBACF,CAAC;oBACF,CAAC;oBAGD,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,SAAS,IAAI,CAAC,IAAI,MAAM,OAAO,EAAE,EACjC,IAAI,CAAC,IAAI,CACT,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAEjE,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAErE,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAExE,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAEzE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE/D,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAID,uCAAuC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAGxD,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEzC,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;KACR,CAAC;AACH,CAAC;AAYD,SAAS,wBAAwB,CAAC,IAAkB,EAAE,QAA6B;IAClF,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB;YAAE,SAAS;QAEnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACxD,IAAI,CAAC,YAAY;YAAE,SAAS;QAE5B,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,iBAAiB,GAAG,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;QAED,IAAI,iBAAiB,IAAI,cAAc,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,qBAAqB,EACrB,eAAe,IAAI,CAAC,IAAI,qCAAqC,iBAAiB,0BAA0B,cAAc,2BAA2B,iBAAiB,GAAG,CAAC,+BAA+B,EACrM,IAAI,CAAC,IAAI,EACT,cAAc,EACd,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAKD,MAAM,6BAA6B,GAA2B;IAC7D,gBAAgB,EAAE,iBAAiB;IACnC,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,QAAQ;IACjB,eAAe,EAAE,gBAAgB;IACjC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,eAAe;IAC/B,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,YAAY;CACzB,CAAC;AAKF,SAAS,wBAAwB,CAChC,aAAsC,EACtC,cAA+B;IAK/B,MAAM,UAAU,GAAmE,EAAE,CAAC;IAEtF,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAE/D,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,cAAc;YAAE,SAAS;QAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAoB,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,cAA2B;gBACrC,MAAM,EAAE,WAAW;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;AACzD,CAAC;AASD,SAAS,yBAAyB,CACjC,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAG7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAID,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAGF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAG/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAC3D,UAAU,CAAC,IAAI,EACf,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAChC,CAAC;QACF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAGjC,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI;gBAAE,SAAS;YAGjD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC7C,IAAI,CAAC,OAAO,EAAE,UAAU;wBAAE,SAAS;oBAGnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wBAAwB,CACvD,OAAO,CAAC,UAAU,EAClB,WAAW,CAAC,cAAc,CAC1B,CAAC;oBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;wBAQd,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;wBAC3E,IAAI,CAAC,mBAAmB;4BAAE,SAAS;wBAEnC,MAAM,KAAK,GAAG,6BAA6B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;wBAG9E,MAAM,eAAe,GAAG,UAAU;6BAChC,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACvG;6BACA,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEb,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,4BAA4B,EAC5B,IAAI,WAAW,sBAAsB,UAAU,CAAC,IAAI,WAAW,KAAK,YAAY,eAAe,qDAAqD,EACpJ,WAAW,EACX,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CACpB,CACD,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAKD,SAAS,qBAAqB,CAC7B,cAA+B,EAC/B,YAAqC;IAErC,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,cAAc;YAAE,SAAS;QAI9B,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAI,cAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,cAAc,WAAW,gBAAgB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AASD,SAAS,+BAA+B,CACvC,cAA+B,EAC/B,YAAqC;IAErC,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AASD,SAAS,4BAA4B,CACpC,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAEjC,MAAM,aAAa,GAA0B;YAC5C,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,cAAc;gBAAE,SAAS;YAE3C,MAAM,mBAAmB,GAAG,IAAA,uCAAqB,EAChD,aAAa,EACb,WAAW,CAAC,cAAgC,CAC5C,CAAC;YAEF,IAAI,mBAAmB;gBAAE,SAAS;YAElC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,YAAY,GAAG,8BAA8B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;oBACtF,MAAM,gBAAgB,GAAG,qBAAqB,CAC7C,WAAW,CAAC,cAAc,EAC1B,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,CAAC;oBAEF,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,2BAA2B,EAC3B,IAAI,UAAU,CAAC,IAAI,WAAW,YAAY,cAAc,WAAW,oEAAoE,gBAAgB,qCAAqC,UAAU,CAAC,IAAI,wBAAwB,YAAY,uCAAuC,YAAY,8CAA8C,EAChV,UAAU,CAAC,IAAI,EACf,SAAS,EACT,SAAS,EACT,OAAO,CACP,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAaD,SAAS,+BAA+B,CACvC,IAAkB,EAClB,iBAA6B,EAC7B,MAAyB;IAEzB,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAEjC,MAAM,aAAa,GAA0B;YAC5C,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,QAAQ;gBAAE,SAAS;YAErC,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAA,uCAAqB,EAC1C,aAAa,EACb,WAAW,CAAC,cAAgC,CAC5C,CAAC;gBACF,IAAI,CAAC,aAAa;oBAAE,SAAS;YAC9B,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACtE,MAAM,aAAa,GAClB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5F,IAAI,aAAa;gBAAE,SAAS;YAE5B,MAAM,YAAY,GAAG,8BAA8B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;YACtF,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc;gBAChD,CAAC,CAAC,kBAAkB,+BAA+B,CACjD,WAAW,CAAC,cAAc,EAC1B,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,GAAG;gBACL,CAAC,CAAC,EAAE,CAAC;YACN,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc;gBAC7C,CAAC,CAAC,qBAAqB,YAAY,iEAAiE;gBACpG,CAAC,CAAC,EAAE,CAAC;YAEN,MAAM,CAAC,IAAI,CACV,IAAI,eAAe,CAClB,wBAAwB,EACxB,IAAI,UAAU,CAAC,IAAI,gBAAgB,YAAY,6BAA6B,cAAc,SAAS,cAAc,2BAA2B,WAAW,EAAE,EACzJ,UAAU,CAAC,IAAI,EACf,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAUD,SAAS,oBAAoB,CAAC,cAAsB,EAAE,MAAM,GAAG,KAAK;IACnE,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC/E,MAAM,KAAK,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,KAAK;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,KAAK,EAAE,CAAC;IACjF,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,cAAc,EAAE,CAAC;AACpE,CAAC;AAOD,SAAS,4BAA4B,CACpC,WAA6E,EAC7E,GAA0B,EAC1B,WAAmB;IAEnB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,IAAI,KAAK,WAAW;YAAE,SAAS;QACnC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,IAAA,uCAAqB,EAAC,GAAG,EAAE,GAAG,CAAC,cAAgC,CAAC,EAAE,CAAC;YAC7F,SAAS;QACV,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAUD,SAAS,mBAAmB,CAC3B,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAE7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC;QAChE,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,MAAM,GAAG,GAA0B;YAClC,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAEjE,IAAI,CAAC,GAAG,EAAE,cAAc;gBAAE,SAAS;YAEnC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,OAAO,GAAG,IAAA,uCAAqB,EAAC,GAAG,EAAE,GAAG,CAAC,cAAgC,CAAC,CAAC;YACjF,IAAI,OAAO;gBAAE,SAAS;YAEtB,MAAM,gBAAgB,GAAG,qBAAqB,CAC7C,GAAG,CAAC,cAAc,EAClB,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,CAAC;YACF,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,4BAA4B,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAClF,MAAM,aAAa,GAAG,UAAU;gBAC/B,CAAC,CAAC,yCAAyC,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,UAAU,0BAA0B;gBACjJ,CAAC,CAAC,EAAE,CAAC;YAEN,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,yBAAyB,EACzB,IAAI,UAAU,CAAC,IAAI,QAAQ,UAAU,oDAAoD,gBAAgB,GAAG,aAAa,EAAE,EAC3H,UAAU,CAAC,IAAI,EACf,SAAS,EACT,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA+C;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAE1D,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,uBAAuB,CAAC,UAA+C;IAC/E,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO,OAAO,CAAC,cAAc,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAC5B,OAA2E,EAC3E,WAAmB;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,CAAC;AAMD,SAAS,uCAAuC,CAC/C,IAAkB,EAClB,QAA6B;IAE7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,uBAAuB;YAAE,SAAS;QAE9E,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO;YAAE,SAAS;QAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QAE1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,cAAc,KAAK,OAAO;YAAE,SAAS;QAEzC,KAAK,IAAI,WAAW,GAAG,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YACpF,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC;gBAAE,SAAS;YAE9D,MAAM,aAAa,GAClB,UAAU,CAAC,OAAO,KAAK,qBAAqB,IAAI,WAAW,KAAK,UAAU,CAAC;YAC5E,IAAI,aAAa;gBAAE,SAAS;YAE5B,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,iCAAiC,EACjC,gBAAgB,UAAU,CAAC,IAAI,kCAAkC,WAAW,iDAAiD,UAAU,kNAAkN,EACzV,UAAU,CAAC,IAAI,EACf,wBAAwB,EACxB,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAqBD,SAAS,wBAAwB,CAChC,IAAkB,EAClB,iBAA6B,EAC7B,MAAyB;IAEzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,SAAS;QAE7C,MAAM,OAAO,GACZ,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAE/F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAqC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,oBAAoB,KAAK,KAAK;gBAAE,SAAS;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAA,wCAAyB,EAAC,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,CAAC,IAAI,CACV,IAAI,eAAe,CAClB,mBAAmB,EACnB,SAAS,IAAI,CAAC,IAAI,oDAAoD,IAAI,CAAC,IAAI,2CAA2C,EAC1H,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CACT,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAMD,SAAS,qBAAqB,CAC7B,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAG7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAID,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAGvC,KAAK,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE/E,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAAE,SAAS;QAElE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEpC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAG1B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;oBACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;oBACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;gBAGlC,MAAM,cAAc,GAAG,IAAA,sCAAqB,EAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAG1F,IAAI,cAAc,KAAK,SAAS;oBAAE,SAAS;gBAG3C,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;oBACxD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,qBAAqB,EACrB,kBAAkB,cAAc,sBAAsB,gBAAgB,uBAAuB,cAAc,wBAAwB,cAAc,GAAG,CAAC,GAAG,EACxJ,cAAc,CACd,CACD,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;;;;AAiXA,4CA6JC;AA9gBD,qDAA6B;AAE7B,+CAA2D;AAE3D,uDAA0D;AAE1D,qDAAyD;AACzD,yDAAwD;AACxD,wDAA8E;AAE9E,mEAA6E;AAE7E,uDAI4B;AAH3B,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAyCnB,MAAa,eAAe;IAQ3B,YACC,IAAyB,EACzB,OAAe,EACf,QAAiB,EACjB,aAAsB,EACtB,cAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;CACD;AArBD,0CAqBC;AAKD,MAAa,iBAAiB;IAS7B,YACC,IAAyB,EACzB,OAAe,EACf,QAAiB,EACjB,aAAsB,EACtB,YAAqB,EACrB,cAA+C;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;CACD;AAxBD,8CAwBC;AAiCD,SAAS,aAAa,CAAC,IAAY;IAClC,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACrB,CAAC;AACH,CAAC;AAKD,MAAM,mBAAmB,GAAG;IAC3B,kBAAkB;IAClB,WAAW;IACX,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,aAAa;CACb,CAAC;AAKF,MAAM,8BAA8B,GAA2B;IAC9D,gBAAgB,EAAE,OAAO;IACzB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,cAAc;IAC/B,YAAY,EAAE,WAAW;IACzB,cAAc,EAAE,aAAa;IAC7B,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,cAAc;IAC/B,WAAW,EAAE,UAAU;CACvB,CAAC;AAKF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAiB5C,SAAS,kCAAkC,CAC1C,cAAsB,EACtB,IAAkB;IAElB,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAGhD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAGD,KAAK,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAwC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAElD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAElC,MAAM,YAAY,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;wBAC9D,IAAI,CAAC,YAAY;4BAAE,SAAS;wBAE5B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACnD,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAG1B,MAAM,aAAa,GAAG;4BACrB,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,OAAO,EAAE,UAAU,CAAC,WAAW;4BAC/B,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,EAAE;yBACvC,CAAC;wBAGF,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;4BACxC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAC7B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC9B,CAAC;iCAAM,CAAC;gCACP,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAC1C,CAAC;wBACF,CAAC;6BAAM,CAAC;4BAEP,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;wBACxC,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAKD,SAAS,uBAAuB,CAAC,QAAgB,EAAE,IAAkB;IACpE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAwC,CAAC,CAAC;QAC1E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAKD,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAkB;IAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAoD,CAAC;IACvF,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAKD,SAAS,qBAAqB,CAAC,IAAkB;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAGtC,KAAK,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACb,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;wBAClC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAGzB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAGzC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAGvC,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAG1C,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QAEvD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AA2BD,SAAgB,gBAAgB,CAC/B,cAA8C,EAC9C,UAA6B,EAAE;IAG/B,MAAM,IAAI,GAAiB,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAEjG,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAGzC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,iBAAiB,EACjB,oEAAoE,CACpE,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,SAAS,QAAQ,4DAA4D,EAC7E,QAAQ,CACR,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAE/B,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;oBAC3D,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,sBAAsB,IAAI,CAAC,IAAI,gCAAgC,EAC/D,IAAI,CAAC,IAAI,CACT,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAE/B,MAAM,OAAO,GACZ,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAG5B,MAAM,MAAM,GAAiD,EAAE,CAAC;YAChE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC;YAED,MAAM,gBAAgB,GAAG,IAA4C,CAAC;YACtE,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAGtB,MAAM,aAAa,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;gBACjC,CAAC;YACF,CAAC;YAID,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEtE,MAAM,YAAY,GAAG,IAAA,qCAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEpF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBAG5B,IACC,KAAK,CAAC,IAAI,KAAK,UAAU;wBACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACjC,OAAO,CAAC,iBAAiB,EACxB,CAAC;wBACF,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;wBAC/D,IAAI,WAAW,EAAE,CAAC;4BACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;iCAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;iCAC7C,MAAM,CAAC,OAAO,CAAC,CAAC;4BAClB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAG9B,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,0CAA0C,EAC1C,kDAAkD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7E,CAAC;4BACH,CAAC;wBACF,CAAC;oBACF,CAAC;oBAGD,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,mBAAmB,EACnB,SAAS,IAAI,CAAC,IAAI,MAAM,OAAO,EAAE,EACjC,IAAI,CAAC,IAAI,CACT,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAEjE,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAErE,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAExE,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAEzE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE/D,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAID,oCAAoC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,uCAAuC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAGxD,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEzC,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;KACR,CAAC;AACH,CAAC;AAYD,SAAS,wBAAwB,CAAC,IAAkB,EAAE,QAA6B;IAClF,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB;YAAE,SAAS;QAEnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACxD,IAAI,CAAC,YAAY;YAAE,SAAS;QAE5B,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,iBAAiB,GAAG,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;QAED,IAAI,iBAAiB,IAAI,cAAc,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,qBAAqB,EACrB,eAAe,IAAI,CAAC,IAAI,qCAAqC,iBAAiB,0BAA0B,cAAc,2BAA2B,iBAAiB,GAAG,CAAC,+BAA+B,EACrM,IAAI,CAAC,IAAI,EACT,cAAc,EACd,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAKD,MAAM,6BAA6B,GAA2B;IAC7D,gBAAgB,EAAE,iBAAiB;IACnC,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,QAAQ;IACjB,eAAe,EAAE,gBAAgB;IACjC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,eAAe;IAC/B,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,YAAY;CACzB,CAAC;AAKF,SAAS,wBAAwB,CAChC,aAAsC,EACtC,cAA+B;IAK/B,MAAM,UAAU,GAAmE,EAAE,CAAC;IAEtF,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAE/D,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,cAAc;YAAE,SAAS;QAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAoB,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,cAA2B;gBACrC,MAAM,EAAE,WAAW;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;AACzD,CAAC;AASD,SAAS,yBAAyB,CACjC,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAG7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAID,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAGF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAG/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAC3D,UAAU,CAAC,IAAI,EACf,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAChC,CAAC;QACF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAGjC,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI;gBAAE,SAAS;YAGjD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC7C,IAAI,CAAC,OAAO,EAAE,UAAU;wBAAE,SAAS;oBAGnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wBAAwB,CACvD,OAAO,CAAC,UAAU,EAClB,WAAW,CAAC,cAAc,CAC1B,CAAC;oBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;wBAQd,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;wBAC3E,IAAI,CAAC,mBAAmB;4BAAE,SAAS;wBAEnC,MAAM,KAAK,GAAG,6BAA6B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;wBAG9E,MAAM,eAAe,GAAG,UAAU;6BAChC,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACvG;6BACA,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEb,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,4BAA4B,EAC5B,IAAI,WAAW,sBAAsB,UAAU,CAAC,IAAI,WAAW,KAAK,YAAY,eAAe,qDAAqD,EACpJ,WAAW,EACX,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CACpB,CACD,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAKD,SAAS,qBAAqB,CAC7B,cAA+B,EAC/B,YAAqC;IAErC,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,cAAc;YAAE,SAAS;QAI9B,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAI,cAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,cAAc,WAAW,gBAAgB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AASD,SAAS,+BAA+B,CACvC,cAA+B,EAC/B,YAAqC;IAErC,IAAI,CAAC,cAAc,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AASD,SAAS,4BAA4B,CACpC,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAEjC,MAAM,aAAa,GAA0B;YAC5C,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,cAAc;gBAAE,SAAS;YAE3C,MAAM,mBAAmB,GAAG,IAAA,uCAAqB,EAChD,aAAa,EACb,WAAW,CAAC,cAAgC,CAC5C,CAAC;YAEF,IAAI,mBAAmB;gBAAE,SAAS;YAElC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,YAAY,GAAG,8BAA8B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;oBACtF,MAAM,gBAAgB,GAAG,qBAAqB,CAC7C,WAAW,CAAC,cAAc,EAC1B,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,CAAC;oBAEF,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,2BAA2B,EAC3B,IAAI,UAAU,CAAC,IAAI,WAAW,YAAY,cAAc,WAAW,oEAAoE,gBAAgB,qCAAqC,UAAU,CAAC,IAAI,wBAAwB,YAAY,uCAAuC,YAAY,8CAA8C,EAChV,UAAU,CAAC,IAAI,EACf,SAAS,EACT,SAAS,EACT,OAAO,CACP,CACD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAaD,SAAS,+BAA+B,CACvC,IAAkB,EAClB,iBAA6B,EAC7B,MAAyB;IAEzB,MAAM,iBAAiB,GAAG,IAAA,0CAA2B,EACpD,IAAI,CAAC,WAAyC,CAC9C,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAEjC,MAAM,aAAa,GAA0B;YAC5C,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,WAAW,EAAE,QAAQ;gBAAE,SAAS;YAErC,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAA,uCAAqB,EAC1C,aAAa,EACb,WAAW,CAAC,cAAgC,CAC5C,CAAC;gBACF,IAAI,CAAC,aAAa;oBAAE,SAAS;YAC9B,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YACtE,MAAM,aAAa,GAClB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5F,IAAI,aAAa;gBAAE,SAAS;YAE5B,MAAM,YAAY,GAAG,8BAA8B,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;YACtF,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc;gBAChD,CAAC,CAAC,kBAAkB,+BAA+B,CACjD,WAAW,CAAC,cAAc,EAC1B,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,GAAG;gBACL,CAAC,CAAC,EAAE,CAAC;YACN,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc;gBAC7C,CAAC,CAAC,qBAAqB,YAAY,iEAAiE;gBACpG,CAAC,CAAC,EAAE,CAAC;YAEN,MAAM,CAAC,IAAI,CACV,IAAI,eAAe,CAClB,wBAAwB,EACxB,IAAI,UAAU,CAAC,IAAI,gBAAgB,YAAY,6BAA6B,cAAc,SAAS,cAAc,2BAA2B,WAAW,EAAE,EACzJ,UAAU,CAAC,IAAI,EACf,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAUD,SAAS,oBAAoB,CAAC,cAAsB,EAAE,MAAM,GAAG,KAAK;IACnE,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC/E,MAAM,KAAK,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,KAAK;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,KAAK,EAAE,CAAC;IACjF,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,cAAc,EAAE,CAAC;AACpE,CAAC;AAOD,SAAS,4BAA4B,CACpC,WAA6E,EAC7E,GAA0B,EAC1B,WAAmB;IAEnB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,IAAI,KAAK,WAAW;YAAE,SAAS;QACnC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,IAAA,uCAAqB,EAAC,GAAG,EAAE,GAAG,CAAC,cAAgC,CAAC,EAAE,CAAC;YAC7F,SAAS;QACV,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAUD,SAAS,mBAAmB,CAC3B,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAE7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,SAAS;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC;QAChE,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,MAAM,GAAG,GAA0B;YAClC,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;YACpE,WAAW,EAAE,OAAO;YACpB,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B;SACxE,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAEjE,IAAI,CAAC,GAAG,EAAE,cAAc;gBAAE,SAAS;YAEnC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,OAAO,GAAG,IAAA,uCAAqB,EAAC,GAAG,EAAE,GAAG,CAAC,cAAgC,CAAC,CAAC;YACjF,IAAI,OAAO;gBAAE,SAAS;YAEtB,MAAM,gBAAgB,GAAG,qBAAqB,CAC7C,GAAG,CAAC,cAAc,EAClB,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA4B,CACxD,CAAC;YACF,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,4BAA4B,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAClF,MAAM,aAAa,GAAG,UAAU;gBAC/B,CAAC,CAAC,yCAAyC,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,UAAU,0BAA0B;gBACjJ,CAAC,CAAC,EAAE,CAAC;YAEN,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,yBAAyB,EACzB,IAAI,UAAU,CAAC,IAAI,QAAQ,UAAU,oDAAoD,gBAAgB,GAAG,aAAa,EAAE,EAC3H,UAAU,CAAC,IAAI,EACf,SAAS,EACT,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA+C;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAE1D,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,uBAAuB,CAAC,UAA+C;IAC/E,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO,OAAO,CAAC,cAAc,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAC5B,OAA2E,EAC3E,WAAmB;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,0BAA0B,CAAC,eAAwB;IAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAMD,SAAS,oCAAoC,CAC5C,IAAkB,EAClB,QAA6B;IAE7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,uBAAuB;YAAE,SAAS;QAC9E,IAAI,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QAE5E,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,8BAA8B,EAC9B,gBAAgB,UAAU,CAAC,IAAI,0HAA0H,EACzJ,UAAU,CAAC,IAAI,EACf,aAAa,EACb,SAAS,EACT,OAAO,CACP,CACD,CAAC;IACH,CAAC;AACF,CAAC;AAMD,SAAS,uCAAuC,CAC/C,IAAkB,EAClB,QAA6B;IAE7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,uBAAuB;YAAE,SAAS;QAE9E,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO;YAAE,SAAS;QAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QAE1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,cAAc,KAAK,OAAO;YAAE,SAAS;QAEzC,KAAK,IAAI,WAAW,GAAG,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YACpF,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC;gBAAE,SAAS;YAE9D,MAAM,aAAa,GAClB,UAAU,CAAC,OAAO,KAAK,qBAAqB,IAAI,WAAW,KAAK,UAAU,CAAC;YAC5E,IAAI,aAAa;gBAAE,SAAS;YAE5B,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,iCAAiC,EACjC,gBAAgB,UAAU,CAAC,IAAI,kCAAkC,WAAW,iDAAiD,UAAU,kNAAkN,EACzV,UAAU,CAAC,IAAI,EACf,wBAAwB,EACxB,SAAS,EACT,OAAO,CACP,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAqBD,SAAS,wBAAwB,CAChC,IAAkB,EAClB,iBAA6B,EAC7B,MAAyB;IAEzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,SAAS;QAE7C,MAAM,OAAO,GACZ,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAE/F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAqC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,oBAAoB,KAAK,KAAK;gBAAE,SAAS;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAA,wCAAyB,EAAC,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,CAAC,IAAI,CACV,IAAI,eAAe,CAClB,mBAAmB,EACnB,SAAS,IAAI,CAAC,IAAI,oDAAoD,IAAI,CAAC,IAAI,2CAA2C,EAC1H,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CACT,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAMD,SAAS,qBAAqB,CAC7B,IAAkB,EAClB,iBAA6B,EAC7B,QAA6B;IAG7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAID,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAGvC,KAAK,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE/E,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAAE,SAAS;QAElE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEpC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAG1B,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;oBACzC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;oBACpC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;gBAGlC,MAAM,cAAc,GAAG,IAAA,sCAAqB,EAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAG1F,IAAI,cAAc,KAAK,SAAS;oBAAE,SAAS;gBAG3C,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;oBACxD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CACZ,IAAI,iBAAiB,CACpB,qBAAqB,EACrB,kBAAkB,cAAc,sBAAsB,gBAAgB,uBAAuB,cAAc,wBAAwB,cAAc,GAAG,CAAC,GAAG,EACxJ,cAAc,CACd,CACD,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -41,7 +41,7 @@ const os = __importStar(require("os"));
|
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
42
|
const schema_validator_1 = require("./schema-validator");
|
|
43
43
|
const generate_node_defs_cli_1 = require("../generate-types/generate-node-defs-cli");
|
|
44
|
-
const WORKER_ID = process.env.JEST_WORKER_ID ?? '0';
|
|
44
|
+
const WORKER_ID = process.env.VITEST_POOL_ID ?? process.env.JEST_WORKER_ID ?? '0';
|
|
45
45
|
const SCHEMA_TEST_DIR = path.join(os.tmpdir(), `n8n-schema-tests-${WORKER_ID}`);
|
|
46
46
|
const STAMP_FILE = path.join(SCHEMA_TEST_DIR, '.generator-hash');
|
|
47
47
|
let originalBaseDirs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-schema-setup.js","sourceRoot":"","sources":["../../src/validation/test-schema-setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"test-schema-setup.js","sourceRoot":"","sources":["../../src/validation/test-schema-setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/workflow-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "TypeScript SDK for programmatically creating n8n workflows",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -69,16 +69,19 @@
|
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/adm-zip": "^0.5.7",
|
|
71
71
|
"@types/estree": "^1.0.8",
|
|
72
|
+
"@vitest/coverage-v8": "4.1.1",
|
|
72
73
|
"adm-zip": "^0.5.16",
|
|
73
|
-
"
|
|
74
|
-
"@n8n/
|
|
74
|
+
"vitest": "^4.1.1",
|
|
75
|
+
"@n8n/typescript-config": "1.5.0",
|
|
76
|
+
"@n8n/eslint-plugin-community-nodes": "0.20.0",
|
|
77
|
+
"@n8n/vitest-config": "1.14.0"
|
|
75
78
|
},
|
|
76
79
|
"dependencies": {
|
|
77
80
|
"@dagrejs/dagre": "^1.1.4",
|
|
78
81
|
"acorn": "8.14.0",
|
|
79
|
-
"uuid": "
|
|
82
|
+
"uuid": "11.1.1",
|
|
80
83
|
"zod": "3.25.67",
|
|
81
|
-
"n8n-workflow": "2.
|
|
84
|
+
"n8n-workflow": "2.26.0"
|
|
82
85
|
},
|
|
83
86
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
84
87
|
"homepage": "https://n8n.io",
|
|
@@ -95,15 +98,16 @@
|
|
|
95
98
|
"dev": "pnpm watch",
|
|
96
99
|
"typecheck": "tsc --noEmit",
|
|
97
100
|
"build": "tsc -p tsconfig.build.json",
|
|
101
|
+
"build:unchecked": "tsc -p tsconfig.build.json --noCheck",
|
|
98
102
|
"format": "biome format --write .",
|
|
99
103
|
"format:check": "biome ci .",
|
|
100
104
|
"lint": "eslint . --quiet",
|
|
101
105
|
"lint:fix": "eslint . --fix",
|
|
102
106
|
"watch": "tsc -p tsconfig.build.json --watch",
|
|
103
107
|
"extract-workflows": "npx tsx scripts/extract-workflows.ts",
|
|
104
|
-
"test": "
|
|
105
|
-
"test:unit": "
|
|
106
|
-
"test:dev": "
|
|
108
|
+
"test": "vitest run",
|
|
109
|
+
"test:unit": "vitest run",
|
|
110
|
+
"test:dev": "vitest --silent=false",
|
|
107
111
|
"generate-types": "npx tsx src/generate-types/generate-types.ts",
|
|
108
112
|
"fetch-workflows": "npx tsx scripts/fetch-test-workflows.ts",
|
|
109
113
|
"create-workflows-zip": "npx tsx scripts/create-workflows-zip.ts",
|