@eqproject/eqp-dynamic-module 2.11.2 → 2.11.5

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 (32) hide show
  1. package/USERGUIDE.md +437 -437
  2. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +143 -13
  3. package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +76 -3
  4. package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +74 -13
  5. package/esm2020/lib/components/private/dynamic-module-field-extra-fix/dynamic-module-field-extra-fix.component.mjs +14 -2
  6. package/esm2020/lib/components/private/field-graphics-editor/field-graphics-editor.component.mjs +735 -0
  7. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +16 -15
  8. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +1 -1
  9. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +1 -1
  10. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +1 -1
  11. package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +3 -3
  12. package/esm2020/lib/eqp-dynamic-module.module.mjs +4 -1
  13. package/esm2020/lib/utils/css-color.mjs +101 -0
  14. package/esm2020/lib/utils/css-declarations.mjs +119 -0
  15. package/esm2020/lib/utils/css-property-catalog.mjs +134 -0
  16. package/esm2020/lib/utils/field-style-catalog.mjs +491 -0
  17. package/esm2020/public-api.mjs +6 -1
  18. package/fesm2015/eqproject-eqp-dynamic-module.mjs +1941 -73
  19. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  20. package/fesm2020/eqproject-eqp-dynamic-module.mjs +1906 -80
  21. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  22. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +39 -0
  23. package/lib/components/private/add-form-field/add-form-field.component.d.ts +19 -0
  24. package/lib/components/private/add-formula-field/add-formula-field.component.d.ts +5 -1
  25. package/lib/components/private/field-graphics-editor/field-graphics-editor.component.d.ts +192 -0
  26. package/lib/eqp-dynamic-module.module.d.ts +66 -65
  27. package/lib/utils/css-color.d.ts +15 -0
  28. package/lib/utils/css-declarations.d.ts +23 -0
  29. package/lib/utils/css-property-catalog.d.ts +36 -0
  30. package/lib/utils/field-style-catalog.d.ts +130 -0
  31. package/package.json +1 -1
  32. package/public-api.d.ts +5 -0
@@ -18,7 +18,19 @@ export class DynamicModuleFieldExtraFixComponent {
18
18
  this.loaded = false;
19
19
  }
