kwikid-forms 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kwikid-forms.umd.js +388 -69
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.js +5 -1
- package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.js +1 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +155 -22
- package/esm2015/lib/renderer/forms-list/forms-list.component.js +2 -2
- package/esm2015/lib/renderer/renderer.component.js +4 -1
- package/esm2015/lib/renderer/renderer.config-converter.helper.js +21 -7
- package/esm2015/lib/renderer/renderer.service.js +18 -2
- package/fesm2015/kwikid-forms.js +199 -29
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.d.ts +5 -1
- package/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.d.ts +1 -1
- package/lib/renderer/form-view/form-view.component.d.ts +10 -1
- package/lib/renderer/renderer.service.d.ts +1 -0
- package/package.json +2 -2
|
@@ -88,12 +88,28 @@ export class KwikIDRendererService {
|
|
|
88
88
|
}
|
|
89
89
|
return formsList;
|
|
90
90
|
}
|
|
91
|
+
filterAllFormsData(allFormsData, formsList) {
|
|
92
|
+
let currentUserFormAllFormsData = {};
|
|
93
|
+
for (let form of formsList) {
|
|
94
|
+
if (hasKey(allFormsData, form.key)) {
|
|
95
|
+
currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), { [form.key]: allFormsData[form.key] });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return currentUserFormAllFormsData;
|
|
99
|
+
}
|
|
91
100
|
updateFormsList() {
|
|
92
101
|
let formsList = this.formsList;
|
|
93
102
|
let formsListCompleted;
|
|
94
103
|
let activeFormConfig;
|
|
95
104
|
formsList = this.assignSequenceNoToForm(formsList);
|
|
96
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Below code identifies the allFormsData required for the current User Form.
|
|
107
|
+
* Why? Because allFormsData will actually contain the whole journey's all
|
|
108
|
+
* possible User Form steps. So, it is important to set the form data which
|
|
109
|
+
* this particular User Form only has to LOCAL METHOD Variable.
|
|
110
|
+
*/
|
|
111
|
+
const currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
|
|
112
|
+
formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
|
|
97
113
|
formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
|
|
98
114
|
formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
|
|
99
115
|
if (formsList.length !== formsListCompleted.length) {
|
|
@@ -112,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
112
128
|
providedIn: "root"
|
|
113
129
|
}]
|
|
114
130
|
}], ctorParameters: function () { return []; } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBb0NoQztRQW5DQSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWVyQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztJQW9CUixDQUFDO0lBbENoQixlQUFlLENBQUMsWUFBcUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFlBQVksQ0FBQyxTQUFnQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBR0QscUJBQXFCLENBQUMsa0JBQXlCO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBR0QsZUFBZSxDQUFDLFlBQW1CO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBcUI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBdUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxjQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBSUss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bkIsS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxTQUFTLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLGtCQUE0QixDQUFDO1FBQ2pDLElBQUksZ0JBQXFCLENBQUM7UUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLFNBQVMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQzdDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLFNBQVMsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQzVDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRCxDQUFDOztzSUEzSVUscUJBQXFCOzBJQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHNldFZhbHVlVG9PYmplY3QgfSBmcm9tIFwiLi9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBoYXNLZXkgfSBmcm9tIFwiLi9yZW5kZXJlci5oZWxwZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3dpa0lEUmVuZGVyZXJTZXJ2aWNlIHtcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBzZXRJc01vYmlsZVZpZXcoaXNNb2JpbGVWaWV3OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTW9iaWxlVmlldyA9IGlzTW9iaWxlVmlldztcclxuICB9XHJcblxyXG4gIGZvcm1zTGlzdDogYW55W107XHJcbiAgc2V0Rm9ybXNMaXN0KGZvcm1zTGlzdDogYW55W10pIHtcclxuICAgIHRoaXMuZm9ybXNMaXN0ID0gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXTtcclxuICBzZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkOiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQgPSBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBhbGxGb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG4gIHNldEFsbEZvcm1zRGF0YShhbGxGb3Jtc0RhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLmFsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1Db25maWc6IGFueTtcclxuICBzZXRBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVGb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1GaWVsZHM6IGFueVtdO1xyXG4gIHNldEFjdGl2ZUZvcm1GaWVsZHMoYWN0aXZlRm9ybUZpZWxkczogYW55W10pIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybUZpZWxkcyA9IGFjdGl2ZUZvcm1GaWVsZHM7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVGb3JtRGF0YTogYW55O1xyXG4gIHNldEFjdGl2ZUZvcm1EYXRhKGFjdGl2ZUZvcm1EYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybURhdGEgPSBhY3RpdmVGb3JtRGF0YTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYXN5bmMgZmV0Y2hGb3JtQ29uZmlnKHVybDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwgeyBtZXRob2Q6IFwiR0VUXCIgfSk7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBmaW5kQWN0aXZlRm9ybUNvbmZpZyhmb3Jtc0xpc3Q6IGFueVtdKTogYW55IHtcclxuICAgIGNvbnN0IGFjdGl2ZUZvcm1Db25maWcgPSBmb3Jtc0xpc3QuZmluZCgoZm9ybSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm9ybS5zdGF0dXMgPT09IFwiZWRpdGFibGVcIiAmJiAhZm9ybS5kaXNhYmxlZDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUZvcm1Db25maWc7XHJcbiAgfVxyXG5cclxuICBmaW5kQ29tcGxldGVkRm9ybXNMaXN0KGFsbEZvcm1zRGF0YTogYW55KTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhhbGxGb3Jtc0RhdGEpLm1hcCgoZm9ybUtleSkgPT4ge1xyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWQucHVzaChmb3JtS2V5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBtYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3Jtc0xpc3RDb21wbGV0ZWQuaW5jbHVkZXMoZm9ybS5rZXkpKSB7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJjb21wbGV0ZWRcIik7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJkaXNhYmxlZFwiLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgbWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3JtLnN0YXR1cyAhPT0gXCJjb21wbGV0ZWRcIikge1xyXG4gICAgICAgIGlmIChoYXNLZXkoZm9ybSwgXCJkZXBlbmRlbnRPblwiKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNEZXBlbmRlbnQgPSBmb3JtLmRlcGVuZGVudE9uLmV2ZXJ5KChyOiBzdHJpbmcpID0+XHJcbiAgICAgICAgICAgIGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhyKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmIChpc0RlcGVuZGVudCkge1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImVkaXRhYmxlXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwibG9ja2VkXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIHRydWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRlcGVuZGVudE9uXCIsIFtdKTtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwiZWRpdGFibGVcIik7XHJcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3Q6IGFueVtdKTogYW55W10ge1xyXG4gICAgbGV0IHNlcXVlbmNlTm8gPSAxO1xyXG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcclxuICAgICAgZm9ybS5zZXF1ZW5jZU5vID0gc2VxdWVuY2VObysrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVGb3Jtc0xpc3QoKSB7XHJcbiAgICBsZXQgZm9ybXNMaXN0OiBhbnlbXSA9IHRoaXMuZm9ybXNMaXN0O1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW107XHJcbiAgICBsZXQgYWN0aXZlRm9ybUNvbmZpZzogYW55O1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMuYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3QpO1xyXG5cclxuICAgIGZvcm1zTGlzdENvbXBsZXRlZCA9IHRoaXMuZmluZENvbXBsZXRlZEZvcm1zTGlzdCh0aGlzLmFsbEZvcm1zRGF0YSk7XHJcblxyXG4gICAgZm9ybXNMaXN0ID0gdGhpcy5tYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChmb3Jtc0xpc3QubGVuZ3RoICE9PSBmb3Jtc0xpc3RDb21wbGV0ZWQubGVuZ3RoKSB7XHJcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcgPSB0aGlzLmZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdCk7XHJcblxyXG4gICAgICB0aGlzLnNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRGb3Jtc0xpc3QoZm9ybXNMaXN0KTtcclxuICAgIHRoaXMuc2V0Rm9ybXNMaXN0Q29tcGxldGVkKGZvcm1zTGlzdENvbXBsZXRlZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBb0NoQztRQW5DQSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWVyQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztJQW9CUixDQUFDO0lBbENoQixlQUFlLENBQUMsWUFBcUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFlBQVksQ0FBQyxTQUFnQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBR0QscUJBQXFCLENBQUMsa0JBQXlCO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBR0QsZUFBZSxDQUFDLFlBQW1CO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBcUI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBdUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxjQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBSUss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RUFBRTtZQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDNUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3NJQXZLVSxxQkFBcUI7MElBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgc2V0VmFsdWVUb09iamVjdCB9IGZyb20gXCIuL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5jb21tb24uaGVscGVyXCI7XHJcbmltcG9ydCB7IGhhc0tleSB9IGZyb20gXCIuL3JlbmRlcmVyLmhlbHBlclwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLd2lrSURSZW5kZXJlclNlcnZpY2Uge1xyXG4gIGlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gIHNldElzTW9iaWxlVmlldyhpc01vYmlsZVZpZXc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gaXNNb2JpbGVWaWV3O1xyXG4gIH1cclxuXHJcbiAgZm9ybXNMaXN0OiBhbnlbXTtcclxuICBzZXRGb3Jtc0xpc3QoZm9ybXNMaXN0OiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3QgPSBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdO1xyXG4gIHNldEZvcm1zTGlzdENvbXBsZXRlZChmb3Jtc0xpc3RDb21wbGV0ZWQ6IGFueVtdKSB7XHJcbiAgICB0aGlzLmZvcm1zTGlzdENvbXBsZXRlZCA9IGZvcm1zTGlzdENvbXBsZXRlZDtcclxuICB9XHJcblxyXG4gIGFsbEZvcm1zRGF0YTogYW55ID0ge307XHJcbiAgc2V0QWxsRm9ybXNEYXRhKGFsbEZvcm1zRGF0YTogYW55W10pIHtcclxuICAgIHRoaXMuYWxsRm9ybXNEYXRhID0gYWxsRm9ybXNEYXRhO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlRm9ybUNvbmZpZzogYW55O1xyXG4gIHNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZzogYW55KSB7XHJcbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWcgPSBhY3RpdmVGb3JtQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlRm9ybUZpZWxkczogYW55W107XHJcbiAgc2V0QWN0aXZlRm9ybUZpZWxkcyhhY3RpdmVGb3JtRmllbGRzOiBhbnlbXSkge1xyXG4gICAgdGhpcy5hY3RpdmVGb3JtRmllbGRzID0gYWN0aXZlRm9ybUZpZWxkcztcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1EYXRhOiBhbnk7XHJcbiAgc2V0QWN0aXZlRm9ybURhdGEoYWN0aXZlRm9ybURhdGE6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVGb3JtRGF0YSA9IGFjdGl2ZUZvcm1EYXRhO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBhc3luYyBmZXRjaEZvcm1Db25maWcodXJsOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7IG1ldGhvZDogXCJHRVRcIiB9KTtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIGZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdDogYW55W10pOiBhbnkge1xyXG4gICAgY29uc3QgYWN0aXZlRm9ybUNvbmZpZyA9IGZvcm1zTGlzdC5maW5kKChmb3JtKSA9PiB7XHJcbiAgICAgIHJldHVybiBmb3JtLnN0YXR1cyA9PT0gXCJlZGl0YWJsZVwiICYmICFmb3JtLmRpc2FibGVkO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWN0aXZlRm9ybUNvbmZpZztcclxuICB9XHJcblxyXG4gIGZpbmRDb21wbGV0ZWRGb3Jtc0xpc3QoYWxsRm9ybXNEYXRhOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGFsbEZvcm1zRGF0YSkubWFwKChmb3JtS2V5KSA9PiB7XHJcbiAgICAgIGZvcm1zTGlzdENvbXBsZXRlZC5wdXNoKGZvcm1LZXkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZvcm1zTGlzdENvbXBsZXRlZDtcclxuICB9XHJcblxyXG4gIG1hcmtGb3JtSW5Gb3Jtc0xpc3RBc0NvbXBsZXRlZChcclxuICAgIGZvcm1zTGlzdDogYW55W10sXHJcbiAgICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdXHJcbiAgKTogYW55W10ge1xyXG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcclxuICAgICAgaWYgKGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhmb3JtLmtleSkpIHtcclxuICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImNvbXBsZXRlZFwiKTtcclxuICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBtYXJrRm9ybUluRm9ybXNMaXN0QXNEaXNhYmxlZChcclxuICAgIGZvcm1zTGlzdDogYW55W10sXHJcbiAgICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdXHJcbiAgKTogYW55W10ge1xyXG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcclxuICAgICAgaWYgKGZvcm0uc3RhdHVzICE9PSBcImNvbXBsZXRlZFwiKSB7XHJcbiAgICAgICAgaWYgKGhhc0tleShmb3JtLCBcImRlcGVuZGVudE9uXCIpKSB7XHJcbiAgICAgICAgICBjb25zdCBpc0RlcGVuZGVudCA9IGZvcm0uZGVwZW5kZW50T24uZXZlcnkoKHI6IHN0cmluZykgPT5cclxuICAgICAgICAgICAgZm9ybXNMaXN0Q29tcGxldGVkLmluY2x1ZGVzKHIpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGlzRGVwZW5kZW50KSB7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwiZWRpdGFibGVcIik7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJsb2NrZWRcIik7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGVwZW5kZW50T25cIiwgW10pO1xyXG4gICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJlZGl0YWJsZVwiKTtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBhc3NpZ25TZXF1ZW5jZU5vVG9Gb3JtKGZvcm1zTGlzdDogYW55W10pOiBhbnlbXSB7XHJcbiAgICBsZXQgc2VxdWVuY2VObyA9IDE7XHJcbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xyXG4gICAgICBmb3JtLnNlcXVlbmNlTm8gPSBzZXF1ZW5jZU5vKys7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcm1zTGlzdDtcclxuICB9XHJcblxyXG4gIGZpbHRlckFsbEZvcm1zRGF0YShhbGxGb3Jtc0RhdGE6IGFueSwgZm9ybXNMaXN0OiBhbnlbXSk6IGFueSB7XHJcbiAgICBsZXQgY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGxldCBmb3JtIG9mIGZvcm1zTGlzdCkge1xyXG4gICAgICBpZiAoaGFzS2V5KGFsbEZvcm1zRGF0YSwgZm9ybS5rZXkpKSB7XHJcbiAgICAgICAgY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhID0ge1xyXG4gICAgICAgICAgLi4uY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhLFxyXG4gICAgICAgICAgW2Zvcm0ua2V5XTogYWxsRm9ybXNEYXRhW2Zvcm0ua2V5XVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9ybXNMaXN0KCkge1xyXG4gICAgbGV0IGZvcm1zTGlzdDogYW55W10gPSB0aGlzLmZvcm1zTGlzdDtcclxuICAgIGxldCBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdO1xyXG4gICAgbGV0IGFjdGl2ZUZvcm1Db25maWc6IGFueTtcclxuXHJcbiAgICBmb3Jtc0xpc3QgPSB0aGlzLmFzc2lnblNlcXVlbmNlTm9Ub0Zvcm0oZm9ybXNMaXN0KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJlbG93IGNvZGUgaWRlbnRpZmllcyB0aGUgYWxsRm9ybXNEYXRhIHJlcXVpcmVkIGZvciB0aGUgY3VycmVudCBVc2VyIEZvcm0uXHJcbiAgICAgKiBXaHk/IEJlY2F1c2UgYWxsRm9ybXNEYXRhIHdpbGwgYWN0dWFsbHkgY29udGFpbiB0aGUgd2hvbGUgam91cm5leSdzIGFsbFxyXG4gICAgICogcG9zc2libGUgVXNlciBGb3JtIHN0ZXBzLiBTbywgaXQgaXMgaW1wb3J0YW50IHRvIHNldCB0aGUgZm9ybSBkYXRhIHdoaWNoXHJcbiAgICAgKiB0aGlzIHBhcnRpY3VsYXIgVXNlciBGb3JtIG9ubHkgaGFzIHRvIExPQ0FMIE1FVEhPRCBWYXJpYWJsZS5cclxuICAgICAqL1xyXG4gICAgY29uc3QgY3VycmVudFVzZXJGb3JtQWxsRm9ybXNEYXRhID0gdGhpcy5maWx0ZXJBbGxGb3Jtc0RhdGEoXHJcbiAgICAgIHRoaXMuYWxsRm9ybXNEYXRhLFxyXG4gICAgICBmb3Jtc0xpc3RcclxuICAgICk7XHJcblxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkID0gdGhpcy5maW5kQ29tcGxldGVkRm9ybXNMaXN0KFxyXG4gICAgICBjdXJyZW50VXNlckZvcm1BbGxGb3Jtc0RhdGFcclxuICAgICk7XHJcblxyXG4gICAgZm9ybXNMaXN0ID0gdGhpcy5tYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChmb3Jtc0xpc3QubGVuZ3RoICE9PSBmb3Jtc0xpc3RDb21wbGV0ZWQubGVuZ3RoKSB7XHJcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcgPSB0aGlzLmZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdCk7XHJcblxyXG4gICAgICB0aGlzLnNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRGb3Jtc0xpc3QoZm9ybXNMaXN0KTtcclxuICAgIHRoaXMuc2V0Rm9ybXNMaXN0Q29tcGxldGVkKGZvcm1zTGlzdENvbXBsZXRlZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|