mmhglobal-dynamicform 2.10.4 → 2.11.0

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.
Files changed (30) hide show
  1. package/README.md +23 -1
  2. package/esm2020/lib/services/main.service.mjs +85 -20
  3. package/esm2020/lib/services/zcomponent.debug.service.mjs +8 -5
  4. package/esm2020/lib/services/zcomponent.service.mjs +4 -4
  5. package/esm2020/lib/sfquerybuilder/sfquerybuilder.component.mjs +4 -3
  6. package/esm2020/lib/uibulletin/uibulletin.component.mjs +11 -8
  7. package/esm2020/lib/uiheader/uiheader.component.mjs +22 -6
  8. package/esm2020/lib/uipage/uipage.component.mjs +41 -3
  9. package/esm2020/lib/zcard/zcard.component.mjs +2 -2
  10. package/esm2020/lib/zform/zform.component.mjs +39 -12
  11. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +9 -4
  12. package/esm2020/lib/zgrid/zgrid.component.mjs +6 -4
  13. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +3 -3
  14. package/esm2020/lib/ztree/ztree.component.mjs +2 -2
  15. package/esm2020/lib/zupload/zupload.component.mjs +29 -6
  16. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +14 -1
  17. package/fesm2015/mmhglobal-dynamicform.mjs +269 -69
  18. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  19. package/fesm2020/mmhglobal-dynamicform.mjs +266 -69
  20. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  21. package/lib/services/main.service.d.ts +9 -4
  22. package/lib/services/zcomponent.debug.service.d.ts +5 -2
  23. package/lib/uibulletin/uibulletin.component.d.ts +4 -4
  24. package/lib/uiheader/uiheader.component.d.ts +4 -2
  25. package/lib/uipage/uipage.component.d.ts +2 -0
  26. package/lib/zform/zform.component.d.ts +4 -2
  27. package/lib/zgrid/zgrid.binding.directive.d.ts +4 -2
  28. package/lib/zgrid/zgrid.component.d.ts +3 -2
  29. package/lib/zupload/zupload.component.d.ts +3 -2
  30. package/package.json +1 -1
@@ -4,7 +4,7 @@ import { Component } from "@angular/core";
4
4
  /********** Plugin **********/
5
5
  import { of } from "rxjs";
6
6
  import { switchMap, tap } from "rxjs/operators";
7
- import { ZGroup } from "mmhglobal-zcore";
7
+ import { ZGroup, FieldType } from "mmhglobal-zcore";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../services/main.service";
10
10
  import * as i2 from "@angular/router";
@@ -36,9 +36,33 @@ export class UipageComponent {
36
36
  console.warn("Error in uipage init.");
37
37
  }
