@rosen-bridge/config 1.2.0 → 2.0.0-d62d28de
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/CHANGELOG.md +15 -0
- package/dist/cli.js +7 -7
- package/dist/config.d.ts +34 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +427 -92
- package/dist/schema/Validators/fieldProperties.d.ts +3 -0
- package/dist/schema/Validators/fieldProperties.d.ts.map +1 -1
- package/dist/schema/Validators/fieldProperties.js +12 -1
- package/dist/schema/types/fields.d.ts +11 -2
- package/dist/schema/types/fields.d.ts.map +1 -1
- package/dist/schema/types/fields.js +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -2
- package/dist/value/validators.d.ts.map +1 -1
- package/dist/value/validators.js +55 -13
- package/package.json +9 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @rosen-bridge/config
|
|
2
2
|
|
|
3
|
+
## 2.0.0-d62d28de
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Add `fromSchemaFile` method for loading and parsing a `schema.json` file from a specified path.
|
|
8
|
+
Add `buildConfigs` method to load configs, validate them, and return final config object.
|
|
9
|
+
|
|
10
|
+
### Minor Changes
|
|
11
|
+
|
|
12
|
+
- Add supporting union type in config
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Add ValueType to enforce type safety and avoid any
|
|
17
|
+
|
|
3
18
|
## 1.2.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/dist/cli.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --experimental-specifier-resolution=node
|
|
2
|
-
import yargs from 'yargs';
|
|
3
|
-
import { hideBin } from 'yargs/helpers';
|
|
4
2
|
import chalk from 'chalk';
|
|
5
|
-
import ora from 'ora';
|
|
6
|
-
import { ConfigValidator } from './index';
|
|
7
3
|
import * as fs from 'fs';
|
|
8
4
|
import * as yaml from 'js-yaml';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import yargs from 'yargs';
|
|
7
|
+
import { hideBin } from 'yargs/helpers';
|
|
9
8
|
import { JsonBigIntFactory } from '@rosen-bridge/json-bigint';
|
|
9
|
+
import { ConfigValidator } from './index';
|
|
10
10
|
const JsonBigInt = JsonBigIntFactory({
|
|
11
11
|
alwaysParseAsBig: false,
|
|
12
12
|
useNativeBigInt: true,
|
|
@@ -37,7 +37,7 @@ yargs(hideBin(process.argv))
|
|
|
37
37
|
spinner.start(`Generating config default values`);
|
|
38
38
|
const rawSchemaData = fs.readFileSync(argv.schema, 'utf-8');
|
|
39
39
|
const schema = JsonBigInt.parse(rawSchemaData);
|
|
40
|
-
const confValidator =
|
|
40
|
+
const confValidator = ConfigValidator.fromSchema(schema);
|
|
41
41
|
const defaultConf = confValidator.generateDefault();
|
|
42
42
|
let output = '';
|
|
43
43
|
switch (argv.format) {
|
|
@@ -76,11 +76,11 @@ yargs(hideBin(process.argv))
|
|
|
76
76
|
spinner.start(`Generating TypeScript types`);
|
|
77
77
|
const rawSchemaData = fs.readFileSync(argv.schema, 'utf-8');
|
|
78
78
|
const schema = JsonBigInt.parse(rawSchemaData);
|
|
79
|
-
const confValidator =
|
|
79
|
+
const confValidator = ConfigValidator.fromSchema(schema);
|
|
80
80
|
const tsTypes = confValidator.generateTSTypes(argv.rootType);
|
|
81
81
|
fs.writeFileSync(argv.output, tsTypes);
|
|
82
82
|
spinner.succeed(chalk.green(`TypeScript types were output at "${argv.output}"`));
|
|
83
83
|
})
|
|
84
84
|
.demandCommand(1)
|
|
85
85
|
.parse();
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDO0lBQ25DLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsZUFBZSxFQUFFLElBQUk7Q0FDdEIsQ0FBQyxDQUFDO0FBRUgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekIsT0FBTyxDQUNOLGtCQUFrQixFQUNsQixtRUFBbUUsRUFDbkUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNSLEtBQUs7S0FDRixNQUFNLENBQUMsUUFBUSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxHQUFHO0lBQ1YsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLHVEQUF1RDtJQUNwRSxJQUFJLEVBQUUsUUFBUTtDQUNmLENBQUM7S0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxHQUFHO0lBQ1YsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLHNDQUFzQztJQUNuRCxJQUFJLEVBQUUsUUFBUTtDQUNmLENBQUM7S0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxHQUFHO0lBQ1YsWUFBWSxF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S0FBSyxDQUFDLG9DQUFvQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDaEUsQ0FBQztBQUNKLENBQUMsQ0FDRjtLQUNBLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDaEIsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiAtUyBub2RlIC0tZXhwZXJpbWVudGFsLXNwZWNpZmllci1yZXNvbHV0aW9uPW5vZGVcblxuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgaGlkZUJpbiB9IGZyb20gJ3lhcmdzL2hlbHBlcnMnO1xuXG5pbXBvcnQgeyBKc29uQmlnSW50RmFjdG9yeSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuXG5pbXBvcnQgeyBDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuL2luZGV4JztcblxuY29uc3QgSnNvbkJpZ0ludCA9IEpzb25CaWdJbnRGYWN0b3J5KHtcbiAgYWx3YXlzUGFyc2VBc0JpZzogZmFsc2UsXG4gIHVzZU5hdGl2ZUJpZ0ludDogdHJ1ZSxcbn0pO1xuXG55YXJncyhoaWRlQmluKHByb2Nlc3MuYXJndikpXG4gIC5jb21tYW5kKFxuICAgICdnZW5lcmF0ZS1kZWZhdWx0JyxcbiAgICAnZ2VuZXJhdGVzIGFuIG9iamVjdCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHBhc3NlZCBzY2hlbWEnLFxuICAgICh5YXJncykgPT5cbiAgICAgIHlhcmdzXG4gICAgICAgIC5vcHRpb24oJ3NjaGVtYScsIHtcbiAgICAgICAgICBhbGlhczogJ3MnLFxuICAgICAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ2lucHV0IHNjaGVtYSBmaWxlIHBhdGggd2hpY2ggc2hvdWxkIGJlIGluIGpzb24gZm9ybWF0JyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbignb3V0cHV0Jywge1xuICAgICAgICAgIGFsaWFzOiAnbycsXG4gICAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnZ2VuZXJhdGVkIGRlZmF1bHQgdmFsdWVzIG91dHB1dCBwYXRoJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbignZm9ybWF0Jywge1xuICAgICAgICAgIGFsaWFzOiAnZicsXG4gICAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnZ2VuZXJhdGVkIGRlZmF1bHQgdmFsdWVzIG91dHB1dCBwYXRoJyxcbiAgICAgICAgICBjaG9pY2VzOiBbJ2pzb24nLCAneWFtbCddLFxuICAgICAgICAgIGRlZmF1bHQ6ICd5YW1sJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSksXG4gICAgYXN5bmMgKGFyZ3YpID0+IHtcbiAgICAgIGNvbnN0IHNwaW5uZXIgPSBvcmEoKTtcbiAgICAgIHNwaW5uZXIuc3RhcnQoYEdlbmVyYXRpbmcgY29uZmlnIGRlZmF1bHQgdmFsdWVzYCk7XG5cbiAgICAgIGNvbnN0IHJhd1NjaGVtYURhdGEgPSBmcy5yZWFkRmlsZVN5bmMoYXJndi5zY2hlbWEsICd1dGYtOCcpO1xuICAgICAgY29uc3Qgc2NoZW1hID0gSnNvbkJpZ0ludC5wYXJzZShyYXdTY2hlbWFEYXRhKTtcblxuICAgICAgY29uc3QgY29uZlZhbGlkYXRvciA9IENvbmZpZ1ZhbGlkYXRvci5mcm9tU2NoZW1hKHNjaGVtYSk7XG4gICAgICBjb25zdCBkZWZhdWx0Q29uZiA9IGNvbmZWYWxpZGF0b3IuZ2VuZXJhdGVEZWZhdWx0KCk7XG5cbiAgICAgIGxldCBvdXRwdXQgPSAnJztcbiAgICAgIHN3aXRjaCAoYXJndi5mb3JtYXQpIHtcbiAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICBvdXRwdXQgPSBKc29uQmlnSW50LnN0cmluZ2lmeShkZWZhdWx0Q29uZik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAneWFtbCc6IHtcbiAgICAgICAgICBvdXRwdXQgPSB5YW1sLmR1bXAoZGVmYXVsdENvbmYpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoYXJndi5vdXRwdXQsIG91dHB1dCk7XG5cbiAgICAgIHNwaW5uZXIuc3VjY2VlZChcbiAgICAgICAgY2hhbGsuZ3JlZW4oYGRlZmF1bHQgY29uZmlnIHZhbHVlcyB3ZXJlIG91dHB1dCBhdCBcIiR7YXJndi5vdXRwdXR9XCJgKSxcbiAgICAgICk7XG4gICAgfSxcbiAgKVxuICAuY29tbWFuZChcbiAgICAnZ2VuZXJhdGUtdHMtdHlwZXMnLFxuICAgICdnZW5lcmF0ZXMgY29tcGF0aWJsZSBUeXBlU2NyaXB0IGludGVyZmFjZSB0eXBlcyBmb3IgdGhlIHBhc3NlZCBzY2hlbWEnLFxuICAgICh5YXJncykgPT5cbiAgICAgIHlhcmdzXG4gICAgICAgIC5vcHRpb24oJ3NjaGVtYScsIHtcbiAgICAgICAgICBhbGlhczogJ3MnLFxuICAgICAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ2lucHV0IHNjaGVtYSBmaWxlIHBhdGggd2hpY2ggc2hvdWxkIGJlIGluIGpzb24gZm9ybWF0JyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbignb3V0cHV0Jywge1xuICAgICAgICAgIGFsaWFzOiAnbycsXG4gICAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnZ2VuZXJhdGVkIFR5cGVTY3JpcHQgaW50ZXJmYWNlcycsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oJ3Jvb3QtdHlwZScsIHtcbiAgICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdG9wIHJvb3QgaW50ZXJmYWNlJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSksXG4gICAgYXN5bmMgKGFyZ3YpID0+IHtcbiAgICAgIGNvbnN0IHNwaW5uZXIgPSBvcmEoKTtcbiAgICAgIHNwaW5uZXIuc3RhcnQoYEdlbmVyYXRpbmcgVHlwZVNjcmlwdCB0eXBlc2ApO1xuXG4gICAgICBjb25zdCByYXdTY2hlbWFEYXRhID0gZnMucmVhZEZpbGVTeW5jKGFyZ3Yuc2NoZW1hLCAndXRmLTgnKTtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IEpzb25CaWdJbnQucGFyc2UocmF3U2NoZW1hRGF0YSk7XG5cbiAgICAgIGNvbnN0IGNvbmZWYWxpZGF0b3IgPSBDb25maWdWYWxpZGF0b3IuZnJvbVNjaGVtYShzY2hlbWEpO1xuICAgICAgY29uc3QgdHNUeXBlcyA9IGNvbmZWYWxpZGF0b3IuZ2VuZXJhdGVUU1R5cGVzKGFyZ3Yucm9vdFR5cGUpO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGFyZ3Yub3V0cHV0LCB0c1R5cGVzKTtcblxuICAgICAgc3Bpbm5lci5zdWNjZWVkKFxuICAgICAgICBjaGFsay5ncmVlbihgVHlwZVNjcmlwdCB0eXBlcyB3ZXJlIG91dHB1dCBhdCBcIiR7YXJndi5vdXRwdXR9XCJgKSxcbiAgICAgICk7XG4gICAgfSxcbiAgKVxuICAuZGVtYW5kQ29tbWFuZCgxKVxuICAucGFyc2UoKTtcbiJdfQ==
|
package/dist/config.d.ts
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import { IConfig } from 'config';
|
|
2
|
-
import { ConfigField, ConfigSchema } from './schema/types/fields';
|
|
2
|
+
import { ConfigField, ConfigSchema, ValueType } from './schema/types/fields';
|
|
3
3
|
import { When } from './schema/types/validations';
|
|
4
4
|
export declare class ConfigValidator {
|
|
5
5
|
private schema;
|
|
6
|
-
constructor(
|
|
6
|
+
private constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Builds and returns the final configuration object by transforming and validating
|
|
9
|
+
*
|
|
10
|
+
* T - The type of the final normalized configuration object.
|
|
11
|
+
* @returns {T} The normalized configuration object
|
|
12
|
+
*/
|
|
13
|
+
buildConfigs: <T>() => T;
|
|
14
|
+
/**
|
|
15
|
+
* create ConfigValidator from schema file path
|
|
16
|
+
*/
|
|
17
|
+
static fromFile: (schemaPath: string) => ConfigValidator;
|
|
18
|
+
/**
|
|
19
|
+
* create ConfigValidator from schema
|
|
20
|
+
*
|
|
21
|
+
* @param {ConfigSchema} schema
|
|
22
|
+
*/
|
|
23
|
+
static fromSchema: (schema: ConfigSchema) => ConfigValidator;
|
|
7
24
|
/**
|
|
8
25
|
* validates the passed config against the instance's schema
|
|
9
26
|
*
|
|
@@ -21,6 +38,18 @@ export declare class ConfigValidator {
|
|
|
21
38
|
* @memberof ConfigValidator
|
|
22
39
|
*/
|
|
23
40
|
private validateSubConfig;
|
|
41
|
+
/**
|
|
42
|
+
* traverses and validates a union subconfig using the subschema
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
* @param {any} value
|
|
46
|
+
* @param {UnionField} field
|
|
47
|
+
* @param {Record<string, any>} config
|
|
48
|
+
* @param {ConfigSchema} subSchema
|
|
49
|
+
* @param {string[]} childPath
|
|
50
|
+
* @param {string} name
|
|
51
|
+
*/
|
|
52
|
+
private validateUnionValue;
|
|
24
53
|
/**
|
|
25
54
|
* sets an object's specific subtree to the specified value
|
|
26
55
|
*
|
|
@@ -31,7 +60,7 @@ export declare class ConfigValidator {
|
|
|
31
60
|
* @return {*}
|
|
32
61
|
* @memberof ConfigValidator
|
|
33
62
|
*/
|
|
34
|
-
static modifyObject(obj: Record<string, any>, newValue:
|
|
63
|
+
static modifyObject(obj: Record<string, any>, newValue: ValueType, path: string[]): void;
|
|
35
64
|
/**
|
|
36
65
|
* validates a value in config object
|
|
37
66
|
*
|
|
@@ -49,7 +78,7 @@ export declare class ConfigValidator {
|
|
|
49
78
|
* @param {Record<string, any>} config
|
|
50
79
|
* @return {boolean}
|
|
51
80
|
*/
|
|
52
|
-
isWhenTrue: (when: When, config: Record<string, any>) => boolean;
|
|
81
|
+
isWhenTrue: (when: When, config: Record<string, any>, context?: Record<string, any>) => boolean;
|
|
53
82
|
/**
|
|
54
83
|
* returns the value at specified path in config object
|
|
55
84
|
*
|
|
@@ -58,7 +87,7 @@ export declare class ConfigValidator {
|
|
|
58
87
|
* @param {string[]} path
|
|
59
88
|
* @return {*}
|
|
60
89
|
*/
|
|
61
|
-
static valueAt: (config:
|
|
90
|
+
static valueAt: (config: any, path: string[]) => any;
|
|
62
91
|
/**
|
|
63
92
|
* validates this.schema and throws exception if any errors found
|
|
64
93
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAQhD,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAQhD,OAAO,EACL,WAAW,EACX,YAAY,EAEZ,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAYlD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO;IAKP;;;;;OAKG;IACH,YAAY,GAAI,CAAC,OAAK,CAAC,CAIrB;IAEF;;OAEG;IACH,MAAM,CAAC,QAAQ,GAAI,YAAY,MAAM,KAAG,eAAe,CAUrD;IAEF;;;;OAIG;IACH,MAAM,CAAC,UAAU,GAAI,QAAQ,YAAY,KAAG,eAAe,CAEzD;IAEF;;;;OAIG;IAEI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAWjD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA6FzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA+F1B;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CAEjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM,EAAE;IAgBhB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa,CA6EnB;IAEF;;;;;;;OAOG;IACI,UAAU,GACf,MAAM,IAAI,EAEV,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE3B,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC5B,OAAO,CAUR;IAEF;;;;;;;OAOG;IAEH,MAAM,CAAC,OAAO,GAAI,QAAQ,GAAG,EAAE,MAAM,MAAM,EAAE,SAc3C;IAEF;;OAEG;IACH,OAAO,CAAC,cAAc,CAgEpB;IAEF;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAIxB;IAEF;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CA4BzB;IAEF;;;;;OAKG;IACH,cAAc,GAAI,MAAM,MAAM,EAAE,KAAG,WAAW,GAAG,SAAS,CA0FxD;IAEF;;;;OAIG;IAEH,eAAe,GAAI,UAAU;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMvE;IAGF,OAAO,CAAC,sBAAsB,CAsC5B;IAEF;;;;;OAKG;IACH,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,CA4MtC;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAOpB;IAEF;;;;;;OAMG;IAEH,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAmCtE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA8CxC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAkDhC;IAEF;;;;;;;;OAQG;IACH,sBAAsB,GAEpB,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,QAAQ,OAAO,EACf,OAAO,MAAM,EACb,QAAQ,MAAM,UAqDd;CACH"}
|