@energycap/components 0.39.11-ECAP-24439-Bill-Capture-Tour.20240325-1306 → 0.39.11-ECAP-24439-Bill-Capture-Tour.20240326-1138
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.
@@ -46,13 +46,16 @@ export class TourComponent {
|
|
46
46
|
}
|
47
47
|
else if (event.tourAction === 'append') {
|
48
48
|
let visibleTours = event.tours;
|
49
|
+
// If this was triggered via auto start then we need to remove any tours that have been completed
|
50
|
+
if (event.isAutoStart) {
|
51
|
+
visibleTours = this.removeCompletedTours(visibleTours);
|
52
|
+
}
|
53
|
+
// If there is already a current tour, then we need to append the new tours to the current tour
|
49
54
|
if (this.currentTour) {
|
50
|
-
if (event.isAutoStart) {
|
51
|
-
visibleTours = this.removeCompletedTours(visibleTours);
|
52
|
-
}
|
53
55
|
this.tours = this.tours.concat(visibleTours);
|
54
56
|
}
|
55
57
|
else {
|
58
|
+
// There is not a current tour, so treat this as a start event
|
56
59
|
await this.setupTourComponent(event);
|
57
60
|
}
|
58
61
|
}
|
@@ -392,4 +395,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
392
395
|
type: ViewChild,
|
393
396
|
args: ['tourTooltip']
|
394
397
|
}] } });
|
395
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b3VyL3RvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG91ci90b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBZTNDLE1BQU0sT0FBTyxhQUFhO0lBNEJ4QixZQUNVLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixnQkFBa0MsRUFDaEIsUUFBa0I7UUFOcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0I5Qzs7V0FFRztRQUNJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBS3ZDLHFFQUFxRTtRQUM3RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTNCLDRIQUE0SDtRQUNwSCxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QixxQkFBZ0IsR0FB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TlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucyB9IGZyb20gJy4vLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvdXIsIFRvdXJBbmNob3IsIFRvdXJDYWNoZUVudHJ5LCBUb3VyRXZlbnQsIFRvdXJTdGVwIH0gZnJvbSAnLi90b3VyLXR5cGVzJztcclxuaW1wb3J0IHsgVG91clNlcnZpY2UgfSBmcm9tICcuL3RvdXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRvdXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b3VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b3VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvdXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBDdXJyZW50IHRvdXIgc3RlcCBiZWluZyBzaG93biB0byB0aGUgdXNlci4gVGhlIGN1c3RvbSBjb250ZW50IGluIHRoZSB0ZW1wbGF0ZSBpcyBib3VuZCB0byBwcm9wZXJ0aWVzIG9uIHRoaXMgYW5kIHRoZXJlZm9yIG5lZWRzIHRvIGJlXHJcbiAgKiAgaXRzIG93biBwcm9wZXJ0eS4gVGhlIGV4aXRTdGVwIGlzIGEgdG91ciBzdGVwIGFuZCB0aGlzIHdpbGwgaG9sZCB0aGF0IHN0ZXAgYXQgdGhlIGVuZCBvZiB0aGUgdG91ci5cclxuICAqL1xyXG4gIHB1YmxpYyBjdXJyZW50VG91clN0ZXA/OiBUb3VyU3RlcDtcclxuXHJcbiAgLyoqIFVzZWQgdG8gdGVsbCB0aGUgVUkgdGhhdCB0aGUgc3RlcCBiZWluZyBzaG93biBpcyBhbiBleGl0IHN0ZXAuIFRoaXMgd2lsbCBjaGFuZ2UgdGhlXHJcbiAgICogIGxpbmsgdGV4dCBhbmQgdGhlIGFjdGlvbiB3aGVuIGNsaWNrZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2hvd0RvbmVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgdG9vbHRpcCB1c2VkIGZvciB0aGUgdG91ciBzdGVwcyAqL1xyXG4gIHB1YmxpYyB0b29sdGlwPzogVG9vbHRpcENvbXBvbmVudDtcclxuXHJcbiAgLyoqIEFycmF5IG9mIHRvdXJzIHByb3ZpZGVkIHdoZW4gdGhlIHN0YXJ0IHRvdXIgZXZlbnQgd2FzIGRldGVjdGVkICovXHJcbiAgcHJpdmF0ZSB0b3VyczogVG91cltdID0gW107XHJcblxyXG4gIC8vIENvdXBsZSBpbmRleGVzIGZvciB0aGUgY3VycmVudCB0b3VyL3N0ZXAgc3RvcmVkIGZvciBlYXNpZXIgcmVmZXJlbmNlIHdoZW4ga25vd2luZyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgc3RlcHMvdG91cnNcclxuICBwcml2YXRlIGN1cnJlbnRTdGVwSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHByaXZhdGUgY3VycmVudFRvdXJJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKiBVc2VkIHRvIGtub3cgaWYgdGhlIHJlc3RvcmUgc3RlcCBzaG91bGQgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHRvdXIgaXMgZGlzbWlzc2VkICovXHJcbiAgcHJpdmF0ZSBpc0F1dG9TdGFydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RvdXJUb29sdGlwJykgcHVibGljIGN1c3RvbSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b3VyU2VydmljZTogVG91clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZSxcclxuICAgIHByaXZhdGUgdGVsZW1ldHJ5U2VydmljZTogVGVsZW1ldHJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG91clNlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKGFzeW5jIGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50LnRvdXJBY3Rpb24gPT09ICdzdGFydCcpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNldHVwVG91ckNvbXBvbmVudChldmVudCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQudG91ckFjdGlvbiA9PT0gJ2VuZCcpIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50VG91cikge1xyXG4gICAgICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5lbmRUb3VyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LnRvdXJBY3Rpb24gPT09ICdhcHBlbmQnKSB7XHJcbiAgICAgICAgbGV0IHZpc2libGVUb3VyczogVG91cltdID0gZXZlbnQudG91cnM7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFRvdXIpIHtcclxuICAgICAgICAgIGlmIChldmVudC5pc0F1dG9TdGFydCkge1xyXG4gICAgICAgICAgICB2aXNpYmxlVG91cnMgPSB0aGlzLnJlbW92ZUNvbXBsZXRlZFRvdXJzKHZpc2libGVUb3Vycyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnRvdXJzID0gdGhpcy50b3Vycy5jb25jYXQodmlzaWJsZVRvdXJzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR1cFRvdXJDb21wb25lbnQoZXZlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiBhIHJlc3RvcmUgc3RlcCBoYXMgYmVlbiBjb21wbGV0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgZG9uZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5KHRoaXMuY3VycmVudFRvdXIpO1xyXG4gICAgYXdhaXQgdGhpcy5lbmRUb3VyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiBhIHRvdXIgYmVnaW5zIGFuZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBuZXh0IG9uIHRoZSBjdXJyZW50IHRvdXIgc3RlcC4gSXQgd2lsbCBoYW5kbGUgYW55IGFmdGVyIGNsaWNrIGFjdGlvbnMgYW5kIHRoZW5cclxuICAgKiBmaW5kIHRoZSBuZXh0IHN0ZXAgYW5kIHByZXNlbnQgaXQgdG8gdGhlIHVzZXIgYW5kIHRyYW5zaXRpb24gdG8gYSByZXN0b3JlIHN0ZXAgb3IgbmV3IHRvdXIgaWYgbmVlZGVkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBzaG93TmV4dFN0ZXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBCZWZvcmUgbW92aW5nIHRvIHRoZSBuZXh0IHN0ZXAsIG1ha2Ugc3VyZSB0aGUgY3VycmVudCBzdGVwIGRvZXMgbm90IGhhdmUgYSBjbGljayBhZnRlciBkZWZpbmVkLiBUaGlzIGNvdWxkIGJlIGhpZGluZyBhIG1lbnVcclxuICAgIC8vIHRoYXQgd2FzIG9wZW5lZCBmb3IgdGhlIHNvb24gdG8gYmUgcHJldmlvdXMgc3RlcC5cclxuICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5oYW5kbGVDbGlja0FmdGVyLmJpbmQodGhpcykpO1xyXG5cclxuICAgIC8vIFJlbW92ZSBhbnkgcHJldmlvdXMgdG9vbHRpcHNcclxuICAgIHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xyXG5cclxuICAgIC8vIEdldCBvdXIgbmV4dCBzdGVwIGluZGV4IHRvIGRpc3BsYXkgdG8gdGhlIHVzZXJcclxuICAgIHRoaXMuY3VycmVudFN0ZXBJbmRleCA9IHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVN0ZXBJbmRleCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwSW5kZXggPT09IC0xKSB7XHJcbiAgICAgIC8vIE5vIG1vcmUgc3RlcHMgZm91bmQsIHdlIGVpdGhlciBuZWVkIHRvIGNoZWNrIGZvciB0aGUgZXhpdCBzdGVwIGlmIHRoaXMgaXMgdGhlIGxhc3QgdG91clxyXG4gICAgICAvLyBpbiB0aGUgdG91cnMgYXJyYXkgb3IgYWR2YW5jZSB0byB0aGUgbmV4dCB0b3VyXHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VySW5kZXggPT09IHRoaXMudG91cnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhpdFN0ZXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBXcml0ZSB0aGUgY29tcGxldGlvbiBrZXkgZm9yIHRoZSBjdXJyZW50IHRvdXIgYmVmb3JlIHdlIG1vdmUgdG8gdGhlIG5leHRcclxuICAgICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleSh0aGlzLmN1cnJlbnRUb3VyKTtcclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ckluZGV4Kys7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaG93TmV4dFRvdXIoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50VG91clN0ZXAgPSB0aGlzLmN1cnJlbnRUb3VyPy5zdGVwc1t0aGlzLmN1cnJlbnRTdGVwSW5kZXhdO1xyXG5cclxuICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBvdXIgY3VycmVudCBzdGVwIGluZGV4LCB0YWtlIGNhcmUgb2YgYW55IGNsaWNrIGJlZm9yZSBlbGVtZW50cyBiZWZvcmUgc2hvd2luZyB0aGVcclxuICAgICAgLy8gdG9vbHRpcC4gVGhpcyBjb3VsZCBiZSBvcGVuaW5nIGEgbWVudSB0byBnZXQgdGhlIHRvb2x0aXAgZWxlbWVudCB2aXNpYmxlLlxyXG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tCZWZvcmUuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICAvLyBDbGljayBiZWZvcmVzIGFyZSBkb25lLCBub3cgbGV0J3Mgc2hvdyB0aGUgdG9vbHRpcCBkZWZpbmVkIGluIHRoZSB0b3VyIHN0ZXBcclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLnNob3dTdGVwVG9vbHRpcC5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2V0dXBUb3VyQ29tcG9uZW50KGV2ZW50OiBUb3VyRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIEVuZCBhbnkgdG91cnMgdGhhdCBtYXkgaGF2ZSBiZWVuIGluIHByb2dyZXNzIGlmIHRoZSB1c2VyIGtpY2tzIG9mZiBhIG5ldyBvbmVcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyKSB7XHJcbiAgICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5Rm9yQWxsVG91cnMoKTtcclxuICAgICAgYXdhaXQgdGhpcy5lbmRUb3VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc0F1dG9TdGFydCA9IGV2ZW50LmlzQXV0b1N0YXJ0O1xyXG5cclxuICAgIGlmIChldmVudC5pc0F1dG9TdGFydCkge1xyXG4gICAgICB0aGlzLnRvdXJzID0gdGhpcy5yZW1vdmVDb21wbGV0ZWRUb3VycyhldmVudC50b3Vycyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvdXJzID0gZXZlbnQudG91cnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudG91cnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2hvd0RvbmVCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJTdGVwID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXggPSAtMTtcclxuXHJcbiAgICAgIC8vIFByaW1lIHRoZSBpbmRleCBmb3IgdGhlIGZpcnN0IHRvdXJcclxuICAgICAgdGhpcy5jdXJyZW50VG91ckluZGV4ID0gMDtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuc2hvd05leHRUb3VyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaG93cyBhIHRvdXIgYW5kIGVtaXRzIGFuIGV2ZW50IHRoYXQgaXQgd2FzIHN0YXJ0ZWRcclxuICAgKiBAcGFyYW0gdG91clxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgc2hvd05leHRUb3VyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gVHJhY2sgYSB0b3VyIHN0YXJ0ZWQgZXZlbnQgaWYgdGhlIGNvbnN1bWVyIG9mIHRoZSBsaWJyYXJ5IGhhcyB0ZWxlbWV0cnkgY29uZmlndXJlZFxyXG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLnRyYWNrRXZlbnQoJ1RvdXJTdGFydGVkJywgeyB0b3VySWQ6IHRoaXMuY3VycmVudFRvdXIhLmlkIH0pO1xyXG5cclxuICAgIGxldCBjb250aW51ZVRvdXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmlzQXV0b1N0YXJ0ICYmIHRoaXMuY3VycmVudFRvdXJJbmRleCA9PT0gMCAmJiB0aGlzLmN1cnJlbnRUb3VyPy5pbnRyb0RpYWxvZykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5jb250ZW50ISxcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VyLmludHJvRGlhbG9nLnNpemUgPz8gJ3NtYWxsJyxcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VyLmludHJvRGlhbG9nLmNvbnRleHQgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXIuaW50cm9EaWFsb2cub3B0aW9ucyA/PyB1bmRlZmluZWQpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpZiAoIXJlc3VsdC5zYXZlKSB7XHJcbiAgICAgICAgY29udGludWVUb3VyID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5Rm9yQWxsVG91cnMoKTtcclxuICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBsYXN0IHRvdXIgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGZvciBpdHMgZXhpdCBzdGVwXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ckluZGV4ID0gdGhpcy50b3Vycy5sZW5ndGggLSAxO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhpdFN0ZXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250aW51ZVRvdXIpIHtcclxuICAgICAgdGhpcy5zaG93TmV4dFN0ZXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZW5kVG91cigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIEhhbmRsZSBhbnkgY2xpY2sgYWZ0ZXJzIGZvciB0aGUgYWN0aXZlIHN0ZXAgc2hvd24gYmVmb3JlIHNodXR0aW5nIGl0IGRvd25cclxuICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5oYW5kbGVDbGlja0FmdGVyLmJpbmQodGhpcykpO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFRvdXJTdGVwID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50b3VycyA9IFtdO1xyXG5cclxuICAgIHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheXMgYSB0b29sdGlwIGZvciB0aGUgY3VycmVudCB0b3VyIHN0ZXBcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHNob3dTdGVwVG9vbHRpcCgpIHtcclxuICAgIC8vIFRyYWNrIGFuIGV2ZW50IGlmIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeSBoYXMgdGVsZW1ldHJ5IGNvbmZpZ3VyZWRcclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50cmFja0V2ZW50KCdUb3VyU3RlcENoYW5nZScsIHsgdG91cklkOiB0aGlzLmN1cnJlbnRUb3VyIS5pZCwgdG91clN0ZXBJZDogdGhpcy5jdXJyZW50VG91clN0ZXAhLmlkIH0pO1xyXG5cclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuY3VycmVudFRvdXJTdGVwIS5hbmNob3IhLnNlbGVjdG9yKTtcclxuXHJcbiAgICBpZiAodG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgLy8gRGVmYXVsdCB3aWR0aCBpZiBub25lIHByb3ZpZGVkXHJcbiAgICAgIGxldCBzdGVwV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDQzMjtcclxuXHJcbiAgICAgIC8vIENoZWNrIHRoZSBjdXJyZW50IHRvdXIgc3RlcCB3aWR0aCBhbmQgZGVjaWRlIGlmIGl0IG5lZWRzIHRvIGNoYW5nZSBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlXHJcbiAgICAgIC8vIGJhc2VkIG9uIHdoZXRoZXIgdGhlIHN0ZXAgZGVmaW5lZCBpdCBvciBub3RcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFRvdXJTdGVwPy53aWR0aCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnJlbnRUb3VyU3RlcC53aWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgIHN0ZXBXaWR0aCA9IHRoaXMuY3VycmVudFRvdXJTdGVwLndpZHRoO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50VG91clN0ZXAud2lkdGggPT09ICdhdXRvJykge1xyXG4gICAgICAgICAgc3RlcFdpZHRoID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgb3B0aW9uczogVG9vbHRpcE9wdGlvbnMgPSB7XHJcbiAgICAgICAgaWQ6IGAke3RoaXMuY3VycmVudFRvdXI/LmlkfV8ke3RoaXMuY3VycmVudFRvdXJTdGVwIS5pZH1gLFxyXG4gICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY3VycmVudFRvdXJTdGVwIS50ZXh0KSxcclxuICAgICAgICB0aXRsZTogdGhpcy5jdXJyZW50VG91clN0ZXAhLnRpdGxlID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jdXJyZW50VG91clN0ZXAhLnRpdGxlKSA6IHVuZGVmaW5lZCxcclxuICAgICAgICBjdXN0b21Db250ZW50OiB0aGlzLmN1c3RvbSxcclxuICAgICAgICBkaXNtaXNzaWJsZTogdHJ1ZSxcclxuICAgICAgICBtYXhXaWR0aDogdGhpcy5jdXJyZW50VG91clN0ZXA/Lm1heFdpZHRoLFxyXG4gICAgICAgIHdpZHRoOiBzdGVwV2lkdGgsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tZWMtYmFja2dyb3VuZC1jb2xvci10b3VyKScsXHJcbiAgICAgICAgdGl0bGVDb2xvcjogJ3ZhcigtLWVjLWNvbG9yLXRvdXItdGl0bGUpJ1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy50b29sdGlwID0gdGhpcy50b29sdGlwU2VydmljZS5zaG93KHRvb2x0aXBFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzLmN1cnJlbnRUb3VyU3RlcCEuYW5jaG9yPy5wb3NpdGlvbiwgb3B0aW9ucyk7XHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5mb2N1c09uTmV4dE9yRG9uZUJ1dHRvbi5iaW5kKHRoaXMpKTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb1Rvb2x0aXBPbkhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmliZXMgdG8gdGhlIHRvb2x0aXBzIG9uSGlkZSBldmVudCBlbWl0dGVyIGFuZCByZWFjdHMgaWYgdGhlIHVzZXIgZGlzbWlzc2VzIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzdWJzY3JpYmVUb1Rvb2x0aXBPbkhpZGUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgdG9vbHRpcFN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbHRpcD8ub25IaWRlLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcclxuICAgICAgdG9vbHRpcFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5Rm9yQWxsVG91cnMoKTtcclxuICAgICAgLy8gSWYgdGhpcyBpcyBkaXNtaXNzZWQgZHVyaW5nIGFuIGF1dG8gc3RhcnQgdG91ciB0aGVuIGhhbmRsZSB0aGUgZXhpdCBzdGVwXHJcbiAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGRvbmUgYnV0dG9uIGlzIHNob3duIGFzIHdlbGwsIGlmIHRoZSBkb25lIGlzIHNob3duIHRoZW4gd2UncmUgaW4gdGhlIGV4aXQgc3RlcFxyXG4gICAgICAvLyBhbmQgZGlzbWlzc2luZyBzaG91bGQganVzdCBlbmQgdGhlIHRvdXJcclxuICAgICAgaWYgKHRoaXMuaXNBdXRvU3RhcnQgJiYgIXRoaXMuc2hvd0RvbmVCdXR0b24pIHtcclxuICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBsYXN0IHRvdXIgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGZvciBpdHMgZXhpdCBzdGVwXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ckluZGV4ID0gdGhpcy50b3Vycy5sZW5ndGggLSAxO1xyXG5cclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4aXRTdGVwKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5lbmRUb3VyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9vcHMgdGhyb3VnaCB0aGUgY3VycmVudCB0b3VyIHN0ZXBzIHN0YXJ0aW5nIGFmdGVyIHRoZSBjdXJyZW50IHN0ZXAgaW5kZXguIEl0IHdpbGwgdHJ5IHRvIGZpbmQgYSB2aXNpYmxlXHJcbiAgICogc2VsZWN0b3IgYW5kIGlmIHNvIHJldHVybiB0aGUgaW5kZXguXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIGdldE5leHRBdmFpbGFibGVTdGVwSW5kZXgoKTogbnVtYmVyIHtcclxuICAgIGxldCBuZXh0U3RlcEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICAvLyBMb29rIHRocm91Z2ggdGhlIHN0ZXBzIHN0YXJ0aW5nIHdpdGggdGhlIGN1cnJlbnQgaW5kZXggYW5kIGZpbmQgdGhlIG5leHQgdGhhdCBpcyBhdmFpYWJsZVxyXG4gICAgLy8gZm9yIHRoZSB1c2VyLlxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gdGhpcy5jdXJyZW50U3RlcEluZGV4ICsgMTsgaSA8IHRoaXMuY3VycmVudFRvdXIhLnN0ZXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyPy5zdGVwc1tpXS5hbmNob3IgJiYgdGhpcy5zdGVwRWxlbWVudEZvdW5kKHRoaXMuY3VycmVudFRvdXIhLnN0ZXBzW2ldLmFuY2hvciEpKSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dFN0ZXBJbmRleDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBmaW5kIHRoZSB0b3VyIHN0ZXAgZWxlbWVudCB0byBrbm93IGlmIGl0IGlzIHZpc2libGUgZm9yIHRoZSB1c2VyLiBDaGVjayBmb3IgdGhlIGNsaWNrQmVmb3JlIGZpcnN0IGlmIGRlZmluZWRcclxuICAgKiBAcGFyYW0gYW5jaG9yXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIHN0ZXBFbGVtZW50Rm91bmQoYW5jaG9yOiBUb3VyQW5jaG9yKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYW5jaG9yLmNsaWNrQmVmb3JlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYW5jaG9yLmNsaWNrQmVmb3JlKSAhPT0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYW5jaG9yLnNlbGVjdG9yKSAhPT0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvbWUgdG91ciBzdGVwcyBtYXkgaGF2ZSBhIGNsaWNrIGFmdGVyIGRlZmluZWQuIElmIHNvIGNhbGwgdGhlIGNsaWNrIG1ldGhvZCBvbiB0aGUgaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVDbGlja0FmdGVyKCk6IHZvaWQge1xyXG4gICAgbGV0IHNlbGVjdG9yID0gdGhpcy5jdXJyZW50VG91clN0ZXA/LmFuY2hvcj8uY2xpY2tBZnRlcjtcclxuICAgIGlmIChzZWxlY3Rvcikge1xyXG4gICAgICB0aGlzLmNsaWNrRWxlbWVudElmRm91bmQoc2VsZWN0b3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29tZSB0b3VyIHN0ZXBzIG1heSBoYXZlIGEgY2xpY2sgYmVmb3JlIGRlZmluZWQuIElmIHNvIGNhbGwgdGhlIGNsaWNrIG1ldGhvZCBvbiB0aGUgaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVDbGlja0JlZm9yZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyU3RlcD8uYW5jaG9yPy5jbGlja0JlZm9yZSkge1xyXG4gICAgICB0aGlzLmNsaWNrRWxlbWVudElmRm91bmQodGhpcy5jdXJyZW50VG91clN0ZXAuYW5jaG9yPy5jbGlja0JlZm9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIENoZWNrcyBmb3IgYW4gZXhpdCBzdGVwIG9uIHRoZSBjdXJyZW50IHRvdXIgYW5kIGlmIGZvdW5kIGRpc3BsYXlzIHRoZSBzdGVwXHJcbiAgKi9cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUV4aXRTdGVwKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvdXI/LmV4aXRTdGVwKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xyXG5cclxuICAgICAgdGhpcy5zaG93RG9uZUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJTdGVwID0gdGhpcy5jdXJyZW50VG91cj8uZXhpdFN0ZXA7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tCZWZvcmUuYmluZCh0aGlzKSk7XHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5zaG93U3RlcFRvb2x0aXAuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gZmluZCB0aGUgZWxlbWVudCB3aXRoIHRoZSBzZWxlY3RvciBwcm92aWRlZCBhbmQgaWYgc28gY2xpY2sgaXQuIFRoaXMgaXMgaG93IHRvdXIgc3RlcHMgd2lsbCBvcGVuL2Nsb3NlIG1lbnVzIHRvXHJcbiAgICogZ2l2ZSBhIHRvdXIgdG8gdGhlIHVzZXJcclxuICAgKiBAcGFyYW0gc2VsZWN0b3JcclxuICAgKi9cclxuICBwcml2YXRlIGNsaWNrRWxlbWVudElmRm91bmQoc2VsZWN0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdG9yICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XHJcbiAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgKGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYXV0byBzdGFydGluZyB0b3VycyB3ZSB3aWxsIHdhbnQgdG8gcmVtb3ZlIGFueSB0aGF0IGhhdmUgdGhlIGxvY2FsIHN0b3JhZ2Uga2V5IHdyaXR0ZW4gYXMgY29tcGxldGVkIHNvXHJcbiAgICogdGhleSBhcmUgbm90IHByZXNlbnRlZCB0byB0aGUgdXNlciBhZ2Fpbi5cclxuICAgKiBAcGFyYW0gdG91cnNcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlQ29tcGxldGVkVG91cnModG91cnM6IFRvdXJbXSk6IFRvdXJbXSB7XHJcbiAgICByZXR1cm4gdG91cnMuZmlsdGVyKHRvdXIgPT4ge1xyXG4gICAgICBsZXQgY2FjaGVWYWx1ZSA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW08VG91ckNhY2hlRW50cnk+KHRoaXMubWFrZUNhY2hlS2V5KHRvdXIpKTtcclxuICAgICAgaWYgKGNhY2hlVmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gIWNhY2hlVmFsdWUuY29tcGxldGVkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdyaXRlcyBhIGtleSB0byBsb2NhbCBzdG9yYWdlIHNvIHRoZSB0b3VyIHdpbGwgbm90IGJlIHNob3duIGFnYWluIGF1dG9tYXRpY2FsbHlcclxuICAgKi9cclxuICBwcml2YXRlIHdyaXRlQ29tcGxldGlvbktleSh0b3VyOiBUb3VyIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAodG91cikge1xyXG4gICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXRJdGVtKHRoaXMubWFrZUNhY2hlS2V5KHRvdXIpLCA8VG91ckNhY2hlRW50cnk+eyBjb21wbGV0ZWQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGRpc21pc3NpbmcgYSB0b3VyIG9yIG9uZSBiZWluZyBkaXNtaXNzZWQgdmlhIGEgbmF2aWdhdGlvbiBldmVudCwgZXRjIHdlIHdpbGwgd2FudCB0byBtYXJrXHJcbiAgICogZXZlcnkgdG91ciBpbiB0aGUgYXJyYXkgYXMgY29tcGxldGVkIHNvIGl0IGRvZXNuJ3QgcmVzdXJmYWNlIHVubGVzcyB0aGUgdXNlciByZXF1ZXN0cyB0aGUgdG91ci5cclxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgbG9vcCBvdmVyIGFsbCBhbmQgd3JpdGUgdGhlIGxvY2FsIHN0b3JhZ2Uga2V5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpOiB2b2lkIHtcclxuICAgIHRoaXMudG91cnMuZm9yRWFjaCh0b3VyID0+IHtcclxuICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXkodG91cik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhY2hlIGtleSB1c2VkIHRvIHNldC9nZXQgdGhlIGNvbXBsZXRpb24gc3RhdHVzIG9mIGEgdG91clxyXG4gICAqIEBwYXJhbSB0b3VyXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIG1ha2VDYWNoZUtleSh0b3VyOiBUb3VyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRvdXJTZXJ2aWNlLmdldENhY2hlS2V5KHRvdXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhIHRvb2x0aXAgZnJvbSB0aGUgdmlldywgdXNlZCB3aGVuIHN3aXRjaGluZyB0b3VyIHN0ZXBzIGFuZCBjbG9zaW5nIGEgdG91clxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgdG91ciBiYXNlZCBvbiB0aGUgY3VycmVudCBpbmRleFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRUb3VyKCk6IFRvdXIgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvdXJJbmRleCA+IC0xICYmIHRoaXMuY3VycmVudFRvdXJJbmRleCA8IHRoaXMudG91cnMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvdXJzW3RoaXMuY3VycmVudFRvdXJJbmRleF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNsaWNrIGJlZm9yZS9hZnRlciBhbmQgc2hvdyB0b29sdGlwIGZ1bmN0aW9ucyBuZWVkIHRvIGJlIHdyYXBwZWQgaW4gc2V0VGltZW91dCBmb3IgdGhlIFVJXHJcbiAgICogdG8gb3BlcmF0ZSBjb3JyZWN0bHkgYnV0IHNldFRpbWVvdXQgaXMgYW4gYWN0aW9uIHdlIGNhbm5vdCBhd2FpdCBzbyB3ZSdyZSB3cmFwcGluZyBpdCBpbiBhIHByb21pc2UgdG8gcmV0dXJuXHJcbiAgICogc28gdGhlIGZ1bmN0aW9uIGNhbGxzIGNhbiBhd2FpdCB0aGUgYWN0aW9uXHJcbiAgICogQHBhcmFtIGZuXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIHdhaXRGb3JUaW1lb3V0KGZuOiAoKSA9PiB2b2lkKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGZuKCk7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZCB0aGUgXCJuZXh0XCIgb3IgXCJkb25lXCIgYnV0dG9uIGFuZCBmb2N1cyBvbiBpdC5cclxuICAgKlxyXG4gICAqIFRoZXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgc28gaWYgd2UgY2Fubm90IGZpbmQgdGhlIG5leHQgYnV0dG9uXHJcbiAgICogd2UgbG9vayBmb3IgdGhlIGRvbmUgYnV0dG9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZm9jdXNPbk5leHRPckRvbmVCdXR0b24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZm9jdXNPbkVsZW1lbnQoYCMke3RoaXMuY3VycmVudFRvdXJTdGVwIS5pZH1fbmV4dEJ1dHRvbmApKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNPbkVsZW1lbnQoYCMke3RoaXMuY3VycmVudFRvdXJTdGVwIS5pZH1fZG9uZUJ1dHRvbmApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIGFuIGVsZW1lbnQgd2l0aCBnaXZlbiBzZWxlY3RvciBhbmQgZm9jdXMgb24gaXQuXHJcbiAgICogUmV0dXJuIGZhbHNlIGlmIGVsZW1lbnQgbm90IGZvdW5kLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZm9jdXNPbkVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAoZWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjdG91clRvb2x0aXA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudFRvdXJTdGVwPy5tZWRpYVwiXHJcbiAgICAgICAgIGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxpbWcgaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX21lZGlhJ319XCJcclxuICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlO1wiXHJcbiAgICAgICAgICAgICBzcmM9XCJ7e2N1cnJlbnRUb3VyU3RlcD8ubWVkaWF9fVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1jb2xvci1wcmltYXJ5LWxpZ2h0IHB4LTMgbWItM1wiXHJcbiAgICAgICAgIFtpbm5lckh0bWxdPVwiY3VycmVudFRvdXJTdGVwPy50ZXh0IHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhICpuZ0lmPVwiY3VycmVudFRvdXJTdGVwPy5oZWxwTGlua1wiIGlkPVwie3tjdXJyZW50VG91clN0ZXA/LmlkICsgJ19oZWxwTGluayd9fVwiIGNsYXNzPVwiZC1ibG9jayBtYi0zIHB4LTNcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3tjdXJyZW50VG91clN0ZXA/LmhlbHBMaW5rfX1cIiB0cmFuc2xhdGU+TGVhcm5Nb3JlX1NDPC9hPlxyXG4gICAgPGZvb3RlciBjbGFzcz1cInB4LTMgbXQtMyBkLWZsZXhcIj5cclxuICAgICAgICA8YnV0dG9uIGlkPVwie3tjdXJyZW50VG91clN0ZXA/LmlkICsgJ19uZXh0QnV0dG9uJ319XCIgKm5nSWY9XCIhc2hvd0RvbmVCdXR0b25cIiBjbGFzcz1cIm1sLWF1dG8gdG91ckFjdGlvblwiIGVjTGlua0J1dHRvbiAoY2xpY2spPVwic2hvd05leHRTdGVwKClcIiB0cmFuc2xhdGU+TmV4dF9UQzwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX2RvbmVCdXR0b24nfX1cIiAqbmdJZj1cInNob3dEb25lQnV0dG9uXCIgY2xhc3M9XCJtbC1hdXRvIHRvdXJBY3Rpb25cIiBlY0xpbmtCdXR0b24gKGNsaWNrKT1cImRvbmUoKVwiIHRyYW5zbGF0ZT5Eb25lX1RDPC9idXR0b24+XHJcbiAgICA8L2Zvb3Rlcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b3VyL3RvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG91ci90b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBZTNDLE1BQU0sT0FBTyxhQUFhO0lBNEJ4QixZQUNVLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixnQkFBa0MsRUFDaEIsUUFBa0I7UUFOcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0I5Qzs7V0FFRztRQUNJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBS3ZDLHFFQUFxRTtRQUM3RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTNCLDRIQUE0SDtRQUNwSCxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QixxQkFBZ0IsR0FB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QyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucyB9IGZyb20gJy4vLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvdXIsIFRvdXJBbmNob3IsIFRvdXJDYWNoZUVudHJ5LCBUb3VyRXZlbnQsIFRvdXJTdGVwIH0gZnJvbSAnLi90b3VyLXR5cGVzJztcclxuaW1wb3J0IHsgVG91clNlcnZpY2UgfSBmcm9tICcuL3RvdXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRvdXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b3VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b3VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvdXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBDdXJyZW50IHRvdXIgc3RlcCBiZWluZyBzaG93biB0byB0aGUgdXNlci4gVGhlIGN1c3RvbSBjb250ZW50IGluIHRoZSB0ZW1wbGF0ZSBpcyBib3VuZCB0byBwcm9wZXJ0aWVzIG9uIHRoaXMgYW5kIHRoZXJlZm9yIG5lZWRzIHRvIGJlXHJcbiAgKiAgaXRzIG93biBwcm9wZXJ0eS4gVGhlIGV4aXRTdGVwIGlzIGEgdG91ciBzdGVwIGFuZCB0aGlzIHdpbGwgaG9sZCB0aGF0IHN0ZXAgYXQgdGhlIGVuZCBvZiB0aGUgdG91ci5cclxuICAqL1xyXG4gIHB1YmxpYyBjdXJyZW50VG91clN0ZXA/OiBUb3VyU3RlcDtcclxuXHJcbiAgLyoqIFVzZWQgdG8gdGVsbCB0aGUgVUkgdGhhdCB0aGUgc3RlcCBiZWluZyBzaG93biBpcyBhbiBleGl0IHN0ZXAuIFRoaXMgd2lsbCBjaGFuZ2UgdGhlXHJcbiAgICogIGxpbmsgdGV4dCBhbmQgdGhlIGFjdGlvbiB3aGVuIGNsaWNrZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2hvd0RvbmVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgdG9vbHRpcCB1c2VkIGZvciB0aGUgdG91ciBzdGVwcyAqL1xyXG4gIHB1YmxpYyB0b29sdGlwPzogVG9vbHRpcENvbXBvbmVudDtcclxuXHJcbiAgLyoqIEFycmF5IG9mIHRvdXJzIHByb3ZpZGVkIHdoZW4gdGhlIHN0YXJ0IHRvdXIgZXZlbnQgd2FzIGRldGVjdGVkICovXHJcbiAgcHJpdmF0ZSB0b3VyczogVG91cltdID0gW107XHJcblxyXG4gIC8vIENvdXBsZSBpbmRleGVzIGZvciB0aGUgY3VycmVudCB0b3VyL3N0ZXAgc3RvcmVkIGZvciBlYXNpZXIgcmVmZXJlbmNlIHdoZW4ga25vd2luZyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgc3RlcHMvdG91cnNcclxuICBwcml2YXRlIGN1cnJlbnRTdGVwSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHByaXZhdGUgY3VycmVudFRvdXJJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKiBVc2VkIHRvIGtub3cgaWYgdGhlIHJlc3RvcmUgc3RlcCBzaG91bGQgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHRvdXIgaXMgZGlzbWlzc2VkICovXHJcbiAgcHJpdmF0ZSBpc0F1dG9TdGFydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RvdXJUb29sdGlwJykgcHVibGljIGN1c3RvbSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b3VyU2VydmljZTogVG91clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZSxcclxuICAgIHByaXZhdGUgdGVsZW1ldHJ5U2VydmljZTogVGVsZW1ldHJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG91clNlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKGFzeW5jIGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50LnRvdXJBY3Rpb24gPT09ICdzdGFydCcpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNldHVwVG91ckNvbXBvbmVudChldmVudCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQudG91ckFjdGlvbiA9PT0gJ2VuZCcpIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50VG91cikge1xyXG4gICAgICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5lbmRUb3VyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LnRvdXJBY3Rpb24gPT09ICdhcHBlbmQnKSB7XHJcbiAgICAgICAgbGV0IHZpc2libGVUb3VyczogVG91cltdID0gZXZlbnQudG91cnM7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gSWYgdGhpcyB3YXMgdHJpZ2dlcmVkIHZpYSBhdXRvIHN0YXJ0IHRoZW4gd2UgbmVlZCB0byByZW1vdmUgYW55IHRvdXJzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRlZFxyXG4gICAgICAgIGlmIChldmVudC5pc0F1dG9TdGFydCkge1xyXG4gICAgICAgICAgdmlzaWJsZVRvdXJzID0gdGhpcy5yZW1vdmVDb21wbGV0ZWRUb3Vycyh2aXNpYmxlVG91cnMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIGN1cnJlbnQgdG91ciwgdGhlbiB3ZSBuZWVkIHRvIGFwcGVuZCB0aGUgbmV3IHRvdXJzIHRvIHRoZSBjdXJyZW50IHRvdXJcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50VG91cikge1xyXG4gICAgICAgICAgdGhpcy50b3VycyA9IHRoaXMudG91cnMuY29uY2F0KHZpc2libGVUb3Vycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIFRoZXJlIGlzIG5vdCBhIGN1cnJlbnQgdG91ciwgc28gdHJlYXQgdGhpcyBhcyBhIHN0YXJ0IGV2ZW50XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHVwVG91ckNvbXBvbmVudChldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCB3aGVuIGEgcmVzdG9yZSBzdGVwIGhhcyBiZWVuIGNvbXBsZXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBkb25lKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXkodGhpcy5jdXJyZW50VG91cik7XHJcbiAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCB3aGVuIGEgdG91ciBiZWdpbnMgYW5kIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG5leHQgb24gdGhlIGN1cnJlbnQgdG91ciBzdGVwLiBJdCB3aWxsIGhhbmRsZSBhbnkgYWZ0ZXIgY2xpY2sgYWN0aW9ucyBhbmQgdGhlblxyXG4gICAqIGZpbmQgdGhlIG5leHQgc3RlcCBhbmQgcHJlc2VudCBpdCB0byB0aGUgdXNlciBhbmQgdHJhbnNpdGlvbiB0byBhIHJlc3RvcmUgc3RlcCBvciBuZXcgdG91ciBpZiBuZWVkZWQuXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIHNob3dOZXh0U3RlcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIEJlZm9yZSBtb3ZpbmcgdG8gdGhlIG5leHQgc3RlcCwgbWFrZSBzdXJlIHRoZSBjdXJyZW50IHN0ZXAgZG9lcyBub3QgaGF2ZSBhIGNsaWNrIGFmdGVyIGRlZmluZWQuIFRoaXMgY291bGQgYmUgaGlkaW5nIGEgbWVudVxyXG4gICAgLy8gdGhhdCB3YXMgb3BlbmVkIGZvciB0aGUgc29vbiB0byBiZSBwcmV2aW91cyBzdGVwLlxyXG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmhhbmRsZUNsaWNrQWZ0ZXIuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgLy8gUmVtb3ZlIGFueSBwcmV2aW91cyB0b29sdGlwc1xyXG4gICAgdGhpcy5yZW1vdmVUb29sdGlwKCk7XHJcblxyXG4gICAgLy8gR2V0IG91ciBuZXh0IHN0ZXAgaW5kZXggdG8gZGlzcGxheSB0byB0aGUgdXNlclxyXG4gICAgdGhpcy5jdXJyZW50U3RlcEluZGV4ID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlU3RlcEluZGV4KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudFN0ZXBJbmRleCA9PT0gLTEpIHtcclxuICAgICAgLy8gTm8gbW9yZSBzdGVwcyBmb3VuZCwgd2UgZWl0aGVyIG5lZWQgdG8gY2hlY2sgZm9yIHRoZSBleGl0IHN0ZXAgaWYgdGhpcyBpcyB0aGUgbGFzdCB0b3VyXHJcbiAgICAgIC8vIGluIHRoZSB0b3VycyBhcnJheSBvciBhZHZhbmNlIHRvIHRoZSBuZXh0IHRvdXJcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFRvdXJJbmRleCA9PT0gdGhpcy50b3Vycy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVFeGl0U3RlcCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFdyaXRlIHRoZSBjb21wbGV0aW9uIGtleSBmb3IgdGhlIGN1cnJlbnQgdG91ciBiZWZvcmUgd2UgbW92ZSB0byB0aGUgbmV4dFxyXG4gICAgICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5KHRoaXMuY3VycmVudFRvdXIpO1xyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VySW5kZXgrKztcclxuICAgICAgICBhd2FpdCB0aGlzLnNob3dOZXh0VG91cigpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHRoaXMuY3VycmVudFRvdXI/LnN0ZXBzW3RoaXMuY3VycmVudFN0ZXBJbmRleF07XHJcblxyXG4gICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIG91ciBjdXJyZW50IHN0ZXAgaW5kZXgsIHRha2UgY2FyZSBvZiBhbnkgY2xpY2sgYmVmb3JlIGVsZW1lbnRzIGJlZm9yZSBzaG93aW5nIHRoZVxyXG4gICAgICAvLyB0b29sdGlwLiBUaGlzIGNvdWxkIGJlIG9wZW5pbmcgYSBtZW51IHRvIGdldCB0aGUgdG9vbHRpcCBlbGVtZW50IHZpc2libGUuXHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5oYW5kbGVDbGlja0JlZm9yZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgIC8vIENsaWNrIGJlZm9yZXMgYXJlIGRvbmUsIG5vdyBsZXQncyBzaG93IHRoZSB0b29sdGlwIGRlZmluZWQgaW4gdGhlIHRvdXIgc3RlcFxyXG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuc2hvd1N0ZXBUb29sdGlwLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZXR1cFRvdXJDb21wb25lbnQoZXZlbnQ6IFRvdXJFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gRW5kIGFueSB0b3VycyB0aGF0IG1heSBoYXZlIGJlZW4gaW4gcHJvZ3Jlc3MgaWYgdGhlIHVzZXIga2lja3Mgb2ZmIGEgbmV3IG9uZVxyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvdXIpIHtcclxuICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzQXV0b1N0YXJ0ID0gZXZlbnQuaXNBdXRvU3RhcnQ7XHJcblxyXG4gICAgaWYgKGV2ZW50LmlzQXV0b1N0YXJ0KSB7XHJcbiAgICAgIHRoaXMudG91cnMgPSB0aGlzLnJlbW92ZUNvbXBsZXRlZFRvdXJzKGV2ZW50LnRvdXJzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG91cnMgPSBldmVudC50b3VycztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50b3Vycy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zaG93RG9uZUJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5jdXJyZW50VG91clN0ZXAgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXBJbmRleCA9IC0xO1xyXG5cclxuICAgICAgLy8gUHJpbWUgdGhlIGluZGV4IGZvciB0aGUgZmlyc3QgdG91clxyXG4gICAgICB0aGlzLmN1cnJlbnRUb3VySW5kZXggPSAwO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5zaG93TmV4dFRvdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3dzIGEgdG91ciBhbmQgZW1pdHMgYW4gZXZlbnQgdGhhdCBpdCB3YXMgc3RhcnRlZFxyXG4gICAqIEBwYXJhbSB0b3VyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzaG93TmV4dFRvdXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBUcmFjayBhIHRvdXIgc3RhcnRlZCBldmVudCBpZiB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkgaGFzIHRlbGVtZXRyeSBjb25maWd1cmVkXHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UudHJhY2tFdmVudCgnVG91clN0YXJ0ZWQnLCB7IHRvdXJJZDogdGhpcy5jdXJyZW50VG91ciEuaWQgfSk7XHJcblxyXG4gICAgbGV0IGNvbnRpbnVlVG91cjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNBdXRvU3RhcnQgJiYgdGhpcy5jdXJyZW50VG91ckluZGV4ID09PSAwICYmIHRoaXMuY3VycmVudFRvdXI/LmludHJvRGlhbG9nKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VyLmludHJvRGlhbG9nLmNvbnRlbnQhLFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXIuaW50cm9EaWFsb2cuc2l6ZSA/PyAnc21hbGwnLFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXIuaW50cm9EaWFsb2cuY29udGV4dCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5vcHRpb25zID8/IHVuZGVmaW5lZCkudG9Qcm9taXNlKCk7XHJcbiAgICAgIGlmICghcmVzdWx0LnNhdmUpIHtcclxuICAgICAgICBjb250aW51ZVRvdXIgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICAgIC8vIEFkdmFuY2UgdG8gdGhlIGxhc3QgdG91ciBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZm9yIGl0cyBleGl0IHN0ZXBcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VySW5kZXggPSB0aGlzLnRvdXJzLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVFeGl0U3RlcCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRpbnVlVG91cikge1xyXG4gICAgICB0aGlzLnNob3dOZXh0U3RlcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBlbmRUb3VyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gSGFuZGxlIGFueSBjbGljayBhZnRlcnMgZm9yIHRoZSBhY3RpdmUgc3RlcCBzaG93biBiZWZvcmUgc2h1dHRpbmcgaXQgZG93blxyXG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmhhbmRsZUNsaWNrQWZ0ZXIuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50VG91clN0ZXAgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRvdXJzID0gW107XHJcblxyXG4gICAgdGhpcy5yZW1vdmVUb29sdGlwKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5cyBhIHRvb2x0aXAgZm9yIHRoZSBjdXJyZW50IHRvdXIgc3RlcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgc2hvd1N0ZXBUb29sdGlwKCkge1xyXG4gICAgLy8gVHJhY2sgYW4gZXZlbnQgaWYgdGhlIGNvbnN1bWVyIG9mIHRoZSBsaWJyYXJ5IGhhcyB0ZWxlbWV0cnkgY29uZmlndXJlZFxyXG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLnRyYWNrRXZlbnQoJ1RvdXJTdGVwQ2hhbmdlJywgeyB0b3VySWQ6IHRoaXMuY3VycmVudFRvdXIhLmlkLCB0b3VyU3RlcElkOiB0aGlzLmN1cnJlbnRUb3VyU3RlcCEuaWQgfSk7XHJcblxyXG4gICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jdXJyZW50VG91clN0ZXAhLmFuY2hvciEuc2VsZWN0b3IpO1xyXG5cclxuICAgIGlmICh0b29sdGlwRWxlbWVudCkge1xyXG4gICAgICAvLyBEZWZhdWx0IHdpZHRoIGlmIG5vbmUgcHJvdmlkZWRcclxuICAgICAgbGV0IHN0ZXBXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkID0gNDMyO1xyXG5cclxuICAgICAgLy8gQ2hlY2sgdGhlIGN1cnJlbnQgdG91ciBzdGVwIHdpZHRoIGFuZCBkZWNpZGUgaWYgaXQgbmVlZHMgdG8gY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgdmFsdWVcclxuICAgICAgLy8gYmFzZWQgb24gd2hldGhlciB0aGUgc3RlcCBkZWZpbmVkIGl0IG9yIG5vdFxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50VG91clN0ZXA/LndpZHRoICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVudFRvdXJTdGVwLndpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgc3RlcFdpZHRoID0gdGhpcy5jdXJyZW50VG91clN0ZXAud2lkdGg7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRUb3VyU3RlcC53aWR0aCA9PT0gJ2F1dG8nKSB7XHJcbiAgICAgICAgICBzdGVwV2lkdGggPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBvcHRpb25zOiBUb29sdGlwT3B0aW9ucyA9IHtcclxuICAgICAgICBpZDogYCR7dGhpcy5jdXJyZW50VG91cj8uaWR9XyR7dGhpcy5jdXJyZW50VG91clN0ZXAhLmlkfWAsXHJcbiAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jdXJyZW50VG91clN0ZXAhLnRleHQpLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLmN1cnJlbnRUb3VyU3RlcCEudGl0bGUgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRUb3VyU3RlcCEudGl0bGUpIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIGN1c3RvbUNvbnRlbnQ6IHRoaXMuY3VzdG9tLFxyXG4gICAgICAgIGRpc21pc3NpYmxlOiB0cnVlLFxyXG4gICAgICAgIG1heFdpZHRoOiB0aGlzLmN1cnJlbnRUb3VyU3RlcD8ubWF4V2lkdGgsXHJcbiAgICAgICAgd2lkdGg6IHN0ZXBXaWR0aCxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1lYy1iYWNrZ3JvdW5kLWNvbG9yLXRvdXIpJyxcclxuICAgICAgICB0aXRsZUNvbG9yOiAndmFyKC0tZWMtY29sb3ItdG91ci10aXRsZSknXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNob3codG9vbHRpcEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMuY3VycmVudFRvdXJTdGVwIS5hbmNob3I/LnBvc2l0aW9uLCBvcHRpb25zKTtcclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmZvY3VzT25OZXh0T3JEb25lQnV0dG9uLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRvVG9vbHRpcE9uSGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlcyB0byB0aGUgdG9vbHRpcHMgb25IaWRlIGV2ZW50IGVtaXR0ZXIgYW5kIHJlYWN0cyBpZiB0aGUgdXNlciBkaXNtaXNzZXMgdGhlIHRvb2x0aXBcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHN1YnNjcmliZVRvVG9vbHRpcE9uSGlkZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCB0b29sdGlwU3Vic2NyaXB0aW9uID0gdGhpcy50b29sdGlwPy5vbkhpZGUucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0b29sdGlwU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICAvLyBJZiB0aGlzIGlzIGRpc21pc3NlZCBkdXJpbmcgYW4gYXV0byBzdGFydCB0b3VyIHRoZW4gaGFuZGxlIHRoZSBleGl0IHN0ZXBcclxuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZG9uZSBidXR0b24gaXMgc2hvd24gYXMgd2VsbCwgaWYgdGhlIGRvbmUgaXMgc2hvd24gdGhlbiB3ZSdyZSBpbiB0aGUgZXhpdCBzdGVwXHJcbiAgICAgIC8vIGFuZCBkaXNtaXNzaW5nIHNob3VsZCBqdXN0IGVuZCB0aGUgdG91clxyXG4gICAgICBpZiAodGhpcy5pc0F1dG9TdGFydCAmJiAhdGhpcy5zaG93RG9uZUJ1dHRvbikge1xyXG4gICAgICAgIC8vIEFkdmFuY2UgdG8gdGhlIGxhc3QgdG91ciBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZm9yIGl0cyBleGl0IHN0ZXBcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VySW5kZXggPSB0aGlzLnRvdXJzLmxlbmd0aCAtIDE7XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhpdFN0ZXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb29wcyB0aHJvdWdoIHRoZSBjdXJyZW50IHRvdXIgc3RlcHMgc3RhcnRpbmcgYWZ0ZXIgdGhlIGN1cnJlbnQgc3RlcCBpbmRleC4gSXQgd2lsbCB0cnkgdG8gZmluZCBhIHZpc2libGVcclxuICAgKiBzZWxlY3RvciBhbmQgaWYgc28gcmV0dXJuIHRoZSBpbmRleC5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0TmV4dEF2YWlsYWJsZVN0ZXBJbmRleCgpOiBudW1iZXIge1xyXG4gICAgbGV0IG5leHRTdGVwSW5kZXg6IG51bWJlciA9IC0xO1xyXG5cclxuICAgIC8vIExvb2sgdGhyb3VnaCB0aGUgc3RlcHMgc3RhcnRpbmcgd2l0aCB0aGUgY3VycmVudCBpbmRleCBhbmQgZmluZCB0aGUgbmV4dCB0aGF0IGlzIGF2YWlhYmxlXHJcbiAgICAvLyBmb3IgdGhlIHVzZXIuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSB0aGlzLmN1cnJlbnRTdGVwSW5kZXggKyAxOyBpIDwgdGhpcy5jdXJyZW50VG91ciEuc3RlcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFRvdXI/LnN0ZXBzW2ldLmFuY2hvciAmJiB0aGlzLnN0ZXBFbGVtZW50Rm91bmQodGhpcy5jdXJyZW50VG91ciEuc3RlcHNbaV0uYW5jaG9yISkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0U3RlcEluZGV4O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGZpbmQgdGhlIHRvdXIgc3RlcCBlbGVtZW50IHRvIGtub3cgaWYgaXQgaXMgdmlzaWJsZSBmb3IgdGhlIHVzZXIuIENoZWNrIGZvciB0aGUgY2xpY2tCZWZvcmUgZmlyc3QgaWYgZGVmaW5lZFxyXG4gICAqIEBwYXJhbSBhbmNob3JcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RlcEVsZW1lbnRGb3VuZChhbmNob3I6IFRvdXJBbmNob3IpOiBib29sZWFuIHtcclxuICAgIGlmIChhbmNob3IuY2xpY2tCZWZvcmUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhbmNob3IuY2xpY2tCZWZvcmUpICE9PSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhbmNob3Iuc2VsZWN0b3IpICE9PSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29tZSB0b3VyIHN0ZXBzIG1heSBoYXZlIGEgY2xpY2sgYWZ0ZXIgZGVmaW5lZC4gSWYgc28gY2FsbCB0aGUgY2xpY2sgbWV0aG9kIG9uIHRoZSBodG1sIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGhhbmRsZUNsaWNrQWZ0ZXIoKTogdm9pZCB7XHJcbiAgICBsZXQgc2VsZWN0b3IgPSB0aGlzLmN1cnJlbnRUb3VyU3RlcD8uYW5jaG9yPy5jbGlja0FmdGVyO1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tFbGVtZW50SWZGb3VuZChzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb21lIHRvdXIgc3RlcHMgbWF5IGhhdmUgYSBjbGljayBiZWZvcmUgZGVmaW5lZC4gSWYgc28gY2FsbCB0aGUgY2xpY2sgbWV0aG9kIG9uIHRoZSBodG1sIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGhhbmRsZUNsaWNrQmVmb3JlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvdXJTdGVwPy5hbmNob3I/LmNsaWNrQmVmb3JlKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tFbGVtZW50SWZGb3VuZCh0aGlzLmN1cnJlbnRUb3VyU3RlcC5hbmNob3I/LmNsaWNrQmVmb3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogQ2hlY2tzIGZvciBhbiBleGl0IHN0ZXAgb24gdGhlIGN1cnJlbnQgdG91ciBhbmQgaWYgZm91bmQgZGlzcGxheXMgdGhlIHN0ZXBcclxuICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXhpdFN0ZXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91cj8uZXhpdFN0ZXApIHtcclxuICAgICAgdGhpcy5yZW1vdmVUb29sdGlwKCk7XHJcblxyXG4gICAgICB0aGlzLnNob3dEb25lQnV0dG9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50VG91clN0ZXAgPSB0aGlzLmN1cnJlbnRUb3VyPy5leGl0U3RlcDtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5oYW5kbGVDbGlja0JlZm9yZS5iaW5kKHRoaXMpKTtcclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLnNob3dTdGVwVG9vbHRpcC5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBmaW5kIHRoZSBlbGVtZW50IHdpdGggdGhlIHNlbGVjdG9yIHByb3ZpZGVkIGFuZCBpZiBzbyBjbGljayBpdC4gVGhpcyBpcyBob3cgdG91ciBzdGVwcyB3aWxsIG9wZW4vY2xvc2UgbWVudXMgdG9cclxuICAgKiBnaXZlIGEgdG91ciB0byB0aGUgdXNlclxyXG4gICAqIEBwYXJhbSBzZWxlY3RvclxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xpY2tFbGVtZW50SWZGb3VuZChzZWxlY3Rvcjogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0b3IgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcclxuICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAoZWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhdXRvIHN0YXJ0aW5nIHRvdXJzIHdlIHdpbGwgd2FudCB0byByZW1vdmUgYW55IHRoYXQgaGF2ZSB0aGUgbG9jYWwgc3RvcmFnZSBrZXkgd3JpdHRlbiBhcyBjb21wbGV0ZWQgc29cclxuICAgKiB0aGV5IGFyZSBub3QgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGFnYWluLlxyXG4gICAqIEBwYXJhbSB0b3Vyc1xyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVDb21wbGV0ZWRUb3Vycyh0b3VyczogVG91cltdKTogVG91cltdIHtcclxuICAgIHJldHVybiB0b3Vycy5maWx0ZXIodG91ciA9PiB7XHJcbiAgICAgIGxldCBjYWNoZVZhbHVlID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0SXRlbTxUb3VyQ2FjaGVFbnRyeT4odGhpcy5tYWtlQ2FjaGVLZXkodG91cikpO1xyXG4gICAgICBpZiAoY2FjaGVWYWx1ZSkge1xyXG4gICAgICAgIHJldHVybiAhY2FjaGVWYWx1ZS5jb21wbGV0ZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV3JpdGVzIGEga2V5IHRvIGxvY2FsIHN0b3JhZ2Ugc28gdGhlIHRvdXIgd2lsbCBub3QgYmUgc2hvd24gYWdhaW4gYXV0b21hdGljYWxseVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd3JpdGVDb21wbGV0aW9uS2V5KHRvdXI6IFRvdXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICh0b3VyKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0odGhpcy5tYWtlQ2FjaGVLZXkodG91ciksIDxUb3VyQ2FjaGVFbnRyeT57IGNvbXBsZXRlZDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gZGlzbWlzc2luZyBhIHRvdXIgb3Igb25lIGJlaW5nIGRpc21pc3NlZCB2aWEgYSBuYXZpZ2F0aW9uIGV2ZW50LCBldGMgd2Ugd2lsbCB3YW50IHRvIG1hcmtcclxuICAgKiBldmVyeSB0b3VyIGluIHRoZSBhcnJheSBhcyBjb21wbGV0ZWQgc28gaXQgZG9lc24ndCByZXN1cmZhY2UgdW5sZXNzIHRoZSB1c2VyIHJlcXVlc3RzIHRoZSB0b3VyLlxyXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBsb29wIG92ZXIgYWxsIGFuZCB3cml0ZSB0aGUgbG9jYWwgc3RvcmFnZSBrZXlcclxuICAgKi9cclxuICBwcml2YXRlIHdyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b3Vycy5mb3JFYWNoKHRvdXIgPT4ge1xyXG4gICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleSh0b3VyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUga2V5IHVzZWQgdG8gc2V0L2dldCB0aGUgY29tcGxldGlvbiBzdGF0dXMgb2YgYSB0b3VyXHJcbiAgICogQHBhcmFtIHRvdXJcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbWFrZUNhY2hlS2V5KHRvdXI6IFRvdXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudG91clNlcnZpY2UuZ2V0Q2FjaGVLZXkodG91cik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGEgdG9vbHRpcCBmcm9tIHRoZSB2aWV3LCB1c2VkIHdoZW4gc3dpdGNoaW5nIHRvdXIgc3RlcHMgYW5kIGNsb3NpbmcgYSB0b3VyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0b3VyIGJhc2VkIG9uIHRoZSBjdXJyZW50IGluZGV4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXQgY3VycmVudFRvdXIoKTogVG91ciB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91ckluZGV4ID4gLTEgJiYgdGhpcy5jdXJyZW50VG91ckluZGV4IDwgdGhpcy50b3Vycy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG91cnNbdGhpcy5jdXJyZW50VG91ckluZGV4XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgY2xpY2sgYmVmb3JlL2FmdGVyIGFuZCBzaG93IHRvb2x0aXAgZnVuY3Rpb25zIG5lZWQgdG8gYmUgd3JhcHBlZCBpbiBzZXRUaW1lb3V0IGZvciB0aGUgVUlcclxuICAgKiB0byBvcGVyYXRlIGNvcnJlY3RseSBidXQgc2V0VGltZW91dCBpcyBhbiBhY3Rpb24gd2UgY2Fubm90IGF3YWl0IHNvIHdlJ3JlIHdyYXBwaW5nIGl0IGluIGEgcHJvbWlzZSB0byByZXR1cm5cclxuICAgKiBzbyB0aGUgZnVuY3Rpb24gY2FsbHMgY2FuIGF3YWl0IHRoZSBhY3Rpb25cclxuICAgKiBAcGFyYW0gZm5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgd2FpdEZvclRpbWVvdXQoZm46ICgpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgZm4oKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIHRoZSBcIm5leHRcIiBvciBcImRvbmVcIiBidXR0b24gYW5kIGZvY3VzIG9uIGl0LlxyXG4gICAqXHJcbiAgICogVGhleSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBzbyBpZiB3ZSBjYW5ub3QgZmluZCB0aGUgbmV4dCBidXR0b25cclxuICAgKiB3ZSBsb29rIGZvciB0aGUgZG9uZSBidXR0b24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb2N1c09uTmV4dE9yRG9uZUJ1dHRvbigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb2N1c09uRWxlbWVudChgIyR7dGhpcy5jdXJyZW50VG91clN0ZXAhLmlkfV9uZXh0QnV0dG9uYCkpIHtcclxuICAgICAgdGhpcy5mb2N1c09uRWxlbWVudChgIyR7dGhpcy5jdXJyZW50VG91clN0ZXAhLmlkfV9kb25lQnV0dG9uYClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmQgYW4gZWxlbWVudCB3aXRoIGdpdmVuIHNlbGVjdG9yIGFuZCBmb2N1cyBvbiBpdC5cclxuICAgKiBSZXR1cm4gZmFsc2UgaWYgZWxlbWVudCBub3QgZm91bmQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb2N1c09uRWxlbWVudChzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICN0b3VyVG9vbHRpcD5cclxuICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50VG91clN0ZXA/Lm1lZGlhXCJcclxuICAgICAgICAgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGltZyBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfbWVkaWEnfX1cIlxyXG4gICAgICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgIHNyYz1cInt7Y3VycmVudFRvdXJTdGVwPy5tZWRpYX19XCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb250LWNvbG9yLXByaW1hcnktbGlnaHQgcHgtMyBtYi0zXCJcclxuICAgICAgICAgW2lubmVySHRtbF09XCJjdXJyZW50VG91clN0ZXA/LnRleHQgfCB0cmFuc2xhdGVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGEgKm5nSWY9XCJjdXJyZW50VG91clN0ZXA/LmhlbHBMaW5rXCIgaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX2hlbHBMaW5rJ319XCIgY2xhc3M9XCJkLWJsb2NrIG1iLTMgcHgtM1wiIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaGVscExpbmt9fVwiIHRyYW5zbGF0ZT5MZWFybk1vcmVfU0M8L2E+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwicHgtMyBtdC0zIGQtZmxleFwiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX25leHRCdXR0b24nfX1cIiAqbmdJZj1cIiFzaG93RG9uZUJ1dHRvblwiIGNsYXNzPVwibWwtYXV0byB0b3VyQWN0aW9uXCIgZWNMaW5rQnV0dG9uIChjbGljayk9XCJzaG93TmV4dFN0ZXAoKVwiIHRyYW5zbGF0ZT5OZXh0X1RDPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfZG9uZUJ1dHRvbid9fVwiICpuZ0lmPVwic2hvd0RvbmVCdXR0b25cIiBjbGFzcz1cIm1sLWF1dG8gdG91ckFjdGlvblwiIGVjTGlua0J1dHRvbiAoY2xpY2spPVwiZG9uZSgpXCIgdHJhbnNsYXRlPkRvbmVfVEM8L2J1dHRvbj5cclxuICAgIDwvZm9vdGVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
@@ -9405,13 +9405,16 @@ class TourComponent {
|
|
9405
9405
|
}
|
9406
9406
|
else if (event.tourAction === 'append') {
|
9407
9407
|
let visibleTours = event.tours;
|
9408
|
+
// If this was triggered via auto start then we need to remove any tours that have been completed
|
9409
|
+
if (event.isAutoStart) {
|
9410
|
+
visibleTours = this.removeCompletedTours(visibleTours);
|
9411
|
+
}
|
9412
|
+
// If there is already a current tour, then we need to append the new tours to the current tour
|
9408
9413
|
if (this.currentTour) {
|
9409
|
-
if (event.isAutoStart) {
|
9410
|
-
visibleTours = this.removeCompletedTours(visibleTours);
|
9411
|
-
}
|
9412
9414
|
this.tours = this.tours.concat(visibleTours);
|
9413
9415
|
}
|
9414
9416
|
else {
|
9417
|
+
// There is not a current tour, so treat this as a start event
|
9415
9418
|
yield this.setupTourComponent(event);
|
9416
9419
|
}
|
9417
9420
|
}
|