38
38
  }), switchMap(() => {
39
- const formType = isListForm ? "ListField" : "FormField";
39
+ const formType = isListForm ? FieldType.listField : FieldType.formField;
40
40
  const formFieldName = this.group.fieldName ? this.group.fieldName : ctrlName;
41
41
  this.group.fieldName = formFieldName;
42
+ //let formFieldName = this.group.fieldName ? this.group.fieldName : ctrlName;
43
+ //this.group.fieldName = formFieldName;
44
+ //if(UipageComponent.signalrEventSubscription){
45
+ // UipageComponent.signalrEventSubscription.unsubscribe();
46
+ //}
47
+ //UipageComponent.signalrEventSubscription = this.mainService.signalrGetEvent().pipe(
48
+ // filter(event => event.name === 'FieldElement' || event.name === 'ListFieldMapping'),
49
+ // map(async event => {
50
+ // let formFieldNameClone = ZComponentHelper.deepClone(formFieldName);
51
+ // if (event.payload.Name !== formFieldNameClone && formType === "ListField") {
52
+ // try {
53
+ // const listFieldName = await this.mainService.getListFieldName(formFieldNameClone).toPromise();
54
+ // formFieldNameClone = listFieldName;
55
+ // }
56
+ // catch (er) {
57
+ // }
58
+ // }
59
+ // if (event.payload.Name === formFieldNameClone) {
60
+ // this.mainService.clearFormListFields();
61
+ // (this as any).ngOnInit();
62
+ // }
63
+ // this.mainService.clearFormListFields()
64
+ // })
65
+ //).subscribe();
42
66
  return this.mainService.getGroupFields(formFieldName, formType, this.group, "fields");
43
67
  }), switchMap((fields) => {
44
68
  return this.mainService.beforePageInitialise(this.group);
@@ -53,6 +77,10 @@ export class UipageComponent {
53
77
  }), switchMap(() => {
54
78
  // console.log('CtrName: ' + ctrlName + ' field Element: ', fields);
55
79
  if (this.group.referenceId && this.group.referenceId !== "0") {
80
+ this.mainService.joinProjectSignalR();
81
+ if (this.group.subscribeToModificationAlert) {
82
+ this.mainService.handleSignalRModificationAlert(this.group.referenceId);
83
+ }
56
84
  if (typeof this.group.getModel === "function") {
57
85
  return this.group.getModel(this.group, this.group.referenceId);
58
86
  }
@@ -104,11 +132,21 @@ export class UipageComponent {
104
132
  this.group.actName = actName;
105
133
  }
106
134
  }
135
+ //signalrFeOnDestroy(): void {
136
+ // if (UipageComponent.signalrEventSubscription) {
137
+ // UipageComponent.signalrEventSubscription.unsubscribe();
138
+ // }
139
+ // UipageComponent.signalrEventSubscription = this.mainService.signalrGetEvent().pipe(
140
+ // filter(event => event.name === 'FieldElement' || event.name === 'ListFieldMapping'),
141
+ // map(event => this.mainService.clearFormListFields()))
142
+ // .subscribe()
143
+ //}
107
144
  pageDestroy() {
108
145
  console.log(this.group.pageName + " ngOnDestroy.");
109
146
  if (this.subscription) {
110
147
  this.subscription.unsubscribe();
111
148
  }
149
+ //this.signalrFeOnDestroy();
112
150
  }
113
151
  }
114
152
  UipageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UipageComponent, deps: [{ token: i1.MainService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
@@ -119,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
119
157
  template: ``,
120
158
  }]
121
159
  }], ctorParameters: function () { return [{ type: i1.MainService }, { type: i2.ActivatedRoute }]; } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlwYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFnQixFQUFFLEVBQW9CLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEQsT0FBTyxFQUFFLE1BQU0sRUFBK0MsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUN0RiwrRUFBK0U7QUFLL0UsTUFBTSxPQUFPLGVBQWU7SUFLMUI7SUFDRSxxQ0FBcUM7SUFDOUIsV0FBd0IsRUFDeEIsY0FBOEI7UUFEOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUHZDLGlDQUFpQztRQUNqQyxVQUFLLEdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFRL0IsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMseURBQXlEO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0IsRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsV0FBb0I7UUFDdEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVUs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QUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQzlGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7OzRHQWxJVSxlQUFlO2dHQUFmLGVBQWUsb0RBRmhCLEVBQUU7MkZBRUQsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgb2YsIE9ic2VydmFibGUsIGZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9tYWluLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkdyb3VwLCBJRGVhY3RpdmF0ZUNvbXBvbmVudCwgU3RvcmFnZVNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG4vLyBpbXBvcnQgeyBJRGVhY3RpdmF0ZUNvbXBvbmVudCB9IGZyb20gXCJzcmMvYXBwL3NlcnZpY2VzL2NhbmRlYWN0aXZhdGUuZ3VhcmRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpcGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIElEZWFjdGl2YXRlQ29tcG9uZW50IHtcclxuICAvLyBjdHJsTmFtZSA9IFwiZTFjcm1fYnBhY3Rpdml0eVwiO1xyXG4gIGdyb3VwOiBaR3JvdXAgPSBuZXcgWkdyb3VwKHRydWUpO1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIHB1YmxpYyBmaWVsZFNlcnZpY2U6IEZpZWxkU2VydmljZSxcclxuICAgIHB1YmxpYyBtYWluU2VydmljZTogTWFpblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7XHJcbiAgICBtYWluU2VydmljZS5zZXRHcm91cCh0aGlzLmdyb3VwKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiQXQgXCIgKyB0aGlzLmN0cmxOYW1lICsgXCIgKGNvbnN0cnVjdG9yKVwiKTtcclxuICB9XHJcblxyXG4gIGNhbkV4aXQoKTogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFpblNlcnZpY2UuY2FuRXhpdCh0aGlzLmdyb3VwLmZvcm0pO1xyXG4gIH1cclxuXHJcbiAgcGFnZU9uSW5pdChjdHJsTmFtZTogc3RyaW5nLCBwYWdlTmFtZTogc3RyaW5nLCBpc0xpc3RGb3JtOiBib29sZWFuLCBwcm9qZWN0TmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmdyb3VwLl9wcm9qZWN0TmFtZSA9IHByb2plY3ROYW1lO1xyXG4gICAgdGhpcy5ncm91cC5pc0xpc3RGb3JtID0gaXNMaXN0Rm9ybTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5tYWluU2VydmljZS5nZXRSZXNvdXJjZVNlcnZlckRhdGEoKS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlUGFyYW0gPSBpc0xpc3RGb3JtID8gbnVsbCA6IHRoaXMubWFpblNlcnZpY2UuZ2V0TmF2aWdhdGlvbkN1cnJlbnRQYXJhbSgpO1xyXG4gICAgICAgIHRoaXMubWFpblNlcnZpY2UuaW5pdGlhbGl6ZUdyb3VwKHRoaXMuZ3JvdXAsIGN0cmxOYW1lLCBwYWdlTmFtZSwgdGhpcyk7XHJcblxyXG4gICAgICAgIGlmIChyb3V0ZVBhcmFtKSB7XHJcbiAgICAgICAgICB0aGlzLnNldHVwUm91dGVQYXJhbXMocm91dGVQYXJhbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS53YXJuKFwiRXJyb3IgaW4gdWlwYWdlIGluaXQuXCIpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtVHlwZSA9IGlzTGlzdEZvcm0gPyBcIkxpc3RGaWVsZFwiIDogXCJGb3JtRmllbGRcIjtcclxuICAgICAgICBjb25zdCBmb3JtRmllbGROYW1lID0gdGhpcy5ncm91cC5maWVsZE5hbWUgPyB0aGlzLmdyb3VwLmZpZWxkTmFtZSA6IGN0cmxOYW1lO1xyXG5cclxuICAgICAgICB0aGlzLmdyb3VwLmZpZWxkTmFtZSA9IGZvcm1GaWVsZE5hbWU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmdldEdyb3VwRmllbGRzKFxyXG4gICAgICAgICAgZm9ybUZpZWxkTmFtZSxcclxuICAgICAgICAgIGZvcm1UeXBlLFxyXG4gICAgICAgICAgdGhpcy5ncm91cCxcclxuICAgICAgICAgIFwiZmllbGRzXCJcclxuICAgICAgICApO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKChmaWVsZHMpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYWluU2VydmljZS5iZWZvcmVQYWdlSW5pdGlhbGlzZSh0aGlzLmdyb3VwKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgoZmllbGRzKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXAuYWN0TmFtZSA9PT0gXCJuZXdcIikge1xyXG4gICAgICAgICAgdGhpcy5tYWluU2VydmljZS5nZXRDbG9uZU5ld0NhY2hlWk1vZGVsKHRoaXMuZ3JvdXApO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubWFpblNlcnZpY2UuYWZ0ZXJOZXdNb2RlbCh0aGlzLmdyb3VwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZpZWxkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnQ3RyTmFtZTogJyArIGN0cmxOYW1lICsgJyBmaWVsZCBFbGVtZW50OiAnLCBmaWVsZHMpO1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnJlZmVyZW5jZUlkICYmIHRoaXMuZ3JvdXAucmVmZXJlbmNlSWQgIT09IFwiMFwiKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ3JvdXAuZ2V0TW9kZWwgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5nZXRNb2RlbCh0aGlzLmdyb3VwLCB0aGlzLmdyb3VwLnJlZmVyZW5jZUlkKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmdldE1vZGVsJChcclxuICAgICAgICAgICAgICB0aGlzLmdyb3VwLFxyXG4gICAgICAgICAgICAgIHRoaXMuZ3JvdXAucmVmZXJlbmNlSWRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKHptb2RlbCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUlkID0gdGhpcy5ncm91cC56TW9kZWxbXHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAucGFyZW50UmVmZXJlbmNlRmllbGRcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmFmdGVyUGFnZUluaXRpYWxpc2UodGhpcy5ncm91cCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLnRyYW5zbGF0aW9uUGFnZUVsZW1lbnQodGhpcy5ncm91cClcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvLyAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIC8vICAgY29uc29sZS5sb2coXCJBdCBhY3Rpdml0eS1vbmUucGFnZSBuZ09uSW5pdCgpIGNvbXBsZXRlZFwiKTtcclxuICAgIC8vICAgdGhpcy5ncm91cC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFJvdXRlUGFyYW1zKHJvdXRlUGFyYW06IHN0cmluZykge1xyXG4gICAgLy9sZXQgYWN0TmFtZSA9IHJvdXRlUGF0aC5nZXQoXCJhY3RcIik7XHJcbiAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHJvdXRlUGFyYW0uc3BsaXQoJy8nKTtcclxuICAgIGNvbnN0IGZvcm1JZCA9IHJvdXRlUGFyYW1zW3JvdXRlUGFyYW1zLmxlbmd0aCAtIDJdO1xyXG4gICAgbGV0IGFjdE5hbWUgPSByb3V0ZVBhcmFtc1tyb3V0ZVBhcmFtcy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICBpZiAoYWN0TmFtZSAhPT0gJ25ldycgJiYgYWN0TmFtZSAhPT0gJ2VkaXQnKSB7XHJcbiAgICAgIGFjdE5hbWUgPSAnbmV3JztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyb3VwLmlzTmV3ID0gYWN0TmFtZSA9PT0gXCJuZXdcIiA/IHRydWUgOiBmYWxzZTtcclxuICAgIHRoaXMuZ3JvdXAuaXNFZGl0ID0gYWN0TmFtZSA9PT0gXCJlZGl0XCIgPyB0cnVlIDogZmFsc2U7XHJcblxyXG4gICAgaWYgKGFjdE5hbWUgPT09IFwiZWRpdFwiKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAucmVmZXJlbmNlSWQgPSBmb3JtSWQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChhY3ROYW1lID09PSBcIm5ld1wiKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAucGFyZW50UmVmZXJlbmNlSWQgPSBmb3JtSWQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5ncm91cC5wYXJlbnRSZWZlcmVuY2VJZCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkXSA9IHRoaXMuZ3JvdXAucGFyZW50UmVmZXJlbmNlSWQudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJncm91cC5wYXJlbnRSZWZlcmVuY2VJZCBpcyB1bmRlZmluZWQuXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFjdE5hbWUpIHtcclxuICAgICAgdGhpcy5ncm91cC5hY3ROYW1lID0gYWN0TmFtZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBhZ2VEZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5ncm91cC5wYWdlTmFtZSArIFwiIG5nT25EZXN0cm95LlwiKTtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlwYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFnQixFQUFFLEVBQW9CLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBZSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0QsT0FBTyxFQUFFLE1BQU0sRUFBaUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbkgsK0VBQStFO0FBSy9FLE1BQU0sT0FBTyxlQUFlO0lBTzFCO0lBQ0UscUNBQXFDO0lBQzlCLFdBQXdCLEVBQ3hCLGNBQThCO1FBRDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVR2QyxpQ0FBaUM7UUFDakMsVUFBSyxHQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBVS9CLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLHlEQUF5RDtJQUMzRCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLFdBQW9CO1FBQ3RGLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdkUsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25DO2lCQUNJO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQTthQUN0QztRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFN0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLDZFQUE2RTtZQUM3RSx1Q0FBdUM7WUFFdkMsK0NBQStDO1lBQy9DLDJEQUEyRDtZQUMzRCxHQUFHO1lBRUgscUZBQXFGO1lBQ3JGLHdGQUF3RjtZQUN4Rix3QkFBd0I7WUFDeEIseUVBQXlFO1lBRXpFLGtGQUFrRjtZQUNsRixhQUFhO1lBQ2Isd0dBQXdHO1lBQ3hHLDZDQUE2QztZQUM3QyxTQUFTO1lBQ1Qsb0JBQW9CO1lBQ3BCLFNBQVM7WUFDVCxPQUFPO1lBRVAsc0RBQXNEO1lBQ3RELCtDQUErQztZQUMvQyxpQ0FBaUM7WUFDakMsT0FBTztZQUVQLDJDQUEyQztZQUMzQyxNQUFNO1lBQ04sZ0JBQWdCO1lBRWhCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQ3BDLGFBQWEsRUFDYixRQUFRLEVBQ1IsSUFBSSxDQUFDLEtBQUssRUFDVixRQUFRLENBQ1QsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuRDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixvRUFBb0U7WUFDcEUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxHQUFHLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFO29CQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ3pFO2dCQUVELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUU7b0JBQzdDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNoRTtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDdkU7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUNuRjtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLHFCQUFxQjtRQUNyQiw4REFBOEQ7UUFDOUQsa0NBQWtDO1FBQ2xDLE1BQU07SUFDUixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBa0I7UUFDekMscUNBQXFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUU7WUFDM0MsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUNqQjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXRELElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7U0FDakM7YUFDSSxJQUFJLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7WUFFdEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUM5RjthQUNGO2lCQUNJO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsQ0FBQzthQUN0RDtTQUNGO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLG1EQUFtRDtJQUNuRCw2REFBNkQ7SUFDN0QsS0FBSztJQUVMLHVGQUF1RjtJQUN2RiwwRkFBMEY7SUFDMUYsMkRBQTJEO0lBQzNELGtCQUFrQjtJQUNsQixHQUFHO0lBRUgsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7UUFFRCw0QkFBNEI7SUFDOUIsQ0FBQzs7NEdBOUtVLGVBQWU7Z0dBQWYsZUFBZSxvREFGaEIsRUFBRTsyRkFFRCxlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBvZiwgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9tYWluLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkdyb3VwLCBJRGVhY3RpdmF0ZUNvbXBvbmVudCwgU3RvcmFnZVNlc3Npb25TZXJ2aWNlLCBaQ29tcG9uZW50SGVscGVyLCBGaWVsZFR5cGUgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IERpYWxvZ0Nsb3NlUmVzdWx0LCBEaWFsb2dSZWYgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGlhbG9nXCI7XHJcbi8vIGltcG9ydCB7IElEZWFjdGl2YXRlQ29tcG9uZW50IH0gZnJvbSBcInNyYy9hcHAvc2VydmljZXMvY2FuZGVhY3RpdmF0ZS5ndWFyZFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlwYWdlQ29tcG9uZW50IGltcGxlbWVudHMgSURlYWN0aXZhdGVDb21wb25lbnQge1xyXG4gIC8vIGN0cmxOYW1lID0gXCJlMWNybV9icGFjdGl2aXR5XCI7XHJcbiAgZ3JvdXA6IFpHcm91cCA9IG5ldyBaR3JvdXAodHJ1ZSk7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBzdGF0aWMgc2lnbmFsckV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZGlhbG9nOiBEaWFsb2dSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gcHVibGljIGZpZWxkU2VydmljZTogRmllbGRTZXJ2aWNlLFxyXG4gICAgcHVibGljIG1haW5TZXJ2aWNlOiBNYWluU2VydmljZSxcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuICAgIG1haW5TZXJ2aWNlLnNldEdyb3VwKHRoaXMuZ3JvdXApO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJBdCBcIiArIHRoaXMuY3RybE5hbWUgKyBcIiAoY29uc3RydWN0b3IpXCIpO1xyXG4gIH1cclxuXHJcbiAgY2FuRXhpdCgpOiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWluU2VydmljZS5jYW5FeGl0KHRoaXMuZ3JvdXAuZm9ybSk7XHJcbiAgfVxyXG5cclxuICBwYWdlT25Jbml0KGN0cmxOYW1lOiBzdHJpbmcsIHBhZ2VOYW1lOiBzdHJpbmcsIGlzTGlzdEZvcm06IGJvb2xlYW4sIHByb2plY3ROYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuZ3JvdXAuX3Byb2plY3ROYW1lID0gcHJvamVjdE5hbWU7XHJcbiAgICB0aGlzLmdyb3VwLmlzTGlzdEZvcm0gPSBpc0xpc3RGb3JtO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmdldFJlc291cmNlU2VydmVyRGF0YSgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgcm91dGVQYXJhbSA9IGlzTGlzdEZvcm0gPyBudWxsIDogdGhpcy5tYWluU2VydmljZS5nZXROYXZpZ2F0aW9uQ3VycmVudFBhcmFtKCk7XHJcbiAgICAgICAgdGhpcy5tYWluU2VydmljZS5pbml0aWFsaXplR3JvdXAodGhpcy5ncm91cCwgY3RybE5hbWUsIHBhZ2VOYW1lLCB0aGlzKTtcclxuXHJcbiAgICAgICAgaWYgKHJvdXRlUGFyYW0pIHtcclxuICAgICAgICAgIHRoaXMuc2V0dXBSb3V0ZVBhcmFtcyhyb3V0ZVBhcmFtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBpbiB1aXBhZ2UgaW5pdC5cIilcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1UeXBlID0gaXNMaXN0Rm9ybSA/IEZpZWxkVHlwZS5saXN0RmllbGQgOiBGaWVsZFR5cGUuZm9ybUZpZWxkO1xyXG4gICAgICAgIGNvbnN0IGZvcm1GaWVsZE5hbWUgPSB0aGlzLmdyb3VwLmZpZWxkTmFtZSA/IHRoaXMuZ3JvdXAuZmllbGROYW1lIDogY3RybE5hbWU7XHJcblxyXG4gICAgICAgIHRoaXMuZ3JvdXAuZmllbGROYW1lID0gZm9ybUZpZWxkTmFtZTtcclxuICAgICAgICAvL2xldCBmb3JtRmllbGROYW1lID0gdGhpcy5ncm91cC5maWVsZE5hbWUgPyB0aGlzLmdyb3VwLmZpZWxkTmFtZSA6IGN0cmxOYW1lO1xyXG4gICAgICAgIC8vdGhpcy5ncm91cC5maWVsZE5hbWUgPSBmb3JtRmllbGROYW1lO1xyXG5cclxuICAgICAgICAvL2lmKFVpcGFnZUNvbXBvbmVudC5zaWduYWxyRXZlbnRTdWJzY3JpcHRpb24pe1xyXG4gICAgICAgIC8vICBVaXBhZ2VDb21wb25lbnQuc2lnbmFsckV2ZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgLy99XHJcblxyXG4gICAgICAgIC8vVWlwYWdlQ29tcG9uZW50LnNpZ25hbHJFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMubWFpblNlcnZpY2Uuc2lnbmFsckdldEV2ZW50KCkucGlwZShcclxuICAgICAgICAvLyAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50Lm5hbWUgPT09ICdGaWVsZEVsZW1lbnQnIHx8IGV2ZW50Lm5hbWUgPT09ICdMaXN0RmllbGRNYXBwaW5nJyksXHJcbiAgICAgICAgLy8gIG1hcChhc3luYyBldmVudCA9PiB7XHJcbiAgICAgICAgLy8gICAgbGV0IGZvcm1GaWVsZE5hbWVDbG9uZSA9IFpDb21wb25lbnRIZWxwZXIuZGVlcENsb25lKGZvcm1GaWVsZE5hbWUpO1xyXG5cclxuICAgICAgICAvLyAgICBpZiAoZXZlbnQucGF5bG9hZC5OYW1lICE9PSBmb3JtRmllbGROYW1lQ2xvbmUgJiYgZm9ybVR5cGUgPT09IFwiTGlzdEZpZWxkXCIpIHtcclxuICAgICAgICAvLyAgICAgIHRyeSB7XHJcbiAgICAgICAgLy8gICAgICAgIGNvbnN0IGxpc3RGaWVsZE5hbWUgPSBhd2FpdCB0aGlzLm1haW5TZXJ2aWNlLmdldExpc3RGaWVsZE5hbWUoZm9ybUZpZWxkTmFtZUNsb25lKS50b1Byb21pc2UoKTtcclxuICAgICAgICAvLyAgICAgICAgZm9ybUZpZWxkTmFtZUNsb25lID0gbGlzdEZpZWxkTmFtZTtcclxuICAgICAgICAvLyAgICAgIH1cclxuICAgICAgICAvLyAgICAgIGNhdGNoIChlcikge1xyXG4gICAgICAgIC8vICAgICAgfVxyXG4gICAgICAgIC8vICAgIH1cclxuXHJcbiAgICAgICAgLy8gICAgaWYgKGV2ZW50LnBheWxvYWQuTmFtZSA9PT0gZm9ybUZpZWxkTmFtZUNsb25lKSB7XHJcbiAgICAgICAgLy8gICAgICB0aGlzLm1haW5TZXJ2aWNlLmNsZWFyRm9ybUxpc3RGaWVsZHMoKTtcclxuICAgICAgICAvLyAgICAgICh0aGlzIGFzIGFueSkubmdPbkluaXQoKTtcclxuICAgICAgICAvLyAgICB9XHJcblxyXG4gICAgICAgIC8vICAgdGhpcy5tYWluU2VydmljZS5jbGVhckZvcm1MaXN0RmllbGRzKClcclxuICAgICAgICAvLyAgfSlcclxuICAgICAgICAvLykuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmdldEdyb3VwRmllbGRzKFxyXG4gICAgICAgICAgZm9ybUZpZWxkTmFtZSxcclxuICAgICAgICAgIGZvcm1UeXBlLFxyXG4gICAgICAgICAgdGhpcy5ncm91cCxcclxuICAgICAgICAgIFwiZmllbGRzXCJcclxuICAgICAgICApO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKChmaWVsZHMpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYWluU2VydmljZS5iZWZvcmVQYWdlSW5pdGlhbGlzZSh0aGlzLmdyb3VwKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgoZmllbGRzKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXAuYWN0TmFtZSA9PT0gXCJuZXdcIikge1xyXG4gICAgICAgICAgdGhpcy5tYWluU2VydmljZS5nZXRDbG9uZU5ld0NhY2hlWk1vZGVsKHRoaXMuZ3JvdXApO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubWFpblNlcnZpY2UuYWZ0ZXJOZXdNb2RlbCh0aGlzLmdyb3VwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZpZWxkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnQ3RyTmFtZTogJyArIGN0cmxOYW1lICsgJyBmaWVsZCBFbGVtZW50OiAnLCBmaWVsZHMpO1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnJlZmVyZW5jZUlkICYmIHRoaXMuZ3JvdXAucmVmZXJlbmNlSWQgIT09IFwiMFwiKSB7XHJcbiAgICAgICAgICB0aGlzLm1haW5TZXJ2aWNlLmpvaW5Qcm9qZWN0U2lnbmFsUigpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZ3JvdXAuc3Vic2NyaWJlVG9Nb2RpZmljYXRpb25BbGVydCkge1xyXG4gICAgICAgICAgICB0aGlzLm1haW5TZXJ2aWNlLmhhbmRsZVNpZ25hbFJNb2RpZmljYXRpb25BbGVydCh0aGlzLmdyb3VwLnJlZmVyZW5jZUlkKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ3JvdXAuZ2V0TW9kZWwgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5nZXRNb2RlbCh0aGlzLmdyb3VwLCB0aGlzLmdyb3VwLnJlZmVyZW5jZUlkKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmdldE1vZGVsJCh0aGlzLmdyb3VwLCB0aGlzLmdyb3VwLnJlZmVyZW5jZUlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKHptb2RlbCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUlkID0gdGhpcy5ncm91cC56TW9kZWxbdGhpcy5ncm91cC5wYXJlbnRSZWZlcmVuY2VGaWVsZF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLmFmdGVyUGFnZUluaXRpYWxpc2UodGhpcy5ncm91cCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXJ2aWNlLnRyYW5zbGF0aW9uUGFnZUVsZW1lbnQodGhpcy5ncm91cClcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvLyAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIC8vICAgY29uc29sZS5sb2coXCJBdCBhY3Rpdml0eS1vbmUucGFnZSBuZ09uSW5pdCgpIGNvbXBsZXRlZFwiKTtcclxuICAgIC8vICAgdGhpcy5ncm91cC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFJvdXRlUGFyYW1zKHJvdXRlUGFyYW06IHN0cmluZykge1xyXG4gICAgLy9sZXQgYWN0TmFtZSA9IHJvdXRlUGF0aC5nZXQoXCJhY3RcIik7XHJcbiAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHJvdXRlUGFyYW0uc3BsaXQoJy8nKTtcclxuICAgIGNvbnN0IGZvcm1JZCA9IHJvdXRlUGFyYW1zW3JvdXRlUGFyYW1zLmxlbmd0aCAtIDJdO1xyXG4gICAgbGV0IGFjdE5hbWUgPSByb3V0ZVBhcmFtc1tyb3V0ZVBhcmFtcy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICBpZiAoYWN0TmFtZSAhPT0gJ25ldycgJiYgYWN0TmFtZSAhPT0gJ2VkaXQnKSB7XHJcbiAgICAgIGFjdE5hbWUgPSAnbmV3JztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyb3VwLmlzTmV3ID0gYWN0TmFtZSA9PT0gXCJuZXdcIiA/IHRydWUgOiBmYWxzZTtcclxuICAgIHRoaXMuZ3JvdXAuaXNFZGl0ID0gYWN0TmFtZSA9PT0gXCJlZGl0XCIgPyB0cnVlIDogZmFsc2U7XHJcblxyXG4gICAgaWYgKGFjdE5hbWUgPT09IFwiZWRpdFwiKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAucmVmZXJlbmNlSWQgPSBmb3JtSWQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChhY3ROYW1lID09PSBcIm5ld1wiKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAucGFyZW50UmVmZXJlbmNlSWQgPSBmb3JtSWQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5ncm91cC5wYXJlbnRSZWZlcmVuY2VJZCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmdyb3VwLnBhcmVudFJlZmVyZW5jZUZpZWxkXSA9IHRoaXMuZ3JvdXAucGFyZW50UmVmZXJlbmNlSWQudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJncm91cC5wYXJlbnRSZWZlcmVuY2VJZCBpcyB1bmRlZmluZWQuXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFjdE5hbWUpIHtcclxuICAgICAgdGhpcy5ncm91cC5hY3ROYW1lID0gYWN0TmFtZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vc2lnbmFsckZlT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIC8vICBpZiAoVWlwYWdlQ29tcG9uZW50LnNpZ25hbHJFdmVudFN1YnNjcmlwdGlvbikge1xyXG4gIC8vICAgIFVpcGFnZUNvbXBvbmVudC5zaWduYWxyRXZlbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAvLyAgfVxyXG5cclxuICAvLyAgVWlwYWdlQ29tcG9uZW50LnNpZ25hbHJFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMubWFpblNlcnZpY2Uuc2lnbmFsckdldEV2ZW50KCkucGlwZShcclxuICAvLyAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQubmFtZSA9PT0gJ0ZpZWxkRWxlbWVudCcgfHwgZXZlbnQubmFtZSA9PT0gJ0xpc3RGaWVsZE1hcHBpbmcnKSxcclxuICAvLyAgICBtYXAoZXZlbnQgPT4gdGhpcy5tYWluU2VydmljZS5jbGVhckZvcm1MaXN0RmllbGRzKCkpKVxyXG4gIC8vICAgIC5zdWJzY3JpYmUoKVxyXG4gIC8vfVxyXG5cclxuICBwYWdlRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZ3JvdXAucGFnZU5hbWUgKyBcIiBuZ09uRGVzdHJveS5cIik7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL3RoaXMuc2lnbmFsckZlT25EZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -16,7 +16,7 @@ export class ZcardComponent extends ContainerFieldBase {
16
16
  constructor(componentService) {
17
17
  super(componentService);
18
18
  this.setData = (gData) => {
19
- this.componentProperties.title = this.data.Title.includes("group.") ? ZComponentHelper.getGroupEvalValue.call(this, this.data.Title) : this.data.Title;
19
+ this.componentProperties.title = this.data.Title.startsWith("group.") ? ZComponentHelper.getGroupEvalValue.call(this, this.data.Title) : this.data.Title;
20
20
  };
21
21
  }
22
22
  ngOnInit() {
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
32
32
  type: Component,
33
33
  args: [{ selector: "app-zcard", template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar class=\"zcard e1tag-container-style1\" keepItemContent=\"true\" [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n <fa-icon [icon]=\"componentProperties.icon || 'folder'\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <ion-label class=\"zcard-header-title e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">{{componentProperties.title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <app-zdiv class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\" [data]=\"data\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}:host ::ng-deep kendo-panelbar.zcard{border:none;background:transparent}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link{background:var(--ion-color-primary);text-transform:none;border-radius:var(--ion-container-border-radius);padding:10px 16px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-icon{color:var(--ion-color-primary-contrast);padding-right:10px;font-size:11pt}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-title{color:var(--ion-color-primary-contrast);font-weight:600;font-size:16px;padding-top:3px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link>.k-icon{color:var(--ion-color-primary-contrast);font-size:20px;font-weight:900}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-hover{background:rgba(var(--ion-color-primary-rgb),.9);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected{background:var(--ion-color-primary)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link{border-radius:var(--ion-container-border-radius) var(--ion-container-border-radius) 0px 0px;background:rgba(var(--ion-color-primary-rgb),.25)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover{background:rgba(var(--ion-color-primary-rgb),.35);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .k-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .k-icon{color:var(--ion-color-primary-shade)}:host ::ng-deep kendo-panelbar.zcard .k-content.k-panelbar-content{border-radius:0px 0px var(--ion-container-border-radius) var(--ion-container-border-radius);padding:5px 5px 20px 0;animation:slide-bottom .5s cubic-bezier(.25,.46,.45,.94) both}@keyframes slide-bottom{0%{transform:translateY(-50px);opacity:0}25%{opacity:.25}50%{opacity:.5}75%{opacity:.75}to{transform:translateY(0);opacity:1}}\n"] }]
34
34
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFjLGdCQUFnQixFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQ0UsZ0JBQW1DO1FBRW5DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBV25CLFlBQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsQ0FBQyxDQUFBO0lBWDVKLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzsyR0FiVSxjQUFjOytGQUFkLGNBQWMsd0VDbkIzQixtakRBa0JBOzJGRENhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpjYXJkXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96Y2FyZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Y2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaY2FyZENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXRhID0gKGdEYXRhOiBhbnkpID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy50aXRsZSA9IHRoaXMuZGF0YS5UaXRsZS5pbmNsdWRlcyhcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuVGl0bGUpIDogdGhpcy5kYXRhLlRpdGxlOyAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgIGNsYXNzPVwiY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgPGtlbmRvLXBhbmVsYmFyIGNsYXNzPVwiemNhcmQgZTF0YWctY29udGFpbmVyLXN0eWxlMVwiIGtlZXBJdGVtQ29udGVudD1cInRydWVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICAgIDxrZW5kby1wYW5lbGJhci1pdGVtIFtleHBhbmRlZF09XCIhZGF0YS5EZWZhdWx0Q29sbGFwc2VcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9QYW5lbEJhckl0ZW1UaXRsZT5cclxuICAgICAgICA8c3BhbiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImNvbXBvbmVudFByb3BlcnRpZXMuaWNvbiB8fCAnZm9sZGVyJ1wiIGNsYXNzPVwiemNhcmQtaGVhZGVyLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItdGl0bGUgZTF0YWctY29udGFpbmVyLXN0eWxlNFwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNFwiPnt7Y29tcG9uZW50UHJvcGVydGllcy50aXRsZX19PC9pb24tbGFiZWw+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhbmVsQmFyQ29udGVudD5cclxuICAgICAgICA8YXBwLXpkaXYgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgW2RhdGFdPVwiZGF0YVwiIFtmb3JtXT1cImZvcm1cIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIj5cclxuICAgICAgICA8L2FwcC16ZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9rZW5kby1wYW5lbGJhci1pdGVtPlxyXG4gIDwva2VuZG8tcGFuZWxiYXI+XHJcbjwvZGl2PlxyXG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFjLGdCQUFnQixFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQ0UsZ0JBQW1DO1FBRW5DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBV25CLFlBQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsQ0FBQyxDQUFBO0lBWDlKLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzsyR0FiVSxjQUFjOytGQUFkLGNBQWMsd0VDbkIzQixtakRBa0JBOzJGRENhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpjYXJkXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96Y2FyZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Y2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaY2FyZENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXRhID0gKGdEYXRhOiBhbnkpID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy50aXRsZSA9IHRoaXMuZGF0YS5UaXRsZS5zdGFydHNXaXRoKFwiZ3JvdXAuXCIpID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5UaXRsZSkgOiB0aGlzLmRhdGEuVGl0bGU7ICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgY2xhc3M9XCJjb250YWluZXIgZTF0YWctY29udGFpbmVyLXN0eWxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICA8a2VuZG8tcGFuZWxiYXIgY2xhc3M9XCJ6Y2FyZCBlMXRhZy1jb250YWluZXItc3R5bGUxXCIga2VlcEl0ZW1Db250ZW50PVwidHJ1ZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMVwiIFtjbGFzc109XCJkYXRhLkNvbXBvbmVudFN0eWxlVHlwZVwiPlxyXG4gICAgPGtlbmRvLXBhbmVsYmFyLWl0ZW0gW2V4cGFuZGVkXT1cIiFkYXRhLkRlZmF1bHRDb2xsYXBzZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhbmVsQmFySXRlbVRpdGxlPlxyXG4gICAgICAgIDxzcGFuIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlM1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiY29tcG9uZW50UHJvcGVydGllcy5pY29uIHx8ICdmb2xkZXInXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInpjYXJkLWhlYWRlci10aXRsZSBlMXRhZy1jb250YWluZXItc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCI+e3tjb21wb25lbnRQcm9wZXJ0aWVzLnRpdGxlfX08L2lvbi1sYWJlbD5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJDb250ZW50PlxyXG4gICAgICAgIDxhcHAtemRpdiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiBbZGF0YV09XCJkYXRhXCIgW2Zvcm1dPVwiZm9ybVwiIFtncm91cF09XCJncm91cFwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiPlxyXG4gICAgICAgIDwvYXBwLXpkaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2tlbmRvLXBhbmVsYmFyLWl0ZW0+XHJcbiAgPC9rZW5kby1wYW5lbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -15,7 +15,7 @@ import * as i5 from "@angular/common";
15
15
  import * as i6 from "@angular/forms";
16
16
  import * as i7 from "@angular/flex-layout/extended";
17
17
  export class ZformComponent {
18
- constructor(authService, fieldService, debugService, zcoreService
18
+ constructor(authService, fieldService, debugService, zcoreService, cacheService
19
19
  // private modalService: ModalService,
20
20
  // private router: Router
21
21
  ) {
@@ -23,6 +23,7 @@ export class ZformComponent {
23
23
  this.fieldService = fieldService;
24
24
  this.debugService = debugService;
25
25
  this.zcoreService = zcoreService;
26
+ this.cacheService = cacheService;
26
27
  this.isLoading = true;
27
28
  this.fieldIndex = [];
28
29
  }
@@ -32,15 +33,30 @@ export class ZformComponent {
32
33
  this.isLoading = false;
33
34
  }
34
35
  else {
36
+ //const cacheKey = `FormField_${this.fieldName}`;
37
+ // if get from cache, field wont load. temporary comment out.
38
+ //const cachedData = this.cacheService.get(cacheKey);
39
+ //if (cachedData) {
40
+ // of(cachedData).pipe(
41
+ // switchMap(cachedData => {
42
+ // const cachedZField = cachedData as ZField[];
43
+ // return this.onStartDebuggerOrLoadFromCache(cachedZField);
44
+ // }),
45
+ // tap(() => {
46
+ // this.isLoading = false;
47
+ // if (this.group._isDebugging && this.group._debug.isLoading) {
48
+ // this.group._debug.isLoading = false;
49
+ // }
50
+ // }),
51
+ // delay(500)
52
+ // ).subscribe(() => {
53
+ // this.debugService.LoadGridData();
54
+ // this.debugService.loadWorkflowData();
55
+ // });
56
+ //}
57
+ //else {
35
58
  this.fieldService.getFormFieldCode(this.fieldName, 'FormField', this, 'fields').pipe(switchMap(fieldElements => {
36
- if (this.fieldName === 'debugV2') {
37
- return this.debugService.onStartDebugger(fieldElements, this);
38
- }
39
- else {
40
- this.group.fields = fieldElements;
41
- this.onInitNormal();
42
- return of([]);
43
- }
59
+ return this.onStartDebuggerOrLoadFromCache(fieldElements);
44
60
  }), switchMap(() => {
45
61
  this.isLoading = false;
46
62
  if (this.group._isDebugging && this.group._debug.isLoading) {
@@ -52,6 +68,17 @@ export class ZformComponent {
52
68
  this.debugService.LoadGridData();
53
69
  this.debugService.loadWorkflowData();
54
70
  });
71
+ //}
72
+ }
73
+ }
74
+ onStartDebuggerOrLoadFromCache(cachedZField) {
75
+ if (this.fieldName === 'debugV2') {
76
+ return this.debugService.onStartDebugger(cachedZField, this);
77
+ }
78
+ else {
79
+ this.group.fields = cachedZField;
80
+ this.onInitNormal();
81
+ return of([]);
55
82
  }
56
83
  }
57
84
  ngOnDestroy() {
@@ -147,14 +174,14 @@ export class ZformComponent {
147
174
  return index;
148
175
  }
149
176
  }
150
- ZformComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZformComponent, deps: [{ token: i1.AuthService }, { token: i1.FieldService }, { token: i2.ZComponentDebugService }, { token: i1.ZCoreService }], target: i0.ɵɵFactoryTarget.Component });
177
+ ZformComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZformComponent, deps: [{ token: i1.AuthService }, { token: i1.FieldService }, { token: i2.ZComponentDebugService }, { token: i1.ZCoreService }, { token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Component });
151
178
  ZformComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZformComponent, selector: "app-zform", inputs: { group: "group", fieldName: "fieldName" }, ngImport: i0, template: "<div class=\"e1-form\">\r\n <!--<div class=\"k-overlay\" *ngIf=\"isLoading\"></div>-->\r\n <form [formGroup]=\"form\" autocomplete=\"off\" *ngIf=\"!isLoading\">\r\n <ion-grid>\r\n <ion-row id=\"dynamic-form-host\" class=\"ion-align-items-start\">\r\n <app-zformcontrol *ngFor=\"let field of fields; trackBy: trackByFn\"\r\n [ngClass]=\"group[field['isVisibleField']] ? field.DivClass :((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n [field]=\"field\"\r\n [group]=\"getGroup()\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\"></app-zformcontrol>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</div>\r\n", styles: ["#dynamic-form-host app-zformcontrol{overflow-x:auto;overflow-y:hidden}.container-center{margin:auto}.e1-form{max-width:2000px;margin:auto}\n"], components: [{ type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i3.IonRow, selector: "ion-row" }, { type: i4.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
152
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZformComponent, decorators: [{
153
180
  type: Component,
154
181
  args: [{ selector: "app-zform", template: "<div class=\"e1-form\">\r\n <!--<div class=\"k-overlay\" *ngIf=\"isLoading\"></div>-->\r\n <form [formGroup]=\"form\" autocomplete=\"off\" *ngIf=\"!isLoading\">\r\n <ion-grid>\r\n <ion-row id=\"dynamic-form-host\" class=\"ion-align-items-start\">\r\n <app-zformcontrol *ngFor=\"let field of fields; trackBy: trackByFn\"\r\n [ngClass]=\"group[field['isVisibleField']] ? field.DivClass :((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n [field]=\"field\"\r\n [group]=\"getGroup()\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\"></app-zformcontrol>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</div>\r\n", styles: ["#dynamic-form-host app-zformcontrol{overflow-x:auto;overflow-y:hidden}.container-center{margin:auto}.e1-form{max-width:2000px;margin:auto}\n"] }]
155
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.FieldService }, { type: i2.ZComponentDebugService }, { type: i1.ZCoreService }]; }, propDecorators: { group: [{
182
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.FieldService }, { type: i2.ZComponentDebugService }, { type: i1.ZCoreService }, { type: i1.CacheService }]; }, propDecorators: { group: [{
156
183
  type: Input
157
184
  }], fieldName: [{
158
185
  type: Input
159
186
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2pCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVN6QixNQUFNLE9BQU8sY0FBYztJQVd6QixZQUNVLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQTBCO0lBQ2xDLHNDQUFzQztJQUN0Qyx5QkFBeUI7O1FBTGpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVJwQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFTWixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUs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LFVBQVUsQ0FDM0MsQ0FBQzs0QkFFRixJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0NBQzNDLE1BQU0sWUFBWSxHQUFrQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQ0FDbkcsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxZQUFZLENBQ2IsQ0FBQzs2QkFDSDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRixJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRTtZQUN2QyxPQUFPLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBSTtRQUMzQiwyQ0FBMkM7UUFDM0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsyR0FwS1UsY0FBYzsrRkFBZCxjQUFjLHFHQ3hCM0IsaXhCQWVBOzJGRFNhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVzs2TEFNWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgZGVsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudERlYnVnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQXV0aFNlcnZpY2UsIEZpZWxkU2VydmljZSwgWkNvcmVTZXJ2aWNlLFxyXG4gIFpDb21wb25lbnRIZWxwZXIsIFpHcm91cCwgWkZpZWxkXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pmb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pmb3JtLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmaWVsZE5hbWU6IHN0cmluZztcclxuICAvLyBAVmlld0NoaWxkKCdmcm0nLCB7c3RhdGljOiB0cnVlfSkgZm9ybTogTmdGb3JtO1xyXG5cclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgZmllbGRzOiBBcnJheTxaRmllbGQ+O1xyXG4gIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgZmllbGRJbmRleCA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmaWVsZFNlcnZpY2U6IEZpZWxkU2VydmljZSxcclxuICAgIHByaXZhdGUgZGVidWdTZXJ2aWNlOiBaQ29tcG9uZW50RGVidWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZVxyXG4gICAgLy8gcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZE5hbWUpIHtcclxuICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5nZXRGb3JtRmllbGRDb2RlKHRoaXMuZmllbGROYW1lLCAnRm9ybUZpZWxkJywgdGhpcywgJ2ZpZWxkcycpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKGZpZWxkRWxlbWVudHMgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZmllbGROYW1lID09PSAnZGVidWdWMicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVidWdTZXJ2aWNlLm9uU3RhcnREZWJ1Z2dlcihmaWVsZEVsZW1lbnRzLCB0aGlzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuZmllbGRzID0gZmllbGRFbGVtZW50cztcclxuICAgICAgICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmdyb3VwLl9pc0RlYnVnZ2luZyAmJiB0aGlzLmdyb3VwLl9kZWJ1Zy5pc0xvYWRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5ncm91cC5fZGVidWcuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGRlbGF5KDUwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlYnVnU2VydmljZS5Mb2FkR3JpZERhdGEoKTtcclxuICAgICAgICAgIHRoaXMuZGVidWdTZXJ2aWNlLmxvYWRXb3JrZmxvd0RhdGEoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7ICAvLyBmb3IgZGVidWdnZXIgc3Vic2NyaXB0aW9uXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRHcm91cCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkTmFtZSAhPT0gJ2RlYnVnVjInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuX2RlYnVnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkluaXROb3JtYWwoKSB7XHJcbiAgICBvZih0cnVlKS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMudG9Gb3JtR3JvdXAodGhpcy5ncm91cC5maWVsZHMpO1xyXG4gICAgICAgIHRoaXMuZ3JvdXAuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ3JvdXAuZmllbGRzO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZ3JvdXBbJ2FmdGVyRm9ybUluaXQnXSkge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBbJ2FmdGVyRm9ybUluaXQnXSgpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIENvbXBvbmVudElzVmlzaWJsZShmaWVsZDogWkZpZWxkKTogYW55IHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLkNvbXBvbmVudElzVmlzaWJsZShmaWVsZCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvRm9ybUdyb3VwKGZpZWxkRWxlbWVudHM6IEFycmF5PFpGaWVsZD4pIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICB0aGlzLmdldEZvcm1Db250cm9scyhmaWVsZEVsZW1lbnRzLCBmb3JtQ29udHJvbHMpO1xyXG4gICAgY29uc3QgbmV3Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cChmb3JtQ29udHJvbHMpO1xyXG4gICAgcmV0dXJuIG5ld0Zvcm1Hcm91cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVG9GaWVsZEluZGV4KGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGlmICghZmllbGQuTmFtZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGaWVsZCBOYW1lIHVuZGVmaW5lZDogJywgZmllbGQpO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpZWxkLk5hbWUgJiYgIXRoaXMuZmllbGRJbmRleC5pbmNsdWRlcyhmaWVsZC5OYW1lKSkge1xyXG4gICAgICB0aGlzLmZpZWxkSW5kZXgucHVzaChmaWVsZC5OYW1lKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpZWxkIE5hbWUgRHVwbGljYXRpb246ICcgKyBmaWVsZC5OYW1lICsgJzsgICcsIGZpZWxkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybUNvbnRyb2xzKFxyXG4gICAgZmllbGRBcnJheTogQXJyYXk8WkZpZWxkPixcclxuICAgIGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9LFxyXG4gICAgY29udGFpbmVySXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZVxyXG4gICkge1xyXG4gICAgZmllbGRBcnJheS5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgaWYgKCFmaWVsZC5TdWJUeXBlICYmIGZpZWxkLlR5cGUgIT0gJ3psb29wJykge1xyXG4gICAgICAgIHRoaXMuYWRkVG9GaWVsZEluZGV4KGZpZWxkKTtcclxuICAgICAgICB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkLlZhbHVlID09PSBcInN0cmluZ1wiICYmIGZpZWxkLlZhbHVlLmluZGV4T2YoXCIuXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgaWYgKFsnemdyaWQnLCAnenRyZWUnLCAndGV4dGFyZWFqc29uJ10uaW5kZXhPZihmaWVsZC5UeXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiRm9ybUNvbnRyb2wgLSBpbnZhbGlkIGZpZWxkIHZhbHVlXCIsIGZpZWxkLlZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5WYWx1ZSkpIHtcclxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVySXNWaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc1Zpc2libGVGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkLlZhbHVlLCBmb3JtQ29udHJvbHMsIGNvbnRhaW5lcklzVmlzaWJsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IFpDb21wb25lbnRIZWxwZXIuaXNGb3JtQ29udHJvbChmaWVsZCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IFpDb21wb25lbnRIZWxwZXIuaXNWaXNpYmxlRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG4gICAgICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gWkNvbXBvbmVudEhlbHBlci5pc1JlcXVpcmVkRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG5cclxuICAgICAgICAgICAgLy8gaWYgY29udGFpbmVyIHx8IGNvbnRyb2wgdmlzaWJsZSA9PSBmYWxzZSwgZG9udCBpbmNyZWFzZSB0aGUgY291bnRlci5cclxuICAgICAgICAgICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJJc1Zpc2libGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmZpZWxkU2VydmljZS5pbmNyZW1lbnRDb21wb25lbnRDb3VudGVyKGZpZWxkLkZpZWxkRWxlbWVudE5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoaXNGb3JtQ29udHJvbCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldFZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xzW2ZpZWxkLlZhbHVlXSA9IG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXAuek1vZGVsW2ZpZWxkLlZhbHVlXSwgdmFsaWRhdG9yc1xyXG4gICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNjVmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Q0NWYWxpZGF0b3JzKGZpZWxkLCBpc1Zpc2libGUsIGlzUmVxdWlyZWQpO1xyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xzW2ZpZWxkLkNDVmFsdWVdID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSxcclxuICAgICAgICAgICAgICAgICAgY2NWYWxpZGF0b3JzXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlYWRPbmx5VmFsdWUoZmllbGQ6IFpGaWVsZCkge1xyXG4gICAgY29uc3QgcmVhZE9ubHlWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBmaWVsZC5SZWFkT25seSk7XHJcbiAgICBpZiAodHlwZW9mIHJlYWRPbmx5VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHJlYWRPbmx5VmFsdWUoKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWFkT25seVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW0pOiBudW1iZXIge1xyXG4gICAgLy9yZXR1cm4gaXRlbVsnVHlwZSddICsgJy0nICsgaXRlbVsnTmFtZSddO1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBnZXRWYWx1ZShmaWVsZDogWkZpZWxkKSB7XHJcbiAgLy8gICBpZiAoZmllbGQuVHlwZS5pbmRleE9mKCdkYXRlJykgIT09IC0xKSB7XHJcbiAgLy8gICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5WYWx1ZV0pO1xyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuek1vZGVsW2ZpZWxkLlZhbHVlXTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImUxLWZvcm1cIj5cclxuICA8IS0tPGRpdiBjbGFzcz1cImstb3ZlcmxheVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9kaXY+LS0+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgIDxpb24tcm93IGlkPVwiZHluYW1pYy1mb3JtLWhvc3RcIiBjbGFzcz1cImlvbi1hbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgIDxhcHAtemZvcm1jb250cm9sICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ3JvdXBbZmllbGRbJ2lzVmlzaWJsZUZpZWxkJ11dID8gZmllbGQuRGl2Q2xhc3MgOigoZmllbGQuVmlzaWJsZSA9PT0gdHJ1ZSkgPyAgZmllbGQuRGl2Q2xhc3MgOiAnZmxleC1oaWRlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2dyb3VwXT1cImdldEdyb3VwKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tmaWVsZC5UeXBlfX0te3tmaWVsZC5OYW1lfX1cIj48L2FwcC16Zm9ybWNvbnRyb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvaW9uLWdyaWQ+XHJcbiAgPC9mb3JtPlxyXG48L2Rpdj5cclxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2pCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVN6QixNQUFNLE9BQU8sY0FBYztJQVd6QixZQUNVLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLFlBQTBCO0lBQ2xDLHNDQUFzQztJQUN0Qyx5QkFBeUI7O1FBTmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVRwQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFVWixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENB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QUFFLENBQUM7U0FDeEI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFJO1FBQzNCLDJDQUEyQztRQUMzQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzJHQWhNVSxjQUFjOytGQUFkLGNBQWMscUdDeEIzQixpeEJBZUE7MkZEU2EsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXO3dOQU1aLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCBkZWxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50RGVidWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvemNvbXBvbmVudC5kZWJ1Zy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBdXRoU2VydmljZSwgRmllbGRTZXJ2aWNlLCBaQ29yZVNlcnZpY2UsIENhY2hlU2VydmljZSxcclxuICBaQ29tcG9uZW50SGVscGVyLCBaR3JvdXAsIFpGaWVsZFxyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpmb3JtXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96Zm9ybS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Zm9ybS5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpmb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZmllbGROYW1lOiBzdHJpbmc7XHJcbiAgLy8gQFZpZXdDaGlsZCgnZnJtJywge3N0YXRpYzogdHJ1ZX0pIGZvcm06IE5nRm9ybTtcclxuXHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGZpZWxkczogQXJyYXk8WkZpZWxkPjtcclxuICBpc0xvYWRpbmcgPSB0cnVlO1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGZpZWxkSW5kZXggPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlYnVnU2VydmljZTogWkNvbXBvbmVudERlYnVnU2VydmljZSxcclxuICAgIHByaXZhdGUgemNvcmVTZXJ2aWNlOiBaQ29yZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXHJcbiAgICAvLyBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkTmFtZSkge1xyXG4gICAgICB0aGlzLm9uSW5pdE5vcm1hbCgpO1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vY29uc3QgY2FjaGVLZXkgPSBgRm9ybUZpZWxkXyR7dGhpcy5maWVsZE5hbWV9YDtcclxuICAgICAgLy8gaWYgZ2V0IGZyb20gY2FjaGUsIGZpZWxkIHdvbnQgbG9hZC4gdGVtcG9yYXJ5IGNvbW1lbnQgb3V0LlxyXG4gICAgICAvL2NvbnN0IGNhY2hlZERhdGEgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoY2FjaGVLZXkpO1xyXG4gICAgICAvL2lmIChjYWNoZWREYXRhKSB7XHJcbiAgICAgIC8vICBvZihjYWNoZWREYXRhKS5waXBlKFxyXG4gICAgICAvLyAgICBzd2l0Y2hNYXAoY2FjaGVkRGF0YSA9PiB7XHJcbiAgICAgIC8vICAgICAgY29uc3QgY2FjaGVkWkZpZWxkID0gY2FjaGVkRGF0YSBhcyBaRmllbGRbXTtcclxuICAgICAgLy8gICAgICByZXR1cm4gdGhpcy5vblN0YXJ0RGVidWdnZXJPckxvYWRGcm9tQ2FjaGUoY2FjaGVkWkZpZWxkKTtcclxuICAgICAgLy8gICAgfSksXHJcbiAgICAgIC8vICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgIC8vICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gICAgICBpZiAodGhpcy5ncm91cC5faXNEZWJ1Z2dpbmcgJiYgdGhpcy5ncm91cC5fZGVidWcuaXNMb2FkaW5nKSB7XHJcbiAgICAgIC8vICAgICAgICB0aGlzLmdyb3VwLl9kZWJ1Zy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gICAgICB9XHJcbiAgICAgIC8vICAgIH0pLFxyXG4gICAgICAvLyAgICBkZWxheSg1MDApXHJcbiAgICAgIC8vICApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIC8vICAgIHRoaXMuZGVidWdTZXJ2aWNlLkxvYWRHcmlkRGF0YSgpO1xyXG4gICAgICAvLyAgICB0aGlzLmRlYnVnU2VydmljZS5sb2FkV29ya2Zsb3dEYXRhKCk7XHJcbiAgICAgIC8vICB9KTtcclxuICAgICAgLy99XHJcbiAgICAgIC8vZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmdldEZvcm1GaWVsZENvZGUodGhpcy5maWVsZE5hbWUsICdGb3JtRmllbGQnLCB0aGlzLCAnZmllbGRzJykucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoZmllbGRFbGVtZW50cyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5vblN0YXJ0RGVidWdnZXJPckxvYWRGcm9tQ2FjaGUoZmllbGRFbGVtZW50cyk7XHJcbiAgICAgICAgfSksIFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZ3JvdXAuX2lzRGVidWdnaW5nICYmIHRoaXMuZ3JvdXAuX2RlYnVnLmlzTG9hZGluZykge1xyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLl9kZWJ1Zy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZGVsYXkoNTAwKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGVidWdTZXJ2aWNlLkxvYWRHcmlkRGF0YSgpO1xyXG4gICAgICAgICAgdGhpcy5kZWJ1Z1NlcnZpY2UubG9hZFdvcmtmbG93RGF0YSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAvL31cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TdGFydERlYnVnZ2VyT3JMb2FkRnJvbUNhY2hlKGNhY2hlZFpGaWVsZDogWkZpZWxkW10pIHtcclxuICAgIGlmICh0aGlzLmZpZWxkTmFtZSA9PT0gJ2RlYnVnVjInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRlYnVnU2VydmljZS5vblN0YXJ0RGVidWdnZXIoY2FjaGVkWkZpZWxkLCB0aGlzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZmllbGRzID0gY2FjaGVkWkZpZWxkO1xyXG4gICAgICB0aGlzLm9uSW5pdE5vcm1hbCgpO1xyXG4gICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHsgIC8vIGZvciBkZWJ1Z2dlciBzdWJzY3JpcHRpb25cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEdyb3VwKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGROYW1lICE9PSAnZGVidWdWMicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ3JvdXA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5ncm91cC5fZGVidWc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uSW5pdE5vcm1hbCgpIHtcclxuICAgIG9mKHRydWUpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICAgICAgdGhpcy5ncm91cC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5ncm91cC5maWVsZHM7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5ncm91cFsnYWZ0ZXJGb3JtSW5pdCddKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5ncm91cFsnYWZ0ZXJGb3JtSW5pdCddKCk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkOiBaRmllbGQpOiBhbnkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9Gb3JtR3JvdXAoZmllbGRFbGVtZW50czogQXJyYXk8WkZpZWxkPikge1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH0gPSB7fTtcclxuICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkRWxlbWVudHMsIGZvcm1Db250cm9scyk7XHJcbiAgICBjb25zdCBuZXdGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKGZvcm1Db250cm9scyk7XHJcbiAgICByZXR1cm4gbmV3Rm9ybUdyb3VwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb0ZpZWxkSW5kZXgoZmllbGQ6IFpGaWVsZCkge1xyXG4gICAgaWYgKCFmaWVsZC5OYW1lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpZWxkIE5hbWUgdW5kZWZpbmVkOiAnLCBmaWVsZCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmllbGQuTmFtZSAmJiAhdGhpcy5maWVsZEluZGV4LmluY2x1ZGVzKGZpZWxkLk5hbWUpKSB7XHJcbiAgICAgIHRoaXMuZmllbGRJbmRleC5wdXNoKGZpZWxkLk5hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRmllbGQgTmFtZSBEdXBsaWNhdGlvbjogJyArIGZpZWxkLk5hbWUgKyAnOyAgJywgZmllbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtQ29udHJvbHMoXHJcbiAgICBmaWVsZEFycmF5OiBBcnJheTxaRmllbGQ+LFxyXG4gICAgZm9ybUNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH0sXHJcbiAgICBjb250YWluZXJJc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlXHJcbiAgKSB7XHJcbiAgICBmaWVsZEFycmF5LmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBpZiAoIWZpZWxkLlN1YlR5cGUgJiYgZmllbGQuVHlwZSAhPSAnemxvb3AnKSB7XHJcbiAgICAgICAgdGhpcy5hZGRUb0ZpZWxkSW5kZXgoZmllbGQpO1xyXG4gICAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLnBhdGNoRmllbGRQcm9wZXJ0eShmaWVsZCk7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQuVmFsdWUgPT09IFwic3RyaW5nXCIgJiYgZmllbGQuVmFsdWUuaW5kZXhPZihcIi5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpZiAoWyd6Z3JpZCcsICd6dHJlZScsICd0ZXh0YXJlYWpzb24nXS5pbmRleE9mKGZpZWxkLlR5cGUpID09PSAtMSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJGb3JtQ29udHJvbCAtIGludmFsaWQgZmllbGQgdmFsdWVcIiwgZmllbGQuVmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJJc1Zpc2libGUgPSBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZUZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGQuVmFsdWUsIGZvcm1Db250cm9scywgY29udGFpbmVySXNWaXNpYmxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gWkNvbXBvbmVudEhlbHBlci5pc0Zvcm1Db250cm9sKGZpZWxkKTtcclxuICAgICAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc1Zpc2libGVGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBaQ29tcG9uZW50SGVscGVyLmlzUmVxdWlyZWRGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcblxyXG4gICAgICAgICAgICAvLyBpZiBjb250YWluZXIgfHwgY29udHJvbCB2aXNpYmxlID09IGZhbHNlLCBkb250IGluY3JlYXNlIHRoZSBjb3VudGVyLlxyXG4gICAgICAgICAgICBpZiAoaXNWaXNpYmxlICYmIGNvbnRhaW5lcklzVmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmluY3JlbWVudENvbXBvbmVudENvdW50ZXIoZmllbGQuRmllbGRFbGVtZW50TmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0Zvcm1Db250cm9sID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0VmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuVmFsdWVdID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdLCB2YWxpZGF0b3JzXHJcbiAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKFpDb21wb25lbnRIZWxwZXIuaGFzQ0NGaWVsZChmaWVsZC5UeXBlKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2NWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRDQ1ZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXAuek1vZGVsW2ZpZWxkLkNDVmFsdWVdLFxyXG4gICAgICAgICAgICAgICAgICBjY1ZhbGlkYXRvcnNcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVhZE9ubHlWYWx1ZShmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBjb25zdCByZWFkT25seVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGZpZWxkLlJlYWRPbmx5KTtcclxuICAgIGlmICh0eXBlb2YgcmVhZE9ubHlWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlYWRPbmx5VmFsdWU7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbSk6IG51bWJlciB7XHJcbiAgICAvL3JldHVybiBpdGVtWydUeXBlJ10gKyAnLScgKyBpdGVtWydOYW1lJ107XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGdldFZhbHVlKGZpZWxkOiBaRmllbGQpIHtcclxuICAvLyAgIGlmIChmaWVsZC5UeXBlLmluZGV4T2YoJ2RhdGUnKSAhPT0gLTEpIHtcclxuICAvLyAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuZ3JvdXAuek1vZGVsW2ZpZWxkLlZhbHVlXSk7XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZTEtZm9ybVwiPlxyXG4gIDwhLS08ZGl2IGNsYXNzPVwiay1vdmVybGF5XCIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L2Rpdj4tLT5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICAgIDxpb24tZ3JpZD5cclxuICAgICAgPGlvbi1yb3cgaWQ9XCJkeW5hbWljLWZvcm0taG9zdFwiIGNsYXNzPVwiaW9uLWFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgPGFwcC16Zm9ybWNvbnRyb2wgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJncm91cFtmaWVsZFsnaXNWaXNpYmxlRmllbGQnXV0gPyBmaWVsZC5EaXZDbGFzcyA6KChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ2V0R3JvdXAoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiPjwvYXBwLXpmb3JtY29udHJvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=