@shapediver/viewer.shared.services 3.3.10 → 3.4.1
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/package.json +4 -4
- package/dist/parameter-utils/ParameterValidator.d.ts +0 -3
- package/dist/parameter-utils/ParameterValidator.d.ts.map +0 -1
- package/dist/parameter-utils/ParameterValidator.js +0 -107
- package/dist/parameter-utils/ParameterValidator.js.map +0 -1
- package/dist/parameter-validator/ParameterValidator.d.ts +0 -3
- package/dist/parameter-validator/ParameterValidator.d.ts.map +0 -1
- package/dist/parameter-validator/ParameterValidator.js +0 -107
- package/dist/parameter-validator/ParameterValidator.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/viewer.shared.services",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michael Oppitz <michael@shapediver.com>",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@ctrl/tinycolor": "^3.4.0",
|
|
42
|
-
"@shapediver/sdk.geometry-api-sdk-v2": "1.
|
|
42
|
+
"@shapediver/sdk.geometry-api-sdk-v2": "1.12.1",
|
|
43
43
|
"@shapediver/viewer.settings": "1.0.2",
|
|
44
|
-
"@shapediver/viewer.shared.build-data": "3.
|
|
44
|
+
"@shapediver/viewer.shared.build-data": "3.4.1",
|
|
45
45
|
"@types/dompurify": "^2.3.1",
|
|
46
46
|
"@types/ua-parser-js": "^0.7.36",
|
|
47
47
|
"@types/uuid": "^9.0.0",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"ua-parser-js": "^0.7.28",
|
|
52
52
|
"uuid": "^9.0.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "eef83d458ad0f25c57ccd13d73b179d56247bc3f"
|
|
55
55
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterValidator.d.ts","sourceRoot":"","sources":["../../src/parameter-utils/ParameterValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAA6E,MAAM,qCAAqC,CAAC;AAG7J,eAAO,MAAM,OAAO,eAAgB,2BAA2B,SAAS,OAAO,KAAG,OAiGjF,CAAC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValid = void 0;
|
|
4
|
-
const InputValidator_1 = require("../input-validator/InputValidator");
|
|
5
|
-
const api_geometry_api_dto_v2_1 = require("@shapediver/api.geometry-api-dto-v2");
|
|
6
|
-
const ShapeDiverViewerErrors_1 = require("../logger/ShapeDiverViewerErrors");
|
|
7
|
-
const isValid = (definition, value) => {
|
|
8
|
-
const { id, type, min, max, decimalplaces, choices, visualization } = definition;
|
|
9
|
-
switch (true) {
|
|
10
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.BOOL:
|
|
11
|
-
if (typeof value === 'string') {
|
|
12
|
-
if (!(value === 'true' || value === 'false'))
|
|
13
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is a string that is neither true or false.`);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'boolean');
|
|
17
|
-
}
|
|
18
|
-
break;
|
|
19
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.COLOR:
|
|
20
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'color');
|
|
21
|
-
break;
|
|
22
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.FILE:
|
|
23
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'file');
|
|
24
|
-
break;
|
|
25
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.EVEN || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.FLOAT || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.INT || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.ODD:
|
|
26
|
-
{
|
|
27
|
-
let temp = value;
|
|
28
|
-
if (typeof value === 'string')
|
|
29
|
-
temp = +value;
|
|
30
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
31
|
-
if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.EVEN) {
|
|
32
|
-
if (temp % 2 !== 0)
|
|
33
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not even.`);
|
|
34
|
-
}
|
|
35
|
-
else if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.ODD) {
|
|
36
|
-
if (temp % 2 === 0)
|
|
37
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not odd.`);
|
|
38
|
-
}
|
|
39
|
-
else if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.INT) {
|
|
40
|
-
if (!Number.isInteger(temp))
|
|
41
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not an integer.`);
|
|
42
|
-
}
|
|
43
|
-
if (min || min === 0)
|
|
44
|
-
if (temp < min)
|
|
45
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is smaller than the minimum ${min}.`);
|
|
46
|
-
if (max || max === 0)
|
|
47
|
-
if (temp > max)
|
|
48
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is larger than the maximum ${max}.`);
|
|
49
|
-
if (decimalplaces || decimalplaces === 0) {
|
|
50
|
-
const numStr = temp + '';
|
|
51
|
-
let decimalplaces = 0;
|
|
52
|
-
if (numStr.includes('.'))
|
|
53
|
-
decimalplaces = numStr.split('.')[1].length;
|
|
54
|
-
if (decimalplaces < decimalplaces)
|
|
55
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} has not the correct number of decimalplaces (${decimalplaces}).`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
break;
|
|
59
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.STRINGLIST:
|
|
60
|
-
{
|
|
61
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'string');
|
|
62
|
-
const choicesChecker = (v) => {
|
|
63
|
-
// has to be a single value that is
|
|
64
|
-
// 1. convertible to number
|
|
65
|
-
// 2. between 0 and choices.length -1
|
|
66
|
-
const temp = +v;
|
|
67
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
68
|
-
if (temp < 0 || temp > choices.length - 1)
|
|
69
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${v} is not within the range of the defined number choices.`);
|
|
70
|
-
};
|
|
71
|
-
if (visualization === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterVisualization.CHECKLIST) {
|
|
72
|
-
// comma separated numbers
|
|
73
|
-
if (value.includes(',')) {
|
|
74
|
-
const values = value.split(',');
|
|
75
|
-
for (let i = 0; i < values.length; i++) {
|
|
76
|
-
if (values.filter(item => item === values[i]).length !== 1)
|
|
77
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${values[i]} exists multiple times, but should only exist once.`);
|
|
78
|
-
choicesChecker(values[i]);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
// to number
|
|
83
|
-
let temp = value;
|
|
84
|
-
if (typeof value === 'string')
|
|
85
|
-
temp = +value;
|
|
86
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
87
|
-
choicesChecker(value);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// to number
|
|
92
|
-
let temp = value;
|
|
93
|
-
if (typeof value === 'string')
|
|
94
|
-
temp = +value;
|
|
95
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
96
|
-
choicesChecker(value);
|
|
97
|
-
}
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
default:
|
|
101
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'string');
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
return true;
|
|
105
|
-
};
|
|
106
|
-
exports.isValid = isValid;
|
|
107
|
-
//# sourceMappingURL=ParameterValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterValidator.js","sourceRoot":"","sources":["../../src/parameter-utils/ParameterValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterValidator.d.ts","sourceRoot":"","sources":["../../src/parameter-validator/ParameterValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAA6E,MAAM,qCAAqC,CAAC;AAG7J,eAAO,MAAM,OAAO,eAAgB,2BAA2B,SAAS,OAAO,KAAG,OAiGjF,CAAC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValid = void 0;
|
|
4
|
-
const InputValidator_1 = require("../input-validator/InputValidator");
|
|
5
|
-
const api_geometry_api_dto_v2_1 = require("@shapediver/api.geometry-api-dto-v2");
|
|
6
|
-
const ShapeDiverViewerErrors_1 = require("../logger/ShapeDiverViewerErrors");
|
|
7
|
-
const isValid = (definition, value) => {
|
|
8
|
-
const { id, type, min, max, decimalplaces, choices, visualization } = definition;
|
|
9
|
-
switch (true) {
|
|
10
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.BOOL:
|
|
11
|
-
if (typeof value === 'string') {
|
|
12
|
-
if (!(value === 'true' || value === 'false'))
|
|
13
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is a string that is neither true or false.`);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'boolean');
|
|
17
|
-
}
|
|
18
|
-
break;
|
|
19
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.COLOR:
|
|
20
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'color');
|
|
21
|
-
break;
|
|
22
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.FILE:
|
|
23
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'file');
|
|
24
|
-
break;
|
|
25
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.EVEN || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.FLOAT || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.INT || type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.ODD:
|
|
26
|
-
{
|
|
27
|
-
let temp = value;
|
|
28
|
-
if (typeof value === 'string')
|
|
29
|
-
temp = +value;
|
|
30
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
31
|
-
if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.EVEN) {
|
|
32
|
-
if (temp % 2 !== 0)
|
|
33
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not even.`);
|
|
34
|
-
}
|
|
35
|
-
else if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.ODD) {
|
|
36
|
-
if (temp % 2 === 0)
|
|
37
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not odd.`);
|
|
38
|
-
}
|
|
39
|
-
else if (type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.INT) {
|
|
40
|
-
if (!Number.isInteger(temp))
|
|
41
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is not an integer.`);
|
|
42
|
-
}
|
|
43
|
-
if (min || min === 0)
|
|
44
|
-
if (temp < min)
|
|
45
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is smaller than the minimum ${min}.`);
|
|
46
|
-
if (max || max === 0)
|
|
47
|
-
if (temp > max)
|
|
48
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} is larger than the maximum ${max}.`);
|
|
49
|
-
if (decimalplaces || decimalplaces === 0) {
|
|
50
|
-
const numStr = temp + '';
|
|
51
|
-
let decimalplaces = 0;
|
|
52
|
-
if (numStr.includes('.'))
|
|
53
|
-
decimalplaces = numStr.split('.')[1].length;
|
|
54
|
-
if (decimalplaces < decimalplaces)
|
|
55
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${value} has not the correct number of decimalplaces (${decimalplaces}).`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
break;
|
|
59
|
-
case type === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterType.STRINGLIST:
|
|
60
|
-
{
|
|
61
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'string');
|
|
62
|
-
const choicesChecker = (v) => {
|
|
63
|
-
// has to be a single value that is
|
|
64
|
-
// 1. convertible to number
|
|
65
|
-
// 2. between 0 and choices.length -1
|
|
66
|
-
const temp = +v;
|
|
67
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
68
|
-
if (temp < 0 || temp > choices.length - 1)
|
|
69
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${v} is not within the range of the defined number choices.`);
|
|
70
|
-
};
|
|
71
|
-
if (visualization === api_geometry_api_dto_v2_1.ShapeDiverResponseParameterVisualization.CHECKLIST) {
|
|
72
|
-
// comma separated numbers
|
|
73
|
-
if (value.includes(',')) {
|
|
74
|
-
const values = value.split(',');
|
|
75
|
-
for (let i = 0; i < values.length; i++) {
|
|
76
|
-
if (values.filter(item => item === values[i]).length !== 1)
|
|
77
|
-
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerSessionError(`Parameter(${id}).isValid: The value ${values[i]} exists multiple times, but should only exist once.`);
|
|
78
|
-
choicesChecker(values[i]);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
// to number
|
|
83
|
-
let temp = value;
|
|
84
|
-
if (typeof value === 'string')
|
|
85
|
-
temp = +value;
|
|
86
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
87
|
-
choicesChecker(value);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// to number
|
|
92
|
-
let temp = value;
|
|
93
|
-
if (typeof value === 'string')
|
|
94
|
-
temp = +value;
|
|
95
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, temp, 'number');
|
|
96
|
-
choicesChecker(value);
|
|
97
|
-
}
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
default:
|
|
101
|
-
InputValidator_1.InputValidator.instance.validateAndError(`Parameter(${id}).isValid`, value, 'string');
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
return true;
|
|
105
|
-
};
|
|
106
|
-
exports.isValid = isValid;
|
|
107
|
-
//# sourceMappingURL=ParameterValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterValidator.js","sourceRoot":"","sources":["../../src/parameter-validator/ParameterValidator.ts"],"names":[],"mappings":";;;AAAA,sEAAmE;AACnE,iFAA6J;AAC7J,6EAAgF;AAEzE,MAAM,OAAO,GAAG,CAAC,UAAuC,EAAE,KAAc,EAAW,EAAE;IACxF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEjF,QAAQ,IAAI,EAAE;QACV,KAAK,IAAI,KAAK,yDAA+B,CAAC,IAAI;YAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC;oBACxC,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,6CAA6C,CAAC,CAAC;aACzI;iBAAM;gBACH,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;aAC1F;YACD,MAAM;QACV,KAAK,IAAI,KAAK,yDAA+B,CAAC,KAAK;YAC/C,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACrF,MAAM;QACV,KAAK,IAAI,KAAK,yDAA+B,CAAC,IAAI;YAC9C,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACpF,MAAM;QACV,KAAK,IAAI,KAAK,yDAA+B,CAAC,IAAI,IAAI,IAAI,KAAK,yDAA+B,CAAC,KAAK,IAAI,IAAI,KAAK,yDAA+B,CAAC,GAAG,IAAI,IAAI,KAAK,yDAA+B,CAAC,GAAG;YAChM;gBACI,IAAI,IAAI,GAAG,KAAe,CAAC;gBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;oBACzB,IAAI,GAAG,CAAC,KAAK,CAAC;gBAClB,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACrF,IAAI,IAAI,KAAK,yDAA+B,CAAC,IAAI,EAAE;oBAC/C,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;wBACd,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,eAAe,CAAC,CAAC;iBAC3G;qBAAM,IAAI,IAAI,KAAK,yDAA+B,CAAC,GAAG,EAAE;oBACrD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;wBACd,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,cAAc,CAAC,CAAC;iBAC1G;qBAAM,IAAI,IAAI,KAAK,yDAA+B,CAAC,GAAG,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBACvB,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,qBAAqB,CAAC,CAAC;iBACjH;gBACD,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;oBAChB,IAAI,IAAI,GAAG,GAAG;wBACV,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,gCAAgC,GAAG,GAAG,CAAC,CAAC;gBAEnI,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;oBAChB,IAAI,IAAI,GAAG,GAAG;wBACV,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,+BAA+B,GAAG,GAAG,CAAC,CAAC;gBAElI,IAAI,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE;oBACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACzB,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACpB,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAChD,IAAI,aAAa,GAAG,aAAa;wBAC7B,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,KAAK,iDAAiD,aAAa,IAAI,CAAC,CAAC;iBAC9J;aACJ;YACD,MAAM;QACV,KAAK,IAAI,KAAK,yDAA+B,CAAC,UAAU;YACpD;gBACI,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACtF,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE;oBACjC,mCAAmC;oBACnC,2BAA2B;oBAC3B,qCAAqC;oBACrC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;oBAChB,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACrF,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,OAAQ,CAAC,MAAM,GAAG,CAAC;wBACtC,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,CAAC,yDAAyD,CAAC,CAAC;gBAClJ,CAAC,CAAC;gBAEF,IAAI,aAAa,KAAK,kEAAwC,CAAC,SAAS,EAAE;oBACtE,0BAA0B;oBAC1B,IAAK,KAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACjC,MAAM,MAAM,GAAc,KAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;gCACtD,MAAM,IAAI,qDAA4B,CAAC,aAAa,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC;4BAClJ,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC7B;qBACJ;yBAAM;wBACH,YAAY;wBACZ,IAAI,IAAI,GAAG,KAAe,CAAC;wBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;4BACzB,IAAI,GAAG,CAAC,KAAK,CAAC;wBAClB,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACrF,cAAc,CAAC,KAAe,CAAC,CAAC;qBACnC;iBACJ;qBAAM;oBACH,YAAY;oBACZ,IAAI,IAAI,GAAG,KAAe,CAAC;oBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;wBACzB,IAAI,GAAG,CAAC,KAAK,CAAC;oBAClB,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACrF,cAAc,CAAC,KAAe,CAAC,CAAC;iBACnC;gBACD,MAAM;aACT;QACL;YACI,+BAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtF,MAAM;KACb;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAjGW,QAAA,OAAO,WAiGlB"}
|