@cqse/commons 1.0.0-beta.7 → 1.0.4

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.
@@ -1,456 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ConfigurationParameters = exports.CONFIG_GROUP_APP = void 0;
7
- exports.parameterNameToParameterId = parameterNameToParameterId;
8
- exports.longParameterToEnvironmentVariableName = longParameterToEnvironmentVariableName;
9
- exports.parseArguments = parseArguments;
10
- exports.parseConfigFile = parseConfigFile;
11
- exports.printHelp = printHelp;
12
- exports.checkArguments = checkArguments;
13
- exports.processCommandLine = processCommandLine;
14
- exports.parameterUnion = parameterUnion;
15
- const node_process_1 = __importDefault(require("node:process"));
16
- const Exceptions_1 = require("./Exceptions");
17
- exports.CONFIG_GROUP_APP = {
18
- order: 999,
19
- title: 'Application'
20
- };
21
- function expectedArgumentCount(parameterDescriptor) {
22
- if (parameterDescriptor.type === 'int' || parameterDescriptor.type === 'string') {
23
- return 1;
24
- }
25
- else if (parameterDescriptor.type === 'bool') {
26
- return 0;
27
- }
28
- else if (parameterDescriptor.type === 'string[]') {
29
- return Number.POSITIVE_INFINITY;
30
- }
31
- else {
32
- throw new Exceptions_1.InvalidConfigurationException(`Unsupported parameter type "${parameterDescriptor.type}" for parameter "${parameterDescriptor.longParameter}".`);
33
- }
34
- }
35
- function parameterNameToParameterId(parameterName) {
36
- const withoutLeadingDashes = parameterName.replace(/^-+/, '');
37
- return withoutLeadingDashes.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
38
- }
39
- function longParameterToEnvironmentVariableName(longParameter) {
40
- const withoutLeadingDashes = longParameter.replace(/^--/, '');
41
- return withoutLeadingDashes.toUpperCase().replace(/-/g, '_');
42
- }
43
- class ConfigurationParameters {
44
- constructor() {
45
- this.parameters = new Map();
46
- this.shortToLongParameterMap = new Map();
47
- this.sequentialParameters = [];
48
- this.argumentChecks = [];
49
- }
50
- addParameter(shortParameter, longParameter, type, options = {}) {
51
- var _a, _b;
52
- const parameterId = parameterNameToParameterId(longParameter);
53
- const environmentVariableName = longParameterToEnvironmentVariableName(longParameter);
54
- this.describeParameter(parameterId, { parameterId, longParameter, type, shortParameter,
55
- help: (_a = options.help) !== null && _a !== void 0 ? _a : "",
56
- default: options.default,
57
- internal: (_b = options.internal) !== null && _b !== void 0 ? _b : false,
58
- group: options.group,
59
- environmentVariableName });
60
- }
61
- addArgumentCheck(check) {
62
- this.argumentChecks.push(check);
63
- }
64
- addRequiredArgumentFor(parameterId) {
65
- const parameter = this.lookupParameter(parameterId);
66
- if (parameter === undefined) {
67
- throw new Exceptions_1.InvalidConfigurationException(`Unknown parameter "${parameterId}".`);
68
- }
69
- if (parameter.default !== undefined) {
70
- throw new Exceptions_1.InvalidConfigurationException(`Parameter "${parameterId}" is required, but has a default value.`);
71
- }
72
- this.argumentChecks.push((parsedArguments) => {
73
- const argument = parsedArguments[parameterId];
74
- if (argument === undefined) {
75
- return `Missing required argument for parameter "${parameter.longParameter}"\n` +
76
- `\tParameter description: ${parameter.help}`;
77
- }
78
- return undefined;
79
- });
80
- }
81
- describeParameter(parameterId, descriptor) {
82
- this.parameters.set(parameterId, descriptor);
83
- if (descriptor.shortParameter) {
84
- const shortParameterId = descriptor.shortParameter.replace(/^-/, '').trim().toLowerCase();
85
- if (shortParameterId.length < 1 || shortParameterId.length > 3) {
86
- throw new Exceptions_1.InvalidConfigurationException(`Short parameter "${shortParameterId}" is invalid.`);
87
- }
88
- const existingMapping = this.shortToLongParameterMap.get(shortParameterId);
89
- if (existingMapping !== undefined && existingMapping !== parameterId) {
90
- throw new Exceptions_1.InvalidConfigurationException(`Short parameter "${shortParameterId}" is already mapped to parameter "${existingMapping}".`);
91
- }
92
- this.shortToLongParameterMap.set(shortParameterId, descriptor.parameterId);
93
- }
94
- if (!descriptor.longParameter.startsWith('--')) {
95
- this.sequentialParameters.push(parameterId);
96
- }
97
- }
98
- lookupParameter(parameterId) {
99
- let result = this.parameters.get(parameterId);
100
- if (result === undefined) {
101
- const longParameterId = this.shortToLongParameterMap.get(parameterId);
102
- if (longParameterId !== undefined) {
103
- result = this.parameters.get(longParameterId);
104
- }
105
- }
106
- return result;
107
- }
108
- getParameters() {
109
- return Array.from(this.parameters.values());
110
- }
111
- getArgumentChecks() {
112
- return this.argumentChecks;
113
- }
114
- getSequentialParameters() {
115
- return this.sequentialParameters;
116
- }
117
- clone() {
118
- const clone = new ConfigurationParameters();
119
- for (const parameter of this.parameters.values()) {
120
- clone.describeParameter(parameter.parameterId, parameter);
121
- }
122
- for (const check of this.argumentChecks) {
123
- clone.addArgumentCheck(check);
124
- }
125
- return clone;
126
- }
127
- addAllOf(toAdd) {
128
- for (const parameter of toAdd.getParameters()) {
129
- this.describeParameter(parameter.parameterId, parameter);
130
- }
131
- for (const check of toAdd.getArgumentChecks()) {
132
- this.addArgumentCheck(check);
133
- }
134
- }
135
- }
136
- exports.ConfigurationParameters = ConfigurationParameters;
137
- function parseArguments(args, parameters) {
138
- const result = {};
139
- let activeParameter;
140
- let activeArguments = [];
141
- let awaitingArguments = 0;
142
- function finishParameter() {
143
- if (!activeParameter) {
144
- return;
145
- }
146
- if (awaitingArguments < Number.POSITIVE_INFINITY && awaitingArguments > 0) {
147
- throw new Exceptions_1.InvalidConfigurationException(`Missing value for parameter "${activeParameter.longParameter}".`);
148
- }
149
- if (activeParameter.type === 'bool') {
150
- result[activeParameter.parameterId] = true;
151
- activeParameter = undefined;
152
- }
153
- else if (activeParameter.type === 'string[]') {
154
- const targetList = result[activeParameter.parameterId];
155
- const argumentsNormalizedAsList = parseStringListArgument(activeArguments.join(","));
156
- if (isDefinedStringList(targetList)) {
157
- result[activeParameter.parameterId] = targetList.concat(argumentsNormalizedAsList);
158
- }
159
- else {
160
- result[activeParameter.parameterId] = argumentsNormalizedAsList;
161
- }
162
- }
163
- else {
164
- if (activeArguments.length !== 1) {
165
- throw new Exceptions_1.InvalidConfigurationException(`Invalid value for parameter "${activeParameter.longParameter}": Expected a single value, got ${activeArguments.length}.`);
166
- }
167
- result[activeParameter.parameterId] = parseWithProperType(activeArguments[0], activeParameter);
168
- }
169
- activeParameter = undefined;
170
- activeArguments = [];
171
- }
172
- for (const argument of args) {
173
- if (argument.startsWith('-')) {
174
- finishParameter();
175
- const parameterId = parameterNameToParameterId(argument);
176
- activeParameter = parameters.lookupParameter(parameterId);
177
- if (!activeParameter) {
178
- throw new Exceptions_1.InvalidConfigurationException(`Unknown configuration parameter: ${argument}`);
179
- }
180
- awaitingArguments = expectedArgumentCount(activeParameter);
181
- }
182
- else {
183
- if (!activeParameter) {
184
- throw new Exceptions_1.InvalidConfigurationException(`Unexpected or unnamed argument, or unknown parameter '${argument}' supplied. Please specify a parameter name (for example, --input) for each argument.`);
185
- }
186
- activeArguments.push(argument);
187
- awaitingArguments--;
188
- }
189
- if (awaitingArguments === 0) {
190
- finishParameter();
191
- }
192
- }
193
- finishParameter();
194
- for (const parameter of parameters.getParameters()) {
195
- if (result[parameter.parameterId] === undefined) {
196
- result[parameter.parameterId] = parameter.default;
197
- const environmentValue = node_process_1.default.env[parameter.environmentVariableName];
198
- if (environmentValue && !parameter.disableEnvironmentVariableOverride) {
199
- result[parameter.parameterId] = parseWithProperType(environmentValue, parameter);
200
- }
201
- }
202
- }
203
- return result;
204
- }
205
- function unquoteString(text) {
206
- text = text.trim();
207
- if ((text.startsWith('"') && text.endsWith('"')) ||
208
- (text.startsWith('\'') && text.endsWith('\'')) ||
209
- (text.startsWith('`') && text.endsWith('`'))) {
210
- return text.substring(1, text.length - 1);
211
- }
212
- else {
213
- return text;
214
- }
215
- }
216
- function parseStringListArgument(value) {
217
- if (!value) {
218
- return [];
219
- }
220
- return value.split(',').map(item => unquoteString(item));
221
- }
222
- function parseWithProperType(value, parameterDescriptor) {
223
- if (parameterDescriptor.type === 'int') {
224
- const parsedValue = parseInt(value, 10);
225
- if (isNaN(parsedValue)) {
226
- throw new Exceptions_1.InvalidConfigurationException(`Invalid value for parameter "${parameterDescriptor.longParameter}": Expected an integer, got "${value}".`);
227
- }
228
- return parsedValue;
229
- }
230
- else if (parameterDescriptor.type === 'bool') {
231
- const lowerValue = value.toLowerCase();
232
- if (lowerValue === 'true' || lowerValue === '1') {
233
- return true;
234
- }
235
- else if (lowerValue === 'false' || lowerValue === '0') {
236
- return false;
237
- }
238
- else {
239
- throw new Exceptions_1.InvalidConfigurationException(`Invalid value for parameter "${parameterDescriptor.longParameter}": Expected a boolean, got "${value}".`);
240
- }
241
- }
242
- else if (parameterDescriptor.type === 'string') {
243
- return unquoteString(value);
244
- }
245
- else if (parameterDescriptor.type === 'string[]') {
246
- return parseStringListArgument(value);
247
- }
248
- else {
249
- throw new Exceptions_1.InvalidConfigurationException(`Unsupported parameter type "${parameterDescriptor.type}" for parameter "${parameterDescriptor.longParameter}".`);
250
- }
251
- }
252
- function isDefinedStringList(option) {
253
- return Array.isArray(option) && option.every(item => typeof item === 'string');
254
- }
255
- function parseConfigFile(fileContent, parameters) {
256
- const options = {};
257
- const unnamedArguments = [];
258
- for (const line of fileContent.split('\n')) {
259
- const trimmedLine = line.trim();
260
- if (trimmedLine.startsWith('#') || trimmedLine.length === 0) {
261
- continue;
262
- }
263
- if (!trimmedLine.includes('=') && parameters.getSequentialParameters().length > 0) {
264
- unnamedArguments.push(trimmedLine);
265
- continue;
266
- }
267
- const [key, value] = trimmedLine.split('=');
268
- const parameterId = parameterNameToParameterId(key);
269
- const parameterDescriptor = parameters.lookupParameter(parameterId);
270
- if (parameterDescriptor) {
271
- if (isDefinedStringList(options[parameterId]) && parameterDescriptor.type === 'string[]') {
272
- const newListValue = parseWithProperType(value, parameterDescriptor);
273
- if (isDefinedStringList(newListValue)) {
274
- options[parameterId] = options[parameterId].concat(newListValue);
275
- }
276
- else {
277
- throw new Exceptions_1.InvalidConfigurationException(`Invalid value for parameter "${parameterDescriptor.longParameter}": Expected a list of strings, got "${value}".`);
278
- }
279
- }
280
- else {
281
- options[parameterId] = parseWithProperType(value, parameterDescriptor);
282
- }
283
- }
284
- else {
285
- throw new Exceptions_1.InvalidConfigurationException(`Unknown configuration parameter: ${key}`);
286
- }
287
- }
288
- return { options, unnamedArguments };
289
- }
290
- function printHelp(parameters, aboutText, printParamterId = false) {
291
- const lines = [];
292
- if (aboutText) {
293
- lines.push(aboutText);
294
- lines.push('');
295
- }
296
- if (!printParamterId) {
297
- lines.push('Usage:');
298
- }
299
- const grouped = groupAndSortParameterDescriptors(parameters);
300
- for (const group of grouped) {
301
- if (group.groupTitle) {
302
- lines.push('');
303
- lines.push(`# ${group.groupTitle}`);
304
- lines.push('');
305
- }
306
- if (group.groupHint) {
307
- lines.push(restrictLineLengthTo(group.groupHint, 80));
308
- lines.push('');
309
- }
310
- for (const descriptor of group.parameters) {
311
- if (descriptor.internal) {
312
- continue;
313
- }
314
- function getArgumentPlaceholder() {
315
- const singleArgumentName = descriptor.environmentVariableName;
316
- if (descriptor.type === "bool") {
317
- return "";
318
- }
319
- else if (descriptor.type === "string[]") {
320
- return ` ${singleArgumentName}, .., ${singleArgumentName}`;
321
- }
322
- else {
323
- return ` ${singleArgumentName}`;
324
- }
325
- }
326
- const options = [];
327
- if (printParamterId) {
328
- options.push(`Parameter "${descriptor.parameterId}" (${descriptor.type})`);
329
- }
330
- else {
331
- if (descriptor.shortParameter) {
332
- options.push(`${descriptor.shortParameter}${getArgumentPlaceholder()}`);
333
- }
334
- options.push(`${descriptor.longParameter}${getArgumentPlaceholder()}`);
335
- }
336
- const help = ensureTabAfterNewline(restrictLineLengthTo(descriptor.help, 80));
337
- const defaultValue = descriptor.default ? `Default: ${descriptor.default}` : undefined;
338
- lines.push(` ${options.join(', ')}`);
339
- if (help) {
340
- lines.push(`\t${help}`);
341
- }
342
- if (defaultValue) {
343
- lines.push(`\t${defaultValue}`);
344
- }
345
- }
346
- }
347
- lines.push('');
348
- console.log(lines.join('\n'));
349
- }
350
- function restrictLineLengthTo(text, maxLineLength) {
351
- text = text.replace(/\n/g, ' ');
352
- const words = text.split(' ');
353
- const lines = [];
354
- let currentLine = '';
355
- for (const word of words) {
356
- if (currentLine.length + word.length + 1 > maxLineLength) {
357
- lines.push(currentLine);
358
- currentLine = '';
359
- }
360
- if (currentLine.length > 0) {
361
- currentLine += ' ';
362
- }
363
- currentLine += word;
364
- }
365
- if (currentLine.length > 0) {
366
- lines.push(currentLine);
367
- }
368
- return lines.join('\n');
369
- }
370
- function ensureTabAfterNewline(text) {
371
- if (!text) {
372
- return undefined;
373
- }
374
- return text.replace(/\n/g, '\n\t');
375
- }
376
- function groupAndSortParameterDescriptors(parameters) {
377
- var _a, _b, _c;
378
- const parametersByGroup = new Map();
379
- const groupOrders = new Map();
380
- const groupHints = new Map();
381
- for (const parameter of parameters.getParameters()) {
382
- const groupTitle = (_a = parameter.group) === null || _a === void 0 ? void 0 : _a.title;
383
- if (parameter.group) {
384
- groupOrders.set(groupTitle, parameter.group.order);
385
- }
386
- if ((_b = parameter.group) === null || _b === void 0 ? void 0 : _b.hints) {
387
- groupHints.set(groupTitle, (_c = parameter.group) === null || _c === void 0 ? void 0 : _c.hints);
388
- }
389
- const groupParameters = parametersByGroup.get(groupTitle) || [];
390
- groupParameters.push(parameter);
391
- parametersByGroup.set(groupTitle, groupParameters);
392
- }
393
- return Array.from(parametersByGroup.entries())
394
- .sort(([groupTitle1], [groupTitle2]) => {
395
- var _a, _b;
396
- const order1 = (_a = groupOrders.get(groupTitle1)) !== null && _a !== void 0 ? _a : Number.MAX_VALUE;
397
- const order2 = (_b = groupOrders.get(groupTitle2)) !== null && _b !== void 0 ? _b : Number.MAX_VALUE;
398
- return order1 - order2;
399
- })
400
- .map(([groupTitle, parameters]) => ({
401
- groupTitle,
402
- groupHint: groupHints.get(groupTitle),
403
- parameters: parameters.sort((a, b) => a.longParameter.localeCompare(b.longParameter))
404
- }));
405
- }
406
- function checkArguments(configParameters, options, errorReceiver) {
407
- let argumentsValid = true;
408
- if (!errorReceiver) {
409
- errorReceiver = (error) => {
410
- console.error(error);
411
- };
412
- }
413
- for (const argumentCheck of configParameters.getArgumentChecks()) {
414
- const checkError = argumentCheck(options);
415
- if (checkError) {
416
- errorReceiver('Invalid configuration: ' + checkError);
417
- argumentsValid = false;
418
- }
419
- }
420
- return argumentsValid;
421
- }
422
- function processCommandLine(parameters, appInfos, args, beforeCheckCallback) {
423
- args = args !== null && args !== void 0 ? args : node_process_1.default.argv.slice(2);
424
- const configParameters = parameters.clone();
425
- configParameters.addParameter('-h', '--help', 'bool', {
426
- help: 'Show this help message and exit.',
427
- group: exports.CONFIG_GROUP_APP, disableEnvironmentVariableOverride: true
428
- });
429
- configParameters.addParameter('-v', '--version', 'bool', {
430
- help: 'Show the version number and exit.',
431
- group: exports.CONFIG_GROUP_APP, disableEnvironmentVariableOverride: true
432
- });
433
- const options = parseArguments(args, configParameters);
434
- if (options.version) {
435
- console.log(`${appInfos.name} v${appInfos.version}`);
436
- node_process_1.default.exit(0);
437
- }
438
- if (options.help) {
439
- printHelp(configParameters, appInfos.about);
440
- node_process_1.default.exit(0);
441
- }
442
- if (beforeCheckCallback) {
443
- beforeCheckCallback(options);
444
- }
445
- if (!checkArguments(configParameters, options)) {
446
- console.error('\nArguments were missing or invalid. Please check the --help for more information. Exiting with error code 1.');
447
- node_process_1.default.exit(1);
448
- }
449
- return options;
450
- }
451
- function parameterUnion(parameters1, parameters2) {
452
- const result = parameters1.clone();
453
- result.addAllOf(parameters2);
454
- return result;
455
- }
456
- //# sourceMappingURL=ConfigParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigParser.js","sourceRoot":"","sources":["../src/ConfigParser.ts"],"names":[],"mappings":";;;;;;AAiHA,gEAGC;AAQD,wFAGC;AAqLD,wCAgFC;AAyDD,0CAmCC;AASD,8BAsEC;AA0ED,wCAiBC;AAKD,gDAmCC;AAKD,wCAIC;AAprBD,gEAAmC;AACnC,6CAA6D;AAwChD,QAAA,gBAAgB,GAAmB;IAC/C,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,aAAa;CACpB,CAAC;AA4CF,SAAS,qBAAqB,CAAC,mBAAwC;IACtE,IAAI,mBAAmB,CAAC,IAAI,KAAK,KAAK,IAAI,mBAAmB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjF,OAAO,CAAC,CAAC;IACV,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,CAAC,CAAC;IACV,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,iBAAiB,CAAC;IACjC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,0CAA6B,CAAC,+BAA+B,mBAAmB,CAAC,IAAI,oBAAoB,mBAAmB,CAAC,aAAa,IAAI,CAAC,CAAC;IAC3J,CAAC;AACF,CAAC;AAQD,SAAgB,0BAA0B,CAAC,aAAqB;IAC/D,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AAQD,SAAgB,sCAAsC,CAAC,aAAqB;IAC3E,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAMD,MAAa,uBAAuB;IAUnC;QACC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,CAAC;IAUM,YAAY,CAAC,cAAkC,EAAE,aAAqB,EAAE,IAAyB,EACnG,UAAsC,EAAE;;QAC5C,MAAM,WAAW,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,uBAAuB,GAAG,sCAAsC,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc;YACrF,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,uBAAuB,EAAE,CAAC,CAAC;IAC7B,CAAC;IAQM,gBAAgB,CAAC,KAA+D;QACtF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAKM,sBAAsB,CAAC,WAAmB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,0CAA6B,CAAC,sBAAsB,WAAW,IAAI,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,0CAA6B,CAAC,cAAc,WAAW,yCAAyC,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,eAAwC,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,4CAA4C,SAAS,CAAC,aAAa,KAAK;oBAC9E,4BAA4B,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC;IASM,iBAAiB,CAAC,WAAmB,EAAE,UAA+B;QAC5E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAG7C,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1F,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,0CAA6B,CAAC,oBAAoB,gBAAgB,eAAe,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAC1E,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;gBACtE,MAAM,IAAI,0CAA6B,CAAC,oBAAoB,gBAAgB,qCAAqC,eAAe,IAAI,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5E,CAAC;QAGD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAQM,eAAe,CAAC,WAAmB;QACzC,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAOM,aAAa;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAKM,iBAAiB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAOM,uBAAuB;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAKM,KAAK;QACX,MAAM,KAAK,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAKM,QAAQ,CAAC,KAA8B;QAC7C,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;CACD;AArKD,0DAqKC;AAUD,SAAgB,cAAc,CAC7B,IAAc,EAAE,UAAmC;IAEnD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,eAAgD,CAAC;IACrD,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,SAAS,eAAe;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,IAAI,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,0CAA6B,CAAC,gCAAgC,eAAe,CAAC,aAAa,IAAI,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC3C,eAAe,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAGvD,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,yBAAyB,CAAC;YACjE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,0CAA6B,CAAC,gCAAgC,eAAe,CAAC,aAAa,mCAAmC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YACpK,CAAC;YACD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAChG,CAAC;QAED,eAAe,GAAG,SAAS,CAAC;QAC5B,eAAe,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,eAAe,EAAE,CAAC;YAElB,MAAM,WAAW,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACzD,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,MAAM,IAAI,0CAA6B,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YACzF,CAAC;YAED,iBAAiB,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,MAAM,IAAI,0CAA6B,CAAC,yDAAyD,QAAQ,uFAAuF,CAAC,CAAC;YACnM,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,iBAAiB,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC7B,eAAe,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,eAAe,EAAE,CAAA;IAIjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,MAAM,gBAAgB,GAAG,sBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACxE,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,kCAAkC,EAAE,CAAC;gBACvE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAClF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,MAA8B,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAClC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,mBAAwC;IACnF,IAAI,mBAAmB,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,0CAA6B,CAAC,gCAAgC,mBAAmB,CAAC,aAAa,gCAAgC,KAAK,IAAI,CAAC,CAAC;QACrJ,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACd,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,0CAA6B,CAAC,gCAAgC,mBAAmB,CAAC,aAAa,+BAA+B,KAAK,IAAI,CAAC,CAAC;QACpJ,CAAC;IACF,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,0CAA6B,CAAC,+BAA+B,mBAAmB,CAAC,IAAI,oBAAoB,mBAAmB,CAAC,aAAa,IAAI,CAAC,CAAC;IAC3J,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAe;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AAChF,CAAC;AAUD,SAAgB,eAAe,CAAC,WAAmB,EAAE,UAAmC;IACvF,MAAM,OAAO,GAAyD,EAAE,CAAC;IACzE,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,SAAS;QACV,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnF,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,SAAS;QACV,CAAC;QAED,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,mBAAmB,GAAG,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,mBAAmB,EAAE,CAAC;YACzB,IAAI,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC1F,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBACrE,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,0CAA6B,CAAC,gCAAgC,mBAAmB,CAAC,aAAa,uCAAuC,KAAK,IAAI,CAAC,CAAC;gBAC5J,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,0CAA6B,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACtC,CAAC;AASD,SAAgB,SAAS,CAAC,UAAmC,EAAE,SAAkB,EAAE,eAAe,GAAG,KAAK;IACzG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACf,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAIzB,SAAS;YACV,CAAC;YAED,SAAS,sBAAsB;gBAC9B,MAAM,kBAAkB,GAAG,UAAU,CAAC,uBAAuB,CAAC;gBAC9D,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC;gBACX,CAAC;qBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3C,OAAO,IAAI,kBAAkB,SAAS,kBAAkB,EAAE,CAAA;gBAC3D,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACjC,CAAC;YACF,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,WAAW,MAAM,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACP,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,cAAc,GAAG,sBAAsB,EAAE,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,GAAG,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9E,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAEvF,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,CAAC;AAMD,SAAS,oBAAoB,CAAC,IAAY,EAAE,aAAqB;IAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,WAAW,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,IAAI,GAAG,CAAC;QACpB,CAAC;QACD,WAAW,IAAI,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAwB;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAID,SAAS,gCAAgC,CAAC,UAAmC;;IAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6C,CAAC;IAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IAGzD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,KAAK,0CAAE,KAAK,CAAC;QAC1C,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,MAAA,SAAS,CAAC,KAAK,0CAAE,KAAK,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAA,SAAS,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAChE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAGD,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;;QACtC,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,MAAM,CAAC,SAAS,CAAC;QAChE,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,MAAM,CAAC,SAAS,CAAC;QAChE,OAAO,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,UAAU;QACV,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;QACrC,UAAU,EAAE,UAAU,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC1D,CAAC,CAAC,CAAC;AACN,CAAC;AAKD,SAAgB,cAAc,CAAC,gBAAyC,EAAE,OAAgB,EAChF,aAAuC;IAChD,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YAChB,aAAa,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;YACtD,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC;AAKD,SAAgB,kBAAkB,CAAI,UAAmC,EAAE,QAAkB,EAAE,IAAe,EACnG,mBAA0C;IAEpD,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,sBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErC,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5C,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;QACrD,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,wBAAgB,EAAE,kCAAkC,EAAE,IAAI;KACjE,CAAC,CAAC;IACH,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;QACxD,IAAI,EAAE,mCAAmC;QACzC,KAAK,EAAE,wBAAgB,EAAE,kCAAkC,EAAE,IAAI;KACjE,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAA0B,CAAC;IAChF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,CAAC,OAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,+GAA+G,CAAC,CAAC;QAC/H,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,OAAY,CAAC;AACrB,CAAC;AAKD,SAAgB,cAAc,CAAC,WAAoC,EAAE,WAAoC;IACxG,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1,19 +0,0 @@
1
- import { ConfigurationParameters, ConfigValueType, Options } from './ConfigParser';
2
- export declare class ConfigurationWithOverwrites<BaseConfigType extends Options> {
3
- private readonly baseConfiguration;
4
- private readonly redefinableParameters;
5
- private readonly allParameters;
6
- private overwrites;
7
- private hash?;
8
- constructor(allParameters: ConfigurationParameters, redefinableParameters: ConfigurationParameters, baseConfiguration: Record<string, ConfigValueType>, overwrites?: Record<string, ConfigValueType>);
9
- get(parameterId: string): ConfigValueType;
10
- set(parameterId: string, value: ConfigValueType): void;
11
- overwriteConfig(parameter: string, value: ConfigValueType | undefined): void;
12
- private castConfigArgument;
13
- private assertParameterExists;
14
- private getParameter;
15
- getHash(): string;
16
- copy(): ConfigurationWithOverwrites<BaseConfigType>;
17
- }
18
- export declare function makeConfigProxy<BaseConfigType extends Options>(configuration: ConfigurationWithOverwrites<BaseConfigType>): BaseConfigType;
19
- //# sourceMappingURL=ConfigWithOverwrites.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigWithOverwrites.d.ts","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":"AACA,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,OAAO,EAGP,MAAM,gBAAgB,CAAC;AAQxB,qBAAa,2BAA2B,CAAC,cAAc,SAAS,OAAO;IAEtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0B;IAEhE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAExD,OAAO,CAAC,UAAU,CAAkC;IAEpD,OAAO,CAAC,IAAI,CAAC,CAAS;gBAEV,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB,EAC/F,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAW5F,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAQzC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAYtD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAWnF,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,YAAY;IAWb,OAAO,IAAI,MAAM;IAoBjB,IAAI,IAAI,2BAA2B,CAAC,cAAc,CAAC;CAM1D;AAKD,wBAAgB,eAAe,CAAC,cAAc,SAAS,OAAO,EAC7D,aAAa,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAU3E"}
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigurationWithOverwrites = void 0;
4
- exports.makeConfigProxy = makeConfigProxy;
5
- const Contract_1 = require("./Contract");
6
- const ConfigParser_1 = require("./ConfigParser");
7
- const node_crypto_1 = require("node:crypto");
8
- class ConfigurationWithOverwrites {
9
- constructor(allParameters, redefinableParameters, baseConfiguration, overwrites) {
10
- this.baseConfiguration = Contract_1.Contract.requireDefined(baseConfiguration);
11
- this.redefinableParameters = Contract_1.Contract.requireDefined(redefinableParameters);
12
- this.allParameters = Contract_1.Contract.requireDefined(allParameters);
13
- this.overwrites = overwrites !== null && overwrites !== void 0 ? overwrites : {};
14
- this.hash = undefined;
15
- }
16
- get(parameterId) {
17
- var _a;
18
- this.assertParameterExists(parameterId);
19
- return (_a = this.overwrites[parameterId]) !== null && _a !== void 0 ? _a : this.baseConfiguration[parameterId];
20
- }
21
- set(parameterId, value) {
22
- if (this.redefinableParameters.lookupParameter(parameterId) === undefined) {
23
- throw new Error(`Unknown configuration parameter: ${parameterId}`);
24
- }
25
- this.overwriteConfig(parameterId, value);
26
- this.hash = undefined;
27
- }
28
- overwriteConfig(parameter, value) {
29
- const parameterId = (0, ConfigParser_1.parameterNameToParameterId)(parameter);
30
- this.assertParameterExists(parameterId);
31
- if (value === undefined) {
32
- delete this.overwrites[parameterId];
33
- return;
34
- }
35
- this.overwrites[parameterId] = this.castConfigArgument(parameterId, value);
36
- this.hash = undefined;
37
- }
38
- castConfigArgument(parameterId, value) {
39
- const parameter = this.getParameter(parameterId);
40
- const type = parameter.type;
41
- if (type === 'int') {
42
- if (typeof value === 'number') {
43
- return Math.floor(value);
44
- }
45
- if (typeof value === 'string') {
46
- return parseInt(value, 10);
47
- }
48
- if (typeof value === 'boolean') {
49
- return value ? 1 : 0;
50
- }
51
- }
52
- else if (type === 'bool') {
53
- if (typeof value === 'boolean') {
54
- return value;
55
- }
56
- if (typeof value === 'string') {
57
- return value.toLowerCase() === 'true';
58
- }
59
- if (typeof value === 'number') {
60
- return value !== 0;
61
- }
62
- }
63
- else if (type === 'string[]') {
64
- if (value === undefined || value == null) {
65
- return [];
66
- }
67
- if (Array.isArray(value)) {
68
- return value.map(String);
69
- }
70
- if (typeof value === 'string') {
71
- return value.split(',').map(s => s.trim());
72
- }
73
- }
74
- else {
75
- return String(value);
76
- }
77
- throw new Error(`Cannot cast value of type ${typeof value} to ${type}`);
78
- }
79
- assertParameterExists(parameterId) {
80
- if (this.allParameters.lookupParameter(parameterId) === undefined) {
81
- throw new Error(`Unknown configuration parameter: ${parameterId}`);
82
- }
83
- }
84
- getParameter(parameterId) {
85
- const parameter = this.redefinableParameters.lookupParameter(parameterId);
86
- if (parameter === undefined) {
87
- throw new Error(`Unknown configuration parameter: ${parameterId}`);
88
- }
89
- return parameter;
90
- }
91
- getHash() {
92
- if (this.hash === undefined) {
93
- const hash = (0, node_crypto_1.createHash)('sha256');
94
- for (const [key, value] of Object.entries(this.baseConfiguration)) {
95
- hash.update(key);
96
- hash.update(String(value));
97
- }
98
- for (const [key, value] of Object.entries(this.overwrites)) {
99
- hash.update(key);
100
- hash.update(String(value));
101
- }
102
- this.hash = hash.digest('hex');
103
- }
104
- return this.hash;
105
- }
106
- copy() {
107
- const overwritesCopy = JSON.parse(JSON.stringify(this.overwrites));
108
- return new ConfigurationWithOverwrites(this.allParameters, this.redefinableParameters, this.baseConfiguration, overwritesCopy);
109
- }
110
- }
111
- exports.ConfigurationWithOverwrites = ConfigurationWithOverwrites;
112
- function makeConfigProxy(configuration) {
113
- return new Proxy(configuration, {
114
- get(_, property) {
115
- return configuration.get(property.toString());
116
- },
117
- set(target, property, value) {
118
- configuration.set(property.toString(), value);
119
- return true;
120
- }
121
- });
122
- }
123
- //# sourceMappingURL=ConfigWithOverwrites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigWithOverwrites.js","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":"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"}
package/lib/Contract.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export type Nullable<Type> = Type | null;
2
- export declare class Contract {
3
- static require(condition: boolean, message?: string): void;
4
- static requireDefined<E>(obj: Nullable<E>, message?: string): E;
5
- static requireNonEmpty(text: string, message?: string): string;
6
- static requireStringPattern(text: string, regexp: string | RegExp, message?: string): string;
7
- }
8
- //# sourceMappingURL=Contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Contract.d.ts","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AAKzC,qBAAa,QAAQ;WAON,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;WAYnD,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;WA2BxD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;WAgBvD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;CAUnG"}