@morojs/moro 1.7.25 → 1.7.27
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/core/http/http-server.d.ts +7 -1
- package/dist/core/http/http-server.js +318 -15
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/middleware/built-in/auth/jwt-helpers.js +5 -1
- package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/body-parsers/index.d.ts +19 -0
- package/dist/core/middleware/built-in/body-parsers/index.js +38 -0
- package/dist/core/middleware/built-in/body-parsers/index.js.map +1 -0
- package/dist/core/middleware/built-in/cors/core.d.ts +1 -0
- package/dist/core/middleware/built-in/cors/core.js +6 -2
- package/dist/core/middleware/built-in/cors/core.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +1 -0
- package/dist/core/middleware/built-in/index.js +1 -0
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/session/core.js +0 -1
- package/dist/core/middleware/built-in/session/core.js.map +1 -1
- package/dist/core/middleware/built-in/static/core.js +6 -3
- package/dist/core/middleware/built-in/static/core.js.map +1 -1
- package/dist/core/middleware/built-in/template/core.d.ts +0 -1
- package/dist/core/middleware/built-in/template/core.js +26 -34
- package/dist/core/middleware/built-in/template/core.js.map +1 -1
- package/dist/core/routing/create-router.d.ts +32 -0
- package/dist/core/routing/create-router.js +87 -0
- package/dist/core/routing/create-router.js.map +1 -0
- package/dist/core/routing/unified-router.d.ts +3 -0
- package/dist/core/routing/unified-router.js +47 -15
- package/dist/core/routing/unified-router.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +45 -0
- package/dist/moro.js +152 -0
- package/dist/moro.js.map +1 -1
- package/dist/types/http.d.ts +25 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Server } from 'http';
|
|
2
|
-
import { HttpHandler, Middleware } from '../../types/http.js';
|
|
2
|
+
import { HttpRequest, HttpResponse, HttpHandler, Middleware } from '../../types/http.js';
|
|
3
3
|
export declare class MoroHttpServer {
|
|
4
4
|
private server;
|
|
5
5
|
private routes;
|
|
@@ -10,6 +10,9 @@ export declare class MoroHttpServer {
|
|
|
10
10
|
private logger;
|
|
11
11
|
private hookManager;
|
|
12
12
|
private requestCounter;
|
|
13
|
+
private errorHandler?;
|
|
14
|
+
private requestDecorations;
|
|
15
|
+
private responseDecorations;
|
|
13
16
|
private maxBodySize;
|
|
14
17
|
private maxUploadSize;
|
|
15
18
|
private poolManager;
|
|
@@ -33,6 +36,9 @@ export declare class MoroHttpServer {
|
|
|
33
36
|
minimal?: boolean;
|
|
34
37
|
}): void;
|
|
35
38
|
setRequestTracking(enabled: boolean): void;
|
|
39
|
+
setErrorHandler(fn: (err: any, req: HttpRequest, res: HttpResponse) => any | Promise<any>): void;
|
|
40
|
+
setRequestDecorations(decorations: Record<string, any>): void;
|
|
41
|
+
setResponseDecorations(decorations: Record<string, any>): void;
|
|
36
42
|
use(middleware: Middleware): void;
|
|
37
43
|
setHookManager(hookManager: any): void;
|
|
38
44
|
get(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
|
|
@@ -17,6 +17,9 @@ export class MoroHttpServer {
|
|
|
17
17
|
logger = createFrameworkLogger('HttpServer');
|
|
18
18
|
hookManager;
|
|
19
19
|
requestCounter = 0;
|
|
20
|
+
errorHandler;
|
|
21
|
+
requestDecorations = {};
|
|
22
|
+
responseDecorations = {};
|
|
20
23
|
// Body size limits - defaults overridden by config in constructor
|
|
21
24
|
maxBodySize = 10 * 1024 * 1024; // Default 10MB (overridden by server.bodySizeLimit config)
|
|
22
25
|
maxUploadSize = 100 * 1024 * 1024; // Default 100MB for file uploads (future: configurable)
|
|
@@ -71,6 +74,17 @@ export class MoroHttpServer {
|
|
|
71
74
|
setRequestTracking(enabled) {
|
|
72
75
|
this.requestTrackingEnabled = enabled;
|
|
73
76
|
}
|
|
77
|
+
// Register a global error handler (called from Moro.setErrorHandler)
|
|
78
|
+
setErrorHandler(fn) {
|
|
79
|
+
this.errorHandler = fn;
|
|
80
|
+
}
|
|
81
|
+
// Apply per-request/response decoration maps (called from Moro.decorateRequest/Reply)
|
|
82
|
+
setRequestDecorations(decorations) {
|
|
83
|
+
this.requestDecorations = decorations;
|
|
84
|
+
}
|
|
85
|
+
setResponseDecorations(decorations) {
|
|
86
|
+
this.responseDecorations = decorations;
|
|
87
|
+
}
|
|
74
88
|
// Middleware management
|
|
75
89
|
use(middleware) {
|
|
76
90
|
// Defensive check: Don't add MiddlewareInterface objects to globalMiddleware
|
|
@@ -233,6 +247,22 @@ export class MoroHttpServer {
|
|
|
233
247
|
method: req.method,
|
|
234
248
|
path: req.url,
|
|
235
249
|
});
|
|
250
|
+
// User-registered global error handler takes precedence over the default 500.
|
|
251
|
+
if (this.errorHandler && !httpRes.headersSent) {
|
|
252
|
+
try {
|
|
253
|
+
const handlerResult = this.errorHandler(error, httpReq, httpRes);
|
|
254
|
+
if (handlerResult && typeof handlerResult.then === 'function') {
|
|
255
|
+
await handlerResult;
|
|
256
|
+
}
|
|
257
|
+
if (httpRes.headersSent)
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
catch (handlerErr) {
|
|
261
|
+
this.logger.error('Error handler itself threw', 'RequestHandler', {
|
|
262
|
+
error: handlerErr instanceof Error ? handlerErr.message : String(handlerErr),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
236
266
|
if (!httpRes.headersSent) {
|
|
237
267
|
// Ensure response is properly enhanced before using custom methods
|
|
238
268
|
if (typeof httpRes.status === 'function' && typeof httpRes.json === 'function') {
|
|
@@ -444,6 +474,109 @@ export class MoroHttpServer {
|
|
|
444
474
|
else {
|
|
445
475
|
httpReq.cookies = {};
|
|
446
476
|
}
|
|
477
|
+
// Per-request typed context bag
|
|
478
|
+
httpReq.context = {};
|
|
479
|
+
// Apply user-registered request decorations
|
|
480
|
+
for (const key in this.requestDecorations) {
|
|
481
|
+
httpReq[key] = this.requestDecorations[key];
|
|
482
|
+
}
|
|
483
|
+
// Express-compatible request helpers
|
|
484
|
+
httpReq.get = httpReq.header = (name) => {
|
|
485
|
+
const lower = name.toLowerCase();
|
|
486
|
+
if (lower === 'referer' || lower === 'referrer') {
|
|
487
|
+
return (httpReq.headers.referer || httpReq.headers.referrer);
|
|
488
|
+
}
|
|
489
|
+
const v = httpReq.headers[lower];
|
|
490
|
+
return Array.isArray(v) ? v[0] : v;
|
|
491
|
+
};
|
|
492
|
+
httpReq.is = (type) => {
|
|
493
|
+
const ct = (httpReq.headers['content-type'] || '');
|
|
494
|
+
if (!ct)
|
|
495
|
+
return false;
|
|
496
|
+
const mime = ct.split(';')[0].trim().toLowerCase();
|
|
497
|
+
const t = type.toLowerCase();
|
|
498
|
+
if (t.indexOf('/') === -1) {
|
|
499
|
+
// e.g. 'json' → match */json or +json suffix
|
|
500
|
+
return mime.endsWith(`/${t}`) || mime.endsWith(`+${t}`);
|
|
501
|
+
}
|
|
502
|
+
if (t.endsWith('/*')) {
|
|
503
|
+
return mime.startsWith(t.slice(0, -1));
|
|
504
|
+
}
|
|
505
|
+
return mime === t;
|
|
506
|
+
};
|
|
507
|
+
httpReq.accepts = (types) => {
|
|
508
|
+
const accept = (httpReq.headers.accept || '*/*');
|
|
509
|
+
if (!types)
|
|
510
|
+
return accept;
|
|
511
|
+
const wanted = Array.isArray(types) ? types : [types];
|
|
512
|
+
if (accept === '*/*' || accept === '')
|
|
513
|
+
return wanted[0] || false;
|
|
514
|
+
const acceptTypes = accept.split(',').map(s => s.split(';')[0].trim().toLowerCase());
|
|
515
|
+
for (const w of wanted) {
|
|
516
|
+
const wl = w.toLowerCase();
|
|
517
|
+
const wMime = wl.indexOf('/') === -1 ? `application/${wl}` : wl;
|
|
518
|
+
for (const at of acceptTypes) {
|
|
519
|
+
if (at === '*/*')
|
|
520
|
+
return w;
|
|
521
|
+
if (at === wMime)
|
|
522
|
+
return w;
|
|
523
|
+
if (at.endsWith('/*') && wMime.startsWith(at.slice(0, -1)))
|
|
524
|
+
return w;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
return false;
|
|
528
|
+
};
|
|
529
|
+
httpReq.acceptsLanguages = (langs) => {
|
|
530
|
+
const acceptLang = (httpReq.headers['accept-language'] || '');
|
|
531
|
+
if (!langs)
|
|
532
|
+
return acceptLang || false;
|
|
533
|
+
const wanted = Array.isArray(langs) ? langs : [langs];
|
|
534
|
+
if (!acceptLang)
|
|
535
|
+
return wanted[0] || false;
|
|
536
|
+
// Parse with q values; sort by q desc to match Express's "best match wins"
|
|
537
|
+
const accepted = acceptLang
|
|
538
|
+
.split(',')
|
|
539
|
+
.map(s => {
|
|
540
|
+
const parts = s.trim().split(';');
|
|
541
|
+
const tag = parts[0].toLowerCase();
|
|
542
|
+
const qPart = parts.find(p => p.trim().startsWith('q='));
|
|
543
|
+
const q = qPart ? parseFloat(qPart.trim().slice(2)) : 1;
|
|
544
|
+
return { tag, q: isNaN(q) ? 0 : q };
|
|
545
|
+
})
|
|
546
|
+
.filter(a => a.q > 0)
|
|
547
|
+
.sort((a, b) => b.q - a.q);
|
|
548
|
+
for (const { tag } of accepted) {
|
|
549
|
+
for (const w of wanted) {
|
|
550
|
+
const wl = w.toLowerCase();
|
|
551
|
+
if (tag === '*' || tag === wl || tag.split('-')[0] === wl.split('-')[0])
|
|
552
|
+
return w;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
return false;
|
|
556
|
+
};
|
|
557
|
+
const host = (httpReq.headers.host || '');
|
|
558
|
+
httpReq.hostname = host ? host.split(':')[0] : '';
|
|
559
|
+
const forwardedProto = httpReq.headers['x-forwarded-proto'];
|
|
560
|
+
httpReq.protocol = forwardedProto
|
|
561
|
+
? forwardedProto.split(',')[0].trim()
|
|
562
|
+
: req.socket.encrypted
|
|
563
|
+
? 'https'
|
|
564
|
+
: 'http';
|
|
565
|
+
httpReq.secure = httpReq.protocol === 'https';
|
|
566
|
+
const xrw = httpReq.headers['x-requested-with'];
|
|
567
|
+
httpReq.xhr = !!xrw && xrw.toLowerCase() === 'xmlhttprequest';
|
|
568
|
+
httpReq.originalUrl = req.url || '';
|
|
569
|
+
const forwardedFor = httpReq.headers['x-forwarded-for'];
|
|
570
|
+
httpReq.ips = forwardedFor
|
|
571
|
+
? forwardedFor
|
|
572
|
+
.split(',')
|
|
573
|
+
.map(s => s.trim())
|
|
574
|
+
.filter(Boolean)
|
|
575
|
+
: [];
|
|
576
|
+
const hostnameParts = httpReq.hostname.split('.');
|
|
577
|
+
// Matches Express: subdomains are parts before the last two (domain + tld),
|
|
578
|
+
// reversed (closest subdomain first).
|
|
579
|
+
httpReq.subdomains = hostnameParts.length > 2 ? hostnameParts.slice(0, -2).reverse() : [];
|
|
447
580
|
return httpReq;
|
|
448
581
|
}
|
|
449
582
|
parseCookies(cookieHeader) {
|
|
@@ -814,6 +947,164 @@ export class MoroHttpServer {
|
|
|
814
947
|
}
|
|
815
948
|
return httpRes;
|
|
816
949
|
};
|
|
950
|
+
// Per-response typed state bag (Express-compatible)
|
|
951
|
+
httpRes.locals = {};
|
|
952
|
+
// Apply user-registered response decorations
|
|
953
|
+
for (const key in this.responseDecorations) {
|
|
954
|
+
httpRes[key] = this.responseDecorations[key];
|
|
955
|
+
}
|
|
956
|
+
// Express-compatible response helpers
|
|
957
|
+
httpRes.set = (field, value) => {
|
|
958
|
+
if (httpRes.headersSent)
|
|
959
|
+
return httpRes;
|
|
960
|
+
if (typeof field === 'string') {
|
|
961
|
+
if (value !== undefined) {
|
|
962
|
+
httpRes.setHeader(field, value);
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
else {
|
|
966
|
+
for (const key in field) {
|
|
967
|
+
httpRes.setHeader(key, field[key]);
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
return httpRes;
|
|
971
|
+
};
|
|
972
|
+
httpRes.get = (field) => {
|
|
973
|
+
return httpRes.getHeader(field);
|
|
974
|
+
};
|
|
975
|
+
httpRes.append = (field, value) => {
|
|
976
|
+
return httpRes.appendHeader(field, value);
|
|
977
|
+
};
|
|
978
|
+
httpRes.type = (contentType) => {
|
|
979
|
+
if (httpRes.headersSent)
|
|
980
|
+
return httpRes;
|
|
981
|
+
// If no "/" treat as shorthand (e.g. "json" → "application/json")
|
|
982
|
+
let ct = contentType;
|
|
983
|
+
if (ct.indexOf('/') === -1) {
|
|
984
|
+
const shorthands = {
|
|
985
|
+
json: 'application/json; charset=utf-8',
|
|
986
|
+
html: 'text/html; charset=utf-8',
|
|
987
|
+
text: 'text/plain; charset=utf-8',
|
|
988
|
+
txt: 'text/plain; charset=utf-8',
|
|
989
|
+
xml: 'application/xml',
|
|
990
|
+
js: 'application/javascript',
|
|
991
|
+
css: 'text/css; charset=utf-8',
|
|
992
|
+
form: 'application/x-www-form-urlencoded',
|
|
993
|
+
};
|
|
994
|
+
ct = shorthands[ct.toLowerCase()] || `application/${ct}`;
|
|
995
|
+
}
|
|
996
|
+
httpRes.setHeader('Content-Type', ct);
|
|
997
|
+
return httpRes;
|
|
998
|
+
};
|
|
999
|
+
httpRes.sendStatus = (code) => {
|
|
1000
|
+
if (httpRes.headersSent)
|
|
1001
|
+
return;
|
|
1002
|
+
httpRes.statusCode = code;
|
|
1003
|
+
const messages = {
|
|
1004
|
+
200: 'OK',
|
|
1005
|
+
201: 'Created',
|
|
1006
|
+
202: 'Accepted',
|
|
1007
|
+
204: 'No Content',
|
|
1008
|
+
301: 'Moved Permanently',
|
|
1009
|
+
302: 'Found',
|
|
1010
|
+
304: 'Not Modified',
|
|
1011
|
+
400: 'Bad Request',
|
|
1012
|
+
401: 'Unauthorized',
|
|
1013
|
+
403: 'Forbidden',
|
|
1014
|
+
404: 'Not Found',
|
|
1015
|
+
409: 'Conflict',
|
|
1016
|
+
410: 'Gone',
|
|
1017
|
+
422: 'Unprocessable Entity',
|
|
1018
|
+
429: 'Too Many Requests',
|
|
1019
|
+
500: 'Internal Server Error',
|
|
1020
|
+
502: 'Bad Gateway',
|
|
1021
|
+
503: 'Service Unavailable',
|
|
1022
|
+
};
|
|
1023
|
+
const body = messages[code] || String(code);
|
|
1024
|
+
httpRes.setHeader('Content-Type', 'text/plain; charset=utf-8');
|
|
1025
|
+
httpRes.end(body);
|
|
1026
|
+
};
|
|
1027
|
+
httpRes.location = (url) => {
|
|
1028
|
+
if (httpRes.headersSent)
|
|
1029
|
+
return httpRes;
|
|
1030
|
+
const safe = url.replace(/[\r\n]/g, '');
|
|
1031
|
+
httpRes.setHeader('Location', safe);
|
|
1032
|
+
return httpRes;
|
|
1033
|
+
};
|
|
1034
|
+
httpRes.vary = (field) => {
|
|
1035
|
+
if (httpRes.headersSent)
|
|
1036
|
+
return httpRes;
|
|
1037
|
+
const existing = httpRes.getHeader('Vary');
|
|
1038
|
+
const existingList = existing
|
|
1039
|
+
? String(existing)
|
|
1040
|
+
.split(',')
|
|
1041
|
+
.map(s => s.trim())
|
|
1042
|
+
.filter(Boolean)
|
|
1043
|
+
: [];
|
|
1044
|
+
const incoming = Array.isArray(field) ? field : [field];
|
|
1045
|
+
for (const f of incoming) {
|
|
1046
|
+
if (!existingList.some(e => e.toLowerCase() === f.toLowerCase())) {
|
|
1047
|
+
existingList.push(f);
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
httpRes.setHeader('Vary', existingList.join(', '));
|
|
1051
|
+
return httpRes;
|
|
1052
|
+
};
|
|
1053
|
+
httpRes.attachment = (filename) => {
|
|
1054
|
+
if (httpRes.headersSent)
|
|
1055
|
+
return httpRes;
|
|
1056
|
+
if (filename) {
|
|
1057
|
+
const safeName = filename.replace(/[\r\n"]/g, '');
|
|
1058
|
+
httpRes.setHeader('Content-Disposition', `attachment; filename="${safeName}"`);
|
|
1059
|
+
// Set Content-Type from extension if not already set
|
|
1060
|
+
if (!httpRes.getHeader('Content-Type')) {
|
|
1061
|
+
// fire-and-forget mime lookup; not awaited to keep signature chainable
|
|
1062
|
+
this.getMimeType(filename.substring(filename.lastIndexOf('.'))).then(mime => {
|
|
1063
|
+
if (!httpRes.getHeader('Content-Type') && !httpRes.headersSent) {
|
|
1064
|
+
httpRes.setHeader('Content-Type', mime);
|
|
1065
|
+
}
|
|
1066
|
+
});
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
else {
|
|
1070
|
+
httpRes.setHeader('Content-Disposition', 'attachment');
|
|
1071
|
+
}
|
|
1072
|
+
return httpRes;
|
|
1073
|
+
};
|
|
1074
|
+
httpRes.download = async (filePath, filename) => {
|
|
1075
|
+
httpRes.attachment(filename || filePath.split('/').pop());
|
|
1076
|
+
return httpRes.sendFile(filePath);
|
|
1077
|
+
};
|
|
1078
|
+
httpRes.format = (handlers) => {
|
|
1079
|
+
const types = Object.keys(handlers).filter(k => k !== 'default');
|
|
1080
|
+
const matched = req.accepts(types);
|
|
1081
|
+
const chosen = matched ? handlers[matched] : handlers.default;
|
|
1082
|
+
if (!chosen) {
|
|
1083
|
+
httpRes.statusCode = 406;
|
|
1084
|
+
httpRes.setHeader('Content-Type', 'text/plain; charset=utf-8');
|
|
1085
|
+
httpRes.end('Not Acceptable');
|
|
1086
|
+
return;
|
|
1087
|
+
}
|
|
1088
|
+
httpRes.vary('Accept');
|
|
1089
|
+
if (matched && typeof matched === 'string') {
|
|
1090
|
+
httpRes.type(matched);
|
|
1091
|
+
}
|
|
1092
|
+
chosen();
|
|
1093
|
+
};
|
|
1094
|
+
httpRes.links = (links) => {
|
|
1095
|
+
if (httpRes.headersSent)
|
|
1096
|
+
return httpRes;
|
|
1097
|
+
const parts = [];
|
|
1098
|
+
for (const rel in links) {
|
|
1099
|
+
parts.push(`<${links[rel]}>; rel="${rel}"`);
|
|
1100
|
+
}
|
|
1101
|
+
if (parts.length > 0) {
|
|
1102
|
+
const existing = httpRes.getHeader('Link');
|
|
1103
|
+
const combined = existing ? `${existing}, ${parts.join(', ')}` : parts.join(', ');
|
|
1104
|
+
httpRes.setHeader('Link', combined);
|
|
1105
|
+
}
|
|
1106
|
+
return httpRes;
|
|
1107
|
+
};
|
|
817
1108
|
// Response state utilities
|
|
818
1109
|
httpRes.canSetHeaders = () => {
|
|
819
1110
|
return !httpRes.headersSent;
|
|
@@ -1204,47 +1495,59 @@ export class MoroHttpServer {
|
|
|
1204
1495
|
}
|
|
1205
1496
|
return route;
|
|
1206
1497
|
}
|
|
1207
|
-
//
|
|
1498
|
+
// Middleware execution with Express-compatible error propagation.
|
|
1499
|
+
// Supports: 3-arg (req, res, next), 4-arg (err, req, res, next) error middlewares,
|
|
1500
|
+
// and next(err) to skip forward to the next error middleware.
|
|
1208
1501
|
async executeMiddleware(middleware, req, res) {
|
|
1209
1502
|
const len = middleware.length;
|
|
1503
|
+
let activeError = undefined;
|
|
1210
1504
|
for (let i = 0; i < len; i++) {
|
|
1211
|
-
// Short-circuit if response already sent
|
|
1212
1505
|
if (res.headersSent)
|
|
1213
1506
|
return;
|
|
1214
1507
|
const mw = middleware[i];
|
|
1215
|
-
|
|
1508
|
+
const isErrorHandler = mw.length >= 4;
|
|
1509
|
+
// Non-error middleware is skipped while an error is active; error middleware
|
|
1510
|
+
// is skipped while no error is active. Matches Express semantics.
|
|
1511
|
+
if (activeError !== undefined && !isErrorHandler)
|
|
1512
|
+
continue;
|
|
1513
|
+
if (activeError === undefined && isErrorHandler)
|
|
1514
|
+
continue;
|
|
1515
|
+
activeError = await new Promise(resolve => {
|
|
1216
1516
|
let resolved = false;
|
|
1217
|
-
|
|
1218
|
-
const next = () => {
|
|
1517
|
+
const next = (err) => {
|
|
1219
1518
|
if (resolved)
|
|
1220
1519
|
return;
|
|
1221
1520
|
resolved = true;
|
|
1222
|
-
resolve();
|
|
1521
|
+
resolve(err);
|
|
1223
1522
|
};
|
|
1224
1523
|
try {
|
|
1225
|
-
const result = mw(req, res, next);
|
|
1226
|
-
// Handle async middleware - optimized with early check
|
|
1524
|
+
const result = isErrorHandler ? mw(activeError, req, res, next) : mw(req, res, next);
|
|
1227
1525
|
if (result && typeof result.then === 'function') {
|
|
1228
1526
|
result
|
|
1229
1527
|
.then(() => {
|
|
1230
1528
|
if (!resolved)
|
|
1231
1529
|
next();
|
|
1232
1530
|
})
|
|
1233
|
-
.catch(
|
|
1531
|
+
.catch((err) => {
|
|
1532
|
+
if (!resolved)
|
|
1533
|
+
next(err);
|
|
1534
|
+
});
|
|
1234
1535
|
}
|
|
1235
1536
|
else if (!resolved) {
|
|
1236
|
-
// Sync middleware that didn't call next
|
|
1237
1537
|
next();
|
|
1238
1538
|
}
|
|
1239
1539
|
}
|
|
1240
|
-
catch (
|
|
1241
|
-
if (!resolved)
|
|
1242
|
-
|
|
1243
|
-
reject(error);
|
|
1244
|
-
}
|
|
1540
|
+
catch (err) {
|
|
1541
|
+
if (!resolved)
|
|
1542
|
+
next(err);
|
|
1245
1543
|
}
|
|
1246
1544
|
});
|
|
1247
1545
|
}
|
|
1546
|
+
// If an error is still unhandled after the chain, re-throw so the top-level
|
|
1547
|
+
// catch in handleRequest can invoke the registered errorHandler / default 500.
|
|
1548
|
+
if (activeError !== undefined) {
|
|
1549
|
+
throw activeError;
|
|
1550
|
+
}
|
|
1248
1551
|
}
|
|
1249
1552
|
listen(port, host, callback) {
|
|
1250
1553
|
// Handle overloaded parameters (port, callback) or (port, host, callback)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/core/http/http-server.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAmC,YAAY,EAAU,MAAM,MAAM,CAAC;AAC7E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAExC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IACf,MAAM,GAAiB,EAAE,CAAC;IAC1B,gBAAgB,GAAiB,EAAE,CAAC;IACpC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,oBAAoB,GAAG,IAAI,CAAC;IAC5B,sBAAsB,GAAG,IAAI,CAAC,CAAC,uBAAuB;IACtD,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,WAAW,CAAM;IACjB,cAAc,GAAG,CAAC,CAAC;IAE3B,kEAAkE;IAC1D,WAAW,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2DAA2D;IACnG,aAAa,GAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,wDAAwD;IAE3G,iCAAiC;IACzB,WAAW,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAEtD,iEAAiE;IACzD,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC;IACrC,MAAM,CAAU,UAAU,GAAG,KAAK,CAAC;IACnC,MAAM,CAAU,YAAY,GAAG,OAAO,CAAC;IACvC,MAAM,CAAU,UAAU,GAAG,KAAK,CAAC;IACnC,MAAM,CAAU,aAAa,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC;IACrC,MAAM,CAAU,cAAc,GAAG,SAAS,CAAC;IAEnD,uDAAuD;IAC/C,MAAM,CAAU,kBAAkB,GAAG;QAC3C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC9D,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC;QACrE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC/D,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC;QAC/E,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC;QAC/E,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC;KAC5E,CAAC;IAEF,YAAY,OAA0D;QACpE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,0CAA0C;QAC1C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,YAAY;QACjD,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,YAAY;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,6BAA6B;IAC5D,CAAC;IAED,sEAAsE;IACtE,oBAAoB,CAClB,SAGI,EAAE;QAEN,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;YACrD,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC,iBAAiB;QACzD,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,UAAsB;QACxB,6EAA6E;QAC7E,0EAA0E;QAC1E,IACE,UAAU;YACV,OAAO,UAAU,KAAK,QAAQ;YAC7B,UAAkB,CAAC,OAAO;YAC1B,UAAkB,CAAC,QAAQ,EAC5B,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CACjB,yCAA0C,UAAkB,CAAC,QAAQ,EAAE,IAAI,qCAAqC;gBAC9G,gEAAgE,EAClE,YAAY,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,cAAc,CAAC,WAAgB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,QAAsC;QACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAG,QAAsC;QAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,QAAsC;QACnF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAiB,CAAC;QAC9C,MAAM,UAAU,GAAG,QAAwB,CAAC;QAE5C,MAAM,KAAK,GAAG;YACZ,MAAM;YACN,IAAI;YACJ,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,qCAAqC;QACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,6BAA6B;YAC7B,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,oEAAoE;YACpE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,yDAAyD;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAC1E,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEnD,8CAA8C;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC;YACH,sDAAsD;YACtD,oEAAoE;YACpE,MAAM,SAAS,GAAG,GAAG,CAAC,GAAI,CAAC;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,kBAAkB;gBAClB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACzB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,iFAAiF;YACjF,IACE,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,WAAW;gBAC7C,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;gBAC5C,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,YAAY,EAC9C,CAAC;gBACD,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,mEAAmE;YACnE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;oBACxC,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxE,CAAC;YAED,oDAAoD;YACpD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,oEAAoE;YACpE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,wCAAwC;gBACxC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;gBACrE,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,mCAAmC;gBACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBACpC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACnD,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACnE,CAAC;YAED,8CAA8C;YAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,aAAa,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9D,MAAM,aAAa,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,gBAAgB,EAAE;gBAC3D,SAAS,EAAE,OAAO,KAAK;gBACvB,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACpE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;gBACnE,WAAW,EAAE,GAAG,CAAC,GAAG;gBACpB,aAAa,EAAE,GAAG,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,EAAE;gBACnD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,GAAG;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,mEAAmE;gBACnE,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACvB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,uBAAuB;wBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,sDAAsD;oBACtD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;wBAC5C,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;wBACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,4DAA4D;wBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,gBAAgB,EAAE;4BACpF,YAAY,EAAE,OAAO,OAAO;4BAC5B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;yBACnC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;wBACtC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,uBAAuB;4BAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;yBAC7B,CAAC,CACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,EACnD,gBAAgB,CACjB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,iDAAiD;YACjD,gEAAgE;YAChE,iDAAiD;YACjD,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,6DAA6D;gBAC7D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACxD,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,6DAA6D;gBAC7D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,iDAAiD;YACjD,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,6DAA6D;gBAC7D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACxD,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,6DAA6D;gBAC7D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IACvC,kBAAkB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,MAA8B;QACvD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,sCAAsC;IAC9B,iBAAiB;QACvB,kCAAkC;QAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE5B,wCAAwC;QACxC,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC;YACnB,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,mBAAmB,CAAC,GAAQ,EAAE,IAAS;QAC7C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE9C,uDAAuD;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC7C,yCAAyC;YACzC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEf,4BAA4B;YAC5B,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChC,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;YAED,gCAAgC;YAChC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACtF,4CAA4C;YAC5C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,+CAA+C;gBAC/C,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjE,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;YAED,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,oBAAoB;QACpB,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,oEAAoE;YACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAChD,CAAC;QAED,kEAAkE;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,cAAc,CAAC,GAAoB;QACzC,MAAM,OAAO,GAAG,GAAkB,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAC5C,wDAAwD;QACxD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAiC,CAAC;QAExD,+EAA+E;QAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC;gBAC5C,MAAM;YACR,KAAK,KAAK;gBACR,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;gBAC3C,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC;gBAC7C,MAAM;YACR,KAAK,KAAK;gBACR,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;gBAC3C,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;gBAC9C,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC;gBAC5C,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC;gBAC/C,MAAM;YACR;gBACE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,iDAAiD;QACjD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,YAAoB;QACvC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,iCAAiC;QACjC,IAAI,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC;QAElC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAmB,EAAE,GAAgB;QAC3D,MAAM,OAAO,GAAG,GAAmB,CAAC;QAEpC,wFAAwF;QACvF,OAAe,CAAC,GAAG,GAAG,GAAG,CAAC;QAE3B,2CAA2C;QAC3C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;YACjC,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,wEAAwE;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExC,0CAA0C;YAC1C,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBAC9B,6BAA6B;gBAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YAED,oEAAoE;YACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEpD,wEAAwE;YACxE,MAAM,OAAO,GAAoC;gBAC/C,cAAc,EAAE,iCAAiC;aAClD,CAAC;YAEF,2EAA2E;YAC3E,4DAA4D;YAC5D,IAAI,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE9D,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtD,kCAAkC;oBAClC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBAClC,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;wBACrC,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;wBAE9C,mDAAmD;wBACnD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;wBAEtD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;qBAAM,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,kCAAkC;oBAClC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACrC,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;wBACxC,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;wBAE9C,kCAAkC;wBAClC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;wBAEtD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YAE/C,kCAAkC;YAClC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAEtD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,GAAG,CAAC,IAAqB,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,8CAA8C;YAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,qBAAqB;oBACrB,IAAI,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;oBACvE,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;wBACxB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAAe,EAAE,EAAE,EAAE;YAClE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ;oBAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,WAAW,IAAI,2CAA2C,CAAC;gBAE3E,IAAI,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,qDAAqD,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE;wBACzC,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,YAAY,GAAG,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;YAE5C,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC;YAClE,IAAI,OAAO,CAAC,OAAO;gBAAE,YAAY,IAAI,aAAa,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAClF,IAAI,OAAO,CAAC,QAAQ;gBAAE,YAAY,IAAI,YAAY,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,UAAU,CAAC;YAC/C,IAAI,OAAO,CAAC,QAAQ;gBAAE,YAAY,IAAI,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,IAAI,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI;gBAAE,YAAY,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC;YAE3D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9D,oDAAoD;YACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC5C,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,CAAC,eAAyB,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,GAAG,CAAC,IAAY,EAAE,UAAe,EAAE,EAAE,EAAE;YACxD,kDAAkD;YAClD,MAAM,YAAY,GAAQ;gBACxB,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,CAAC;aACV,CAAC;YACF,8BAA8B;YAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAAE,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAAE,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC7E,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAW,EAAE,SAAiB,GAAG,EAAE,EAAE;YACvD,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;YAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;YAC5C,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEhC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEzC,mCAAmC;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC/C,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhD,0CAA0C;gBAC1C,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAEvD,sBAAsB;gBACtB,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,0BAA0B;gBAE1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;QAEF,gCAAgC;QAChC,OAAO,CAAC,OAAO,GAAG,CAAU,IAAO,EAAE,OAAgB,EAAE,EAAE;YACvD,MAAM,QAAQ,GAAQ;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI;aACL,CAAC;YACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,GAAG,CAAC,KAAa,EAAE,IAAa,EAAE,OAAgB,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAQ;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK;aACN,CAAC;YACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,4DAA4D;QAC5D,OAAO,CAAC,YAAY,GAAG,CAAC,UAAkB,yBAAyB,EAAE,EAAE;YACrE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,cAAc;gBACpB,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,SAAS,GAAG,CAAC,UAAkB,0BAA0B,EAAE,EAAE;YACnE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;gBACjB,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,CAAC,WAAmB,UAAU,EAAE,EAAE;YACnD,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,QAAQ,YAAY;aACjC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,UAAU,GAAG,CAAC,UAAkB,iBAAiB,EAAE,EAAE;YAC3D,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,aAAa;gBACnB,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE;YACrC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,aAAa,GAAG,CAAC,UAAkB,uBAAuB,EAAE,EAAE;YACpE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,gBAAgB;gBACtB,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,eAAe,GAAG,CACxB,MAAgE,EAChE,EAAE;YACF,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,kBAAkB;gBACxB,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,GAAG,CAAC,UAAmB,EAAE,EAAE;YAC5C,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,kCAAkC,UAAU,WAAW;oBACzD,CAAC,CAAC,mBAAmB;gBACvB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,0BAA0B;QAC1B,OAAO,CAAC,OAAO,GAAG,CAAU,IAAO,EAAE,QAAiB,EAAE,EAAE;YACxD,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;YACvB,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,CAAC,SAAS,GAAG,CAClB,IAAS,EACT,UAA0D,EAC1D,EAAE;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI;gBACJ,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU;oBACV,OAAO,EAAE,UAAU,CAAC,IAAI,GAAG,UAAU;oBACrC,OAAO,EAAE,UAAU,CAAC,IAAI,GAAG,CAAC;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,8BAA8B;QAC9B,OAAO,CAAC,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE;YAC5C,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QAC/C,CAAC,CAAC;QAEF,4EAA4E;QAE5E,OAAO,CAAC,cAAc,GAAG,CAAC,OAAwC,EAAE,EAAE;YACpE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,+DAA+D;gBAC/D,MAAM,mBAAmB,GAAG,EAAE,CAAC;gBAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,eAAe,EAAE;oBAC7E,gBAAgB,EAAE,mBAAmB;iBACtC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,CAAC,YAAY,GAAG,CAAC,IAAY,EAAE,KAAwB,EAAE,EAAE;YAChE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,IAAI,0BAA0B,EAC1D,eAAe,CAChB,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,2BAA2B;QAC3B,OAAO,CAAC,aAAa,GAAG,GAAY,EAAE;YACpC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAO,CAAC,gBAAgB,GAAG,GAAG,EAAE;YAC9B,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;gBACvD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;gBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,SAAS,GAA2B;YACxC,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QAEF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;IACpE,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,uEAAuE;QACvE,gCAAgC;QAChC,IACE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAC5B,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACvC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC7C,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACtC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EACpC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,OAAO,GAAG,QAAQ,iBAAiB,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAoB;QAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;QAErE,6CAA6C;QAC7C,uEAAuE;QACvE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iDAAiD;YACtE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,gFAAgF;QAEtG,6EAA6E;QAC7E,IAAI,aAAa,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YAChC,4DAA4D;YAC5D,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,iDAAiD;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;oBAC1B,MAAM,YAAY,GAAG,WAAW;wBAC9B,CAAC,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;wBACpF,CAAC,CAAC,wBAAwB,CAAC;oBAC7B,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAEnC,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;wBACrE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBACvD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,GAAoB,EACpB,WAAmB,EACnB,OAAe;QAEf,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG;gBACnB,gDAAgD;gBAChD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC;gBAE9C,6BAA6B;gBAC7B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC;gBAE9C,oBAAoB;gBACpB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACb,MAAM,EAAE,CAAC,QAAiC,EAAE,EAAE;wBAC5C,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;4BAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;4BAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;gCAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gCAC5C,OAAO;4BACT,CAAC;4BACD,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,KAAK,EAAE,CAAC,QAAoB,EAAE,EAAE;wBAC9B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,EAAE,CAAC,QAAgC,EAAE,EAAE;wBAC5C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC5B,CAAC;iBACF,CAAC;gBAEF,0CAA0C;gBAC1C,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,OAAO,IAAI,OAAO,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE;wBACjD,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;4BAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;4BAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;gCAC1B,YAAY,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gCAClD,OAAO;4BACT,CAAC;4BACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC,CAAC,CAAC;wBAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;4BACjB,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oCAC7C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAC7C,CAAC;qCAAM,CAAC;oCACN,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gCACjC,CAAC;4BACH,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,YAAY,CAAC,KAAK,CAAC,CAAC;4BACtB,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YAEF,4CAA4C;YAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAoB,EAAE,OAAe;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,qEAAqE;oBACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAoB,EAAE,OAAe;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CACpB,MAAc,EACd,WAAmB;QAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,6EAA6E;QAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,uDAAuD;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,2DAA2D;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5E,IAAI,YAAY,KAAK,CAAC,CAAC;gBAAE,SAAS;YAElC,sDAAsD;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,kDAAkD;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB;YAElE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAEnE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE1B,IAAI,aAAa,EAAE,CAAC;oBAClB,0DAA0D;oBAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;oBAErF,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAEtD,KAAK,CAAC,IAAI,CAAC,GAAG;wBACZ,QAAQ;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,QAAQ,EAAE,gDAAgD;wBAChE,IAAI,EAAE,QAAQ,CAAC,MAAM;qBACtB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,8CAA8C;oBAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAClF,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,MAAc,EAAE,SAAiB;QACnD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,yBAAyB;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,MAAc,EAAE,QAAgB;QACzD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2CAA2C;IACnC,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,oDAAoD;IAC5C,sBAAsB,CAAC,WAAmB;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IAChE,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClD,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,aAAa,GAAiB,EAAE,CAAC;IACjC,oBAAoB,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvD,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,mCAAmC;IAC3B,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gDAAgD;IAC3F,MAAM,CAAU,mBAAmB,GAAG,GAAG,CAAC,CAAC,oDAAoD;IAE/F,SAAS,CAAC,MAAc,EAAE,IAAY;QAC5C,wDAAwD;QACxD,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;QAErC,oEAAoE;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,oEAAoE;YACpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACxC,CAAC;QAED,8DAA8D;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,kBAAkB,GAAG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE9F,yCAAyC;QACzC,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACvE,oEAAoE;YACpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAE,CAAC;QAClD,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YACrD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,0CAA0C;QAC1C,IAAI,KAAK,GAAsB,IAAI,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACnD,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,uCAAuC;YACvC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE/D,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;YAC1F,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;YAE5C,0DAA0D;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;oBACpF,KAAK,GAAG,cAAc,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iEAAiE;IACzD,KAAK,CAAC,iBAAiB,CAC7B,UAAwB,EACxB,GAAgB,EAChB,GAAiB;QAEjB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,yCAAyC;YACzC,IAAI,GAAG,CAAC,WAAW;gBAAE,OAAO;YAE5B,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAEzB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;gBAErB,4CAA4C;gBAC5C,MAAM,IAAI,GAAG,GAAG,EAAE;oBAChB,IAAI,QAAQ;wBAAE,OAAO;oBACrB,QAAQ,GAAG,IAAI,CAAC;oBAChB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAElC,uDAAuD;oBACvD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC/C,MAAwB;6BACtB,IAAI,CAAC,GAAG,EAAE;4BACT,IAAI,CAAC,QAAQ;gCAAE,IAAI,EAAE,CAAC;wBACxB,CAAC,CAAC;6BACD,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;yBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACrB,wCAAwC;wBACxC,IAAI,EAAE,CAAC;oBACT,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAID,MAAM,CAAC,IAAY,EAAE,IAA4B,EAAE,QAAqB;QACtE,0EAA0E;QAC1E,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,YAAY;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yBAAyB;IACzB,mBAAmB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ;YACjD,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ;YACjD,oBAAoB,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ;YACnD,WAAW,EAAE,SAAS;SACvB,CAAC;IACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/core/http/http-server.ts"],"names":[],"mappings":"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"}
|