@finos/legend-graph 2.0.0 → 2.0.3
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/graphManager/AbstractPureGraphManager.d.ts +4 -0
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +47 -2
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +170 -17
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/package.json +2 -2
- package/package.json +5 -5
- package/src/graphManager/AbstractPureGraphManager.ts +17 -0
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +292 -33
|
@@ -54,6 +54,8 @@ export interface TEMPORARY__EngineSetupConfig {
|
|
|
54
54
|
export interface GraphBuilderOptions {
|
|
55
55
|
TEMPORARY__keepSectionIndex?: boolean;
|
|
56
56
|
TEMPORARY__disableRawLambdaResolver?: boolean;
|
|
57
|
+
TEMPORARY_skipGraphBuilderPostProcessing?: boolean;
|
|
58
|
+
TEMPORARY_skipGeneratedElementsPostProcessing?: boolean;
|
|
57
59
|
}
|
|
58
60
|
export interface ExecutionOptions {
|
|
59
61
|
/**
|
|
@@ -151,6 +153,8 @@ export declare abstract class AbstractPureGraphManager {
|
|
|
151
153
|
abstract createQuery(query: Query, graph: PureModel): Promise<Query>;
|
|
152
154
|
abstract updateQuery(query: Query, graph: PureModel): Promise<Query>;
|
|
153
155
|
abstract deleteQuery(queryId: string): Promise<void>;
|
|
156
|
+
abstract buildGraphForCreateQuerySetup(graph: PureModel, entities: Entity[], dependencyEntitiesMap: Map<string, Entity[]>): Promise<void>;
|
|
157
|
+
abstract buildGraphForServiceQuerySetup(graph: PureModel, entities: Entity[], dependencyEntitiesMap: Map<string, Entity[]>): Promise<void>;
|
|
154
158
|
abstract buildDatabase(databaseBuilderInput: DatabaseBuilderInput): Promise<Entity[]>;
|
|
155
159
|
abstract buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
|
|
156
160
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPureGraphManager.d.ts","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,8BAA8B,EAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,KAAK,EACV,8BAA8B,EAC9B,UAAU,EACX,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4DAA4D,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAC;AAC3F,OAAO,KAAK,EACV,kCAAkC,EAClC,cAAc,EACf,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oGAAoG,CAAC;AACxJ,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AACjG,OAAO,KAAK,EACV,WAAW,EACX,GAAG,EACH,kBAAkB,EAClB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oFAAoF,CAAC;AAChI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,kBAAkB,GAAG;QACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAElC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,mCAAmC,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractPureGraphManager.d.ts","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPureGraphManager.js","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"AbstractPureGraphManager.js","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+EH,MAAM,OAAgB,wBAAwB;IAC5C,aAAa,CAAqB;IAClC,GAAG,CAAM;IAET,YAAY,aAAiC,EAAE,GAAQ;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAoSF"}
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
import { type GeneratorFn, type Log, type PlainObject, type ServerClientConfig, TracerService } from '@finos/legend-shared';
|
|
17
17
|
import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig';
|
|
18
18
|
import { AbstractPureGraphManager, type TEMPORARY__EngineSetupConfig, type GraphBuilderOptions, type ExecutionOptions } from '../../../../graphManager/AbstractPureGraphManager';
|
|
19
|
-
import
|
|
20
|
-
import type
|
|
19
|
+
import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
|
|
20
|
+
import { type Runtime } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
|
|
21
21
|
import type { ImportConfigurationDescription, ImportMode } from '../../../../graphManager/action/generation/ImportConfigurationDescription';
|
|
22
22
|
import type { PackageableElement } from '../../../metamodels/pure/packageableElements/PackageableElement';
|
|
23
23
|
import { type SystemModel, type CoreModel, PureModel } from '../../../../graph/PureModel';
|
|
24
|
+
import type { BasicModel } from '../../../../graph/BasicModel';
|
|
24
25
|
import type { DependencyManager } from '../../../../graph/DependencyManager';
|
|
25
26
|
import type { Class } from '../../../metamodels/pure/packageableElements/domain/Class';
|
|
26
27
|
import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda';
|
|
@@ -34,7 +35,23 @@ import type { ExecutionResult } from '../../../../graphManager/action/execution/
|
|
|
34
35
|
import type { GenerationOutput } from '../../../../graphManager/action/generation/GenerationOutput';
|
|
35
36
|
import type { ValueSpecification } from '../../../metamodels/pure/valueSpecification/ValueSpecification';
|
|
36
37
|
import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
|
|
38
|
+
import { type V1_PackageableElement } from './model/packageableElements/V1_PackageableElement';
|
|
37
39
|
import { V1_Engine } from './engine/V1_Engine';
|
|
40
|
+
import { V1_Profile } from './model/packageableElements/domain/V1_Profile';
|
|
41
|
+
import { V1_Class } from './model/packageableElements/domain/V1_Class';
|
|
42
|
+
import { V1_Enumeration } from './model/packageableElements/domain/V1_Enumeration';
|
|
43
|
+
import { V1_Association } from './model/packageableElements/domain/V1_Association';
|
|
44
|
+
import { V1_Measure } from './model/packageableElements/domain/V1_Measure';
|
|
45
|
+
import { V1_Store } from './model/packageableElements/store/V1_Store';
|
|
46
|
+
import { V1_Service } from './model/packageableElements/service/V1_Service';
|
|
47
|
+
import { V1_PackageableRuntime } from './model/packageableElements/runtime/V1_PackageableRuntime';
|
|
48
|
+
import { V1_PackageableConnection } from './model/packageableElements/connection/V1_PackageableConnection';
|
|
49
|
+
import { V1_FileGenerationSpecification } from './model/packageableElements/fileGeneration/V1_FileGenerationSpecification';
|
|
50
|
+
import { V1_SectionIndex } from './model/packageableElements/section/V1_SectionIndex';
|
|
51
|
+
import { V1_GenerationSpecification } from './model/packageableElements/generationSpecification/V1_GenerationSpecification';
|
|
52
|
+
import { V1_Mapping } from './model/packageableElements/mapping/V1_Mapping';
|
|
53
|
+
import { V1_ConcreteFunctionDefinition } from './model/packageableElements/function/V1_ConcreteFunctionDefinition';
|
|
54
|
+
import type { V1_ElementBuilder } from './transformation/pureGraph/to/V1_ElementBuilder';
|
|
38
55
|
import { V1_GraphBuilderExtensions } from './transformation/pureGraph/to/V1_GraphBuilderExtensions';
|
|
39
56
|
import type { DatabaseBuilderInput } from '../../../../graphManager/action/generation/DatabaseBuilderInput';
|
|
40
57
|
import type { RawRelationalOperationElement } from '../../../metamodels/pure/packageableElements/store/relational/model/RawRelationalOperationElement';
|
|
@@ -49,6 +66,30 @@ import type { QuerySearchSpecification } from '../../../../graphManager/action/q
|
|
|
49
66
|
import type { ExternalFormatDescription } from '../../../../graphManager/action/externalFormat/ExternalFormatDescription';
|
|
50
67
|
import type { ConfigurationProperty } from '../../../metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty';
|
|
51
68
|
import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
|
|
69
|
+
declare class V1_PureModelContextDataIndex {
|
|
70
|
+
elements: V1_PackageableElement[];
|
|
71
|
+
nativeElements: V1_PackageableElement[];
|
|
72
|
+
associations: V1_Association[];
|
|
73
|
+
classes: V1_Class[];
|
|
74
|
+
enumerations: V1_Enumeration[];
|
|
75
|
+
functions: V1_ConcreteFunctionDefinition[];
|
|
76
|
+
profiles: V1_Profile[];
|
|
77
|
+
measures: V1_Measure[];
|
|
78
|
+
stores: V1_Store[];
|
|
79
|
+
mappings: V1_Mapping[];
|
|
80
|
+
connections: V1_PackageableConnection[];
|
|
81
|
+
runtimes: V1_PackageableRuntime[];
|
|
82
|
+
sectionIndices: V1_SectionIndex[];
|
|
83
|
+
services: V1_Service[];
|
|
84
|
+
fileGenerations: V1_FileGenerationSpecification[];
|
|
85
|
+
generationSpecifications: V1_GenerationSpecification[];
|
|
86
|
+
otherElementsByBuilder: Map<V1_ElementBuilder<V1_PackageableElement>, V1_PackageableElement[]>;
|
|
87
|
+
}
|
|
88
|
+
interface V1_GraphBuilderInput {
|
|
89
|
+
model: BasicModel;
|
|
90
|
+
data: V1_PureModelContextDataIndex;
|
|
91
|
+
parentElementPath?: string | undefined;
|
|
92
|
+
}
|
|
52
93
|
export interface V1_EngineSetupConfig {
|
|
53
94
|
env: string;
|
|
54
95
|
tabSize: number;
|
|
@@ -139,6 +180,9 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
139
180
|
private createServiceRegistrationInput;
|
|
140
181
|
searchQueries(searchSpecification: QuerySearchSpecification): Promise<LightQuery[]>;
|
|
141
182
|
getLightQuery(queryId: string): Promise<LightQuery>;
|
|
183
|
+
indexEntitiesWithDependencyIntoGraph(graph: PureModel, _entities: Entity[], dependencyEntities: Map<string, Entity[]>, entityFilterFunc?: (entity: Entity) => boolean): Promise<V1_GraphBuilderInput[]>;
|
|
184
|
+
buildGraphForCreateQuerySetup(graph: PureModel, entities: Entity[], dependencyEntities: Map<string, Entity[]>): Promise<void>;
|
|
185
|
+
buildGraphForServiceQuerySetup(graph: PureModel, entities: Entity[], dependencyEntities: Map<string, Entity[]>): Promise<void>;
|
|
142
186
|
getQuery(queryId: string, graph: PureModel): Promise<Query>;
|
|
143
187
|
getQueryContent(queryId: string): Promise<string>;
|
|
144
188
|
createQuery(query: Query, graph: PureModel): Promise<Query>;
|
|
@@ -168,4 +212,5 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
168
212
|
HACKY_createServiceTestAssertLambda(assertData: string): RawLambda;
|
|
169
213
|
HACKY_extractServiceTestAssertionData(query: RawLambda): string | undefined;
|
|
170
214
|
}
|
|
215
|
+
export {};
|
|
171
216
|
//# sourceMappingURL=V1_PureGraphManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,aAAa,
|
|
1
|
+
{"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
import { flow, flowResult, makeObservable, runInAction } from 'mobx';
|
|
17
17
|
import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent';
|
|
18
18
|
import { CORE_PURE_PATH, ELEMENT_PATH_DELIMITER, ROOT_PACKAGE_NAME, SOURCE_INFORMATION_KEY, } from '../../../../MetaModelConst';
|
|
19
|
-
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, recursiveOmit, assertTrue, assertErrorThrown, promisify, StopWatch, } from '@finos/legend-shared';
|
|
19
|
+
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, recursiveOmit, assertTrue, assertErrorThrown, promisify, StopWatch, assertNonEmptyString, } from '@finos/legend-shared';
|
|
20
20
|
import { AbstractPureGraphManager, } from '../../../../graphManager/AbstractPureGraphManager';
|
|
21
|
+
import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
|
|
22
|
+
import { EngineRuntime, } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
|
|
21
23
|
import { PureModel, } from '../../../../graph/PureModel';
|
|
22
24
|
import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda';
|
|
23
25
|
import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
|
|
24
|
-
import { PureSingleExecution } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
|
|
26
|
+
import { KeyedExecutionParameter, PureMultiExecution, PureSingleExecution, } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
|
|
25
27
|
import { V1_deserializeRawValueSpecification, V1_serializeRawValueSpecification, } from './transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
|
|
26
28
|
import { V1_serializeValueSpecification, V1_deserializeValueSpecification, } from './transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer';
|
|
27
29
|
import V1_CORE_SYSTEM_MODELS from './V1_Core_SystemModels.json';
|
|
@@ -68,7 +70,7 @@ import { V1_transformRelationalDatabaseConnection } from './transformation/pureG
|
|
|
68
70
|
import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData';
|
|
69
71
|
import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database';
|
|
70
72
|
import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
|
|
71
|
-
import { V1_setupEngineRuntimeSerialization, V1_setupLegacyRuntimeSerialization, } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
|
|
73
|
+
import { V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE, V1_setupEngineRuntimeSerialization, V1_setupLegacyRuntimeSerialization, } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
|
|
72
74
|
import { V1_GraphTransformerContextBuilder } from './transformation/pureGraph/from/V1_GraphTransformerContext';
|
|
73
75
|
import { V1_transformExecutionNode, V1_transformExecutionPlan, } from './transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer';
|
|
74
76
|
import { V1_deserializeExecutionPlan, V1_serializeExecutionNode, V1_serializeExecutionPlan, } from './transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper';
|
|
@@ -77,9 +79,13 @@ import { V1_buildQuery, V1_buildServiceTestResult, V1_buildServiceRegistrationRe
|
|
|
77
79
|
import { V1_buildExecutionResult } from './engine/V1_ExecutionHelper';
|
|
78
80
|
import { ENTITY_PATH_DELIMITER, } from '@finos/legend-model-storage';
|
|
79
81
|
import { DependencyGraphBuilderError, GraphBuilderError, SystemGraphBuilderError, } from '../../../../graphManager/GraphManagerUtils';
|
|
80
|
-
import { PackageableElementReference } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
|
|
82
|
+
import { PackageableElementExplicitReference, PackageableElementReference, } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
|
|
81
83
|
import { V1_ExternalFormatModelGenerationInput } from './engine/externalFormat/V1_ExternalFormatModelGeneration';
|
|
82
84
|
import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
|
|
85
|
+
import { V1_PureMultiExecution, V1_PureSingleExecution, } from './model/packageableElements/service/V1_ServiceExecution';
|
|
86
|
+
import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
|
|
87
|
+
import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
|
|
88
|
+
import { MappingInclude } from '../../../metamodels/pure/packageableElements/mapping/MappingInclude';
|
|
83
89
|
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
84
90
|
const getMultiplicitySuffix = (multiplicity) => {
|
|
85
91
|
if (multiplicity.lowerBound === multiplicity.upperBound) {
|
|
@@ -481,9 +487,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
481
487
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_OTHER_ELEMENTS_BUILT);
|
|
482
488
|
// post-process
|
|
483
489
|
graphBuilderState.setMessage(`Post-processing graph...`);
|
|
484
|
-
yield flowResult(this.postProcess(graph, inputs,
|
|
485
|
-
TEMPORARY__keepSectionIndex: options?.TEMPORARY__keepSectionIndex,
|
|
486
|
-
}));
|
|
490
|
+
yield flowResult(this.postProcess(graph, inputs, options));
|
|
487
491
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_POST_PROCESSED);
|
|
488
492
|
}
|
|
489
493
|
getBuilderContext(graph, currentSubGraph, element, options) {
|
|
@@ -509,16 +513,28 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
509
513
|
* Run post-processers on elements of the graph.
|
|
510
514
|
*/
|
|
511
515
|
*postProcess(graph, inputs, options) {
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
element
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
}
|
|
521
|
-
}
|
|
516
|
+
if (!options?.TEMPORARY_skipGraphBuilderPostProcessing) {
|
|
517
|
+
yield Promise.all(inputs.flatMap((input) => input.data.elements.map((el) => promisify(() => runInAction(() => {
|
|
518
|
+
// TODO: check performance once `getNullableElement` is optimized
|
|
519
|
+
const element = graph.getElement(el.path);
|
|
520
|
+
const isElementReadOnly = Boolean(element.getRoot().path !== ROOT_PACKAGE_NAME.MAIN);
|
|
521
|
+
if (isElementReadOnly) {
|
|
522
|
+
element.freeze();
|
|
523
|
+
}
|
|
524
|
+
})))));
|
|
525
|
+
}
|
|
526
|
+
if (!options?.TEMPORARY_skipGeneratedElementsPostProcessing) {
|
|
527
|
+
// Assign generated elements to their parent generation element (config that drives generation)
|
|
528
|
+
yield Promise.all(inputs
|
|
529
|
+
.filter((input) => Boolean(input.parentElementPath))
|
|
530
|
+
.flatMap((input) => input.data.elements.map((el) => promisify(() => runInAction(() => {
|
|
531
|
+
// TODO: check performance once `getNullableElement` is optimized
|
|
532
|
+
const element = graph.getElement(el.path);
|
|
533
|
+
if (input.parentElementPath) {
|
|
534
|
+
element.generationParentElement = graph.getElement(input.parentElementPath);
|
|
535
|
+
}
|
|
536
|
+
})))));
|
|
537
|
+
}
|
|
522
538
|
/**
|
|
523
539
|
* For now, we delete the section index. We are able to read both resolved and unresolved element paths
|
|
524
540
|
* but when we write (serialize) we write only resolved paths. In the future once the issue with dependency is solved we will
|
|
@@ -871,6 +887,143 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
871
887
|
async getLightQuery(queryId) {
|
|
872
888
|
return V1_buildLightQuery(await this.engine.getQuery(queryId), this.engine.getEngineServerClient().currentUserId);
|
|
873
889
|
}
|
|
890
|
+
async indexEntitiesWithDependencyIntoGraph(graph, _entities, dependencyEntities, entityFilterFunc) {
|
|
891
|
+
let entities = _entities;
|
|
892
|
+
graph.dependencyManager.initialize(dependencyEntities);
|
|
893
|
+
if (entityFilterFunc) {
|
|
894
|
+
Array.from(dependencyEntities.entries()).forEach(([dependencyKey, dEntities]) => {
|
|
895
|
+
dependencyEntities.set(dependencyKey, dEntities.filter(entityFilterFunc));
|
|
896
|
+
});
|
|
897
|
+
entities = _entities.filter(entityFilterFunc);
|
|
898
|
+
}
|
|
899
|
+
const report = new GraphBuilderReport();
|
|
900
|
+
// build dependency pmcd models
|
|
901
|
+
const dependencyDataMap = new Map();
|
|
902
|
+
await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
903
|
+
const projectModelData = new V1_PureModelContextData();
|
|
904
|
+
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
905
|
+
return V1_entitiesToPureModelContextData(value, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
906
|
+
}));
|
|
907
|
+
const dependencyGraphBuilderInput = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
908
|
+
data: indexPureModelContextData(report, dependencyData, this.extensions),
|
|
909
|
+
model: graph.dependencyManager.getModel(dependencyKey),
|
|
910
|
+
}));
|
|
911
|
+
// build main pmcd
|
|
912
|
+
const data = new V1_PureModelContextData();
|
|
913
|
+
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
914
|
+
const mainGraphBuilderInput = [
|
|
915
|
+
{
|
|
916
|
+
model: graph,
|
|
917
|
+
data: indexPureModelContextData(report, data, this.extensions),
|
|
918
|
+
},
|
|
919
|
+
];
|
|
920
|
+
const graphBuilderInput = [
|
|
921
|
+
...dependencyGraphBuilderInput,
|
|
922
|
+
...mainGraphBuilderInput,
|
|
923
|
+
];
|
|
924
|
+
await flowResult(this.initializeAndIndexElements(graph, graphBuilderInput));
|
|
925
|
+
return graphBuilderInput;
|
|
926
|
+
}
|
|
927
|
+
// We could optimize this further by omitting parts of the entities we don't need
|
|
928
|
+
async buildGraphForCreateQuerySetup(graph, entities, dependencyEntities) {
|
|
929
|
+
try {
|
|
930
|
+
const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(graph, entities, dependencyEntities, (entity) => entity.content
|
|
931
|
+
._type === V1_MAPPING_ELEMENT_PROTOCOL_TYPE ||
|
|
932
|
+
entity.content
|
|
933
|
+
._type === V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE);
|
|
934
|
+
// handle mapping includes
|
|
935
|
+
const mappings = [
|
|
936
|
+
...graph.ownMappings,
|
|
937
|
+
...graph.dependencyManager.mappings,
|
|
938
|
+
];
|
|
939
|
+
const v1Mappings = graphBuilderInput
|
|
940
|
+
.map((e) => e.data.elements.filter((type) => type instanceof V1_Mapping))
|
|
941
|
+
.flat();
|
|
942
|
+
const context = new V1_GraphBuilderContextBuilder(graph, graph, this.extensions, this.log).build();
|
|
943
|
+
// build include index for compatible runtime analysis
|
|
944
|
+
v1Mappings.forEach((element) => {
|
|
945
|
+
const mapping = mappings.find((e) => e.path === element.path);
|
|
946
|
+
if (mapping) {
|
|
947
|
+
mapping.includes = element.includedMappings.map((i) => {
|
|
948
|
+
assertNonEmptyString(i.includedMappingPath, `Mapping include 'includedMappingPath' field is missing or empty`);
|
|
949
|
+
return new MappingInclude(mapping, context.resolveMapping(i.includedMappingPath));
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
});
|
|
953
|
+
// handle runtimes
|
|
954
|
+
const runtimes = [
|
|
955
|
+
...graph.ownRuntimes,
|
|
956
|
+
...graph.dependencyManager.runtimes,
|
|
957
|
+
];
|
|
958
|
+
const v1Runtimes = graphBuilderInput
|
|
959
|
+
.map((e) => e.data.elements.filter((type) => type instanceof V1_PackageableRuntime))
|
|
960
|
+
.flat();
|
|
961
|
+
v1Runtimes.forEach((element) => {
|
|
962
|
+
const runtime = runtimes.find((e) => e.path === element.path);
|
|
963
|
+
if (runtime) {
|
|
964
|
+
const runtimeValue = new EngineRuntime();
|
|
965
|
+
runtime.setRuntimeValue(runtimeValue);
|
|
966
|
+
runtimeValue.setMappings(element.runtimeValue.mappings.map((mapping) => context.resolveMapping(mapping.path)));
|
|
967
|
+
}
|
|
968
|
+
});
|
|
969
|
+
graph.buildState.pass();
|
|
970
|
+
}
|
|
971
|
+
catch (error) {
|
|
972
|
+
assertErrorThrown(error);
|
|
973
|
+
graph.buildState.fail();
|
|
974
|
+
/**
|
|
975
|
+
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
976
|
+
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
977
|
+
*/
|
|
978
|
+
throw error instanceof GraphBuilderError
|
|
979
|
+
? error
|
|
980
|
+
: new GraphBuilderError(error);
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
// We could optimize this further by omitting parts of the entities we don't need
|
|
984
|
+
// i.e service entity would only keep execution
|
|
985
|
+
async buildGraphForServiceQuerySetup(graph, entities, dependencyEntities) {
|
|
986
|
+
try {
|
|
987
|
+
const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(graph, entities, dependencyEntities, (entity) => entity.content
|
|
988
|
+
._type === V1_SERVICE_ELEMENT_PROTOCOL_TYPE);
|
|
989
|
+
// handle servicess
|
|
990
|
+
const services = [
|
|
991
|
+
...graph.ownServices,
|
|
992
|
+
...graph.dependencyManager.services,
|
|
993
|
+
];
|
|
994
|
+
const v1Services = graphBuilderInput
|
|
995
|
+
.map((e) => e.data.elements.filter((type) => type instanceof V1_Service))
|
|
996
|
+
.flat();
|
|
997
|
+
// build service multi execution keys
|
|
998
|
+
v1Services.forEach((element) => {
|
|
999
|
+
const service = services.find((e) => e.path === element.path);
|
|
1000
|
+
if (service) {
|
|
1001
|
+
const serviceExecution = element.execution;
|
|
1002
|
+
if (serviceExecution instanceof V1_PureMultiExecution) {
|
|
1003
|
+
const execution = new PureMultiExecution(serviceExecution.executionKey, RawLambda.createStub(), service);
|
|
1004
|
+
execution.executionParameters =
|
|
1005
|
+
serviceExecution.executionParameters.map((keyedExecutionParameter) => new KeyedExecutionParameter(keyedExecutionParameter.key, PackageableElementExplicitReference.create(new Mapping('')), new EngineRuntime()));
|
|
1006
|
+
service.setExecution(execution);
|
|
1007
|
+
}
|
|
1008
|
+
else if (serviceExecution instanceof V1_PureSingleExecution) {
|
|
1009
|
+
service.setExecution(new PureSingleExecution(RawLambda.createStub(), service, PackageableElementExplicitReference.create(new Mapping('')), new EngineRuntime()));
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
});
|
|
1013
|
+
graph.buildState.pass();
|
|
1014
|
+
}
|
|
1015
|
+
catch (error) {
|
|
1016
|
+
assertErrorThrown(error);
|
|
1017
|
+
graph.buildState.fail();
|
|
1018
|
+
/**
|
|
1019
|
+
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
1020
|
+
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
1021
|
+
*/
|
|
1022
|
+
throw error instanceof GraphBuilderError
|
|
1023
|
+
? error
|
|
1024
|
+
: new GraphBuilderError(error);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
874
1027
|
async getQuery(queryId, graph) {
|
|
875
1028
|
return V1_buildQuery(await this.engine.getQuery(queryId), graph, this.engine.getEngineServerClient().currentUserId);
|
|
876
1029
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAML,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,SAAS,EAET,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,GAIzB,MAAM,mDAAmD,CAAC;AAQ3D,OAAO,EAGL,SAAS,GACV,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,SAAS,EAAE,MAAM,0DAA0D,CAAC;AAarF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAC5G,OAAO,EACL,mCAAmC,EACnC,iCAAiC,GAClC,MAAM,gGAAgG,CAAC;AACxG,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,oFAAoF,CAAC;AAC5F,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAGL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,2CAA2C,EAAE,MAAM,2EAA2E,CAAC;AACxI,OAAO,EAAE,4CAA4C,EAAE,MAAM,4EAA4E,CAAC;AAC1I,OAAO,EAAE,2CAA2C,EAAE,MAAM,2EAA2E,CAAC;AACxI,OAAO,EAAE,4CAA4C,EAAE,MAAM,4EAA4E,CAAC;AAC1I,OAAO,EAAE,2CAA2C,EAAE,MAAM,2EAA2E,CAAC;AACxI,OAAO,EAAE,kDAAkD,EAAE,MAAM,kFAAkF,CAAC;AACtJ,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAClG,OAAO,EAEL,6BAA6B,GAC9B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,kEAAkE,CAAC;AACpH,OAAO,EACL,qBAAqB,EACrB,mCAAmC,GACpC,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0EAA0E,CAAC;AACtH,OAAO,EAAE,kCAAkC,EAAE,MAAM,kEAAkE,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iEAAiE,CAAC;AAC3G,OAAO,EAAE,8BAA8B,EAAE,MAAM,2EAA2E,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gFAAgF,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAKpG,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,yCAAyC,EACzC,iBAAiB,GAClB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wCAAwC,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,gEAAgE,CAAC;AAG7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,mFAAmF,CAAC;AAClI,OAAO,EACL,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,kFAAkF,CAAC;AAG1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,4DAA4D,CAAC;AAQ/G,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sGAAsG,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAK9F,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iCAAiC,EACjC,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAEL,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0EAA0E,CAAC;AAKvH,OAAO,EAAE,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,MAAM,wCAAwC,GAAG,MAAM,CAAC;AAExD,MAAM,qBAAqB,GAAG,CAAC,YAA6B,EAAU,EAAE;IACtE,IAAI,YAAY,CAAC,UAAU,KAAK,YAAY,CAAC,UAAU,EAAE;QACvD,OAAO,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC3C;SAAM,IACL,YAAY,CAAC,UAAU,KAAK,CAAC;QAC7B,YAAY,CAAC,UAAU,KAAK,SAAS,EACrC;QACA,OAAO,wCAAwC,CAAC;KACjD;IACD,OAAO,IAAI,YAAY,CAAC,UAAU,IAChC,YAAY,CAAC,UAAU,IAAI,wCAC7B,GAAG,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAAwB,EAAU,EAAE,CAC7D,GAAG,QAAQ,CAAC,KAAK;KACd,KAAK,CAAC,sBAAsB,CAAC;KAC7B,GAAG,EAAE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC;AAE9D,MAAM,iBAAiB,GAAG,CAAC,EAAiC,EAAU,EAAE,CACtE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU;KACzE,KAAK,CAAC,sBAAsB,CAAC;KAC7B,GAAG,EAAE,IAAI,qBAAqB,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAE9D,MAAM,4BAA4B;IAChC,QAAQ,GAA4B,EAAE,CAAC;IACvC,cAAc,GAA4B,EAAE,CAAC;IAE7C,YAAY,GAAqB,EAAE,CAAC;IACpC,OAAO,GAAe,EAAE,CAAC;IACzB,YAAY,GAAqB,EAAE,CAAC;IACpC,SAAS,GAAoC,EAAE,CAAC;IAChD,QAAQ,GAAiB,EAAE,CAAC;IAC5B,QAAQ,GAAiB,EAAE,CAAC;IAE5B,MAAM,GAAe,EAAE,CAAC;IACxB,QAAQ,GAAiB,EAAE,CAAC;IAC5B,WAAW,GAA+B,EAAE,CAAC;IAC7C,QAAQ,GAA4B,EAAE,CAAC;IAEvC,cAAc,GAAsB,EAAE,CAAC;IAEvC,QAAQ,GAAiB,EAAE,CAAC;IAE5B,eAAe,GAAqC,EAAE,CAAC;IACvD,wBAAwB,GAAiC,EAAE,CAAC;IAE5D,sBAAsB,GAGlB,IAAI,GAAG,EAGR,CAAC;CACL;AAED,MAAM,yBAAyB,GAAG,CAChC,GAAG,IAA+B,EACT,EAAE;IAC3B,MAAM,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;QACxB,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QAClE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;KACvD;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,MAA0B,EAC1B,IAA6B,EAC7B,UAAqC,EACP,EAAE;IAChC,MAAM,KAAK,GAAG,IAAI,4BAA4B,EAAE,CAAC;IACjD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAGjC,CAAC;IACJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3B,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,IAAI,EAAE,YAAY,cAAc,EAAE;YAChC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;aAAM,IAAI,EAAE,YAAY,QAAQ,EAAE;YACjC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxB;aAAM,IAAI,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;aAAM,IAAI,EAAE,YAAY,6BAA6B,EAAE;YACtD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1B;aAAM,IAAI,EAAE,YAAY,UAAU,EAAE;YACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzB;aAAM,IAAI,EAAE,YAAY,UAAU,EAAE;YACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzB;aAAM,IAAI,EAAE,YAAY,UAAU,EAAE;YACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzB;aAAM,IAAI,EAAE,YAAY,wBAAwB,EAAE;YACjD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;aAAM,IAAI,EAAE,YAAY,qBAAqB,EAAE;YAC9C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzB;aAAM,IAAI,EAAE,YAAY,QAAQ,EAAE;YACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvB;aAAM,IAAI,EAAE,YAAY,eAAe,EAAE;YACxC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/B;aAAM,IAAI,EAAE,YAAY,UAAU,EAAE;YACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzB;aAAM,IAAI,EAAE,YAAY,8BAA8B,EAAE;YACvD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChC;aAAM,IAAI,EAAE,YAAY,0BAA0B,EAAE;YACnD,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzC;aAAM;YACL,MAAM,KAAK,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;YAClD,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3C;iBAAM;gBACL,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACvC;YACD,uBAAuB,GAAG,IAAI,CAAC;SAChC;QACD,IAAI,CAAC,uBAAuB,EAAE;YAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IACH,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,UAAU,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC;QAC1E,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAC9B,OAAO,EACP,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9E,MAAM,CAAC,YAAY,CAAC,KAAK;QACvB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC;YAChC,oBAAoB,CAAC,IAAI;YACzB,KAAK,CAAC,eAAe,CAAC,MAAM;YAC5B,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;IACxC,MAAM,CAAC,YAAY,CAAC,YAAY;QAC9B,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;IAExE,MAAM,CAAC,YAAY,CAAC,WAAW;QAC7B,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;IACrE,MAAM,CAAC,YAAY,CAAC,KAAK;QACvB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1D,MAAM,CAAC,YAAY,CAAC,WAAW;QAC7B,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;IACrE,MAAM,CAAC,YAAY,CAAC,QAAQ;QAC1B,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/D,MAAM,CAAC,YAAY,CAAC,OAAO;QACzB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7D,MAAM,CAAC,YAAY,CAAC,OAAO;QACzB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE7D,MAAM,CAAC,YAAY,CAAC,KAAK;QACvB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,CAAC,YAAY,CAAC,OAAO;QACzB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7D,MAAM,CAAC,YAAY,CAAC,UAAU;QAC5B,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;IACnE,MAAM,CAAC,YAAY,CAAC,OAAO;QACzB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE7D,MAAM,CAAC,YAAY,CAAC,OAAO;QACzB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE7D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAiBF,MAAM,OAAO,mBAAoB,SAAQ,wBAAwB;IAC/D,MAAM,CAAa;IACnB,UAAU,CAA4B;IAEtC,YAAY,aAAiC,EAAE,GAAQ;QACrD,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE1B,cAAc,CAcZ,IAAI,EAAE;YACN,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,IAAI;YACtB,0BAA0B,EAAE,IAAI;YAChC,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,2BAA2B,EAAE,IAAI;YACjC,mBAAmB,EAAE,IAAI;YACzB,kBAAkB,EAAE,IAAI;YACxB,aAAa,EAAE,IAAI;YACnB,oBAAoB,EAAE,IAAI;YAC1B,6BAA6B,EAAE,IAAI;SACpC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,yBAAyB,CAC7C,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,8BAA8B;QAC9B,yCAAyC,CACvC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,6BAA6B,CAC3B,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,kCAAkC,CAChC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,kCAAkC,CAChC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,yCAAyC,CACvC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,CAAC,UAAU,CACT,MAAoC,EACpC,OAEC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;aACR,qBAAqB,EAAE;aACvB,gBAAgB,CAAC,OAAO,EAAE,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,4GAA4G;IAE5G,CAAC,WAAW,CACV,SAAoB,EACpB,WAAwB,EACxB,OAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC;QACjD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE1B,+GAA+G;QAC/G,MAAM,KAAK,GAAG,IAAI,SAAS,CACzB,SAAS,EACT,WAAW,EACX,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CACzC,CAAC;QAEF,IAAI;YACF,cAAc;YACd,iBAAiB,CAAC,UAAU,CAAC,0CAA0C,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,yBAAyB,CAC1C,kCAAkC,CAAC,qBAAqB,CAAC,EACzD,GAAG,IAAI,CAAC,aAAa;iBAClB,+BAA+B,EAAE;iBACjC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC;iBAC7D,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACxB,kCAAkC,CAAC,gBAAgB,CAAC,CACrD,CACJ,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YAE1E,uBAAuB;YACvB,MAAM,WAAW,GAAG;gBAClB;oBACE,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;iBACrE;aACF,CAAC;YAEF,QAAQ;YACR,MAAM,UAAU,CACd,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,CACR,CACF,CAAC;YAEF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;gBACxC,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,OAAO;aACjE,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAC3D,CAAC;YACF,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;SAC1C;gBAAS;YACR,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,CAAC,iBAAiB,CAChB,SAAoB,EACpB,WAAwB,EACxB,iBAAoC,EACpC,qBAA4C,EAC5C,OAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC;QACvD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE1B,kHAAkH;QAClH,MAAM,KAAK,GAAG,IAAI,SAAS,CACzB,SAAS,EACT,WAAW,EACX,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CACzC,CAAC;QACF,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAE9C,IAAI;YACF,iBAAiB,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAEpD,cAAc;YACd,iBAAiB,CAAC,UAAU,CAC1B,4CAA4C,CAC7C,CAAC;YACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;YACrE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC7C,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;gBACvD,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;gBACvD,OAAO,iCAAiC,CACtC,QAAQ,EACR,gBAAgB,EAChB,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;YACJ,CAAC,CACF,CACF,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YAE1E,uBAAuB;YACvB,MAAM,WAAW,GAA2B,KAAK,CAAC,IAAI,CACpD,iBAAiB,CAAC,OAAO,EAAE,CAC5B,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,yBAAyB,CAC7B,MAAM,EACN,cAAc,EACd,IAAI,CAAC,UAAU,CAChB;gBACD,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC;aACvD,CAAC,CAAC,CAAC;YAEJ,QAAQ;YACR,MAAM,UAAU,CACd,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,CACR,CACF,CAAC;YAEF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC5D,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;gBACxC,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,OAAO;aACjE,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAC3D,CAAC;YACF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC;SAC9C;gBAAS;YACR,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,CAAC,UAAU,CACT,KAAgB,EAChB,QAAkB,EAClB,OAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC;QAC3C,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI;YACF,cAAc;YACd,iBAAiB,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,iCAAiC,CACrC,QAAQ,EACR,IAAI,EACJ,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YAE1E,uBAAuB;YACvB,MAAM,WAAW,GAA2B;gBAC1C;oBACE,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;iBAC/D;aACF,CAAC;YAEF,QAAQ;YACR,MAAM,UAAU,CACd,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,CACR,CACF,CAAC;YAEF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;gBACxC,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,OAAO;aACjE,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAC3D,CAAC;YACF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB;;;eAGG;YACH,MAAM,KAAK,YAAY,iBAAiB;gBACtC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAClC;gBAAS;YACR,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,CAAC,gBAAgB,CACf,KAAgB,EAChB,iBAAwC,EACxC,OAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,UAAU,CAAC;QACpD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI;YACF,cAAc;YACd,iBAAiB,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmC,CAAC;YACpE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACzC,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACnC,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;gBACpD,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;gBAC1D,OAAO,iCAAiC,CACtC,QAAQ,EACR,aAAa,EACb,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;YACJ,CAAC,CACF,CACF,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YAE1E,uBAAuB;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC5D,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,iBAAiB,EAAE,oBAAoB;gBACvC,IAAI,EAAE,yBAAyB,CAC7B,MAAM,EACN,aAAa,EACb,IAAI,CAAC,UAAU,CAChB;gBACD,KAAK,EAAE,cAAc;aACtB,CAAC,CACH,CAAC;YAEF,QAAQ;YACR,MAAM,UAAU,CACd,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,CACR,CACF,CAAC;YAEF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAC1D,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;gBACxC,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,OAAO;aACjE,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAC3D,CAAC;YACF,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB;;;eAGG;YACH,MAAM,KAAK,YAAY,iBAAiB;gBACtC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAClC;gBAAS;YACR,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAEO,CAAC,oBAAoB,CAC3B,KAAgB,EAChB,MAA8B,EAC9B,MAA0B,EAC1B,SAAoB,EACpB,iBAA8B,EAC9B,OAA6B;QAE7B,QAAQ;QACR,iBAAiB,CAAC,UAAU,CAC1B,YAAY,MAAM,CAAC,YAAY,CAAC,KAAK,cAAc,CACpD,CAAC;QACF,MAAM,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;QAErE,sBAAsB;QACtB,iBAAiB,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC5D,MAAM,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;QAE1E,cAAc;QACd,iBAAiB,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;QAExE,eAAe;QACf,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAEjE,iBAAiB;QACjB,iBAAiB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;QAEnE,iCAAiC;QACjC,iBAAiB,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACrE,MAAM,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,SAAS,CAAC,MAAM,CACd,mBAAmB,CAAC,4CAA4C,CACjE,CAAC;QAEF,iBAAiB;QACjB,iBAAiB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;QAEnE,uBAAuB;QACvB,iBAAiB,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAC3D,MAAM,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,CACd,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAC3D,CAAC;QACF,MAAM,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,CAAC;QAEzE,eAAe;QACf,iBAAiB,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QACzD,MAAM,UAAU,CACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;YAC9B,2BAA2B,EAAE,OAAO,EAAE,2BAA2B;SAClE,CAAC,CACH,CAAC;QACF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IACrE,CAAC;IAEO,iBAAiB,CACvB,KAAgB,EAChB,eAA2B,EAC3B,OAA8B,EAC9B,OAA6B;QAE7B,OAAO,IAAI,6BAA6B,CACtC,KAAK,EACL,eAAe,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,EACR,OAAO,CACR;aACE,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACK,CAAC,0BAA0B,CACjC,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/D,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,CACR,CACF,CACF,CACJ,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,CAAC,WAAW,CAClB,KAAgB,EAChB,MAA8B,EAC9B,OAIa;QAEb,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7B,SAAS,CAAC,GAAG,EAAE,CACb,WAAW,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBAC3B,OAAO,CAAC,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAChD,KAAK,CAAC,iBAAiB,CACxB,CAAC;aACH;YACD,MAAM,iBAAiB,GAAG,OAAO,CAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,CAClD,CAAC;YACF,IAAI,iBAAiB,EAAE;gBACrB,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;QACH,CAAC,CAAC,CACH,CACF,CACF,CACF,CAAC;QACF;;;;WAIG;QACH,IAAI,CAAC,OAAO,EAAE,2BAA2B,EAAE;YACzC,KAAK,CAAC,gCAAgC,EAAE,CAAC;SAC1C;IACH,CAAC;IAEO,CAAC,UAAU,CACjB,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,cAAc;QACd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,aAAa;QACb,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,aAAa;QACb,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,WAAW,CAClB,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,aAAa,CACpB,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,2BAA2B,CAClC,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,kDAAkD;QAClD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,aAAa,CACpB,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,oBAAoB,CAC3B,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACzC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,6BAA6B,CACpC,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClD,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,mBAAmB,CAC1B,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CACF,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAEO,CAAC,kBAAkB,CACzB,KAAgB,EAChB,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/D,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,CACR,CACF,CACF,CACJ,CACF,CACF,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,CACR,CACF,CACF,CACJ,CACF,CACF,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,4CAA4C,CAC9C,IAAI,CAAC,iBAAiB,CACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,CACR,CACF,CACF,CACJ,CACF,CACF,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,2CAA2C,CAC7C,IAAI,CAAC,iBAAiB,CACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,CACR,CACF,CACF,CACJ,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,OAA8B,EAC9B,OAAwC;QAExC,IAAI;YACF,OAAO,SAAS,CAAC,GAAG,EAAE,CACpB,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,KAAK,GACT,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtE,KAAK,CAAC,OAAO,GAAG,6BAA6B,OAAO,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7E,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,sGAAsG;IAEtG,KAAK,CAAC,eAAe,CAAC,KAAgB;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACpE,SAAS,CACV,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,EACvE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,IAAI,CACL,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACpE,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CACpD,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,EACvE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,IAAI,CACL,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,IAAY,EACZ,OAEC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,CAAC,EAAE,EAAE,EAAE,CACL,OAAO,EAAE,2BAA2B;YACpC,CAAC,CAAC,EAAE,YAAY,eAAe,CAAC,CACnC,CAAC;QACF,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,QAAQ,GAAG,eAAe;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAiB,EACjB,QAAQ,GAAG,eAAe,EAC1B,MAAgB;QAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,oBAAoB,CACzB,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,iBAAiB,CACf,OAA+B,EAC/B,MAAgB;QAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CACvC,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,EACpD,MAAM,CACP,CAAC;IACJ,CAAC;IAED,oCAAoC,CAClC,SAAiB,EACjB,WAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,6CAA6C,CAC9D,SAAS,EACT,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,oCAAoC,CAClC,UAAsD;QAEtD,OAAO,IAAI,CAAC,MAAM,CAAC,8CAA8C,CAC/D,UAAU,CACX,CAAC;IACJ,CAAC;IAED,kGAAkG;IAElG,KAAK,CAAC,YAAY,CAChB,KAAgB,EAChB,OAKa;QAEb,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAC3C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;YAChC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;SACtD,CAAC,EACF;YACE,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,YAAoB,EACpB,KAAgB,EAChB,OAAkC;QAElC,OAAO,IAAI,CAAC,8BAA8B,CACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,YAAY,EACZ,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAClC,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CACjB,MAAiB,EACjB,KAAgB,EAChB,OAA6C;QAE7C,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CACpC,MAAM,CAAC,mCAAmC,CACxC,IAAI,mCAAmC,CACrC,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD;aACE,6BAA6B,CAC5B,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACxC;aACA,KAAK,EAAE,CACX,CACc,EACjB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAClC,CAAC;IACJ,CAAC;IAED,qGAAqG;IAErG,+CAA+C;QAG7C,OAAO,IAAI,CAAC,MAAM,CAAC,+CAA+C,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,cAA2C,EAC3C,cAA8B,EAC9B,KAAgB;QAEhB,MAAM,MAAM,GAAiC,EAAE,CAAC;QAChD,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAClE,OAAO,YAAY,2BAA2B;YAC5C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;YACpB,CAAC,CAAC,OAAO,CACZ,CAAC;QACF,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAqC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,OAAO,CACL,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC5B,MAAM,EACN,cAAc,CAAC,IAAI,EACnB,cAAc,EACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAClC,CACF,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,iBAAqC,EACrC,KAAgB;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,cAAc,GAAwC,SAAS,CAAC;QACpE,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa;aAC5C,+BAA+B,EAAE;aACjC,OAAO,CACN,CAAC,MAAM,EAAE,EAAE,CAEP,MACD,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CACzC,CAAC;QACJ,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,MAAM,EAAE;gBACV,cAAc,GAAG,MAAM,CAAC;gBACxB,MAAM;aACP;SACF;QACD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,yBAAyB,CACjC,6GAA6G,EAC7G,iBAAiB,CAClB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,6GAA6G;IAE7G,uBAAuB,CACrB,IAAkC,EAClC,KAAgB;QAEhB,OAAO,0BAA0B,CAC/B,gCAAgC,CAAC,IAAI,CAAC,EACtC,IAAI,6BAA6B,CAC/B,KAAK,EACL,KAAK,EACL,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,CACT,CAAC,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,2BAA2B,CACzB,kBAAsC;QAEtC,OAAO,8BAA8B,CACnC,kCAAkC,CAAC,kBAAkB,CAAC,CACvB,CAAC;IACpC,CAAC;IAED,0BAA0B,CACxB,kBAAsC,EACtC,KAAgB;QAEhB,8BAA8B;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;QAClE,uDAAuD;QACvD,MAAM,qBAAqB,GAAG,mCAAmC,CAAC,IAAI,CAAC,CAAC;QACxE,OAAO,qBAAqB,CAAC,mCAAmC,CAC9D,IAAI,kDAAkD,CACpD,IAAI,6BAA6B,CAC/B,KAAK,EACL,KAAK,EACL,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,CACT,CAAC,KAAK,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,8BAA8B,CAC5B,SAAgC;QAEhC,OAAO,iCAAiC,CACtC,SAAS,CAAC,mCAAmC,CAC3C,IAAI,mCAAmC,CACrC,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CACF,CACF,CAAC;IACJ,CAAC;IAED,+FAA+F;IAC/F,uCAAuC;QAGrC,OAAO,IAAI,CAAC,MAAM,CAAC,uCAAuC,EAAE,CAAC;IAC/D,CAAC;IAED,+BAA+B,CAC7B,uBAAgD,EAChD,KAAgB;QAEhB,MAAM,MAAM,GAAiC,EAAE,CAAC;QAChD,uBAAuB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAqC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,qCAAqC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,iGAAiG;IAEjG,2CAA2C;QAGzC,OAAO,IAAI,CAAC,MAAM,CAAC,2CAA2C,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,IAAY,EACZ,IAAY,EACZ,IAAgB;QAEhB,OAAO,IAAI,CAAC,8BAA8B,CACxC,MAAM,IAAI,CAAC,MAAM,CAAC,iCAAiC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,uBAAuB,EAAE,EAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC3B,CAAC;IACJ,CAAC;IAED,kCAAkC;QAChC,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE;gBACP;oBACE,QAAQ,EAAE,mBAAmB;oBAC7B,OAAO,EAAE,mBAAmB;iBAC7B;aACF;SACoC,EACvC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,QAAkB;QACjD,OAAO,IAAI,CAAC,SAAS,CACnB,4BAA4B,CAC1B,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CACpD,EACD,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC3B,CAAC;IACJ,CAAC;IAED,0BAA0B,GAAG,CAAC,QAAgB,EAAY,EAAE;QAC1D,MAAM,SAAS,GAAG,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,wGAAwG;IAEhG,oBAAoB,GAAG,CAC7B,KAAgB,EAChB,OAAgB,EAChB,MAAiB,EACjB,OAAgB,EAChB,aAAqB,EACJ,EAAE;QACnB;;;;;;;;;;;;;WAaG;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtD,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa;aAC9C,+BAA+B,EAAE;aACjC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC;aACxE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACnE,eAAe,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;aAC1C,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,YAAY,QAAQ;YAC3B,OAAO,YAAY,cAAc;YACjC,OAAO,YAAY,UAAU;YAC7B,OAAO,YAAY,cAAc;YACjC,OAAO,YAAY,6BAA6B;YAChD,OAAO,YAAY,UAAU;YAC7B,OAAO,YAAY,QAAQ;YAC3B,OAAO,YAAY,wBAAwB;YAC3C,OAAO,YAAY,qBAAqB;YACxC,OAAO,YAAY,UAAU,CAChC;aACA,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAClC,8JAA8J;QAC9J,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;QAC3C,YAAY,CAAC,QAAQ,GAAG,qBAAqB,CAC3C,MAAM,EACN,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CAAC;QACF,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACpC,YAAY,CAAC,OAAO,GAAG,mBAAmB,CACxC,OAAO,EACP,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CAAC;QACF,YAAY,CAAC,KAAK,GAAG,eAAe,CAAC;QACrC,YAAY,CAAC,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC,CAAC,+CAA+C;QACxG,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,KAAK,CAAC,cAAc,CAClB,KAAgB,EAChB,OAAgB,EAChB,MAAiB,EACjB,OAAgB,EAChB,aAAqB,EACrB,OAA0B;QAE1B,OAAO,uBAAuB,CAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAC9B,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,aAAa,CACd,EACD,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,uBAAuB,CACrB,KAAgB,EAChB,OAAgB,EAChB,MAAiB,EACjB,OAAgB,EAChB,aAAqB;QAErB,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,KAAgB,EAChB,OAAgB,EAChB,MAAiB,EACjB,OAAgB,EAChB,aAAqB;QAErB,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CACtC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,kBAAkB,CAChB,iBAAgD,EAChD,KAAgB;QAEhB,OAAO,qBAAqB,CAC1B,2BAA2B,CAAC,iBAAiB,CAAC,EAC9C,IAAI,6BAA6B,CAC/B,KAAK,EACL,KAAK,EACL,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,CACT,CAAC,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,aAA4B;QAE5B,OAAO,yBAAyB,CAC9B,yBAAyB,CACvB,aAAa,EACb,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,aAA4B;QAE5B,OAAO,yBAAyB,CAC9B,yBAAyB,CACvB,aAAa,EACb,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,sGAAsG;IAEtG,KAAK,CAAC,eAAe,CACnB,OAAgB,EAChB,KAAgB;QAEhB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,oBAAoB,CACxC,aAAa,CAAC,QAAQ;aACnB,MAAM,CACL,CAAC,OAA8B,EAAyB,EAAE,CACxD,OAAO,YAAY,UAAU,CAChC;aACA,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EACnD,oCAAoC,OAAO,CAAC,IAAI,aAAa,CAC9D,CAAC;QACF,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,UAAU,CAAC,CAC9C,CAAC;QACF,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAC3D,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAgB,EAChB,OAAgB,EAChB,QAAgB,EAChB,UAAkB,EAClB,MAAc,EACd,aAAmC,EACnC,OAA2B;QAE3B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACnE,QAAQ;QACR,IAAI,KAA0B,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,WAAW,CAC9B,MAAM,EACN,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAC7C,CAAC;QACF,QAAQ,aAAa,EAAE;YACrB,KAAK,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBACvD,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACnE,OAAO;gBACP,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAa,OAAO,CAAC,CAAC,CAAC;gBAC9D,YAAY;gBACZ,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,IAAI,SAAS,YAAY,mBAAmB,EAAE;oBAC5C,QAAQ,CAAC,0BAA0B,GAAG;wBACpC,IAAI,4BAA4B,CAC9B,gCAAgC,CAAC,OAAO,EACxC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAC7B;qBACF,CAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,yBAAyB,CACjC,qDAAqD,EACrD,SAAS,CACV,CAAC;iBACH;gBACD,kBAAkB;gBAClB,KAAK,GAAG,IAAI,4BAA4B,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClE,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACnE,QAAQ,CAAC,0BAA0B,GAAG;oBACpC,IAAI,4BAA4B,CAC9B,gCAAgC,CAAC,OAAO,EACxC,OAAO,CAAC,IAAI,CACb;iBACF,CAAC;gBACF,KAAK,GAAG,OAAO,CAAC;gBAChB,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,MAAM,IAAI,yBAAyB,CACjC,+CAA+C,aAAa,GAAG,CAChE,CAAC;aACH;SACF;QACD,OAAO,iCAAiC,CACtC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,SAAiB;QACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAC5D,UAAU,EACV,SAAS,CACV,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACzC,UAAU,EACV,cAAc,CAAC,eAAe,EAAE,CACjC,CAAC;IACJ,CAAC;IAEO,8BAA8B,GAAG,CACvC,KAAgB,EAChB,OAAgB,EACS,EAAE;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtD,eAAe,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,UAAU,CAAC,CAC9C,CAAC;QACF,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAa,OAAO,CAAC,CAAC,CAAC;QAC3E,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF,oGAAoG;IAEpG,KAAK,CAAC,aAAa,CACjB,mBAA6C;QAE7C,OAAO,CACL,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7B,oCAAoC,CAAC,mBAAmB,CAAC,CAC1D,CACF,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB,kBAAkB,CAChB,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,aAAa,CAClD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,OAAO,kBAAkB,CACvB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,aAAa,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,KAAgB;QAC9C,OAAO,aAAa,CAClB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,aAAa,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,KAAgB;QAC9C,OAAO,aAAa,CAClB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACvD,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,aAAa,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,KAAgB;QAC9C,OAAO,aAAa,CAClB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACvD,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,aAAa,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,+GAA+G;IAE/G,KAAK,CAAC,gBAAgB,CAAC,QAAkB;QACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,oBAAoB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3D,MAAM,iCAAiC,CACrC,QAAQ,EACR,oBAAoB,EACpB,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,SAAS,CAAC,GAAG,EAAE,CACb,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC/D,CACF,CACF,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gHAAgH;IAEhH;;;;;;OAMG;IACH,sBAAsB,GAAG,CACvB,MAAoC,EACN,EAAE,CAChC,aAAa,CACX,MAAM,EACN;QACE,sBAAsB;QACtB,SAAS;QACT,0BAA0B;QAC1B,+BAA+B;QAC/B,aAAa;QACb,0BAA0B;QAC1B,wBAAwB;QACxB,2BAA2B;QAC3B,UAAU;QACV,wBAAwB;QACxB,8BAA8B;QAC9B,gCAAgC;QAChC,2BAA2B;QAC3B,UAAU;QACV,0BAA0B;QAC1B,kBAAkB;QAClB,uBAAuB;QACvB,2BAA2B;QAC3B,kBAAkB;QAClB,uBAAuB;KACxB,CAAC,MAAM,CACN,IAAI,CAAC,aAAa;SACf,+BAA+B,EAAE;SACjC,OAAO,CACN,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAC9D,CACJ,CACF,CAAC;IAEJ,eAAe,GAAG,CAChB,OAA2B,EAC3B,sBAAgC,EACxB,EAAE;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CACzC,IAAI,CAAC,iBAAiB,CAAwB,OAAO,CAAC,CACvD,CAAC;QACF,IAAI,sBAAsB,EAAE;YAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,qGAAqG;IAE7F,KAAK,CAAC,8BAA8B,CAC1C,QAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAChD,MAAM,iCAAiC,CACrC,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAC3B,KAAgB,EAChB,OAAqE;QAErE,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE;YAC3D,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;SACtD,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACxD,YAAY,CAAC,QAAQ,GAAG;YACtB,GAAG,YAAY,CAAC,QAAQ;YACxB,GAAG,YAAY,CAAC,QAAQ;SACzB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,iBAAiB,GAAG,CAC1B,OAA2B,EAC3B,OAAqE,EAClE,EAAE,CACL,OAAO,CAAC,gCAAgC,CACtC,IAAI,gCAAgC,CAClC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,EACpD,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD;SACE,6BAA6B,CAC5B,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACxC;SACA,KAAK,EAAE,CACX,CACG,CAAC;IAED,8BAA8B,GAAG,CACvC,aAAsC,EAC5B,EAAE,CACZ,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CACtC,CAAC;IAEI,uBAAuB,GAAG,CAChC,eAAsC,EAC9B,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;QAC1C,OAAO,EAAE,eAAe,CAAC,gCAAgC,CACvD,IAAI,+BAA+B,CACjC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CACF;QACD,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;KAC9D,CAAC,CAAC;IAEK,cAAc,GAAG,CAAC,eAAsC,EAAU,EAAE;QAC1E,IAAI,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAChC,iFAAiF;QACjF,2FAA2F;QAC3F,oCAAoC;QACpC,2DAA2D;QAC3D,IAAI,eAAe,YAAY,6BAA6B,EAAE;YAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAC9C,iBAAiB,CAAC,eAAe,CAAC,CACnC,CAAC;YACF,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;aAC3D;SACF;QAED,OAAO,GAAG,eAAe,CAAC,OAAO,GAAG,qBAAqB,GAAG,IAAI,EAAE,CAAC;IACrE,CAAC,CAAC;IAEM,uBAAuB,GAAG,CAChC,QAA+B,EACvB,EAAE;QACV,IAAI,QAAQ,YAAY,cAAc,EAAE;YACtC,OAAO,cAAc,CAAC,WAAW,CAAC;SACnC;aAAM,IAAI,QAAQ,YAAY,QAAQ,EAAE;YACvC,OAAO,cAAc,CAAC,KAAK,CAAC;SAC7B;aAAM,IAAI,QAAQ,YAAY,cAAc,EAAE;YAC7C,OAAO,cAAc,CAAC,WAAW,CAAC;SACnC;aAAM,IAAI,QAAQ,YAAY,6BAA6B,EAAE;YAC5D,OAAO,cAAc,CAAC,QAAQ,CAAC;SAChC;aAAM,IAAI,QAAQ,YAAY,UAAU,EAAE;YACzC,OAAO,cAAc,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,QAAQ,YAAY,UAAU,EAAE;YACzC,OAAO,cAAc,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,QAAQ,YAAY,UAAU,EAAE;YACzC,OAAO,cAAc,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,QAAQ,YAAY,wBAAwB,EAAE;YACvD,OAAO,cAAc,CAAC,UAAU,CAAC;SAClC;aAAM,IAAI,QAAQ,YAAY,qBAAqB,EAAE;YACpD,OAAO,cAAc,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,QAAQ,YAAY,eAAe,EAAE;YAC9C,OAAO,cAAc,CAAC,aAAa,CAAC;SACrC;aAAM,IAAI,QAAQ,YAAY,WAAW,EAAE;YAC1C,OAAO,cAAc,CAAC,SAAS,CAAC;SACjC;aAAM,IAAI,QAAQ,YAAY,WAAW,EAAE;YAC1C,OAAO,cAAc,CAAC,QAAQ,CAAC;SAChC;aAAM,IAAI,QAAQ,YAAY,UAAU,EAAE;YACzC,OAAO,cAAc,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,QAAQ,YAAY,8BAA8B,EAAE;YAC7D,OAAO,cAAc,CAAC,eAAe,CAAC;SACvC;aAAM,IAAI,QAAQ,YAAY,0BAA0B,EAAE;YACzD,OAAO,cAAc,CAAC,wBAAwB,CAAC;SAChD;QACD,MAAM,yCAAyC,GAAG,IAAI,CAAC,aAAa;aACjE,+BAA+B,EAAE;aACjC,OAAO,CACN,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CACrE,CAAC;QACJ,KAAK,MAAM,oBAAoB,IAAI,yCAAyC,EAAE;YAC5E,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,cAAc,EAAE;gBAClB,OAAO,cAAc,CAAC;aACvB;SACF;QACD,MAAM,IAAI,yBAAyB,CACjC,0CAA0C,QAAQ,CAAC,IAAI,gEAAgE,CACxH,CAAC;IACJ,CAAC,CAAC;IAEM,2BAA2B,GAAG,CACpC,KAAgB,EAChB,OAAqE,EAC5C,EAAE;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxD,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC9B,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;SACtD,CAAC,CACH,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CACb,mBAAmB,CAAC,wCAAwC,CAC7D,EACD,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,IAAI,CACL,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEM,sBAAsB,GAAG,CAC/B,KAAgB,EACS,EAAE;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,SAAS,CAAC,QAAQ,GAAG;YACnB,GAAG,iBAAiB,CAAC,WAAW;YAChC,GAAG,cAAc,CAAC,cAAc;SACjC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,EACpE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,IAAI,CACL,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,wGAAwG;IAExG,KAAK,CAAC,aAAa,CAAC,KAA2B;QAC7C,MAAM,cAAc,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACrD,cAAc,CAAC,UAAU,GAAG,wCAAwC,CAClE,KAAK,CAAC,UAAU,EAChB,IAAI,iCAAiC,CACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CACrD,CAAC,KAAK,EAAE,CACV,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC/C,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;QACtD,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;QAChD,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC9C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAC1C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAChD,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC1D,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QAClD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACzC,CAAC,YAA6B,EAAsB,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACzC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YACnD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;YACjD,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;YAC/D,OAAO,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAC7D,OAAO,OAAO,CAAC;QACjB,CAAC,CACF,CAAC;QACF,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,8BAA8B,CACxC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,oGAAoG;IAEpG,wBAAwB,CAAC,MAAa;QACpC,OAAO,IAAI,SAAS,CAClB,EAAE,EACF;YACE;gBACE,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE;oBACV;wBACE,KAAK,EAAE,uBAAuB;wBAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI;qBACtB;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,mCAAmC,CAAC,UAAkB;QACpD,OAAO,IAAI,SAAS,CAClB;YACE;gBACE,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,6BAA6B;gBACpC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;gBAC9C,IAAI,EAAE,KAAK;aACZ;SACF,EACD;YACE;gBACE,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,UAAU,EAAE;oBACV;wBACE,KAAK,EAAE,MAAM;wBACb,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE;4BACV;gCACE,KAAK,EAAE,MAAM;gCACb,QAAQ,EAAE,OAAO;gCACjB,UAAU,EAAE;oCACV;wCACE,KAAK,EAAE,UAAU;wCACjB,UAAU,EAAE;4CACV;gDACE,KAAK,EAAE,KAAK;gDACZ,IAAI,EAAE,KAAK;6CACZ;yCACF;wCACD,QAAQ,EAAE,QAAQ;qCACnB;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,KAAK,EAAE,QAAQ;wBACf,YAAY,EAAE;4BACZ,UAAU,EAAE,CAAC;4BACb,UAAU,EAAE,CAAC;yBACd;wBACD,MAAM,EAAE,CAAC,UAAU,CAAC;qBACrB;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,qCAAqC,CAAC,KAAgB;QACpD,IAAI,IAAwB,CAAC;QAC7B,IAAI;YACF,IAAI,GAEE,KAAK,CAAC,IAAkB,CAAC,CAAC,CAAkC,CAAC,gBAAgB;iBAC5E,UACJ,CAAC,CAAC,CAGJ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,UAAU,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,iCAAiC,CAAC,CAAC;SACzE;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAC1D,gCAAgC,CACjC,CAAC;YACF,IAAI,GAAG,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,IAAI,EAAE;YACT,iDAAiD;SAClD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-graph",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Legend metamodel graph",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"jest": "27.5.1",
|
|
54
54
|
"npm-run-all": "4.1.5",
|
|
55
55
|
"rimraf": "3.0.2",
|
|
56
|
-
"typescript": "4.6.
|
|
56
|
+
"typescript": "4.6.3"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"directory": "build/publishContent"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-graph",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Legend metamodel graph",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"test:watch": "jest --watch"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@finos/legend-model-storage": "0.0.
|
|
42
|
-
"@finos/legend-shared": "1.2.
|
|
41
|
+
"@finos/legend-model-storage": "0.0.24",
|
|
42
|
+
"@finos/legend-shared": "1.2.6",
|
|
43
43
|
"date-fns": "2.28.0",
|
|
44
44
|
"mobx": "6.5.0",
|
|
45
45
|
"mobx-react-lite": "3.3.0",
|
|
@@ -47,13 +47,13 @@
|
|
|
47
47
|
"serializr": "2.0.5"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@finos/legend-dev-utils": "0.3.
|
|
50
|
+
"@finos/legend-dev-utils": "0.3.15",
|
|
51
51
|
"cross-env": "7.0.3",
|
|
52
52
|
"eslint": "8.11.0",
|
|
53
53
|
"jest": "27.5.1",
|
|
54
54
|
"npm-run-all": "4.1.5",
|
|
55
55
|
"rimraf": "3.0.2",
|
|
56
|
-
"typescript": "4.6.
|
|
56
|
+
"typescript": "4.6.3"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"directory": "build/publishContent"
|
|
@@ -76,6 +76,10 @@ export interface GraphBuilderOptions {
|
|
|
76
76
|
TEMPORARY__keepSectionIndex?: boolean;
|
|
77
77
|
// when we change our handling of section index, we should be able to get rid of this flag.
|
|
78
78
|
TEMPORARY__disableRawLambdaResolver?: boolean;
|
|
79
|
+
// skip specific post processing used when editing graph. i.e `freezing` a generated/dependency element.
|
|
80
|
+
TEMPORARY_skipGraphBuilderPostProcessing?: boolean;
|
|
81
|
+
// skip post processing specific to generated elements
|
|
82
|
+
TEMPORARY_skipGeneratedElementsPostProcessing?: boolean;
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
export interface ExecutionOptions {
|
|
@@ -336,6 +340,19 @@ export abstract class AbstractPureGraphManager {
|
|
|
336
340
|
abstract updateQuery(query: Query, graph: PureModel): Promise<Query>;
|
|
337
341
|
abstract deleteQuery(queryId: string): Promise<void>;
|
|
338
342
|
|
|
343
|
+
// ------------------------------------------- Legend Query -------------------------------------
|
|
344
|
+
abstract buildGraphForCreateQuerySetup(
|
|
345
|
+
graph: PureModel,
|
|
346
|
+
entities: Entity[],
|
|
347
|
+
dependencyEntitiesMap: Map<string, Entity[]>,
|
|
348
|
+
): Promise<void>;
|
|
349
|
+
|
|
350
|
+
abstract buildGraphForServiceQuerySetup(
|
|
351
|
+
graph: PureModel,
|
|
352
|
+
entities: Entity[],
|
|
353
|
+
dependencyEntitiesMap: Map<string, Entity[]>,
|
|
354
|
+
): Promise<void>;
|
|
355
|
+
|
|
339
356
|
// ------------------------------------------- Utilities -------------------------------------------
|
|
340
357
|
|
|
341
358
|
abstract buildDatabase(
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
promisify,
|
|
40
40
|
type ActionState,
|
|
41
41
|
StopWatch,
|
|
42
|
+
assertNonEmptyString,
|
|
42
43
|
} from '@finos/legend-shared';
|
|
43
44
|
import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig';
|
|
44
45
|
import {
|
|
@@ -47,8 +48,11 @@ import {
|
|
|
47
48
|
type GraphBuilderOptions,
|
|
48
49
|
type ExecutionOptions,
|
|
49
50
|
} from '../../../../graphManager/AbstractPureGraphManager';
|
|
50
|
-
import
|
|
51
|
-
import
|
|
51
|
+
import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
|
|
52
|
+
import {
|
|
53
|
+
type Runtime,
|
|
54
|
+
EngineRuntime,
|
|
55
|
+
} from '../../../metamodels/pure/packageableElements/runtime/Runtime';
|
|
52
56
|
import type {
|
|
53
57
|
ImportConfigurationDescription,
|
|
54
58
|
ImportMode,
|
|
@@ -76,7 +80,11 @@ import type { ExecutionResult } from '../../../../graphManager/action/execution/
|
|
|
76
80
|
import type { GenerationOutput } from '../../../../graphManager/action/generation/GenerationOutput';
|
|
77
81
|
import type { ValueSpecification } from '../../../metamodels/pure/valueSpecification/ValueSpecification';
|
|
78
82
|
import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
|
|
79
|
-
import {
|
|
83
|
+
import {
|
|
84
|
+
KeyedExecutionParameter,
|
|
85
|
+
PureMultiExecution,
|
|
86
|
+
PureSingleExecution,
|
|
87
|
+
} from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
|
|
80
88
|
import {
|
|
81
89
|
V1_deserializeRawValueSpecification,
|
|
82
90
|
V1_serializeRawValueSpecification,
|
|
@@ -162,6 +170,7 @@ import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Mult
|
|
|
162
170
|
import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable';
|
|
163
171
|
import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
|
|
164
172
|
import {
|
|
173
|
+
V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE,
|
|
165
174
|
V1_setupEngineRuntimeSerialization,
|
|
166
175
|
V1_setupLegacyRuntimeSerialization,
|
|
167
176
|
} from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
|
|
@@ -208,13 +217,23 @@ import {
|
|
|
208
217
|
GraphBuilderError,
|
|
209
218
|
SystemGraphBuilderError,
|
|
210
219
|
} from '../../../../graphManager/GraphManagerUtils';
|
|
211
|
-
import {
|
|
220
|
+
import {
|
|
221
|
+
PackageableElementExplicitReference,
|
|
222
|
+
PackageableElementReference,
|
|
223
|
+
} from '../../../metamodels/pure/packageableElements/PackageableElementReference';
|
|
212
224
|
import type { GraphPluginManager } from '../../../../GraphPluginManager';
|
|
213
225
|
import type { QuerySearchSpecification } from '../../../../graphManager/action/query/QuerySearchSpecification';
|
|
214
226
|
import type { ExternalFormatDescription } from '../../../../graphManager/action/externalFormat/ExternalFormatDescription';
|
|
215
227
|
import type { ConfigurationProperty } from '../../../metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty';
|
|
216
228
|
import { V1_ExternalFormatModelGenerationInput } from './engine/externalFormat/V1_ExternalFormatModelGeneration';
|
|
217
229
|
import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
|
|
230
|
+
import {
|
|
231
|
+
V1_PureMultiExecution,
|
|
232
|
+
V1_PureSingleExecution,
|
|
233
|
+
} from './model/packageableElements/service/V1_ServiceExecution';
|
|
234
|
+
import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
|
|
235
|
+
import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
|
|
236
|
+
import { MappingInclude } from '../../../metamodels/pure/packageableElements/mapping/MappingInclude';
|
|
218
237
|
|
|
219
238
|
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
220
239
|
|
|
@@ -841,11 +860,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
841
860
|
|
|
842
861
|
// post-process
|
|
843
862
|
graphBuilderState.setMessage(`Post-processing graph...`);
|
|
844
|
-
yield flowResult(
|
|
845
|
-
this.postProcess(graph, inputs, {
|
|
846
|
-
TEMPORARY__keepSectionIndex: options?.TEMPORARY__keepSectionIndex,
|
|
847
|
-
}),
|
|
848
|
-
);
|
|
863
|
+
yield flowResult(this.postProcess(graph, inputs, options));
|
|
849
864
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_POST_PROCESSED);
|
|
850
865
|
}
|
|
851
866
|
|
|
@@ -921,34 +936,50 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
921
936
|
private *postProcess(
|
|
922
937
|
graph: PureModel,
|
|
923
938
|
inputs: V1_GraphBuilderInput[],
|
|
924
|
-
options?:
|
|
925
|
-
| {
|
|
926
|
-
TEMPORARY__keepSectionIndex?: boolean | undefined;
|
|
927
|
-
}
|
|
928
|
-
| undefined,
|
|
939
|
+
options?: GraphBuilderOptions,
|
|
929
940
|
): GeneratorFn<void> {
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
element
|
|
938
|
-
|
|
941
|
+
if (!options?.TEMPORARY_skipGraphBuilderPostProcessing) {
|
|
942
|
+
yield Promise.all(
|
|
943
|
+
inputs.flatMap((input) =>
|
|
944
|
+
input.data.elements.map((el) =>
|
|
945
|
+
promisify(() =>
|
|
946
|
+
runInAction(() => {
|
|
947
|
+
// TODO: check performance once `getNullableElement` is optimized
|
|
948
|
+
const element = graph.getElement(el.path);
|
|
949
|
+
const isElementReadOnly = Boolean(
|
|
950
|
+
element.getRoot().path !== ROOT_PACKAGE_NAME.MAIN,
|
|
939
951
|
);
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
)
|
|
944
|
-
|
|
945
|
-
element.freeze();
|
|
946
|
-
}
|
|
947
|
-
}),
|
|
952
|
+
if (isElementReadOnly) {
|
|
953
|
+
element.freeze();
|
|
954
|
+
}
|
|
955
|
+
}),
|
|
956
|
+
),
|
|
948
957
|
),
|
|
949
958
|
),
|
|
950
|
-
)
|
|
951
|
-
|
|
959
|
+
);
|
|
960
|
+
}
|
|
961
|
+
if (!options?.TEMPORARY_skipGeneratedElementsPostProcessing) {
|
|
962
|
+
// Assign generated elements to their parent generation element (config that drives generation)
|
|
963
|
+
yield Promise.all(
|
|
964
|
+
inputs
|
|
965
|
+
.filter((input) => Boolean(input.parentElementPath))
|
|
966
|
+
.flatMap((input) =>
|
|
967
|
+
input.data.elements.map((el) =>
|
|
968
|
+
promisify(() =>
|
|
969
|
+
runInAction(() => {
|
|
970
|
+
// TODO: check performance once `getNullableElement` is optimized
|
|
971
|
+
const element = graph.getElement(el.path);
|
|
972
|
+
if (input.parentElementPath) {
|
|
973
|
+
element.generationParentElement = graph.getElement(
|
|
974
|
+
input.parentElementPath,
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
}),
|
|
978
|
+
),
|
|
979
|
+
),
|
|
980
|
+
),
|
|
981
|
+
);
|
|
982
|
+
}
|
|
952
983
|
/**
|
|
953
984
|
* For now, we delete the section index. We are able to read both resolved and unresolved element paths
|
|
954
985
|
* but when we write (serialize) we write only resolved paths. In the future once the issue with dependency is solved we will
|
|
@@ -2016,6 +2047,234 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2016
2047
|
);
|
|
2017
2048
|
}
|
|
2018
2049
|
|
|
2050
|
+
async indexEntitiesWithDependencyIntoGraph(
|
|
2051
|
+
graph: PureModel,
|
|
2052
|
+
_entities: Entity[],
|
|
2053
|
+
dependencyEntities: Map<string, Entity[]>,
|
|
2054
|
+
entityFilterFunc?: (entity: Entity) => boolean,
|
|
2055
|
+
): Promise<V1_GraphBuilderInput[]> {
|
|
2056
|
+
let entities = _entities;
|
|
2057
|
+
graph.dependencyManager.initialize(dependencyEntities);
|
|
2058
|
+
if (entityFilterFunc) {
|
|
2059
|
+
Array.from(dependencyEntities.entries()).forEach(
|
|
2060
|
+
([dependencyKey, dEntities]) => {
|
|
2061
|
+
dependencyEntities.set(
|
|
2062
|
+
dependencyKey,
|
|
2063
|
+
dEntities.filter(entityFilterFunc),
|
|
2064
|
+
);
|
|
2065
|
+
},
|
|
2066
|
+
);
|
|
2067
|
+
entities = _entities.filter(entityFilterFunc);
|
|
2068
|
+
}
|
|
2069
|
+
const report = new GraphBuilderReport();
|
|
2070
|
+
// build dependency pmcd models
|
|
2071
|
+
const dependencyDataMap = new Map<string, V1_PureModelContextData>();
|
|
2072
|
+
await Promise.all(
|
|
2073
|
+
Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
2074
|
+
const projectModelData = new V1_PureModelContextData();
|
|
2075
|
+
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
2076
|
+
return V1_entitiesToPureModelContextData(
|
|
2077
|
+
value,
|
|
2078
|
+
projectModelData,
|
|
2079
|
+
|
|
2080
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2081
|
+
);
|
|
2082
|
+
}),
|
|
2083
|
+
);
|
|
2084
|
+
const dependencyGraphBuilderInput: V1_GraphBuilderInput[] = Array.from(
|
|
2085
|
+
dependencyDataMap.entries(),
|
|
2086
|
+
).map(([dependencyKey, dependencyData]) => ({
|
|
2087
|
+
data: indexPureModelContextData(report, dependencyData, this.extensions),
|
|
2088
|
+
model: graph.dependencyManager.getModel(dependencyKey),
|
|
2089
|
+
}));
|
|
2090
|
+
// build main pmcd
|
|
2091
|
+
const data = new V1_PureModelContextData();
|
|
2092
|
+
await V1_entitiesToPureModelContextData(
|
|
2093
|
+
entities,
|
|
2094
|
+
data,
|
|
2095
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2096
|
+
);
|
|
2097
|
+
const mainGraphBuilderInput: V1_GraphBuilderInput[] = [
|
|
2098
|
+
{
|
|
2099
|
+
model: graph,
|
|
2100
|
+
data: indexPureModelContextData(report, data, this.extensions),
|
|
2101
|
+
},
|
|
2102
|
+
];
|
|
2103
|
+
const graphBuilderInput = [
|
|
2104
|
+
...dependencyGraphBuilderInput,
|
|
2105
|
+
...mainGraphBuilderInput,
|
|
2106
|
+
];
|
|
2107
|
+
await flowResult(this.initializeAndIndexElements(graph, graphBuilderInput));
|
|
2108
|
+
return graphBuilderInput;
|
|
2109
|
+
}
|
|
2110
|
+
|
|
2111
|
+
// We could optimize this further by omitting parts of the entities we don't need
|
|
2112
|
+
async buildGraphForCreateQuerySetup(
|
|
2113
|
+
graph: PureModel,
|
|
2114
|
+
entities: Entity[],
|
|
2115
|
+
dependencyEntities: Map<string, Entity[]>,
|
|
2116
|
+
): Promise<void> {
|
|
2117
|
+
try {
|
|
2118
|
+
const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(
|
|
2119
|
+
graph,
|
|
2120
|
+
entities,
|
|
2121
|
+
dependencyEntities,
|
|
2122
|
+
(entity: Entity): boolean =>
|
|
2123
|
+
((entity.content as PlainObject<V1_PackageableElement>)
|
|
2124
|
+
._type as string) === V1_MAPPING_ELEMENT_PROTOCOL_TYPE ||
|
|
2125
|
+
((entity.content as PlainObject<V1_PackageableElement>)
|
|
2126
|
+
._type as string) === V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE,
|
|
2127
|
+
);
|
|
2128
|
+
// handle mapping includes
|
|
2129
|
+
const mappings = [
|
|
2130
|
+
...graph.ownMappings,
|
|
2131
|
+
...graph.dependencyManager.mappings,
|
|
2132
|
+
];
|
|
2133
|
+
const v1Mappings = graphBuilderInput
|
|
2134
|
+
.map((e) =>
|
|
2135
|
+
e.data.elements.filter(
|
|
2136
|
+
(type: V1_PackageableElement): type is V1_Mapping =>
|
|
2137
|
+
type instanceof V1_Mapping,
|
|
2138
|
+
),
|
|
2139
|
+
)
|
|
2140
|
+
.flat();
|
|
2141
|
+
const context = new V1_GraphBuilderContextBuilder(
|
|
2142
|
+
graph,
|
|
2143
|
+
graph,
|
|
2144
|
+
this.extensions,
|
|
2145
|
+
this.log,
|
|
2146
|
+
).build();
|
|
2147
|
+
// build include index for compatible runtime analysis
|
|
2148
|
+
v1Mappings.forEach((element) => {
|
|
2149
|
+
const mapping = mappings.find((e) => e.path === element.path);
|
|
2150
|
+
if (mapping) {
|
|
2151
|
+
mapping.includes = element.includedMappings.map((i) => {
|
|
2152
|
+
assertNonEmptyString(
|
|
2153
|
+
i.includedMappingPath,
|
|
2154
|
+
`Mapping include 'includedMappingPath' field is missing or empty`,
|
|
2155
|
+
);
|
|
2156
|
+
return new MappingInclude(
|
|
2157
|
+
mapping,
|
|
2158
|
+
context.resolveMapping(i.includedMappingPath),
|
|
2159
|
+
);
|
|
2160
|
+
});
|
|
2161
|
+
}
|
|
2162
|
+
});
|
|
2163
|
+
// handle runtimes
|
|
2164
|
+
const runtimes = [
|
|
2165
|
+
...graph.ownRuntimes,
|
|
2166
|
+
...graph.dependencyManager.runtimes,
|
|
2167
|
+
];
|
|
2168
|
+
const v1Runtimes = graphBuilderInput
|
|
2169
|
+
.map((e) =>
|
|
2170
|
+
e.data.elements.filter(
|
|
2171
|
+
(type: V1_PackageableElement): type is V1_PackageableRuntime =>
|
|
2172
|
+
type instanceof V1_PackageableRuntime,
|
|
2173
|
+
),
|
|
2174
|
+
)
|
|
2175
|
+
.flat();
|
|
2176
|
+
v1Runtimes.forEach((element) => {
|
|
2177
|
+
const runtime = runtimes.find((e) => e.path === element.path);
|
|
2178
|
+
if (runtime) {
|
|
2179
|
+
const runtimeValue = new EngineRuntime();
|
|
2180
|
+
runtime.setRuntimeValue(runtimeValue);
|
|
2181
|
+
runtimeValue.setMappings(
|
|
2182
|
+
element.runtimeValue.mappings.map((mapping) =>
|
|
2183
|
+
context.resolveMapping(mapping.path),
|
|
2184
|
+
),
|
|
2185
|
+
);
|
|
2186
|
+
}
|
|
2187
|
+
});
|
|
2188
|
+
graph.buildState.pass();
|
|
2189
|
+
} catch (error) {
|
|
2190
|
+
assertErrorThrown(error);
|
|
2191
|
+
graph.buildState.fail();
|
|
2192
|
+
/**
|
|
2193
|
+
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
2194
|
+
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
2195
|
+
*/
|
|
2196
|
+
throw error instanceof GraphBuilderError
|
|
2197
|
+
? error
|
|
2198
|
+
: new GraphBuilderError(error);
|
|
2199
|
+
}
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
// We could optimize this further by omitting parts of the entities we don't need
|
|
2203
|
+
// i.e service entity would only keep execution
|
|
2204
|
+
async buildGraphForServiceQuerySetup(
|
|
2205
|
+
graph: PureModel,
|
|
2206
|
+
entities: Entity[],
|
|
2207
|
+
dependencyEntities: Map<string, Entity[]>,
|
|
2208
|
+
): Promise<void> {
|
|
2209
|
+
try {
|
|
2210
|
+
const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(
|
|
2211
|
+
graph,
|
|
2212
|
+
entities,
|
|
2213
|
+
dependencyEntities,
|
|
2214
|
+
(entity: Entity): boolean =>
|
|
2215
|
+
((entity.content as PlainObject<V1_PackageableElement>)
|
|
2216
|
+
._type as string) === V1_SERVICE_ELEMENT_PROTOCOL_TYPE,
|
|
2217
|
+
);
|
|
2218
|
+
// handle servicess
|
|
2219
|
+
const services = [
|
|
2220
|
+
...graph.ownServices,
|
|
2221
|
+
...graph.dependencyManager.services,
|
|
2222
|
+
];
|
|
2223
|
+
const v1Services = graphBuilderInput
|
|
2224
|
+
.map((e) =>
|
|
2225
|
+
e.data.elements.filter(
|
|
2226
|
+
(type: V1_PackageableElement): type is V1_Service =>
|
|
2227
|
+
type instanceof V1_Service,
|
|
2228
|
+
),
|
|
2229
|
+
)
|
|
2230
|
+
.flat();
|
|
2231
|
+
// build service multi execution keys
|
|
2232
|
+
v1Services.forEach((element) => {
|
|
2233
|
+
const service = services.find((e) => e.path === element.path);
|
|
2234
|
+
if (service) {
|
|
2235
|
+
const serviceExecution = element.execution;
|
|
2236
|
+
if (serviceExecution instanceof V1_PureMultiExecution) {
|
|
2237
|
+
const execution = new PureMultiExecution(
|
|
2238
|
+
serviceExecution.executionKey,
|
|
2239
|
+
RawLambda.createStub(),
|
|
2240
|
+
service,
|
|
2241
|
+
);
|
|
2242
|
+
execution.executionParameters =
|
|
2243
|
+
serviceExecution.executionParameters.map(
|
|
2244
|
+
(keyedExecutionParameter) =>
|
|
2245
|
+
new KeyedExecutionParameter(
|
|
2246
|
+
keyedExecutionParameter.key,
|
|
2247
|
+
PackageableElementExplicitReference.create(new Mapping('')),
|
|
2248
|
+
new EngineRuntime(),
|
|
2249
|
+
),
|
|
2250
|
+
);
|
|
2251
|
+
service.setExecution(execution);
|
|
2252
|
+
} else if (serviceExecution instanceof V1_PureSingleExecution) {
|
|
2253
|
+
service.setExecution(
|
|
2254
|
+
new PureSingleExecution(
|
|
2255
|
+
RawLambda.createStub(),
|
|
2256
|
+
service,
|
|
2257
|
+
PackageableElementExplicitReference.create(new Mapping('')),
|
|
2258
|
+
new EngineRuntime(),
|
|
2259
|
+
),
|
|
2260
|
+
);
|
|
2261
|
+
}
|
|
2262
|
+
}
|
|
2263
|
+
});
|
|
2264
|
+
graph.buildState.pass();
|
|
2265
|
+
} catch (error) {
|
|
2266
|
+
assertErrorThrown(error);
|
|
2267
|
+
graph.buildState.fail();
|
|
2268
|
+
/**
|
|
2269
|
+
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
2270
|
+
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
2271
|
+
*/
|
|
2272
|
+
throw error instanceof GraphBuilderError
|
|
2273
|
+
? error
|
|
2274
|
+
: new GraphBuilderError(error);
|
|
2275
|
+
}
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2019
2278
|
async getQuery(queryId: string, graph: PureModel): Promise<Query> {
|
|
2020
2279
|
return V1_buildQuery(
|
|
2021
2280
|
await this.engine.getQuery(queryId),
|