@rangertechnologies/ngnxt 2.1.145 → 2.1.147
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/esm2022/environments/version.mjs +2 -2
- package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +1 -2
- package/esm2022/lib/components/custom-rich-text/custom-rich-text.component.mjs +1 -3
- package/esm2022/lib/components/datatable/datatable.component.mjs +60 -30
- package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +4 -5
- package/esm2022/lib/pages/booklet/booklet.component.mjs +4 -6
- package/esm2022/lib/pages/questionbook/questionbook.component.mjs +132 -16
- package/fesm2022/rangertechnologies-ngnxt.mjs +197 -57
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/lib/components/datatable/datatable.component.d.ts +2 -1
- package/lib/pages/questionbook/questionbook.component.d.ts +4 -1
- package/package.json +1 -1
- package/rangertechnologies-ngnxt-2.1.147.tgz +0 -0
- package/rangertechnologies-ngnxt-2.1.145.tgz +0 -0
|
@@ -9,7 +9,7 @@ export const VERSION = {
|
|
|
9
9
|
"semver": null,
|
|
10
10
|
"suffix": "05a52cb-dirty",
|
|
11
11
|
"semverString": null,
|
|
12
|
-
"version": "2.1.
|
|
12
|
+
"version": "2.1.147"
|
|
13
13
|
};
|
|
14
14
|
/* tslint:enable */
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2Vudmlyb25tZW50cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0NBQ3ZCLENBQUM7QUFDRixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6IFRISVMgRklMRSBJUyBBVVRPIEdFTkVSQVRFRCEgRE8gTk9UIE1BTlVBTExZIEVESVQgT1IgQ0hFQ0tJTiFcbi8qIHRzbGludDpkaXNhYmxlICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHtcbiAgICBcImRpcnR5XCI6IHRydWUsXG4gICAgXCJyYXdcIjogXCIwNWE1MmNiLWRpcnR5XCIsXG4gICAgXCJoYXNoXCI6IFwiMDVhNTJjYlwiLFxuICAgIFwiZGlzdGFuY2VcIjogbnVsbCxcbiAgICBcInRhZ1wiOiBudWxsLFxuICAgIFwic2VtdmVyXCI6IG51bGwsXG4gICAgXCJzdWZmaXhcIjogXCIwNWE1MmNiLWRpcnR5XCIsXG4gICAgXCJzZW12ZXJTdHJpbmdcIjogbnVsbCxcbiAgICBcInZlcnNpb25cIjogXCIyLjEuMTQ3XCJcbn07XG4vKiB0c2xpbnQ6ZW5hYmxlICovXG4iXX0=
|
|
@@ -171,7 +171,6 @@ export class CustomDropdownComponent {
|
|
|
171
171
|
// VD 22May24 - used common service file
|
|
172
172
|
selectChange(event) {
|
|
173
173
|
console.log('inside selectChange from ' + this.id);
|
|
174
|
-
// console.log(event);
|
|
175
174
|
let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');
|
|
176
175
|
change.fromQuestionId = this.id;
|
|
177
176
|
change.valueObj = event ? event : '';
|
|
@@ -218,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
218
217
|
}], valueChange: [{
|
|
219
218
|
type: Output
|
|
220
219
|
}] } });
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLEtBQUssRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFZMUQsTUFBTSxPQUFPLHVCQUF1QjtJQWlCeEI7SUFDQTtJQUNEO0lBbEJBLE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLEVBQUUsQ0FBUTtJQUNWLFFBQVEsR0FBYSxLQUFLLENBQUMsQ0FBQywrQkFBK0I7SUFDM0QsWUFBWSxDQUFTO0lBQ3JCLEtBQUssQ0FBSztJQUNWLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsUUFBUSxDQUFLO0lBQ2IsY0FBYyxDQUFRO0lBQ3RCLEtBQUssQ0FBUSxDQUFJLHNDQUFzQztJQUN0RCxXQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQ3ZGLGVBQWUsR0FBWSxFQUFFLENBQUM7SUFDOUIsWUFDVSxhQUE0QixFQUM1QixXQUF3QixFQUN6QixXQUF3QjtRQUZ2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN6QixnQkFBVyxHQUFY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NnlEQW9DQTs7NEZEckJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7c0lBS3RCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbnB1dCxPdXRwdXQsRXZlbnRFbWl0dGVyLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGltZXRhJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbi8vIFZEIDIzSkFOMjQgdXNlZCBzZXJ2aWNlIGZpbGUgZm9yIGNhbGxvdXRcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTsgXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaU1ldGE6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9ncmVzc0JhcjogYm9vbGVhbjtcbiAgQElucHV0KCkgaWQ6c3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seSA6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZVxuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KCkgZXJyb3I6YW55O1xuICBASW5wdXQoKSBmcm9tU2hlbmdlbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBxdWVzdGlvbjphbnk7XG4gIEBJbnB1dCgpIHJlZmVyZW5jZUZpZWxkOnN0cmluZztcbiAgQElucHV0KCkgdG9rZW46c3RyaW5nOyAgICAvLyBWRCAxOUpBTjI0IC0gZ2V0dGluZyB0b2tlbiBhcyBpbnB1dFxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hhbmdlV3JhcHBlcj4oKTtcbiAgaW52YWxpZEZpZWxkSWRzOnN0cmluZ1tdID0gW107XG4gIGNvbnN0cnVjdG9yKCBcbiAgICBwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UsIFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UsXG4gICAgICAgICkgeyBcbiAgICB0aGlzLmNoYW5nZVNlcnZpY2Uuc3VibWl0VmFsaWRhdGUkLnN1YnNjcmliZSgoZGF0YSk9PntcbiAgICAgIC8vIHRvIGdldCB0aGUgZXJyb3IgbWVzc2FnZSdzIGZpZWxkIGlkJ3NcbiAgICAgIHRoaXMuaW52YWxpZEZpZWxkSWRzLnB1c2goZGF0YSk7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbEZpZWxkOiBzdHJpbmc7XG4gIHB1YmxpYyB2YWx1ZUZpZWxkOiBzdHJpbmc7XG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAvL3B1YmxpYyBhcGlPYmo6QVBJTWV0YTtcbiAgcHVibGljIHVuaXF1ZUtleTpzdHJpbmc7XG4gIGFwaU9iajogYW55ID0ge307XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBcbiAgfVxuICBnZXRPcHRpb25zKCl7XG4gICAgY29uc29sZS5sb2coJ3Rlc3QgY2xpY2snKTtcbiAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIG9uaW5pdCBvZiBjdXN0b20tZHJvcGRvd24gb2YgJyArIHRoaXMuaWQpO1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuYXBpTWV0YSk7XG4gICAgLy9WRCAwN0F1ZzI0IC0gaXNEZXBlbmRlbnRGaWVsZCBjaGFuZ2VcbiAgICAvLyBWRCAyNU9jdDI0IC0gY2hhbmdlc1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyID8gdGhpcy5wbGFjZWhvbGRlciA6ICctLS1TZWxlY3Qgb3B0aW9uLS0tJztcbiAgICBpZih0aGlzLmFwaU1ldGEpIHtcbiAgICB0cnkge1xuICAgICAgLy8gTVNNLTI3TUFSMjUgRW5zdXJlIHF1ZXMuc3ViVGV4dCBpcyBhbHdheXMgYW4gb2JqZWN0IGJ5IHBhcnNpbmcgaXQgaWYgaXQncyBhIHN0cmluZ1xuICAgICAgdGhpcy5hcGlPYmogPSB0eXBlb2YgdGhpcy5hcGlNZXRhID09PSAnb2JqZWN0JyA/IHRoaXMuYXBpTWV0YSA6IEpTT04ucGFyc2UodGhpcy5hcGlNZXRhKTtcblxuICAgICAgLy8gQ2hlY2sgaWYgYXBpT2JqIGFuZCBhcGlPYmouZmllbGQgYXJlIGRlZmluZWRcbiAgICAgIGlmICh0aGlzLmFwaU9iaiAmJiB0aGlzLmFwaU9iai5maWVsZCkge1xuICAgICAgICB0aGlzLmxhYmVsRmllbGQgPSB0aGlzLmFwaU9iai5maWVsZDtcbiAgICAgICAgdGhpcy51bmlxdWVLZXkgPSB0aGlzLmFwaU9iai51bmlxdWVLZXk7XG4gICAgICAgIGNvbnN0IGNhY2hlZE9wdGlvbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnVuaXF1ZUtleSk7XG4gICAgICAgIGlmIChjYWNoZWRPcHRpb25zKSB7XG4gICAgICAgICAgdGhpcy5vcHRpb25zID0gSlNPTi5wYXJzZShjYWNoZWRPcHRpb25zKTtcbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgIGlmKCF0aGlzLmFwaU9iai5pc0RlcGVuZGVudEZpZWxkKXtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFZEIDA5U2VwMjQtIHNldHVwIHRoZSBxdWVyeSBwYXJhbSBmb3IgYXBpIGNhbGwgLy8gTVIgMDhKQU4yNCBEZXBlbmRlbnRGaWVsZCBBUEkgRml4IG1vdmVkIGJlbG93IGxvZ2ljIGZyb20gYWJvdmUgaWYgY29uZGl0aW9uXG4gICAgICAgICAgbGV0IGZ1bGxFbmRQb2ludCA7XG4gICAgICAgICAgaWYodGhpcy5hcGlPYmouZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIGlmKHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2UgJiYgdGhpcy5hcGlPYmoucXVlcnlGaWVsZCkge1xuICAgICAgICAgICAgICAvLyBwcm9jZXNzIHRoZSBlbmQgcG9pbnQgd2l0aCBxdWVyeSBwYXJhbVxuICAgICAgICAgICAgICBsZXQgcXVlcnlSZWZlcmVuY2VzID0gdGhpcy5hcGlPYmoucXVlcnlWYWx1ZVJlZmVyZW5jZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgICBsZXQgcXVlcnlGaWVsZHMgPSB0aGlzLmFwaU9iai5xdWVyeUZpZWxkLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBGaWVsZHNcbiAgICAgICAgICAgICAgbGV0IHF1ZXJ5VmFsdWVzID0gdGhpcy5hcGlPYmoucXVlcnlWYWx1ZS5zcGxpdCgnLCcpOyAgICAvLyBNUiAwOEpBTjI0IHNpbWlsYXIgdG8gYWJvdmUgdmFsdWVyZWZlcmVuY2UgZ2V0IGxpc3Qgb2YgUVVFUlkgVmFsdWVzIChEZWZhdWx0KVxuICAgICAgICAgICAgICBsZXQgcXVlcnlQYXJhbXMgPSBbXTtcbiAgICAgICAgICAgICAgbGV0IHFJbmRleCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNUiAwOEpBTjI0IFF1ZXJ5IEluZGV4XG4gICAgICAgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBxdWVyeVJlZmVyZW5jZXMgYW5kIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhXG4gICAgICAgICAgICAgIHF1ZXJ5UmVmZXJlbmNlcy5mb3JFYWNoKHJlZmVyZW5jZSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gRmluZCB0aGUgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAvLyBSUyAwOURFQzI0IENoYW5nZWQga2V5c1xuICAgICAgICAgICAgICAgIGxldCBtYXRjaGluZ0VsZW1lbnQgPSB0aGlzLnF1ZXN0aW9uPy5yZWZlcmVuY2VRdWVyeURhdGEuZmluZChlbGVtZW50ID0+IGVsZW1lbnQucmVmZXJlbmNlRmllbGQgPT09IHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgIC8vIElmIGEgbWF0Y2hpbmcgZWxlbWVudCBpcyBmb3VuZCwgZ2V0IGl0cyBpbnB1dCB2YWx1ZSBhbmQgY3JlYXRlIGEgcXVlcnkgcGFyYW1ldGVyXG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZSAmJiBtYXRjaGluZ0VsZW1lbnQpIHsgICAvLyBNUiAwOEpBTjI0IGlmIHJlZmVyZW5jZSBleGlzdCAmIG1hdGNoaW5nIGVsZW1lbnQgZm91bmRcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHttYXRjaGluZ0VsZW1lbnQuaW5wdXR9YCk7ICAgIC8vIE1SIDA4SkFOMjQgcmVtb3ZlZCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICB9IGVsc2UgeyAgICAvLyBNUiAwOEpBTjI0IGluY2x1ZGVkIG9wdGlvbiBmb3IgbXVsdGlwbGUgcXVlcnkgcGFyYW1zIGFuZCBkZWZhdWx0IHZhbHVlIGluIGNhc2Ugb2YgcmVmZXJlbmNlIGlzIG5vdCBmb3VuZFxuICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXMucHVzaChgJHtxdWVyeUZpZWxkc1txSW5kZXhdfT0ke3F1ZXJ5VmFsdWVzW3FJbmRleF19YCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcUluZGV4Kys7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBmdWxsRW5kUG9pbnQgPSB0aGlzLmFwaU9iai5lbmRwb2ludCArICc/JyArIHF1ZXJ5UGFyYW1zLmpvaW4oJyYnKTtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZnVsbEVuZFBvaW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgbm8gcXVlcnkgcGFyYW0gZ2V0IHRoZSBhY3R1YWwgZW5kUG9pbnRcbiAgICAgICAgICAgICAgZnVsbEVuZFBvaW50ID0gdGhpcy5hcGlPYmouZW5kcG9pbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZEIDE5SkFOMjQgLSBhZGRlZCBvbmUgbW9yZSBwYXJhbSBmb3IgYXV0aGVudGljYXRpb25cbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpUmVzcG9uc2UoZnVsbEVuZFBvaW50KT8uc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBIQSAxOC1KQU4tMjQgQXNzaWduZWQgYXBpcmVzcG9uc2UgZGlyZWN0bHkgaWYgd2UgaGF2ZSB0aGUgcmVzcG9uc2UgaW4gYXJyYXkgYWxzb1xuICAgICAgICAgICAgICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIGtleSB3aXRoIHZhbHVlKHdoaWNoIGlzIGFycmF5KVxuICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VzO1xuICAgICAgICAgICAgICBpZih0aGlzLmFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgICAgICAgLy8gVkQgMjFNYXkyNCAtIGhhbmRsaW5nIG11bHRpcGxlIGNoaWxkIG9iamVjdHNcbiAgICAgICAgICAgICAgICAvLyBWRCAyMk1heTI0IC0gdXNlZCBjb21tb24gc2VydmljZSBmaWxlXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VzID0gdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShhcGlSZXNwb25zZSx0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICAvLyBIQSAxOUpBTjI0IFRvIGF2b2lkIHVuZGVmaW5lZCBlcnJvciBpbiBjb25zb2xlXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgcmVzcCA9IHJlc3BvbnNlc1tpXTtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXNwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzdWx0cztcbiAgICAgICAgICAgICAgfWVsc2V7ICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIHZhbHVlKHdoaWNoIGlzIGFycmF5KSBvbmx5XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VzID0gYXBpUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzcG9uc2VzO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFZEIDI1T2N0MjQgLSBTdG9yZSBmZXRjaGVkIG9wdGlvbnMgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICBpZih0aGlzLnVuaXF1ZUtleSl7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy51bmlxdWVLZXksIEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9ucykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFJlZmVyZW5jZSBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9Abmctc2VsZWN0L25nLXNlbGVjdFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBWRCBOT1YyMyAtIGhhbmRsZSB0aGUgZGVwZW5kZW50IHVwZGF0ZSBmb3IgZHJvcGRvd25cbiAgICAgICAgICAvLyBWRCAwOVNlcDI0LSBwdXNoIHRoZSBkZXBlbmRlbnQgZmllbGQgdmFsdWVzIGZvciBkcm9wZG93blxuICAgICAgICAgIGxldCBzb3VyY2VJZCA9IHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQ7XG4gICAgICAgICAgaWYoc291cmNlSWQgJiYgdGhpcy5hcGlPYmoudmFyaWFibGUgfHwgdGhpcy5hcGlPYmoudmFsdWVGaWVsZCl7XG4gICAgICAgICAgICAvLyBTdWJzY3JpYmUgZm9yIHRoZSBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIHN1YnNjcmlwdGlvbiBmb3IgdGhlIGNoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUudmFsdWVPYmogIT0gdW5kZWZpbmVkICYmIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09IHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW3RoaXMuYXBpT2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAvLyAgbGV0IHZhbHVlID17fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gIHZhbHVlWyduYW1lJ10gPSB0aGlzLnNlbGVjdGVkVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGNoYW5nZVZhbHVlLnZhbHVlT2JqLHRoaXMuYXBpT2JqLnZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlcz8ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3AgPSByZXNwb25zZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXNwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3VsdHM7XG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFZEIDI1T2N0MjQgLSBTdG9yZSBmZXRjaGVkIG9wdGlvbnMgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnVuaXF1ZUtleSl7XG4gICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy51bmlxdWVLZXksIEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9ucykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGFwaU1ldGE6JywgZXJyb3IpO1xuICAgIH1cbiAgfSBcbn1cbi8vIFZEIDIyTWF5MjQgLSB1c2VkIGNvbW1vbiBzZXJ2aWNlIGZpbGVcblxuICBzZWxlY3RDaGFuZ2UoZXZlbnQ6YW55KSB7XG4gICAgY29uc29sZS5sb2coJ2luc2lkZSBzZWxlY3RDaGFuZ2UgZnJvbSAnICsgdGhpcy5pZCk7XG4gICAgLy8gY29uc29sZS5sb2coZXZlbnQpO1xuICAgIGxldCBjaGFuZ2UgPSBuZXcgQ2hhbmdlV3JhcHBlcigpOyAvLyBDaGFuZ2VXcmFwcGVyID0gSlNPTi5wYXJzZSgne30nKTtcbiAgICBjaGFuZ2UuZnJvbVF1ZXN0aW9uSWQgPSB0aGlzLmlkO1xuICAgIGNoYW5nZS52YWx1ZU9iaiA9IGV2ZW50ID8gZXZlbnQgOiAnJztcbiAgICBjaGFuZ2UucmVmZXJlbmNlRmllbGQgPSB0aGlzLnJlZmVyZW5jZUZpZWxkO1xuICAgIGNoYW5nZS5zZWxlY3RlZE9iaiA9IGV2ZW50ID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA6ICcnO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChjaGFuZ2UpO1xuICAgIC8vIG9uY2UgZ290IHZhbHVlIGluIGRyb3Bkb3duIHJlbW92ZSB0aGUgZXJyb3IgdmFsaWRhdGlvblxuICAgIGlmKGV2ZW50KXtcbiAgICAgIHRoaXMuaW52YWxpZEZpZWxkSWRzID1bXTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gSEEgMTgtSkFOLTI0IENvbW1lbnRpbmcgdGhlc2UgbGluZXMgYXMgd2UgZG9uJ3QgaGF2ZSB0byB1c2Ugc2hlbmdlbCBoZXJlIC0tPlxuPCEtLSA8c2VsZWN0XG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZHQtbGluZSBkcERvd24gZG93biBteXQtZHJvcGJveCBteXQtYm9yZGVyLXIgbXl0LWZvbnQxJzogcHJvZ3Jlc3NCYXIsXG4gICAgJ2N1c3RvbS1zZWxlY3QnOiAhcHJvZ3Jlc3NCYXJcbiAgfVwiIGNsYXNzPVwiY3VzdG9tLXNlbGVjdCBtci1zbS0yIGRkLWhlaWdodFwiIFxuICBbaWRdPVwiaWRcIiBcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgKGNoYW5nZSk9XCJzZWxlY3RDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSk7XCIgXG4gIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJlcnJvciA/ICdyZWQnIDogJyM4NTg1ODUnXCJcbiAgW3N0eWxlLmNvbG9yXT1cImVycm9yID8gJ3JlZCcgOiAnJ1wiPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cInRoaXMuYXBpTWV0YSAhPT0gdW5kZWZpbmVkID8gb3B0aW9uLnRpdGxlIDogb3B0aW9uLnZhbHVlXCIgY2xhc3M9XCJvcHRpb25cIj57eyB0aGlzLmFwaU1ldGEgIT09IHVuZGVmaW5lZCA/IG9wdGlvbi50aXRsZSA6IG9wdGlvbi52YWx1ZSB9fTwvb3B0aW9uPlxuICAgIDxvcHRpb24gKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiB2YWx1ZT1cIlwiIGRpc2FibGVkIGhpZGRlbj57eyBlcnJvck1lc3NhZ2UgfX08L29wdGlvbj5cbjwvc2VsZWN0PiAtLT5cbjwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuPCEtLSBWRCAwMUF1ZzI0IC0gdmFsaWRhdGlvbiBjaGFuZ2UtLT5cbjwhLS0gVkQgMDdBdWcyNCAtIGlzRGVwZW5kZW50RmllbGQgY2hhbmdlLS0+XG48IS0tIFZEIDI1T2N0MjQgLSBjaGFuZ2VzLS0+XG48IS0tIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzLS0+IFxuIDwhLS0gQVAgMjhNQVIyNSBMYWJlbEZpZWxkIENoZWNraW5nIC0tPlxuICA8IS0tIEFQIDAyQVBSMjUgSWYgYXBpT2JqIGV4aXN0cyBhbmQgaXMgbm90IGEgZGVwZW5kZW50IGZpZWxkLCB1c2Ugb3B0aW9uW2xhYmVsRmllbGRdLCBvdGhlcndpc2UgdXNlIG9wdGlvbi52YWx1ZSAtLT5cbjxuZy1zZWxlY3RcbiAgW2NsYXNzXT1cImludmFsaWRGaWVsZElkcy5pbmNsdWRlcyhpZCkgfHwgZXJyb3IgPyAnc2hlbmdlbC1jdXN0b20tc2VsZWN0IGludmFsaWQnIDogJ3NoZW5nZWwtY3VzdG9tLXNlbGVjdCdcIlxuICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVcIiBcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgW2Rpc2FibGVkXT1cInJlYWRPbmx5XCJcbiAgKGNsaWNrKT1cImdldE9wdGlvbnMoKVwiXG4gIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICBbaWRdPVwiaWRcIj5cbiAgPG5nLW9wdGlvbiBcbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBcbiAgICBbdmFsdWVdPVwiYXBpT2JqICYmICFhcGlPYmouaXNEZXBlbmRlbnRGaWVsZCAmJiBvcHRpb25bbGFiZWxGaWVsZF0gPyBvcHRpb25bbGFiZWxGaWVsZF0gOiBvcHRpb24/LnZhbHVlXCI+XG4gICAge3sgYXBpT2JqICYmICFhcGlPYmouaXNEZXBlbmRlbnRGaWVsZCAmJiBvcHRpb25bbGFiZWxGaWVsZF0gPyBvcHRpb25bbGFiZWxGaWVsZF0gOiBvcHRpb24/LnZhbHVlIH19XG4gIDwvbmctb3B0aW9uPiBcbjwvbmctc2VsZWN0PlxuPHNwYW4gKm5nSWY9XCJlcnJvciB8fCBpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57e2Vycm9yTWVzc2FnZX19PC9zcGFuPlxuIl19
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLEtBQUssRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFZMUQsTUFBTSxPQUFPLHVCQUF1QjtJQWlCeEI7SUFDQTtJQUNEO0lBbEJBLE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLEVBQUUsQ0FBUTtJQUNWLFFBQVEsR0FBYSxLQUFLLENBQUMsQ0FBQywrQkFBK0I7SUFDM0QsWUFBWSxDQUFTO0lBQ3JCLEtBQUssQ0FBSztJQUNWLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsUUFBUSxDQUFLO0lBQ2IsY0FBYyxDQUFRO0lBQ3RCLEtBQUssQ0FBUSxDQUFJLHNDQUFzQztJQUN0RCxXQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQ3ZGLGVBQWUsR0FBWSxFQUFFLENBQUM7SUFDOUIsWUFDVSxhQUE0QixFQUM1QixXQUF3QixFQUN6QixXQUF3QjtRQUZ2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN6QixnQkFBVyxHQUFY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QmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjtzSUFLdEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LElucHV0LE91dHB1dCxFdmVudEVtaXR0ZXIsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFQSU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FwaW1ldGEnO1xuaW1wb3J0IHsgQ2hhbmdlV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL2NoYW5nZVdyYXBwZXInO1xuaW1wb3J0IHsgQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5nZS5zZXJ2aWNlJztcbi8vIEhBIDE5REVDMjMgaW1wb3J0ZWQgdHJhbnNsYXRpb24gc2VydmljZVxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuLy8gVkQgMjNKQU4yNCB1c2VkIHNlcnZpY2UgZmlsZSBmb3IgY2FsbG91dFxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXSA9IFtdOyBcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYXBpTWV0YTogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2dyZXNzQmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBpZDpzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRPbmx5IDogYm9vbGVhbiA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjphbnk7XG4gIEBJbnB1dCgpIGZyb21TaGVuZ2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOmFueTtcbiAgQElucHV0KCkgcmVmZXJlbmNlRmllbGQ6c3RyaW5nO1xuICBASW5wdXQoKSB0b2tlbjpzdHJpbmc7ICAgIC8vIFZEIDE5SkFOMjQgLSBnZXR0aW5nIHRva2VuIGFzIGlucHV0XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICBpbnZhbGlkRmllbGRJZHM6c3RyaW5nW10gPSBbXTtcbiAgY29uc3RydWN0b3IoIFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICAgICAgKSB7IFxuICAgIHRoaXMuY2hhbmdlU2VydmljZS5zdWJtaXRWYWxpZGF0ZSQuc3Vic2NyaWJlKChkYXRhKT0+e1xuICAgICAgLy8gdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlJ3MgZmllbGQgaWQnc1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMucHVzaChkYXRhKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIC8vcHVibGljIGFwaU9iajpBUElNZXRhO1xuICBwdWJsaWMgdW5pcXVlS2V5OnN0cmluZztcbiAgYXBpT2JqOiBhbnkgPSB7fTtcblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIFxuICB9XG4gIGdldE9wdGlvbnMoKXtcbiAgICBjb25zb2xlLmxvZygndGVzdCBjbGljaycpO1xuICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgb25pbml0IG9mIGN1c3RvbS1kcm9wZG93biBvZiAnICsgdGhpcy5pZCk7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5hcGlNZXRhKTtcbiAgICAvL1ZEIDA3QXVnMjQgLSBpc0RlcGVuZGVudEZpZWxkIGNoYW5nZVxuICAgIC8vIFZEIDI1T2N0MjQgLSBjaGFuZ2VzXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMucGxhY2Vob2xkZXIgPyB0aGlzLnBsYWNlaG9sZGVyIDogJy0tLVNlbGVjdCBvcHRpb24tLS0nO1xuICAgIGlmKHRoaXMuYXBpTWV0YSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBNU00tMjdNQVIyNSBFbnN1cmUgcXVlcy5zdWJUZXh0IGlzIGFsd2F5cyBhbiBvYmplY3QgYnkgcGFyc2luZyBpdCBpZiBpdCdzIGEgc3RyaW5nXG4gICAgICB0aGlzLmFwaU9iaiA9IHR5cGVvZiB0aGlzLmFwaU1ldGEgPT09ICdvYmplY3QnID8gdGhpcy5hcGlNZXRhIDogSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuXG4gICAgICAvLyBDaGVjayBpZiBhcGlPYmogYW5kIGFwaU9iai5maWVsZCBhcmUgZGVmaW5lZFxuICAgICAgaWYgKHRoaXMuYXBpT2JqICYmIHRoaXMuYXBpT2JqLmZpZWxkKSB7XG4gICAgICAgIHRoaXMubGFiZWxGaWVsZCA9IHRoaXMuYXBpT2JqLmZpZWxkO1xuICAgICAgICB0aGlzLnVuaXF1ZUtleSA9IHRoaXMuYXBpT2JqLnVuaXF1ZUtleTtcbiAgICAgICAgY29uc3QgY2FjaGVkT3B0aW9ucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMudW5pcXVlS2V5KTtcbiAgICAgICAgaWYgKGNhY2hlZE9wdGlvbnMpIHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBKU09OLnBhcnNlKGNhY2hlZE9wdGlvbnMpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgaWYoIXRoaXMuYXBpT2JqLmlzRGVwZW5kZW50RmllbGQpe1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gVkQgMDlTZXAyNC0gc2V0dXAgdGhlIHF1ZXJ5IHBhcmFtIGZvciBhcGkgY2FsbCAvLyBNUiAwOEpBTjI0IERlcGVuZGVudEZpZWxkIEFQSSBGaXggbW92ZWQgYmVsb3cgbG9naWMgZnJvbSBhYm92ZSBpZiBjb25kaXRpb25cbiAgICAgICAgICBsZXQgZnVsbEVuZFBvaW50IDtcbiAgICAgICAgICBpZih0aGlzLmFwaU9iai5lbmRwb2ludCkge1xuICAgICAgICAgICAgaWYodGhpcy5hcGlPYmoucXVlcnlWYWx1ZVJlZmVyZW5jZSAmJiB0aGlzLmFwaU9iai5xdWVyeUZpZWxkKSB7XG4gICAgICAgICAgICAgIC8vIHByb2Nlc3MgdGhlIGVuZCBwb2ludCB3aXRoIHF1ZXJ5IHBhcmFtXG4gICAgICAgICAgICAgIGxldCBxdWVyeVJlZmVyZW5jZXMgPSB0aGlzLmFwaU9iai5xdWVyeVZhbHVlUmVmZXJlbmNlLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICAgIGxldCBxdWVyeUZpZWxkcyA9IHRoaXMuYXBpT2JqLnF1ZXJ5RmllbGQuc3BsaXQoJywnKTsgICAgLy8gTVIgMDhKQU4yNCBzaW1pbGFyIHRvIGFib3ZlIHZhbHVlcmVmZXJlbmNlIGdldCBsaXN0IG9mIFFVRVJZIEZpZWxkc1xuICAgICAgICAgICAgICBsZXQgcXVlcnlWYWx1ZXMgPSB0aGlzLmFwaU9iai5xdWVyeVZhbHVlLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBWYWx1ZXMgKERlZmF1bHQpXG4gICAgICAgICAgICAgIGxldCBxdWVyeVBhcmFtcyA9IFtdO1xuICAgICAgICAgICAgICBsZXQgcUluZGV4ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1SIDA4SkFOMjQgUXVlcnkgSW5kZXhcbiAgICAgICAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIHF1ZXJ5UmVmZXJlbmNlcyBhbmQgZmluZCB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IGluIHJlZmVyZW5jZURhdGFcbiAgICAgICAgICAgICAgcXVlcnlSZWZlcmVuY2VzLmZvckVhY2gocmVmZXJlbmNlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBGaW5kIHRoZSBlbGVtZW50IGluIHJlZmVyZW5jZURhdGEgdGhhdCBtYXRjaGVzIHRoZSBjdXJyZW50IHJlZmVyZW5jZVxuICAgICAgICAgICAgICAgIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gICAgICAgICAgICAgICAgbGV0IG1hdGNoaW5nRWxlbWVudCA9IHRoaXMucXVlc3Rpb24/LnJlZmVyZW5jZVF1ZXJ5RGF0YS5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5yZWZlcmVuY2VGaWVsZCA9PT0gcmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgLy8gSWYgYSBtYXRjaGluZyBlbGVtZW50IGlzIGZvdW5kLCBnZXQgaXRzIGlucHV0IHZhbHVlIGFuZCBjcmVhdGUgYSBxdWVyeSBwYXJhbWV0ZXJcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlICYmIG1hdGNoaW5nRWxlbWVudCkgeyAgIC8vIE1SIDA4SkFOMjQgaWYgcmVmZXJlbmNlIGV4aXN0ICYgbWF0Y2hpbmcgZWxlbWVudCBmb3VuZFxuICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXMucHVzaChgJHtxdWVyeUZpZWxkc1txSW5kZXhdfT0ke21hdGNoaW5nRWxlbWVudC5pbnB1dH1gKTsgICAgLy8gTVIgMDhKQU4yNCByZW1vdmVkIHJlZmVyZW5jZVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAgIC8vIE1SIDA4SkFOMjQgaW5jbHVkZWQgb3B0aW9uIGZvciBtdWx0aXBsZSBxdWVyeSBwYXJhbXMgYW5kIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSBvZiByZWZlcmVuY2UgaXMgbm90IGZvdW5kXG4gICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5wdXNoKGAke3F1ZXJ5RmllbGRzW3FJbmRleF19PSR7cXVlcnlWYWx1ZXNbcUluZGV4XX1gKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBxSW5kZXgrKztcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGZ1bGxFbmRQb2ludCA9IHRoaXMuYXBpT2JqLmVuZHBvaW50ICsgJz8nICsgcXVlcnlQYXJhbXMuam9pbignJicpO1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhmdWxsRW5kUG9pbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBpZiBubyBxdWVyeSBwYXJhbSBnZXQgdGhlIGFjdHVhbCBlbmRQb2ludFxuICAgICAgICAgICAgICBmdWxsRW5kUG9pbnQgPSB0aGlzLmFwaU9iai5lbmRwb2ludDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVkQgMTlKQU4yNCAtIGFkZGVkIG9uZSBtb3JlIHBhcmFtIGZvciBhdXRoZW50aWNhdGlvblxuICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5hcGlSZXNwb25zZShmdWxsRW5kUG9pbnQpPy5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIC8vIEhBIDE4LUpBTi0yNCBBc3NpZ25lZCBhcGlyZXNwb25zZSBkaXJlY3RseSBpZiB3ZSBoYXZlIHRoZSByZXNwb25zZSBpbiBhcnJheSBhbHNvXG4gICAgICAgICAgICAgIC8vIFZEIDE5SkFOMjQgLSBpZiByZXNwb25zZSBoYXMga2V5IHdpdGggdmFsdWUod2hpY2ggaXMgYXJyYXkpXG4gICAgICAgICAgICAgIGxldCByZXNwb25zZXM7XG4gICAgICAgICAgICAgIGlmKHRoaXMuYXBpT2JqLnZhcmlhYmxlKXtcbiAgICAgICAgICAgICAgICAvLyBWRCAyMU1heTI0IC0gaGFuZGxpbmcgbXVsdGlwbGUgY2hpbGQgb2JqZWN0c1xuICAgICAgICAgICAgICAgIC8vIFZEIDIyTWF5MjQgLSB1c2VkIGNvbW1vbiBzZXJ2aWNlIGZpbGVcbiAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGFwaVJlc3BvbnNlLHRoaXMuYXBpT2JqLnZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgIC8vIEhBIDE5SkFOMjQgVG8gYXZvaWQgdW5kZWZpbmVkIGVycm9yIGluIGNvbnNvbGVcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlcz8ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgICAgICB9ZWxzZXsgIC8vIFZEIDE5SkFOMjQgLSBpZiByZXNwb25zZSBoYXMgdmFsdWUod2hpY2ggaXMgYXJyYXkpIG9ubHlcbiAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBhcGlSZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXNwb25zZXM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgIGlmKHRoaXMudW5pcXVlS2V5KXtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gUmVmZXJlbmNlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BuZy1zZWxlY3Qvbmctc2VsZWN0XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFZEIE5PVjIzIC0gaGFuZGxlIHRoZSBkZXBlbmRlbnQgdXBkYXRlIGZvciBkcm9wZG93blxuICAgICAgICAgIC8vIFZEIDA5U2VwMjQtIHB1c2ggdGhlIGRlcGVuZGVudCBmaWVsZCB2YWx1ZXMgZm9yIGRyb3Bkb3duXG4gICAgICAgICAgbGV0IHNvdXJjZUlkID0gdGhpcy5hcGlPYmouc291cmNlUXVlc3Rpb25JZDtcbiAgICAgICAgICBpZihzb3VyY2VJZCAmJiB0aGlzLmFwaU9iai52YXJpYWJsZSB8fCB0aGlzLmFwaU9iai52YWx1ZUZpZWxkKXtcbiAgICAgICAgICAgIC8vIFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgc3Vic2NyaXB0aW9uIGZvciB0aGUgY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gdGhpcy5hcGlPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RlZFZhbHVlID0gY2hhbmdlVmFsdWUudmFsdWVPYmpbdGhpcy5hcGlPYmoudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgICAgICAgIC8vICBsZXQgdmFsdWUgPXt9O1xuICAgICAgICAgICAgICAgICAgICAvLyAgdmFsdWVbJ25hbWUnXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VzO1xuICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuYXBpT2JqLnZhcmlhYmxlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlcyA9IHRoaXMuZGF0YVNlcnZpY2UuZ2V0VmFsdWUoY2hhbmdlVmFsdWUudmFsdWVPYmosdGhpcy5hcGlPYmoudmFyaWFibGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2VzPy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzcCA9IHJlc3BvbnNlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzdWx0cztcbiAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlcyA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzcG9uc2VzO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMudW5pcXVlS2V5KXtcbiAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmNvbmZpcm1DaGFuZ2UodGhpcy5hcGlPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgYXBpTWV0YTonLCBlcnJvcik7XG4gICAgfVxuICB9IFxufVxuLy8gVkQgMjJNYXkyNCAtIHVzZWQgY29tbW9uIHNlcnZpY2UgZmlsZVxuXG4gIHNlbGVjdENoYW5nZShldmVudDphbnkpIHtcbiAgICBjb25zb2xlLmxvZygnaW5zaWRlIHNlbGVjdENoYW5nZSBmcm9tICcgKyB0aGlzLmlkKTtcbiAgICBsZXQgY2hhbmdlID0gbmV3IENoYW5nZVdyYXBwZXIoKTsgLy8gQ2hhbmdlV3JhcHBlciA9IEpTT04ucGFyc2UoJ3t9Jyk7XG4gICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICBjaGFuZ2UudmFsdWVPYmogPSBldmVudCA/IGV2ZW50IDogJyc7XG4gICAgY2hhbmdlLnJlZmVyZW5jZUZpZWxkID0gdGhpcy5yZWZlcmVuY2VGaWVsZDtcbiAgICBjaGFuZ2Uuc2VsZWN0ZWRPYmogPSBldmVudCA/IGV2ZW50W3RoaXMubGFiZWxGaWVsZF0gOiAnJztcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY2hhbmdlKTtcbiAgICAvLyBvbmNlIGdvdCB2YWx1ZSBpbiBkcm9wZG93biByZW1vdmUgdGhlIGVycm9yIHZhbGlkYXRpb25cbiAgICBpZihldmVudCl7XG4gICAgICB0aGlzLmludmFsaWRGaWVsZElkcyA9W107XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIEhBIDE4LUpBTi0yNCBDb21tZW50aW5nIHRoZXNlIGxpbmVzIGFzIHdlIGRvbid0IGhhdmUgdG8gdXNlIHNoZW5nZWwgaGVyZSAtLT5cbjwhLS0gPHNlbGVjdFxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2R0LWxpbmUgZHBEb3duIGRvd24gbXl0LWRyb3Bib3ggbXl0LWJvcmRlci1yIG15dC1mb250MSc6IHByb2dyZXNzQmFyLFxuICAgICdjdXN0b20tc2VsZWN0JzogIXByb2dyZXNzQmFyXG4gIH1cIiBjbGFzcz1cImN1c3RvbS1zZWxlY3QgbXItc20tMiBkZC1oZWlnaHRcIiBcbiAgW2lkXT1cImlkXCIgXG4gIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZVwiXG4gIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpO1wiIFxuICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiZXJyb3IgPyAncmVkJyA6ICcjODU4NTg1J1wiXG4gIFtzdHlsZS5jb2xvcl09XCJlcnJvciA/ICdyZWQnIDogJydcIj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJ0aGlzLmFwaU1ldGEgIT09IHVuZGVmaW5lZCA/IG9wdGlvbi50aXRsZSA6IG9wdGlvbi52YWx1ZVwiIGNsYXNzPVwib3B0aW9uXCI+e3sgdGhpcy5hcGlNZXRhICE9PSB1bmRlZmluZWQgPyBvcHRpb24udGl0bGUgOiBvcHRpb24udmFsdWUgfX08L29wdGlvbj5cbiAgICA8b3B0aW9uICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgdmFsdWU9XCJcIiBkaXNhYmxlZCBoaWRkZW4+e3sgZXJyb3JNZXNzYWdlIH19PC9vcHRpb24+XG48L3NlbGVjdD4gLS0+XG48IS0tIC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2UtLT5cbjwhLS0gVkQgMDFBdWcyNCAtIHZhbGlkYXRpb24gY2hhbmdlLS0+XG48IS0tIFZEIDA3QXVnMjQgLSBpc0RlcGVuZGVudEZpZWxkIGNoYW5nZS0tPlxuPCEtLSBWRCAyNU9jdDI0IC0gY2hhbmdlcy0tPlxuPCEtLSBSUyAwOURFQzI0IENoYW5nZWQga2V5cy0tPiBcbiA8IS0tIEFQIDI4TUFSMjUgTGFiZWxGaWVsZCBDaGVja2luZyAtLT5cbiAgPCEtLSBBUCAwMkFQUjI1IElmIGFwaU9iaiBleGlzdHMgYW5kIGlzIG5vdCBhIGRlcGVuZGVudCBmaWVsZCwgdXNlIG9wdGlvbltsYWJlbEZpZWxkXSwgb3RoZXJ3aXNlIHVzZSBvcHRpb24udmFsdWUgLS0+XG48bmctc2VsZWN0XG4gIFtjbGFzc109XCJpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpIHx8IGVycm9yID8gJ3NoZW5nZWwtY3VzdG9tLXNlbGVjdCBpbnZhbGlkJyA6ICdzaGVuZ2VsLWN1c3RvbS1zZWxlY3QnXCJcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCIgXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtkaXNhYmxlZF09XCJyZWFkT25seVwiXG4gIChjbGljayk9XCJnZXRPcHRpb25zKClcIlxuICAoY2hhbmdlKT1cInNlbGVjdENoYW5nZSgkZXZlbnQpXCJcbiAgW2lkXT1cImlkXCI+XG4gIDxuZy1vcHRpb24gXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgXG4gICAgW3ZhbHVlXT1cImFwaU9iaiAmJiAhYXBpT2JqLmlzRGVwZW5kZW50RmllbGQgJiYgb3B0aW9uW2xhYmVsRmllbGRdID8gb3B0aW9uW2xhYmVsRmllbGRdIDogb3B0aW9uPy52YWx1ZVwiPlxuICAgIHt7IGFwaU9iaiAmJiAhYXBpT2JqLmlzRGVwZW5kZW50RmllbGQgJiYgb3B0aW9uW2xhYmVsRmllbGRdID8gb3B0aW9uW2xhYmVsRmllbGRdIDogb3B0aW9uPy52YWx1ZSB9fVxuICA8L25nLW9wdGlvbj4gXG48L25nLXNlbGVjdD5cbjxzcGFuICpuZ0lmPVwiZXJyb3IgfHwgaW52YWxpZEZpZWxkSWRzLmluY2x1ZGVzKGlkKVwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3tlcnJvck1lc3NhZ2V9fTwvc3Bhbj5cbiJdfQ==
|
|
@@ -106,12 +106,10 @@ export class CustomRichTextComponent {
|
|
|
106
106
|
// AP-25MAR25 Parse subText if it's not already an object
|
|
107
107
|
this.question['subText'] = typeof this.question?.subText === 'object' ? this.question?.subText : JSON.parse(this.question['subText'] || {});
|
|
108
108
|
if (this.question?.subText) {
|
|
109
|
-
console.log('subText:', this.question.subText);
|
|
110
109
|
try {
|
|
111
110
|
const dependencyObj = this.question.subText;
|
|
112
111
|
if (dependencyObj?.sourceQuestionId) {
|
|
113
112
|
this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
|
|
114
|
-
console.log('Change Value:', changeValue);
|
|
115
113
|
if (changeValue && changeValue.valueObj &&
|
|
116
114
|
changeValue.fromQuestionId === dependencyObj.sourceQuestionId) {
|
|
117
115
|
this.value = changeValue.valueObj[dependencyObj.valueField];
|
|
@@ -181,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
181
179
|
}], maxLength: [{
|
|
182
180
|
type: Input
|
|
183
181
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tcmljaC10ZXh0L2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQUN4RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsZUFBZTtBQUNmLHVGQUF1RjtBQUN2RixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjO0lBQy9GLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CO0lBQ2hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXO0lBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLHdC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QUNmLGdCQUFnQjtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVDLDRDQUE0QztJQUM1QyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzt3R0ExRlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbVRDM0ZwQyx3WEFhTSxvZUR1RVEsb0JBQW9CLHdEQUFFLFdBQVcsOFZBQUUsWUFBWTs7NEZBT2hELHVCQUF1QjtrQkFSbkMsU0FBUzs4QkFDRyxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsWUFDaEQsc0JBQXNCLGNBQ3BCLElBQUk7NEdBTVQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDaGFuZ2VzIGNvbW1lbnRlZCBvdXQgZHVlIHRvIEFuZ3VsYXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5OyB3aWxsIGFwcGx5IGFmdGVyIHVwZ3JhZGUuXG4vLyAvLyBSUyAwNkpBTjIwMjVcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uRGVzdHJveSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwZW5kZW5jeU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RlcGVuZGVuY3lNZXRhJztcbmltcG9ydCB7IFF1aWxsRWRpdG9yQ29tcG9uZW50LCBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBNZW50aW9uIH0gZnJvbSAncXVpbGwtbWVudGlvbic7XG5pbXBvcnQgSW1hZ2VSZXNpem9yIGZyb20gJ3F1aWxsLWltYWdlLXJlc2l6b3InXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBSUyAxN0pBTjIwMjVcbi8vIEFuIGFycmF5IGZvbnRGYW1pbHlBcnIgaXMgY3JlYXRlZCBjb250YWluaW5nIGEgbGlzdCBvZiBmb250IGZhbWlseSBuYW1lcyBhcyBzdHJpbmdzLlxuY29uc3QgZm9udEZhbWlseUFyciA9IFtcIlJvYm90b1wiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbFwiLCBcIlZlcmRhbmFcIiwgXCJUYWhvbWFcIiwgXCJUcmVidWNoZXQgTVNcIixcbiAgXCJHZW9yZ2lhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiQ291cmllciBOZXdcIiwgXCJQYWxhdGlubyBMaW5vdHlwZVwiLFxuICBcIlNlZ29lIFVJXCIsIFwiQ2FsaWJyaVwiLCBcIkNhbGlicmkgTGlnaHRcIiwgXCJTYW5zLVNlcmlmXCIsIFwiSGVsdmV0aWNhXCIsXG4gIFwiSW1wYWN0XCIsIFwiR2FyYW1vbmRcIiwgXCJDb21pYyBTYW5zIE1TXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCJdO1xuXG4vLyBSZWdpc3RlciBRdWlsbCBtb2R1bGVzXG5RdWlsbC5yZWdpc3RlcignbW9kdWxlcy9tZW50aW9uJywgTWVudGlvbik7XG5JbWFnZVJlc2l6b3IuUXVpbGwgPSBRdWlsbFxuUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpem9yJywgSW1hZ2VSZXNpem9yKVxuXG4vLyBSUyAxN0pBTjIwMjVcbi8vVGhlIFF1aWxsIGZvbnQgc3R5bGUgYXR0cmlidXRvciBpcyBpbXBvcnRlZCBhbmQgaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIFF1aWxcbmxldCBmb250czogYW55ID0gUXVpbGwuaW1wb3J0KFwiYXR0cmlidXRvcnMvc3R5bGUvZm9udFwiKTtcbmZvbnRzLndoaXRlbGlzdCA9IGZvbnRGYW1pbHlBcnI7XG5RdWlsbC5yZWdpc3Rlcihmb250cywgdHJ1ZSk7XG5cbmV4cG9ydCBjb25zdCBRdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IHtcbiAgICBpbWFnZVJlc2l6b3I6IHt9LFxuICB0b29sYmFyOiB7XG4gICAgY29udGFpbmVyOiBbXG4gICAgICBbeyAnZm9udCc6IGZvbnRGYW1pbHlBcnIgfV0sICAvL1JTIDE3SkFOMjAyNSAgQWRkZWQgZm9udCBmYW1pbHkgZHJvcGRvd25cbiAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxuICAgICAgWydibG9ja3F1b3RlJywgJ2NvZGUtYmxvY2snXSxcbiAgICAgIFt7IGhlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXSB9XSxcbiAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxuICAgICAgW3sgY29sb3I6IFtdIH0sIHsgYmFja2dyb3VuZDogW10gfV0sXG4gICAgICBbeyBhbGlnbjogW10gfV0sXG4gICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSxcbiAgICAgIFsnZm9ybXVsYSddLFxuICAgICAgWydjbGVhbiddLFxuICAgIF0sXG4gIH0sXG4gIG1lbnRpb246IHtcbiAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXG4gICAgbWVudGlvbkRlbm90YXRpb25DaGFyczogWydAJywgJyMnXSxcbiAgICBzb3VyY2U6IGZ1bmN0aW9uIChzZWFyY2hUZXJtOiBzdHJpbmcsIHJlbmRlckxpc3Q6IGFueSkge1xuICAgICAgY29uc3QgdmFsdWVzID0gW1xuICAgICAgICB7IGlkOiAxLCB2YWx1ZTogJ1VzZXIgMScgfSxcbiAgICAgICAgeyBpZDogMiwgdmFsdWU6ICdVc2VyIDInIH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmVuZGVyTGlzdCh2YWx1ZXMsIHNlYXJjaFRlcm0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhbHVlcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcblxuLy8gcmVzaXplOiB7XG4vLyAgICAgZGlzcGxheVNpemU6IHRydWUsXG4vLyAgICAgbW9kdWxlczogWydSZXNpemUnLCAnRGlzcGxheVNpemUnLCAnVG9vbGJhciddLFxuLy8gICAgIHRvb2xiYXJTdHlsZXM6IHtcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxuLy8gICAgICAgICBib3JkZXI6ICdub25lJyxcbi8vICAgICAgICAgY29sb3I6ICd3aGl0ZSdcbi8vICAgICB9LFxuLy8gICAgIGhhbmRsZVN0eWxlczoge1xuLy8gICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdibGFjaycsXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuLy8gICAgICAgICBjb2xvcjogJ3doaXRlJ1xuLy8gICAgIH1cbi8vIH0sXG5AQ29tcG9uZW50KHtcbiAgICBpbXBvcnRzOiBbUXVpbGxFZGl0b3JDb21wb25lbnQsIEZvcm1zTW9kdWxlICxDb21tb25Nb2R1bGVdLFxuICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yaWNoLXRleHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCBhbnlbXSA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjogYW55O1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSByb3dzOk51bWJlcjsgLy9UaGUgbnVtYmVyIG9mIHZpc2libGUgdGV4dCBsaW5lcyBmb3IgdGhlIGNvbnRyb2xcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHRleHRWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIC8vIEBJbnB1dCgpIHZhbHVlOiBhbnkgPSAnJzsgLy8gU2V0IGRlZmF1bHQgdmFsdWVcblxuICBxdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IFF1aWxsQ29uZmlndXJhdGlvbjtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQoJycpO1xuXG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZURlcGVuZGVuY3koKTtcbiAgfVxuXG4gIC8vIFNlcGFyYXRlZCBkZXBlbmRlbmN5IGluaXRpYWxpemF0aW9uIGZvciBiZXR0ZXIgb3JnYW5pemF0aW9uXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURlcGVuZGVuY3koKTogdm9pZCB7XG4gICAgLy8gQVAtMjVNQVIyNSBQYXJzZSBzdWJUZXh0IGlmIGl0J3Mgbm90IGFscmVhZHkgYW4gb2JqZWN0XG4gICAgdGhpcy5xdWVzdGlvblsnc3ViVGV4dCddID0gdHlwZW9mIHRoaXMucXVlc3Rpb24/LnN1YlRleHQgPT09ICdvYmplY3QnID8gdGhpcy5xdWVzdGlvbj8uc3ViVGV4dCA6IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnc3ViVGV4dCddIHx8IHt9KTtcbiAgICBpZiAodGhpcy5xdWVzdGlvbj8uc3ViVGV4dCkge1xuICAgICAgICBjb25zb2xlLmxvZygnc3ViVGV4dDonLCB0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jeU9iajogRGVwZW5kZW5jeU1ldGEgPSB0aGlzLnF1ZXN0aW9uLnN1YlRleHQ7XG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeU9iaj8uc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDaGFuZ2UgVmFsdWU6JywgY2hhbmdlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZVZhbHVlICYmIGNoYW5nZVZhbHVlLnZhbHVlT2JqICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT09IGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9ialtkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgc3ViVGV4dDonLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gb25FZGl0b3JDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuLy8gICBpZiAoZXZlbnQgJiYgZXZlbnQuaHRtbCAhPT0gdW5kZWZpbmVkKSB7XG4vLyAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdChldmVudC5odG1sKTtcbi8vICAgfSBlbHNlIHtcbi8vICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KCcnKTtcbi8vICAgfVxuLy8gfVxuLy8gb25FZGl0b3JDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuLy8gICBjb25zb2xlLmxvZygnVHlwaW5nIGRldGVjdGVkLi4uJywgZXZlbnQuaHRtbCk7XG5cbi8vICAgaWYgKHRoaXMudHlwaW5nVGltZXIpIHtcbi8vICAgICBjbGVhclRpbWVvdXQodGhpcy50eXBpbmdUaW1lcik7IC8vIENsZWFyIHByZXZpb3VzIHRpbWVyXG4vLyAgIH1cbi8vICAgdGhpcy50eXBpbmdUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuLy8gICAgIGNvbnNvbGUubG9nKCdEZWJvdW5jZWQgZXZlbnQgZmlyZWQ6JywgZXZlbnQuaHRtbCk7XG5cbi8vICAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50Py5odG1sID8gZXZlbnQuaHRtbCA6ICcnOyAvLyBFbnN1cmUgZW1wdHkgdmFsdWVzIGFyZSBoYW5kbGVkXG4vLyAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4vLyAgIH0sIHRoaXMuZG9uZVR5cGluZ0ludGVydmFsKTtcbi8vIH1cblxuLy8gUlMgMjhKQU4yMDE1XG5vbkVkaXRvckZvY3VzT3V0KCk6IHZvaWQge1xuICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlIHx8ICcnO1xuICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KGN1cnJlbnRWYWx1ZSk7XG4gIGNvbnNvbGUubG9nKCdSaWNoIFRleHQgRWRpdG9yIEZvY3VzIE91dCAtIEVtaXR0aW5nIFZhbHVlOicsIGN1cnJlbnRWYWx1ZSk7XG59XG5cbiAgLy8gQWRkZWQgbmdPbkRlc3Ryb3kgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG5cbiIsIjwhLS0gUlMgMDZKQU4yNSAtLT5cbjxkaXYgY2xhc3M9XCJyaWNoLXRleHQtY29udGFpbmVyXCI+XG4gIDxxdWlsbC1lZGl0b3JcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFttb2R1bGVzXT1cInF1aWxsQ29uZmlndXJhdGlvblwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAoZm9jdXNvdXQpPVwib25FZGl0b3JGb2N1c091dCgpXCJcbiAgICBbY2xhc3MuZXJyb3JdPVwiZXJyb3JcIj5cbiAgPC9xdWlsbC1lZGl0b3I+XG4gIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tcmljaC10ZXh0L2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQUN4RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsZUFBZTtBQUNmLHVGQUF1RjtBQUN2RixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjO0lBQy9GLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CO0lBQ2hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXO0lBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLHdC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Q0FBQyxHQUFHLENBQUMsOENBQThDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVDLDRDQUE0QztJQUM1QyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzt3R0F4RlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbVRDM0ZwQyx3WEFhTSxvZUR1RVEsb0JBQW9CLHdEQUFFLFdBQVcsOFZBQUUsWUFBWTs7NEZBT2hELHVCQUF1QjtrQkFSbkMsU0FBUzs4QkFDRyxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsWUFDaEQsc0JBQXNCLGNBQ3BCLElBQUk7NEdBTVQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDaGFuZ2VzIGNvbW1lbnRlZCBvdXQgZHVlIHRvIEFuZ3VsYXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5OyB3aWxsIGFwcGx5IGFmdGVyIHVwZ3JhZGUuXG4vLyAvLyBSUyAwNkpBTjIwMjVcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uRGVzdHJveSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwZW5kZW5jeU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RlcGVuZGVuY3lNZXRhJztcbmltcG9ydCB7IFF1aWxsRWRpdG9yQ29tcG9uZW50LCBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBNZW50aW9uIH0gZnJvbSAncXVpbGwtbWVudGlvbic7XG5pbXBvcnQgSW1hZ2VSZXNpem9yIGZyb20gJ3F1aWxsLWltYWdlLXJlc2l6b3InXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBSUyAxN0pBTjIwMjVcbi8vIEFuIGFycmF5IGZvbnRGYW1pbHlBcnIgaXMgY3JlYXRlZCBjb250YWluaW5nIGEgbGlzdCBvZiBmb250IGZhbWlseSBuYW1lcyBhcyBzdHJpbmdzLlxuY29uc3QgZm9udEZhbWlseUFyciA9IFtcIlJvYm90b1wiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbFwiLCBcIlZlcmRhbmFcIiwgXCJUYWhvbWFcIiwgXCJUcmVidWNoZXQgTVNcIixcbiAgXCJHZW9yZ2lhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiQ291cmllciBOZXdcIiwgXCJQYWxhdGlubyBMaW5vdHlwZVwiLFxuICBcIlNlZ29lIFVJXCIsIFwiQ2FsaWJyaVwiLCBcIkNhbGlicmkgTGlnaHRcIiwgXCJTYW5zLVNlcmlmXCIsIFwiSGVsdmV0aWNhXCIsXG4gIFwiSW1wYWN0XCIsIFwiR2FyYW1vbmRcIiwgXCJDb21pYyBTYW5zIE1TXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCJdO1xuXG4vLyBSZWdpc3RlciBRdWlsbCBtb2R1bGVzXG5RdWlsbC5yZWdpc3RlcignbW9kdWxlcy9tZW50aW9uJywgTWVudGlvbik7XG5JbWFnZVJlc2l6b3IuUXVpbGwgPSBRdWlsbFxuUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpem9yJywgSW1hZ2VSZXNpem9yKVxuXG4vLyBSUyAxN0pBTjIwMjVcbi8vVGhlIFF1aWxsIGZvbnQgc3R5bGUgYXR0cmlidXRvciBpcyBpbXBvcnRlZCBhbmQgaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIFF1aWxcbmxldCBmb250czogYW55ID0gUXVpbGwuaW1wb3J0KFwiYXR0cmlidXRvcnMvc3R5bGUvZm9udFwiKTtcbmZvbnRzLndoaXRlbGlzdCA9IGZvbnRGYW1pbHlBcnI7XG5RdWlsbC5yZWdpc3Rlcihmb250cywgdHJ1ZSk7XG5cbmV4cG9ydCBjb25zdCBRdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IHtcbiAgICBpbWFnZVJlc2l6b3I6IHt9LFxuICB0b29sYmFyOiB7XG4gICAgY29udGFpbmVyOiBbXG4gICAgICBbeyAnZm9udCc6IGZvbnRGYW1pbHlBcnIgfV0sICAvL1JTIDE3SkFOMjAyNSAgQWRkZWQgZm9udCBmYW1pbHkgZHJvcGRvd25cbiAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxuICAgICAgWydibG9ja3F1b3RlJywgJ2NvZGUtYmxvY2snXSxcbiAgICAgIFt7IGhlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXSB9XSxcbiAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxuICAgICAgW3sgY29sb3I6IFtdIH0sIHsgYmFja2dyb3VuZDogW10gfV0sXG4gICAgICBbeyBhbGlnbjogW10gfV0sXG4gICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSxcbiAgICAgIFsnZm9ybXVsYSddLFxuICAgICAgWydjbGVhbiddLFxuICAgIF0sXG4gIH0sXG4gIG1lbnRpb246IHtcbiAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXG4gICAgbWVudGlvbkRlbm90YXRpb25DaGFyczogWydAJywgJyMnXSxcbiAgICBzb3VyY2U6IGZ1bmN0aW9uIChzZWFyY2hUZXJtOiBzdHJpbmcsIHJlbmRlckxpc3Q6IGFueSkge1xuICAgICAgY29uc3QgdmFsdWVzID0gW1xuICAgICAgICB7IGlkOiAxLCB2YWx1ZTogJ1VzZXIgMScgfSxcbiAgICAgICAgeyBpZDogMiwgdmFsdWU6ICdVc2VyIDInIH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmVuZGVyTGlzdCh2YWx1ZXMsIHNlYXJjaFRlcm0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhbHVlcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcblxuLy8gcmVzaXplOiB7XG4vLyAgICAgZGlzcGxheVNpemU6IHRydWUsXG4vLyAgICAgbW9kdWxlczogWydSZXNpemUnLCAnRGlzcGxheVNpemUnLCAnVG9vbGJhciddLFxuLy8gICAgIHRvb2xiYXJTdHlsZXM6IHtcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxuLy8gICAgICAgICBib3JkZXI6ICdub25lJyxcbi8vICAgICAgICAgY29sb3I6ICd3aGl0ZSdcbi8vICAgICB9LFxuLy8gICAgIGhhbmRsZVN0eWxlczoge1xuLy8gICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdibGFjaycsXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuLy8gICAgICAgICBjb2xvcjogJ3doaXRlJ1xuLy8gICAgIH1cbi8vIH0sXG5AQ29tcG9uZW50KHtcbiAgICBpbXBvcnRzOiBbUXVpbGxFZGl0b3JDb21wb25lbnQsIEZvcm1zTW9kdWxlICxDb21tb25Nb2R1bGVdLFxuICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yaWNoLXRleHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCBhbnlbXSA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjogYW55O1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSByb3dzOk51bWJlcjsgLy9UaGUgbnVtYmVyIG9mIHZpc2libGUgdGV4dCBsaW5lcyBmb3IgdGhlIGNvbnRyb2xcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHRleHRWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIC8vIEBJbnB1dCgpIHZhbHVlOiBhbnkgPSAnJzsgLy8gU2V0IGRlZmF1bHQgdmFsdWVcblxuICBxdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IFF1aWxsQ29uZmlndXJhdGlvbjtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQoJycpO1xuXG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZURlcGVuZGVuY3koKTtcbiAgfVxuXG4gIC8vIFNlcGFyYXRlZCBkZXBlbmRlbmN5IGluaXRpYWxpemF0aW9uIGZvciBiZXR0ZXIgb3JnYW5pemF0aW9uXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURlcGVuZGVuY3koKTogdm9pZCB7XG4gICAgLy8gQVAtMjVNQVIyNSBQYXJzZSBzdWJUZXh0IGlmIGl0J3Mgbm90IGFscmVhZHkgYW4gb2JqZWN0XG4gICAgdGhpcy5xdWVzdGlvblsnc3ViVGV4dCddID0gdHlwZW9mIHRoaXMucXVlc3Rpb24/LnN1YlRleHQgPT09ICdvYmplY3QnID8gdGhpcy5xdWVzdGlvbj8uc3ViVGV4dCA6IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnc3ViVGV4dCddIHx8IHt9KTtcbiAgICBpZiAodGhpcy5xdWVzdGlvbj8uc3ViVGV4dCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jeU9iajogRGVwZW5kZW5jeU1ldGEgPSB0aGlzLnF1ZXN0aW9uLnN1YlRleHQ7XG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeU9iaj8uc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZSAmJiBjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09PSBkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hhbmdlVmFsdWUudmFsdWVPYmpbZGVwZW5kZW5jeU9iai52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmNvbmZpcm1DaGFuZ2UoZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIHN1YlRleHQ6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIG9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbi8vICAgaWYgKGV2ZW50ICYmIGV2ZW50Lmh0bWwgIT09IHVuZGVmaW5lZCkge1xuLy8gICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQuaHRtbCk7XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCgnJyk7XG4vLyAgIH1cbi8vIH1cbi8vIG9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbi8vICAgY29uc29sZS5sb2coJ1R5cGluZyBkZXRlY3RlZC4uLicsIGV2ZW50Lmh0bWwpO1xuXG4vLyAgIGlmICh0aGlzLnR5cGluZ1RpbWVyKSB7XG4vLyAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHlwaW5nVGltZXIpOyAvLyBDbGVhciBwcmV2aW91cyB0aW1lclxuLy8gICB9XG4vLyAgIHRoaXMudHlwaW5nVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbi8vICAgICBjb25zb2xlLmxvZygnRGVib3VuY2VkIGV2ZW50IGZpcmVkOicsIGV2ZW50Lmh0bWwpO1xuXG4vLyAgICAgY29uc3QgbmV3VmFsdWUgPSBldmVudD8uaHRtbCA/IGV2ZW50Lmh0bWwgOiAnJzsgLy8gRW5zdXJlIGVtcHR5IHZhbHVlcyBhcmUgaGFuZGxlZFxuLy8gICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuLy8gICB9LCB0aGlzLmRvbmVUeXBpbmdJbnRlcnZhbCk7XG4vLyB9XG5cbi8vIFJTIDI4SkFOMjAxNVxub25FZGl0b3JGb2N1c091dCgpOiB2b2lkIHtcbiAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSB8fCAnJztcbiAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdChjdXJyZW50VmFsdWUpO1xuICBjb25zb2xlLmxvZygnUmljaCBUZXh0IEVkaXRvciBGb2N1cyBPdXQgLSBFbWl0dGluZyBWYWx1ZTonLCBjdXJyZW50VmFsdWUpO1xufVxuXG4gIC8vIEFkZGVkIG5nT25EZXN0cm95IHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCI8IS0tIFJTIDA2SkFOMjUgLS0+XG48ZGl2IGNsYXNzPVwicmljaC10ZXh0LWNvbnRhaW5lclwiPlxuICA8cXVpbGwtZWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbW9kdWxlc109XCJxdWlsbENvbmZpZ3VyYXRpb25cIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgKGZvY3Vzb3V0KT1cIm9uRWRpdG9yRm9jdXNPdXQoKVwiXG4gICAgW2NsYXNzLmVycm9yXT1cImVycm9yXCI+XG4gIDwvcXVpbGwtZWRpdG9yPlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICB7eyBlcnJvciB9fVxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|