20
20
  ngOnInit() {
21
- this.FieldExtraValues = this.form.FldExtraConfigValues.find(x => x.FieldConfigCode == this.fieldExtraConfig.FieldConfigCode && (x.FieldConfigParentFieldCode == this.field.Name || x.FieldConfigParentFieldCode === undefined));
21
+ this.FieldExtraValues = (this.form.FldExtraConfigValues ?? []).find(x => x.FieldConfigCode == this.fieldExtraConfig.FieldConfigCode && (x.FieldConfigParentFieldCode == this.field.Name || x.FieldConfigParentFieldCode === undefined));
22
+ // Su un campo appena aggiunto la voce può non esistere ancora (configureFieldsExtra gira
23
+ // in ngOnInit della dialog, quando il tipo non è ancora stato scelto): senza questa
24
+ // creazione le righe sotto andavano in errore e il resto della dialog non veniva disegnato.
25
+ if (!this.FieldExtraValues) {
26
+ this.FieldExtraValues = new FieldExtraValues();
27
+ this.FieldExtraValues.FieldConfigCode = this.fieldExtraConfig.FieldConfigCode;
28
+ this.FieldExtraValues.FieldConfigParentFieldCode = this.field?.Name;
29
+ if (this.form.FldExtraConfigValues == null) {
30
+ this.form.FldExtraConfigValues = new Array();
31
+ }
32
+ this.form.FldExtraConfigValues.push(this.FieldExtraValues);
33
+ }
22
34
  if (this.fieldExtraConfig.FieldConfigType == FieldTypeEnum['Booleano']) {
23
35
  this.FieldExtraValues.FieldConfigValue = this.FieldExtraValues.FieldConfigValue == "false" || !this.FieldExtraValues.FieldConfigValue ? false : true;
24
36
  }
@@ -47,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
47
59
  }], configValueChange: [{
48
60
  type: Output
49
61
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXgvZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXgvZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRzVGLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxtQ0FBbUM7SUFjOUMsWUFDVSxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFSL0Isc0JBQWlCLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRW5HLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLHFCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsV0FBTSxHQUFZLEtBQUssQ0FBQztJQUtyQixDQUFDO0lBRUosUUFBUTtRQUVOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsMEJBQTBCLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztRQUVoTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFDO1lBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN0SjtRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNQLENBQUM7O2lJQWxDVSxtQ0FBbUM7cUhBQW5DLG1DQUFtQywyUENaaEQsKzlCQTJCTTs0RkRmTyxtQ0FBbUM7a0JBTC9DLFNBQVM7K0JBQ0UsZ0NBQWdDO3lHQU1qQyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmllbGRFeHRyYUNvbmZpZywgRmllbGRFeHRyYVZhbHVlcyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZEV4dHJhQ29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgRW5kUG9pbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VuZFBvaW50Q29uZmlndXJhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtbW9kdWxlLWZpZWxkLWV4dHJhLWZpeCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLWV4dHJhLWZpeC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNNb2R1bGVGaWVsZEV4dHJhRml4Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGRFeHRyYUNvbmZpZzogRmllbGRFeHRyYUNvbmZpZztcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBCYXNlRmllbGQ7XHJcbiAgQElucHV0KCkgZW5kUG9pbnRDb25maWd1cmF0aW9uOiBFbmRQb2ludENvbmZpZ3VyYXRpb247XHJcblxyXG4gIEBPdXRwdXQoKSBjb25maWdWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpZWxkRXh0cmFWYWx1ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWVsZEV4dHJhVmFsdWVzPigpO1xyXG5cclxuICBGaWVsZFR5cGVFbnVtID0gRmllbGRUeXBlRW51bTtcclxuICBGaWVsZEV4dHJhVmFsdWVzOiBGaWVsZEV4dHJhVmFsdWVzID0gbmV3IEZpZWxkRXh0cmFWYWx1ZXMoKTtcclxuICBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmb3JtRXh0cmFHcm91cDogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcclxuICApIHt9ICBcclxuXHJcbiAgbmdPbkluaXQoKXtcclxuXHJcbiAgICB0aGlzLkZpZWxkRXh0cmFWYWx1ZXMgPSB0aGlzLmZvcm0uRmxkRXh0cmFDb25maWdWYWx1ZXMuZmluZCh4ID0+IHguRmllbGRDb25maWdDb2RlID09IHRoaXMuZmllbGRFeHRyYUNvbmZpZy5GaWVsZENvbmZpZ0NvZGUgJiYgKHguRmllbGRDb25maWdQYXJlbnRGaWVsZENvZGUgPT0gdGhpcy5maWVsZC5OYW1lIHx8IHguRmllbGRDb25maWdQYXJlbnRGaWVsZENvZGUgPT09IHVuZGVmaW5lZCkpO1xyXG5cclxuICAgIGlmICh0aGlzLmZpZWxkRXh0cmFDb25maWcuRmllbGRDb25maWdUeXBlID09IEZpZWxkVHlwZUVudW1bJ0Jvb2xlYW5vJ10pe1xyXG4gICAgICB0aGlzLkZpZWxkRXh0cmFWYWx1ZXMuRmllbGRDb25maWdWYWx1ZSA9IHRoaXMuRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlID09IFwiZmFsc2VcIiB8fCAhdGhpcy5GaWVsZEV4dHJhVmFsdWVzLkZpZWxkQ29uZmlnVmFsdWUgPyBmYWxzZSA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25maWd1cmVGb3JtKCk7XHJcbiAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25maWd1cmVGb3JtKCl7XHJcbiAgICAgIHRoaXMuZm9ybUV4dHJhR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICBlbGVtZW50OiBbdGhpcy5GaWVsZEV4dHJhVmFsdWVzLkZpZWxkQ29uZmlnVmFsdWVdXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiXHJcblxyXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUV4dHJhR3JvdXBcIj5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJmaWVsZEV4dHJhQ29uZmlnLkZpZWxkQ29uZmlnVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydDYW1wbyBkaSB0ZXN0byddICYmIGxvYWRlZFwiPlxyXG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwicHQtMVwiPlxyXG4gICAgICAgIHt7IGZpZWxkRXh0cmFDb25maWcuRmllbGRDb25maWdMYWJlbCB9fVxyXG4gICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidlbGVtZW50J1wiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJGaWVsZEV4dHJhVmFsdWVzLkZpZWxkQ29uZmlnVmFsdWVcIlxyXG4gICAgICAvPlxyXG5cclxuICAgICAgPHRtdy1pY29uIGNsYXNzPVwibWF0LWljb25cIlxyXG4gICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgIFNwZWVjaFRvVGV4dFxyXG4gICAgICAgIFsoYmluZGVkVGV4dCldPVwiRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiIG5hbWU9XCJtaWNyb3Bob25lXCI+PC90bXctaWNvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZpZWxkRXh0cmFDb25maWcuRmllbGRDb25maWdUeXBlID09IEZpZWxkVHlwZUVudW1bJ0Jvb2xlYW5vJ10gJiYgbG9hZGVkXCJcclxuICBbZm9ybUNvbnRyb2xOYW1lXT1cIidlbGVtZW50J1wiXHJcbiAgWyhuZ01vZGVsKV09XCJGaWVsZEV4dHJhVmFsdWVzLkZpZWxkQ29uZmlnVmFsdWVcIj5cclxuICB7eyBmaWVsZEV4dHJhQ29uZmlnLkZpZWxkQ29uZmlnTGFiZWwgfX1cclxuICA8L21hdC1zbGlkZS10b2dnbGU+XHJcblxyXG48L2Rpdj4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXgvZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXgvZHluYW1pYy1tb2R1bGUtZmllbGQtZXh0cmEtZml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRzVGLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxtQ0FBbUM7SUFjOUMsWUFDVSxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFSL0Isc0JBQWlCLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRW5HLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLHFCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsV0FBTSxHQUFZLEtBQUssQ0FBQztJQUtyQixDQUFDO0lBRUosUUFBUTtRQUVOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQywwQkFBMEIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXhPLHlGQUF5RjtRQUN6RixvRkFBb0Y7UUFDcEYsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ3BFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEtBQUssRUFBb0IsQ0FBQzthQUFFO1lBQy9HLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEo7UUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztTQUNsRCxDQUFDLENBQUM7SUFDUCxDQUFDOztpSUE3Q1UsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsMlBDWmhELCs5QkEyQk07NEZEZk8sbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNFLGdDQUFnQzt5R0FNakMsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkRXh0cmFDb25maWcsIEZpZWxkRXh0cmFWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRFeHRyYUNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IEVuZFBvaW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbmRQb2ludENvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGQsIEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkeW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXgnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLW1vZHVsZS1maWVsZC1leHRyYS1maXguY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLWV4dHJhLWZpeC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTW9kdWxlRmllbGRFeHRyYUZpeENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkRXh0cmFDb25maWc6IEZpZWxkRXh0cmFDb25maWc7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBmaWVsZDogQmFzZUZpZWxkO1xyXG4gIEBJbnB1dCgpIGVuZFBvaW50Q29uZmlndXJhdGlvbjogRW5kUG9pbnRDb25maWd1cmF0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgY29uZmlnVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWVsZEV4dHJhVmFsdWVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmllbGRFeHRyYVZhbHVlcz4oKTtcclxuXHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcbiAgRmllbGRFeHRyYVZhbHVlczogRmllbGRFeHRyYVZhbHVlcyA9IG5ldyBGaWVsZEV4dHJhVmFsdWVzKCk7XHJcbiAgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9ybUV4dHJhR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyXHJcbiAgKSB7fSAgXHJcblxyXG4gIG5nT25Jbml0KCl7XHJcblxyXG4gICAgdGhpcy5GaWVsZEV4dHJhVmFsdWVzID0gKHRoaXMuZm9ybS5GbGRFeHRyYUNvbmZpZ1ZhbHVlcyA/PyBbXSkuZmluZCh4ID0+IHguRmllbGRDb25maWdDb2RlID09IHRoaXMuZmllbGRFeHRyYUNvbmZpZy5GaWVsZENvbmZpZ0NvZGUgJiYgKHguRmllbGRDb25maWdQYXJlbnRGaWVsZENvZGUgPT0gdGhpcy5maWVsZC5OYW1lIHx8IHguRmllbGRDb25maWdQYXJlbnRGaWVsZENvZGUgPT09IHVuZGVmaW5lZCkpO1xyXG5cclxuICAgIC8vIFN1IHVuIGNhbXBvIGFwcGVuYSBhZ2dpdW50byBsYSB2b2NlIHB1w7Igbm9uIGVzaXN0ZXJlIGFuY29yYSAoY29uZmlndXJlRmllbGRzRXh0cmEgZ2lyYVxyXG4gICAgLy8gaW4gbmdPbkluaXQgZGVsbGEgZGlhbG9nLCBxdWFuZG8gaWwgdGlwbyBub24gw6ggYW5jb3JhIHN0YXRvIHNjZWx0byk6IHNlbnphIHF1ZXN0YVxyXG4gICAgLy8gY3JlYXppb25lIGxlIHJpZ2hlIHNvdHRvIGFuZGF2YW5vIGluIGVycm9yZSBlIGlsIHJlc3RvIGRlbGxhIGRpYWxvZyBub24gdmVuaXZhIGRpc2VnbmF0by5cclxuICAgIGlmICghdGhpcy5GaWVsZEV4dHJhVmFsdWVzKSB7XHJcbiAgICAgIHRoaXMuRmllbGRFeHRyYVZhbHVlcyA9IG5ldyBGaWVsZEV4dHJhVmFsdWVzKCk7XHJcbiAgICAgIHRoaXMuRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ0NvZGUgPSB0aGlzLmZpZWxkRXh0cmFDb25maWcuRmllbGRDb25maWdDb2RlO1xyXG4gICAgICB0aGlzLkZpZWxkRXh0cmFWYWx1ZXMuRmllbGRDb25maWdQYXJlbnRGaWVsZENvZGUgPSB0aGlzLmZpZWxkPy5OYW1lO1xyXG4gICAgICBpZiAodGhpcy5mb3JtLkZsZEV4dHJhQ29uZmlnVmFsdWVzID09IG51bGwpIHsgdGhpcy5mb3JtLkZsZEV4dHJhQ29uZmlnVmFsdWVzID0gbmV3IEFycmF5PEZpZWxkRXh0cmFWYWx1ZXM+KCk7IH1cclxuICAgICAgdGhpcy5mb3JtLkZsZEV4dHJhQ29uZmlnVmFsdWVzLnB1c2godGhpcy5GaWVsZEV4dHJhVmFsdWVzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5maWVsZEV4dHJhQ29uZmlnLkZpZWxkQ29uZmlnVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydCb29sZWFubyddKXtcclxuICAgICAgdGhpcy5GaWVsZEV4dHJhVmFsdWVzLkZpZWxkQ29uZmlnVmFsdWUgPSB0aGlzLkZpZWxkRXh0cmFWYWx1ZXMuRmllbGRDb25maWdWYWx1ZSA9PSBcImZhbHNlXCIgfHwgIXRoaXMuRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlndXJlRm9ybSgpO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uZmlndXJlRm9ybSgpe1xyXG4gICAgICB0aGlzLmZvcm1FeHRyYUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgZWxlbWVudDogW3RoaXMuRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlXVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG5cclxuPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1FeHRyYUdyb3VwXCI+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiZmllbGRFeHRyYUNvbmZpZy5GaWVsZENvbmZpZ1R5cGUgPT0gRmllbGRUeXBlRW51bVsnQ2FtcG8gZGkgdGVzdG8nXSAmJiBsb2FkZWRcIj5cclxuICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIj5cclxuICAgICAgICB7eyBmaWVsZEV4dHJhQ29uZmlnLkZpZWxkQ29uZmlnTGFiZWwgfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInZWxlbWVudCdcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlXCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgIDx0bXctaWNvbiBjbGFzcz1cIm1hdC1pY29uXCJcclxuICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICBbKGJpbmRlZFRleHQpXT1cIkZpZWxkRXh0cmFWYWx1ZXMuRmllbGRDb25maWdWYWx1ZVwiXHJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiBuYW1lPVwibWljcm9waG9uZVwiPjwvdG13LWljb24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPG1hdC1zbGlkZS10b2dnbGUgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJmaWVsZEV4dHJhQ29uZmlnLkZpZWxkQ29uZmlnVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydCb29sZWFubyddICYmIGxvYWRlZFwiXHJcbiAgW2Zvcm1Db250cm9sTmFtZV09XCInZWxlbWVudCdcIlxyXG4gIFsobmdNb2RlbCldPVwiRmllbGRFeHRyYVZhbHVlcy5GaWVsZENvbmZpZ1ZhbHVlXCI+XHJcbiAge3sgZmllbGRFeHRyYUNvbmZpZy5GaWVsZENvbmZpZ0xhYmVsIH19XHJcbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG5cclxuPC9kaXY+Il19