n8n-core 1.95.0 → 1.97.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/binary-data/binary-data.service.d.ts +1 -1
- package/dist/binary-data/file-system.manager.d.ts +1 -1
- package/dist/binary-data/file-system.manager.js +2 -0
- package/dist/binary-data/file-system.manager.js.map +1 -1
- package/dist/binary-data/object-store.manager.d.ts +1 -1
- package/dist/binary-data/utils.d.ts +2 -2
- package/dist/build.tsbuildinfo +1 -1
- package/dist/errors/error-reporter.d.ts +1 -1
- package/dist/errors/error-reporter.js +2 -2
- package/dist/errors/error-reporter.js.map +1 -1
- package/dist/execution-engine/execution-lifecycle-hooks.d.ts +5 -10
- package/dist/execution-engine/execution-lifecycle-hooks.js.map +1 -1
- package/dist/execution-engine/external-secrets-proxy.d.ts +18 -0
- package/dist/execution-engine/external-secrets-proxy.js +38 -0
- package/dist/execution-engine/external-secrets-proxy.js.map +1 -0
- package/dist/execution-engine/index.d.ts +9 -0
- package/dist/execution-engine/index.js +3 -1
- package/dist/execution-engine/index.js.map +1 -1
- package/dist/execution-engine/node-execution-context/base-execute-context.js +6 -3
- package/dist/execution-engine/node-execution-context/base-execute-context.js.map +1 -1
- package/dist/execution-engine/node-execution-context/load-options-context.js +5 -2
- package/dist/execution-engine/node-execution-context/load-options-context.js.map +1 -1
- package/dist/execution-engine/node-execution-context/local-load-options-context.js +2 -3
- package/dist/execution-engine/node-execution-context/local-load-options-context.js.map +1 -1
- package/dist/execution-engine/node-execution-context/node-execution-context.js +5 -2
- package/dist/execution-engine/node-execution-context/node-execution-context.js.map +1 -1
- package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.d.ts +5 -1
- package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.js +6 -6
- package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.js.map +1 -1
- package/dist/execution-engine/node-execution-context/utils/request-helper-functions.d.ts +12 -0
- package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js +109 -86
- package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js.map +1 -1
- package/dist/instance-settings/index.d.ts +1 -1
- package/dist/instance-settings/index.js.map +1 -1
- package/dist/instance-settings/instance-settings.d.ts +1 -2
- package/dist/instance-settings/instance-settings.js +2 -4
- package/dist/instance-settings/instance-settings.js.map +1 -1
- package/dist/nodes-loader/directory-loader.d.ts +1 -0
- package/dist/nodes-loader/directory-loader.js +15 -0
- package/dist/nodes-loader/directory-loader.js.map +1 -1
- package/package.json +15 -10
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.getRequestHelperFunctions = exports.removeEmptyBody = exports.createFormDataObject = void 0;
|
|
40
|
+
exports.getAgentWithProxy = getAgentWithProxy;
|
|
40
41
|
exports.invokeAxios = invokeAxios;
|
|
41
42
|
exports.parseRequestObject = parseRequestObject;
|
|
42
43
|
exports.proxyRequestToAxios = proxyRequestToAxios;
|
|
@@ -54,16 +55,19 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
54
55
|
const crypto_1 = __importStar(require("crypto"));
|
|
55
56
|
const form_data_1 = __importDefault(require("form-data"));
|
|
56
57
|
const http_1 = require("http");
|
|
58
|
+
const http_proxy_agent_1 = require("http-proxy-agent");
|
|
57
59
|
const https_1 = require("https");
|
|
60
|
+
const https_2 = require("https");
|
|
61
|
+
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
58
62
|
const get_1 = __importDefault(require("lodash/get"));
|
|
59
63
|
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
60
64
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
61
65
|
const pick_1 = __importDefault(require("lodash/pick"));
|
|
62
66
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
63
67
|
const oauth_1_0a_1 = __importDefault(require("oauth-1.0a"));
|
|
68
|
+
const proxy_from_env_1 = __importDefault(require("proxy-from-env"));
|
|
64
69
|
const qs_1 = require("qs");
|
|
65
70
|
const stream_1 = require("stream");
|
|
66
|
-
const url_1 = __importStar(require("url"));
|
|
67
71
|
const binary_helper_functions_1 = require("./binary-helper-functions");
|
|
68
72
|
const parse_incoming_message_1 = require("./parse-incoming-message");
|
|
69
73
|
axios_1.default.defaults.timeout = 300000;
|
|
@@ -71,28 +75,90 @@ axios_1.default.defaults.headers.post = {};
|
|
|
71
75
|
axios_1.default.defaults.headers.put = {};
|
|
72
76
|
axios_1.default.defaults.headers.patch = {};
|
|
73
77
|
axios_1.default.defaults.paramsSerializer = (params) => {
|
|
74
|
-
if (params instanceof
|
|
78
|
+
if (params instanceof URLSearchParams) {
|
|
75
79
|
return params.toString();
|
|
76
80
|
}
|
|
77
81
|
return (0, qs_1.stringify)(params, { arrayFormat: 'indices' });
|
|
78
82
|
};
|
|
79
|
-
axios_1.default.
|
|
80
|
-
|
|
81
|
-
config.headers.setContentType(false, false);
|
|
82
|
-
}
|
|
83
|
-
return config;
|
|
84
|
-
});
|
|
85
|
-
const validateUrl = (url) => {
|
|
83
|
+
axios_1.default.defaults.proxy = false;
|
|
84
|
+
function validateUrl(url) {
|
|
86
85
|
if (!url)
|
|
87
86
|
return false;
|
|
88
87
|
try {
|
|
89
|
-
new
|
|
88
|
+
new URL(url);
|
|
90
89
|
return true;
|
|
91
90
|
}
|
|
92
91
|
catch (error) {
|
|
93
92
|
return false;
|
|
94
93
|
}
|
|
94
|
+
}
|
|
95
|
+
function getUrlFromProxyConfig(proxyConfig) {
|
|
96
|
+
if (typeof proxyConfig === 'string') {
|
|
97
|
+
if (!validateUrl(proxyConfig)) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
return proxyConfig;
|
|
101
|
+
}
|
|
102
|
+
if (!proxyConfig?.host) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
const { protocol, host, port, auth } = proxyConfig;
|
|
106
|
+
const safeProtocol = protocol?.endsWith(':') ? protocol.replace(':', '') : (protocol ?? 'http');
|
|
107
|
+
try {
|
|
108
|
+
const url = new URL(`${safeProtocol}://${host}`);
|
|
109
|
+
if (port !== undefined) {
|
|
110
|
+
url.port = String(port);
|
|
111
|
+
}
|
|
112
|
+
if (auth?.username) {
|
|
113
|
+
url.username = auth.username;
|
|
114
|
+
url.password = auth.password ?? '';
|
|
115
|
+
}
|
|
116
|
+
return url.href;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function getTargetUrlFromAxiosConfig(axiosConfig) {
|
|
123
|
+
const { url, baseURL } = axiosConfig;
|
|
124
|
+
try {
|
|
125
|
+
return new URL(url ?? '', baseURL).href;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return '';
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function getAgentWithProxy({ agentOptions, proxyConfig, targetUrl, }) {
|
|
132
|
+
const proxyUrl = getUrlFromProxyConfig(proxyConfig) ?? proxy_from_env_1.default.getProxyForUrl(targetUrl);
|
|
133
|
+
const protocol = targetUrl.startsWith('https://') ? 'https' : 'http';
|
|
134
|
+
if (proxyUrl) {
|
|
135
|
+
const ProxyAgent = protocol === 'http' ? http_proxy_agent_1.HttpProxyAgent : https_proxy_agent_1.HttpsProxyAgent;
|
|
136
|
+
return { protocol, agent: new ProxyAgent(proxyUrl, agentOptions) };
|
|
137
|
+
}
|
|
138
|
+
const Agent = protocol === 'http' ? https_2.Agent : https_1.Agent;
|
|
139
|
+
return { protocol, agent: new Agent(agentOptions) };
|
|
140
|
+
}
|
|
141
|
+
const applyAgentToAxiosConfig = (config, { agent, protocol }) => {
|
|
142
|
+
if (protocol === 'http') {
|
|
143
|
+
config.httpAgent = agent;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
config.httpsAgent = agent;
|
|
147
|
+
}
|
|
148
|
+
return config;
|
|
95
149
|
};
|
|
150
|
+
axios_1.default.interceptors.request.use((config) => {
|
|
151
|
+
if (config.data === undefined) {
|
|
152
|
+
config.headers.setContentType(false, false);
|
|
153
|
+
}
|
|
154
|
+
if (!config.httpsAgent && !config.httpAgent) {
|
|
155
|
+
const agent = getAgentWithProxy({
|
|
156
|
+
targetUrl: getTargetUrlFromAxiosConfig(config),
|
|
157
|
+
});
|
|
158
|
+
applyAgentToAxiosConfig(config, agent);
|
|
159
|
+
}
|
|
160
|
+
return config;
|
|
161
|
+
});
|
|
96
162
|
function searchForHeader(config, headerName) {
|
|
97
163
|
if (config.headers === undefined) {
|
|
98
164
|
return undefined;
|
|
@@ -104,19 +170,29 @@ function searchForHeader(config, headerName) {
|
|
|
104
170
|
const getHostFromRequestObject = (requestObject) => {
|
|
105
171
|
try {
|
|
106
172
|
const url = (requestObject.url ?? requestObject.uri);
|
|
107
|
-
return new
|
|
173
|
+
return new URL(url, requestObject.baseURL).hostname;
|
|
108
174
|
}
|
|
109
175
|
catch (error) {
|
|
110
176
|
return null;
|
|
111
177
|
}
|
|
112
178
|
};
|
|
113
|
-
const getBeforeRedirectFn = (agentOptions, axiosConfig) => (redirectedRequest) => {
|
|
114
|
-
const
|
|
179
|
+
const getBeforeRedirectFn = (agentOptions, axiosConfig, proxyConfig) => (redirectedRequest) => {
|
|
180
|
+
const redirectAgentOptions = {
|
|
115
181
|
...agentOptions,
|
|
116
182
|
servername: redirectedRequest.hostname,
|
|
183
|
+
};
|
|
184
|
+
const redirectAgent = getAgentWithProxy({
|
|
185
|
+
agentOptions: redirectAgentOptions,
|
|
186
|
+
proxyConfig,
|
|
187
|
+
targetUrl: redirectedRequest.href,
|
|
117
188
|
});
|
|
118
|
-
redirectedRequest.agent = redirectAgent;
|
|
119
|
-
|
|
189
|
+
redirectedRequest.agent = redirectAgent.agent;
|
|
190
|
+
if (redirectAgent.protocol === 'http') {
|
|
191
|
+
redirectedRequest.agents.http = redirectAgent.agent;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
redirectedRequest.agents.https = redirectAgent.agent;
|
|
195
|
+
}
|
|
120
196
|
if (axiosConfig.headers?.Authorization) {
|
|
121
197
|
redirectedRequest.headers.Authorization = axiosConfig.headers.Authorization;
|
|
122
198
|
}
|
|
@@ -143,8 +219,8 @@ function digestAuthAxiosConfig(axiosConfig, response, auth) {
|
|
|
143
219
|
.createHash('md5')
|
|
144
220
|
.update(`${auth?.username}:${realm}:${auth?.password}`)
|
|
145
221
|
.digest('hex');
|
|
146
|
-
const
|
|
147
|
-
const path =
|
|
222
|
+
const url = new URL(axios_1.default.getUri(axiosConfig));
|
|
223
|
+
const path = url.pathname + url.search;
|
|
148
224
|
const ha2 = crypto_1.default
|
|
149
225
|
.createHash('md5')
|
|
150
226
|
.update(`${axiosConfig.method ?? 'GET'}:${path}`)
|
|
@@ -405,73 +481,16 @@ async function parseRequestObject(requestObject) {
|
|
|
405
481
|
agentOptions.rejectUnauthorized = false;
|
|
406
482
|
agentOptions.secureOptions = crypto_1.default.constants.SSL_OP_LEGACY_SERVER_CONNECT;
|
|
407
483
|
}
|
|
408
|
-
axiosConfig.httpsAgent = new https_1.Agent(agentOptions);
|
|
409
|
-
axiosConfig.beforeRedirect = getBeforeRedirectFn(agentOptions, axiosConfig);
|
|
410
484
|
if (requestObject.timeout !== undefined) {
|
|
411
485
|
axiosConfig.timeout = requestObject.timeout;
|
|
412
486
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
port: parseInt(url.port, 10),
|
|
421
|
-
protocol: url.protocol,
|
|
422
|
-
};
|
|
423
|
-
if (!url.port) {
|
|
424
|
-
if (url.protocol === 'http') {
|
|
425
|
-
axiosConfig.proxy.port = 80;
|
|
426
|
-
}
|
|
427
|
-
else if (url.protocol === 'https') {
|
|
428
|
-
axiosConfig.proxy.port = 443;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
if (url.username || url.password) {
|
|
432
|
-
axiosConfig.proxy.auth = {
|
|
433
|
-
username: url.username,
|
|
434
|
-
password: url.password,
|
|
435
|
-
};
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
catch (error) {
|
|
439
|
-
if (requestObject.proxy.includes('@')) {
|
|
440
|
-
const [userpass, hostport] = requestObject.proxy.split('@');
|
|
441
|
-
const [username, password] = userpass.split(':');
|
|
442
|
-
const [hostname, port] = hostport.split(':');
|
|
443
|
-
const host = hostname.startsWith('[') ? hostname.slice(1, -1) : hostname;
|
|
444
|
-
axiosConfig.proxy = {
|
|
445
|
-
host,
|
|
446
|
-
port: parseInt(port, 10),
|
|
447
|
-
protocol: 'http',
|
|
448
|
-
auth: {
|
|
449
|
-
username,
|
|
450
|
-
password,
|
|
451
|
-
},
|
|
452
|
-
};
|
|
453
|
-
}
|
|
454
|
-
else if (requestObject.proxy.includes(':')) {
|
|
455
|
-
const [hostname, port] = requestObject.proxy.split(':');
|
|
456
|
-
axiosConfig.proxy = {
|
|
457
|
-
host: hostname,
|
|
458
|
-
port: parseInt(port, 10),
|
|
459
|
-
protocol: 'http',
|
|
460
|
-
};
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
axiosConfig.proxy = {
|
|
464
|
-
host: requestObject.proxy,
|
|
465
|
-
port: 80,
|
|
466
|
-
protocol: 'http',
|
|
467
|
-
};
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
else {
|
|
472
|
-
axiosConfig.proxy = requestObject.proxy;
|
|
473
|
-
}
|
|
474
|
-
}
|
|
487
|
+
const agent = getAgentWithProxy({
|
|
488
|
+
agentOptions,
|
|
489
|
+
proxyConfig: requestObject.proxy,
|
|
490
|
+
targetUrl: getTargetUrlFromAxiosConfig(axiosConfig),
|
|
491
|
+
});
|
|
492
|
+
applyAgentToAxiosConfig(axiosConfig, agent);
|
|
493
|
+
axiosConfig.beforeRedirect = getBeforeRedirectFn(agentOptions, axiosConfig, requestObject.proxy);
|
|
475
494
|
if (requestObject.useStream) {
|
|
476
495
|
axiosConfig.responseType = 'stream';
|
|
477
496
|
}
|
|
@@ -575,7 +594,6 @@ function convertN8nRequestToAxios(n8nRequest) {
|
|
|
575
594
|
method,
|
|
576
595
|
timeout,
|
|
577
596
|
auth,
|
|
578
|
-
proxy,
|
|
579
597
|
url,
|
|
580
598
|
maxBodyLength: Infinity,
|
|
581
599
|
maxContentLength: Infinity,
|
|
@@ -601,8 +619,13 @@ function convertN8nRequestToAxios(n8nRequest) {
|
|
|
601
619
|
if (n8nRequest.skipSslCertificateValidation === true) {
|
|
602
620
|
agentOptions.rejectUnauthorized = false;
|
|
603
621
|
}
|
|
604
|
-
|
|
605
|
-
|
|
622
|
+
const agent = getAgentWithProxy({
|
|
623
|
+
agentOptions,
|
|
624
|
+
proxyConfig: proxy,
|
|
625
|
+
targetUrl: getTargetUrlFromAxiosConfig(axiosRequest),
|
|
626
|
+
});
|
|
627
|
+
applyAgentToAxiosConfig(axiosRequest, agent);
|
|
628
|
+
axiosRequest.beforeRedirect = getBeforeRedirectFn(agentOptions, axiosRequest, n8nRequest.proxy);
|
|
606
629
|
if (n8nRequest.arrayFormat !== undefined) {
|
|
607
630
|
axiosRequest.paramsSerializer = (params) => {
|
|
608
631
|
return (0, qs_1.stringify)(params, { arrayFormat: n8nRequest.arrayFormat });
|
|
@@ -619,12 +642,12 @@ function convertN8nRequestToAxios(n8nRequest) {
|
|
|
619
642
|
...body.getHeaders(),
|
|
620
643
|
};
|
|
621
644
|
}
|
|
622
|
-
else if (body instanceof
|
|
645
|
+
else if (body instanceof URLSearchParams) {
|
|
623
646
|
axiosRequest.headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
624
647
|
}
|
|
625
648
|
}
|
|
626
649
|
else if (axiosRequest.headers?.[existingContentTypeHeaderKey] === 'application/x-www-form-urlencoded') {
|
|
627
|
-
axiosRequest.data = new
|
|
650
|
+
axiosRequest.data = new URLSearchParams(n8nRequest.body);
|
|
628
651
|
}
|
|
629
652
|
if (typeof body === 'string' || (typeof body === 'object' && !(0, n8n_workflow_1.isObjectEmpty)(body))) {
|
|
630
653
|
axiosRequest.data = body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/request-helper-functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/request-helper-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkJA,8CAqBC;AA+ID,kCAkBC;AA4DD,gDAqSC;AAKD,kDAsFC;AAGD,4DA+GC;AAYD,kCAyBC;AAED,gEAkBC;AAGD,sCA6OC;AAGD,sCAsEC;AAED,sEAiHC;AAGD,8DAyGC;AA/7CD,wDAA6C;AAO7C,sDAAkD;AAClD,gCAAoC;AAEpC,kDAA0B;AAC1B,iDAA4C;AAC5C,0DAAiC;AACjC,+BAAuC;AACvC,uDAAkD;AAClD,iCAA+D;AAC/D,iCAA2C;AAC3C,yDAAoD;AACpD,qDAA6B;AAC7B,6DAAqC;AACrC,yDAAiC;AACjC,uDAA+B;AAC/B,+CASsB;AA0BtB,4DAAsC;AACtC,oEAA0C;AAC1C,2BAA+B;AAC/B,mCAAkC;AAIlC,uEAA2D;AAC3D,qEAAgE;AAEhE,eAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;AAEhC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;AACjC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;AAChC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AAClC,eAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC5C,IAAI,MAAM,YAAY,eAAe,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AAGF,eAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAE7B,SAAS,WAAW,CAAC,GAAY;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,IAAI,CAAC;QACJ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAkD;IAChF,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IACnD,MAAM,YAAY,GAAG,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;IAEhG,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,MAAM,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,WAA+B;IACnE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAErC,IAAI,CAAC;QACJ,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAID,SAAgB,iBAAiB,CAAC,EACjC,YAAY,EACZ,WAAW,EACX,SAAS,GAKT;IAGA,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,IAAI,wBAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAErE,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,iCAAc,CAAC,CAAC,CAAC,mCAAe,CAAC;QAC1E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,aAAS,CAAC,CAAC,CAAC,aAAU,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,uBAAuB,GAAG,CAC/B,MAA0B,EAC1B,EAAE,KAAK,EAAE,QAAQ,EAAa,EACT,EAAE;IACvB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,eAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC;YAC/B,SAAS,EAAE,2BAA2B,CAAC,MAAM,CAAC;SAC9C,CAAC,CAAC;QAEH,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,MAA0B,EAAE,UAAkB;IACtE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,wBAAwB,GAAG,CAChC,aAIE,EACc,EAAE;IAClB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAW,CAAC;QAC/D,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,mBAAmB,GACxB,CACC,YAA0B,EAC1B,WAA+B,EAC/B,WAA8D,EAC7D,EAAE,CAEJ,CAAC,iBAAsC,EAAE,EAAE;IAC1C,MAAM,oBAAoB,GAAG;QAC5B,GAAG,YAAY;QAEf,UAAU,EAAE,iBAAiB,CAAC,QAAQ;KACtC,CAAC;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACvC,YAAY,EAAE,oBAAoB;QAClC,WAAW;QACX,SAAS,EAAE,iBAAiB,CAAC,IAAI;KACjC,CAAC,CAAC;IAEH,iBAAiB,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAC9C,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACvC,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;IACrD,CAAC;SAAM,CAAC;QACP,iBAAiB,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACtD,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QAExC,iBAAiB,CAAC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7E,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,iBAAiB,CAAC,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtF,CAAC;AACF,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAC7B,WAA+B,EAC/B,QAAuB,EACvB,IAAgC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACtD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,WAAW,CAAC;QAC/B,MAAM,MAAM,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAW,WAAW;aAC/B,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,KAAK,GAAW,WAAW;aAC/B,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,gBAAM;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,IAAI,EAAE,QAAkB,IAAI,KAAK,IAAI,IAAI,EAAE,QAAkB,EAAE,CAAC;aAC1E,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;QACvC,MAAM,GAAG,GAAG,gBAAM;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,gBAAM;aACrB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,UAAU,IAAI,MAAM,SAAS,GAAG,EAAE,CAAC;aAC7D,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,aAAa,GAChB,oBAAoB,IAAI,EAAE,QAAkB,YAAY,KAAK,IAAI;YACjE,UAAU,KAAK,UAAU,IAAI,+BAA+B;YAC5D,aAAa,QAAQ,SAAS,UAAU,aAAa,MAAM,GAAG,CAAC;QAEhE,IAAI,MAAM,EAAE,CAAC;YACZ,aAAa,IAAI,YAAY,MAAM,GAAG,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QACnD,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,CAAC;QACzC,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,WAAW,CAChC,WAA+B,EAC/B,cAAuC,EAAE;IAEzC,IAAI,CAAC;QACJ,OAAO,MAAM,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,eAAK,CAAC,UAAU,CAAC;YAAE,MAAM,KAAK,CAAC;QAE/F,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1F,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAC7B,OAAO,WAAW,CAAC,IAAI,CAAC;QACxB,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,MAAM,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;IACjC,CAAC;AACF,CAAC;AAGD,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;IAErE,IAAI,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAEvE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAA6B,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B;AAEF,KAAK,UAAU,2BAA2B,CAAC,MAA0B;IACpE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,mBAAQ,CAAC,EAAE,CAAC;QACxC,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAErD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAmB,EAAE,UAAkB,EAAE,EAAE;gBACjE,IAAI,KAAK;oBAAE,GAAG,CAAC,KAAK,CAAC,CAAC;;oBACjB,GAAG,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YAChB,GAAG,MAAM,CAAC,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACxB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEhB,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;AACF,CAAC;AAUM,KAAK,UAAU,kBAAkB,CAAC,aAA8B;IACtE,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAuB,CAAC;IAC7D,CAAC;IAUD,MAAM,wBAAwB,GAC7B,WAAW,CAAC,OAAO;QACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CACpC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,cAAc,CAC3D,CAAC;IACH,MAAM,WAAW,GAChB,wBAAwB;QACvB,WAAW,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAwB,CAAC;IACzE,IAAI,WAAW,KAAK,mCAAmC,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAKjG,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QACvC,CAAC;aAAM,CAAC;YAEP,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAG/E,CAAC;YACF,IAAI,aAAa,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,GAAG,IAAA,cAAS,EAAC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,IAAI,GAAG,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,WAAW,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzD,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,YAAY,mBAAQ,EAAE,CAAC;YACxF,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAAsB;gBAClC,GAAI,aAAa,CAAC,IAA2B;gBAC7C,GAAI,aAAa,CAAC,QAA+B;aACjD,CAAC;YAEF,WAAW,CAAC,IAAI,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QAGD,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,wBAAyB,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAE9C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QAEP,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAE1E,WAAW,CAAC,IAAI;gBACf,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;oBACrC,CAAC,CAAC,IAAA,cAAS,EAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACtD,CAAC,CAAC,IAAA,cAAS,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;gBACD,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,OAAO,GAAG;oBACrB,cAAc,EAAE,mCAAmC;iBACnD,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAEjD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC1B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;wBAC7C,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,QAAQ,YAAY,mBAAQ,EAAE,CAAC;gBAChD,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,IAAI,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,QAAmC,CAAC,CAAC;YAC5F,CAAC;YAGD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAE9C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAE7C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBAG5D,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,IAAgD,CAAC;QACnF,CAAC;IACF,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,IAAI,aAAa,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,SAAS,qBAAqB,CAC7B,GAAoB;QAEpB,IACC,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ;YAC1C,GAAG,CAAC,kBAAkB,KAAK,IAAI;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACtC,aAAa,IAAI,GAAG,CAAC,kBAAkB,EACtC,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IACC,aAAa,CAAC,cAAc,KAAK,IAAI;QACrC,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACpC,aAAa,CAAC,kBAAkB,CAAC,WAAW,KAAK,QAAQ,CAAC,EAC1D,CAAC;QACF,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACnD,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC;IAED,IACC,qBAAqB,CAAC,aAAa,CAAC;QACpC,aAAa,CAAC,kBAAkB,CAAC,WAAW,KAAK,UAAU,EAC1D,CAAC;QACF,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAEtC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAE7C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9D,aAAa,EAAE,UAAU,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;aACpD,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;YAEnC,WAAW,CAAC,IAAI,GAAG;gBAElB,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAW;gBAEtD,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAW;aACtD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAGjC,MAAM,kBAAkB,GACvB,WAAW,CAAC,OAAO,KAAK,SAAS;YAChC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;iBAC/B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;iBAC3C,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEzB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9D,MAAM,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAGtE,WAAW,CAAC,iBAAiB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IAC9C,CAAC;IAGD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IACjC,IACC,CAAC,aAAa,CAAC,cAAc,KAAK,KAAK;QACtC,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC;QACpD,aAAa,CAAC,kBAAkB,EAC/B,CAAC;QACF,WAAW,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;IACvD,CAAC;SAAM,CAAC;QACP,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,YAAY,GAAiB,EAAE,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;IACrE,IAAI,IAAI,EAAE,CAAC;QACV,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,aAAa,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAChD,YAAY,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACxC,YAAY,CAAC,aAAa,GAAG,gBAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC/B,YAAY;QACZ,WAAW,EAAE,aAAa,CAAC,KAAK;QAChC,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC;KACnD,CAAC,CAAC;IAEH,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE5C,WAAW,CAAC,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAEjG,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC7B,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IACrC,CAAC;SAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAE5C,WAAW,CAAC,YAAY,GAAG,aAAa,CAAC;IAC1C,CAAC;IAMD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;QAE3E,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IACC,aAAa,CAAC,IAAI,KAAK,KAAK;QAC5B,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,WAAW,CAAC,IAAI,KAAK,EAAE;QACvB,CAAC,CAAC,WAAW,CAAC,IAAI,YAAY,MAAM,CAAC;QACrC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,EAC1E,CAAC;QAMF,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;YAC9D,cAAc,EAAE,kBAAkB;SAClC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACpC,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC;IAQD,OAAO,WAAW,CAAC;AACpB,CAAC;AAKM,KAAK,UAAU,mBAAmB,CACxC,QAA8B,EAC9B,cAA0D,EAC1D,IAAuB,EACvB,WAAqC,EACrC,OAAyB;IAEzB,IAAI,WAAW,GAAuB;QACrC,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,QAAQ;KAC1B,CAAC;IACF,IAAI,YAA6B,CAAC;IAClC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrC,YAAY,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,WAAW,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,YAAY,sBAAe,IAAI,WAAW,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9E,IAAA,6CAAoB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,GAAG,WAAW,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,CAAC;QACD,MAAM,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,OAAO,YAAY,CAAC,uBAAuB;YAC1C,CAAC,CAAC;gBACA,IAAI;gBACJ,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;gBAChC,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,aAAa,EAAE,QAAQ,CAAC,UAAU;gBAClC,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB;YACF,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAKnC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YACzC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAI,EAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACd,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5F,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,YAAY,iBAAQ,EAAE,CAAC;oBACvE,YAAY,GAAG,MAAM,IAAA,wCAAc,EAAC,YAAY,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBACnC,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;wBAC1C,OAAO;4BACN,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,UAAU,EAAE,QAAQ,CAAC,MAAM;4BAC3B,aAAa,EAAE,QAAQ,CAAC,UAAU;yBAClC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,OAAO,YAAY,CAAC;oBACrB,CAAC;gBACF,CAAC;gBAED,KAAK,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAgB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjF,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAK3B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAA,cAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;iBAC7D,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,oBAAoB,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAGD,SAAgB,wBAAwB,CAAC,UAA+B;IAEvE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAElE,MAAM,YAAY,GAAuB;QACxC,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,MAAM;QACN,OAAO;QACP,IAAI;QACJ,GAAG;QACH,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,QAAQ;KACJ,CAAC;IAExB,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAEpC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC/C,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvC,YAAY,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACV,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,UAAU,CAAC,4BAA4B,KAAK,IAAI,EAAE,CAAC;QACtD,YAAY,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC/B,YAAY;QACZ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,2BAA2B,CAAC,YAAY,CAAC;KACpD,CAAC,CAAC;IACH,uBAAuB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE7C,YAAY,CAAC,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAEhG,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC1C,YAAY,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YAC1C,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC5B,IAAI,IAAI,EAAE,CAAC;QAEV,MAAM,4BAA4B,GAAG,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAChD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;YAGlD,IAAI,IAAI,YAAY,mBAAQ,EAAE,CAAC;gBAC9B,YAAY,CAAC,OAAO,GAAG;oBACtB,GAAG,YAAY,CAAC,OAAO;oBACvB,GAAG,IAAI,CAAC,UAAU,EAAE;iBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;gBAC5C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;YAC5E,CAAC;QACF,CAAC;aAAM,IACN,YAAY,CAAC,OAAO,EAAE,CAAC,4BAA4B,CAAC,KAAK,mCAAmC,EAC3F,CAAC;YACF,YAAY,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,IAA8B,CAAC,CAAC;QACpF,CAAC;QAID,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAGpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG;gBACtB,GAAG,YAAY,CAAC,OAAO;gBACvB,MAAM,EAAE,kBAAkB;aAC1B,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAGpE,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,YAAY,CAAC,OAAO,GAAG;YACtB,GAAG,YAAY,CAAC,OAAO;YACvB,YAAY,EAAE,KAAK;SACnB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACvC,YAAY,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAG9C,MAAM,eAAe,GAAG,CAAC,cAAqD,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC;IAC9C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAA,iBAAO,EAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;AACF,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,KAAK,UAAU,WAAW,CAChC,cAAmC;IAEnC,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC9D,IACC,YAAY,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EACjF,CAAC;QACF,OAAO,YAAY,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpE,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACvC,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,aAAa,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,0BAA0B,CACzC,WAA4B,EAC5B,qBAAmD;IAEnD,MAAM,sBAAsB,GAA6B;QACxD,GAAG,qBAAqB;QACxB,GAAG,EAAE,qBAAqB,CAAC,GAAG;KAC9B,CAAC;IAEF,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC/B,sBAAsB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC;QAC7D,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QAClC,sBAAsB,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;QACzD,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,OAAO,IAAA,eAAK,EAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAGM,KAAK,UAAU,aAAa,CAElC,eAAuB,EACvB,cAAqD,EACrD,IAAW,EACX,cAA8C,EAC9C,aAA8B,EAC9B,YAAY,GAAG,KAAK;IAEpB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAC7C,eAAe,CACf,CAAoC,CAAC;IAGtC,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/F,MAAM,IAAI,+BAAgB,CAAC,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,4BAAY,CAAC;QACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,MAAM,EAAG,WAAW,CAAC,KAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;QAChD,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,QAAQ;KACtD,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,WAAW,CAAC,cAAuC,CAAC;IAEzE,IACC,WAAW,CAAC,SAAS,KAAK,mBAAmB;QAC7C,CAAC,cAAc,KAAK,SAAS;YAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC;YACxC,cAAc,CAAC,YAAY,KAAK,EAAE,CAAC,EACnC,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;gBAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC9B,IAAI,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;aACzC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC1D,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QAGlC,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;QAEF,cAAc,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAChB,IAAA,aAAG,EAAC,cAAc,EAAE,aAAa,EAAE,QAAkB,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CACpC;QACC,GAAG,cAAc;QACjB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,EACD,aAAa,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,CACpD,CAAC;IAED,cAAkC,CAAC,kBAAkB,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAItF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAExF,IAAI,aAAa,EAAE,UAAU,KAAK,KAAK,IAAI,OAAO,iBAAiB,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAChG,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAChC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;SAClE,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAiB,EAAE,EAAE;YAC1F,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,+BAA+B,CAC/F,CAAC;gBACF,MAAM,mBAAmB,GAAgB,EAAE,CAAC;gBAC5C,IAAI,aAAa,EAAE,iCAAiC,EAAE,CAAC;oBACtD,MAAM,IAAI,GAAgB;wBACzB,SAAS,EAAE,WAAW,CAAC,QAAQ;wBAC/B,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,mBAAmB,IAAI;4BACpD,aAAa,EAAE,WAAW,CAAC,YAAsB;yBACjD,CAAC;qBACF,CAAC;oBACF,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAChC,mBAAmB,CAAC,OAAO,GAAG;wBAC7B,aAAa,EAAE,EAAE;qBACjB,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC;gBAEb,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;gBAGF,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;oBACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACP,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAqD,CAAC,CAAC;gBACvF,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;gBAEF,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;wBAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE;qBAC/D,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;gBACF,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;gBAE1F,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;oBACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;wBAChC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;qBAClE,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,sBAAsB,GAC3B,aAAa,EAAE,sBAAsB,KAAK,SAAS;QAClD,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAE1C,OAAO,MAAM,IAAI,CAAC,OAAO;SACvB,OAAO,CAAC,iBAAoC,CAAC;SAC7C,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,iBAAwB,CAAC;QAChD,IACC,cAAc,CAAC,uBAAuB,KAAK,IAAI;YAC/C,cAAc,CAAC,MAAM,KAAK,KAAK;YAC/B,QAAQ,CAAC,UAAU,KAAK,sBAAsB,EAC7C,CAAC;YACF,MAAM,QAAQ,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;YAEjD,MAAM,mBAAmB,GAAgB,EAAE,CAAC;YAC5C,IAAI,aAAa,EAAE,iCAAiC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAgB;oBACzB,SAAS,EAAE,WAAW,CAAC,QAAQ;oBAC/B,aAAa,EAAE,WAAW,CAAC,YAAY;iBACvC,CAAC;gBACF,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;gBAEhC,mBAAmB,CAAC,OAAO,GAAG;oBAC7B,aAAa,EAAE,EAAE;iBACjB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,+BAA+B,CAC/F,CAAC;YAEF,IAAI,QAAQ,CAAC;YAIb,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;gBACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAqD,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;YAEF,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;YAG3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;oBAChE,IAAI,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;oBACzC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;iBAC9B,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAG1D,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,4CAA4C,CAC5G,CAAC;YAGF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;YACrF,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;YAE5D,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE;oBACxC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;iBAClE,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAoC,CAAC,CAAC;QACzE,CAAC;QAGD,MAAM,KAAK,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAGM,KAAK,UAAU,aAAa,CAElC,eAAuB,EACvB,cAAqD,EACrD,YAAY,GAAG,KAAK;IAEpB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,+BAAgB,CAAC,8BAA8B,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,+BAAgB,CAAC,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC;QAC9B,QAAQ,EAAE;YACT,GAAG,EAAE,WAAW,CAAC,WAAqB;YACtC,MAAM,EAAE,WAAW,CAAC,cAAwB;SAC5C;QACD,gBAAgB,EAAE,WAAW,CAAC,eAAyB;QACvD,aAAa,CAAC,IAAI,EAAE,GAAG;YACtB,IAAI,SAAiB,CAAC;YACtB,QAAQ,WAAW,CAAC,eAAe,EAAE,CAAC;gBACrC,KAAK,aAAa;oBACjB,SAAS,GAAG,QAAQ,CAAC;oBACrB,MAAM;gBACP,KAAK,aAAa;oBACjB,SAAS,GAAG,QAAQ,CAAC;oBACrB,MAAM;gBACP;oBACC,SAAS,GAAG,MAAM,CAAC;oBACnB,MAAM;YACR,CAAC;YACD,OAAO,IAAA,mBAAU,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,cAA6B,CAAC;IAEjE,MAAM,KAAK,GAAU;QACpB,GAAG,EAAE,cAAc,CAAC,WAAqB;QACzC,MAAM,EAAE,cAAc,CAAC,kBAA4B;KACnD,CAAC;IAGF,cAAc,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAGvE,IAAI,KAAK,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QACpD,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;QACxC,OAAO,cAAc,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,SAAS,CAAC,cAAwD,EAAE,KAAK,CAAC,CAC3C,CAAC;IACvC,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAqC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,OAAO;SACvB,OAAO,CAAC,cAAiC,CAAC;SAC1C,KAAK,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QAEtC,MAAM,KAAK,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAElD,eAAuB,EACvB,cAAmC,EACnC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,2BAA0D;IAE1D,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAGhC,IAAI,0BAA0B,IAAI,IAAI,EAAE,CAAC;QACxC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,oBAAgE,CAAC;IACrE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErF,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,2BAA2B,EAAE,MAAM,EACnC,IAAI,CACJ,CAAC;QACH,CAAC;QAED,IAAI,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;YACvD,oBAAoB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC9E,CAAC;aAAM,CAAC;YACP,oBAAoB;gBACnB,MAAM,IAAI,CAAC,cAAc,CAAiC,eAAe,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,SAAS,IAAI,CAAC,IAAI,4CAA4C,eAAe,OAAO,EACpF,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,KAAK,CACL,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,cAAc,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACnE,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,CACJ,CAAC;QACF,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAGhB,IACC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;YAC9B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,KAAK,SAAS,EAC/D,CAAC;YACF,IAAI,CAAC;gBACJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAExC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,IAAI,CACJ,CAAC;oBAEF,IAAI,IAAI,EAAE,CAAC;wBAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC3C,CAAC;oBAED,cAAc,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACnE,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,CACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QAED,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACF,CAAC;AAGM,KAAK,UAAU,yBAAyB,CAE9C,eAAuB,EACvB,cAA+B,EAC/B,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,2BAA0D,EAC1D,SAAkB;IAElB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,IAAI,oBAAgE,CAAC;IAErE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErF,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,2BAA2B,EAAE,MAAM,EACnC,KAAK,CACL,CAAC;QACH,CAAC;QAED,IAAI,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;YACvD,oBAAoB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC9E,CAAC;aAAM,CAAC;YACP,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,CAC/C,eAAe,EACf,SAAS,CACT,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,SAAS,IAAI,CAAC,IAAI,4CAA4C,eAAe,OAAO,EACpF,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,KAAK,CACL,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACpE,oBAAoB,EACpB,eAAe,EACf,cAAqC,EACrC,QAAQ,EACR,IAAI,CACJ,CAAoB,CAAC;QACtB,OAAO,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAExC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,IAAI,CACJ,CAAC;gBAEF,IAAI,IAAI,EAAE,CAAC;oBAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC1C,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACpE,oBAAoB,EACpB,eAAe,EACf,cAAqC,EACrC,QAAQ,EACR,IAAI,CACJ,CAAoB,CAAC;oBAEtB,OAAO,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBAClF,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,iCAAkB;gBAAE,MAAM,KAAK,CAAC;YAErD,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;AACF,CAAC;AAEM,MAAM,yBAAyB,GAAG,CACxC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,mBAA6C,IAAI,EACjD,sBAA4C,EAAE,EACrB,EAAE;IAC3B,MAAM,gBAAgB,GAAG,CACxB,cAAsC,EACtC,SAAiB,EACjB,QAAgB,EAChB,WAAyB,EACzB,cAAiD,EACjD,oBAAoB,GAAG,KAAK,EACH,EAAE;QAC3B,MAAM,IAAI,GAAwB,UAAU,CAAC;QAE7C,IACC,OAAO,cAAc,KAAK,QAAQ;YAClC,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EACvE,CAAC;YACF,OAAO,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAC3C,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,IAAI,EACT,mBAAmB,EACnB,IAAI,EACJ,cAAc,IAAI,EAAE,EACpB,WAAW,EACX,oBAAoB,CACpB,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACvB,CAAC,CAAC;IAGF,KAAK,UAAU,kCAAkC,CAEhD,cAA+B,EAC/B,SAAiB,EACjB,iBAAoC,EACpC,eAAwB,EACxB,2BAA0D;QAE1D,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACxB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAC9C,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC;QAE9B,IAAI,gBAAsC,CAAC;QAC3C,IAAI,qBAA8B,CAAC;QACnC,IAAI,mBAAiD,CAAC;QAEtD,MAAM,QAAQ,GAAG,CAAC,CAAC;QAEnB,MAAM,cAAc,GAAqC;YACxD,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,EAA0B;YACrC,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC;SACb,CAAC;QAEF,MAAM,WAAW,GAAiB;YACjC,IAAI,EAAE,EAAE;YACR,IAAI;YACJ,MAAM,EAAE,IAAI;SACZ,CAAC;QAEF,MAAM,QAAQ,GAAG;YAChB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,EAAE;SAChB,CAAC;QACF,GAAG,CAAC;YACH,mBAAmB,GAAG,gBAAgB,CACrC,iBAAiB,CAAC,OAA4C,EAC9D,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACqC,CAAC;YAE5C,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;YAE3F,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAa,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,IAAI,mBAAmB,CAAC,GAAG,uBAAuB,EAAE;oBACtF,SAAS;oBACT,QAAQ;oBACR,IAAI,EAAE,aAAa;iBACnB,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACrB,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CACnE,IAAI,EACJ,eAAe,EACf,kBAAkB,EAClB,2BAA2B,CAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,WAAW,GAAyB,MAAM,CAAC,MAAM,CACtD;gBACC,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,CAAC;aACb,EACD,IAAA,cAAI,EAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CACzD,CAAC;YAEF,IAAI,WAA8C,CAAC;YAEnD,IAAI,WAAW,CAAC,IAAI,YAAY,iBAAQ,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAErF,WAAW,GAAG,MAAM,IAAA,wCAAc,EAAC,WAAW,CAAC,IAAyB,CAAC,CAAC;gBAE1E,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAClF,IAAI,mBAAmB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACtD,WAAW,CAAC,IAAI,GAAG,IAAA,wBAAS,EAAC,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACP,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;gBAChC,CAAC;gBACD,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;gBACvC,gBAAgB,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACP,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAI9E,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAClD,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAW,CAAC,IAAI,CAAC,CAAC;gBACrF,CAAC;gBAED,IAAI,QAAQ,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;oBAC/C,IAAI,IAAY,CAAC;oBACjB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAEnC,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAc,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBAEP,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;4BACrC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBAC3C,CAAC;wBACD,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtE,CAAC;oBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;wBACpC,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;wBAC7B,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;4BAEjC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,iEAAiE,EACjE;gCACC,SAAS;gCACT,WAAW,EACV,qEAAqE;6BACtE,CACD,CAAC;wBACH,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;oBAC7B,CAAC;oBACD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACP,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBACD,QAAQ,CAAC,cAAc,GAAG,aAAa,CAAC;YACzC,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEpC,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC;YACvC,cAAc,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEjE,MAAM,WAAW,GAAG,gBAAgB,CACnC,iBAAiB,CAAC,WAAW,EAC7B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACK,CAAC;YAEZ,IAAI,WAAW,IAAI,cAAc,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC7D,MAAM;YACP,CAAC;YAED,qBAAqB,GAAG,gBAAgB,CACvC,iBAAiB,CAAC,QAAQ,EAC1B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACM,CAAC;YAEb,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC;oBACvC,MAAM,eAAe,GAAG,gBAAgB,CACvC,iBAAiB,CAAC,eAAe,EACjC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACK,CAAC;oBAEZ,MAAM,IAAA,oBAAK,EAAC,eAAe,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,gBAAgB,CAAC,UAAU,GAAG,GAAG,IAAI,gBAAgB,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;oBAK7E,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;oBACjC,IAAI,IAAI,YAAY,iBAAQ,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;wBACzE,IAAI,GAAG,MAAM,IAAA,wCAAc,EAAC,IAAyB,CAAC,CAAC;oBACxD,CAAC;yBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBAED,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,gBAAgB,CAAC,UAAU,OAAO,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;wBACxF,UAAU,EAAE,gBAAgB,CAAC,UAAU;wBACvC,KAAK,EAAE,IAAI;wBACX,YAAY,EAAE,IAAI;wBAClB,QAAQ,EAAE;4BACT,OAAO,EAAE,gBAAgB,CAAC,OAAO;4BACjC,MAAM,EAAE,gBAAgB,CAAC,UAAU;4BACnC,UAAU,EAAE,gBAAgB,CAAC,aAAa;yBAC1C;qBACD,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC,QAAQ,qBAAqB,EAAE;QAEhC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO;QACN,WAAW;QACX,kCAAkC;QAClC,KAAK,CAAC,6BAA6B,CAElC,eAAe,EACf,cAAc,EACd,2BAA2B;YAE3B,OAAO,MAAM,6BAA6B,CAAC,IAAI,CAC9C,IAAI,EACJ,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,2BAA2B,CAC3B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC;QAEhF,KAAK,CAAC,yBAAyB,CAE9B,eAAe,EACf,cAAc,EACd,2BAA2B,EAC3B,SAAS;YAET,OAAO,MAAM,yBAAyB,CAAC,IAAI,CAC1C,IAAI,EACJ,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,2BAA2B,EAC3B,SAAS,CACT,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAElB,eAAuB,EACvB,cAA+B;YAE/B,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,aAAa,CAElB,eAAuB,EACvB,cAA+B,EAC/B,aAA8B;YAE9B,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,aAAa,CACb,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AA7TW,QAAA,yBAAyB,6BA6TpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { InstanceSettings
|
|
1
|
+
export { InstanceSettings } from './instance-settings';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instance-settings/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instance-settings/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
2
|
import { InstanceSettingsConfig } from '@n8n/config';
|
|
3
|
+
import type { InstanceRole, InstanceType } from '@n8n/constants';
|
|
3
4
|
interface WritableSettings {
|
|
4
5
|
tunnelSubdomain?: string;
|
|
5
6
|
}
|
|
6
|
-
type InstanceRole = 'unset' | 'leader' | 'follower';
|
|
7
|
-
export type InstanceType = 'main' | 'webhook' | 'worker';
|
|
8
7
|
export declare class InstanceSettings {
|
|
9
8
|
private readonly config;
|
|
10
9
|
private readonly logger;
|
|
@@ -38,9 +38,7 @@ let InstanceSettings = class InstanceSettings {
|
|
|
38
38
|
this.isMultiMainEnabled = false;
|
|
39
39
|
this.isMultiMainLicensed = false;
|
|
40
40
|
const command = process.argv[2];
|
|
41
|
-
this.instanceType = ['webhook', 'worker'].includes(command)
|
|
42
|
-
? command
|
|
43
|
-
: 'main';
|
|
41
|
+
this.instanceType = ['webhook', 'worker'].includes(command) ? command : 'main';
|
|
44
42
|
this.hostId = `${this.instanceType}-${nanoid()}`;
|
|
45
43
|
this.settings = this.loadOrCreate();
|
|
46
44
|
this.instanceId = this.generateInstanceId();
|
|
@@ -111,7 +109,7 @@ let InstanceSettings = class InstanceSettings {
|
|
|
111
109
|
errorMessage: `Error parsing n8n-config file "${this.settingsFile}". It does not seem to be valid JSON.`,
|
|
112
110
|
});
|
|
113
111
|
if (!backend_common_1.inTest)
|
|
114
|
-
|
|
112
|
+
this.logger.info(`User settings loaded from: ${this.settingsFile}`);
|
|
115
113
|
const { encryptionKey, tunnelSubdomain } = settings;
|
|
116
114
|
if (encryptionKeyFromEnv && encryptionKey !== encryptionKeyFromEnv) {
|
|
117
115
|
throw new n8n_workflow_1.ApplicationError(`Mismatching encryption keys. The encryption key in the settings file ${this.settingsFile} does not match the N8N_ENCRYPTION_KEY env var. Please make sure both keys match. More information: https://docs.n8n.io/hosting/environment-variables/configuration-methods/#encryption-key`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-settings.js","sourceRoot":"","sources":["../../src/instance-settings/instance-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAAqD;AACrD,wCAAqD;
|
|
1
|
+
{"version":3,"file":"instance-settings.js","sourceRoot":"","sources":["../../src/instance-settings/instance-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ const backend_common_1 = require("@n8n/backend-common");
|
|
|
41
41
|
const di_1 = require("@n8n/di");
|
|
42
42
|
const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
|
|
43
43
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
44
|
+
const node_fs_1 = require("node:fs");
|
|
44
45
|
const path = __importStar(require("path"));
|
|
45
46
|
const unrecognized_credential_type_error_1 = require("../errors/unrecognized-credential-type.error");
|
|
46
47
|
const unrecognized_node_type_error_1 = require("../errors/unrecognized-node-type.error");
|
|
@@ -65,8 +66,16 @@ class DirectoryLoader {
|
|
|
65
66
|
this.types = { nodes: [], credentials: [] };
|
|
66
67
|
this.nodesByCredential = {};
|
|
67
68
|
this.logger = di_1.Container.get(backend_common_1.Logger);
|
|
69
|
+
try {
|
|
70
|
+
this.directory = (0, node_fs_1.realpathSync)(directory);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
if (error.code !== 'ENOENT')
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
68
76
|
}
|
|
69
77
|
reset() {
|
|
78
|
+
this.unloadAll();
|
|
70
79
|
this.loadedNodes = [];
|
|
71
80
|
this.nodeTypes = {};
|
|
72
81
|
this.credentialTypes = {};
|
|
@@ -328,6 +337,12 @@ class DirectoryLoader {
|
|
|
328
337
|
}
|
|
329
338
|
return;
|
|
330
339
|
}
|
|
340
|
+
unloadAll() {
|
|
341
|
+
const filesToUnload = Object.keys(require.cache).filter((filePath) => filePath.startsWith(this.directory));
|
|
342
|
+
filesToUnload.forEach((filePath) => {
|
|
343
|
+
delete require.cache[filePath];
|
|
344
|
+
});
|
|
345
|
+
}
|
|
331
346
|
}
|
|
332
347
|
exports.DirectoryLoader = DirectoryLoader;
|
|
333
348
|
//# sourceMappingURL=directory-loader.js.map
|