@spinajs/http-swagger 2.0.490 → 2.0.494
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/lib/cjs/interfaces.d.ts +9 -0
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/openapi-builder.d.ts +113 -0
- package/lib/cjs/openapi-builder.d.ts.map +1 -1
- package/lib/cjs/openapi-builder.js +321 -28
- package/lib/cjs/openapi-builder.js.map +1 -1
- package/lib/cjs/swagger-service.d.ts.map +1 -1
- package/lib/cjs/swagger-service.js +16 -1
- package/lib/cjs/swagger-service.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +9 -0
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/openapi-builder.d.ts +113 -0
- package/lib/mjs/openapi-builder.d.ts.map +1 -1
- package/lib/mjs/openapi-builder.js +321 -28
- package/lib/mjs/openapi-builder.js.map +1 -1
- package/lib/mjs/swagger-service.d.ts.map +1 -1
- package/lib/mjs/swagger-service.js +16 -1
- package/lib/mjs/swagger-service.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/lib/views/swagger-ui-init.js +11 -11
- package/lib/views/swagger.pug +16 -16
- package/package.json +73 -73
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Autoinject, TypedArray } from '@spinajs/di';
|
|
11
11
|
import { ParameterType, RouteType } from '@spinajs/http';
|
|
12
12
|
import { SCHEMA_SYMBOL, SchemaProvider } from '@spinajs/validation';
|
|
13
|
+
import { InvalidArgument } from '@spinajs/exceptions';
|
|
13
14
|
import { safeParse } from '@spinajs/util';
|
|
14
15
|
/**
|
|
15
16
|
* Set of ParameterType values that map to internal framework params (not API params).
|
|
@@ -106,11 +107,29 @@ const STANDARD_RESPONSE_DESCRIPTIONS = {
|
|
|
106
107
|
'422': 'Validation error — request body failed schema validation',
|
|
107
108
|
'500': 'Internal server error',
|
|
108
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Every `{placeholder}` an OpenAPI path template carries, in template order.
|
|
112
|
+
*
|
|
113
|
+
* The template is the single source of truth for path parameters. It is read from the
|
|
114
|
+
* FULL path the document emits (controller `@BasePath` + route path + configured
|
|
115
|
+
* `basePath` prefix), not from `route.Path` — a placeholder declared in `@BasePath` is
|
|
116
|
+
* invisible to `route.Path` and rejecting an argument that names it would be a false
|
|
117
|
+
* alarm.
|
|
118
|
+
*
|
|
119
|
+
* Deduplicated: `name` + `in` is a parameter's identity in OpenAPI, so a template that
|
|
120
|
+
* repeats a placeholder still yields one parameter.
|
|
121
|
+
*/
|
|
122
|
+
function pathTemplatePlaceholders(template) {
|
|
123
|
+
const names = (template.match(/{([a-zA-Z_][a-zA-Z0-9_]*)}/g) ?? []).map((p) => p.slice(1, -1));
|
|
124
|
+
return [...new Set(names)];
|
|
125
|
+
}
|
|
109
126
|
export class OpenApiBuilder {
|
|
110
127
|
constructor(config) {
|
|
111
128
|
this.tags = new Map();
|
|
112
129
|
this.registeredResponses = new Set();
|
|
113
130
|
this.registeredComponents = new Set();
|
|
131
|
+
/** Per type name: whether its two flavours differ and therefore need two components. */
|
|
132
|
+
this.componentClaims = new Map();
|
|
114
133
|
this.errorSchemaRegistered = false;
|
|
115
134
|
this.registeredPolicies = new Set();
|
|
116
135
|
this.policySectionEntries = [];
|
|
@@ -170,7 +189,7 @@ export class OpenApiBuilder {
|
|
|
170
189
|
const httpMethod = this.mapRouteType(route.Type);
|
|
171
190
|
if (!httpMethod)
|
|
172
191
|
continue;
|
|
173
|
-
const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName);
|
|
192
|
+
const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName, fullPath);
|
|
174
193
|
this.applyRbac(operation, rbac, methodNameStr);
|
|
175
194
|
this.applyPolicies(operation, docCache, methodNameStr);
|
|
176
195
|
if (!this.document.paths[fullPath]) {
|
|
@@ -335,8 +354,12 @@ export class OpenApiBuilder {
|
|
|
335
354
|
}
|
|
336
355
|
/**
|
|
337
356
|
* Build an OpenAPI operation from a route and its documentation.
|
|
357
|
+
*
|
|
358
|
+
* `fullPath` is the OpenAPI path template this operation is filed under. It — not the
|
|
359
|
+
* argument list — decides which path parameters the operation has; see
|
|
360
|
+
* resolvePathPlaceholder() for the contract a declared argument must satisfy.
|
|
338
361
|
*/
|
|
339
|
-
buildOperation(controllerName, methodName, route, methodDoc, tagName) {
|
|
362
|
+
buildOperation(controllerName, methodName, route, methodDoc, tagName, fullPath) {
|
|
340
363
|
const operation = {
|
|
341
364
|
operationId: `${controllerName}_${methodName}`,
|
|
342
365
|
tags: methodDoc?.tags || [tagName],
|
|
@@ -349,9 +372,13 @@ export class OpenApiBuilder {
|
|
|
349
372
|
security: methodDoc?.security,
|
|
350
373
|
};
|
|
351
374
|
const bodyParams = [];
|
|
352
|
-
//
|
|
353
|
-
const
|
|
354
|
-
|
|
375
|
+
// The URL template owns the path parameters. Arguments only enrich them.
|
|
376
|
+
const placeholders = pathTemplatePlaceholders(fullPath);
|
|
377
|
+
// Placeholder -> the argument that declares it. At most one argument per placeholder;
|
|
378
|
+
// a second one is a defect in the controller, not something to reconcile here.
|
|
379
|
+
const declaredPlaceholders = new Map();
|
|
380
|
+
// Parameters other than path ones, kept in argument order.
|
|
381
|
+
const otherParams = [];
|
|
355
382
|
// Process route parameters
|
|
356
383
|
for (const [, param] of route.Parameters) {
|
|
357
384
|
if (INTERNAL_PARAMS.has(param.Type)) {
|
|
@@ -365,26 +392,52 @@ export class OpenApiBuilder {
|
|
|
365
392
|
if (!location) {
|
|
366
393
|
if (param.Type === 'FromDbModel') {
|
|
367
394
|
location = this.fromDbModelLocation(param);
|
|
395
|
+
// fromDbModelLocation() answers 'path' for paramType=FromBody too, only so the
|
|
396
|
+
// value stays visible somewhere in the document. A body key has no URL
|
|
397
|
+
// placeholder to match and readsPathParam() is the authority on that, so it is
|
|
398
|
+
// not a path parameter and must not be pushed through the strict resolver.
|
|
399
|
+
// It carries no OpenAPI location at all — a body is described by requestBody.
|
|
400
|
+
if (location === 'path' && !this.readsPathParam(param)) {
|
|
401
|
+
location = undefined;
|
|
402
|
+
}
|
|
368
403
|
}
|
|
369
404
|
else if (param.Type === 'FilterModelRouteArg') {
|
|
370
405
|
location = 'query';
|
|
371
406
|
}
|
|
372
407
|
}
|
|
373
|
-
|
|
374
|
-
const
|
|
375
|
-
if (isPathParam && resolvedName && !param.Name) {
|
|
376
|
-
param.Name = resolvedName;
|
|
377
|
-
}
|
|
378
|
-
const paramDoc = methodDoc?.params?.[resolvedName ?? param.Name];
|
|
408
|
+
// JSDoc is written against the argument name.
|
|
409
|
+
const paramDoc = methodDoc?.params?.[param.Name];
|
|
379
410
|
if (BODY_PARAMS.has(param.Type)) {
|
|
380
411
|
bodyParams.push({ param, doc: paramDoc });
|
|
381
412
|
continue;
|
|
382
413
|
}
|
|
414
|
+
if (location === 'path') {
|
|
415
|
+
const placeholder = this.resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath);
|
|
416
|
+
const previous = declaredPlaceholders.get(placeholder);
|
|
417
|
+
if (previous) {
|
|
418
|
+
throw new InvalidArgument(`${controllerName}.${methodName}: path placeholder \`${placeholder}\` is declared twice, ` +
|
|
419
|
+
`by \`${previous.param.Name}\` and by \`${param.Name}\`, in route \`${fullPath}\`. ` +
|
|
420
|
+
`Each placeholder must be declared by at most one argument — drop one of them, ` +
|
|
421
|
+
`or point its paramField at a different placeholder.`);
|
|
422
|
+
}
|
|
423
|
+
declaredPlaceholders.set(placeholder, { param, doc: paramDoc ?? methodDoc?.params?.[placeholder] });
|
|
424
|
+
continue;
|
|
425
|
+
}
|
|
383
426
|
if (location) {
|
|
384
|
-
|
|
385
|
-
operation.parameters.push(apiParam);
|
|
427
|
+
otherParams.push(this.buildParameter(param, location, paramDoc, this.emittedParamName(param)));
|
|
386
428
|
}
|
|
387
429
|
}
|
|
430
|
+
// Emit one required parameter per placeholder, in template order. A placeholder nobody
|
|
431
|
+
// declares is still a parameter the caller has to fill in: the backend compiles with
|
|
432
|
+
// `noUnusedParameters`, so a handler that never reads `:campaign` CANNOT declare an
|
|
433
|
+
// argument for it, and the URL template is then the only place that knows about it.
|
|
434
|
+
for (const name of placeholders) {
|
|
435
|
+
const declared = declaredPlaceholders.get(name);
|
|
436
|
+
operation.parameters.push(declared
|
|
437
|
+
? this.buildParameter(declared.param, 'path', declared.doc, name)
|
|
438
|
+
: { name, in: 'path', required: true, schema: { type: 'string' } });
|
|
439
|
+
}
|
|
440
|
+
operation.parameters.push(...otherParams);
|
|
388
441
|
// Build request body from body params
|
|
389
442
|
if (bodyParams.length > 0) {
|
|
390
443
|
operation.requestBody = this.buildRequestBody(bodyParams, route);
|
|
@@ -566,6 +619,149 @@ export class OpenApiBuilder {
|
|
|
566
619
|
return 'path';
|
|
567
620
|
}
|
|
568
621
|
}
|
|
622
|
+
/**
|
|
623
|
+
* The name a non-path parameter is emitted under.
|
|
624
|
+
*
|
|
625
|
+
* orm-http's FromDbModel._extractValue reads `req.query[paramField ?? Name]` (same for
|
|
626
|
+
* headers), so an explicit `paramField` IS the wire name and the TypeScript argument name
|
|
627
|
+
* is not what the runtime looks for. Path parameters do not go through here — their name
|
|
628
|
+
* is the placeholder, see resolvePathPlaceholder().
|
|
629
|
+
*/
|
|
630
|
+
emittedParamName(param) {
|
|
631
|
+
const paramField = param.Options?.paramField;
|
|
632
|
+
return paramField || param.Name || undefined;
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* The URL placeholder a path-bound argument declares — or a throw.
|
|
636
|
+
*
|
|
637
|
+
* Path parameters are emitted from the URL template (see buildOperation); a declared
|
|
638
|
+
* argument only enriches the one it names, with its schema and its JSDoc description.
|
|
639
|
+
* There are exactly two ways to name one:
|
|
640
|
+
*
|
|
641
|
+
* 1. `Options.paramField` — that IS the placeholder, and it must exist in the template.
|
|
642
|
+
* It is also the field orm-http's FromDbModel.extract() reads from `req.params`, so
|
|
643
|
+
* the document and the runtime agree by construction.
|
|
644
|
+
* 2. the argument's own name, when it equals a placeholder.
|
|
645
|
+
*
|
|
646
|
+
* Anything else throws. No positional assignment, no "first free placeholder", no
|
|
647
|
+
* underscore aliasing: a controller the documentation layer cannot read unambiguously is
|
|
648
|
+
* a controller to fix, not to guess at. An underscore-prefixed argument (`_campaign`,
|
|
649
|
+
* written only to satisfy `noUnusedParameters`) matches no placeholder and therefore
|
|
650
|
+
* throws — the fix is to DELETE the argument, because the placeholder is emitted from the
|
|
651
|
+
* template whether anything declares it or not.
|
|
652
|
+
*
|
|
653
|
+
* The message has to be enough to fix the route without opening this file: it names the
|
|
654
|
+
* controller, the method, the argument, the template, every placeholder that template
|
|
655
|
+
* carries and the two ways out.
|
|
656
|
+
*/
|
|
657
|
+
resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath) {
|
|
658
|
+
const paramField = param.Options?.paramField;
|
|
659
|
+
const argument = param.Name || `argument #${param.Index}`;
|
|
660
|
+
const available = placeholders.length > 0
|
|
661
|
+
? `Available placeholders: ${placeholders.join(', ')}.`
|
|
662
|
+
: 'The route declares no path placeholders at all.';
|
|
663
|
+
const suggestion = placeholders.length > 0 ? placeholders[0] : 'name';
|
|
664
|
+
const fix = `Either rename the argument to a placeholder the route really has, or name one explicitly ` +
|
|
665
|
+
`with the decorator's paramField option, e.g. @FromModel({ paramField: '${suggestion}' }). ` +
|
|
666
|
+
`If the handler never reads the value, delete the argument instead: every placeholder is ` +
|
|
667
|
+
`documented from the URL template whether an argument declares it or not. Path parameters ` +
|
|
668
|
+
`are resolved strictly — the documentation layer does not guess.`;
|
|
669
|
+
if (paramField) {
|
|
670
|
+
if (placeholders.includes(paramField)) {
|
|
671
|
+
return paramField;
|
|
672
|
+
}
|
|
673
|
+
throw new InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` declares paramField ` +
|
|
674
|
+
`\`${paramField}\`, which matches no placeholder in route \`${fullPath}\`. ${available} ${fix}`);
|
|
675
|
+
}
|
|
676
|
+
if (param.Name && placeholders.includes(param.Name)) {
|
|
677
|
+
return param.Name;
|
|
678
|
+
}
|
|
679
|
+
throw new InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` matches no placeholder ` +
|
|
680
|
+
`in route \`${fullPath}\`. ${available} ${fix}`);
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Whether an @FromModel parameter reads its key from the URL path.
|
|
684
|
+
*
|
|
685
|
+
* Mirrors orm-http's FromDbModel._extractValue: only an absent `paramType` ( the default )
|
|
686
|
+
* or an explicit FromParams reaches `req.params`. Query / body / header keys live somewhere
|
|
687
|
+
* else entirely and have no business claiming a URL placeholder.
|
|
688
|
+
*/
|
|
689
|
+
readsPathParam(param) {
|
|
690
|
+
const paramType = param.Options?.paramType;
|
|
691
|
+
return paramType === undefined || paramType === null || paramType === ParameterType.FromParams || paramType === 'FromParams';
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* Schema for the value an @FromModel parameter actually carries: the key the model
|
|
695
|
+
* is looked up by, never the model itself. The runtime picks that column the same
|
|
696
|
+
* way (FromDbModel.fromDbModelDefaultQueryFunction): `Options.queryField` if given,
|
|
697
|
+
* otherwise the model's primary key.
|
|
698
|
+
*
|
|
699
|
+
* The descriptor is read through the global `Symbol.for('MODEL_DESCRIPTOR')` so this
|
|
700
|
+
* package keeps no @spinajs/orm dependency (same trick as extractFilterableColumns).
|
|
701
|
+
* `PrimaryKey` is filled only by the @Primary decorator, so legacy models without it
|
|
702
|
+
* fall back to the column the driver introspected as primary.
|
|
703
|
+
*/
|
|
704
|
+
fromDbModelKeySchema(param) {
|
|
705
|
+
const modelCtor = param.RuntimeType;
|
|
706
|
+
const descriptor = typeof modelCtor === 'function'
|
|
707
|
+
? Reflect.getMetadata(Symbol.for('MODEL_DESCRIPTOR'), modelCtor)
|
|
708
|
+
: undefined;
|
|
709
|
+
const columns = Array.isArray(descriptor?.Columns) ? descriptor.Columns : [];
|
|
710
|
+
const primaryKey = descriptor?.PrimaryKey;
|
|
711
|
+
const declaredKey = Array.isArray(primaryKey) ? primaryKey[0] : primaryKey || undefined;
|
|
712
|
+
const keyName = param.Options?.queryField ?? declaredKey ?? columns.find((c) => c.PrimaryKey)?.Name;
|
|
713
|
+
const modelName = descriptor?.Name || (typeof modelCtor === 'function' ? modelCtor.name : undefined);
|
|
714
|
+
const column = keyName ? columns.find((c) => c.Name === keyName) : undefined;
|
|
715
|
+
// No descriptor at all (model metadata not loaded) still beats `type: object` —
|
|
716
|
+
// whatever the key is, it travels as a single scalar in the URL or query string.
|
|
717
|
+
const schema = this.schemaFromDbColumnType(column?.Type);
|
|
718
|
+
return {
|
|
719
|
+
...schema,
|
|
720
|
+
description: modelName && keyName ? `${modelName}.${keyName}` : modelName ? `${modelName} key` : undefined,
|
|
721
|
+
};
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* Map a database column type (driver's DATA_TYPE) to an OpenAPI primitive.
|
|
725
|
+
* Unknown types fall back to string — the value travels as a URL segment anyway.
|
|
726
|
+
*/
|
|
727
|
+
schemaFromDbColumnType(type) {
|
|
728
|
+
const normalized = (type ?? '')
|
|
729
|
+
.toLowerCase()
|
|
730
|
+
.replace(/\(.*$/, '')
|
|
731
|
+
.replace(/\s+unsigned$/, '')
|
|
732
|
+
.trim();
|
|
733
|
+
switch (normalized) {
|
|
734
|
+
case 'tinyint':
|
|
735
|
+
case 'smallint':
|
|
736
|
+
case 'mediumint':
|
|
737
|
+
case 'int':
|
|
738
|
+
case 'integer':
|
|
739
|
+
case 'year':
|
|
740
|
+
return { type: 'integer' };
|
|
741
|
+
case 'bigint':
|
|
742
|
+
return { type: 'integer', format: 'int64' };
|
|
743
|
+
case 'float':
|
|
744
|
+
case 'double':
|
|
745
|
+
case 'real':
|
|
746
|
+
return { type: 'number' };
|
|
747
|
+
case 'bool':
|
|
748
|
+
case 'boolean':
|
|
749
|
+
case 'bit':
|
|
750
|
+
return { type: 'boolean' };
|
|
751
|
+
// DECIMAL/NUMERIC come back from the driver as strings (precision is not
|
|
752
|
+
// survivable as a JS number), so the doc must say string as well.
|
|
753
|
+
case 'decimal':
|
|
754
|
+
case 'numeric':
|
|
755
|
+
return { type: 'string' };
|
|
756
|
+
case 'date':
|
|
757
|
+
return { type: 'string', format: 'date' };
|
|
758
|
+
case 'datetime':
|
|
759
|
+
case 'timestamp':
|
|
760
|
+
return { type: 'string', format: 'date-time' };
|
|
761
|
+
default:
|
|
762
|
+
return { type: 'string' };
|
|
763
|
+
}
|
|
764
|
+
}
|
|
569
765
|
/**
|
|
570
766
|
* Build an OpenAPI parameter from route parameter info.
|
|
571
767
|
*/
|
|
@@ -600,6 +796,12 @@ export class OpenApiBuilder {
|
|
|
600
796
|
if (param.Type === 'FilterModelRouteArg') {
|
|
601
797
|
return this.buildFilterSchema(param);
|
|
602
798
|
}
|
|
799
|
+
// orm-http @FromModel — the request carries the key the model is loaded by, not the
|
|
800
|
+
// model. The model's own schema describes a write body and would document this
|
|
801
|
+
// parameter as an object, which no URL segment can be.
|
|
802
|
+
if (param.Type === 'FromDbModel') {
|
|
803
|
+
return this.fromDbModelKeySchema(param);
|
|
804
|
+
}
|
|
603
805
|
if (param.Schema && typeof param.Schema === 'object') {
|
|
604
806
|
return this.convertJsonSchema(param.Schema);
|
|
605
807
|
}
|
|
@@ -672,6 +874,17 @@ export class OpenApiBuilder {
|
|
|
672
874
|
result.properties[k] = this.convertJsonSchema(v);
|
|
673
875
|
}
|
|
674
876
|
}
|
|
877
|
+
// A map keyed by data — RBAC grants are resource → action → descriptor, so
|
|
878
|
+
// the names cannot be enumerated and `properties` cannot describe them.
|
|
879
|
+
// Dropping this collapsed such a schema to a bare `object`. `false` is kept
|
|
880
|
+
// as-is: it says "no unknown keys", which is a real constraint, not a value
|
|
881
|
+
// schema.
|
|
882
|
+
if (typeof jsonSchema.additionalProperties === 'boolean') {
|
|
883
|
+
result.additionalProperties = jsonSchema.additionalProperties;
|
|
884
|
+
}
|
|
885
|
+
else if (jsonSchema.additionalProperties) {
|
|
886
|
+
result.additionalProperties = this.convertJsonSchema(jsonSchema.additionalProperties);
|
|
887
|
+
}
|
|
675
888
|
if (Array.isArray(jsonSchema.oneOf)) {
|
|
676
889
|
result.oneOf = jsonSchema.oneOf.map((s) => this.convertJsonSchema(s));
|
|
677
890
|
}
|
|
@@ -777,7 +990,7 @@ export class OpenApiBuilder {
|
|
|
777
990
|
: (methodDoc.returns.schema ?? { type: 'object' });
|
|
778
991
|
responses['200'] = {
|
|
779
992
|
description: methodDoc.returns.description || 'Successful response',
|
|
780
|
-
content: { 'application/json': { schema: this.expandNamedSchemas(schema) } },
|
|
993
|
+
content: { 'application/json': { schema: this.expandNamedSchemas(schema, 'response') } },
|
|
781
994
|
};
|
|
782
995
|
}
|
|
783
996
|
else if (!hasExplicit2xx) {
|
|
@@ -792,7 +1005,7 @@ export class OpenApiBuilder {
|
|
|
792
1005
|
if (resp.type) {
|
|
793
1006
|
responses[statusCode] = {
|
|
794
1007
|
description: resp.description,
|
|
795
|
-
content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type)) } },
|
|
1008
|
+
content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type), 'response') } },
|
|
796
1009
|
};
|
|
797
1010
|
continue;
|
|
798
1011
|
}
|
|
@@ -860,26 +1073,30 @@ export class OpenApiBuilder {
|
|
|
860
1073
|
/**
|
|
861
1074
|
* Swaps named-type nodes for a reusable component `$ref`, registering each component once.
|
|
862
1075
|
* Walks `items` and `properties` so nested types are expanded too.
|
|
1076
|
+
*
|
|
1077
|
+
* `kind` says which side of the wire this subtree describes and is carried down the whole
|
|
1078
|
+
* walk — a relation nested in a response is still a response. It defaults to 'request'
|
|
1079
|
+
* so every caller that never had an opinion keeps the schema it always got.
|
|
863
1080
|
*/
|
|
864
|
-
expandNamedSchemas(schema) {
|
|
1081
|
+
expandNamedSchemas(schema, kind = 'request') {
|
|
865
1082
|
// Case 1 — primitive / null: nothing to expand, return as-is.
|
|
866
1083
|
if (!schema || typeof schema !== 'object') {
|
|
867
1084
|
return schema;
|
|
868
1085
|
}
|
|
869
1086
|
// Case 2 — a named-model tag: replace the whole node with a $ref to its component.
|
|
870
1087
|
if (schema.description && !schema.$ref) {
|
|
871
|
-
const ref = this.registerNamedComponent(schema.description);
|
|
1088
|
+
const ref = this.registerNamedComponent(schema.description, kind);
|
|
872
1089
|
if (ref) {
|
|
873
1090
|
return { $ref: ref };
|
|
874
1091
|
}
|
|
875
1092
|
}
|
|
876
1093
|
// Case 3 — a container: keep the node, expand the two places a model can hide.
|
|
877
1094
|
if (schema.items) {
|
|
878
|
-
schema.items = this.expandNamedSchemas(schema.items);
|
|
1095
|
+
schema.items = this.expandNamedSchemas(schema.items, kind);
|
|
879
1096
|
}
|
|
880
1097
|
if (schema.properties) {
|
|
881
1098
|
for (const key of Object.keys(schema.properties)) {
|
|
882
|
-
schema.properties[key] = this.expandNamedSchemas(schema.properties[key]);
|
|
1099
|
+
schema.properties[key] = this.expandNamedSchemas(schema.properties[key], kind);
|
|
883
1100
|
}
|
|
884
1101
|
}
|
|
885
1102
|
return schema;
|
|
@@ -888,23 +1105,99 @@ export class OpenApiBuilder {
|
|
|
888
1105
|
* Registers `name` as a reusable component and returns its `$ref`.
|
|
889
1106
|
* Returns undefined when no provider recognises the name, so the caller leaves the node as-is.
|
|
890
1107
|
*/
|
|
891
|
-
registerNamedComponent(name) {
|
|
892
|
-
const
|
|
893
|
-
// Already registered (or in progress) — just reference it.
|
|
894
|
-
if (this.registeredComponents.has(name)) {
|
|
895
|
-
return ref;
|
|
896
|
-
}
|
|
897
|
-
const resolved = this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
|
|
1108
|
+
registerNamedComponent(name, kind = 'request') {
|
|
1109
|
+
const resolved = this.resolveNamedSchema(name, kind);
|
|
898
1110
|
if (!resolved) {
|
|
899
1111
|
return undefined;
|
|
900
1112
|
}
|
|
901
|
-
this.
|
|
1113
|
+
const componentName = this.componentNameFor(name, kind, resolved);
|
|
1114
|
+
const ref = `#/components/schemas/${componentName}`;
|
|
1115
|
+
// Already registered (or in progress) — just reference it. Registering BEFORE the
|
|
1116
|
+
// expansion below is what stops a cyclic relation from recursing forever.
|
|
1117
|
+
if (this.registeredComponents.has(componentName)) {
|
|
1118
|
+
return ref;
|
|
1119
|
+
}
|
|
1120
|
+
this.registeredComponents.add(componentName);
|
|
902
1121
|
const components = (this.document.components ??= {});
|
|
903
1122
|
const schemas = (components.schemas ??= {});
|
|
904
1123
|
// Expand nested named tags into their own components.
|
|
905
|
-
schemas[
|
|
1124
|
+
schemas[componentName] = this.expandNamedSchemas(this.convertJsonSchema(resolved), kind);
|
|
906
1125
|
return ref;
|
|
907
1126
|
}
|
|
1127
|
+
/**
|
|
1128
|
+
* Pick the schema a component should be built from.
|
|
1129
|
+
*
|
|
1130
|
+
* An ORM model carries two different contracts under one name: `@Schema` says what a
|
|
1131
|
+
* client may SEND, the model's own columns say what the API RETURNS. Serving the write
|
|
1132
|
+
* schema as the response contract is how a response ends up missing every column the
|
|
1133
|
+
* database generates (`id`, `created_at`), missing `nullable` on columns that are null in
|
|
1134
|
+
* practice, carrying `maxLength` copied from the column width, and demanding fields a
|
|
1135
|
+
* response legitimately omits — enough for a generated client validator to reject
|
|
1136
|
+
* ordinary rows.
|
|
1137
|
+
*
|
|
1138
|
+
* So a response asks the providers for their response flavour first. Providers that have
|
|
1139
|
+
* none (a `@Schema` DTO is the same object both ways) return undefined and we fall back
|
|
1140
|
+
* to `getSchema` — which is also the only thing a request ever consults.
|
|
1141
|
+
*/
|
|
1142
|
+
resolveNamedSchema(name, kind) {
|
|
1143
|
+
if (kind === 'response') {
|
|
1144
|
+
// optional call — a provider compiled against an older @spinajs/validation has no such method
|
|
1145
|
+
const response = this.SchemaProviders.map((p) => p.getResponseSchema?.(name)).find((r) => !!r);
|
|
1146
|
+
if (response) {
|
|
1147
|
+
return response;
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
return this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
|
|
1151
|
+
}
|
|
1152
|
+
/**
|
|
1153
|
+
* Component name for `name` in the given flavour.
|
|
1154
|
+
*
|
|
1155
|
+
* A type whose two flavours agree is ONE component called `<Name>`. When they differ the
|
|
1156
|
+
* response keeps `<Name>` and the request becomes `<Name>Request` — always, whichever
|
|
1157
|
+
* flavour the traversal happens to reach first. Letting the first arrival keep the base
|
|
1158
|
+
* name made the suffix a function of controller-discovery ( filesystem ) order: adding or
|
|
1159
|
+
* renaming an unrelated controller could flip `User` to `UserRequest` in every generated
|
|
1160
|
+
* client, with nothing in the diff to explain it.
|
|
1161
|
+
*
|
|
1162
|
+
* The response is the half that keeps the plain name because it is the half most of a
|
|
1163
|
+
* client's surface is built from — a list screen references the row type far more often
|
|
1164
|
+
* than the write form does.
|
|
1165
|
+
*
|
|
1166
|
+
* Both flavours are resolved here, at the first encounter, precisely so the answer does not
|
|
1167
|
+
* depend on which one asked. Providers are pure lookups, so asking twice costs nothing.
|
|
1168
|
+
*
|
|
1169
|
+
* @param name - type name to place in components
|
|
1170
|
+
* @param kind - flavour being registered right now
|
|
1171
|
+
* @param resolved - the schema already resolved for `kind`, reused instead of re-asking
|
|
1172
|
+
*/
|
|
1173
|
+
componentNameFor(name, kind, resolved) {
|
|
1174
|
+
let claim = this.componentClaims.get(name);
|
|
1175
|
+
if (!claim) {
|
|
1176
|
+
const request = kind === 'request' ? resolved : this.resolveNamedSchema(name, 'request');
|
|
1177
|
+
const response = kind === 'response' ? resolved : this.resolveNamedSchema(name, 'response');
|
|
1178
|
+
const requestKey = request && this.schemaKey(request);
|
|
1179
|
+
const responseKey = response && this.schemaKey(response);
|
|
1180
|
+
// An unserializable schema counts as "differs": that costs one extra component but
|
|
1181
|
+
// never merges two contracts into one.
|
|
1182
|
+
claim = { split: !requestKey || !responseKey || requestKey !== responseKey };
|
|
1183
|
+
this.componentClaims.set(name, claim);
|
|
1184
|
+
}
|
|
1185
|
+
return claim.split && kind === 'request' ? `${name}Request` : name;
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1188
|
+
* Identity of a resolved schema, used only to tell "both flavours, same contract" from
|
|
1189
|
+
* "both flavours, different contract". Undefined when the schema can't be serialized —
|
|
1190
|
+
* then the two flavours are assumed to differ, which costs a component but never merges
|
|
1191
|
+
* two contracts into one.
|
|
1192
|
+
*/
|
|
1193
|
+
schemaKey(schema) {
|
|
1194
|
+
try {
|
|
1195
|
+
return JSON.stringify(schema);
|
|
1196
|
+
}
|
|
1197
|
+
catch {
|
|
1198
|
+
return undefined;
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
908
1201
|
/**
|
|
909
1202
|
* Infer an OpenAPI schema from a TypeScript runtime type.
|
|
910
1203
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAA2C,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAe1C;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IACtC,aAAa,CAAC,GAAG;IACjB,aAAa,CAAC,GAAG;IACjB,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,WAAW;IACzB,cAAc;IACd,eAAe;IACf,QAAQ;IACR,aAAa;IACb,sBAAsB;CACvB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;IAClC,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,YAAY;IAC1B,UAAU;IACV,oBAAoB;IACpB,UAAU;IACV,eAAe;IACf,WAAW;IACX,UAAU;IACV,SAAS;IACT,cAAc;IACd,+EAA+E;IAC/E,WAAW;CACZ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IAC5C,aAAa,CAAC,QAAQ,EAAE,UAAU;IAClC,aAAa,CAAC,QAAQ,EAAE,UAAU;IAClC,aAAa,CAAC,SAAS,EAAE,eAAe;IACxC,aAAa,CAAC,OAAO,EAAE,SAAS;IAChC,aAAa,CAAC,YAAY,EAAE,cAAc;CAC3C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAA2D;IACjF,SAAS,EAAE,OAAO;IAClB,mBAAmB,EAAE,OAAO;IAE5B,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,MAAM;IAE3B,UAAU,EAAE,QAAQ;IACpB,qBAAqB,EAAE,QAAQ;IAE/B,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAA2B;IACtD,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,8BAA8B,GAA2B;IAC7D,KAAK,EAAE,2DAA2D;IAClE,KAAK,EAAE,8CAA8C;IACrD,KAAK,EAAE,kDAAkD;IACzD,KAAK,EAAE,mDAAmD;IAC1D,KAAK,EAAE,sCAAsC;IAC7C,KAAK,EAAE,uEAAuE;IAC9E,KAAK,EAAE,0DAA0D;IACjE,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,0DAA0D;IACjE,KAAK,EAAE,uBAAuB;CAC/B,CAAC;AASF;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,cAAc;IAgBzB,YAAY,MAAsB;QAb1B,SAAI,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC3C,wBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC7C,yBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;QACtD,wFAAwF;QAChF,oBAAe,GAAoC,IAAI,GAAG,EAAE,CAAC;QAC7D,0BAAqB,GAAG,KAAK,CAAC;QAC9B,uBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC5C,yBAAoB,GAAa,EAAE,CAAC;QACpC,wBAAmB,GAAW,EAAE,CAAC;QAMvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,mBAAmB;gBAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;gBAClC,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC;YACD,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACjF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG;gBACzB,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACI,aAAa,CAClB,UAAqC,EACrC,QAA4B;QAE5B,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;QACnD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5F,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAElE,2DAA2D;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBACrB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,QAAQ,CAAC,gBAAgB;aACvC,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,UAAoB,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAgB,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACnC,UAAU,CAAC,IAAI,EACf,aAAa,EACb,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,aAAa,CAAC,SAA4B,EAAE,QAA4B,EAAE,UAAkB;QAClG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7B,SAAS,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;QAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,MAAM,IAAI,KAAK,GAAG,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,MAAM,KAAK,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjG,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,IAAY,EAAE,GAA6C;QACzF,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,6DAA6D,CAAC;QAC9G,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,MAAM,WAAW,IAAI,SAAS,WAAW,EAAE,CAAC,CAAC;QAE1F,gEAAgE;QAChE,MAAM,OAAO,GAAG,+EAA+E;YAC7F,2EAA2E,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACrH,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACvE,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,QAAiB;QAEjB,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAkB,CAMlD,CAAC;QAEd,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACxE,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,SAAS,CACf,SAA4B,EAC5B,IAAsD,EACtD,UAAkB;QAElB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxF,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvD,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,oBAAoB,CAAC,GAAG,WAAW,CAAC;QAE1E,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;QAC9H,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,IAAI,GAAG,sBAAsB,QAAQ,gBAAgB,YAAY,EAAE,CAAC;QAE1E,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,QAAgB,EAAE,SAA6B,EAAE,UAAkB;QACnF,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,QAAQ,GAAG,CAAC;YACzB,CAAC;iBAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;QACtC,CAAC;QAED,6DAA6D;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAE1D,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAe;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS,CAAC,GAAG,CAAC;YACnB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS,CAAC,KAAK;gBAClB,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CACpB,cAAsB,EACtB,UAAkB,EAClB,KAAa,EACb,SAA2C,EAC3C,OAAe,EACf,QAAgB;QAEhB,MAAM,SAAS,GAAsB;YACnC,WAAW,EAAE,GAAG,cAAc,IAAI,UAAU,EAAE;YAC9C,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,OAAO;YAC3B,WAAW,EAAE,SAAS,EAAE,WAAW;YACnC,UAAU,EAAE,SAAS,EAAE,UAAU;YACjC,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YACzC,4FAA4F;YAC5F,QAAQ,EAAE,SAAS,EAAE,QAAQ;SAC9B,CAAC;QAEF,MAAM,UAAU,GAA8F,EAAE,CAAC;QAEjH,yEAAyE;QACzE,MAAM,YAAY,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAExD,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAmG,CAAC;QAExI,2DAA2D;QAC3D,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,2BAA2B;QAC3B,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,oFAAoF;YACpF,IAAI,QAAQ,GAAuD,kBAAkB,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;YAC5G,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAE3C,+EAA+E;oBAC/E,uEAAuE;oBACvE,+EAA+E;oBAC/E,2EAA2E;oBAC3E,8EAA8E;oBAC9E,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvD,QAAQ,GAAG,SAAS,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAChD,QAAQ,GAAG,OAAO,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC3G,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAEvD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,wBAAwB,WAAW,wBAAwB;wBACxF,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,IAAI,kBAAkB,QAAQ,MAAM;wBACpF,gFAAgF;wBAChF,qDAAqD,CACxD,CAAC;gBACJ,CAAC;gBAED,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpG,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,qFAAqF;QACrF,oFAAoF;QACpF,oFAAoF;QACpF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChD,SAAS,CAAC,UAAW,CAAC,IAAI,CACxB,QAAQ;gBACN,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;gBACjE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,UAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAE3C,sCAAsC;QACtC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAED,oEAAoE;QACpE,uEAAuE;QACvE,8CAA8C;QAC9C,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxB,IAAI,OAAmE,CAAC;YACxE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBACnB,EAAE,CAAC,OAAO,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;oBAC1C,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,QAAS,CAAC,GAAG,CAAC,GAAG;wBACvB,OAAO,EAAE,EAAE,CAAC,IAAI;wBAChB,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC;qBACnC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,SAAS,CAAC,UAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,KAAsB;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkB,CAAC;QAEzC,yBAAyB;QACzB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAA8C,CAAC,CAAC;YAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,0EAA0E;YAC1E,MAAM,IAAI,GAAG,OAA2C,CAAC;YACzD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAgD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC;YAClI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0CAA0C;SACxD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,wBAAwB,CAAC,SAA8C;QAC7E,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,SAAS,CAE5D,CAAC;QACd,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,OAAkD;QAC7E,MAAM,WAAW,GAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;YACzC,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gBAC/D,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBAC7C;oBACD,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,SAAS;oBACjB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iBACxB;aACF;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YAC3B,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC3D,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;wBAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAE,EAAE,KAAK,EAAE,WAAW,EAAqB;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,KAAsB;QAChD,MAAM,SAAS,GAAI,KAAK,CAAC,OAA8C,EAAE,SAAS,CAAC;QACnF,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC,SAAS,CAAC;YAC7B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC;YACjB,KAAK,aAAa,CAAC,UAAU,CAAC;YAC9B,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC;YAClB,KAAK,aAAa,CAAC,QAAQ,CAAC;YAC5B,KAAK,UAAU;gBACb,6EAA6E;gBAC7E,2DAA2D;gBAC3D,OAAO,MAAM,CAAC;YAChB,KAAK,aAAa,CAAC,UAAU,CAAC;YAC9B,KAAK,YAAY,CAAC;YAClB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,KAAsB;QAC7C,MAAM,UAAU,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,CAAC;QACtF,OAAO,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,sBAAsB,CAC5B,cAAsB,EACtB,UAAkB,EAClB,KAAsB,EACtB,YAAsB,EACtB,QAAgB;QAEhB,MAAM,UAAU,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,CAAC;QACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC;QAE1D,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,2BAA2B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACvD,CAAC,CAAC,iDAAiD,CAAC;QACxD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,GAAG,GACP,2FAA2F;YAC3F,0EAA0E,UAAU,QAAQ;YAC5F,0FAA0F;YAC1F,2FAA2F;YAC3F,iEAAiE,CAAC;QAEpE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,qBAAqB,QAAQ,yBAAyB;gBACnF,KAAK,UAAU,+CAA+C,QAAQ,OAAO,SAAS,IAAI,GAAG,EAAE,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,qBAAqB,QAAQ,4BAA4B;YACtF,cAAc,QAAQ,OAAO,SAAS,IAAI,GAAG,EAAE,CAClD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,KAAsB;QAC3C,MAAM,SAAS,GAAI,KAAK,CAAC,OAA8C,EAAE,SAAS,CAAC;QACnF,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,aAAa,CAAC,UAAU,IAAK,SAAoB,KAAK,YAAY,CAAC;IAC3I,CAAC;IAED;;;;;;;;;;OAUG;IACK,oBAAoB,CAAC,KAAsB;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GACd,OAAO,SAAS,KAAK,UAAU;YAC7B,CAAC,CAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAEhD;YAChB,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC;QAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QACxF,MAAM,OAAO,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;QAE7I,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5H,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7E,gFAAgF;QAChF,iFAAiF;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEzD,OAAO;YACL,GAAG,MAAM;YACT,WAAW,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS;SAC3G,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAwB;QACrD,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aAC5B,WAAW,EAAE;aACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,IAAI,EAAE,CAAC;QAEV,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9C,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,yEAAyE;YACzE,kEAAkE;YAClE,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5C,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjD;gBACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,KAAsB,EACtB,QAAgD,EAChD,GAA2D,EAC3D,YAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC;QAE3C,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,YAAY,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE;YAC1D,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,QAAQ,EAAE,QAAQ,KAAK,MAAM;SAC9B,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClE,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,MAAM;YACN,GAAG,CAAC,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,KAAsB,EAAE,OAAgB;QAC9D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,2FAA2F;QAC3F,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,oFAAoF;QACpF,+EAA+E;QAC/E,uDAAuD;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,YAAY,UAAU,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAI,WAA+B,CAAC,IAAW,CAAC;gBAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC9J,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,WAAkB,CAAC;gBAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7I,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACtD,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC1C,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAAe;QACvC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,iFAAiF;QACjF,sCAAsC;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,GAAI,UAAU,CAAC,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,UAAU,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACzD,IAAI,UAAU,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACxE,IAAI,UAAU,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/D,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1E,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1E,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAChF,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAChF,IAAI,UAAU,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC5D,IAAI,UAAU,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAE/D,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,UAAU;QACV,IAAI,OAAO,UAAU,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC;QAChE,CAAC;aAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,mDAAmD;YACnD,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1D,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAE1E,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,MAAsB,EAAE,WAAgB;QACpE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAEvJ,CAAC;QAEd,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,OAAO,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,aAAa,CAAC;YACzC,MAAM,IAAI,GAAG,gBAAgB,SAAS,OAAO,OAAO,qDAAqD,CAAC;YAC1G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,IAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,UAAqG,EACrG,MAAc;QAEd,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC,CAAC;QAE5F,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAEzE,oEAAoE;QACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO;gBACL,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW;gBAChC,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,CAAC,WAAW,CAAC,EAAE;wBACb,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;qBAC9E;iBACF;aACF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAmC,EAAE,CAAC;QACtD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACvF,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI;gBAC9B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;QACxD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,CAAC,WAAW,CAAC,EAAE;oBACb,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,SAA2C;QAChE,MAAM,SAAS,GAAqC,EAAE,CAAC;QAEvD,+EAA+E;QAC/E,oEAAoE;QACpE,0EAA0E;QAC1E,gCAAgC;QAChC,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjH,MAAM,qBAAqB,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;QAEhH,IAAI,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC,cAAc,IAAI,qBAAqB,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GACV,SAAS,CAAC,OAAO,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEvD,SAAS,CAAC,KAAK,CAAC,GAAG;gBACjB,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,IAAI,qBAAqB;gBACnE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;aACzF,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAC5D,CAAC;QAED,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrE,gEAAgE;gBAChE,oEAAoE;gBACpE,uEAAuE;gBACvE,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,SAAS,CAAC,UAAU,CAAC,GAAG;wBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;qBACxH,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5E,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACK,wBAAwB,CAAC,UAAkB,EAAE,WAAoB;QACvE,MAAM,IAAI,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,GAAG;gBAChB,WAAW,EAAE,WAAW,IAAI,8BAA8B,CAAC,UAAU,CAAC,IAAI,IAAI;gBAC9E,OAAO,EAAE;oBACP,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE;iBACvE;aACF,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,qBAAqB;YAAE,OAAO;QAEvC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oBACxE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC9F;aACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,MAAsB,EAAE,OAAmB,SAAS;QAC7E,8DAA8D;QAC9D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,mFAAmF;QACnF,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAY,EAAE,OAAmB,SAAS;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,wBAAwB,aAAa,EAAE,CAAC;QAEpD,kFAAkF;QAClF,0EAA0E;QAC1E,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAE5C,sDAAsD;QACtD,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAEzF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,kBAAkB,CAAC,IAAY,EAAE,IAAgB;QACvD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,8FAA8F;YAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IAEK,gBAAgB,CAAC,IAAY,EAAE,IAAgB,EAAE,QAAiC;QACxF,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEzD,mFAAmF;YACnF,uCAAuC;YACvC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC7E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,MAA+B;QAC/C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,WAAgB,EAAE,OAAgB;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,gCAAgC;QAChC,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACtD,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACtD,IAAI,WAAW,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxD,IAAI,WAAW,KAAK,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC/E,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAEtD,8DAA8D;QAC9D,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,OAAO;gBACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YACtD;gBACE,kCAAkC;gBAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAyB;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,+DAA+D;QAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AA9wCW;IADT,UAAU,CAAC,cAAc,CAAC;;uDACkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,qBACa,cAAe,SAAQ,YAAY;IAE9C,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,kBAAkB,EAAG,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,EAAG,eAAe,CAAC;IAGrC,SAAS,CAAC,aAAa,EAAG,cAAc,CAAC;IAEzC;;;;;OAKG;IAEH,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAiC;IAE9C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA0C;IAE/D,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACI,UAAU,IAAI,IAAI;IAIZ,OAAO,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA6CpD"}
|