tuain-ng-forms-lib 0.12.32 → 12.0.4

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.
@@ -1,48 +1,20 @@
1
1
  import { Component, Input } from '@angular/core';
2
- const MONITORED_ATTRIBUTES = {
3
- _maxLength: 'maxLength',
4
- _onValidation: 'onValidation',
5
- _fieldValue: 'value',
6
- captureType: 'captureType',
7
- fieldTitle: 'title',
8
- fieldType: 'type',
9
- errorMessage: 'errorMessage',
10
- errorType: 'errorType',
11
- errorCode: 'errorCode',
12
- visibleLabel: 'visibleLabel',
13
- fieldRequired: 'required',
14
- fieldOptions: 'options',
15
- };
16
2
  export class FieldComponent {
17
3
  ngOnInit() {
18
- var _a;
4
+ var _a, _b;
19
5
  if (this.fieldObject) {
20
6
  this.formConfig = (_a = this.fieldObject) === null || _a === void 0 ? void 0 : _a._formConfig;
21
- // Atributos estáticos
22
- this.code = this.fieldObject.fieldCode;
23
- this.fieldInfo = this.fieldObject.fieldInfo;
24
- this.fieldAlignment = this.fieldObject.fieldAlignment;
25
- this.tooltipText = this.fieldObject.tooltipText;
26
- // Cargue inicial
27
- this.maxLength = this.fieldObject._maxLength;
28
- this.onValidation = this.fieldObject._onValidation;
29
- this.value = this.fieldObject._fieldValue;
30
- this.captureType = this.fieldObject.captureType;
31
- this.title = this.fieldObject.fieldTitle;
32
- this.type = this.fieldObject.fieldType;
33
- this.errorMessage = this.fieldObject.errorMessage;
34
- this.errorType = this.fieldObject.errorType;
35
- this.errorCode = this.fieldObject.errorCode;
36
- this.visibleLabel = this.fieldObject.visibleLabel;
37
- this.required = this.fieldObject.fieldRequired;
38
- this.options = this.fieldObject.fieldOptions;
39
- this.fieldObject.widget = this;
40
- // Atributos dinámicos
7
+ // Inicialización
8
+ const mapping = Object.entries(this.formConfig.componentFieldAttrMap);
9
+ for (let index = 0; index < mapping.length; index++) {
10
+ const [fieldAttr, compAttr] = mapping[index];
11
+ this[compAttr.toString()] = (_b = this.fieldObject) === null || _b === void 0 ? void 0 : _b[fieldAttr.toString()];
12
+ }
13
+ // Subscripción a cambios en atributos
41
14
  this.fieldObject.attributeChange.subscribe(event => {
42
- const { name, value } = event;
43
- if (this[MONITORED_ATTRIBUTES[name]]) {
44
- this[MONITORED_ATTRIBUTES[name]] = value;
45
- }
15
+ const { name: fieldAttr, value } = event;
16
+ const compAttr = this.formConfig.componentFieldAttrMap[fieldAttr];
17
+ this.hasOwnProperty(compAttr) && (this[compAttr] = value);
46
18
  });
47
19
  }
48
20
  this.start();
@@ -73,4 +45,4 @@ FieldComponent.propDecorators = {
73
45
  fieldObject: [{ type: Input }],
74
46
  disabled: [{ type: Input }]
75
47
  };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixVQUFVLEVBQUUsV0FBVztJQUN2QixhQUFhLEVBQUUsY0FBYztJQUM3QixXQUFXLEVBQUUsT0FBTztJQUNwQixXQUFXLEVBQUUsYUFBYTtJQUMxQixVQUFVLEVBQUUsT0FBTztJQUNuQixTQUFTLEVBQUUsTUFBTTtJQUNqQixZQUFZLEVBQUUsY0FBYztJQUM1QixTQUFTLEVBQUUsV0FBVztJQUN0QixTQUFTLEVBQUUsV0FBVztJQUN0QixZQUFZLEVBQUUsY0FBYztJQUM1QixhQUFhLEVBQUUsVUFBVTtJQUN6QixZQUFZLEVBQUUsU0FBUztDQUN4QixDQUFDO0FBTUYsTUFBTSxPQUFPLGNBQWM7SUEwQnpCLFFBQVE7O1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxXQUFXLENBQUM7WUFDaEQsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDaEQsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMvQixzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUMxQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxLQUFLLEtBQUssQ0FBQztJQUVYLGFBQWE7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsVUFBVTtRQUNSLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBbEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7OzBCQXdCRSxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybXMvZmllbGQnO1xuXG5jb25zdCBNT05JVE9SRURfQVRUUklCVVRFUyA9IHtcbiAgX21heExlbmd0aDogJ21heExlbmd0aCcsXG4gIF9vblZhbGlkYXRpb246ICdvblZhbGlkYXRpb24nLFxuICBfZmllbGRWYWx1ZTogJ3ZhbHVlJyxcbiAgY2FwdHVyZVR5cGU6ICdjYXB0dXJlVHlwZScsXG4gIGZpZWxkVGl0bGU6ICd0aXRsZScsXG4gIGZpZWxkVHlwZTogJ3R5cGUnLFxuICBlcnJvck1lc3NhZ2U6ICdlcnJvck1lc3NhZ2UnLFxuICBlcnJvclR5cGU6ICdlcnJvclR5cGUnLFxuICBlcnJvckNvZGU6ICdlcnJvckNvZGUnLFxuICB2aXNpYmxlTGFiZWw6ICd2aXNpYmxlTGFiZWwnLFxuICBmaWVsZFJlcXVpcmVkOiAncmVxdWlyZWQnLFxuICBmaWVsZE9wdGlvbnM6ICdvcHRpb25zJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG4gIC8vIEF0cmlidXRvcyBvYnRlbmlkb3MgZXN0w6F0aWNhbWVudGVcbiAgY29kZTogc3RyaW5nO1xuICBmaWVsZEluZm86IHN0cmluZztcbiAgZmllbGRBbGlnbm1lbnQ6IHN0cmluZztcbiAgdG9vbHRpcFRleHQ6IHN0cmluZztcblxuICAvLyBBdHJpYnV0b3MgYWN0dWFsaXphZG9zIHBvciBzdWJzY3JpcGNpw7NuXG4gIHZhbHVlOiBhbnk7XG4gIG1heExlbmd0aDogYW55O1xuICBvblZhbGlkYXRpb246IGFueTtcbiAgY2FwdHVyZVR5cGU6IGFueTtcbiAgdGl0bGU6IGFueTtcbiAgdHlwZTogYW55O1xuICB2aXNpYmxlTGFiZWw6IGFueTtcbiAgcmVxdWlyZWQ6IGFueTtcbiAgb3B0aW9uczogYW55O1xuXG4gIGVycm9yVHlwZTogYW55O1xuICBlcnJvckNvZGU6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBhbnk7XG5cbiAgQElucHV0KCkgZmllbGRPYmplY3Q6IEZpZWxkRGVzY3JpcHRvcjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGRPYmplY3QpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZmllbGRPYmplY3Q/Ll9mb3JtQ29uZmlnO1xuICAgICAgLy8gQXRyaWJ1dG9zIGVzdMOhdGljb3NcbiAgICAgIHRoaXMuY29kZSA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRDb2RlO1xuICAgICAgdGhpcy5maWVsZEluZm8gPSB0aGlzLmZpZWxkT2JqZWN0LmZpZWxkSW5mbztcbiAgICAgIHRoaXMuZmllbGRBbGlnbm1lbnQgPSB0aGlzLmZpZWxkT2JqZWN0LmZpZWxkQWxpZ25tZW50O1xuICAgICAgdGhpcy50b29sdGlwVGV4dCA9IHRoaXMuZmllbGRPYmplY3QudG9vbHRpcFRleHQ7XG4gICAgICAvLyBDYXJndWUgaW5pY2lhbFxuICAgICAgdGhpcy5tYXhMZW5ndGggPSB0aGlzLmZpZWxkT2JqZWN0Ll9tYXhMZW5ndGg7XG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbiA9IHRoaXMuZmllbGRPYmplY3QuX29uVmFsaWRhdGlvbjtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkT2JqZWN0Ll9maWVsZFZhbHVlO1xuICAgICAgdGhpcy5jYXB0dXJlVHlwZSA9IHRoaXMuZmllbGRPYmplY3QuY2FwdHVyZVR5cGU7XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5maWVsZE9iamVjdC5maWVsZFRpdGxlO1xuICAgICAgdGhpcy50eXBlID0gdGhpcy5maWVsZE9iamVjdC5maWVsZFR5cGU7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZmllbGRPYmplY3QuZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvclR5cGUgPSB0aGlzLmZpZWxkT2JqZWN0LmVycm9yVHlwZTtcbiAgICAgIHRoaXMuZXJyb3JDb2RlID0gdGhpcy5maWVsZE9iamVjdC5lcnJvckNvZGU7XG4gICAgICB0aGlzLnZpc2libGVMYWJlbCA9IHRoaXMuZmllbGRPYmplY3QudmlzaWJsZUxhYmVsO1xuICAgICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRSZXF1aXJlZDtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRPcHRpb25zO1xuICAgICAgdGhpcy5maWVsZE9iamVjdC53aWRnZXQgPSB0aGlzO1xuICAgICAgLy8gQXRyaWJ1dG9zIGRpbsOhbWljb3NcbiAgICAgIHRoaXMuZmllbGRPYmplY3QuYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IGV2ZW50O1xuICAgICAgICBpZiAodGhpc1tNT05JVE9SRURfQVRUUklCVVRFU1tuYW1lXV0pIHtcbiAgICAgICAgICB0aGlzW01PTklUT1JFRF9BVFRSSUJVVEVTW25hbWVdXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBmb2N1cygpIHsgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkT2JqZWN0Lm5vdGlmeUVkaXRpb25QYXJ0aWFsKCksIDUwKTtcbiAgfVxuXG4gIG9uQ2hhbmdlQ29udGVudCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGRPYmplY3Qubm90aWZ5RWRpdGlvbkZpbmlzaCgpLCA1MCk7XG4gIH1cblxuICBvblNob3dJbmZvKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZE9iamVjdC5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdCgpLCA1MCk7XG4gIH1cblxuICBudW1iZXJJbnB1dFZhbGlkYXRpb24oZXZlbnQpIHtcbiAgICBjb25zdCBrID0gZXZlbnQuY2hhckNvZGU7XG4gICAgcmV0dXJuIChrID4gNDcgJiYgayA8IDU4KTtcbiAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPekQsTUFBTSxPQUFPLGNBQWM7SUF5QnpCLFFBQVE7O1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxXQUFXLENBQUM7WUFDaEQsaUJBQWlCO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuRCxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDdEU7WUFDRCxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLEtBQUssQ0FBQztJQUVYLEtBQUssS0FBSyxDQUFDO0lBRVgsYUFBYTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGVBQWU7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxVQUFVO1FBQ1IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSztRQUN6QixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFuRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7MEJBdUJFLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3Jtcy9maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG4gIC8vIEF0cmlidXRvcyBvYnRlbmlkb3MgZXN0w6F0aWNhbWVudGVcbiAgY29kZTogc3RyaW5nO1xuICBmaWVsZEluZm86IHN0cmluZztcbiAgZmllbGRBbGlnbm1lbnQ6IHN0cmluZztcbiAgdG9vbHRpcFRleHQ6IHN0cmluZztcblxuICAvLyBBdHJpYnV0b3MgYWN0dWFsaXphZG9zIHBvciBzdWJzY3JpcGNpw7NuXG4gIG1heExlbmd0aDogYW55O1xuICBvblZhbGlkYXRpb246IGFueTtcbiAgY2FwdHVyZVR5cGU6IGFueTtcbiAgdGl0bGU6IGFueTtcbiAgdHlwZTogYW55O1xuICB2aXNpYmxlTGFiZWw6IGFueTtcbiAgcmVxdWlyZWQ6IGFueTtcbiAgb3B0aW9uczogYW55O1xuXG4gIGVycm9yVHlwZTogYW55O1xuICBlcnJvckNvZGU6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBhbnk7XG5cbiAgQElucHV0KCkgZmllbGRPYmplY3Q6IEZpZWxkRGVzY3JpcHRvcjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGRPYmplY3QpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZmllbGRPYmplY3Q/Ll9mb3JtQ29uZmlnO1xuICAgICAgLy8gSW5pY2lhbGl6YWNpw7NuXG4gICAgICBjb25zdCBtYXBwaW5nID0gT2JqZWN0LmVudHJpZXModGhpcy5mb3JtQ29uZmlnLmNvbXBvbmVudEZpZWxkQXR0ck1hcCk7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgW2ZpZWxkQXR0ciwgY29tcEF0dHJdID0gbWFwcGluZ1tpbmRleF07XG4gICAgICAgIHRoaXNbY29tcEF0dHIudG9TdHJpbmcoKV0gPSB0aGlzLmZpZWxkT2JqZWN0Py5bZmllbGRBdHRyLnRvU3RyaW5nKCldO1xuICAgICAgfVxuICAgICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgICB0aGlzLmZpZWxkT2JqZWN0LmF0dHJpYnV0ZUNoYW5nZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCB7IG5hbWU6IGZpZWxkQXR0ciwgdmFsdWUgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBjb21wQXR0ciA9IHRoaXMuZm9ybUNvbmZpZy5jb21wb25lbnRGaWVsZEF0dHJNYXBbZmllbGRBdHRyXTtcbiAgICAgICAgdGhpcy5oYXNPd25Qcm9wZXJ0eShjb21wQXR0cikgJiYgKHRoaXNbY29tcEF0dHJdID0gdmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgZm9jdXMoKSB7IH1cblxuICBvbklucHV0Q2hhbmdlKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZE9iamVjdC5ub3RpZnlFZGl0aW9uUGFydGlhbCgpLCA1MCk7XG4gIH1cblxuICBvbkNoYW5nZUNvbnRlbnQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkT2JqZWN0Lm5vdGlmeUVkaXRpb25GaW5pc2goKSwgNTApO1xuICB9XG5cbiAgb25TaG93SW5mbygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGRPYmplY3Qubm90aWZ5RWRpdGlvbkRldGFpbFJlcXVlc3QoKSwgNTApO1xuICB9XG5cbiAgbnVtYmVySW5wdXRWYWxpZGF0aW9uKGV2ZW50KSB7XG4gICAgY29uc3QgayA9IGV2ZW50LmNoYXJDb2RlO1xuICAgIHJldHVybiAoayA+IDQ3ICYmIGsgPCA1OCk7XG4gIH1cbn1cbiJdfQ==