nuxeo-development-framework 3.6.3 → 3.6.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.
- package/bundles/nuxeo-development-framework.umd.js +26 -6
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/Core/adapters/adapter.service.js +2 -2
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +5 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +13 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +5 -2
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +26 -6
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +2 -1
- package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +1 -0
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ export class AdapterService {
|
|
|
8
8
|
filterNullValues(formValue) {
|
|
9
9
|
const filtered = {};
|
|
10
10
|
for (let key in formValue) {
|
|
11
|
-
if (formValue[key]) {
|
|
11
|
+
if (formValue[key] !== null) {
|
|
12
12
|
filtered[key] =
|
|
13
13
|
!Array.isArray(formValue[key]) && typeof formValue[key] === 'object'
|
|
14
14
|
? Object.assign({}, this.filterNullValues(formValue[key])) : formValue[key];
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
47
47
|
providedIn: 'root',
|
|
48
48
|
}]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.UtilityService }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW9CLFlBQTRCO1FBQTVCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtJQUFHLENBQUM7SUFFcEQsZ0JBQWdCLENBQUMsU0FBUztRQUN4QixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEIsS0FBSyxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUU7WUFDekIsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMzQixRQUFRLENBQUMsR0FBRyxDQUFDO29CQUNYLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRO3dCQUNsRSxDQUFDLG1CQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDNUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0QjtTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFTLEVBQUUsU0FBYztRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxNQUFNLFVBQVUscUJBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0MsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBUyxFQUFFLFNBQWM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLElBQUksVUFBVSxxQkFBUSxJQUFJLENBQUUsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xDLElBQUksR0FBRyxFQUFFO2dCQUNQLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLHFCQUFRLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBRSxDQUFDO1FBRXRELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OzJHQXZDVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uL3V0aWxpdGllcy91dGlsaXR5LnNlcnZpY2UnO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRhcHRlclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXRpbGlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSkge31cclxuXHJcbiAgZmlsdGVyTnVsbFZhbHVlcyhmb3JtVmFsdWUpIHtcclxuICAgIGNvbnN0IGZpbHRlcmVkID0ge307XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gZm9ybVZhbHVlKSB7XHJcbiAgICAgIGlmIChmb3JtVmFsdWVba2V5XSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGZpbHRlcmVkW2tleV0gPVxyXG4gICAgICAgICAgIUFycmF5LmlzQXJyYXkoZm9ybVZhbHVlW2tleV0pICYmIHR5cGVvZiBmb3JtVmFsdWVba2V5XSA9PT0gJ29iamVjdCdcclxuICAgICAgICAgICAgPyB7IC4uLnRoaXMuZmlsdGVyTnVsbFZhbHVlcyhmb3JtVmFsdWVba2V5XSkgfVxyXG4gICAgICAgICAgICA6IGZvcm1WYWx1ZVtrZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmlsdGVyZWQ7XHJcbiAgfVxyXG5cclxuICBhZGFwdEluKGl0ZW06IGFueSwgZmllbGRzb2JqOiBhbnkpIHtcclxuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMudXRpbGlTZXJ2aWNlLm9iamVjdEZsaXAoZmllbGRzb2JqKTtcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7IC4uLml0ZW0ucHJvcGVydGllcyB9O1xyXG4gICAgT2JqZWN0LmtleXMoZmllbGRzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgcHJvcGVydGllc1tmaWVsZHNba2V5XV0gPSBpdGVtLnByb3BlcnRpZXNba2V5XTtcclxuICAgICAgZGVsZXRlIHByb3BlcnRpZXNba2V5XTtcclxuICAgIH0pO1xyXG4gICAgaXRlbS5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxuXHJcbiAgYWRhcHRPdXQoaXRlbTogYW55LCBmaWVsZHNvYmo6IGFueSkge1xyXG4gICAgY29uc3QgZmllbGRzID0gZmllbGRzb2JqO1xyXG4gICAgbGV0IHByb3BlcnRpZXMgPSB7IC4uLml0ZW0gfTtcclxuICAgIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGlmIChrZXkpIHtcclxuICAgICAgICBwcm9wZXJ0aWVzW2ZpZWxkc1trZXldXSA9IGl0ZW1ba2V5XTtcclxuICAgICAgICBkZWxldGUgcHJvcGVydGllc1trZXldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHByb3BlcnRpZXMgPSB7IC4uLnRoaXMuZmlsdGVyTnVsbFZhbHVlcyhwcm9wZXJ0aWVzKSB9O1xyXG5cclxuICAgIHJldHVybiBwcm9wZXJ0aWVzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js
CHANGED
|
@@ -39,7 +39,9 @@ export class VersionsComponent {
|
|
|
39
39
|
this.getVersions();
|
|
40
40
|
}
|
|
41
41
|
getVersion(version) {
|
|
42
|
-
|
|
42
|
+
let majVer = version.properties.major_version ? version.properties.major_version : (version.properties['uid:major_version'] ? version.properties['uid:major_version'] : 0);
|
|
43
|
+
let minVer = version.properties.minor_version ? version.properties.minor_version : (version.properties['uid:minor_version'] ? version.properties['uid:minor_version'] : 0);
|
|
44
|
+
return `${majVer}.${minVer}`;
|
|
43
45
|
}
|
|
44
46
|
getVersions() {
|
|
45
47
|
this.documentsApi.getVersions(this.file.uid).subscribe((data) => {
|
|
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
72
74
|
}], handleActions: [{
|
|
73
75
|
type: Output
|
|
74
76
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL3ZlcnNpb25zL3ZlcnNpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy92ZXJzaW9ucy92ZXJzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQW9DLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFLekc7Ozs7Ozs7Ozs7OztHQVlHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQWE1QixZQUNVLGtCQUFzQyxFQUN0QyxZQUE4QjtRQUQ5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUp4QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsYUFBUSxHQUFHLEVBQUUsQ0FBQztJQUtWLENBQUM7SUFDTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU87UUFDaEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3SyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBRSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdLLE9BQU8sR0FBRyxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2Qyx5QkFBeUI7UUFFM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hDLENBQUM7OzhHQWhEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3TUN2QjlCLHc5RkErRWM7MkZEeERELGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3pDO3dJQUlDLGVBQWU7c0JBRGQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZG9jdW1lbnRzL3NlcnZpY2VzL2RvY3VtZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2VyRmlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWZpbGVzLnNlcnZpY2UnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBIGNvbXBvbmVudCB0aGF0IHZpZXdzIGRvY3VtZW50IHZlcnNpb25zXHJcbiAqIEB0aXRsZVxyXG4gKiBWaWV3ZXIgVmVyc2lvbnNcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy12ZXJzaW9uc1xyXG4gKiAgIFtmaWxlXT1cImZpbGVcIlxyXG4gKiAgIFthY3Rpb25zXT1cIm1lbnVfYWN0aW9uc1wiXHJcbiAqICAgKGhhbmRsZUFjdGlvbnMpPVwiaGFuZGxlQWN0aW9uT25WZXJzaW9uKCRldmVudClcIlxyXG4gKiA+PC9jdHMtdmVyc2lvbnM+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy12ZXJzaW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnNpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92ZXJzaW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZXJzaW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAvKiogQ3VycmVudCBzZWxlY3RlZCB2ZXJzaW9uIChpbiB2aWV3ZXIpICovXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZFZlcnNpb247XHJcbiAgLyoqIERvY3VtZW50IG9iamVjdCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZmlsZTtcclxuLyoqIEFjdGlvbnMgb24gVmVyc2lvbiAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWN0aW9ucz86IHN0cmluZ1tdO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGhhbmRsZUFjdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgdmVyc2lvbnMgPSBbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdmlld2VyRmlsZXNTZXJ2aWNlOiBWaWV3ZXJGaWxlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRvY3VtZW50c0FwaTogRG9jdW1lbnRzU2VydmljZVxyXG5cclxuICApIHsgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpbGUgJiYgY2hhbmdlcy5maWxlLmN1cnJlbnRWYWx1ZSAmJlxyXG4gICAgICBjaGFuZ2VzLmZpbGUucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmdldFZlcnNpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0VmVyc2lvbnMoKTtcclxuICB9XHJcblxyXG4gIGdldFZlcnNpb24odmVyc2lvbikge1xyXG4gICAgbGV0IG1halZlciA9IHZlcnNpb24ucHJvcGVydGllcy5tYWpvcl92ZXJzaW9uID8gdmVyc2lvbi5wcm9wZXJ0aWVzLm1ham9yX3ZlcnNpb24gOiAoIHZlcnNpb24ucHJvcGVydGllc1sndWlkOm1ham9yX3ZlcnNpb24nXSA/ICB2ZXJzaW9uLnByb3BlcnRpZXNbJ3VpZDptYWpvcl92ZXJzaW9uJ10gOiAwKTtcclxuICAgIGxldCBtaW5WZXIgPSB2ZXJzaW9uLnByb3BlcnRpZXMubWlub3JfdmVyc2lvbiA/IHZlcnNpb24ucHJvcGVydGllcy5taW5vcl92ZXJzaW9uIDogKCB2ZXJzaW9uLnByb3BlcnRpZXNbJ3VpZDptaW5vcl92ZXJzaW9uJ10gPyAgdmVyc2lvbi5wcm9wZXJ0aWVzWyd1aWQ6bWlub3JfdmVyc2lvbiddIDogMCk7XHJcbiAgICByZXR1cm4gYCR7bWFqVmVyfS4ke21pblZlcn1gO1xyXG4gIH1cclxuICBnZXRWZXJzaW9ucygpIHtcclxuICAgIHRoaXMuZG9jdW1lbnRzQXBpLmdldFZlcnNpb25zKHRoaXMuZmlsZS51aWQpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLnZlcnNpb25zID0gZGF0YS5lbnRyaWVzLnJldmVyc2UoKTtcclxuICAgICAgLy8gdGhpcy52ZXJzaW9ucy5zaGlmdCgpO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd1ZlcnNpb24odmVyc2lvbikge1xyXG4gICAgdGhpcy52aWV3ZXJGaWxlc1NlcnZpY2UudXBkYXRlVmlld2VyLm5leHQodmVyc2lvbik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMuaGFuZGxlQWN0aW9ucy5lbWl0KGV2ZW50KVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG48ZGl2IGNsYXNzPVwidmlld2VyLWF0dGFjaG1lbnRzXCI+XHJcbiAgPGRpdiBjbGFzcz1cInN1YmhlYWRlclwiPlxyXG4gICAgPGRpdj4ge3sgXCJ2aWV3ZXIuY3VycmVudFwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50cy1saXN0XCI+XHJcbiAgICA8bWF0LWxpc3Q+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbGlzdC1pdGVtc1wiPlxyXG4gICAgICAgIDxjdHMtaXRlbS1saXN0IFtpdGVtXT1cImZpbGVcIiBbdGl0bGVdPVwiZmlsZS50aXRsZVwiIFtpY29ubmFtZV09XCInZGVzY3JpcHRpb24nXCIgW21vcmVjbGFzc2VzXT1cIid0ZXh0LWRhbmdlcidcIlxyXG4gICAgICAgICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiIChpdGVtQ2xpY2tlZCk9XCJzaG93VmVyc2lvbihmaWxlKVwiIChhY3Rpb25jbGlja2VkKT1cImhhbmRsZUFjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAge3tnZXRWZXJzaW9uKGZpbGUpfX1cclxuICAgICAgICAgICAgLVxyXG4gICAgICAgICAgICB7eyBmaWxlLmxhc3RNb2RpZmllZCB8IGxvY2FsaXplZERhdGUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvY3RzLWl0ZW0tbGlzdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ2aWV3ZXItYXR0YWNobWVudHMgb3JpZ2luYWwtc2VjdGlvblwiICpuZ0lmPVwidmVyc2lvbnMubGVuZ3RoID4gMFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJcIj5cclxuICAgIDxkaXY+e3sgXCJ2aWV3ZXIub3JpZ2luXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHMtbGlzdFwiPlxyXG4gICAgPG1hdC1saXN0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWxpc3QtaXRlbXNcIj5cclxuICAgICAgICA8Y3RzLWl0ZW0tbGlzdCBbaXRlbV09XCJ2ZXJzaW9uc1t2ZXJzaW9ucy5sZW5ndGggLTFdXCIgW3RpdGxlXT1cInZlcnNpb25zW3ZlcnNpb25zLmxlbmd0aCAtMV0udGl0bGVcIlxyXG4gICAgICAgICAgW2ljb25uYW1lXT1cIidkZXNjcmlwdGlvbidcIiBbbW9yZWNsYXNzZXNdPVwiJ3RleHQtZGFuZ2VyJ1wiIFthY3Rpb25zXT1cImFjdGlvbnNcIlxyXG4gICAgICAgICAgKGl0ZW1DbGlja2VkKT1cInNob3dWZXJzaW9uKHZlcnNpb25zW3ZlcnNpb25zLmxlbmd0aCAtMV0pXCIgKGFjdGlvbmNsaWNrZWQpPVwiaGFuZGxlQWN0aW9uKCRldmVudClcIj5cclxuXHJcbiAgICAgICAgPC9jdHMtaXRlbS1saXN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWxpc3Q+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInZpZXdlci1hdHRhY2htZW50c1wiICpwZXJtaXNzaW9uPVwie25hbWU6ICd2aWV3VmVyc2lvbnMnLCBlbnRpdHk6IGZpbGV9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInN1YmhlYWRlclwiPlxyXG4gICAgPGRpdj4ge3sgXCJ2aWV3ZXIuaGlzdG9yeVwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50cy1saXN0XCIgKm5nSWY9XCJ2ZXJzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDxtYXQtbGlzdD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWxpc3QtaXRlbXNcIiAqbmdGb3I9XCJsZXQgdmVyc2lvbiBvZiB2ZXJzaW9ucyA7bGV0IGNudCA9IGNvdW50OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8Y3RzLWl0ZW0tbGlzdCBbaXRlbV09XCJ2ZXJzaW9uXCIgW3RpdGxlXT1cInZlcnNpb24udGl0bGUgKyAnLScgKyBnZXRWZXJzaW9uKHZlcnNpb24pXCIgW2ljb25uYW1lXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICBbbW9yZWNsYXNzZXNdPVwiJ3RleHQtZGFuZ2VyJ1wiIChpdGVtQ2xpY2tlZCk9XCJzaG93VmVyc2lvbih2ZXJzaW9uKVwiIFthY3Rpb25zXT1cImFjdGlvbnNcIiAoYWN0aW9uY2xpY2tlZCk9XCJoYW5kbGVBY3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICB7e2dldFZlcnNpb24odmVyc2lvbil9fVxyXG4gICAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IGxvY2FsaXplZERhdGUgfX1cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5wcm9wZXJ0aWVzLmxhc3RDb250cmlidXRvci5pZCA9PT0gJ3N5c3RlbScgP1xyXG4gICAgICAgICAgICAgICAgKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6XHJcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnByb3BlcnRpZXMubGFzdENvbnRyaWJ1dG9yLnByb3BlcnRpZXMuZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAgIFwiIFwiICtcclxuICAgICAgICAgICAgICAgIHZlcnNpb24ucHJvcGVydGllcy5sYXN0Q29udHJpYnV0b3IucHJvcGVydGllcy5sYXN0TmFtZVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jdHMtaXRlbS1saXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1saXN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInZlcnNpb25zLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgPGN0cy1uby1kYXRhPjwvY3RzLW5vLWRhdGE+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNub0VudHJ5PlxyXG5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -42,6 +42,7 @@ export class DynamicFormDepartmentComponent {
|
|
|
42
42
|
this.displayIsAllowRecExternal = true;
|
|
43
43
|
/** to allow custom paramsto be passed to get departments request from outside the component */
|
|
44
44
|
this.customParams = {};
|
|
45
|
+
this.disabled = false;
|
|
45
46
|
/** emitted when item is selected */
|
|
46
47
|
this.onSelecting = new EventEmitter();
|
|
47
48
|
/** emitted when action is clicked */
|
|
@@ -163,7 +164,7 @@ export class DynamicFormDepartmentComponent {
|
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
DynamicFormDepartmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormDepartmentComponent, deps: [{ token: i1.TranslationService }, { token: i2.DepartmentApiService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{'input-filled' : selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: i4.TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "displayDepTypee", "displayIsAllowRecExternal"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
167
|
+
DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams", disabled: "disabled" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n [disabled]=\"disabled\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{'input-filled' : selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: i4.TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "displayDepTypee", "disabled", "displayIsAllowRecExternal"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
167
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormDepartmentComponent, decorators: [{
|
|
168
169
|
type: Component,
|
|
169
170
|
args: [{
|
|
@@ -206,9 +207,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
206
207
|
type: Input
|
|
207
208
|
}], customParams: [{
|
|
208
209
|
type: Input
|
|
210
|
+
}], disabled: [{
|
|
211
|
+
type: Input
|
|
209
212
|
}], onSelecting: [{
|
|
210
213
|
type: Output
|
|
211
214
|
}], actionClicked: [{
|
|
212
215
|
type: Output
|
|
213
216
|
}] } });
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdkM7Ozs7Ozs7Ozs7OztHQVlHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQTREekMsWUFDVSxXQUErQixFQUMvQixhQUFtQyxFQUNoQixPQUFrQjtRQUZyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUE3RC9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixvQ0FBb0M7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixnQ0FBZ0M7UUFFaEMsMEJBQXFC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Q0F1Q0E7MkZER2EsOEJBQThCO2tCQU4xQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFdBQVcsRUFBRSwwQ0FBMEM7b0JBQ3ZELFNBQVMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDO29CQUN2RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQWdFSSxJQUFJOzswQkFBSSxRQUFROzRDQTNEVixRQUFRO3NCQUFoQixLQUFLO2dCQUdOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFHRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBTZWxmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmVldmlld0l0ZW0gfSBmcm9tICduZ3gtdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kZXBhcnRtZW50LWFwaS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIGRlcGFydG1lbnQgdHJlZSBkcm9wZG93biBpbnB1dCBhbHJlYWR5IHdpdGggZGVwYXJ0bWVudHMgYmFja2VuZCxcclxuICogIHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogRGVwYXJ0bWVudCB0cmVlIGRyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqICAgPGFwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudFxyXG4gKiAgICAgICBsYWJlbD1cIkZpZWxkIExhYmVsXCJcclxuICogICAgICAgcGxhY2Vob2xkZXI9XCJQbGFjZWhvbGRlciB0ZXh0XCJcclxuICogICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICAgPlxyXG4gKiAgIDwvYXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50PlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1EZXBhcnRtZW50Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRhdGEgPSBbXTtcclxuICAvKiogaXMgdHJlZSBWaWV3IG9yIGRyb3Bkb3duIHZpZXcgKi9cclxuICBASW5wdXQoKSB0cmVldmlldyA9IGZhbHNlO1xyXG4gIC8qKiB1c2UgdHJlZSB2aWV3IGluc2lkZSBmb3JtICovXHJcbiAgQElucHV0KClcclxuICB0cmVlVmlld0FzRm9ybUNvbnRyb2wgPSBmYWxzZTtcclxuICAvKiogUGxhY2Vob2xkZXIgdGV4dCAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG4gIC8qKiBDYW4gc2VsZWN0IG11bHRpcGxlICovXHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICAvKiogaXMgdHJlZSBzZWFyY2hhYmxlICovXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IHRydWU7XHJcbiAgLyoqIElucHV0IEZpZWxkIGxhYmVsICovXHJcbiAgQElucHV0KCkgbGFiZWw7XHJcbiAgQElucHV0KCkgZGVmYXVsdFNlbGVjdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlEZXBUeXBlZSA9IHRydWU7XHJcbiAgQElucHV0KCkgZGlzcGxheUlzQWxsb3dSZWNFeHRlcm5hbCA9IHRydWU7XHJcblxyXG4gIC8qKiBjdXN0b20gcGFnZSBwcm92aWRlciB0byBnZXQgZGVwYXJ0bWVudCBuZXN0ZWQgdHJlZSBmcm9tIGl0IGNhbiBiZSBwYXNzZWQgZnJvbSBvdXRzaWRlIG9yIG5vdCBwYXNzZWQgYW5kIHVzZSB0aGUgZGVmdWx0ZSB2YWx1ZSAqL1xyXG4gIEBJbnB1dCgpIHBwX2RlcGFydG1lbnROZXN0ZWRUcmVlO1xyXG4gIC8qKiBjdXN0b20gcGFnZSBwcm92aWRlciB0byBnZXQgZGVwYXJ0bWVudCB0cmVlIGZyb20gaXQgY2FuIGJlIHBhc3NlZCBmcm9tIG91dHNpZGUgb3Igbm90IHBhc3NlZCBhbmQgdXNlIHRoZSBkZWZ1bHRlIHZhbHVlICovXHJcbiAgQElucHV0KCkgcHBfZGVwYXJ0bWVudFRyZWU7XHJcbiAgLyoqIGN1c3RvbSBwcmVmaXggdG8gYmUgdXNlZCBmb3IgYWRhcHRpbmcgZGF0YSBjb21pbmcgZnJvbSBhcGkgKi9cclxuICBASW5wdXQoKSBjdXN0b21QcmVmaXg7XHJcbiAgLyoqIHRvIGFsbG93IGN1c3RvbSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkIG91dHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb247XHJcbiAgLyoqIHRvIGFsbG93IGN1c3RvbSBwYXJlbnQgcHJvcGVydHkgbmFtZSAgdG8gYmUgcGFhc3NlZCBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIGN1c3RvbVBhcmVudFByb3BlcnR5O1xyXG4gIC8qKiB0byBhbGxvdyBjdXN0b20gcGFyYW1zdG8gYmUgcGFzc2VkIHRvIGdldCBkZXBhcnRtZW50cyByZXF1ZXN0IGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgY3VzdG9tUGFyYW1zID0ge307XHJcblxyXG4gIC8qKiBlbWl0dGVkIHdoZW4gaXRlbSBpcyBzZWxlY3RlZCAqL1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZW1pdHRlZCB3aGVuIGFjdGlvbiBpcyBjbGlja2VkICovXHJcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlbGVjdGlvbjtcclxuICBhcmFiaWMgPSBmYWxzZTtcclxuICBsYW5ndWFnZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIC8vIGZ1bmN0aW9uIHJlbGF0ZWQgdG8gdmFsdWUgYWNjZXNzb3JcclxuICBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICB2YWxpZGF0ZUZuOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgcHVibGljIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xyXG4gICAgLypFbXB0eSovXHJcbiAgfTtcclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZGVwYXJ0bWVudEFwaTogRGVwYXJ0bWVudEFwaVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuICApIHtcclxuICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKFxyXG4gICAgICBhc3luYyAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcmFiaWMgPSByZXM7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5nZXRMaXNPZk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zZWxlY3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uID8gdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogJyc7XHJcbiAgfVxyXG5cclxuICBhc3luYyByZWN1cnNpdmVGaWxsKGVudHJpZXMsIGxldmVsID0gMCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIGVudHJpZXMubWFwKGFzeW5jIChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgdHJlZVZpZXdPYmogPSB0aGlzLnRyZWV2aWV3XHJcbiAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5hcmFiaWNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbdGhpcy5jdXN0b21QcmVmaXggPyAodGhpcy5jdXN0b21QcmVmaXggKyAnOmFyYWJpY05hbWUnKSA6ICdkZXB0OmFyYWJpY05hbWUnXVxyXG4gICAgICAgICAgICAgICAgOiAnLS0nXHJcbiAgICAgICAgICAgICAgOiBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW3RoaXMuY3VzdG9tUHJlZml4ID8gKHRoaXMuY3VzdG9tUHJlZml4ICsgJzplbmdsaXNoTmFtZScpIDogJ2RlcHQ6ZW5nbGlzaE5hbWUnXVxyXG4gICAgICAgICAgICAgICAgOiAnLS0nLFxyXG4gICAgICAgICAgICB2YWx1ZTogeyAuLi5pdGVtLCBsZXZlbCB9LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW3RoaXMuY3VzdG9tUHJlZml4ID8gKHRoaXMuY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6ICB0aGlzLm11bHRpcGxlID8gaXRlbS51aWQgOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAgIC4uLnRyZWVWaWV3T2JqLFxyXG4gICAgICAgICAgY29sbGFwc2VkOiBsZXZlbCA+PSAyICYmIHRoaXMudHJlZXZpZXcgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgICAuLi4odGhpcy5tdWx0aXBsZSAmJiB7IGNoZWNrZWQ6IGZhbHNlIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMuY2hpbGRyZW4uZW50cmllcy5sZW5ndGhcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgIXRoaXMudHJlZXZpZXcgJiZcclxuICAgICAgICAgICAgKGxldmVsID09IDIgfHwgKGxldmVsID4gMiAmJiAobGV2ZWwgKyAxKSAlIDMgPT0gMCkpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSBhd2FpdCB0aGlzLmRlcGFydG1lbnRBcGlcclxuICAgICAgICAgICAgICAuZ2V0RGVwYXJ0bWVudE5lc3RlZFRyZWUoaXRlbS50aXRsZSwgdGhpcy5wcF9kZXBhcnRtZW50TmVzdGVkVHJlZSAsIHRoaXMuY3VzdG9tUGFyZW50UHJvcGVydHkpXHJcbiAgICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gYXdhaXQgdGhpcy5yZWN1cnNpdmVGaWxsKFxyXG4gICAgICAgICAgICAgIGV4dGVuZGVkLmVudHJpZXMsXHJcbiAgICAgICAgICAgICAgbGV2ZWwgKyAxXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0cmVlSXRlbS5jaGlsZHJlbiA9IGF3YWl0IHRoaXMucmVjdXJzaXZlRmlsbChcclxuICAgICAgICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMsXHJcbiAgICAgICAgICAgICAgbGV2ZWwgKyAxXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cmVlSXRlbTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRMaXNPZk9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmRlcGFydG1lbnRBcGkuZ2V0RGVwYXJ0bWVudFRyZWUodGhpcy5wcF9kZXBhcnRtZW50VHJlZSx0aGlzLmN1c3RvbVBhcmFtcykuc3Vic2NyaWJlKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGF3YWl0IHRoaXMucmVjdXJzaXZlRmlsbChyZXMuZW50cmllcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkaXRlbXMoc2VsZWN0ZWRJdGVtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uoc2VsZWN0ZWRJdGVtcyk7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW5nLmVtaXQoc2VsZWN0ZWRJdGVtcyk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodmFsdWUpIHsgLy8gcmVtb3ZlZCB0byBhbGxvdyB0byByZXNldCB2YWx1ZSBvZiB0cmVlXHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIC8vIG9uUGx1c0NsaWNrZWQoZSkge1xyXG4gIC8vICAgdGhpcy5wbHVzQ2xpY2tlZC5uZXh0KGUpO1xyXG4gIC8vIH1cclxuXHJcbiAgb25BY3Rpb24oZSkge1xyXG4gICAgdGhpcy5hY3Rpb25DbGlja2VkLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gaHR0cDovLzM1LjE1My42Ni41Mjo4MDgwL251eGVvL2FwaS92MS9zZWFyY2gvcHAvUFBfRGVwYXJ0bWVudC9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9EZXBhcnRtZW50JmN1cnJlbnRQYWdlSW5kZXg9MCZvZmZzZXQ9MCZwYWdlU2l6ZT00MCZxdWlja0ZpbHRlcnM9UGFyZW50JTIwRGVwdFxyXG4vLyBodHRwOi8vMzUuMTUzLjY2LjUyOjgwODAvbnV4ZW8vYXBpL3YxL3NlYXJjaC9wcC9QUF9PU19EZXBhcnRtZW50cy9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9PU19EZXBhcnRtZW50cyZjdXJyZW50UGFnZUluZGV4PTAmb2Zmc2V0PTAmcGFnZVNpemU9NDAmcXVpY2tGaWx0ZXJzPVBhcmVudCUyMERlcHQiLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGFwcC1keW5hbWljLWZvcm0tdHJlZXZpZXctc2VsZWN0XHJcbiAgW3RyZWV2aWV3XT1cInRyZWV2aWV3XCJcclxuICBbdHJlZVZpZXdBc0Zvcm1Db250cm9sXT1cInRyZWVWaWV3QXNGb3JtQ29udHJvbFwiXHJcbiAgW2RlZmF1bHRTZWxlY3RdPVwiZGVmYXVsdFNlbGVjdFwiXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICBbaXRlbXNdPVwiZGF0YVwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICBbZGlzcGxheURlcFR5cGVlXT1cImRpc3BsYXlEZXBUeXBlZVwiXHJcbiAgW2Rpc3BsYXlJc0FsbG93UmVjRXh0ZXJuYWxdPVwiZGlzcGxheUlzQWxsb3dSZWNFeHRlcm5hbFwiXHJcbiAgW3BwX2RlcGFydG1lbnROZXN0ZWRUcmVlXT1cInBwX2RlcGFydG1lbnROZXN0ZWRUcmVlXCJcclxuICBbdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbl09XCJ1c2VDdXN0b21BZGRFZGl0QWN0aW9uXCJcclxuICBbY3VzdG9tUHJlZml4XT1cImN1c3RvbVByZWZpeFwiXHJcbiAgW2N1c3RvbVBhcmVudFByb3BlcnR5XT1cImN1c3RvbVBhcmVudFByb3BlcnR5XCJcclxuICAodmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRpdGVtcygkZXZlbnQpXCJcclxuICBbKHZhbHVlKV09XCJzZWxlY3Rpb25cIlxyXG4gIChhY3Rpb25DbGlja2VkKT1cIm9uQWN0aW9uKCRldmVudClcIlxyXG4gIGNsYXNzPVwiZHJvcGRvd24td3JhcHBlclwiXHJcbiAgW25nQ2xhc3NdPVwieydpbnB1dC1maWxsZWQnIDogc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwIH1cIlxyXG4+XHJcbjwvYXBwLWR5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3Q+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdkM7Ozs7Ozs7Ozs7OztHQVlHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQThEekMsWUFDVSxXQUErQixFQUMvQixhQUFtQyxFQUNoQixPQUFrQjtRQUZyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUEvRC9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixvQ0FBb0M7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixnQ0FBZ0M7UUFFaEMsMEJBQXFC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OytHQUE5Qiw4QkFBOEIsb3NCQzFDM0MsMDJDQXdDQTsyRkRFYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7MEJBa0VJLElBQUk7OzBCQUFJLFFBQVE7NENBN0RWLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04scUJBQXFCO3NCQURwQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUdHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50QXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSBkZXBhcnRtZW50IHRyZWUgZHJvcGRvd24gaW5wdXQgYWxyZWFkeSB3aXRoIGRlcGFydG1lbnRzIGJhY2tlbmQsXHJcbiAqICB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIERlcGFydG1lbnQgdHJlZSBkcm9wZG93blxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgIDxhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnRcclxuICogICAgICAgbGFiZWw9XCJGaWVsZCBMYWJlbFwiXHJcbiAqICAgICAgIHBsYWNlaG9sZGVyPVwiUGxhY2Vob2xkZXIgdGV4dFwiXHJcbiAqICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogICAgID5cclxuICogICA8L2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudD5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGVwYXJ0bWVudENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkYXRhID0gW107XHJcbiAgLyoqIGlzIHRyZWUgVmlldyBvciBkcm9wZG93biB2aWV3ICovXHJcbiAgQElucHV0KCkgdHJlZXZpZXcgPSBmYWxzZTtcclxuICAvKiogdXNlIHRyZWUgdmlldyBpbnNpZGUgZm9ybSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHJlZVZpZXdBc0Zvcm1Db250cm9sID0gZmFsc2U7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHRleHQgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuICAvKiogQ2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIGlzIHRyZWUgc2VhcmNoYWJsZSAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xyXG4gIC8qKiBJbnB1dCBGaWVsZCBsYWJlbCAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRTZWxlY3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNwbGF5RGVwVHlwZWUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlJc0FsbG93UmVjRXh0ZXJuYWwgPSB0cnVlO1xyXG5cclxuICAvKiogY3VzdG9tIHBhZ2UgcHJvdmlkZXIgdG8gZ2V0IGRlcGFydG1lbnQgbmVzdGVkIHRyZWUgZnJvbSBpdCBjYW4gYmUgcGFzc2VkIGZyb20gb3V0c2lkZSBvciBub3QgcGFzc2VkIGFuZCB1c2UgdGhlIGRlZnVsdGUgdmFsdWUgKi9cclxuICBASW5wdXQoKSBwcF9kZXBhcnRtZW50TmVzdGVkVHJlZTtcclxuICAvKiogY3VzdG9tIHBhZ2UgcHJvdmlkZXIgdG8gZ2V0IGRlcGFydG1lbnQgdHJlZSBmcm9tIGl0IGNhbiBiZSBwYXNzZWQgZnJvbSBvdXRzaWRlIG9yIG5vdCBwYXNzZWQgYW5kIHVzZSB0aGUgZGVmdWx0ZSB2YWx1ZSAqL1xyXG4gIEBJbnB1dCgpIHBwX2RlcGFydG1lbnRUcmVlO1xyXG4gIC8qKiBjdXN0b20gcHJlZml4IHRvIGJlIHVzZWQgZm9yIGFkYXB0aW5nIGRhdGEgY29taW5nIGZyb20gYXBpICovXHJcbiAgQElucHV0KCkgY3VzdG9tUHJlZml4O1xyXG4gIC8qKiB0byBhbGxvdyBjdXN0b20gYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCBvdXRzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSB1c2VDdXN0b21BZGRFZGl0QWN0aW9uO1xyXG4gIC8qKiB0byBhbGxvdyBjdXN0b20gcGFyZW50IHByb3BlcnR5IG5hbWUgIHRvIGJlIHBhYXNzZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBjdXN0b21QYXJlbnRQcm9wZXJ0eTtcclxuICAvKiogdG8gYWxsb3cgY3VzdG9tIHBhcmFtc3RvIGJlIHBhc3NlZCB0byBnZXQgZGVwYXJ0bWVudHMgcmVxdWVzdCBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIGN1c3RvbVBhcmFtcyA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvKiogZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGVtaXR0ZWQgd2hlbiBhY3Rpb24gaXMgY2xpY2tlZCAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzZWxlY3Rpb247XHJcbiAgYXJhYmljID0gZmFsc2U7XHJcbiAgbGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvLyBmdW5jdGlvbiByZWxhdGVkIHRvIHZhbHVlIGFjY2Vzc29yXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRBcGk6IERlcGFydG1lbnRBcGlTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShcclxuICAgICAgYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuYXJhYmljID0gcmVzO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0TGlzT2ZPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbiA/IHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVjdXJzaXZlRmlsbChlbnRyaWVzLCBsZXZlbCA9IDApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICBlbnRyaWVzLm1hcChhc3luYyAoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdGhpcy50cmVldmlld1xyXG4gICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW3RoaXMuY3VzdG9tUHJlZml4ID8gKHRoaXMuY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6IHsgLi4uaXRlbSwgbGV2ZWwgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbdGhpcy5jdXN0b21QcmVmaXggPyAodGhpcy5jdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiAgdGhpcy5tdWx0aXBsZSA/IGl0ZW0udWlkIDogaXRlbS50aXRsZSxcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IHRyZWVJdGVtID0gbmV3IFRyZWV2aWV3SXRlbSh7XHJcbiAgICAgICAgICAuLi50cmVlVmlld09iaixcclxuICAgICAgICAgIGNvbGxhcHNlZDogbGV2ZWwgPj0gMiAmJiB0aGlzLnRyZWV2aWV3ID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgICAgLi4uKHRoaXMubXVsdGlwbGUgJiYgeyBjaGVja2VkOiBmYWxzZSB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzICYmXHJcbiAgICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMubGVuZ3RoXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICF0aGlzLnRyZWV2aWV3ICYmXHJcbiAgICAgICAgICAgIChsZXZlbCA9PSAyIHx8IChsZXZlbCA+IDIgJiYgKGxldmVsICsgMSkgJSAzID09IDApKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXdhaXQgdGhpcy5kZXBhcnRtZW50QXBpXHJcbiAgICAgICAgICAgICAgLmdldERlcGFydG1lbnROZXN0ZWRUcmVlKGl0ZW0udGl0bGUsIHRoaXMucHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgLCB0aGlzLmN1c3RvbVBhcmVudFByb3BlcnR5KVxyXG4gICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXHJcbiAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICB0cmVlSXRlbS5jaGlsZHJlbiA9IGF3YWl0IHRoaXMucmVjdXJzaXZlRmlsbChcclxuICAgICAgICAgICAgICBleHRlbmRlZC5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSBhd2FpdCB0aGlzLnJlY3Vyc2l2ZUZpbGwoXHJcbiAgICAgICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0TGlzT2ZPcHRpb25zKCkge1xyXG4gICAgdGhpcy5kZXBhcnRtZW50QXBpLmdldERlcGFydG1lbnRUcmVlKHRoaXMucHBfZGVwYXJ0bWVudFRyZWUsdGhpcy5jdXN0b21QYXJhbXMpLnN1YnNjcmliZShhc3luYyAocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRhdGEgPSBhd2FpdCB0aGlzLnJlY3Vyc2l2ZUZpbGwocmVzLmVudHJpZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZGl0ZW1zKHNlbGVjdGVkSXRlbXMpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHNlbGVjdGVkSXRlbXMpO1xyXG4gICAgdGhpcy5vblNlbGVjdGluZy5lbWl0KHNlbGVjdGVkSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgLy8gaWYgKHZhbHVlKSB7IC8vIHJlbW92ZWQgdG8gYWxsb3cgdG8gcmVzZXQgdmFsdWUgb2YgdHJlZVxyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbik6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZuKGMpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICAvLyBvblBsdXNDbGlja2VkKGUpIHtcclxuICAvLyAgIHRoaXMucGx1c0NsaWNrZWQubmV4dChlKTtcclxuICAvLyB9XHJcblxyXG4gIG9uQWN0aW9uKGUpIHtcclxuICAgIHRoaXMuYWN0aW9uQ2xpY2tlZC5lbWl0KGUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIGh0dHA6Ly8zNS4xNTMuNjYuNTI6ODA4MC9udXhlby9hcGkvdjEvc2VhcmNoL3BwL1BQX0RlcGFydG1lbnQvZXhlY3V0ZT9wYWdlUHJvdmlkZXI9UFBfRGVwYXJ0bWVudCZjdXJyZW50UGFnZUluZGV4PTAmb2Zmc2V0PTAmcGFnZVNpemU9NDAmcXVpY2tGaWx0ZXJzPVBhcmVudCUyMERlcHRcclxuLy8gaHR0cDovLzM1LjE1My42Ni41Mjo4MDgwL251eGVvL2FwaS92MS9zZWFyY2gvcHAvUFBfT1NfRGVwYXJ0bWVudHMvZXhlY3V0ZT9wYWdlUHJvdmlkZXI9UFBfT1NfRGVwYXJ0bWVudHMmY3VycmVudFBhZ2VJbmRleD0wJm9mZnNldD0wJnBhZ2VTaXplPTQwJnF1aWNrRmlsdGVycz1QYXJlbnQlMjBEZXB0IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxhcHAtZHluYW1pYy1mb3JtLXRyZWV2aWV3LXNlbGVjdFxyXG4gIFt0cmVldmlld109XCJ0cmVldmlld1wiXHJcbiAgW3RyZWVWaWV3QXNGb3JtQ29udHJvbF09XCJ0cmVlVmlld0FzRm9ybUNvbnRyb2xcIlxyXG4gIFtkZWZhdWx0U2VsZWN0XT1cImRlZmF1bHRTZWxlY3RcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgW2l0ZW1zXT1cImRhdGFcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgW2Rpc3BsYXlEZXBUeXBlZV09XCJkaXNwbGF5RGVwVHlwZWVcIlxyXG4gIFtkaXNwbGF5SXNBbGxvd1JlY0V4dGVybmFsXT1cImRpc3BsYXlJc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG4gIFtwcF9kZXBhcnRtZW50TmVzdGVkVHJlZV09XCJwcF9kZXBhcnRtZW50TmVzdGVkVHJlZVwiXHJcbiAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwidXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgW2N1c3RvbVByZWZpeF09XCJjdXN0b21QcmVmaXhcIlxyXG4gIFtjdXN0b21QYXJlbnRQcm9wZXJ0eV09XCJjdXN0b21QYXJlbnRQcm9wZXJ0eVwiXHJcbiAgKHZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkaXRlbXMoJGV2ZW50KVwiXHJcbiAgWyh2YWx1ZSldPVwic2VsZWN0aW9uXCJcclxuICAoYWN0aW9uQ2xpY2tlZCk9XCJvbkFjdGlvbigkZXZlbnQpXCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIGNsYXNzPVwiZHJvcGRvd24td3JhcHBlclwiXHJcbiAgW25nQ2xhc3NdPVwieydpbnB1dC1maWxsZWQnIDogc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwIH1cIlxyXG4+XHJcbjwvYXBwLWR5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3Q+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
|
|
@@ -169,6 +169,15 @@ export class DynamicFormTextItemComponent {
|
|
|
169
169
|
this.showsuggestedOptions = false;
|
|
170
170
|
this.documentList = [];
|
|
171
171
|
}
|
|
172
|
+
resetSelecting() {
|
|
173
|
+
if (this.emitFullObject) {
|
|
174
|
+
this.editedValue = null;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
this.editedValue = '';
|
|
178
|
+
}
|
|
179
|
+
this.update(null);
|
|
180
|
+
}
|
|
172
181
|
waitUntilUserFinishTyping() {
|
|
173
182
|
if (this.delayedAction) {
|
|
174
183
|
clearTimeout(this.delayedAction);
|
|
@@ -184,6 +193,9 @@ export class DynamicFormTextItemComponent {
|
|
|
184
193
|
}
|
|
185
194
|
onSearchInputChange() {
|
|
186
195
|
if (this.autoComplete) {
|
|
196
|
+
if (!this.editorInput.nativeElement.value) {
|
|
197
|
+
this.resetSelecting();
|
|
198
|
+
}
|
|
187
199
|
let val = this.editorInput.nativeElement.value;
|
|
188
200
|
let params = Object.assign({ currentPageIndex: 0, offset: 0, pageSize: 40, pageProvider: this.autoComplete_pageProvider }, this.outsideParams);
|
|
189
201
|
// if i was sending tenant id from outside then i am in case of multi tenant then add tenant id to params
|
|
@@ -301,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
301
313
|
type: ViewChild,
|
|
302
314
|
args: ['editorInput']
|
|
303
315
|
}] } });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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O3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFFRSxXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R5bmFtaWMtZm9ybS5tb2RlbHMnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0tdXBkYXRlLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgdGV4dCBmaWVsZCBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIFRleHQgRmllbGRcclxuICogQGV4YW1wbGVcclxuICogPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICogICAgW2hvcml6b250YWxBbGlnbl09XCJmYWxzZVwiXHJcbiAqICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogICAgW3BsYWNlaG9sZGVyXT1cIidQQVRILlRPLlBMQUNFSE9MREVSLlNUUklORydcIlxyXG4gKiA+PC9hcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtPlxyXG4gKi9cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHN0YXRpYyBERUZBVUxUX1NFUEFSQVRPUiA9ICcsICc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZSA9IGZhbHNlOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBiYWNrZW5kIHdoZW4gdXNlciB0eXBlIHNvbWUgbGV0dGVyc1xyXG4gIEBJbnB1dCgpIG5hdGl2ZUF1dG9Db21wbGV0ZSA9ICdvZmYnOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBicm93c2VyIG5hdGl2ZWx5XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWUgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcHJvcGVydHlLZXkgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVWYWx1ZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVR5cGUgPSdwZXJjZW50YWdlJztcclxuICBASW5wdXQoKSB0ZW5hbnRJZDsgLy8gcmVhbHRlZCB0byBtdWx0aSB0ZW5hbnQgd2lsbCBiZSBzZW50IGluIGNhZSBvZiBtdWx0aSB0ZW5hbnQgb25seVxyXG4gIEBJbnB1dCgpIGVtaXRGdWxsT2JqZWN0ID0gZmFsc2U7IC8vIHVzZWQgdG8gY29udHJvbCBvbiBlbWl0aW5nIGZ1bGwgc2VsZWN0ZWQgb2JqZWN0IG9yIG9ubHkgc3RyaW5nXHJcbiAgQElucHV0KCkgb3V0c2lkZVBhcmFtcyA9IHt9OyAvLyBvYmplY3Qgb2YgcGFyYW1zIHRvIGJlIHBhc3NlZCBmcm9tIG91dHNpZGVcclxuXHJcbiAgLyoqIGlucHV0IHR5cGUgKi9cclxuICBASW5wdXQoKVxyXG4gIHR5cGUgPSAndGV4dCc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsO1xyXG4gIC8qKiBGaWVsZCBMYWJlbCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw7XHJcbiAgLyoqIGlzIEVkaXRhYmxlICovXHJcbiAgQElucHV0KClcclxuICBlZGl0YWJsZSA9IHRydWU7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHN0cmluZyAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgLyoqIGlzIGRpc2FibGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUVtcHR5ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIHByZXZlbnQgc3BhY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIHByZXZlbnRTcGFjZSA9IGZhbHNlO1xyXG4gIC8qKiBET00gZWxlbWVudCBJZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcblxyXG4gIEBJbnB1dCgpIG1heENoYXJzTnVtID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pIHtcclxuICAgIGlmKHRoaXMuZW1pdEZ1bGxPYmplY3Qpe1xyXG4gICAgICB0aGlzLmVkaXRlZFZhbHVlID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW0udGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gW107XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBsZXQgdmFsID0gdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAuLi50aGlzLm91dHNpZGVQYXJhbXNcclxuICAgICAgfTtcclxuICAgICAgLy8gaWYgaSB3YXMgc2VuZGluZyB0ZW5hbnQgaWQgZnJvbSBvdXRzaWRlIHRoZW4gaSBhbSBpbiBjYXNlIG9mIG11bHRpIHRlbmFudCB0aGVuIGFkZCB0ZW5hbnQgaWQgdG8gcGFyYW1zXHJcbiAgICAgIGlmKHRoaXMudGVuYW50SWQpe1xyXG4gICAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdID0gKHZhbCkgPyBgJSR7dmFsfSVgIDogJyc7XHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJjYXNlU2Vuc2l0aXZlXCIgJiYgdmFsKXtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5Ub0Nhc2VJbnNlbnNpdGl2ZSh2YWwpO1xyXG4gICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPXJlc3VsdDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVUeXBlPT1cInBlcmNlbnRhZ2VcIiAmJiB2YWwpe1xyXG5cclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSclJyt2YWwrJyUnO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09ICcnXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGNoZWNrIGlmIHJlbGF0aW9uIHRoZW4gd2lsbCB1c2UgZW50cmllcyB0aGVuIGZldGNoIG9ubHkgcmVxdWlyZWQgc2NoZW1hc1xyXG4gICAgICAvLyBhbmQgb3RoZXIgc3VnZ2VzdGVyIHdpbGwgdXNlIGFnZ3JlZ2F0aW9ucyBmcm9tIHJlc3BvbnNlIG5vdCBlbnRyaWVzIHRoZW4gYWRkIHBhZ2Ugc2l6ZSAwXHJcbiAgICAgIC8vIGFsbCB0aGlzIHRvIGRlY3JlYXNlIHJlc3BvbnNlIHNpemVcclxuICAgICAgbGV0IGN1c3RvbVByb3BlcnRpZXMgPSAnKidcclxuICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID09PSAnUFBfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb25TZWFjaCcpe1xyXG4gICAgICAgIGN1c3RvbVByb3BlcnRpZXMgPSAnQ29ycmVzcG9uZGVuY2UnO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBwYXJhbXMucGFnZVNpemUgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5LFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZUtleSxcclxuICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXNcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudExpc3QgPSBkYXRhLmZpbHRlcigob3B0aW9uKSA9PlxyXG4gICAgICAgICAgICBvcHRpb24udGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWwudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50TGlzdDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5PcHRpb25zKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGUpIHtcclxuICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgICBpZiAoIXRoaXMuZG9jdW1lbnRMaXN0Lmxlbmd0aCAmJiB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFRvQ2FzZUluc2Vuc2l0aXZlIChvcmdpbmFsVGV4dCl7XHJcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcclxuICAgIGxldCBvcmdpbmFsVGV4dExvd2VyQ2FzZSA9IG9yZ2luYWxUZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBmb3IobGV0IGk9MDtpPG9yZ2luYWxUZXh0TG93ZXJDYXNlLmxlbmd0aDtpKyspe1xyXG4gICAgICBpZihvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPj0gJ2EnICYmIG9yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKSA8PSAneicpXHJcbiAgICAgICByZXN1bHQgPSByZXN1bHQrXCJbXCIrb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKS50b1VwcGVyQ2FzZSgpK1wiXVwiO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0K29yZ2luYWxUZXh0LmNoYXJBdChpKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCIuKlwiK3Jlc3VsdCtcIi4qXCI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcHAtcHJvcGVydHktdmFsdWVcIj5cclxuICA8ZGl2IGNsYXNzPVwiYXBwLWlucHV0LXdyYXBwZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGUoKTsgZWxzZSByZWFkT25seVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXctb25lXCIgKGNsaWNrT3V0c2lkZSk9XCJvcGVuT3B0aW9ucyhmYWxzZSlcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSB8fCBudWxsXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1maWxsZWQnIDogKGVtaXRGdWxsT2JqZWN0ID8gKGVkaXRlZFZhbHVlPy50aXRsZSkgOiBlZGl0ZWRWYWx1ZSkgfVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cImFsbG93U3BhY2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICNlZGl0b3JJbnB1dFxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlXCJcclxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJuYXRpdmVBdXRvQ29tcGxldGVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZWRpdGlucHV0LSdcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PcHRpb25zKHRydWUpXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwie3ttYXhDaGFyc051bX19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG9jdW1lbnRMaXN0Lmxlbmd0aCAhPT0gMFwiIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkLWJsb2NrJzogc2hvd3N1Z2dlc3RlZE9wdGlvbnMgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkb2N1bWVudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5wYXR0ZXJuXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJ3cm9uZyBwYXR0ZXJuXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMubWluXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJWQUxJREFUT1JTLk1JTlwiIHwgdHJhbnNsYXRlIH19IHt7IGNvbnRyb2wuZXJyb3JzLm1pbi5taW4gfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxyXG4gICAgICAgIHt7IGVtaXRGdWxsT2JqZWN0ID8gZWRpdGVkVmFsdWU/LnRpdGxlIDogZWRpdGVkVmFsdWUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IChlbWl0RnVsbE9iamVjdCA/IChlZGl0ZWRWYWx1ZT8udGl0bGUpIDogZWRpdGVkVmFsdWUpIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwibmF0aXZlQXV0b0NvbXBsZXRlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5dXApPVwid2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVkaXRpbnB1dC0nXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvcGVuT3B0aW9ucyh0cnVlKVwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cInt7bWF4Q2hhcnNOdW19fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImRvY3VtZW50TGlzdC5sZW5ndGggIT09IDBcIiBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3VnZ2VzdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZC1ibG9jayc6IHNob3dzdWdnZXN0ZWRPcHRpb25zIH1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucGF0dGVyblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwid3JvbmcgcGF0dGVyblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLm1pblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiVkFMSURBVE9SUy5NSU5cIiB8IHRyYW5zbGF0ZSB9fSB7eyBjb250cm9sLmVycm9ycy5taW4ubWluIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyBlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|