@qrvey/widget-configurability 0.0.0-dev.1843 → 0.0.0-dev.2362
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/README.md +4 -1
- package/dist/cjs/constants/configs.js +5 -0
- package/dist/cjs/constants/configs.js.map +1 -1
- package/dist/cjs/constants/structure.constants.js +1 -0
- package/dist/cjs/constants/structure.constants.js.map +1 -1
- package/dist/cjs/structures/download-manager.structure.v1.js +101 -0
- package/dist/cjs/structures/download-manager.structure.v1.js.map +1 -0
- package/dist/cjs/structures/report.structure.v1.js.map +1 -1
- package/dist/esm/index.mjs +107 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -87,6 +87,7 @@ export {
|
|
|
87
87
|
export enum Widget {
|
|
88
88
|
DASHBOARD = 'dashboard',
|
|
89
89
|
REPORT = 'report'
|
|
90
|
+
DOWNLOAD_MANAGER = 'download-manager',
|
|
90
91
|
}
|
|
91
92
|
```
|
|
92
93
|
|
|
@@ -158,15 +159,17 @@ console.log(DashboardDoc.default);
|
|
|
158
159
|
|
|
159
160
|
### Customizing a Dashboard
|
|
160
161
|
|
|
162
|
+
|
|
161
163
|
```ts
|
|
162
164
|
import { buildStructure, Widget, WidgetVersion } from '@qrvey/widget-configurability';
|
|
163
165
|
import { customization } from './your-customizations';
|
|
164
166
|
|
|
165
167
|
const inst = buildStructure(
|
|
166
168
|
Widget.DASHBOARD,
|
|
167
|
-
WidgetVersion.v1,
|
|
168
169
|
customization, // your widget customization
|
|
170
|
+
WidgetVersion.v1, // optional - default latest
|
|
169
171
|
);
|
|
170
172
|
|
|
171
173
|
console.log(inst.isVisible('assetList')); // based on your customization
|
|
172
174
|
```
|
|
175
|
+
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.widgetConfigs = void 0;
|
|
7
7
|
const structure_constants_1 = require("./structure.constants");
|
|
8
8
|
const dashboard_structure_v1_1 = __importDefault(require("../structures/dashboard.structure.v1"));
|
|
9
|
+
const download_manager_structure_v1_1 = __importDefault(require("../structures/download-manager.structure.v1"));
|
|
9
10
|
const report_structure_v1_1 = __importDefault(require("../structures/report.structure.v1"));
|
|
10
11
|
exports.widgetConfigs = {
|
|
11
12
|
[structure_constants_1.Widget.DASHBOARD]: {
|
|
@@ -16,5 +17,9 @@ exports.widgetConfigs = {
|
|
|
16
17
|
[structure_constants_1.WidgetVersion.v1]: report_structure_v1_1.default,
|
|
17
18
|
[structure_constants_1.WidgetVersion.latest]: report_structure_v1_1.default,
|
|
18
19
|
},
|
|
20
|
+
[structure_constants_1.Widget.DOWNLOAD_MANAGER]: {
|
|
21
|
+
[structure_constants_1.WidgetVersion.v1]: download_manager_structure_v1_1.default,
|
|
22
|
+
[structure_constants_1.WidgetVersion.latest]: download_manager_structure_v1_1.default,
|
|
23
|
+
},
|
|
19
24
|
};
|
|
20
25
|
//# sourceMappingURL=configs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/constants/configs.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA8D;AAE9D,kGAAqE;AACrE,4FAA+D;AAElD,QAAA,aAAa,GAAqB;IAC3C,CAAC,4BAAM,CAAC,SAAS,CAAC,EAAE;QAChB,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,gCAAiB;QACrC,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,gCAAiB;KAC5C;IACD,CAAC,4BAAM,CAAC,MAAM,CAAC,EAAE;QACb,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,6BAAc;QAClC,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,6BAAc;KACzC;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/constants/configs.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA8D;AAE9D,kGAAqE;AACrE,gHAAkF;AAClF,4FAA+D;AAElD,QAAA,aAAa,GAAqB;IAC3C,CAAC,4BAAM,CAAC,SAAS,CAAC,EAAE;QAChB,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,gCAAiB;QACrC,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,gCAAiB;KAC5C;IACD,CAAC,4BAAM,CAAC,MAAM,CAAC,EAAE;QACb,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,6BAAc;QAClC,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,6BAAc;KACzC;IACD,CAAC,4BAAM,CAAC,gBAAgB,CAAC,EAAE;QACvB,CAAC,mCAAa,CAAC,EAAE,CAAC,EAAE,uCAAuB;QAC3C,CAAC,mCAAa,CAAC,MAAM,CAAC,EAAE,uCAAuB;KAClD;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.constants.js","sourceRoot":"","sources":["../../../src/constants/structure.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,GAAG,CAAC;AACvC,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,wBAAwB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAE5E,IAAY,
|
|
1
|
+
{"version":3,"file":"structure.constants.js","sourceRoot":"","sources":["../../../src/constants/structure.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,GAAG,CAAC;AACvC,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,wBAAwB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAE5E,IAAY,MAIX;AAJD,WAAY,MAAM;IACd,iCAAuB,CAAA;IACvB,2BAAiB,CAAA;IACjB,+CAAqC,CAAA;AACzC,CAAC,EAJW,MAAM,sBAAN,MAAM,QAIjB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,2BAAU,CAAA;IACV,kCAAiB,CAAA;AACrB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const downloadManagerV1Config = {
|
|
4
|
+
version: '1.0',
|
|
5
|
+
baseStructure: {
|
|
6
|
+
views: {
|
|
7
|
+
main: [
|
|
8
|
+
'header',
|
|
9
|
+
'controlBar',
|
|
10
|
+
'assetList',
|
|
11
|
+
'scheduleModal',
|
|
12
|
+
'moreInfoModal',
|
|
13
|
+
],
|
|
14
|
+
detail: [
|
|
15
|
+
'header',
|
|
16
|
+
'controlBar',
|
|
17
|
+
'assetList',
|
|
18
|
+
'scheduleModal',
|
|
19
|
+
'moreInfoModal',
|
|
20
|
+
'bottomBar',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
header: ['qTitle'],
|
|
24
|
+
controlBar: [
|
|
25
|
+
{
|
|
26
|
+
qFilterByFileType: [
|
|
27
|
+
'qTypeAll',
|
|
28
|
+
'qTypePDF',
|
|
29
|
+
'qTypeJPG',
|
|
30
|
+
'qTypeCSV',
|
|
31
|
+
'qTypeExcel',
|
|
32
|
+
'qTypeZIP',
|
|
33
|
+
],
|
|
34
|
+
qFilterByExecution: [
|
|
35
|
+
'qExcecAll',
|
|
36
|
+
'qExcecScheduled',
|
|
37
|
+
'qExcecOthers',
|
|
38
|
+
],
|
|
39
|
+
qFilterByWidget: [
|
|
40
|
+
'qWidgetAll',
|
|
41
|
+
'qWidgetAnalyze',
|
|
42
|
+
'qWidgetAutomation',
|
|
43
|
+
'qWidgetDash',
|
|
44
|
+
'qWidgetLegacyDash',
|
|
45
|
+
'qWidgetSubscriptions',
|
|
46
|
+
'qWidgetPPR',
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
'qFilterByAsset',
|
|
50
|
+
'qSearch',
|
|
51
|
+
'qRemoveFilters',
|
|
52
|
+
'qScheduleDetail',
|
|
53
|
+
'qFilesExported',
|
|
54
|
+
'qMoreInfo',
|
|
55
|
+
],
|
|
56
|
+
assetList: {
|
|
57
|
+
asset: [
|
|
58
|
+
{
|
|
59
|
+
optionMenu: [
|
|
60
|
+
'qDelete',
|
|
61
|
+
'qMoreInfo',
|
|
62
|
+
'qDeleteAllFiles',
|
|
63
|
+
'qEditSched',
|
|
64
|
+
'qPauseRestartSched',
|
|
65
|
+
'qUnsubscribe',
|
|
66
|
+
],
|
|
67
|
+
table: [
|
|
68
|
+
'qType',
|
|
69
|
+
'qSchedule',
|
|
70
|
+
'qSize',
|
|
71
|
+
'qCreationDate',
|
|
72
|
+
'qExpirationDate',
|
|
73
|
+
'qDownload',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
'qDrillToDetail',
|
|
77
|
+
'qUnsubscribe',
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
bottomBar: [
|
|
81
|
+
'qDeleteAllFiles',
|
|
82
|
+
'qEditSched',
|
|
83
|
+
'qPauseRestartSched',
|
|
84
|
+
'qDelete',
|
|
85
|
+
],
|
|
86
|
+
downloadModal: [
|
|
87
|
+
'qScheduleOption',
|
|
88
|
+
'qSubscribeOption',
|
|
89
|
+
'qSubscribeExternalUsers',
|
|
90
|
+
],
|
|
91
|
+
moreInfoModal: [
|
|
92
|
+
'qFileType',
|
|
93
|
+
'qSource',
|
|
94
|
+
'qOwner',
|
|
95
|
+
'qApplication',
|
|
96
|
+
'qPath',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
exports.default = downloadManagerV1Config;
|
|
101
|
+
//# sourceMappingURL=download-manager.structure.v1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-manager.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/download-manager.structure.v1.ts"],"names":[],"mappings":";;AAEA,MAAM,uBAAuB,GAAiB;IAC1C,OAAO,EAAE,KAAK;IACd,aAAa,EAAE;QACX,KAAK,EAAE;YACH,IAAI,EAAE;gBACF,QAAQ;gBACR,YAAY;gBACZ,WAAW;gBACX,eAAe;gBACf,eAAe;aAClB;YACD,MAAM,EAAE;gBACJ,QAAQ;gBACR,YAAY;gBACZ,WAAW;gBACX,eAAe;gBACf,eAAe;gBACf,WAAW;aACd;SACJ;QAED,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,UAAU,EAAE;YACR;gBACI,iBAAiB,EAAE;oBACf,UAAU;oBACV,UAAU;oBACV,UAAU;oBACV,UAAU;oBACV,YAAY;oBACZ,UAAU;iBACb;gBACD,kBAAkB,EAAE;oBAChB,WAAW;oBACX,iBAAiB;oBACjB,cAAc;iBACjB;gBACD,eAAe,EAAE;oBACb,YAAY;oBACZ,gBAAgB;oBAChB,mBAAmB;oBACnB,aAAa;oBACb,mBAAmB;oBACnB,sBAAsB;oBACtB,YAAY;iBACf;aACJ;YACD,gBAAgB;YAChB,SAAS;YACT,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,WAAW;SACd;QAED,SAAS,EAAE;YACP,KAAK,EAAE;gBACH;oBACI,UAAU,EAAE;wBACR,SAAS;wBACT,WAAW;wBACX,iBAAiB;wBACjB,YAAY;wBACZ,oBAAoB;wBACpB,cAAc;qBACjB;oBACD,KAAK,EAAE;wBACH,OAAO;wBACP,WAAW;wBACX,OAAO;wBACP,eAAe;wBACf,iBAAiB;wBACjB,WAAW;qBACd;iBACJ;gBACD,gBAAgB;gBAChB,cAAc;aACjB;SACJ;QAED,SAAS,EAAE;YACP,iBAAiB;YACjB,YAAY;YACZ,oBAAoB;YACpB,SAAS;SACZ;QAED,aAAa,EAAE;YACX,iBAAiB;YACjB,kBAAkB;YAClB,yBAAyB;SAC5B;QAED,aAAa,EAAE;YACX,WAAW;YACX,SAAS;YACT,QAAQ;YACR,cAAc;YACd,OAAO;SACV;KACJ;CACJ,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/report.structure.v1.ts"],"names":[],"mappings":";;AAEA,MAAM,cAAc,GAAiB;IACjC,OAAO,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"report.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/report.structure.v1.ts"],"names":[],"mappings":";;AAEA,MAAM,cAAc,GAAiB;IACjC,OAAO,EAAE,KAAK;IACd,aAAa,EAAE;QACX,KAAK,EAAE;YACH,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YAClE,MAAM,EAAE;gBACJ,QAAQ;gBACR,iBAAiB;gBACjB,SAAS;gBACT,SAAS;gBACT,aAAa;gBACb,aAAa;gBACb,WAAW;aACd;YACD,OAAO,EAAE;gBACL,QAAQ;gBACR,QAAQ;gBACR,SAAS;gBACT,aAAa;gBACb,iBAAiB;gBACjB,eAAe;aAClB;SACJ;QACD,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;QACpC,MAAM,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QACzC,SAAS,EAAE;YACP,QAAQ,EAAE;gBACN,iBAAiB,EAAE,MAAM;aAC5B;YACD,KAAK,EAAE;gBACH,UAAU,EAAE;oBACR,UAAU;oBACV,YAAY;oBACZ,YAAY;oBACZ,UAAU;iBACb;aACJ;SACJ;QAED,cAAc,EAAE,CAAC,YAAY,CAAC;QAE9B,eAAe,EAAE;YACb,aAAa;YACb,UAAU;YACV,WAAW;YACX,SAAS;YACT,SAAS;YACT,UAAU;YACV,SAAS;SACZ;QAED,OAAO,EAAE;YACL,IAAI,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SAC1C;QACD,OAAO,EAAE;YACL,YAAY;YACZ;gBACI,YAAY,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;gBACjD,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;gBACvC,QAAQ,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC;gBAC1C,MAAM,EAAE;oBACJ,aAAa;oBACb,YAAY;oBACZ,cAAc;oBACd,WAAW;oBACX,cAAc;oBACd,cAAc;iBACjB;gBACD,eAAe,EAAE;oBACb,YAAY;oBACZ,cAAc;iBACjB;aACJ;YACD,WAAW;YACX,eAAe;YACf,eAAe;YACf,cAAc;YACd,aAAa;YACb,kBAAkB;YAClB,gBAAgB;YAChB,eAAe;YACf,kBAAkB;SACrB;QACD,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE;YACP,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;YACzC,aAAa,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;SAC9C;QACD,WAAW,EAAE;YACT,UAAU,EAAE,IAAI;YAChB,oBAAoB,EAAE,IAAI;YAC1B,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE;gBACb,aAAa;gBACb,kBAAkB;gBAClB,eAAe;aAClB;YACD,cAAc,EAAE;gBACZ,aAAa;gBACb,kBAAkB;gBAClB,eAAe;aAClB;YACD,gBAAgB,EAAE;gBACd,aAAa;gBACb,kBAAkB;gBAClB,eAAe;aAClB;SACJ;QACD,aAAa,EAAE;YACX,iBAAiB;YACjB,kBAAkB;YAClB,yBAAyB;SAC5B;KACJ;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -38,6 +38,7 @@ var STRUCTURE_RESERVED_WORDS = [
|
|
|
38
38
|
var Widget = /* @__PURE__ */ function(Widget2) {
|
|
39
39
|
Widget2["DASHBOARD"] = "dashboard";
|
|
40
40
|
Widget2["REPORT"] = "report";
|
|
41
|
+
Widget2["DOWNLOAD_MANAGER"] = "download-manager";
|
|
41
42
|
return Widget2;
|
|
42
43
|
}({});
|
|
43
44
|
var WidgetVersion = /* @__PURE__ */ function(WidgetVersion2) {
|
|
@@ -889,6 +890,108 @@ var dashboardV1Config = {
|
|
|
889
890
|
};
|
|
890
891
|
var dashboard_structure_v1_default = dashboardV1Config;
|
|
891
892
|
|
|
893
|
+
// src/structures/download-manager.structure.v1.ts
|
|
894
|
+
var downloadManagerV1Config = {
|
|
895
|
+
version: "1.0",
|
|
896
|
+
baseStructure: {
|
|
897
|
+
views: {
|
|
898
|
+
main: [
|
|
899
|
+
"header",
|
|
900
|
+
"controlBar",
|
|
901
|
+
"assetList",
|
|
902
|
+
"scheduleModal",
|
|
903
|
+
"moreInfoModal"
|
|
904
|
+
],
|
|
905
|
+
detail: [
|
|
906
|
+
"header",
|
|
907
|
+
"controlBar",
|
|
908
|
+
"assetList",
|
|
909
|
+
"scheduleModal",
|
|
910
|
+
"moreInfoModal",
|
|
911
|
+
"bottomBar"
|
|
912
|
+
]
|
|
913
|
+
},
|
|
914
|
+
header: [
|
|
915
|
+
"qTitle"
|
|
916
|
+
],
|
|
917
|
+
controlBar: [
|
|
918
|
+
{
|
|
919
|
+
qFilterByFileType: [
|
|
920
|
+
"qTypeAll",
|
|
921
|
+
"qTypePDF",
|
|
922
|
+
"qTypeJPG",
|
|
923
|
+
"qTypeCSV",
|
|
924
|
+
"qTypeExcel",
|
|
925
|
+
"qTypeZIP"
|
|
926
|
+
],
|
|
927
|
+
qFilterByExecution: [
|
|
928
|
+
"qExcecAll",
|
|
929
|
+
"qExcecScheduled",
|
|
930
|
+
"qExcecOthers"
|
|
931
|
+
],
|
|
932
|
+
qFilterByWidget: [
|
|
933
|
+
"qWidgetAll",
|
|
934
|
+
"qWidgetAnalyze",
|
|
935
|
+
"qWidgetAutomation",
|
|
936
|
+
"qWidgetDash",
|
|
937
|
+
"qWidgetLegacyDash",
|
|
938
|
+
"qWidgetSubscriptions",
|
|
939
|
+
"qWidgetPPR"
|
|
940
|
+
]
|
|
941
|
+
},
|
|
942
|
+
"qFilterByAsset",
|
|
943
|
+
"qSearch",
|
|
944
|
+
"qRemoveFilters",
|
|
945
|
+
"qScheduleDetail",
|
|
946
|
+
"qFilesExported",
|
|
947
|
+
"qMoreInfo"
|
|
948
|
+
],
|
|
949
|
+
assetList: {
|
|
950
|
+
asset: [
|
|
951
|
+
{
|
|
952
|
+
optionMenu: [
|
|
953
|
+
"qDelete",
|
|
954
|
+
"qMoreInfo",
|
|
955
|
+
"qDeleteAllFiles",
|
|
956
|
+
"qEditSched",
|
|
957
|
+
"qPauseRestartSched",
|
|
958
|
+
"qUnsubscribe"
|
|
959
|
+
],
|
|
960
|
+
table: [
|
|
961
|
+
"qType",
|
|
962
|
+
"qSchedule",
|
|
963
|
+
"qSize",
|
|
964
|
+
"qCreationDate",
|
|
965
|
+
"qExpirationDate",
|
|
966
|
+
"qDownload"
|
|
967
|
+
]
|
|
968
|
+
},
|
|
969
|
+
"qDrillToDetail",
|
|
970
|
+
"qUnsubscribe"
|
|
971
|
+
]
|
|
972
|
+
},
|
|
973
|
+
bottomBar: [
|
|
974
|
+
"qDeleteAllFiles",
|
|
975
|
+
"qEditSched",
|
|
976
|
+
"qPauseRestartSched",
|
|
977
|
+
"qDelete"
|
|
978
|
+
],
|
|
979
|
+
downloadModal: [
|
|
980
|
+
"qScheduleOption",
|
|
981
|
+
"qSubscribeOption",
|
|
982
|
+
"qSubscribeExternalUsers"
|
|
983
|
+
],
|
|
984
|
+
moreInfoModal: [
|
|
985
|
+
"qFileType",
|
|
986
|
+
"qSource",
|
|
987
|
+
"qOwner",
|
|
988
|
+
"qApplication",
|
|
989
|
+
"qPath"
|
|
990
|
+
]
|
|
991
|
+
}
|
|
992
|
+
};
|
|
993
|
+
var download_manager_structure_v1_default = downloadManagerV1Config;
|
|
994
|
+
|
|
892
995
|
// src/structures/report.structure.v1.ts
|
|
893
996
|
var reportV1Config = {
|
|
894
997
|
version: "1.0",
|
|
@@ -1046,6 +1149,10 @@ var widgetConfigs = {
|
|
|
1046
1149
|
[Widget.REPORT]: {
|
|
1047
1150
|
[WidgetVersion.v1]: report_structure_v1_default,
|
|
1048
1151
|
[WidgetVersion.latest]: report_structure_v1_default
|
|
1152
|
+
},
|
|
1153
|
+
[Widget.DOWNLOAD_MANAGER]: {
|
|
1154
|
+
[WidgetVersion.v1]: download_manager_structure_v1_default,
|
|
1155
|
+
[WidgetVersion.latest]: download_manager_structure_v1_default
|
|
1049
1156
|
}
|
|
1050
1157
|
};
|
|
1051
1158
|
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/doc/swagger.optional.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/defaults.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WidgetVersion","ApiProperty","require","metadata","ViewsDto","list","design","preview","endUser","type","String","description","example","AssetListDto","defaults","asset","Object","assetListViewMode","optionMenu","MenuBarDto","file","edit","grid","insert","qArrange","qMnuDownloadDash","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuAlign","FilterPanelDto","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","dashFilterScope","tabFilterScope","panelFilterScope","SubModulesDto","chartPanel","chartGallery","chartBuilder","BaseDashboardV1StructureDto","views","navBar","endUserTopBar","assetList","controlBarLeft","controlBarRight","header","menuBar","toolBar","configPanel","filterPanel","downloadModal","subModules","qInsertChart","qInsertFilterCtrl","qDownloadDash","qResponsiveView","qAlign","dashboardV1Config","version","baseStructure","qMnuArrange","reportV1Config","tabBar","qInsertShape","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","widgetConfigs","DASHBOARD","v1","latest","REPORT","allowedOperators","isOperator","value","includes","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","length","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","validatedObj","keys","forEach","key","fullKey","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","validFontSizes","filter","size","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","map","item","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","viewDefinition","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculateDefaults","calculatePermissionMapArray","reduce","mapValue","push","customConditionals","conditional","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","buildStructure","widget","versionSet","widgetConfigurability","Error","structureMap","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n}\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\ntry {\n ApiProperty = require('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n","import { WidgetConfig } from '../models/structure.models';\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n preview: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n endUser: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n\n header: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ValidationFN<T = any> = (value: T) => T | undefined;\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\nexport type ValidationMap = Record<string, ValidationFN>;\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] = value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n) {\n return applyValidation(obj, validatorMap);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n};\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n return calculateViewMap(config.baseStructure, customization, validationMap);\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n }\n return permissionMap;\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n) {\n const viewDefinition = config.views![view];\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { keep = [] } = customization;\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const canInsert =\n !includedInRemove &&\n (!validateKeepOption || keyIsIncludedInKeep(key, customization));\n\n const keepValue = keyIsIncludedInKeep(key, customization)\n ? 'keep'\n : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n { viewKeys, viewPrefix = '', hasKeepOption }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(key, customization, hasKeepOption === 'root')\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n): WidgetConditionMap[] | undefined {\n const customConditionals = customization?.conditional;\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, { checkCondition: true }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n return validationMap && defaultObj\n ? validateDefaults(defaultObj, validationMap)\n : defaultObj;\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs } from './constants/configs';\nimport { Widget, WidgetVersion } from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { WidgetItemCondition, WidgetViewMap } from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport { DX_VALIDATOR_MAP } from './utils/defaults.helpers';\nimport { getWidgetStructure } from './utils/structural.helpers';\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n) {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n const structureMap = getWidgetStructure(\n widgetConfigurability,\n customization,\n DX_VALIDATOR_MAP,\n );\n return new WidgetStructureInstance(structureMap);\n}\n\nexport class WidgetStructureInstance {\n constructor(private viewMap: WidgetViewMap) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/doc/swagger.optional.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/download-manager.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/defaults.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WidgetVersion","ApiProperty","require","metadata","ViewsDto","list","design","preview","endUser","type","String","description","example","AssetListDto","defaults","asset","Object","assetListViewMode","optionMenu","MenuBarDto","file","edit","grid","insert","qArrange","qMnuDownloadDash","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuAlign","FilterPanelDto","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","dashFilterScope","tabFilterScope","panelFilterScope","SubModulesDto","chartPanel","chartGallery","chartBuilder","BaseDashboardV1StructureDto","views","navBar","endUserTopBar","assetList","controlBarLeft","controlBarRight","header","menuBar","toolBar","configPanel","filterPanel","downloadModal","subModules","qInsertChart","qInsertFilterCtrl","qDownloadDash","qResponsiveView","qAlign","dashboardV1Config","version","baseStructure","qMnuArrange","downloadManagerV1Config","main","detail","controlBar","qFilterByFileType","qFilterByExecution","qFilterByWidget","table","bottomBar","moreInfoModal","reportV1Config","tabBar","qInsertShape","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","widgetConfigs","DASHBOARD","v1","latest","REPORT","DOWNLOAD_MANAGER","allowedOperators","isOperator","value","includes","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","length","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","validatedObj","keys","forEach","key","fullKey","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","validFontSizes","filter","size","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","map","item","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","viewDefinition","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculateDefaults","calculatePermissionMapArray","reduce","mapValue","push","customConditionals","conditional","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","buildStructure","widget","versionSet","widgetConfigurability","Error","structureMap","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,gCAAAA,GAAmC,GAAA;AACzC,IAAMC,6BAAAA,GAAgC,IAAA;AACtC,IAAMC,wBAAAA,GAA2B;AAAC,EAAA,OAAA;AAAS,EAAA,UAAA;AAAY,EAAA;;AAEvD,IAAKC,MAAAA,4BAAAA,OAAAA,EAAAA;;;;AAAAA,EAAAA,OAAAA,OAAAA;;AAML,IAAKC,aAAAA,4BAAAA,cAAAA,EAAAA;;;AAAAA,EAAAA,OAAAA,cAAAA;;;;;;;;;;;;;;;ACRZ,IAAIC,WAAAA;AAEJ,IAAI;AACAA,EAAAA,WAAAA,GAAcC,SAAAA,CAAQ,iBAAA,CAAA,CAAmBD,WAAAA;AAC7C,CAAA,CAAA,OAAQ,CAAA,EAAA;AAEJA,EAAAA,WAAAA,2BAAeE,QAAAA,KAAAA;AACX,IAAA,OAAO,MAAA;AAAa,IAAA,CAAA;EACxB,CAAA,EAFc,aAAA,CAAA;AAGlB;;;;;;;;;;;;;;AATO,IAAMC,SAAAA,GAAN,MAAMA,SAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAMHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA;AAgBAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA;;AACJ,CAAA;AArCaJ,MAAAA,CAAAA,SAAAA,EAAAA,UAAAA,CAAAA;AAAN,IAAMA,QAAAA,GAAN,SAAA;;;IAECK,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,2BAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,QAAA;AAAU,MAAA,WAAA;AAAa,MAAA,gBAAA;AAAkB,MAAA;;;;;;;IAKnDH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,6BAAA;IACbC,OAAAA,EAAS;AACL,MAAA,QAAA;AACA,MAAA,QAAA;AACA,MAAA,iBAAA;AACA,MAAA,SAAA;AACA,MAAA,SAAA;AACA,MAAA,aAAA;AACA,MAAA,aAAA;AACA,MAAA;;;;;;;IAMJH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,8BAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,QAAA;AAAU,MAAA,QAAA;AAAU,MAAA,iBAAA;AAAmB,MAAA;;;;;;;IAKjDH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,+BAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,QAAA;AAAU,MAAA,SAAA;AAAW,MAAA,aAAA;AAAe,MAAA;;;;;AAK/C,IAAMC,aAAAA,GAAN,MAAMA,aAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAMHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,UAAAA,CAAAA;AAeAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,OAAAA,CAAAA;;AACJ,CAAA;AAtBaF,MAAAA,CAAAA,aAAAA,EAAAA,cAAAA,CAAAA;AAAN,IAAMA,YAAAA,GAAN,aAAA;;;IAECJ,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,qCAAA;IACbC,OAAAA,EAAS;MAAEK,iBAAAA,EAAmB;AAAO;;;;;;IAKrCR,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,qCAAA;IACbC,OAAAA,EAAS;MACLM,UAAAA,EAAY;AACR,QAAA,WAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA,WAAA;AACA,QAAA;;AAER;;;;AAKD,IAAMC,WAAAA,GAAN,MAAMA,WAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAyBHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA;AAgBAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA;AA0BAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAoBAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,UAAAA,CAAAA;;AACJ,CAAA;AA/FaL,MAAAA,CAAAA,WAAAA,EAAAA,YAAAA,CAAAA;AAAN,IAAMA,UAAAA,GAAN,WAAA;;;IAECV,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,mDAAA;IACbC,OAAAA,EAAS;MACLQ,IAAAA,EAAM;AACF,QAAA,gBAAA;AACA,QAAA,cAAA;AACA,QAAA,mBAAA;AACA,QAAA,gBAAA;AACA,QAAA,YAAA;AACA,QAAA,YAAA;AACA,QAAA,gBAAA;AACA,QAAA,0BAAA;AACA,QAAA;UACIK,gBAAAA,EAAkB;AACd,YAAA,UAAA;AACA,YAAA,UAAA;AACA,YAAA,YAAA;AACA,YAAA;;AAER;;AAER;;;;;;IAKAhB,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,mBAAA;IACbC,OAAAA,EAAS;AACL,MAAA,WAAA;AACA,MAAA,cAAA;AACA,MAAA,eAAA;AACA,MAAA,aAAA;AACA,MAAA,gBAAA;AACA,MAAA,cAAA;AACA,MAAA,gBAAA;AACA,MAAA;;;;;;;IAMJH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,mBAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,gBAAA;AAAkB,MAAA,iBAAA;AAAmB,MAAA;;;;;;;IAK/CH,IAAAA,EAAM;AAACO,MAAAA;;IACPL,WAAAA,EAAa,gDAAA;IACbC,OAAAA,EAAS;AACL,MAAA;QACIc,eAAAA,EAAiB;AACb,UAAA,mBAAA;AACA,UAAA,cAAA;AACA,UAAA;;QAEJC,oBAAAA,EAAsB;AAClB,UAAA,gBAAA;AACA,UAAA,cAAA;AACA,UAAA;;AAER,OAAA;AACA,MAAA,gBAAA;AACA,MAAA,iBAAA;AACA,MAAA,kBAAA;AACA,MAAA,qBAAA;AACA,MAAA,kBAAA;AACA,MAAA;;;;;;;IAMJlB,IAAAA,EAAM;AAACO,MAAAA;;IACPL,WAAAA,EAAa,oDAAA;IACbC,OAAAA,EAAS;AACL,MAAA,kBAAA;AACA,MAAA,gBAAA;AACA,MAAA;QACIgB,SAAAA,EAAW;AACP,UAAA,aAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA;;AAER;;;;;AAML,IAAMC,eAAAA,GAAN,MAAMA,eAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAEHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,YAAAA,CAAAA;AAMAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,sBAAAA,CAAAA;AAGAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,mBAAAA,CAAAA;AAGAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,iBAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,iBAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,gBAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,kBAAAA,CAAAA;;AACJ,CAAA;AApCaP,MAAAA,CAAAA,eAAAA,EAAAA,gBAAAA,CAAAA;AAAN,IAAMA,cAAAA,GAAN,eAAA;;;IACYlB,WAAAA,EAAa,uBAAA;IAAyBC,OAAAA,EAAS;;;;;;IAI1DD,WAAAA,EAAa,uCAAA;IACbC,OAAAA,EAAS;;;;;;IAIED,WAAAA,EAAa,6BAAA;IAA+BC,OAAAA,EAAS;;;;;;IAGrDD,WAAAA,EAAa,sBAAA;IAAwBC,OAAAA,EAAS;;;;;;IAIzDH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,qCAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,aAAA;AAAe,MAAA,kBAAA;AAAoB,MAAA;;;;;;;IAK7CH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,+BAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,aAAA;AAAe,MAAA,kBAAA;AAAoB,MAAA;;;;;;;IAK7CH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,iCAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,aAAA;AAAe,MAAA,kBAAA;AAAoB,MAAA;;;;;AAK9C,IAAMyB,cAAAA,GAAN,MAAMA,cAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAMHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,YAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,cAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,cAAAA,CAAAA;;AACJ,CAAA;AArBaH,MAAAA,CAAAA,cAAAA,EAAAA,eAAAA,CAAAA;AAAN,IAAMA,aAAAA,GAAN,cAAA;;;IAEC5B,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,uBAAA;AACbC,IAAAA,OAAAA,EAAS;;;;;;IAKTH,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,yBAAA;AACbC,IAAAA,OAAAA,EAAS;;;;;;IAKTH,IAAAA,EAAMO,MAAAA;IACNL,WAAAA,EAAa,yBAAA;AACbC,IAAAA,OAAAA,EAAS;;;;AAKV,IAAM6B,4BAAAA,GAAN,MAAMA,4BAAAA,CAAAA;AAAN,EAAA,WAAA,GAAA;AAEHC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,OAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,eAAAA,CAAAA;AAMAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,WAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,gBAAAA,CAAAA;AAmBAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,iBAAAA,CAAAA;AAOAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAMAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA;AAsDAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA;AAMAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,aAAAA,CAAAA;AAGAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,aAAAA,CAAAA;AAWAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,eAAAA,CAAAA;AAMAC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,YAAAA,CAAAA;;AACJ,CAAA;AA9Iab,MAAAA,CAAAA,4BAAAA,EAAAA,6BAAAA,CAAAA;AAAN,IAAMA,2BAAAA,GAAN,4BAAA;;;IACYhC,IAAAA,EAAML,QAAAA;IAAUO,WAAAA,EAAa;;;;;;IAIxCF,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,uBAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,WAAA;AAAa,MAAA;;;;;;;IAKvBH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,iCAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,WAAA;AAAa,MAAA;;;;;;;IAKvBH,IAAAA,EAAMI,YAAAA;IACNF,WAAAA,EAAa;;;;;;IAKbF,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,iCAAA;IACbC,OAAAA,EAAS;AAAC,MAAA;;;;;;;IAKVH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,kCAAA;IACbC,OAAAA,EAAS;AACL,MAAA,aAAA;AACA,MAAA,UAAA;AACA,MAAA,WAAA;AACA,MAAA,SAAA;AACA,MAAA,SAAA;AACA,MAAA,eAAA;AACA,MAAA,SAAA;AACA,MAAA,UAAA;AACA,MAAA,UAAA;AACA,MAAA,UAAA;AACA,MAAA;;;;;;;IAMJH,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,uBAAA;IACbC,OAAAA,EAAS;AAAC,MAAA,eAAA;AAAiB,MAAA,YAAA;AAAc,MAAA,WAAA;AAAa,MAAA;;;;;;;IAKtDH,IAAAA,EAAMU,UAAAA;IACNR,WAAAA,EAAa;;;;;;IAKbF,IAAAA,EAAM;AAACO,MAAAA;;IACPL,WAAAA,EAAa,+CAAA;IACbC,OAAAA,EAAS;AACL,MAAA,aAAA;AACA,MAAA;QACI2C,YAAAA,EAAc;AAAC,UAAA,gBAAA;AAAkB,UAAA,WAAA;AAAa,UAAA;;QAC9CC,iBAAAA,EAAmB;AACf,UAAA,aAAA;AACA,UAAA,WAAA;AACA,UAAA;;QAEJlC,IAAAA,EAAM;AAAC,UAAA,aAAA;AAAe,UAAA,cAAA;AAAgB,UAAA;;QACtCmC,aAAAA,EAAe;AACX,UAAA,UAAA;AACA,UAAA,UAAA;AACA,UAAA,YAAA;AACA,UAAA;;QAEJjC,QAAAA,EAAU;AAAC,UAAA,eAAA;AAAiB,UAAA;;QAC5BkC,eAAAA,EAAiB;AACb,UAAA,UAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA;;QAEJC,MAAAA,EAAQ;AACJ,UAAA,aAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA;;AAER,OAAA;AACA,MAAA,aAAA;AACA,MAAA,0BAAA;AACA,MAAA,cAAA;AACA,MAAA,eAAA;AACA,MAAA,kBAAA;AACA,MAAA,kBAAA;AACA,MAAA,kBAAA;AACA,MAAA,SAAA;AACA,MAAA,WAAA;AACA,MAAA,cAAA;AACA,MAAA,iBAAA;AACA,MAAA,cAAA;AACA,MAAA,UAAA;AACA,MAAA,OAAA;AACA,MAAA;;;;;;;IAMJhD,WAAAA,EAAa,qCAAA;IACbC,OAAAA,EAAS;;;;;;IAIEH,IAAAA,EAAMoB,cAAAA;IAAgBlB,WAAAA,EAAa;;;;;;IAI9CF,IAAAA,EAAM;AAACC,MAAAA;;IACPC,WAAAA,EAAa,wBAAA;IACbC,OAAAA,EAAS;AACL,MAAA,iBAAA;AACA,MAAA,kBAAA;AACA,MAAA;;;;;;;IAMJH,IAAAA,EAAM4B,aAAAA;IACN1B,WAAAA,EAAa;;;;;;ACxWrB,IAAMiD,iBAAAA,GAAkC;EACpCC,OAAAA,EAAS,KAAA;EACTC,aAAAA,EAAe;IACXpB,KAAAA,EAAO;MACHrC,IAAAA,EAAM;AAAC,QAAA,QAAA;AAAU,QAAA,WAAA;AAAa,QAAA,gBAAA;AAAkB,QAAA;;MAChDC,MAAAA,EAAQ;AACJ,QAAA,QAAA;AACA,QAAA,QAAA;AACA,QAAA,iBAAA;AACA,QAAA,SAAA;AACA,QAAA,SAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA;;MAEJC,OAAAA,EAAS;AAAC,QAAA,QAAA;AAAU,QAAA,QAAA;AAAU,QAAA,iBAAA;AAAmB,QAAA;;MACjDC,OAAAA,EAAS;AAAC,QAAA,QAAA;AAAU,QAAA,SAAA;AAAW,QAAA,aAAA;AAAe,QAAA;;AAClD,KAAA;IAEAmC,MAAAA,EAAQ;AAAC,MAAA,WAAA;AAAa,MAAA;;IAEtBC,aAAAA,EAAe;AAAC,MAAA,WAAA;AAAa,MAAA;;IAE7BC,SAAAA,EAAW;MACP/B,QAAAA,EAAU;QACNG,iBAAAA,EAAmB;AACvB,OAAA;MACAF,KAAAA,EAAO;QACHG,UAAAA,EAAY;AACR,UAAA,WAAA;AACA,UAAA,aAAA;AACA,UAAA,aAAA;AACA,UAAA,WAAA;AACA,UAAA;;AAER;AACJ,KAAA;IAEA4B,cAAAA,EAAgB;AAAC,MAAA;;IAEjBC,eAAAA,EAAiB;AACb,MAAA,aAAA;AACA,MAAA,UAAA;AACA,MAAA,WAAA;AACA,MAAA,SAAA;AACA,MAAA,SAAA;AACA,MAAA,eAAA;AACA,MAAA,SAAA;AACA,MAAA,UAAA;AACA,MAAA,UAAA;AACA,MAAA,UAAA;AACA,MAAA;;IAGJC,MAAAA,EAAQ;AAAC,MAAA,eAAA;AAAiB,MAAA,YAAA;AAAc,MAAA,WAAA;AAAa,MAAA;;IAErDC,OAAAA,EAAS;MACL7B,IAAAA,EAAM;AACF,QAAA,gBAAA;AACA,QAAA,cAAA;AACA,QAAA,mBAAA;AACA,QAAA,gBAAA;AACA,QAAA,YAAA;AACA,QAAA,YAAA;AACA,QAAA,gBAAA;AACA,QAAA,0BAAA;AACA,QAAA;UACIK,gBAAAA,EAAkB;AACd,YAAA,UAAA;AACA,YAAA,UAAA;AACA,YAAA,YAAA;AACA,YAAA;;AAER;;MAEJJ,IAAAA,EAAM;AACF,QAAA,WAAA;AACA,QAAA,cAAA;AACA,QAAA,eAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,cAAA;AACA,QAAA,gBAAA;AACA,QAAA;;MAEJC,IAAAA,EAAM;AAAC,QAAA,gBAAA;AAAkB,QAAA,iBAAA;AAAmB,QAAA;;MAC5CC,MAAAA,EAAQ;AACJ,QAAA;UACIG,eAAAA,EAAiB;AACb,YAAA,mBAAA;AACA,YAAA,cAAA;AACA,YAAA;;UAEJC,oBAAAA,EAAsB;AAClB,YAAA,gBAAA;AACA,YAAA,cAAA;AACA,YAAA;;AAER,SAAA;AACA,QAAA,gBAAA;AACA,QAAA,iBAAA;AACA,QAAA,kBAAA;AACA,QAAA,qBAAA;AACA,QAAA,kBAAA;AACA,QAAA;;MAEJoC,WAAAA,EAAa;AACT,QAAA,kBAAA;AACA,QAAA,gBAAA;AACA,QAAA;UACInC,SAAAA,EAAW;AACP,YAAA,aAAA;AACA,YAAA,YAAA;AACA,YAAA,cAAA;AACA,YAAA,WAAA;AACA,YAAA,cAAA;AACA,YAAA;;AAER;;AAER,KAAA;IACAsB,OAAAA,EAAS;AACL,MAAA,aAAA;AACA,MAAA;QACIK,YAAAA,EAAc;AAAC,UAAA,gBAAA;AAAkB,UAAA,WAAA;AAAa,UAAA;;QAC9CC,iBAAAA,EAAmB;AACf,UAAA,aAAA;AACA,UAAA,WAAA;AACA,UAAA;;QAEJlC,IAAAA,EAAM;AAAC,UAAA,aAAA;AAAe,UAAA,cAAA;AAAgB,UAAA;;QACtCmC,aAAAA,EAAe;AACX,UAAA,UAAA;AACA,UAAA,UAAA;AACA,UAAA,YAAA;AACA,UAAA;;QAEJjC,QAAAA,EAAU;AAAC,UAAA,eAAA;AAAiB,UAAA;;QAC5BkC,eAAAA,EAAiB;AACb,UAAA,UAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA;;QAEJC,MAAAA,EAAQ;AACJ,UAAA,aAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA;;AAER,OAAA;AACA,MAAA,aAAA;AACA,MAAA,0BAAA;AACA,MAAA,cAAA;AACA,MAAA,eAAA;AACA,MAAA,kBAAA;AACA,MAAA,kBAAA;AACA,MAAA,kBAAA;AACA,MAAA,SAAA;AACA,MAAA,WAAA;;AAGA,MAAA,cAAA;AACA,MAAA,iBAAA;AACA,MAAA,cAAA;AACA,MAAA,UAAA;AACA,MAAA,OAAA;AACA,MAAA;;IAEJR,WAAAA,EAAa,IAAA;IACbC,WAAAA,EAAa;MACTtB,UAAAA,EAAY,IAAA;MACZC,oBAAAA,EAAsB,IAAA;MACtBC,iBAAAA,EAAmB,IAAA;MACnBC,eAAAA,EAAiB,IAAA;MACjBC,eAAAA,EAAiB;AACb,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;MAEJC,cAAAA,EAAgB;AACZ,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;MAEJC,gBAAAA,EAAkB;AACd,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;AAER,KAAA;IACAiB,aAAAA,EAAe;AACX,MAAA,iBAAA;AACA,MAAA,kBAAA;AACA,MAAA;;IAEJC,UAAAA,EAAY;AACRhB,MAAAA,UAAAA,EAAY,EAAC;AACbC,MAAAA,YAAAA,EAAc,EAAC;AACfC,MAAAA,YAAAA,EAAc;AAClB;AACJ;AACJ,CAAA;AAEA,IAAA,8BAAA,GAAeoB,iBAAAA;;;AC9Mf,IAAMI,uBAAAA,GAAwC;EAC1CH,OAAAA,EAAS,KAAA;EACTC,aAAAA,EAAe;IACXpB,KAAAA,EAAO;MACHuB,IAAAA,EAAM;AACF,QAAA,QAAA;AACA,QAAA,YAAA;AACA,QAAA,WAAA;AACA,QAAA,eAAA;AACA,QAAA;;MAEJC,MAAAA,EAAQ;AACJ,QAAA,QAAA;AACA,QAAA,YAAA;AACA,QAAA,WAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA;;AAER,KAAA;IAEAlB,MAAAA,EAAQ;AAAC,MAAA;;IACTmB,UAAAA,EAAY;AACR,MAAA;QACIC,iBAAAA,EAAmB;AACf,UAAA,UAAA;AACA,UAAA,UAAA;AACA,UAAA,UAAA;AACA,UAAA,UAAA;AACA,UAAA,YAAA;AACA,UAAA;;QAEJC,kBAAAA,EAAoB;AAChB,UAAA,WAAA;AACA,UAAA,iBAAA;AACA,UAAA;;QAEJC,eAAAA,EAAiB;AACb,UAAA,YAAA;AACA,UAAA,gBAAA;AACA,UAAA,mBAAA;AACA,UAAA,aAAA;AACA,UAAA,mBAAA;AACA,UAAA,sBAAA;AACA,UAAA;;AAER,OAAA;AACA,MAAA,gBAAA;AACA,MAAA,SAAA;AACA,MAAA,gBAAA;AACA,MAAA,iBAAA;AACA,MAAA,gBAAA;AACA,MAAA;;IAGJzB,SAAAA,EAAW;MACP9B,KAAAA,EAAO;AACH,QAAA;UACIG,UAAAA,EAAY;AACR,YAAA,SAAA;AACA,YAAA,WAAA;AACA,YAAA,iBAAA;AACA,YAAA,YAAA;AACA,YAAA,oBAAA;AACA,YAAA;;UAEJqD,KAAAA,EAAO;AACH,YAAA,OAAA;AACA,YAAA,WAAA;AACA,YAAA,OAAA;AACA,YAAA,eAAA;AACA,YAAA,iBAAA;AACA,YAAA;;AAER,SAAA;AACA,QAAA,gBAAA;AACA,QAAA;;AAER,KAAA;IAEAC,SAAAA,EAAW;AACP,MAAA,iBAAA;AACA,MAAA,YAAA;AACA,MAAA,oBAAA;AACA,MAAA;;IAGJnB,aAAAA,EAAe;AACX,MAAA,iBAAA;AACA,MAAA,kBAAA;AACA,MAAA;;IAGJoB,aAAAA,EAAe;AACX,MAAA,WAAA;AACA,MAAA,SAAA;AACA,MAAA,QAAA;AACA,MAAA,cAAA;AACA,MAAA;;AAER;AACJ,CAAA;AAEA,IAAA,qCAAA,GAAeT,uBAAAA;;;ACvGf,IAAMU,cAAAA,GAA+B;EACjCb,OAAAA,EAAS,KAAA;EACTC,aAAAA,EAAe;IACXpB,KAAAA,EAAO;MACHrC,IAAAA,EAAM;AAAC,QAAA,QAAA;AAAU,QAAA,WAAA;AAAa,QAAA,gBAAA;AAAkB,QAAA;;MAChDC,MAAAA,EAAQ;AACJ,QAAA,QAAA;AACA,QAAA,iBAAA;AACA,QAAA,SAAA;AACA,QAAA,SAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA;;MAEJC,OAAAA,EAAS;AACL,QAAA,QAAA;AACA,QAAA,QAAA;AACA,QAAA,SAAA;AACA,QAAA,aAAA;AACA,QAAA,iBAAA;AACA,QAAA;;AAER,KAAA;IACAoC,MAAAA,EAAQ;AAAC,MAAA,WAAA;AAAa,MAAA;;IACtBgC,MAAAA,EAAQ;AAAC,MAAA,cAAA;AAAgB,MAAA;;IACzB9B,SAAAA,EAAW;MACP/B,QAAAA,EAAU;QACNG,iBAAAA,EAAmB;AACvB,OAAA;MACAF,KAAAA,EAAO;QACHG,UAAAA,EAAY;AACR,UAAA,UAAA;AACA,UAAA,YAAA;AACA,UAAA,YAAA;AACA,UAAA;;AAER;AACJ,KAAA;IAEA4B,cAAAA,EAAgB;AAAC,MAAA;;IAEjBC,eAAAA,EAAiB;AACb,MAAA,aAAA;AACA,MAAA,UAAA;AACA,MAAA,WAAA;AACA,MAAA,SAAA;AACA,MAAA,SAAA;AACA,MAAA,UAAA;AACA,MAAA;;IAGJE,OAAAA,EAAS;MACL5B,IAAAA,EAAM;AAAC,QAAA,cAAA;AAAgB,QAAA;;AAC3B,KAAA;IACA6B,OAAAA,EAAS;AACL,MAAA,YAAA;AACA,MAAA;QACI0B,YAAAA,EAAc;AAAC,UAAA,OAAA;AAAS,UAAA,YAAA;AAAc,UAAA;;QACtCtD,IAAAA,EAAM;AAAC,UAAA,eAAA;AAAiB,UAAA;;QACxBE,QAAAA,EAAU;AAAC,UAAA,eAAA;AAAiB,UAAA;;QAC5BmC,MAAAA,EAAQ;AACJ,UAAA,aAAA;AACA,UAAA,YAAA;AACA,UAAA,cAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA;;QAEJkB,eAAAA,EAAiB;AACb,UAAA,YAAA;AACA,UAAA;;AAER,OAAA;AACA,MAAA,WAAA;AACA,MAAA,eAAA;AACA,MAAA,eAAA;AACA,MAAA,cAAA;AACA,MAAA,aAAA;AACA,MAAA,kBAAA;AACA,MAAA,gBAAA;AACA,MAAA,eAAA;AACA,MAAA;;IAEJ1B,WAAAA,EAAa,IAAA;IACb2B,SAAAA,EAAW;MACPC,UAAAA,EAAY;AAAC,QAAA,gBAAA;AAAkB,QAAA;;MAC/BC,aAAAA,EAAe;AAAC,QAAA,eAAA;AAAiB,QAAA;;AACrC,KAAA;IACA5B,WAAAA,EAAa;MACTtB,UAAAA,EAAY,IAAA;MACZC,oBAAAA,EAAsB,IAAA;MACtBC,iBAAAA,EAAmB,IAAA;MACnBC,eAAAA,EAAiB,IAAA;MACjBgD,eAAAA,EAAiB;AACb,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;MAEJ9C,cAAAA,EAAgB;AACZ,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;MAEJC,gBAAAA,EAAkB;AACd,QAAA,aAAA;AACA,QAAA,kBAAA;AACA,QAAA;;AAER,KAAA;IACAiB,aAAAA,EAAe;AACX,MAAA,iBAAA;AACA,MAAA,kBAAA;AACA,MAAA;;AAER;AACJ,CAAA;AAEA,IAAA,2BAAA,GAAeqB,cAAAA;;;ACjHR,IAAMQ,aAAAA,GAAkC;EAC3C,CAACnF,MAAAA,CAAOoF,SAAS,GAAG;IAChB,CAACnF,aAAAA,CAAcoF,EAAE,GAAGxB,8BAAAA;IACpB,CAAC5D,aAAAA,CAAcqF,MAAM,GAAGzB;AAC5B,GAAA;EACA,CAAC7D,MAAAA,CAAOuF,MAAM,GAAG;IACb,CAACtF,aAAAA,CAAcoF,EAAE,GAAGV,2BAAAA;IACpB,CAAC1E,aAAAA,CAAcqF,MAAM,GAAGX;AAC5B,GAAA;EACA,CAAC3E,MAAAA,CAAOwF,gBAAgB,GAAG;IACvB,CAACvF,aAAAA,CAAcoF,EAAE,GAAGpB,qCAAAA;IACpB,CAAChE,aAAAA,CAAcqF,MAAM,GAAGrB;AAC5B;AACJ,CAAA;;;ACnBO,IAAMwB,gBAAAA,GAAmB;AAC5B,EAAA,GAAA;AACA,EAAA,IAAA;AACA,EAAA,GAAA;AACA,EAAA,IAAA;AACA,EAAA,GAAA;AACA,EAAA,IAAA;AACA,EAAA,YAAA;AACA,EAAA,UAAA;AACA,EAAA;;;;ACCJ,SAASC,WAAWC,KAAAA,EAAa;AAC7B,EAAA,OAAOF,gBAAAA,CAAiBG,SAASD,KAAAA,CAAAA;AACrC;AAFSD,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAIT,SAASG,QAAAA,CAASC,WAAsBC,KAAAA,EAAqB;AACzD,EAAA,OAAOA,KAAAA,CAAMD,UAAUE,KAAK,CAAA;AAChC;AAFSH,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAIT,SAASI,sBAAAA,CACLH,SAAAA,EACAC,KAAAA,EACAG,QAAAA,EAA2D;AAE3D,EAAA,MAAMP,KAAAA,GAAQE,QAAAA,CAASC,SAAAA,EAAWC,KAAAA,CAAAA;AAClC,EAAA,IAAIJ,KAAAA,IAAS,MAAM,OAAO,KAAA;AAC1B,EAAA,OAAOO,QAAAA,CAASP,KAAAA,EAAOG,SAAAA,CAAUH,KAAK,CAAA;AAC1C;AARSM,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUT,IAAME,YAAAA,GAAuD;EACzD,GAAA,kBAAK,MAAA,CAAA,CAACL,SAAAA,EAAWC,KAAAA,KACbE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,IAAKC,CAAAA,CAAAA,EADvD,GAAA,CAAA;EAEL,IAAA,kBAAM,MAAA,CAAA,CAACP,SAAAA,EAAWC,KAAAA,KACdE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,IAAKC,CAAAA,CAAAA,EADtD,IAAA,CAAA;EAEN,GAAA,kBAAK,MAAA,CAAA,CAACP,SAAAA,EAAWC,KAAAA,KACbE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,GAAIC,CAAAA,CAAAA,EADtD,GAAA,CAAA;EAEL,IAAA,kBAAM,MAAA,CAAA,CAACP,SAAAA,EAAWC,KAAAA,KACdE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,IAAKC,CAAAA,CAAAA,EADtD,IAAA,CAAA;EAEN,GAAA,kBAAK,MAAA,CAAA,CAACP,SAAAA,EAAWC,KAAAA,KACbE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,GAAIC,CAAAA,CAAAA,EADtD,GAAA,CAAA;EAEL,IAAA,kBAAM,MAAA,CAAA,CAACP,SAAAA,EAAWC,KAAAA,KACdE,sBAAAA,CAAuBH,SAAAA,EAAWC,KAAAA,EAAO,CAACK,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,IAAKC,CAAAA,CAAAA,EADtD,IAAA,CAAA;AAGNC,EAAAA,UAAAA,0BAAaR,SAAAA,EAAWC,KAAAA,KACpBE,uBACIH,SAAAA,EACAC,KAAAA,EACA,CAACK,CAAAA,EAAGC,CAAAA,KACA,OAAOD,CAAAA,KAAM,QAAA,IACb,OAAOC,CAAAA,KAAM,QAAA,IACbD,EAAEE,UAAAA,CAAWD,CAAAA,CAAAA,CAAAA,EAPb,YAAA,CAAA;AAUZE,EAAAA,QAAAA,0BAAWT,SAAAA,EAAWC,KAAAA,KAClBE,uBACIH,SAAAA,EACAC,KAAAA,EACA,CAACK,CAAAA,EAAGC,CAAAA,KACA,OAAOD,CAAAA,KAAM,QAAA,IAAY,OAAOC,CAAAA,KAAM,QAAA,IAAYD,EAAEG,QAAAA,CAASF,CAAAA,CAAAA,CAAAA,EAL/D,UAAA,CAAA;AAQVG,EAAAA,QAAAA,0BAAWV,SAAAA,EAAWC,KAAAA,KAClBE,uBACIH,SAAAA,EACAC,KAAAA,EACA,CAACK,CAAAA,EAAGC,CAAAA,KACA,OAAOD,CAAAA,KAAM,QAAA,IAAY,OAAOC,CAAAA,KAAM,QAAA,IAAYD,EAAER,QAAAA,CAASS,CAAAA,CAAAA,CAAAA,EAL/D,UAAA;AAOd,CAAA;AAEO,SAASI,iBAAAA,CACZV,UACGW,UAAAA,EAAuB;AAE1B,EAAA,IAAI,CAACX,OAAO,OAAO,KAAA;AACnB,EAAA,IAAIW,UAAAA,CAAWC,MAAAA,KAAW,CAAA,EAAG,OAAO,IAAA;AACpC,EAAA,OAAOD,WAAWE,KAAAA,CAAM,CAACC,MAAMC,cAAAA,CAAef,KAAAA,EAAOc,CAAAA,CAAAA,CAAAA;AACzD;AAPgBJ,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAShB,SAASK,cAAAA,CAAef,OAAuBD,SAAAA,EAAoB;AAC/D,EAAA,IAAI,CAACJ,UAAAA,CAAWI,SAAAA,CAAUI,QAAQ,GAAG,OAAO,KAAA;AAC5C,EAAA,MAAMa,MAAAA,GAASZ,YAAAA,CAAaL,SAAAA,CAAUI,QAAQ,CAAA;AAC9C,EAAA,OAAOa,MAAAA,CAAOjB,WAAWC,KAAAA,CAAAA;AAC7B;AAJSe,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAMF,SAASE,eAAAA,CACZjB,OACAW,UAAAA,EAAiC;AAEjC,EAAA,IAAI,CAACX,OAAO,OAAO,KAAA;AACnB,EAAA,KAAA,MAAWkB,QAAQP,UAAAA,EAAY;AAC3B,IAAA,IAAIO,IAAAA,CAAKC,WAAW,MAAA,EAAQ;AAC5B,IAAA,MAAMC,MAAAA,GAASV,iBAAAA,CAAkBV,KAAAA,EAAOkB,IAAAA,CAAKnB,SAAS,CAAA;AACtD,IAAA,IAAIqB,QAAQ,OAAO,KAAA;AACvB,EAAA;AACA,EAAA,OAAO,IAAA;AACX;AAXgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;;;AClFhB,IAAMI,UAAAA,GAAuB;AACzB,EAAA,CAAA;AAAG,EAAA,CAAA;AAAG,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA,EAAA;AAAI,EAAA;;AAI9D,SAASC,eAAAA,CACLC,UAAAA,EACAC,YAAAA,EACAC,SAAAA,GAAY,EAAA,EAAE;AAEd,EAAA,MAAMC,eAAwC,EAAC;AAE/CxG,EAAAA,MAAAA,CAAOyG,IAAAA,CAAKJ,UAAAA,CAAAA,CAAYK,OAAAA,CAAQ,CAACC,GAAAA,KAAAA;AAC7B,IAAA,MAAMC,UAAUL,SAAAA,GAAY,CAAA,EAAGA,SAAAA,CAAAA,CAAAA,EAAaI,GAAAA,CAAAA,CAAAA,GAAQA,GAAAA;AACpD,IAAA,MAAMjC,KAAAA,GAAQ2B,WAAWM,GAAAA,CAAAA;AACzB,IAAA,IACI,OAAOjC,UAAU,QAAA,IACjB,CAACmC,MAAMC,OAAAA,CAAQpC,KAAAA,CAAAA,IACfA,KAAAA,KAAU,IAAA,EACZ;AACE8B,MAAAA,YAAAA,CAAaG,GAAAA,CAAAA,GAAOP,eAAAA,CAChB1B,KAAAA,EACA4B,cACAM,OAAAA,CAAAA;IAER,CAAA,MAAA,IAAWN,YAAAA,CAAaM,OAAAA,CAAAA,EAAU;AAC9BJ,MAAAA,YAAAA,CAAaG,GAAAA,CAAAA,GAAOL,YAAAA,CAAaM,OAAAA,EAASlC,KAAAA,CAAAA;IAC9C,CAAA,MAAO;AACH8B,MAAAA,YAAAA,CAAaG,GAAAA,CAAAA,GAAOjC,KAAAA;AACxB,IAAA;EACJ,CAAA,CAAA;AAEA,EAAA,OAAO8B,YAAAA;AACX;AA5BSJ,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AA8BF,SAASW,gBAAAA,CACZC,KACAV,YAAAA,EAA2B;AAE3B,EAAA,OAAOF,eAAAA,CAAgBY,KAAKV,YAAAA,CAAAA;AAChC;AALgBS,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAOhB,IAAME,SAAAA,2BAAavC,KAAAA,KAAAA;AACf,EAAA,MAAMwC,MAAAA,GAASC,OAAOzC,KAAAA,CAAAA;AACtB,EAAA,IAAI,CAACwC,MAAAA,IAAUE,KAAAA,CAAMF,MAAAA,GAAS,OAAOG,MAAAA;AACrC,EAAA,OAAOH,MAAAA;AACX,CAAA,EAJkB,WAAA,CAAA;AAMlB,IAAMI,iBAAAA,mBACF,MAAA,CAAA,CAACC,QAAAA,EAAkBC,QAAAA,KAAsB,CAAC9C,KAAAA,KAAAA;AACtC,EAAA,MAAMwC,MAAAA,GAASD,UAAUvC,KAAAA,CAAAA;AACzB,EAAA,IAAI,CAACwC,QAAQ,OAAOG,MAAAA;AACpB,EAAA,IAAIG,QAAAA,IAAYN,MAAAA,GAASM,QAAAA,EAAU,OAAOA,QAAAA;AAC1C,EAAA,IAAIN,MAAAA,GAASK,UAAU,OAAOA,QAAAA;AAC9B,EAAA,OAAOL,MAAAA;AACX,CAAA,EANA,mBAAA,CAAA;AAQG,IAAMO,mBAAAA,mBACT,MAAA,CAAA,CAACC,OAAAA,EAAiBC,OAAAA,KAClB,CAACjD,KAAAA,KAAAA;AACG,EAAA,MAAMkD,SAAAA,GAAYC,QAAAA,CAASnD,KAAAA,EAAO,EAAA,CAAA;AAElC,EAAA,IACIyB,WAAWxB,QAAAA,CAASiD,SAAAA,KACpBA,SAAAA,IAAaF,OAAAA,IACbE,aAAaD,OAAAA,EACf;AACE,IAAA,OAAO,GAAGC,SAAAA,CAAAA,EAAAA,CAAAA;AACd,EAAA;AAGA,EAAA,MAAME,cAAAA,GAAiB3B,WAAW4B,MAAAA,CAC9B,CAACC,SAASA,IAAAA,IAAQN,OAAAA,IAAWM,QAAQL,OAAAA,CAAAA;AAGzC,EAAA,IAAIG,cAAAA,CAAepC,WAAW,CAAA,EAAG;AAC7B,IAAA,OAAO2B,MAAAA;AACX,EAAA;AAGA,EAAA,IAAIY,WAAAA,GAAcH,eAAe,CAAA,CAAA;AACjC,EAAA,IAAII,YAAAA,GAAeC,IAAAA,CAAKC,GAAAA,CAAIR,SAAAA,GAAYK,WAAAA,CAAAA;AAExC,EAAA,KAAA,MAAWD,QAAQF,cAAAA,EAAgB;AAC/B,IAAA,MAAMO,IAAAA,GAAOF,IAAAA,CAAKC,GAAAA,CAAIR,SAAAA,GAAYI,IAAAA,CAAAA;AAClC,IAAA,IAAIK,OAAOH,YAAAA,EAAc;AACrBA,MAAAA,YAAAA,GAAeG,IAAAA;AACfJ,MAAAA,WAAAA,GAAcD,IAAAA;AAClB,IAAA;AACJ,EAAA;AAGA,EAAA,OAAO,GAAGC,WAAAA,CAAAA,EAAAA,CAAAA;AACd,CAAA,EAnCA,qBAAA,CAAA;AAoCG,IAAMK,cAAAA,2BAAkB5D,KAAAA,KAAAA;AAC3B,EAAA,MAAM6D,eAAAA,GAAkB7D,MAAM8D,WAAAA,EAAW;AACzC,EAAA,OAAOD,eAAAA;AACX,CAAA,EAH8B,gBAAA,CAAA;AAK9B,IAAME,YAAAA,mBAAe,MAAA,CAAA,CAACC,WAAAA,KAA0B,CAAChE,KAAAA,KAAAA;AAC7C,EAAA,IAAI,OAAOA,KAAAA,KAAU,QAAA,EAAU,OAAO2C,MAAAA;AACtC,EAAA,MAAMsB,aAAAA,GAAgBjE,MAAMkE,WAAAA,EAAW;AACvC,EAAA,OAAOF,WAAAA,CAAY/D,QAAAA,CAASgE,aAAAA,CAAAA,GAAiBA,aAAAA,GAAgBtB,MAAAA;AACjE,CAAA,EAJqB,cAAA,CAAA;AAMd,IAAMwB,gBAAAA,GAAkC;EAC3C,4BAAA,EAA8BvB,iBAAAA,CAAkB,KAAK,EAAA,CAAA;EACrD,4BAAA,EAA8BG,mBAAAA,CAAoB,GAAG,EAAA,CAAA;EACrD,6BAAA,EAA+Ba,cAAAA;EAC/B,oCAAA,EAAsChB,iBAAAA,CAAkB,IAAI,CAAA,CAAA;EAC5D,qCAAA,EAAuCA,iBAAAA,CAAkB,KAAK,CAAA,CAAA;;AAG9D,EAAA,8BAAA,EAAgCmB,YAAAA,CAAa;AAAC,IAAA,MAAA;AAAQ,IAAA;AAAW,GAAA,CAAA;AACjE,EAAA,qCAAA,EAAuCA,YAAAA,CAAa;AAChD,IAAA,QAAA;AACA,IAAA;AACH,GAAA,CAAA;;AAGD,EAAA,sCAAA,EAAwCA,YAAAA,CAAa;AACjD,IAAA,QAAA;AACA,IAAA;AACH,GAAA,CAAA;;AAGD,EAAA,qCAAA,EAAuCA,YAAAA,CAAa;AAChD,IAAA,QAAA;AACA,IAAA;AACH,GAAA;AACL,CAAA;;;AC/HO,SAASK,SAAAA,CACZC,IAAAA,EACAC,IAAAA,EACAC,QAAAA,EAA4B;AAHhC,EAAA,IAAA,EAAA,EAAA,EAAA;AAKI,EAAA,MAAMC,eAAAA,GAAkB;IACpBC,mBAAAA,EAAAA,CAAqBF,EAAAA,GAAAA,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUE,wBAAVF,IAAAA,GAAAA,EAAAA,GAAiC,IAAA;IACtDG,sBAAAA,EAAAA,CAAwBH,EAAAA,GAAAA,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUG,2BAAVH,IAAAA,GAAAA,EAAAA,GAAoC;AAChE,GAAA;AAEA,EAAA,IAAI,CAACI,OAAAA,CAAQN,IAAAA,EAAMC,IAAAA,CAAAA,EAAO,OAAOM,WAAWP,IAAAA,CAAAA;AAE5C,EAAA,MAAM7C,SAAcW,KAAAA,CAAMC,OAAAA,CAAQiC,IAAAA,CAAAA,GAAQ,KAAK,EAAC;AAEhD,EAAA,KAAA,MAAWpC,OAAOoC,IAAAA,EAAM;AACpB,IAAA,MAAMQ,IAAAA,GAAOR,KAAKpC,GAAAA,CAAAA;AAClB,IAAA,MAAM6C,OAAOR,IAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,CAAOrC,GAAAA,CAAAA;AAEpB,IAAA,IAAI8C,SAASF,IAAAA,CAAAA,IAAS1C,KAAAA,CAAMC,OAAAA,CAAQyC,IAAAA,CAAAA,EAAO;AACvCrD,MAAAA,MAAAA,CAAOS,GAAAA,CAAAA,GAAOmC,SAAAA,CAAUS,IAAAA,EAAMC,MAAMN,eAAAA,CAAAA;IACxC,CAAA,MAAA,IAAWvC,GAAAA,IAAOqC,IAAAA,IAAQE,eAAAA,CAAgBC,mBAAAA,EAAqB;AAC3DjD,MAAAA,MAAAA,CAAOS,GAAAA,CAAAA,GAAO6C,IAAAA;IAClB,CAAA,MAAO;AACHtD,MAAAA,MAAAA,CAAOS,GAAAA,CAAAA,GAAO4C,IAAAA;AAClB,IAAA;AACJ,EAAA;AAEA,EAAA,IAAIL,gBAAgBE,sBAAAA,EAAwB;AACxC,IAAA,KAAA,MAAWzC,OAAOqC,IAAAA,EAAM;AACpB,MAAA,IAAI,EAAErC,OAAOT,MAAAA,CAAAA,EAAS;AAClBA,QAAAA,MAAAA,CAAOS,GAAAA,CAAAA,GAAOqC,IAAAA,CAAKrC,GAAAA,CAAAA;AACvB,MAAA;AACJ,IAAA;AACJ,EAAA;AAEA,EAAA,OAAOT,MAAAA;AACX;AApCgB4C,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAsChB,SAASO,OAAAA,CAAQN,MAAWC,IAAAA,EAAS;AACjC,EAAA,OACKS,QAAAA,CAASV,IAAAA,CAAAA,IAASU,QAAAA,CAAST,IAAAA,CAAAA,IAC3BnC,KAAAA,CAAMC,OAAAA,CAAQiC,IAAAA,CAAAA,IAASlC,KAAAA,CAAMC,OAAAA,CAAQkC,IAAAA,CAAAA;AAE9C;AALSK,MAAAA,CAAAA,OAAAA,EAAAA,SAAAA,CAAAA;AAOT,SAASC,WAAoBtC,GAAAA,EAAM;AAC/B,EAAA,IAAIA,GAAAA,KAAQ,IAAA,IAAQ,OAAOA,GAAAA,KAAQ,UAAU,OAAOA,GAAAA;AAEpD,EAAA,IAAIH,KAAAA,CAAMC,OAAAA,CAAQE,GAAAA,CAAAA,EAAM;AACpB,IAAA,OAAOA,IAAI0C,GAAAA,CAAI,CAACC,IAAAA,KAASL,UAAAA,CAAWK,IAAAA,CAAAA,CAAAA;AACxC,EAAA;AAEA,EAAA,MAAMzD,SAAc,EAAC;AACrB,EAAA,KAAA,MAAWS,OAAOK,GAAAA,EAAK;AACnB,IAAA,IAAIhH,OAAO4J,SAAAA,CAAUC,cAAAA,CAAeC,IAAAA,CAAK9C,GAAAA,EAAKL,GAAAA,CAAAA,EAAM;AAChDT,MAAAA,MAAAA,CAAOS,GAAAA,CAAAA,GAAO2C,UAAAA,CAAYtC,GAAAA,CAAYL,GAAAA,CAAI,CAAA;AAC9C,IAAA;AACJ,EAAA;AAEA,EAAA,OAAOT,MAAAA;AACX;AAfSoD,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAiBT,SAASG,SAAS/E,KAAAA,EAAU;AACxB,EAAA,OACIA,KAAAA,KAAU,IAAA,IACV,OAAOA,KAAAA,KAAU,YACjB,CAACmC,KAAAA,CAAMC,OAAAA,CAAQpC,KAAAA,KACf1E,MAAAA,CAAO4J,SAAAA,CAAUG,QAAAA,CAASD,IAAAA,CAAKpF,KAAAA,CAAAA,KAAW,iBAAA;AAElD;AAPS+E,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;;;ACvBF,SAASO,kBAAAA,CACZC,MAAAA,EACAC,aAAAA,EACAC,aAAAA,EAA6B;AAE7B,EAAA,OAAOC,gBAAAA,CAAiBH,MAAAA,CAAOnH,aAAAA,EAAeoH,aAAAA,EAAeC,aAAAA,CAAAA;AACjE;AANgBH,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAQT,SAASI,gBAAAA,CACZH,MAAAA,EACAC,aAAAA,EACAC,aAAAA,EAA6B;AAE7B,EAAA,MAAME,gBAA+B,EAAC;AACtC,EAAA,IAAIJ,OAAOvI,KAAAA,EAAO;AACd,IAAA,KAAA,MAAW4I,IAAAA,IAAQL,OAAOvI,KAAAA,EAAO;AAC7B1B,MAAAA,MAAAA,CAAOuK,OACHF,aAAAA,EACAG,wBAAAA,CACIF,MACAL,MAAAA,EACAC,aAAAA,EACAC,aAAAA,CAAAA,CAAAA;AAGZ,IAAA;EACJ,CAAA,MAAO;AACH,IAAA,MAAMM,cAAAA,GAAiBC,uBAAAA,CACnBR,aAAAA,EACA7C,MAAAA,EACA8C,aAAAA,CAAAA;AAEJ,IAAA,MAAMQ,eAAeV,MAAAA,CAAOnK,QAAAA;AAE5B,IAAA,MAAM8K,UAAAA,GAAaC,mBAAAA,CAAoBZ,MAAAA,EAAQC,aAAAA,CAAAA;AAC/C,IAAA,IAAIU,UAAAA,EAAY;AACZP,MAAAA,aAAAA,CAAc/H,UAAAA,GAAasI,UAAAA;AAC/B,IAAA;AAEA,IAAA,MAAME,aAAAA,GAAgBC,mBAAAA,CAAoBd,MAAAA,EAAQC,aAAAA,CAAAA;AAElDlK,IAAAA,MAAAA,CAAOuK,MAAAA,CACHF,aAAAA,EACAW,sBAAAA,CAAuBf,MAAAA,EAAQC,aAAAA,EAAe;AAC1CS,MAAAA,YAAAA;AACAF,MAAAA,cAAAA;AACAK,MAAAA;AACJ,KAAA,CAAA,CAAA;AAER,EAAA;AACA,EAAA,OAAOT,aAAAA;AACX;AA3CgBD,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AA6ChB,SAASI,wBAAAA,CACLF,IAAAA,EACAL,MAAAA,EACAC,aAAAA,EACAC,aAAAA,EAA6B;AAE7B,EAAA,MAAMc,cAAAA,GAAiBhB,MAAAA,CAAOvI,KAAAA,CAAO4I,IAAAA,CAAAA;AACrC,EAAA,MAAMG,cAAAA,GAAiBC,uBAAAA,CACnBR,aAAAA,EACAI,IAAAA,EACAH,aAAAA,CAAAA;AAEJ,EAAA,MAAMQ,eAAeV,MAAAA,CAAOnK,QAAAA;AAE5B,EAAA,MAAMuK,gBAA+B,EAAC;AAEtC,EAAA,MAAMO,UAAAA,GAAaC,mBAAAA,CAAoBZ,MAAAA,EAAQC,aAAAA,EAAeI,IAAAA,CAAAA;AAC9D,EAAA,IAAIM,UAAAA,EAAY;AACZP,IAAAA,aAAAA,CAAc,CAAA,EAAGC,IAAAA,CAAAA,YAAAA,CAAkB,CAAA,GAAIM,UAAAA;AAC3C,EAAA;AAEA5K,EAAAA,MAAAA,CAAOuK,MAAAA,CACHF,aAAAA,EACAW,sBAAAA,CAAuBf,MAAAA,EAAQC,aAAAA,EAAe;IAC1CgB,QAAAA,EAAUD,cAAAA;IACVE,UAAAA,EAAYb,IAAAA;AACZK,IAAAA,YAAAA;AACAF,IAAAA;AACJ,GAAA,CAAA,CAAA;AAGJ,EAAA,OAAOJ,aAAAA;AACX;AAhCSG,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAkCT,SAASY,cAAcd,IAAAA,EAAa;AAChC,EAAA,OAAOA,IAAAA,GAAO,CAAA,EAAGA,IAAAA,CAAAA,EAAOzL,6BAAAA,CAAAA,CAAAA,GAAkC,EAAA;AAC9D;AAFSuM,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASC,eAAAA,CAAgB1E,KAAawE,UAAAA,EAAmB;AACrD,EAAA,MAAMG,SAAAA,GAAYF,cAAcD,UAAAA,CAAAA;AAChC,EAAA,OAAO,CAAA,EAAGG,SAAAA,CAAAA,EAAY3E,GAAAA,CAAAA,CAAAA;AAC1B;AAHS0E,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAKT,IAAME,aAAAA,mBAAgB,MAAA,CAAA,CAACC,OAAAA,EAAiB9G,KAAAA,KAAAA;AACpC,EAAA,MAAM+G,YAAAA,GAAe,IAAIC,MAAAA,CACrB,GAAA,GAAMF,OAAAA,CAAQG,OAAAA,CAAQ,KAAA,EAAO,KAAA,CAAA,CAAOA,OAAAA,CAAQ,KAAA,EAAO,IAAA,IAAQ,GAAA,CAAA;AAE/D,EAAA,OAAOF,YAAAA,CAAaG,KAAKlH,KAAAA,CAAAA;AAC7B,CAAA,EALsB,eAAA,CAAA;AAOtB,SAASmH,mBAAAA,CACLlF,KACAuD,aAAAA,EAAkC;AAElC,EAAA,MAAM,EAAE4B,IAAAA,GAAO,EAAA,EAAE,GAAK5B,aAAAA;AACtB,EAAA,KAAA,MAAWsB,WAAWM,IAAAA,EAAM;AACxB,IAAA,IAAIN,OAAAA,KAAY7E,GAAAA,IAAO4E,aAAAA,CAAcC,OAAAA,EAAS7E,GAAAA,CAAAA,EAAM;AAChD,MAAA,OAAO,IAAA;AACX,IAAA;AACJ,EAAA;AACA,EAAA,OAAO,KAAA;AACX;AAXSkF,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAaT,SAASE,qBAAAA,CACLpF,KACAuD,aAAAA,EAAkC;AAElC,EAAA,MAAM,EAAE8B,MAAAA,GAAS,EAAA,EAAE,GAAK9B,aAAAA;AACxB,EAAA,KAAA,MAAWsB,WAAWQ,MAAAA,EAAQ;AAC1B,IAAA,IAAIR,OAAAA,KAAY7E,GAAAA,IAAO4E,aAAAA,CAAcC,OAAAA,EAAS7E,GAAAA,CAAAA,EAAM;AAChD,MAAA,OAAO,IAAA;AACX,IAAA;AACJ,EAAA;AACA,EAAA,OAAO,KAAA;AACX;AAXSoF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAaT,SAASE,wBAAAA,CACLtF,GAAAA,EACAuD,aAAAA,EACAgC,kBAAAA,EAA4B;AAE5B,EAAA,MAAMC,gBAAAA,GAAmBJ,qBAAAA,CAAsBpF,GAAAA,EAAKuD,aAAAA,CAAAA;AACpD,EAAA,MAAMkC,YACF,CAACD,gBAAAA,KACA,CAACD,kBAAAA,IAAsBL,mBAAAA,CAAoBlF,KAAKuD,aAAAA,CAAAA,CAAAA;AAErD,EAAA,MAAMmC,SAAAA,GAAYR,mBAAAA,CAAoBlF,GAAAA,EAAKuD,aAAAA,IACrC,MAAA,GACA,QAAA;AACN,EAAA,MAAMoC,UAAAA,GAAaJ,qBAAqBG,SAAAA,GAAY,KAAA;AACpD,EAAA,MAAME,eAAAA,GAAkBJ,mBAAmB,QAAA,GAAWG,UAAAA;AACtD,EAAA,OAAO;AAAEF,IAAAA,SAAAA;AAAWG,IAAAA;AAAgB,GAAA;AACxC;AAhBSN,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAkBT,SAASO,aAAAA,CACL7F,KACA,EAAEuE,QAAAA,EAAUC,aAAa,EAAA,EAAIsB,aAAAA,IAC7BvC,aAAAA,EAAmC;AAlMvC,EAAA,IAAA,EAAA;AAoMI,EAAA,MAAMwC,iBAAAA,GAAAA,CAAoBxC,EAAAA,GAAAA,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAexI,KAAAA,KAAfwI,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAuBiB,UAAAA,CAAAA;AAEjD,EAAA,MAAMwB,gBAAiCzC,aAAAA,GACjC+B,wBAAAA,CAAyBtF,KAAKuD,aAAAA,EAAeuC,aAAAA,KAAkB,MAAA,CAAA,GAC/D;IACIL,SAAAA,EAAW,IAAA;IACXG,eAAAA,EAAiB;AACrB,GAAA;AACN,EAAA,MAAMK,oBAAqCF,iBAAAA,GACrCT,wBAAAA,CACItF,KACA+F,iBAAAA,EACAD,aAAAA,KAAkB,MAAA,CAAA,GAEtB;IACIL,SAAAA,EAAW,IAAA;IACXG,eAAAA,EAAiB;AACrB,GAAA;AAGN,EAAA,MAAMH,SAAAA,GAAAA,CACD,CAAClB,QAAAA,IAAYA,QAAAA,CAAS2B,KAAK,CAACC,CAAAA,KAAMnG,GAAAA,CAAItB,UAAAA,CAAWyH,CAAAA,CAAAA,CAAAA,KAClDH,aAAAA,CAAcP,aACdQ,iBAAAA,CAAkBR,SAAAA;AAEtB,EAAA,MAAMG,eAAAA,GACFI,aAAAA,CAAcJ,eAAAA,IAAmBK,iBAAAA,CAAkBL,eAAAA;AAEvD,EAAA,OAAO;AAAEH,IAAAA,SAAAA;AAAWG,IAAAA;AAAgB,GAAA;AACxC;AAlCSC,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAoCT,SAASO,YAAAA,CACLpG,GAAAA,EACA,EACIuE,QAAAA,EACAC,UAAAA,GAAa,IACbsB,aAAAA,EACAO,cAAAA,GAAiB,KAAA,EAAK,EAE1B9C,aAAAA,EAAmC;AAEnC,EAAA,MAAMhE,MAAAA,GAASsG,cACX7F,GAAAA,EACA;AAAEuE,IAAAA,QAAAA;AAAUC,IAAAA,UAAAA;AAAYsB,IAAAA,aAA8B,CAAA,EACtDvC,aAAAA,CAAAA;AAEJ,EAAA,MAAMkC,SAAAA,GAAYY,kBAAkB9G,MAAAA,CAAOkG,SAAAA;AAC3C,EAAA,OAAO;AAAEA,IAAAA,SAAAA;AAAWG,IAAAA,eAAAA,EAAiBrG,MAAAA,CAAOqG;AAAgB,GAAA;AAChE;AAjBSQ,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAmBT,SAASE,mBAAAA,CACL5C,aAAAA,EACA1D,GAAAA,EACA,EAAEwE,UAAAA,EAAY6B,gBAAgBlC,aAAAA,EAAa,EAC3ChL,QAAAA,EACAoN,QAAAA,EACAX,eAAAA,EAAsC;AAEtC,EAAA,MAAMY,OAAAA,GAAU9B,eAAAA,CAAgB1E,GAAAA,EAAKwE,UAAAA,CAAAA;AAErC,EAAA,IAAI6B,cAAAA,IAAkBT,mBAAmB,IAAA,EAAM;AAC3ClC,IAAAA,aAAAA,CAAc8C,OAAAA,CAAAA,GAAWZ,eAAAA;AACzB,IAAA;AACJ,EAAA;AAEA,EAAA,MAAMa,gBAAgBtN,QAAAA,IAAYE,MAAAA,CAAOyG,IAAAA,CAAK3G,QAAAA,EAAU4F,MAAAA,GAAS,CAAA;AACjE,EAAA,MAAM2H,iBAAiBH,QAAAA,IAAYlN,MAAAA,CAAOyG,IAAAA,CAAKyG,QAAAA,EAAUxH,MAAAA,GAAS,CAAA;AAClE,EAAA,MAAMD,UAAAA,GAAa6H,mBAAAA,CAAoB3G,GAAAA,EAAKmE,aAAAA,CAAAA;AAE5CT,EAAAA,aAAAA,CAAc8C,OAAAA,CAAAA,GACV,CAACC,aAAAA,IAAiB,CAACC,kBAAkB,CAAC5H,UAAAA,GAChC,IAAA,GACA,cAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACQ2H,aAAAA,IAAiB;AAAEtN,IAAAA;AAAS,GAAA,CAAA,EAC5BuN,cAAAA,IAAkB;AAAEH,IAAAA;AAAS,GAAA,CAAA,EAC7BzH,UAAAA,IAAc;AAAEA,IAAAA;AAAW,GAAA,CAAA;AAEjD;AA3BSwH,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AA6BT,SAASjC,sBAAAA,CACLf,MAAAA,EACAC,aAAAA,EACA,EACIgB,UACAqC,UAAAA,GAAa,EAAA,EACbpC,UAAAA,GAAa,EAAA,EACbsB,eAAee,kBAAAA,EACf7C,YAAAA,EACAF,cAAAA,EACAK,aAAAA,EACAkC,gBAAc,EACK;AAEvB,EAAA,MAAM3C,gBAA+B,EAAC;AACtC,EAAA,MAAMoD,iBAAAA,GAAoBC,iBAAAA,CAAkBzD,MAAAA,EAAQC,aAAAA,EAAe;AAC/DiB,IAAAA,UAAAA;AACAoC,IAAAA;GACJ,CAAA;AAEA,EAAA,KAAA,MAAW5G,OAAOsD,MAAAA,EAAQ;AACtB,IAAA,IAAInL,wBAAAA,CAAyB6F,QAAAA,CAASgC,GAAAA,CAAAA,EAAM;AACxC,MAAA;AACJ,IAAA;AACA,IAAA,MAAM8F,gBAAgBe,kBAAAA,IAAAA,IAAAA,GAAAA,kBAAAA,GAAsBC,iBAAAA;AAC5C,IAAA,MAAME,WAAAA,GAAc1D,OAAOtD,GAAAA,CAAAA;AAC3B,IAAA,MAAMiH,UAAAA,GAAa,CAAA,EAAGL,UAAAA,CAAAA,EAAa5G,GAAAA,CAAAA,CAAAA;AACnC,IAAA,MAAMkH,SAAAA,GAAY,CAAA,EAAGD,UAAAA,CAAAA,EAAahP,gCAAAA,CAAAA,CAAAA;AAElC,IAAA,MAAMkP,eAAAA,GAAkBf,aACpBa,UAAAA,EACA;AACI1C,MAAAA,QAAAA;AACAC,MAAAA,UAAAA;AACAsB,MAAAA,aAAAA;AACAO,MAAAA;AACJ,KAAA,EACA9C,aAAAA,CAAAA;AAEJ,IAAA,IAAI,CAAC4D,gBAAgB1B,SAAAA,EAAW;AAC5B,MAAA;AACJ,IAAA;AAEA,IAAA,IAAItM,QAAAA,GAAW6K,YAAAA;AACf,IAAA,IAAIuC,QAAAA,GAAsC7F,MAAAA;AAC1C,IAAA,IAAIR,KAAAA,CAAMC,OAAAA,CAAQ6G,WAAAA,CAAAA,EAAc;AAE5B7N,MAAAA,QAAAA,GAAWiO,iBAAAA,CACPpD,YAAAA,EACA,EAAC,EACDF,cAAAA,CAAAA;AAEJyC,MAAAA,QAAAA,GAAWc,2BAAAA,CAA4BL,aAAazD,aAAAA,EAAe;AAC/DgB,QAAAA,QAAAA;AACAC,QAAAA,UAAAA;QACAoC,UAAAA,EAAYM,SAAAA;AACZlD,QAAAA,YAAAA;AACAF,QAAAA,cAAAA;AACAK,QAAAA,aAAAA;AACAkC,QAAAA;OACJ,CAAA;AAEAhN,MAAAA,MAAAA,CAAOuK,MAAAA,CAAOF,eAAe6C,QAAAA,CAAAA;AACjC,IAAA,CAAA,MAAA,IACI,OAAOS,WAAAA,KAAgB,QAAA,IACvB,CAAC9G,KAAAA,CAAMC,OAAAA,CAAQ6G,WAAAA,CAAAA,EACjB;AACE7N,MAAAA,QAAAA,GAAWiO,iBAAAA,CACPpD,YAAAA,EACAgD,WAAAA,CAAY7N,QAAAA,EACZ2K,cAAAA,CAAAA;AAGJyC,MAAAA,QAAAA,GAAWlC,sBAAAA,CACP2C,aACAzD,aAAAA,EACA;AACIgB,QAAAA,QAAAA;AACAC,QAAAA,UAAAA;QACAoC,UAAAA,EAAYM,SAAAA;QACZlD,YAAAA,EAAc7K,QAAAA;AACdgL,QAAAA,aAAAA;AACAkC,QAAAA;OACJ,CAAA;AAEJhN,MAAAA,MAAAA,CAAOuK,MAAAA,CAAOF,eAAe6C,QAAAA,CAAAA;AACjC,IAAA,CAAA,MAAA,IAAW,OAAOS,WAAAA,KAAgB,SAAA,IAAa,CAACA,WAAAA,EAAa;AAEzD,MAAA;IACJ,CAAA,MAAA,IAAW,OAAOA,WAAAA,KAAgB,SAAA,IAAaA,WAAAA,EAAa;AACxD7N,MAAAA,QAAAA,GAAWiO,iBAAAA,CACPpD,YAAAA,EACA,EAAC,EACDF,cAAAA,CAAAA;AAER,IAAA;AAEAwC,IAAAA,mBAAAA,CACI5C,eACAuD,UAAAA,EACA;AACIzC,MAAAA,UAAAA;AACA6B,MAAAA,cAAAA;AACAlC,MAAAA;KACJ,EACAhL,QAAAA,EACAoN,QAAAA,EACAY,eAAAA,CAAgBvB,eAAe,CAAA;AAEvC,EAAA;AAEA,EAAA,OAAOlC,aAAAA;AACX;AAhHSW,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAkHT,SAASsC,mBAAAA,CACL3G,KACAmE,aAAAA,EAA+C;AAE/C,EAAA,IAAI,CAACA,aAAAA,IAAiBA,aAAAA,CAAcpF,MAAAA,KAAW,GAAG,OAAO2B,MAAAA;AACzD,EAAA,MAAMnB,MAAAA,GAAS4E,aAAAA,CAAcmD,MAAAA,CAAO,CAAC/H,SAAQ4G,CAAAA,KAAAA;AACzC,IAAA,MAAMoB,QAAAA,GAAWpB,CAAAA,CAAEpD,GAAAA,CAAI/C,GAAAA,CAAAA;AACvB,IAAA,IACI,OAAOuH,QAAAA,KAAa,QAAA,KACnBA,QAAAA,KAAa,MAAA,IAAUA,aAAa,QAAA,CAAA,EACvC;AACEhI,MAAAA,QAAOiI,IAAAA,CAAK;QACRlI,MAAAA,EAAQiI,QAAAA;AACRrJ,QAAAA,SAAAA,EAAWiI,CAAAA,CAAEjI;OACjB,CAAA;AACJ,IAAA;AACA,IAAA,OAAOqB,OAAAA;AACX,EAAA,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,IAAIA,MAAAA,CAAOR,MAAAA,KAAW,CAAA,EAAG,OAAO2B,MAAAA;AAChC,EAAA,OAAOnB,MAAAA;AACX;AArBSoH,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAuBT,SAASvC,mBAAAA,CACLd,QACAC,aAAAA,EAAmC;AA9ZvC,EAAA,IAAA,EAAA;AAgaI,EAAA,MAAMkE,qBAAqBlE,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAemE,WAAAA;AAC1C,EAAA,OAAA,CACID,EAAAA,GAAAA,kBAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,kBAAAA,CAAoB1E,GAAAA,CAAI,CAAC9D,CAAAA,MAAO;AAC5Bf,IAAAA,SAAAA,EAAWe,CAAAA,CAAEf,SAAAA;IACb6E,GAAAA,EAAKsB,sBAAAA,CAAuBf,QAAQrE,CAAAA,EAAG;MAAEoH,cAAAA,EAAgB;KAAK;AAClE,GAAA,CAAA,CAAA,KAHAoB,IAAAA,GAAAA,EAAAA,GAGO/G,MAAAA;AAEf;AAXS0D,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAaT,SAASF,mBAAAA,CACLZ,MAAAA,EACAC,aAAAA,EACAI,IAAAA,EAAa;AA5ajB,EAAA,IAAA,EAAA,EAAA,EAAA;AA8aI,EAAA,MAAMgE,iBAAiBhE,IAAAA,GAAAA,CACjBJ,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAexI,UAAfwI,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAuBI,IAAAA,CAAAA,KAAvBJ,mBAA8B5H,UAAAA,GAC9B+E,MAAAA;AACN,EAAA,MAAMkH,uBAAuBrE,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAe5H,UAAAA;AAC5C,EAAA,MAAMkM,gBAAAA,GAAmBF,cAAAA,GACnBG,YAAAA,CAAaF,oBAAAA,EAAsBD,cAAAA,CAAAA,GACnCC,oBAAAA;AACN,EAAA,OAAOE,YAAAA,CAAaxE,MAAAA,CAAO3H,UAAAA,EAAYkM,gBAAAA,CAAAA;AAC3C;AAbS3D,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAeT,SAASH,uBAAAA,CACLR,aAAAA,EACAI,IAAAA,EACAH,aAAAA,EAA6B;AA3bjC,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA6bI,EAAA,MAAMuE,eAAepE,IAAAA,GAAAA,CACfJ,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAexI,UAAfwI,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAuBI,IAAAA,CAAAA,KAAvBJ,mBAA8BpK,QAAAA,GAC9BuH,MAAAA;AACN,EAAA,MAAMsH,kBAAAA,GAAAA,CAAqBzE,EAAAA,GAAAA,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAepK,QAAAA,KAAfoK,IAAAA,GAAAA,EAAAA,GAA2B,EAAC;AACvD,EAAA,MAAM0E,UAAAA,GAAaF,YAAAA,GACbD,YAAAA,CAAaE,kBAAAA,EAAoBD,YAAAA,CAAAA,GACjCC,kBAAAA;AACN,EAAA,OAAOxE,aAAAA,IAAiByE,UAAAA,GAClB7H,gBAAAA,CAAiB6H,UAAAA,EAAYzE,aAAAA,CAAAA,GAC7ByE,UAAAA;AACV;AAfSlE,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAiBT,SAASqD,iBAAAA,CACLc,iBAAAA,EACAC,YAAAA,EACArE,cAAAA,EAAmD;AAEnD,EAAA,MAAMsE,YAAAA,GAAeN,YAAAA,CAAaI,iBAAAA,EAAmBC,YAAAA,CAAAA;AACrD,EAAA,OAAOL,YAAAA,CAAaM,cAActE,cAAAA,CAAAA;AACtC;AAPSsD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAST,SAASU,YAAAA,CACLO,SACAC,MAAAA,EAA2C;AAG3C,EAAA,IAAI,CAACA,MAAAA,IAAU,CAACD,OAAAA,EAAS,OAAO3H,MAAAA;AAEhC,EAAA,IAAI,CAAC4H,QAAQ,OAAOD,OAAAA;AAEpB,EAAA,IAAI,OAAOC,MAAAA,KAAW,QAAA,IAAYpI,MAAMC,OAAAA,CAAQmI,MAAAA,GAAS,OAAOD,OAAAA;AAChE,EAAA,OAAO,CAACA,OAAAA,GAAUC,MAAAA,GAASnG,SAAAA,CAAUkG,SAASC,MAAAA,CAAAA;AAClD;AAXSR,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAaT,SAASS,UAAAA,CACLvB,WAAAA,EACA,EAAEJ,UAAAA,EAAU,EAAwB;AAEpC,EAAA,OAAOvN,MAAAA,CAAOyG,IAAAA,CAAKkH,WAAAA,CAAAA,CAAajE,GAAAA,CAAI,CAACoD,CAAAA,KACjCzB,eAAAA,CAAgB,CAAA,EAAGkC,UAAAA,CAAAA,EAAaT,CAAAA,EAAG,CAAA,CAAA;AAE3C;AAPSoC,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAST,SAASC,YAAAA,CACLxB,WAAAA,EACA,EAAExC,UAAAA,EAAYoC,YAAU,EAAwB;AAEhD,EAAA,OAAOI,WAAAA,CAAYM,MAAAA,CAAO,CAAC/H,MAAAA,EAAQxB,KAAAA,KAAAA;AAC/B,IAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3BwB,MAAAA,MAAAA,CAAOiI,KAAK9C,eAAAA,CAAgB,CAAA,EAAGkC,UAAAA,CAAAA,EAAa7I,KAAAA,EAAO,CAAA,CAAA;IACvD,CAAA,MAAO;AACHwB,MAAAA,MAAAA,CAAOiI,IAAAA,CAAI,GAAIe,UAAAA,CAAWxK,KAAAA,EAAO;AAAEyG,QAAYoC;AAAW,OAAA,CAAA,CAAA;AAC9D,IAAA;AACA,IAAA,OAAOrH,MAAAA;AACX,EAAA,CAAA,EAAG,EAAE,CAAA;AACT;AAZSiJ,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAcT,SAASzB,kBACLC,WAAAA,EACAzD,aAAAA,EACA,EAAEiB,UAAAA,EAAYoC,YAAU,EAAwB;AAzfpD,EAAA,IAAA,EAAA;AA2fI,EAAA,IAAI,CAACrD,aAAAA,EAAe;AACpB,EAAA,MAAMkF,WAAWvI,KAAAA,CAAMC,OAAAA,CAAQ6G,WAAAA,CAAAA,GACzBwB,aAAaxB,WAAAA,EAAa;AAAExC,IAAAA,UAAAA;AAAYoC,IAAAA;GAAW,CAAA,GACnD2B,WAAWvB,WAAAA,EAAa;AAAExC,IAAYoC;GAAW,CAAA;AACvD,EAAA,MAAMb,iBAAAA,GAAoBvB,UAAAA,GAAAA,CACpBjB,EAAAA,GAAAA,aAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,aAAAA,CAAexI,KAAAA,KAAfwI,mBAAuBiB,UAAAA,CAAAA,GACvB9D,MAAAA;AACN,EAAA,KAAA,MAAWV,OAAOyI,QAAAA,EAAU;AACxB,IAAA,IAAIvD,mBAAAA,CAAoBlF,GAAAA,EAAKuD,aAAAA,CAAAA,EAAgB;AACzC,MAAA,OAAO,MAAA;AACX,IAAA,CAAA,MAAA,IACIwC,iBAAAA,IACAb,mBAAAA,CAAoBlF,GAAAA,EAAK+F,iBAAAA,CAAAA,EAC3B;AACE,MAAA,OAAO,MAAA;AACX,IAAA;AACJ,EAAA;AACA,EAAA,OAAOrF,MAAAA;AACX;AAvBSqG,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAyBT,SAASM,2BAAAA,CACLL,WAAAA,EACAzD,aAAAA,EACA,EACIgB,QAAAA,EACAC,UAAAA,EACAoC,UAAAA,EACA5C,YAAAA,EACAF,cAAAA,EACAK,aAAAA,EACAkC,cAAAA,EAAc,EACK;AAEvB,EAAA,MAAM3C,gBAA+B,EAAC;AACtC,EAAA,MAAMoC,aAAAA,GAAgBiB,iBAAAA,CAAkBC,WAAAA,EAAazD,aAAAA,EAAe;AAChEiB,IAAAA,UAAAA;AACAoC,IAAAA;GACJ,CAAA;AACA,EAAA,MAAM8B,cAAAA,GAAiBtB,iBAAAA,CACnBpD,YAAAA,EACAtD,MAAAA,EACAoD,cAAAA,CAAAA;AAGJkD,EAAAA,WAAAA,CAAYjH,OAAAA,CAAQ,CAAC4I,MAAAA,KAAAA;AACjB,IAAA,MAAMC,QAAAA,GAAW,CAAA,EAAGhC,UAAAA,CAAAA,EAAa+B,MAAAA,CAAAA,CAAAA;AACjC,IAAA,IAAI,OAAOA,WAAW,QAAA,EAAU;AAC5B,MAAA,MAAMxB,eAAAA,GAAkBf,aACpBwC,QAAAA,EACA;AACIrE,QAAAA,QAAAA;AACAC,QAAAA,UAAAA;AACAsB,QAAAA,aAAAA;AACAO,QAAAA;AACJ,OAAA,EACA9C,aAAAA,CAAAA;AAEJ,MAAA,IAAI,CAAC4D,gBAAgB1B,SAAAA,EAAW;AAC5B,QAAA;AACJ,MAAA;AACAa,MAAAA,mBAAAA,CACI5C,eACAkF,QAAAA,EACA;AACIrE,QACAC,UAAAA;AACA6B,QAAAA,cAAAA;AACAlC,QAAAA;OACJ,EACAuE,cAAAA,EACAhI,MAAAA,EACAyG,eAAAA,CAAgBvB,eAAe,CAAA;IAEvC,CAAA,MAAO;AACHvM,MAAAA,MAAAA,CAAOuK,MAAAA,CACHF,aAAAA,EACAW,sBAAAA,CAAuBsE,MAAAA,EAAQpF,aAAAA,EAAe;AAC1CgB,QAAAA,QAAAA;AACAqC,QAAAA,UAAAA;AACApC,QAAAA,UAAAA;AACAsB,QAAAA,aAAAA;AACA9B,QAAAA,YAAAA;AACAF,QAAAA,cAAAA;AACAK,QAAAA,aAAAA;AACAkC,QAAAA;AACJ,OAAA,CAAA,CAAA;AAER,IAAA;EACJ,CAAA,CAAA;AACA,EAAA,OAAO3C,aAAAA;AACX;AAtES2D,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;;;ACtgBF,SAASwB,cAAAA,CACZC,MAAAA,EACAvF,aAAAA,EACArH,OAAAA,EAAuB;AAZ3B,EAAA,IAAA,EAAA;AAcI,EAAA,MAAM6M,UAAAA,GAAa7M,4BAAW7D,aAAAA,CAAcqF,MAAAA;AAC5C,EAAA,MAAMsL,qBAAAA,GAAAA,CAAwBzL,EAAAA,GAAAA,aAAAA,CAAcuL,MAAAA,CAAAA,KAAdvL,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAwBwL,UAAAA,CAAAA;AACtD,EAAA,IAAI,CAACC,qBAAAA,EAAuB;AACxB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,2BAAA,EAA8BH,MAAAA,CAAAA,aAAAA,EAAsB5M,OAAAA,CAAAA,CAAS,CAAA;AAErE,EAAA;AACA,EAAA,MAAMgN,YAAAA,GAAe7F,kBAAAA,CACjB2F,qBAAAA,EACAzF,aAAAA,EACArB,gBAAAA,CAAAA;AAEJ,EAAA,OAAO,IAAIiH,wBAAwBD,YAAAA,CAAAA;AACvC;AAlBgBL,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAoBT,IAAMM,wBAAAA,GAAN,MAAMA,wBAAAA,CAAAA;AACTC,EAAAA,WAAAA,CAAoBC,OAAAA,EAAwB;;SAAxBA,OAAAA,GAAAA,OAAAA;AAAyB,EAAA;AAErCpL,EAAAA,QAAAA,CAAS+B,GAAAA,EAAa;AAC1B,IAAA,OAAO,IAAA,CAAKqJ,QAAQrJ,GAAAA,CAAAA;AACxB,EAAA;AAEAsJ,EAAAA,SAAAA,CAAUtJ,KAAa7B,KAAAA,EAAiC;AACpD,IAAA,MAAMJ,KAAAA,GAAQ,IAAA,CAAKE,QAAAA,CAAS+B,GAAAA,CAAAA;AAC5B,IAAA,IAAI,CAACjC,OAAO,OAAO,KAAA;AACnB,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAA,IAAYA,KAAAA,CAAMe,UAAAA,EAAY;AAC/C,MAAA,OAAOM,eAAAA,CACHjB,KAAAA,EACAJ,KAAAA,CAAMe,UAAU,CAAA;AAExB,IAAA;AACA,IAAA,OAAO,IAAA;AACX,EAAA;AAEAyK,EAAAA,WAAAA,CAAYvJ,GAAAA,EAAwC;AAChD,IAAA,MAAMjC,KAAAA,GAAQ,IAAA,CAAKE,QAAAA,CAAS+B,GAAAA,CAAAA;AAC5B,IAAA,IACI,CAACjC,KAAAA,IACD,OAAOA,KAAAA,KAAU,SAAA,IACjB,OAAOA,KAAAA,KAAU,QAAA,IACjB,CAACA,KAAAA,CAAMwI,QAAAA,EAEP,OAAO7F,MAAAA;AACX,IAAA,OAAO3C,KAAAA,CAAMwI,QAAAA;AACjB,EAAA;AAEAiD,EAAAA,YAAAA,CACIC,QACA9F,IAAAA,EAC+B;AAC/B,IAAA,MAAM3D,GAAAA,GAAM,CAAA,EAAG2D,IAAAA,GAAOA,IAAAA,GAAO,OAAO,EAAA,CAAA,UAAA,CAAA;AACpC,IAAA,MAAM5F,KAAAA,GAAQ,IAAA,CAAKE,QAAAA,CAAS+B,GAAAA,CAAAA;AAC5B,IAAA,OAAQjC,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAgD0L,MAAAA,CAAAA;AAC5D,EAAA;AAEAC,EAAAA,WAAAA,CAAY1J,GAAAA,EAAkD;AAC1D,IAAA,MAAMjC,KAAAA,GAAQ,IAAA,CAAKE,QAAAA,CAAS+B,GAAAA,CAAAA;AAC5B,IAAA,IACI,CAACjC,KAAAA,IACD,OAAOA,KAAAA,KAAU,SAAA,IACjB,OAAOA,KAAAA,KAAU,QAAA,IACjB,CAACA,KAAAA,CAAM5E,QAAAA,EAEP,OAAOuH,MAAAA;AACX,IAAA,OAAO3C,KAAAA,CAAM5E,QAAAA;AACjB,EAAA;AACJ,CAAA;AAnDagQ,MAAAA,CAAAA,wBAAAA,EAAAA,yBAAAA,CAAAA;AAAN,IAAMA,uBAAAA,GAAN","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n DOWNLOAD_MANAGER = 'download-manager',\n}\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\ntry {\n ApiProperty = require('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n","import { WidgetConfig } from '../models/structure.models';\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n preview: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n endUser: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n\n header: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst downloadManagerV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n main: [\n 'header',\n 'controlBar',\n 'assetList',\n 'scheduleModal',\n 'moreInfoModal',\n ],\n detail: [\n 'header',\n 'controlBar',\n 'assetList',\n 'scheduleModal',\n 'moreInfoModal',\n 'bottomBar',\n ],\n },\n\n header: ['qTitle'],\n controlBar: [\n {\n qFilterByFileType: [\n 'qTypeAll',\n 'qTypePDF',\n 'qTypeJPG',\n 'qTypeCSV',\n 'qTypeExcel',\n 'qTypeZIP',\n ],\n qFilterByExecution: [\n 'qExcecAll',\n 'qExcecScheduled',\n 'qExcecOthers',\n ],\n qFilterByWidget: [\n 'qWidgetAll',\n 'qWidgetAnalyze',\n 'qWidgetAutomation',\n 'qWidgetDash',\n 'qWidgetLegacyDash',\n 'qWidgetSubscriptions',\n 'qWidgetPPR',\n ],\n },\n 'qFilterByAsset',\n 'qSearch',\n 'qRemoveFilters',\n 'qScheduleDetail',\n 'qFilesExported',\n 'qMoreInfo',\n ],\n\n assetList: {\n asset: [\n {\n optionMenu: [\n 'qDelete',\n 'qMoreInfo',\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qUnsubscribe',\n ],\n table: [\n 'qType',\n 'qSchedule',\n 'qSize',\n 'qCreationDate',\n 'qExpirationDate',\n 'qDownload',\n ],\n },\n 'qDrillToDetail',\n 'qUnsubscribe',\n ],\n },\n\n bottomBar: [\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qDelete',\n ],\n\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n\n moreInfoModal: [\n 'qFileType',\n 'qSource',\n 'qOwner',\n 'qApplication',\n 'qPath',\n ],\n },\n};\n\nexport default downloadManagerV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport downloadManagerV1Config from '../structures/download-manager.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n [Widget.DOWNLOAD_MANAGER]: {\n [WidgetVersion.v1]: downloadManagerV1Config,\n [WidgetVersion.latest]: downloadManagerV1Config,\n },\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ValidationFN<T = any> = (value: T) => T | undefined;\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\nexport type ValidationMap = Record<string, ValidationFN>;\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] = value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n) {\n return applyValidation(obj, validatorMap);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n};\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n return calculateViewMap(config.baseStructure, customization, validationMap);\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n }\n return permissionMap;\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n) {\n const viewDefinition = config.views![view];\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { keep = [] } = customization;\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const canInsert =\n !includedInRemove &&\n (!validateKeepOption || keyIsIncludedInKeep(key, customization));\n\n const keepValue = keyIsIncludedInKeep(key, customization)\n ? 'keep'\n : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n { viewKeys, viewPrefix = '', hasKeepOption }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(key, customization, hasKeepOption === 'root')\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n): WidgetConditionMap[] | undefined {\n const customConditionals = customization?.conditional;\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, { checkCondition: true }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n return validationMap && defaultObj\n ? validateDefaults(defaultObj, validationMap)\n : defaultObj;\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs } from './constants/configs';\nimport { Widget, WidgetVersion } from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { WidgetItemCondition, WidgetViewMap } from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport { DX_VALIDATOR_MAP } from './utils/defaults.helpers';\nimport { getWidgetStructure } from './utils/structural.helpers';\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n) {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n const structureMap = getWidgetStructure(\n widgetConfigurability,\n customization,\n DX_VALIDATOR_MAP,\n );\n return new WidgetStructureInstance(structureMap);\n}\n\nexport class WidgetStructureInstance {\n constructor(private viewMap: WidgetViewMap) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n}\n"]}
|
package/dist/types/index.d.ts
CHANGED